commit: add create show stmt support
This commit is contained in:
parent
b51e4b18ce
commit
9ad86d7753
|
@ -332,6 +332,7 @@ typedef enum ENodeType {
|
|||
QUERY_NODE_SHOW_LOCAL_VARIABLES_STMT,
|
||||
QUERY_NODE_SHOW_SCORES_STMT,
|
||||
QUERY_NODE_SHOW_TABLE_TAGS_STMT,
|
||||
QUERY_NODE_SHOW_COMPACTS_STMT,
|
||||
QUERY_NODE_KILL_CONNECTION_STMT,
|
||||
QUERY_NODE_KILL_QUERY_STMT,
|
||||
QUERY_NODE_KILL_TRANSACTION_STMT,
|
||||
|
|
|
@ -189,184 +189,180 @@
|
|||
#define TK_ALIVE 170
|
||||
#define TK_VIEWS 171
|
||||
#define TK_VIEW 172
|
||||
#define TK_NORMAL 173
|
||||
#define TK_CHILD 174
|
||||
#define TK_LIKE 175
|
||||
#define TK_TBNAME 176
|
||||
#define TK_QTAGS 177
|
||||
#define TK_AS 178
|
||||
#define TK_SYSTEM 179
|
||||
#define TK_INDEX 180
|
||||
#define TK_FUNCTION 181
|
||||
#define TK_INTERVAL 182
|
||||
#define TK_COUNT 183
|
||||
#define TK_LAST_ROW 184
|
||||
#define TK_META 185
|
||||
#define TK_ONLY 186
|
||||
#define TK_TOPIC 187
|
||||
#define TK_CONSUMER 188
|
||||
#define TK_GROUP 189
|
||||
#define TK_DESC 190
|
||||
#define TK_DESCRIBE 191
|
||||
#define TK_RESET 192
|
||||
#define TK_QUERY 193
|
||||
#define TK_CACHE 194
|
||||
#define TK_EXPLAIN 195
|
||||
#define TK_ANALYZE 196
|
||||
#define TK_VERBOSE 197
|
||||
#define TK_NK_BOOL 198
|
||||
#define TK_RATIO 199
|
||||
#define TK_NK_FLOAT 200
|
||||
#define TK_OUTPUTTYPE 201
|
||||
#define TK_AGGREGATE 202
|
||||
#define TK_BUFSIZE 203
|
||||
#define TK_LANGUAGE 204
|
||||
#define TK_REPLACE 205
|
||||
#define TK_STREAM 206
|
||||
#define TK_INTO 207
|
||||
#define TK_PAUSE 208
|
||||
#define TK_RESUME 209
|
||||
#define TK_TRIGGER 210
|
||||
#define TK_AT_ONCE 211
|
||||
#define TK_WINDOW_CLOSE 212
|
||||
#define TK_IGNORE 213
|
||||
#define TK_EXPIRED 214
|
||||
#define TK_FILL_HISTORY 215
|
||||
#define TK_UPDATE 216
|
||||
#define TK_SUBTABLE 217
|
||||
#define TK_UNTREATED 218
|
||||
#define TK_KILL 219
|
||||
#define TK_CONNECTION 220
|
||||
#define TK_TRANSACTION 221
|
||||
#define TK_BALANCE 222
|
||||
#define TK_VGROUP 223
|
||||
#define TK_LEADER 224
|
||||
#define TK_MERGE 225
|
||||
#define TK_REDISTRIBUTE 226
|
||||
#define TK_SPLIT 227
|
||||
#define TK_DELETE 228
|
||||
#define TK_INSERT 229
|
||||
#define TK_NULL 230
|
||||
#define TK_NK_QUESTION 231
|
||||
#define TK_NK_ALIAS 232
|
||||
#define TK_NK_ARROW 233
|
||||
#define TK_ROWTS 234
|
||||
#define TK_QSTART 235
|
||||
#define TK_QEND 236
|
||||
#define TK_QDURATION 237
|
||||
#define TK_WSTART 238
|
||||
#define TK_WEND 239
|
||||
#define TK_WDURATION 240
|
||||
#define TK_IROWTS 241
|
||||
#define TK_ISFILLED 242
|
||||
#define TK_CAST 243
|
||||
#define TK_NOW 244
|
||||
#define TK_TODAY 245
|
||||
#define TK_TIMEZONE 246
|
||||
#define TK_CLIENT_VERSION 247
|
||||
#define TK_SERVER_VERSION 248
|
||||
#define TK_SERVER_STATUS 249
|
||||
#define TK_CURRENT_USER 250
|
||||
#define TK_CASE 251
|
||||
#define TK_WHEN 252
|
||||
#define TK_THEN 253
|
||||
#define TK_ELSE 254
|
||||
#define TK_BETWEEN 255
|
||||
#define TK_IS 256
|
||||
#define TK_NK_LT 257
|
||||
#define TK_NK_GT 258
|
||||
#define TK_NK_LE 259
|
||||
#define TK_NK_GE 260
|
||||
#define TK_NK_NE 261
|
||||
#define TK_MATCH 262
|
||||
#define TK_NMATCH 263
|
||||
#define TK_CONTAINS 264
|
||||
#define TK_IN 265
|
||||
#define TK_JOIN 266
|
||||
#define TK_INNER 267
|
||||
#define TK_SELECT 268
|
||||
#define TK_NK_HINT 269
|
||||
#define TK_DISTINCT 270
|
||||
#define TK_WHERE 271
|
||||
#define TK_PARTITION 272
|
||||
#define TK_BY 273
|
||||
#define TK_SESSION 274
|
||||
#define TK_STATE_WINDOW 275
|
||||
#define TK_EVENT_WINDOW 276
|
||||
#define TK_SLIDING 277
|
||||
#define TK_FILL 278
|
||||
#define TK_VALUE 279
|
||||
#define TK_VALUE_F 280
|
||||
#define TK_NONE 281
|
||||
#define TK_PREV 282
|
||||
#define TK_NULL_F 283
|
||||
#define TK_LINEAR 284
|
||||
#define TK_NEXT 285
|
||||
#define TK_HAVING 286
|
||||
#define TK_RANGE 287
|
||||
#define TK_EVERY 288
|
||||
#define TK_ORDER 289
|
||||
#define TK_SLIMIT 290
|
||||
#define TK_SOFFSET 291
|
||||
#define TK_LIMIT 292
|
||||
#define TK_OFFSET 293
|
||||
#define TK_ASC 294
|
||||
#define TK_NULLS 295
|
||||
#define TK_ABORT 296
|
||||
#define TK_AFTER 297
|
||||
#define TK_ATTACH 298
|
||||
#define TK_BEFORE 299
|
||||
#define TK_BEGIN 300
|
||||
#define TK_BITAND 301
|
||||
#define TK_BITNOT 302
|
||||
#define TK_BITOR 303
|
||||
#define TK_BLOCKS 304
|
||||
#define TK_CHANGE 305
|
||||
#define TK_COMMA 306
|
||||
#define TK_CONCAT 307
|
||||
#define TK_CONFLICT 308
|
||||
#define TK_COPY 309
|
||||
#define TK_DEFERRED 310
|
||||
#define TK_DELIMITERS 311
|
||||
#define TK_DETACH 312
|
||||
#define TK_DIVIDE 313
|
||||
#define TK_DOT 314
|
||||
#define TK_EACH 315
|
||||
#define TK_FAIL 316
|
||||
#define TK_FILE 317
|
||||
#define TK_FOR 318
|
||||
#define TK_GLOB 319
|
||||
#define TK_ID 320
|
||||
#define TK_IMMEDIATE 321
|
||||
#define TK_IMPORT 322
|
||||
#define TK_INITIALLY 323
|
||||
#define TK_INSTEAD 324
|
||||
#define TK_ISNULL 325
|
||||
#define TK_KEY 326
|
||||
#define TK_MODULES 327
|
||||
#define TK_NK_BITNOT 328
|
||||
#define TK_NK_SEMI 329
|
||||
#define TK_NOTNULL 330
|
||||
#define TK_OF 331
|
||||
#define TK_PLUS 332
|
||||
#define TK_PRIVILEGE 333
|
||||
#define TK_RAISE 334
|
||||
#define TK_RESTRICT 335
|
||||
#define TK_ROW 336
|
||||
#define TK_SEMI 337
|
||||
#define TK_STAR 338
|
||||
#define TK_STATEMENT 339
|
||||
#define TK_STRICT 340
|
||||
#define TK_STRING 341
|
||||
#define TK_TIMES 342
|
||||
#define TK_VALUES 343
|
||||
#define TK_VARIABLE 344
|
||||
#define TK_WAL 345
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#define TK_COMPACTS 173
|
||||
#define TK_NORMAL 174
|
||||
#define TK_CHILD 175
|
||||
#define TK_LIKE 176
|
||||
#define TK_TBNAME 177
|
||||
#define TK_QTAGS 178
|
||||
#define TK_AS 179
|
||||
#define TK_SYSTEM 180
|
||||
#define TK_INDEX 181
|
||||
#define TK_FUNCTION 182
|
||||
#define TK_INTERVAL 183
|
||||
#define TK_COUNT 184
|
||||
#define TK_LAST_ROW 185
|
||||
#define TK_META 186
|
||||
#define TK_ONLY 187
|
||||
#define TK_TOPIC 188
|
||||
#define TK_CONSUMER 189
|
||||
#define TK_GROUP 190
|
||||
#define TK_DESC 191
|
||||
#define TK_DESCRIBE 192
|
||||
#define TK_RESET 193
|
||||
#define TK_QUERY 194
|
||||
#define TK_CACHE 195
|
||||
#define TK_EXPLAIN 196
|
||||
#define TK_ANALYZE 197
|
||||
#define TK_VERBOSE 198
|
||||
#define TK_NK_BOOL 199
|
||||
#define TK_RATIO 200
|
||||
#define TK_NK_FLOAT 201
|
||||
#define TK_OUTPUTTYPE 202
|
||||
#define TK_AGGREGATE 203
|
||||
#define TK_BUFSIZE 204
|
||||
#define TK_LANGUAGE 205
|
||||
#define TK_REPLACE 206
|
||||
#define TK_STREAM 207
|
||||
#define TK_INTO 208
|
||||
#define TK_PAUSE 209
|
||||
#define TK_RESUME 210
|
||||
#define TK_TRIGGER 211
|
||||
#define TK_AT_ONCE 212
|
||||
#define TK_WINDOW_CLOSE 213
|
||||
#define TK_IGNORE 214
|
||||
#define TK_EXPIRED 215
|
||||
#define TK_FILL_HISTORY 216
|
||||
#define TK_UPDATE 217
|
||||
#define TK_SUBTABLE 218
|
||||
#define TK_UNTREATED 219
|
||||
#define TK_KILL 220
|
||||
#define TK_CONNECTION 221
|
||||
#define TK_TRANSACTION 222
|
||||
#define TK_BALANCE 223
|
||||
#define TK_VGROUP 224
|
||||
#define TK_LEADER 225
|
||||
#define TK_MERGE 226
|
||||
#define TK_REDISTRIBUTE 227
|
||||
#define TK_SPLIT 228
|
||||
#define TK_DELETE 229
|
||||
#define TK_INSERT 230
|
||||
#define TK_NULL 231
|
||||
#define TK_NK_QUESTION 232
|
||||
#define TK_NK_ALIAS 233
|
||||
#define TK_NK_ARROW 234
|
||||
#define TK_ROWTS 235
|
||||
#define TK_QSTART 236
|
||||
#define TK_QEND 237
|
||||
#define TK_QDURATION 238
|
||||
#define TK_WSTART 239
|
||||
#define TK_WEND 240
|
||||
#define TK_WDURATION 241
|
||||
#define TK_IROWTS 242
|
||||
#define TK_ISFILLED 243
|
||||
#define TK_CAST 244
|
||||
#define TK_NOW 245
|
||||
#define TK_TODAY 246
|
||||
#define TK_TIMEZONE 247
|
||||
#define TK_CLIENT_VERSION 248
|
||||
#define TK_SERVER_VERSION 249
|
||||
#define TK_SERVER_STATUS 250
|
||||
#define TK_CURRENT_USER 251
|
||||
#define TK_CASE 252
|
||||
#define TK_WHEN 253
|
||||
#define TK_THEN 254
|
||||
#define TK_ELSE 255
|
||||
#define TK_BETWEEN 256
|
||||
#define TK_IS 257
|
||||
#define TK_NK_LT 258
|
||||
#define TK_NK_GT 259
|
||||
#define TK_NK_LE 260
|
||||
#define TK_NK_GE 261
|
||||
#define TK_NK_NE 262
|
||||
#define TK_MATCH 263
|
||||
#define TK_NMATCH 264
|
||||
#define TK_CONTAINS 265
|
||||
#define TK_IN 266
|
||||
#define TK_JOIN 267
|
||||
#define TK_INNER 268
|
||||
#define TK_SELECT 269
|
||||
#define TK_NK_HINT 270
|
||||
#define TK_DISTINCT 271
|
||||
#define TK_WHERE 272
|
||||
#define TK_PARTITION 273
|
||||
#define TK_BY 274
|
||||
#define TK_SESSION 275
|
||||
#define TK_STATE_WINDOW 276
|
||||
#define TK_EVENT_WINDOW 277
|
||||
#define TK_SLIDING 278
|
||||
#define TK_FILL 279
|
||||
#define TK_VALUE 280
|
||||
#define TK_VALUE_F 281
|
||||
#define TK_NONE 282
|
||||
#define TK_PREV 283
|
||||
#define TK_NULL_F 284
|
||||
#define TK_LINEAR 285
|
||||
#define TK_NEXT 286
|
||||
#define TK_HAVING 287
|
||||
#define TK_RANGE 288
|
||||
#define TK_EVERY 289
|
||||
#define TK_ORDER 290
|
||||
#define TK_SLIMIT 291
|
||||
#define TK_SOFFSET 292
|
||||
#define TK_LIMIT 293
|
||||
#define TK_OFFSET 294
|
||||
#define TK_ASC 295
|
||||
#define TK_NULLS 296
|
||||
#define TK_ABORT 297
|
||||
#define TK_AFTER 298
|
||||
#define TK_ATTACH 299
|
||||
#define TK_BEFORE 300
|
||||
#define TK_BEGIN 301
|
||||
#define TK_BITAND 302
|
||||
#define TK_BITNOT 303
|
||||
#define TK_BITOR 304
|
||||
#define TK_BLOCKS 305
|
||||
#define TK_CHANGE 306
|
||||
#define TK_COMMA 307
|
||||
#define TK_CONCAT 308
|
||||
#define TK_CONFLICT 309
|
||||
#define TK_COPY 310
|
||||
#define TK_DEFERRED 311
|
||||
#define TK_DELIMITERS 312
|
||||
#define TK_DETACH 313
|
||||
#define TK_DIVIDE 314
|
||||
#define TK_DOT 315
|
||||
#define TK_EACH 316
|
||||
#define TK_FAIL 317
|
||||
#define TK_FILE 318
|
||||
#define TK_FOR 319
|
||||
#define TK_GLOB 320
|
||||
#define TK_ID 321
|
||||
#define TK_IMMEDIATE 322
|
||||
#define TK_IMPORT 323
|
||||
#define TK_INITIALLY 324
|
||||
#define TK_INSTEAD 325
|
||||
#define TK_ISNULL 326
|
||||
#define TK_KEY 327
|
||||
#define TK_MODULES 328
|
||||
#define TK_NK_BITNOT 329
|
||||
#define TK_NK_SEMI 330
|
||||
#define TK_NOTNULL 331
|
||||
#define TK_OF 332
|
||||
#define TK_PLUS 333
|
||||
#define TK_PRIVILEGE 334
|
||||
#define TK_RAISE 335
|
||||
#define TK_RESTRICT 336
|
||||
#define TK_ROW 337
|
||||
#define TK_SEMI 338
|
||||
#define TK_STAR 339
|
||||
#define TK_STATEMENT 340
|
||||
#define TK_STRICT 341
|
||||
#define TK_STRING 342
|
||||
#define TK_TIMES 343
|
||||
#define TK_VALUES 344
|
||||
#define TK_VARIABLE 345
|
||||
#define TK_WAL 346
|
||||
|
||||
#define TK_NK_SPACE 600
|
||||
#define TK_NK_COMMENT 601
|
||||
|
|
|
@ -335,6 +335,11 @@ typedef struct SShowTableTagsStmt {
|
|||
SNodeList* pTags;
|
||||
} SShowTableTagsStmt;
|
||||
|
||||
typedef struct SShowCompactsStmt {
|
||||
ENodeType type;
|
||||
SNode* pCompactId;
|
||||
} SShowCompactsStmt;
|
||||
|
||||
typedef enum EIndexType { INDEX_TYPE_SMA = 1, INDEX_TYPE_FULLTEXT, INDEX_TYPE_NORMAL } EIndexType;
|
||||
|
||||
typedef struct SIndexOptions {
|
||||
|
|
|
@ -259,6 +259,8 @@ const char* nodesNodeName(ENodeType type) {
|
|||
return "ShowLocalVariablesStmt";
|
||||
case QUERY_NODE_SHOW_TABLE_TAGS_STMT:
|
||||
return "ShowTableTagsStmt";
|
||||
case QUERY_NODE_SHOW_COMPACTS_STMT:
|
||||
return "ShowCompactsStmt";
|
||||
case QUERY_NODE_DELETE_STMT:
|
||||
return "DeleteStmt";
|
||||
case QUERY_NODE_INSERT_STMT:
|
||||
|
|
|
@ -456,6 +456,8 @@ SNode* nodesMakeNode(ENodeType type) {
|
|||
return makeNode(type, sizeof(SShowCreateViewStmt));
|
||||
case QUERY_NODE_SHOW_TABLE_DISTRIBUTED_STMT:
|
||||
return makeNode(type, sizeof(SShowTableDistributedStmt));
|
||||
case QUERY_NODE_SHOW_COMPACTS_STMT:
|
||||
return makeNode(type, sizeof(SShowCompactsStmt));
|
||||
case QUERY_NODE_KILL_QUERY_STMT:
|
||||
return makeNode(type, sizeof(SKillQueryStmt));
|
||||
case QUERY_NODE_KILL_TRANSACTION_STMT:
|
||||
|
|
|
@ -260,6 +260,7 @@ SNode* createDeleteStmt(SAstCreateContext* pCxt, SNode* pTable, SNode* pWhere);
|
|||
SNode* createInsertStmt(SAstCreateContext* pCxt, SNode* pTable, SNodeList* pCols, SNode* pQuery);
|
||||
SNode* createCreateViewStmt(SAstCreateContext* pCxt, bool orReplace, SNode* pView, const SToken* pAs, SNode* pQuery);
|
||||
SNode* createDropViewStmt(SAstCreateContext* pCxt, bool ignoreNotExists, SNode* pView);
|
||||
SNode* createShowCompactsStmt(SAstCreateContext* pCxt, SNode* pCompactIdNode);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
|
|
|
@ -511,6 +511,8 @@ cmd ::= SHOW db_name_cond_opt(A) ALIVE.
|
|||
cmd ::= SHOW CLUSTER ALIVE. { pCxt->pRootNode = createShowAliveStmt(pCxt, NULL, QUERY_NODE_SHOW_CLUSTER_ALIVE_STMT); }
|
||||
cmd ::= SHOW db_name_cond_opt(A) VIEWS. { pCxt->pRootNode = createShowStmtWithCond(pCxt, QUERY_NODE_SHOW_VIEWS_STMT, A, NULL, OP_TYPE_LIKE); }
|
||||
cmd ::= SHOW CREATE VIEW full_table_name(A). { pCxt->pRootNode = createShowCreateViewStmt(pCxt, QUERY_NODE_SHOW_CREATE_VIEW_STMT, A); }
|
||||
cmd ::= SHOW COMPACTS. { pCxt->pRootNode = createShowCompactsStmt(pCxt, NULL); }
|
||||
cmd ::= SHOW COMPACT NK_INTEGER(A). { pCxt->pRootNode = createShowCompactsStmt(pCxt, createValueNode(pCxt, TSDB_DATA_TYPE_BIGINT, &A)); }
|
||||
|
||||
%type table_kind_db_name_cond_opt { SShowTablesOption }
|
||||
%destructor table_kind_db_name_cond_opt { }
|
||||
|
|
|
@ -1783,6 +1783,13 @@ SNode* createShowTableTagsStmt(SAstCreateContext* pCxt, SNode* pTbName, SNode* p
|
|||
return (SNode*)pStmt;
|
||||
}
|
||||
|
||||
SNode* createShowCompactsStmt(SAstCreateContext* pCxt, SNode* pCompactId) {
|
||||
CHECK_PARSER_STATUS(pCxt);
|
||||
SShowCompactsStmt* pStmt = (SShowCompactsStmt*)nodesMakeNode(QUERY_NODE_SHOW_COMPACTS_STMT);
|
||||
pStmt->pCompactId = pCompactId;
|
||||
return (SNode*)pStmt;
|
||||
}
|
||||
|
||||
static int32_t getIpV4RangeFromWhitelistItem(char* ipRange, SIpV4Range* pIpRange) {
|
||||
int32_t code = TSDB_CODE_SUCCESS;
|
||||
char* ipCopy = taosStrdup(ipRange);
|
||||
|
|
|
@ -64,6 +64,7 @@ static SKeyword keywordTable[] = {
|
|||
{"COMMENT", TK_COMMENT},
|
||||
{"COMP", TK_COMP},
|
||||
{"COMPACT", TK_COMPACT},
|
||||
{"COMPACTS", TK_COMPACTS},
|
||||
{"CONNECTION", TK_CONNECTION},
|
||||
{"CONNECTIONS", TK_CONNECTIONS},
|
||||
{"CONNS", TK_CONNS},
|
||||
|
|
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue