feat: passed parser/ast

This commit is contained in:
slzhou 2024-01-25 11:20:04 +08:00
parent 618e60cffc
commit 993728c200
4 changed files with 5181 additions and 5164 deletions

View File

@ -133,236 +133,238 @@
#define TK_NK_EQ 114
#define TK_USING 115
#define TK_TAGS 116
#define TK_BOOL 117
#define TK_TINYINT 118
#define TK_SMALLINT 119
#define TK_INT 120
#define TK_INTEGER 121
#define TK_BIGINT 122
#define TK_FLOAT 123
#define TK_DOUBLE 124
#define TK_BINARY 125
#define TK_NCHAR 126
#define TK_UNSIGNED 127
#define TK_JSON 128
#define TK_VARCHAR 129
#define TK_MEDIUMBLOB 130
#define TK_BLOB 131
#define TK_VARBINARY 132
#define TK_GEOMETRY 133
#define TK_DECIMAL 134
#define TK_COMMENT 135
#define TK_MAX_DELAY 136
#define TK_WATERMARK 137
#define TK_ROLLUP 138
#define TK_TTL 139
#define TK_SMA 140
#define TK_DELETE_MARK 141
#define TK_FIRST 142
#define TK_LAST 143
#define TK_SHOW 144
#define TK_PRIVILEGES 145
#define TK_DATABASES 146
#define TK_TABLES 147
#define TK_STABLES 148
#define TK_MNODES 149
#define TK_QNODES 150
#define TK_FUNCTIONS 151
#define TK_INDEXES 152
#define TK_ACCOUNTS 153
#define TK_APPS 154
#define TK_CONNECTIONS 155
#define TK_LICENCES 156
#define TK_GRANTS 157
#define TK_QUERIES 158
#define TK_SCORES 159
#define TK_TOPICS 160
#define TK_VARIABLES 161
#define TK_CLUSTER 162
#define TK_BNODES 163
#define TK_SNODES 164
#define TK_TRANSACTIONS 165
#define TK_DISTRIBUTED 166
#define TK_CONSUMERS 167
#define TK_SUBSCRIPTIONS 168
#define TK_VNODES 169
#define TK_ALIVE 170
#define TK_VIEWS 171
#define TK_VIEW 172
#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_PRIMARY 117
#define TK_KEY 118
#define TK_BOOL 119
#define TK_TINYINT 120
#define TK_SMALLINT 121
#define TK_INT 122
#define TK_INTEGER 123
#define TK_BIGINT 124
#define TK_FLOAT 125
#define TK_DOUBLE 126
#define TK_BINARY 127
#define TK_NCHAR 128
#define TK_UNSIGNED 129
#define TK_JSON 130
#define TK_VARCHAR 131
#define TK_MEDIUMBLOB 132
#define TK_BLOB 133
#define TK_VARBINARY 134
#define TK_GEOMETRY 135
#define TK_DECIMAL 136
#define TK_COMMENT 137
#define TK_MAX_DELAY 138
#define TK_WATERMARK 139
#define TK_ROLLUP 140
#define TK_TTL 141
#define TK_SMA 142
#define TK_DELETE_MARK 143
#define TK_FIRST 144
#define TK_LAST 145
#define TK_SHOW 146
#define TK_PRIVILEGES 147
#define TK_DATABASES 148
#define TK_TABLES 149
#define TK_STABLES 150
#define TK_MNODES 151
#define TK_QNODES 152
#define TK_FUNCTIONS 153
#define TK_INDEXES 154
#define TK_ACCOUNTS 155
#define TK_APPS 156
#define TK_CONNECTIONS 157
#define TK_LICENCES 158
#define TK_GRANTS 159
#define TK_QUERIES 160
#define TK_SCORES 161
#define TK_TOPICS 162
#define TK_VARIABLES 163
#define TK_CLUSTER 164
#define TK_BNODES 165
#define TK_SNODES 166
#define TK_TRANSACTIONS 167
#define TK_DISTRIBUTED 168
#define TK_CONSUMERS 169
#define TK_SUBSCRIPTIONS 170
#define TK_VNODES 171
#define TK_ALIVE 172
#define TK_VIEWS 173
#define TK_VIEW 174
#define TK_COMPACTS 175
#define TK_NORMAL 176
#define TK_CHILD 177
#define TK_LIKE 178
#define TK_TBNAME 179
#define TK_QTAGS 180
#define TK_AS 181
#define TK_SYSTEM 182
#define TK_INDEX 183
#define TK_FUNCTION 184
#define TK_INTERVAL 185
#define TK_COUNT 186
#define TK_LAST_ROW 187
#define TK_META 188
#define TK_ONLY 189
#define TK_TOPIC 190
#define TK_CONSUMER 191
#define TK_GROUP 192
#define TK_DESC 193
#define TK_DESCRIBE 194
#define TK_RESET 195
#define TK_QUERY 196
#define TK_CACHE 197
#define TK_EXPLAIN 198
#define TK_ANALYZE 199
#define TK_VERBOSE 200
#define TK_NK_BOOL 201
#define TK_RATIO 202
#define TK_NK_FLOAT 203
#define TK_OUTPUTTYPE 204
#define TK_AGGREGATE 205
#define TK_BUFSIZE 206
#define TK_LANGUAGE 207
#define TK_REPLACE 208
#define TK_STREAM 209
#define TK_INTO 210
#define TK_PAUSE 211
#define TK_RESUME 212
#define TK_TRIGGER 213
#define TK_AT_ONCE 214
#define TK_WINDOW_CLOSE 215
#define TK_IGNORE 216
#define TK_EXPIRED 217
#define TK_FILL_HISTORY 218
#define TK_UPDATE 219
#define TK_SUBTABLE 220
#define TK_UNTREATED 221
#define TK_KILL 222
#define TK_CONNECTION 223
#define TK_TRANSACTION 224
#define TK_BALANCE 225
#define TK_VGROUP 226
#define TK_LEADER 227
#define TK_MERGE 228
#define TK_REDISTRIBUTE 229
#define TK_SPLIT 230
#define TK_DELETE 231
#define TK_INSERT 232
#define TK_NULL 233
#define TK_NK_QUESTION 234
#define TK_NK_ALIAS 235
#define TK_NK_ARROW 236
#define TK_ROWTS 237
#define TK_QSTART 238
#define TK_QEND 239
#define TK_QDURATION 240
#define TK_WSTART 241
#define TK_WEND 242
#define TK_WDURATION 243
#define TK_IROWTS 244
#define TK_ISFILLED 245
#define TK_CAST 246
#define TK_NOW 247
#define TK_TODAY 248
#define TK_TIMEZONE 249
#define TK_CLIENT_VERSION 250
#define TK_SERVER_VERSION 251
#define TK_SERVER_STATUS 252
#define TK_CURRENT_USER 253
#define TK_CASE 254
#define TK_WHEN 255
#define TK_THEN 256
#define TK_ELSE 257
#define TK_BETWEEN 258
#define TK_IS 259
#define TK_NK_LT 260
#define TK_NK_GT 261
#define TK_NK_LE 262
#define TK_NK_GE 263
#define TK_NK_NE 264
#define TK_MATCH 265
#define TK_NMATCH 266
#define TK_CONTAINS 267
#define TK_IN 268
#define TK_JOIN 269
#define TK_INNER 270
#define TK_SELECT 271
#define TK_NK_HINT 272
#define TK_DISTINCT 273
#define TK_WHERE 274
#define TK_PARTITION 275
#define TK_BY 276
#define TK_SESSION 277
#define TK_STATE_WINDOW 278
#define TK_EVENT_WINDOW 279
#define TK_SLIDING 280
#define TK_FILL 281
#define TK_VALUE 282
#define TK_VALUE_F 283
#define TK_NONE 284
#define TK_PREV 285
#define TK_NULL_F 286
#define TK_LINEAR 287
#define TK_NEXT 288
#define TK_HAVING 289
#define TK_RANGE 290
#define TK_EVERY 291
#define TK_ORDER 292
#define TK_SLIMIT 293
#define TK_SOFFSET 294
#define TK_LIMIT 295
#define TK_OFFSET 296
#define TK_ASC 297
#define TK_NULLS 298
#define TK_ABORT 299
#define TK_AFTER 300
#define TK_ATTACH 301
#define TK_BEFORE 302
#define TK_BEGIN 303
#define TK_BITAND 304
#define TK_BITNOT 305
#define TK_BITOR 306
#define TK_BLOCKS 307
#define TK_CHANGE 308
#define TK_COMMA 309
#define TK_CONCAT 310
#define TK_CONFLICT 311
#define TK_COPY 312
#define TK_DEFERRED 313
#define TK_DELIMITERS 314
#define TK_DETACH 315
#define TK_DIVIDE 316
#define TK_DOT 317
#define TK_EACH 318
#define TK_FAIL 319
#define TK_FILE 320
#define TK_FOR 321
#define TK_GLOB 322
#define TK_ID 323
#define TK_IMMEDIATE 324
#define TK_IMPORT 325
#define TK_INITIALLY 326
#define TK_INSTEAD 327
#define TK_ISNULL 328
#define TK_MODULES 329
#define TK_NK_BITNOT 330
#define TK_NK_SEMI 331
#define TK_NOTNULL 332
#define TK_OF 333
#define TK_PLUS 334
#define TK_PRIVILEGE 335
#define TK_RAISE 336
#define TK_RESTRICT 337
#define TK_ROW 338
#define TK_SEMI 339
#define TK_STAR 340
#define TK_STATEMENT 341
#define TK_STRICT 342
#define TK_STRING 343
#define TK_TIMES 344
#define TK_VALUES 345
#define TK_VARIABLE 346
#define TK_WAL 347
#define TK_NK_SPACE 600
#define TK_NK_COMMENT 601

