From: Alexander Turenko <alexander.turenko@tarantool.org>
To: Nikita Tatunov <n.tatunov@tarantool.org>
Cc: tarantool-patches@freelists.org, korablev@tarantool.org
Subject: [tarantool-patches] Re: [PATCH 2/2] sql: remove GLOB from Tarantool
Date: Mon, 29 Oct 2018 15:15:29 +0300 [thread overview]
Message-ID: <20181029121529.2d6ccnh5qayiz7ld@tkn_work_nb> (raw)
In-Reply-To: <A0C673FC-78FC-4DC4-BC59-1F9AB3CD72E5@tarantool.org>
Hi!
See remaining comments below.
WBR, Alexander Turenko.
> >> +static const int case_insensitive_like = 1;
> >> +static const int case_sensitive_like = 0;
> >
> > Are not they are mutually exclusive? Can we leave just one?
> >
> > Why they are not defines?
>
> I guess it’s a bad idea since we need pointers to them in some functions.
> e.g:
>
> int *is_like_ci;
> if (is_case_sensitive)
> is_like_ci = (void *)&case_sensitive_like;
> else
> is_like_ci = (void *)&case_insensitive_like;
> sqlite3CreateFunc(db, "LIKE", 2, 0, is_like_ci, likeFunc, 0, 0, 0);
> sqlite3CreateFunc(db, "LIKE", 3, 0, is_like_ci, likeFunc, 0, 0, 0);
I think we can use SQLITE_INT_TO_PTR and SQLITE_PTR_TO_INT to pass an
integer value as a pointer and then cast it back. Maybe we also should
change LIKEFUNC macro.
> >> + int *is_like_ci;
> >> + if (is_case_sensitive)
> >> + is_like_ci = (int *)&case_sensitive_like;
> >> + else
> >> + is_like_ci = (int *)&case_insensitive_like;
> >
> > Discarding const qualifier? It seems not being right thing to do. It is
> > better to define is_like_ci pointer as const.
>
> It’s not possible due to so-called “down qualification” and will cause
> compiler warnings.
We'll anyway discard it here or there, so nevermind. I proposed to
change it to SQLITE_INT_TO_PTR.
next prev parent reply other threads:[~2018-10-29 12:15 UTC|newest]
Thread overview: 46+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-08-16 17:00 [tarantool-patches] [PATCH v2 0/2] sql: pattern comparison fixes & GLOB removal N.Tatunov
2018-08-16 17:00 ` [tarantool-patches] [PATCH 1/2] sql: LIKE & GLOB pattern comparison issue N.Tatunov
2018-08-17 9:23 ` [tarantool-patches] " Alex Khatskevich
2018-08-17 11:17 ` Alexander Turenko
2018-08-17 11:42 ` Alex Khatskevich
2018-09-09 13:33 ` Nikita Tatunov
2018-09-10 22:20 ` Alex Khatskevich
2018-09-11 6:06 ` Nikita Tatunov
2018-09-11 10:06 ` Alex Khatskevich
2018-09-11 13:31 ` Nikita Tatunov
2018-10-18 18:02 ` Nikita Tatunov
2018-10-21 3:51 ` Alexander Turenko
2018-10-26 15:19 ` Nikita Tatunov
2018-10-29 13:01 ` Alexander Turenko
2018-10-31 5:25 ` Nikita Tatunov
2018-11-01 10:30 ` Alexander Turenko
2018-11-14 14:16 ` n.pettik
2018-11-14 17:06 ` Alexander Turenko
2018-08-16 17:00 ` [tarantool-patches] [PATCH 2/2] sql: remove GLOB from Tarantool N.Tatunov
2018-08-17 8:25 ` [tarantool-patches] " Alex Khatskevich
2018-08-17 8:49 ` n.pettik
2018-08-17 9:01 ` Alex Khatskevich
2018-08-17 9:20 ` n.pettik
2018-08-17 9:28 ` Alex Khatskevich
[not found] ` <04D02794-07A5-4146-9144-84EE720C8656@corp.mail.ru>
2018-08-17 8:53 ` Alex Khatskevich
2018-08-17 11:26 ` Alexander Turenko
2018-08-17 11:34 ` Alexander Turenko
2018-08-17 13:46 ` Nikita Tatunov
2018-09-09 14:57 ` Nikita Tatunov
2018-09-10 22:06 ` Alex Khatskevich
2018-09-11 7:38 ` Nikita Tatunov
2018-09-11 10:11 ` Alexander Turenko
2018-09-11 10:22 ` Alex Khatskevich
2018-09-11 12:03 ` Alex Khatskevich
2018-10-18 20:28 ` Nikita Tatunov
2018-10-21 3:48 ` Alexander Turenko
2018-10-26 15:21 ` Nikita Tatunov
2018-10-29 12:15 ` Alexander Turenko [this message]
2018-11-08 15:09 ` Nikita Tatunov
2018-11-09 12:18 ` Alexander Turenko
2018-11-10 3:38 ` Nikita Tatunov
2018-11-13 19:23 ` Alexander Turenko
2018-11-14 14:16 ` n.pettik
2018-11-14 17:41 ` Alexander Turenko
2018-11-14 21:48 ` n.pettik
2018-11-15 4:57 ` [tarantool-patches] Re: [PATCH v2 0/2] sql: pattern comparison fixes & GLOB removal Kirill Yukhin
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20181029121529.2d6ccnh5qayiz7ld@tkn_work_nb \
--to=alexander.turenko@tarantool.org \
--cc=korablev@tarantool.org \
--cc=n.tatunov@tarantool.org \
--cc=tarantool-patches@freelists.org \
--subject='[tarantool-patches] Re: [PATCH 2/2] sql: remove GLOB from Tarantool' \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox