Skip to content

Commit 4a646fd

Browse files
Lorak-mmkavelanarius
authored andcommitted
Strings.java: Add missing reserved keywords
Added all the missing reserved CQL keywords. Generated using a simple script: https://github.com/Lorak-mmk/cql_reserved_keywords I didn't remove keywords that were in Strings.java, but are not in my list, in case they were reserved in older Cassandra/Scylla versions.
1 parent bad248f commit 4a646fd

File tree

2 files changed

+52
-1
lines changed
  • core/src

2 files changed

+52
-1
lines changed

core/src/main/java/com/datastax/oss/driver/internal/core/util/Strings.java

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -275,24 +275,28 @@ private Strings() {}
275275

276276
private static final ImmutableSet<String> RESERVED_KEYWORDS =
277277
ImmutableSet.of(
278-
// See https://github.com/apache/cassandra/blob/trunk/doc/cql3/CQL.textile#appendixA
278+
"-infinity",
279+
"-nan",
279280
"add",
280281
"allow",
281282
"alter",
282283
"and",
284+
"any",
283285
"apply",
284286
"asc",
285287
"authorize",
286288
"batch",
287289
"begin",
288290
"by",
291+
"cast",
289292
"columnfamily",
290293
"create",
291294
"default",
292295
"delete",
293296
"desc",
294297
"describe",
295298
"drop",
299+
"each_quorum",
296300
"entries",
297301
"execute",
298302
"from",
@@ -301,12 +305,16 @@ private Strings() {}
301305
"if",
302306
"in",
303307
"index",
308+
"inet",
304309
"infinity",
305310
"insert",
306311
"into",
307312
"is",
308313
"keyspace",
314+
"keyspaces",
309315
"limit",
316+
"local_one",
317+
"local_quorum",
310318
"materialized",
311319
"mbean",
312320
"mbeans",
@@ -317,19 +325,27 @@ private Strings() {}
317325
"null",
318326
"of",
319327
"on",
328+
"one",
320329
"or",
321330
"order",
331+
"password",
322332
"primary",
333+
"quorum",
323334
"rename",
324335
"replace",
325336
"revoke",
326337
"schema",
338+
"scylla_clustering_bound",
339+
"scylla_counter_shard_list",
340+
"scylla_timeuuid_list_index",
327341
"select",
328342
"set",
329343
"table",
330344
"to",
331345
"token",
346+
"three",
332347
"truncate",
348+
"two",
333349
"unlogged",
334350
"unset",
335351
"update",

core/src/test/java/com/datastax/oss/driver/internal/core/util/StringsTest.java

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,23 +37,28 @@ public void should_report_cql_keyword(Locale locale) {
3737
assertThat(Strings.isReservedCqlKeyword(null)).isFalse();
3838
assertThat(Strings.isReservedCqlKeyword("NOT A RESERVED KEYWORD")).isFalse();
3939

40+
assertThat(Strings.isReservedCqlKeyword("-infinity")).isTrue();
41+
assertThat(Strings.isReservedCqlKeyword("-nan")).isTrue();
4042
assertThat(Strings.isReservedCqlKeyword("add")).isTrue();
4143
assertThat(Strings.isReservedCqlKeyword("allow")).isTrue();
4244
assertThat(Strings.isReservedCqlKeyword("alter")).isTrue();
4345
assertThat(Strings.isReservedCqlKeyword("and")).isTrue();
46+
assertThat(Strings.isReservedCqlKeyword("any")).isTrue();
4447
assertThat(Strings.isReservedCqlKeyword("apply")).isTrue();
4548
assertThat(Strings.isReservedCqlKeyword("asc")).isTrue();
4649
assertThat(Strings.isReservedCqlKeyword("authorize")).isTrue();
4750
assertThat(Strings.isReservedCqlKeyword("batch")).isTrue();
4851
assertThat(Strings.isReservedCqlKeyword("begin")).isTrue();
4952
assertThat(Strings.isReservedCqlKeyword("by")).isTrue();
53+
assertThat(Strings.isReservedCqlKeyword("cast")).isTrue();
5054
assertThat(Strings.isReservedCqlKeyword("columnfamily")).isTrue();
5155
assertThat(Strings.isReservedCqlKeyword("create")).isTrue();
5256
assertThat(Strings.isReservedCqlKeyword("default")).isTrue();
5357
assertThat(Strings.isReservedCqlKeyword("delete")).isTrue();
5458
assertThat(Strings.isReservedCqlKeyword("desc")).isTrue();
5559
assertThat(Strings.isReservedCqlKeyword("describe")).isTrue();
5660
assertThat(Strings.isReservedCqlKeyword("drop")).isTrue();
61+
assertThat(Strings.isReservedCqlKeyword("each_quorum")).isTrue();
5762
assertThat(Strings.isReservedCqlKeyword("entries")).isTrue();
5863
assertThat(Strings.isReservedCqlKeyword("execute")).isTrue();
5964
assertThat(Strings.isReservedCqlKeyword("from")).isTrue();
@@ -62,12 +67,16 @@ public void should_report_cql_keyword(Locale locale) {
6267
assertThat(Strings.isReservedCqlKeyword("if")).isTrue();
6368
assertThat(Strings.isReservedCqlKeyword("in")).isTrue();
6469
assertThat(Strings.isReservedCqlKeyword("index")).isTrue();
70+
assertThat(Strings.isReservedCqlKeyword("inet")).isTrue();
6571
assertThat(Strings.isReservedCqlKeyword("infinity")).isTrue();
6672
assertThat(Strings.isReservedCqlKeyword("insert")).isTrue();
6773
assertThat(Strings.isReservedCqlKeyword("into")).isTrue();
6874
assertThat(Strings.isReservedCqlKeyword("is")).isTrue();
6975
assertThat(Strings.isReservedCqlKeyword("keyspace")).isTrue();
76+
assertThat(Strings.isReservedCqlKeyword("keyspaces")).isTrue();
7077
assertThat(Strings.isReservedCqlKeyword("limit")).isTrue();
78+
assertThat(Strings.isReservedCqlKeyword("local_one")).isTrue();
79+
assertThat(Strings.isReservedCqlKeyword("local_quorum")).isTrue();
7180
assertThat(Strings.isReservedCqlKeyword("materialized")).isTrue();
7281
assertThat(Strings.isReservedCqlKeyword("mbean")).isTrue();
7382
assertThat(Strings.isReservedCqlKeyword("mbeans")).isTrue();
@@ -78,19 +87,27 @@ public void should_report_cql_keyword(Locale locale) {
7887
assertThat(Strings.isReservedCqlKeyword("null")).isTrue();
7988
assertThat(Strings.isReservedCqlKeyword("of")).isTrue();
8089
assertThat(Strings.isReservedCqlKeyword("on")).isTrue();
90+
assertThat(Strings.isReservedCqlKeyword("one")).isTrue();
8191
assertThat(Strings.isReservedCqlKeyword("or")).isTrue();
8292
assertThat(Strings.isReservedCqlKeyword("order")).isTrue();
93+
assertThat(Strings.isReservedCqlKeyword("password")).isTrue();
8394
assertThat(Strings.isReservedCqlKeyword("primary")).isTrue();
95+
assertThat(Strings.isReservedCqlKeyword("quorum")).isTrue();
8496
assertThat(Strings.isReservedCqlKeyword("rename")).isTrue();
8597
assertThat(Strings.isReservedCqlKeyword("replace")).isTrue();
8698
assertThat(Strings.isReservedCqlKeyword("revoke")).isTrue();
8799
assertThat(Strings.isReservedCqlKeyword("schema")).isTrue();
100+
assertThat(Strings.isReservedCqlKeyword("scylla_clustering_bound")).isTrue();
101+
assertThat(Strings.isReservedCqlKeyword("scylla_counter_shard_list")).isTrue();
102+
assertThat(Strings.isReservedCqlKeyword("scylla_timeuuid_list_index")).isTrue();
88103
assertThat(Strings.isReservedCqlKeyword("select")).isTrue();
89104
assertThat(Strings.isReservedCqlKeyword("set")).isTrue();
90105
assertThat(Strings.isReservedCqlKeyword("table")).isTrue();
91106
assertThat(Strings.isReservedCqlKeyword("to")).isTrue();
92107
assertThat(Strings.isReservedCqlKeyword("token")).isTrue();
108+
assertThat(Strings.isReservedCqlKeyword("three")).isTrue();
93109
assertThat(Strings.isReservedCqlKeyword("truncate")).isTrue();
110+
assertThat(Strings.isReservedCqlKeyword("two")).isTrue();
94111
assertThat(Strings.isReservedCqlKeyword("unlogged")).isTrue();
95112
assertThat(Strings.isReservedCqlKeyword("unset")).isTrue();
96113
assertThat(Strings.isReservedCqlKeyword("update")).isTrue();
@@ -100,22 +117,28 @@ public void should_report_cql_keyword(Locale locale) {
100117
assertThat(Strings.isReservedCqlKeyword("where")).isTrue();
101118
assertThat(Strings.isReservedCqlKeyword("with")).isTrue();
102119

120+
assertThat(Strings.isReservedCqlKeyword("-INFINITY")).isTrue();
121+
assertThat(Strings.isReservedCqlKeyword("-NAN")).isTrue();
122+
assertThat(Strings.isReservedCqlKeyword("ADD")).isTrue();
103123
assertThat(Strings.isReservedCqlKeyword("ALLOW")).isTrue();
104124
assertThat(Strings.isReservedCqlKeyword("ALTER")).isTrue();
105125
assertThat(Strings.isReservedCqlKeyword("AND")).isTrue();
126+
assertThat(Strings.isReservedCqlKeyword("ANY")).isTrue();
106127
assertThat(Strings.isReservedCqlKeyword("APPLY")).isTrue();
107128
assertThat(Strings.isReservedCqlKeyword("ASC")).isTrue();
108129
assertThat(Strings.isReservedCqlKeyword("AUTHORIZE")).isTrue();
109130
assertThat(Strings.isReservedCqlKeyword("BATCH")).isTrue();
110131
assertThat(Strings.isReservedCqlKeyword("BEGIN")).isTrue();
111132
assertThat(Strings.isReservedCqlKeyword("BY")).isTrue();
133+
assertThat(Strings.isReservedCqlKeyword("CAST")).isTrue();
112134
assertThat(Strings.isReservedCqlKeyword("COLUMNFAMILY")).isTrue();
113135
assertThat(Strings.isReservedCqlKeyword("CREATE")).isTrue();
114136
assertThat(Strings.isReservedCqlKeyword("DEFAULT")).isTrue();
115137
assertThat(Strings.isReservedCqlKeyword("DELETE")).isTrue();
116138
assertThat(Strings.isReservedCqlKeyword("DESC")).isTrue();
117139
assertThat(Strings.isReservedCqlKeyword("DESCRIBE")).isTrue();
118140
assertThat(Strings.isReservedCqlKeyword("DROP")).isTrue();
141+
assertThat(Strings.isReservedCqlKeyword("EACH_QUORUM")).isTrue();
119142
assertThat(Strings.isReservedCqlKeyword("ENTRIES")).isTrue();
120143
assertThat(Strings.isReservedCqlKeyword("EXECUTE")).isTrue();
121144
assertThat(Strings.isReservedCqlKeyword("FROM")).isTrue();
@@ -124,12 +147,16 @@ public void should_report_cql_keyword(Locale locale) {
124147
assertThat(Strings.isReservedCqlKeyword("IF")).isTrue();
125148
assertThat(Strings.isReservedCqlKeyword("IN")).isTrue();
126149
assertThat(Strings.isReservedCqlKeyword("INDEX")).isTrue();
150+
assertThat(Strings.isReservedCqlKeyword("INET")).isTrue();
127151
assertThat(Strings.isReservedCqlKeyword("INFINITY")).isTrue();
128152
assertThat(Strings.isReservedCqlKeyword("INSERT")).isTrue();
129153
assertThat(Strings.isReservedCqlKeyword("INTO")).isTrue();
130154
assertThat(Strings.isReservedCqlKeyword("IS")).isTrue();
131155
assertThat(Strings.isReservedCqlKeyword("KEYSPACE")).isTrue();
156+
assertThat(Strings.isReservedCqlKeyword("KEYSPACES")).isTrue();
132157
assertThat(Strings.isReservedCqlKeyword("LIMIT")).isTrue();
158+
assertThat(Strings.isReservedCqlKeyword("LOCAL_ONE")).isTrue();
159+
assertThat(Strings.isReservedCqlKeyword("LOCAL_QUORUM")).isTrue();
133160
assertThat(Strings.isReservedCqlKeyword("MATERIALIZED")).isTrue();
134161
assertThat(Strings.isReservedCqlKeyword("MBEAN")).isTrue();
135162
assertThat(Strings.isReservedCqlKeyword("MBEANS")).isTrue();
@@ -140,19 +167,27 @@ public void should_report_cql_keyword(Locale locale) {
140167
assertThat(Strings.isReservedCqlKeyword("NULL")).isTrue();
141168
assertThat(Strings.isReservedCqlKeyword("OF")).isTrue();
142169
assertThat(Strings.isReservedCqlKeyword("ON")).isTrue();
170+
assertThat(Strings.isReservedCqlKeyword("ONE")).isTrue();
143171
assertThat(Strings.isReservedCqlKeyword("OR")).isTrue();
144172
assertThat(Strings.isReservedCqlKeyword("ORDER")).isTrue();
173+
assertThat(Strings.isReservedCqlKeyword("PASSWORD")).isTrue();
145174
assertThat(Strings.isReservedCqlKeyword("PRIMARY")).isTrue();
175+
assertThat(Strings.isReservedCqlKeyword("QUORUM")).isTrue();
146176
assertThat(Strings.isReservedCqlKeyword("RENAME")).isTrue();
147177
assertThat(Strings.isReservedCqlKeyword("REPLACE")).isTrue();
148178
assertThat(Strings.isReservedCqlKeyword("REVOKE")).isTrue();
149179
assertThat(Strings.isReservedCqlKeyword("SCHEMA")).isTrue();
180+
assertThat(Strings.isReservedCqlKeyword("SCYLLA_CLUSTERING_BOUND")).isTrue();
181+
assertThat(Strings.isReservedCqlKeyword("SCYLLA_COUNTER_SHARD_LIST")).isTrue();
182+
assertThat(Strings.isReservedCqlKeyword("SCYLLA_TIMEUUID_LIST_INDEX")).isTrue();
150183
assertThat(Strings.isReservedCqlKeyword("SELECT")).isTrue();
151184
assertThat(Strings.isReservedCqlKeyword("SET")).isTrue();
152185
assertThat(Strings.isReservedCqlKeyword("TABLE")).isTrue();
153186
assertThat(Strings.isReservedCqlKeyword("TO")).isTrue();
154187
assertThat(Strings.isReservedCqlKeyword("TOKEN")).isTrue();
188+
assertThat(Strings.isReservedCqlKeyword("THREE")).isTrue();
155189
assertThat(Strings.isReservedCqlKeyword("TRUNCATE")).isTrue();
190+
assertThat(Strings.isReservedCqlKeyword("TWO")).isTrue();
156191
assertThat(Strings.isReservedCqlKeyword("UNLOGGED")).isTrue();
157192
assertThat(Strings.isReservedCqlKeyword("UNSET")).isTrue();
158193
assertThat(Strings.isReservedCqlKeyword("UPDATE")).isTrue();

0 commit comments

Comments
 (0)