View File

@ -4584,6 +4584,7 @@ static const char* jkColumnDefColName = "ColName";
static const char* jkColumnDefDataType = "DataType";
static const char* jkColumnDefComments = "Comments";
static const char* jkColumnDefSma = "Sma";
static const char* jkColumnDefIsPK = "IsPK";
static int32_t columnDefNodeToJson(const void* pObj, SJson* pJson) {
const SColumnDefNode* pNode = (const SColumnDefNode*)pObj;
@ -4598,6 +4599,9 @@ static int32_t columnDefNodeToJson(const void* pObj, SJson* pJson) {
if (TSDB_CODE_SUCCESS == code) {
code = tjsonAddBoolToObject(pJson, jkColumnDefSma, pNode->sma);
}
if (TSDB_CODE_SUCCESS == code) {
code = tjsonAddBoolToObject(pJson, jkColumnDefIsPK, pNode->is_pk);
}
return code;
}
@ -4615,7 +4619,9 @@ static int32_t jsonToColumnDefNode(const SJson* pJson, void* pObj) {
if (TSDB_CODE_SUCCESS == code) {
code = tjsonGetBoolValue(pJson, jkColumnDefSma, &pNode->sma);
}
if (TSDB_CODE_SUCCESS == code) {
code = tjsonGetBoolValue(pJson, jkColumnDefIsPK, &pNode->is_pk);
}
return code;
}

View File

@ -128,6 +128,7 @@ static SKeyword keywordTable[] = {
{"JOIN", TK_JOIN},
{"JSON", TK_JSON},
{"KEEP", TK_KEEP},
{"KEY", TK_KEY},
{"KILL", TK_KILL},
{"LANGUAGE", TK_LANGUAGE},
{"LAST", TK_LAST},
@ -174,6 +175,7 @@ static SKeyword keywordTable[] = {
{"PASS", TK_PASS},
{"PORT", TK_PORT},
{"PPS", TK_PPS},
{"PRIMARY", TK_PRIMARY},
{"PRECISION", TK_PRECISION},
{"PREV", TK_PREV},
{"PRIVILEGES", TK_PRIVILEGES},

File diff suppressed because it is too large Load Diff