Nadav Har'El
92d5f61ba5
cql: support single-value IN restriction wherever EQ restriction is supported
...
There are several places were IN restrictions are not currently supported,
especially in queries involving a secondary index. However, when the IN
restriction has just a single value, it is nothing more than an equality
restriction and can be converted into one and be supported. So this patch
does exactly this.
Note that Cassandra does this conversion since August 2016, and therefore
supports the special case of single-value IN even where general IN is not
supported. So it's important for Cassandra compatibility that we do this
conversion too.
This patch also includes a test with two queries involving a secondary
index that were previously disallowed because of the "IN" on the primary
key or the indexed column - and are now allowed when the IN restriction
has just a single value. A third query tested is not related to secondary
indexes, but confirms we don't break multi-column single-value IN queries.
Fixes #4455 .
Signed-off-by: Nadav Har'El <nyh@scylladb.com >
Message-Id: <20190428160317.23328-1-nyh@scylladb.com >
2019-04-30 12:13:06 +01:00
..
2019-03-28 14:21:10 +02:00
2019-03-18 11:18:33 +01:00
2019-01-30 11:17:38 +02:00
2019-02-28 15:02:53 -05:00
2019-01-30 11:17:38 +02:00
2019-02-14 22:37:41 +02:00
2019-01-30 15:24:31 +00:00
2019-01-30 11:17:38 +02:00
2019-01-30 11:17:38 +02:00
2019-01-30 11:17:38 +02:00
2018-12-03 14:40:35 +01:00
2019-01-30 11:17:38 +02:00
2019-02-07 20:18:14 +02:00
2019-01-30 11:17:38 +02:00
2019-01-30 11:17:38 +02:00
2019-01-30 11:17:38 +02:00
2019-03-05 13:51:17 +02:00
2019-03-05 13:51:17 +02:00
2019-01-30 11:17:38 +02:00
2019-01-08 13:16:36 +02:00
2019-04-27 08:06:35 +03:00
2019-04-12 10:36:58 +02:00
2019-04-02 19:08:25 +03:00
2019-01-30 11:17:38 +02:00
2019-03-20 14:10:28 -07:00
2019-02-07 10:16:50 +00:00
2019-03-19 11:30:51 +01:00
2019-01-08 13:16:36 +02:00
2019-03-28 14:21:10 +02:00
2019-04-28 15:50:12 +02:00
2019-01-20 15:55:20 +02:00
2019-01-30 11:17:38 +02:00
2019-02-19 13:24:25 +01:00
2019-01-08 13:16:36 +02:00
2019-04-29 10:24:14 +03:00
2019-01-30 11:17:38 +02:00
2019-03-04 10:23:45 +00:00
2019-01-30 11:17:38 +02:00
2019-03-28 14:21:10 +02:00
2019-04-12 10:36:58 +02:00
2019-03-22 09:11:26 +08:00
2019-03-28 14:21:10 +02:00
2019-01-30 11:17:38 +02:00
2019-02-07 20:18:14 +02:00
2019-01-30 11:17:38 +02:00
2019-03-26 11:52:44 +01:00
2019-01-30 11:17:38 +02:00
2019-01-30 11:17:38 +02:00
2019-02-07 20:18:14 +02:00
2019-01-30 11:17:38 +02:00
2018-11-21 00:01:44 +02:00
2018-11-21 00:01:44 +02:00
2019-02-14 22:37:41 +02:00
2019-02-07 10:16:50 +00:00
2018-11-21 00:01:44 +02:00
2019-03-05 15:24:53 +02:00
2019-01-30 11:17:38 +02:00
2018-11-21 00:01:44 +02:00
2019-01-08 13:16:36 +02:00
2019-04-10 18:05:36 +02:00
2019-01-30 11:17:38 +02:00
2019-01-30 11:17:38 +02:00
2019-04-29 10:24:14 +03:00
2019-04-15 17:37:31 +03:00
2018-12-20 13:27:25 +00:00
2019-03-26 16:31:40 +02:00
2019-01-30 11:17:38 +02:00
2019-01-30 11:17:38 +02:00
2018-11-21 00:01:44 +02:00
2018-11-21 00:01:44 +02:00
2019-03-05 17:21:27 +08:00
2018-11-21 00:01:44 +02:00
2019-01-30 11:17:38 +02:00
2019-04-02 19:08:25 +03:00
2018-12-19 10:52:19 +00:00
2019-01-08 13:16:36 +02:00
2019-01-22 18:24:52 -05:00
2019-04-29 19:56:20 -07:00
2019-01-30 11:17:38 +02:00
2018-11-21 00:01:44 +02:00
2019-01-08 13:16:36 +02:00
2019-03-21 12:46:00 -03:00
2019-01-30 11:17:38 +02:00
2019-04-08 14:16:40 -07:00
2019-01-30 11:17:38 +02:00
2019-04-30 12:13:06 +01:00
2019-01-30 11:17:38 +02:00
2019-01-18 17:49:46 +02:00
2019-03-28 14:21:10 +02:00
2019-03-28 14:21:10 +02:00
2019-04-10 15:54:39 +03:00
2019-03-26 16:24:19 +02:00
2019-03-26 16:05:08 +02:00
2018-11-24 20:16:54 -02:00
2019-04-11 18:50:42 +03:00
2019-03-26 16:05:08 +02:00
2019-03-28 14:21:10 +02:00
2019-01-22 18:25:01 -05:00
2019-03-26 16:24:19 +02:00
2019-02-11 14:45:43 +02:00
2019-03-26 16:24:19 +02:00
2019-03-26 16:05:08 +02:00
2019-02-11 17:14:47 +02:00
2019-02-11 17:14:47 +02:00
2019-03-28 14:21:10 +02:00
2018-12-28 16:31:24 +01:00
2019-01-08 13:16:36 +02:00
2019-01-30 11:17:38 +02:00
2019-02-13 09:08:12 +00:00
2019-04-09 16:58:22 +02:00
2018-12-05 21:51:01 +02:00
2019-03-26 16:24:19 +02:00
2019-01-30 11:17:38 +02:00
2019-03-27 21:58:10 +00:00
2019-03-14 13:37:06 +00:00
2019-01-30 11:17:38 +02:00