Skip to content

Commit 449899c

Browse files
authored
Merge pull request #105 from lenchvolodymyr/fix/HCK-2760-re-udt
HCK-2760: fix RE of udt from instance when there is empty array with …
2 parents 725b0cc + eab5d84 commit 449899c

12 files changed

+36689
-36889
lines changed

reverse_engineering/cassandraHelper.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -788,7 +788,7 @@ module.exports = (_) => {
788788

789789
return {
790790
...schema,
791-
...handleUdts(nestedUdts) || {}
791+
...(handleUdts(nestedUdts) || {})
792792
};
793793
} else {
794794
return null;

reverse_engineering/grammars/CqlLexer.g4

+4
Original file line numberDiff line numberDiff line change
@@ -785,6 +785,10 @@ K_SASI_INDEX
785785
: SQUOTE O R G DOT A P A C H E DOT C A S S A N D R A DOT I N D E X DOT S A S I DOT S A S I I N D E X SQUOTE
786786
;
787787

788+
K_SOLR_INDEX
789+
: SQUOTE C O M DOT D A T A S T A X DOT B D P DOT S E A R C H DOT S O L R DOT C Q L '3' S O L R S E C O N D A R Y I N D E X SQUOTE
790+
;
791+
788792
K_SPACE_SAVING_NO_JOIN
789793
: S P A C E S A V I N G N O J O I N
790794
;

reverse_engineering/grammars/CqlParser.g4

+6-2
Original file line numberDiff line numberDiff line change
@@ -509,7 +509,7 @@ truncate
509509

510510
createIndex
511511
: kwCreate kwIndex ifNotExist? indexName? kwOn (keyspace DOT)? table syntaxBracketLr indexColumnSpec syntaxBracketRr #secondaryIndex
512-
| kwCreate kwCustom kwIndex ifNotExist? indexName? kwOn (keyspace DOT)? table syntaxBracketLr indexColumnSpec syntaxBracketRr kwUsing (kwStorageAttachedIndex | kwSASIIndex) (kwWith kwOptions OPERATOR_EQ LC_BRACKET customIndexOption+ RC_BRACKET)? #customIndex
512+
| kwCreate kwCustom kwIndex ifNotExist? indexName? kwOn (keyspace DOT)? table syntaxBracketLr indexColumnSpec syntaxBracketRr kwUsing (kwStorageAttachedIndex | kwSASIIndex | kwSolrIndex) (kwWith kwOptions OPERATOR_EQ LC_BRACKET customIndexOption+ RC_BRACKET)? #customIndex
513513
;
514514

515515
customIndexOption
@@ -869,7 +869,7 @@ dataType
869869
;
870870

871871
dataTypeName
872-
: id
872+
: (keyspace DOT)? type
873873
| STRING_LITERAL
874874
| K_TIMESTAMP
875875
| K_SET
@@ -1182,6 +1182,10 @@ kwStorageAttachedIndex
11821182
: K_STORAGE_ATTACHED_INDEX
11831183
;
11841184

1185+
kwSolrIndex
1186+
: K_SOLR_INDEX
1187+
;
1188+
11851189
kwSASIIndex
11861190
: K_SASI_INDEX
11871191
;

reverse_engineering/parser/CqlLexer.interp

+4-1
Large diffs are not rendered by default.

reverse_engineering/parser/CqlLexer.js

+2,440-2,438
Large diffs are not rendered by default.

reverse_engineering/parser/CqlLexer.tokens

+63-62
Original file line numberDiff line numberDiff line change
@@ -159,68 +159,69 @@ K_MODE=158
159159
K_ANALYZER_CLASS=159
160160
K_STORAGE_ATTACHED_INDEX=160
161161
K_SASI_INDEX=161
162-
K_SPACE_SAVING_NO_JOIN=162
163-
K_SPACE_SAVING_ALL=163
164-
K_SPACE_SAVING_SLOW_TRIE_PRECISION=164
165-
K_SPACE_SAVING_NO_TEXT_FIELD=165
166-
K_DOC_VALUES=166
167-
K_COPY_FIELD=167
168-
K_EXCLUDED=168
169-
K_INDEXED=169
170-
K_LOWERCASE=170
171-
K_COLUMNS=171
172-
K_PROFILES=172
173-
K_CONFIG=173
174-
K_AUTOCOMMIT_TIME=174
175-
K_DEFAULT_QUERY_FIELD=175
176-
K_DIRECTORY_FACTORY=176
177-
K_FILTER_CACHE_LOW_WATERMARK=177
178-
K_FILTER_CACHE_HIGH_WATERMARK=178
179-
K_DIRECTORY_FACTORY_CLASS=179
180-
K_MERGE_MAX_THREAD_COUNT=180
181-
K_MERGE_MAX_MERGE_COUNT=181
182-
K_RAM_BUFFER_SIZE=182
183-
K_REALTIME=183
184-
K_RECOVERY=184
185-
K_REINDEX=185
186-
K_LENIENT=186
187-
K_STANDARD=187
188-
K_ENCRYPTED=188
189-
K_BIGINT=189
190-
K_BLOB=190
191-
K_BOOLEAN=191
192-
K_COUNTER=192
193-
K_DATE=193
194-
K_DECIMAL=194
195-
K_DOUBLE=195
196-
K_FLOAT=196
197-
K_FROZEN=197
198-
K_INET=198
199-
K_INT=199
200-
K_LIST=200
201-
K_MAP=201
202-
K_SMALLINT=202
203-
K_TEXT=203
204-
K_TIMEUUID=204
205-
K_TIME=205
206-
K_TINYINT=206
207-
K_TUPLE=207
208-
K_VARCHAR=208
209-
K_VARINT=209
210-
CODE_BLOCK=210
211-
STRING_LITERAL=211
212-
DECIMAL_LITERAL=212
213-
FLOAT_LITERAL=213
214-
HEXADECIMAL_LITERAL=214
215-
REAL_LITERAL=215
216-
OBJECT_NAME=216
217-
UUID=217
218-
OPERATOR_EQ=218
219-
OPERATOR_LT=219
220-
OPERATOR_GT=220
221-
OPERATOR_LTE=221
222-
OPERATOR_GTE=222
223-
K_USERS=223
162+
K_SOLR_INDEX=162
163+
K_SPACE_SAVING_NO_JOIN=163
164+
K_SPACE_SAVING_ALL=164
165+
K_SPACE_SAVING_SLOW_TRIE_PRECISION=165
166+
K_SPACE_SAVING_NO_TEXT_FIELD=166
167+
K_DOC_VALUES=167
168+
K_COPY_FIELD=168
169+
K_EXCLUDED=169
170+
K_INDEXED=170
171+
K_LOWERCASE=171
172+
K_COLUMNS=172
173+
K_PROFILES=173
174+
K_CONFIG=174
175+
K_AUTOCOMMIT_TIME=175
176+
K_DEFAULT_QUERY_FIELD=176
177+
K_DIRECTORY_FACTORY=177
178+
K_FILTER_CACHE_LOW_WATERMARK=178
179+
K_FILTER_CACHE_HIGH_WATERMARK=179
180+
K_DIRECTORY_FACTORY_CLASS=180
181+
K_MERGE_MAX_THREAD_COUNT=181
182+
K_MERGE_MAX_MERGE_COUNT=182
183+
K_RAM_BUFFER_SIZE=183
184+
K_REALTIME=184
185+
K_RECOVERY=185
186+
K_REINDEX=186
187+
K_LENIENT=187
188+
K_STANDARD=188
189+
K_ENCRYPTED=189
190+
K_BIGINT=190
191+
K_BLOB=191
192+
K_BOOLEAN=192
193+
K_COUNTER=193
194+
K_DATE=194
195+
K_DECIMAL=195
196+
K_DOUBLE=196
197+
K_FLOAT=197
198+
K_FROZEN=198
199+
K_INET=199
200+
K_INT=200
201+
K_LIST=201
202+
K_MAP=202
203+
K_SMALLINT=203
204+
K_TEXT=204
205+
K_TIMEUUID=205
206+
K_TIME=206
207+
K_TINYINT=207
208+
K_TUPLE=208
209+
K_VARCHAR=209
210+
K_VARINT=210
211+
CODE_BLOCK=211
212+
STRING_LITERAL=212
213+
DECIMAL_LITERAL=213
214+
FLOAT_LITERAL=214
215+
HEXADECIMAL_LITERAL=215
216+
REAL_LITERAL=216
217+
OBJECT_NAME=217
218+
UUID=218
219+
OPERATOR_EQ=219
220+
OPERATOR_LT=220
221+
OPERATOR_GT=221
222+
OPERATOR_LTE=222
223+
OPERATOR_GTE=223
224+
K_USERS=224
224225
'('=1
225226
')'=2
226227
'{'=3

reverse_engineering/parser/CqlParser.interp

+4-1
Large diffs are not rendered by default.

reverse_engineering/parser/CqlParser.js

+30,650-30,875
Large diffs are not rendered by default.

reverse_engineering/parser/CqlParser.tokens

+63-62
Original file line numberDiff line numberDiff line change
@@ -159,68 +159,69 @@ K_MODE=158
159159
K_ANALYZER_CLASS=159
160160
K_STORAGE_ATTACHED_INDEX=160
161161
K_SASI_INDEX=161
162-
K_SPACE_SAVING_NO_JOIN=162
163-
K_SPACE_SAVING_ALL=163
164-
K_SPACE_SAVING_SLOW_TRIE_PRECISION=164
165-
K_SPACE_SAVING_NO_TEXT_FIELD=165
166-
K_DOC_VALUES=166
167-
K_COPY_FIELD=167
168-
K_EXCLUDED=168
169-
K_INDEXED=169
170-
K_LOWERCASE=170
171-
K_COLUMNS=171
172-
K_PROFILES=172
173-
K_CONFIG=173
174-
K_AUTOCOMMIT_TIME=174
175-
K_DEFAULT_QUERY_FIELD=175
176-
K_DIRECTORY_FACTORY=176
177-
K_FILTER_CACHE_LOW_WATERMARK=177
178-
K_FILTER_CACHE_HIGH_WATERMARK=178
179-
K_DIRECTORY_FACTORY_CLASS=179
180-
K_MERGE_MAX_THREAD_COUNT=180
181-
K_MERGE_MAX_MERGE_COUNT=181
182-
K_RAM_BUFFER_SIZE=182
183-
K_REALTIME=183
184-
K_RECOVERY=184
185-
K_REINDEX=185
186-
K_LENIENT=186
187-
K_STANDARD=187
188-
K_ENCRYPTED=188
189-
K_BIGINT=189
190-
K_BLOB=190
191-
K_BOOLEAN=191
192-
K_COUNTER=192
193-
K_DATE=193
194-
K_DECIMAL=194
195-
K_DOUBLE=195
196-
K_FLOAT=196
197-
K_FROZEN=197
198-
K_INET=198
199-
K_INT=199
200-
K_LIST=200
201-
K_MAP=201
202-
K_SMALLINT=202
203-
K_TEXT=203
204-
K_TIMEUUID=204
205-
K_TIME=205
206-
K_TINYINT=206
207-
K_TUPLE=207
208-
K_VARCHAR=208
209-
K_VARINT=209
210-
CODE_BLOCK=210
211-
STRING_LITERAL=211
212-
DECIMAL_LITERAL=212
213-
FLOAT_LITERAL=213
214-
HEXADECIMAL_LITERAL=214
215-
REAL_LITERAL=215
216-
OBJECT_NAME=216
217-
UUID=217
218-
OPERATOR_EQ=218
219-
OPERATOR_LT=219
220-
OPERATOR_GT=220
221-
OPERATOR_LTE=221
222-
OPERATOR_GTE=222
223-
K_USERS=223
162+
K_SOLR_INDEX=162
163+
K_SPACE_SAVING_NO_JOIN=163
164+
K_SPACE_SAVING_ALL=164
165+
K_SPACE_SAVING_SLOW_TRIE_PRECISION=165
166+
K_SPACE_SAVING_NO_TEXT_FIELD=166
167+
K_DOC_VALUES=167
168+
K_COPY_FIELD=168
169+
K_EXCLUDED=169
170+
K_INDEXED=170
171+
K_LOWERCASE=171
172+
K_COLUMNS=172
173+
K_PROFILES=173
174+
K_CONFIG=174
175+
K_AUTOCOMMIT_TIME=175
176+
K_DEFAULT_QUERY_FIELD=176
177+
K_DIRECTORY_FACTORY=177
178+
K_FILTER_CACHE_LOW_WATERMARK=178
179+
K_FILTER_CACHE_HIGH_WATERMARK=179
180+
K_DIRECTORY_FACTORY_CLASS=180
181+
K_MERGE_MAX_THREAD_COUNT=181
182+
K_MERGE_MAX_MERGE_COUNT=182
183+
K_RAM_BUFFER_SIZE=183
184+
K_REALTIME=184
185+
K_RECOVERY=185
186+
K_REINDEX=186
187+
K_LENIENT=187
188+
K_STANDARD=188
189+
K_ENCRYPTED=189
190+
K_BIGINT=190
191+
K_BLOB=191
192+
K_BOOLEAN=192
193+
K_COUNTER=193
194+
K_DATE=194
195+
K_DECIMAL=195
196+
K_DOUBLE=196
197+
K_FLOAT=197
198+
K_FROZEN=198
199+
K_INET=199
200+
K_INT=200
201+
K_LIST=201
202+
K_MAP=202
203+
K_SMALLINT=203
204+
K_TEXT=204
205+
K_TIMEUUID=205
206+
K_TIME=206
207+
K_TINYINT=207
208+
K_TUPLE=208
209+
K_VARCHAR=209
210+
K_VARINT=210
211+
CODE_BLOCK=211
212+
STRING_LITERAL=212
213+
DECIMAL_LITERAL=213
214+
FLOAT_LITERAL=214
215+
HEXADECIMAL_LITERAL=215
216+
REAL_LITERAL=216
217+
OBJECT_NAME=217
218+
UUID=218
219+
OPERATOR_EQ=219
220+
OPERATOR_LT=220
221+
OPERATOR_GT=221
222+
OPERATOR_LTE=222
223+
OPERATOR_GTE=223
224+
K_USERS=224
224225
'('=1
225226
')'=2
226227
'{'=3

0 commit comments

Comments
 (0)