From 0ef202a56be5acf27a48649937db1b5bae6d920b Mon Sep 17 00:00:00 2001 From: kailixu Date: Wed, 22 May 2024 19:00:47 +0800 Subject: [PATCH 01/12] enh: createdb permission for users --- include/common/tmsg.h | 18 +- include/common/ttokendef.h | 675 +- include/libs/nodes/cmdnodes.h | 1 + source/common/src/systable.c | 1 + source/common/src/tmsg.c | 4 + source/dnode/mnode/impl/inc/mndDef.h | 24 +- source/dnode/mnode/impl/src/mndUser.c | 27 +- source/libs/nodes/src/nodesCodeFuncs.c | 7 + source/libs/parser/inc/sql.y | 1 + source/libs/parser/src/parAstCreater.c | 5 + source/libs/parser/src/parTokenizer.c | 1 + source/libs/parser/src/parTranslater.c | 1 + source/libs/parser/src/sql.c | 11126 +++++++++++------------ 13 files changed, 5797 insertions(+), 6094 deletions(-) diff --git a/include/common/tmsg.h b/include/common/tmsg.h index 3ed6b40d4d..2cdd18a86d 100644 --- a/include/common/tmsg.h +++ b/include/common/tmsg.h @@ -189,6 +189,7 @@ typedef enum _mgmt_table { #define TSDB_ALTER_USER_DEL_PRIVILEGES 0x6 #define TSDB_ALTER_USER_ADD_WHITE_LIST 0x7 #define TSDB_ALTER_USER_DROP_WHITE_LIST 0x8 +#define TSDB_ALTER_USER_CREATEDB 0x9 #define TSDB_KILL_MSG_LEN 30 @@ -1043,11 +1044,18 @@ int32_t tSerializeRetrieveIpWhite(void* buf, int32_t bufLen, SRetrieveIpWhiteReq int32_t tDeserializeRetrieveIpWhite(void* buf, int32_t bufLen, SRetrieveIpWhiteReq* pReq); typedef struct { - int8_t alterType; - int8_t superUser; - int8_t sysInfo; - int8_t enable; - int8_t isView; + int8_t alterType; + int8_t superUser; + int8_t sysInfo; + int8_t enable; + int8_t isView; + union { + int8_t flag; + struct { + int8_t createdb : 1; + int8_t reserve : 7; + }; + }; char user[TSDB_USER_LEN]; char pass[TSDB_USET_PASSWORD_LEN]; char objname[TSDB_DB_FNAME_LEN]; // db or topic diff --git a/include/common/ttokendef.h b/include/common/ttokendef.h index e619edf972..9060c145a4 100644 --- a/include/common/ttokendef.h +++ b/include/common/ttokendef.h @@ -54,343 +54,344 @@ #define TK_ENABLE 36 #define TK_NK_INTEGER 37 #define TK_SYSINFO 38 -#define TK_ADD 39 -#define TK_DROP 40 -#define TK_GRANT 41 -#define TK_ON 42 -#define TK_TO 43 -#define TK_REVOKE 44 -#define TK_FROM 45 -#define TK_SUBSCRIBE 46 -#define TK_READ 47 -#define TK_WRITE 48 -#define TK_NK_DOT 49 -#define TK_WITH 50 -#define TK_ENCRYPT_KEY 51 -#define TK_DNODE 52 -#define TK_PORT 53 -#define TK_DNODES 54 -#define TK_RESTORE 55 -#define TK_NK_IPTOKEN 56 -#define TK_FORCE 57 -#define TK_UNSAFE 58 -#define TK_CLUSTER 59 -#define TK_LOCAL 60 -#define TK_QNODE 61 -#define TK_BNODE 62 -#define TK_SNODE 63 -#define TK_MNODE 64 -#define TK_VNODE 65 -#define TK_DATABASE 66 -#define TK_USE 67 -#define TK_FLUSH 68 -#define TK_TRIM 69 -#define TK_S3MIGRATE 70 -#define TK_COMPACT 71 -#define TK_IF 72 -#define TK_NOT 73 -#define TK_EXISTS 74 -#define TK_BUFFER 75 -#define TK_CACHEMODEL 76 -#define TK_CACHESIZE 77 -#define TK_COMP 78 -#define TK_DURATION 79 -#define TK_NK_VARIABLE 80 -#define TK_MAXROWS 81 -#define TK_MINROWS 82 -#define TK_KEEP 83 -#define TK_PAGES 84 -#define TK_PAGESIZE 85 -#define TK_TSDB_PAGESIZE 86 -#define TK_PRECISION 87 -#define TK_REPLICA 88 -#define TK_VGROUPS 89 -#define TK_SINGLE_STABLE 90 -#define TK_RETENTIONS 91 -#define TK_SCHEMALESS 92 -#define TK_WAL_LEVEL 93 -#define TK_WAL_FSYNC_PERIOD 94 -#define TK_WAL_RETENTION_PERIOD 95 -#define TK_WAL_RETENTION_SIZE 96 -#define TK_WAL_ROLL_PERIOD 97 -#define TK_WAL_SEGMENT_SIZE 98 -#define TK_STT_TRIGGER 99 -#define TK_TABLE_PREFIX 100 -#define TK_TABLE_SUFFIX 101 -#define TK_S3_CHUNKSIZE 102 -#define TK_S3_KEEPLOCAL 103 -#define TK_S3_COMPACT 104 -#define TK_KEEP_TIME_OFFSET 105 -#define TK_ENCRYPT_ALGORITHM 106 -#define TK_NK_COLON 107 -#define TK_BWLIMIT 108 -#define TK_START 109 -#define TK_TIMESTAMP 110 -#define TK_END 111 -#define TK_TABLE 112 -#define TK_NK_LP 113 -#define TK_NK_RP 114 -#define TK_STABLE 115 -#define TK_COLUMN 116 -#define TK_MODIFY 117 -#define TK_RENAME 118 -#define TK_TAG 119 -#define TK_SET 120 -#define TK_NK_EQ 121 -#define TK_USING 122 -#define TK_TAGS 123 -#define TK_BOOL 124 -#define TK_TINYINT 125 -#define TK_SMALLINT 126 -#define TK_INT 127 -#define TK_INTEGER 128 -#define TK_BIGINT 129 -#define TK_FLOAT 130 -#define TK_DOUBLE 131 -#define TK_BINARY 132 -#define TK_NCHAR 133 -#define TK_UNSIGNED 134 -#define TK_JSON 135 -#define TK_VARCHAR 136 -#define TK_MEDIUMBLOB 137 -#define TK_BLOB 138 -#define TK_VARBINARY 139 -#define TK_GEOMETRY 140 -#define TK_DECIMAL 141 -#define TK_COMMENT 142 -#define TK_MAX_DELAY 143 -#define TK_WATERMARK 144 -#define TK_ROLLUP 145 -#define TK_TTL 146 -#define TK_SMA 147 -#define TK_DELETE_MARK 148 -#define TK_FIRST 149 -#define TK_LAST 150 -#define TK_SHOW 151 -#define TK_PRIVILEGES 152 -#define TK_DATABASES 153 -#define TK_TABLES 154 -#define TK_STABLES 155 -#define TK_MNODES 156 -#define TK_QNODES 157 -#define TK_ARBGROUPS 158 -#define TK_FUNCTIONS 159 -#define TK_INDEXES 160 -#define TK_ACCOUNTS 161 -#define TK_APPS 162 -#define TK_CONNECTIONS 163 -#define TK_LICENCES 164 -#define TK_GRANTS 165 -#define TK_FULL 166 -#define TK_LOGS 167 -#define TK_MACHINES 168 -#define TK_ENCRYPTIONS 169 -#define TK_QUERIES 170 -#define TK_SCORES 171 -#define TK_TOPICS 172 -#define TK_VARIABLES 173 -#define TK_BNODES 174 -#define TK_SNODES 175 -#define TK_TRANSACTIONS 176 -#define TK_DISTRIBUTED 177 -#define TK_CONSUMERS 178 -#define TK_SUBSCRIPTIONS 179 -#define TK_VNODES 180 -#define TK_ALIVE 181 -#define TK_VIEWS 182 -#define TK_VIEW 183 -#define TK_COMPACTS 184 -#define TK_NORMAL 185 -#define TK_CHILD 186 -#define TK_LIKE 187 -#define TK_TBNAME 188 -#define TK_QTAGS 189 -#define TK_AS 190 -#define TK_SYSTEM 191 -#define TK_TSMA 192 -#define TK_INTERVAL 193 -#define TK_RECURSIVE 194 -#define TK_TSMAS 195 -#define TK_FUNCTION 196 -#define TK_INDEX 197 -#define TK_COUNT 198 -#define TK_LAST_ROW 199 -#define TK_META 200 -#define TK_ONLY 201 -#define TK_TOPIC 202 -#define TK_CONSUMER 203 -#define TK_GROUP 204 -#define TK_DESC 205 -#define TK_DESCRIBE 206 -#define TK_RESET 207 -#define TK_QUERY 208 -#define TK_CACHE 209 -#define TK_EXPLAIN 210 -#define TK_ANALYZE 211 -#define TK_VERBOSE 212 -#define TK_NK_BOOL 213 -#define TK_RATIO 214 -#define TK_NK_FLOAT 215 -#define TK_OUTPUTTYPE 216 -#define TK_AGGREGATE 217 -#define TK_BUFSIZE 218 -#define TK_LANGUAGE 219 -#define TK_REPLACE 220 -#define TK_STREAM 221 -#define TK_INTO 222 -#define TK_PAUSE 223 -#define TK_RESUME 224 -#define TK_PRIMARY 225 -#define TK_KEY 226 -#define TK_TRIGGER 227 -#define TK_AT_ONCE 228 -#define TK_WINDOW_CLOSE 229 -#define TK_IGNORE 230 -#define TK_EXPIRED 231 -#define TK_FILL_HISTORY 232 -#define TK_UPDATE 233 -#define TK_SUBTABLE 234 -#define TK_UNTREATED 235 -#define TK_KILL 236 -#define TK_CONNECTION 237 -#define TK_TRANSACTION 238 -#define TK_BALANCE 239 -#define TK_VGROUP 240 -#define TK_LEADER 241 -#define TK_MERGE 242 -#define TK_REDISTRIBUTE 243 -#define TK_SPLIT 244 -#define TK_DELETE 245 -#define TK_INSERT 246 -#define TK_NK_BIN 247 -#define TK_NK_HEX 248 -#define TK_NULL 249 -#define TK_NK_QUESTION 250 -#define TK_NK_ALIAS 251 -#define TK_NK_ARROW 252 -#define TK_ROWTS 253 -#define TK_QSTART 254 -#define TK_QEND 255 -#define TK_QDURATION 256 -#define TK_WSTART 257 -#define TK_WEND 258 -#define TK_WDURATION 259 -#define TK_IROWTS 260 -#define TK_ISFILLED 261 -#define TK_CAST 262 -#define TK_NOW 263 -#define TK_TODAY 264 -#define TK_TIMEZONE 265 -#define TK_CLIENT_VERSION 266 -#define TK_SERVER_VERSION 267 -#define TK_SERVER_STATUS 268 -#define TK_CURRENT_USER 269 -#define TK_CASE 270 -#define TK_WHEN 271 -#define TK_THEN 272 -#define TK_ELSE 273 -#define TK_BETWEEN 274 -#define TK_IS 275 -#define TK_NK_LT 276 -#define TK_NK_GT 277 -#define TK_NK_LE 278 -#define TK_NK_GE 279 -#define TK_NK_NE 280 -#define TK_MATCH 281 -#define TK_NMATCH 282 -#define TK_CONTAINS 283 -#define TK_IN 284 -#define TK_JOIN 285 -#define TK_INNER 286 -#define TK_LEFT 287 -#define TK_RIGHT 288 -#define TK_OUTER 289 -#define TK_SEMI 290 -#define TK_ANTI 291 -#define TK_ASOF 292 -#define TK_WINDOW 293 -#define TK_WINDOW_OFFSET 294 -#define TK_JLIMIT 295 -#define TK_SELECT 296 -#define TK_NK_HINT 297 -#define TK_DISTINCT 298 -#define TK_WHERE 299 -#define TK_PARTITION 300 -#define TK_BY 301 -#define TK_SESSION 302 -#define TK_STATE_WINDOW 303 -#define TK_EVENT_WINDOW 304 -#define TK_COUNT_WINDOW 305 -#define TK_SLIDING 306 -#define TK_FILL 307 -#define TK_VALUE 308 -#define TK_VALUE_F 309 -#define TK_NONE 310 -#define TK_PREV 311 -#define TK_NULL_F 312 -#define TK_LINEAR 313 -#define TK_NEXT 314 -#define TK_HAVING 315 -#define TK_RANGE 316 -#define TK_EVERY 317 -#define TK_ORDER 318 -#define TK_SLIMIT 319 -#define TK_SOFFSET 320 -#define TK_LIMIT 321 -#define TK_OFFSET 322 -#define TK_ASC 323 -#define TK_NULLS 324 -#define TK_ABORT 325 -#define TK_AFTER 326 -#define TK_ATTACH 327 -#define TK_BEFORE 328 -#define TK_BEGIN 329 -#define TK_BITAND 330 -#define TK_BITNOT 331 -#define TK_BITOR 332 -#define TK_BLOCKS 333 -#define TK_CHANGE 334 -#define TK_COMMA 335 -#define TK_CONCAT 336 -#define TK_CONFLICT 337 -#define TK_COPY 338 -#define TK_DEFERRED 339 -#define TK_DELIMITERS 340 -#define TK_DETACH 341 -#define TK_DIVIDE 342 -#define TK_DOT 343 -#define TK_EACH 344 -#define TK_FAIL 345 -#define TK_FILE 346 -#define TK_FOR 347 -#define TK_GLOB 348 -#define TK_ID 349 -#define TK_IMMEDIATE 350 -#define TK_IMPORT 351 -#define TK_INITIALLY 352 -#define TK_INSTEAD 353 -#define TK_ISNULL 354 -#define TK_MODULES 355 -#define TK_NK_BITNOT 356 -#define TK_NK_SEMI 357 -#define TK_NOTNULL 358 -#define TK_OF 359 -#define TK_PLUS 360 -#define TK_PRIVILEGE 361 -#define TK_RAISE 362 -#define TK_RESTRICT 363 -#define TK_ROW 364 -#define TK_STAR 365 -#define TK_STATEMENT 366 -#define TK_STRICT 367 -#define TK_STRING 368 -#define TK_TIMES 369 -#define TK_VALUES 370 -#define TK_VARIABLE 371 -#define TK_WAL 372 -#define TK_ENCODE 373 -#define TK_COMPRESS 374 -#define TK_LEVEL 375 +#define TK_CREATEDB 39 +#define TK_ADD 40 +#define TK_DROP 41 +#define TK_GRANT 42 +#define TK_ON 43 +#define TK_TO 44 +#define TK_REVOKE 45 +#define TK_FROM 46 +#define TK_SUBSCRIBE 47 +#define TK_READ 48 +#define TK_WRITE 49 +#define TK_NK_DOT 50 +#define TK_WITH 51 +#define TK_ENCRYPT_KEY 52 +#define TK_DNODE 53 +#define TK_PORT 54 +#define TK_DNODES 55 +#define TK_RESTORE 56 +#define TK_NK_IPTOKEN 57 +#define TK_FORCE 58 +#define TK_UNSAFE 59 +#define TK_CLUSTER 60 +#define TK_LOCAL 61 +#define TK_QNODE 62 +#define TK_BNODE 63 +#define TK_SNODE 64 +#define TK_MNODE 65 +#define TK_VNODE 66 +#define TK_DATABASE 67 +#define TK_USE 68 +#define TK_FLUSH 69 +#define TK_TRIM 70 +#define TK_S3MIGRATE 71 +#define TK_COMPACT 72 +#define TK_IF 73 +#define TK_NOT 74 +#define TK_EXISTS 75 +#define TK_BUFFER 76 +#define TK_CACHEMODEL 77 +#define TK_CACHESIZE 78 +#define TK_COMP 79 +#define TK_DURATION 80 +#define TK_NK_VARIABLE 81 +#define TK_MAXROWS 82 +#define TK_MINROWS 83 +#define TK_KEEP 84 +#define TK_PAGES 85 +#define TK_PAGESIZE 86 +#define TK_TSDB_PAGESIZE 87 +#define TK_PRECISION 88 +#define TK_REPLICA 89 +#define TK_VGROUPS 90 +#define TK_SINGLE_STABLE 91 +#define TK_RETENTIONS 92 +#define TK_SCHEMALESS 93 +#define TK_WAL_LEVEL 94 +#define TK_WAL_FSYNC_PERIOD 95 +#define TK_WAL_RETENTION_PERIOD 96 +#define TK_WAL_RETENTION_SIZE 97 +#define TK_WAL_ROLL_PERIOD 98 +#define TK_WAL_SEGMENT_SIZE 99 +#define TK_STT_TRIGGER 100 +#define TK_TABLE_PREFIX 101 +#define TK_TABLE_SUFFIX 102 +#define TK_S3_CHUNKSIZE 103 +#define TK_S3_KEEPLOCAL 104 +#define TK_S3_COMPACT 105 +#define TK_KEEP_TIME_OFFSET 106 +#define TK_ENCRYPT_ALGORITHM 107 +#define TK_NK_COLON 108 +#define TK_BWLIMIT 109 +#define TK_START 110 +#define TK_TIMESTAMP 111 +#define TK_END 112 +#define TK_TABLE 113 +#define TK_NK_LP 114 +#define TK_NK_RP 115 +#define TK_STABLE 116 +#define TK_COLUMN 117 +#define TK_MODIFY 118 +#define TK_RENAME 119 +#define TK_TAG 120 +#define TK_SET 121 +#define TK_NK_EQ 122 +#define TK_USING 123 +#define TK_TAGS 124 +#define TK_BOOL 125 +#define TK_TINYINT 126 +#define TK_SMALLINT 127 +#define TK_INT 128 +#define TK_INTEGER 129 +#define TK_BIGINT 130 +#define TK_FLOAT 131 +#define TK_DOUBLE 132 +#define TK_BINARY 133 +#define TK_NCHAR 134 +#define TK_UNSIGNED 135 +#define TK_JSON 136 +#define TK_VARCHAR 137 +#define TK_MEDIUMBLOB 138 +#define TK_BLOB 139 +#define TK_VARBINARY 140 +#define TK_GEOMETRY 141 +#define TK_DECIMAL 142 +#define TK_COMMENT 143 +#define TK_MAX_DELAY 144 +#define TK_WATERMARK 145 +#define TK_ROLLUP 146 +#define TK_TTL 147 +#define TK_SMA 148 +#define TK_DELETE_MARK 149 +#define TK_FIRST 150 +#define TK_LAST 151 +#define TK_SHOW 152 +#define TK_PRIVILEGES 153 +#define TK_DATABASES 154 +#define TK_TABLES 155 +#define TK_STABLES 156 +#define TK_MNODES 157 +#define TK_QNODES 158 +#define TK_ARBGROUPS 159 +#define TK_FUNCTIONS 160 +#define TK_INDEXES 161 +#define TK_ACCOUNTS 162 +#define TK_APPS 163 +#define TK_CONNECTIONS 164 +#define TK_LICENCES 165 +#define TK_GRANTS 166 +#define TK_FULL 167 +#define TK_LOGS 168 +#define TK_MACHINES 169 +#define TK_ENCRYPTIONS 170 +#define TK_QUERIES 171 +#define TK_SCORES 172 +#define TK_TOPICS 173 +#define TK_VARIABLES 174 +#define TK_BNODES 175 +#define TK_SNODES 176 +#define TK_TRANSACTIONS 177 +#define TK_DISTRIBUTED 178 +#define TK_CONSUMERS 179 +#define TK_SUBSCRIPTIONS 180 +#define TK_VNODES 181 +#define TK_ALIVE 182 +#define TK_VIEWS 183 +#define TK_VIEW 184 +#define TK_COMPACTS 185 +#define TK_NORMAL 186 +#define TK_CHILD 187 +#define TK_LIKE 188 +#define TK_TBNAME 189 +#define TK_QTAGS 190 +#define TK_AS 191 +#define TK_SYSTEM 192 +#define TK_TSMA 193 +#define TK_INTERVAL 194 +#define TK_RECURSIVE 195 +#define TK_TSMAS 196 +#define TK_FUNCTION 197 +#define TK_INDEX 198 +#define TK_COUNT 199 +#define TK_LAST_ROW 200 +#define TK_META 201 +#define TK_ONLY 202 +#define TK_TOPIC 203 +#define TK_CONSUMER 204 +#define TK_GROUP 205 +#define TK_DESC 206 +#define TK_DESCRIBE 207 +#define TK_RESET 208 +#define TK_QUERY 209 +#define TK_CACHE 210 +#define TK_EXPLAIN 211 +#define TK_ANALYZE 212 +#define TK_VERBOSE 213 +#define TK_NK_BOOL 214 +#define TK_RATIO 215 +#define TK_NK_FLOAT 216 +#define TK_OUTPUTTYPE 217 +#define TK_AGGREGATE 218 +#define TK_BUFSIZE 219 +#define TK_LANGUAGE 220 +#define TK_REPLACE 221 +#define TK_STREAM 222 +#define TK_INTO 223 +#define TK_PAUSE 224 +#define TK_RESUME 225 +#define TK_PRIMARY 226 +#define TK_KEY 227 +#define TK_TRIGGER 228 +#define TK_AT_ONCE 229 +#define TK_WINDOW_CLOSE 230 +#define TK_IGNORE 231 +#define TK_EXPIRED 232 +#define TK_FILL_HISTORY 233 +#define TK_UPDATE 234 +#define TK_SUBTABLE 235 +#define TK_UNTREATED 236 +#define TK_KILL 237 +#define TK_CONNECTION 238 +#define TK_TRANSACTION 239 +#define TK_BALANCE 240 +#define TK_VGROUP 241 +#define TK_LEADER 242 +#define TK_MERGE 243 +#define TK_REDISTRIBUTE 244 +#define TK_SPLIT 245 +#define TK_DELETE 246 +#define TK_INSERT 247 +#define TK_NK_BIN 248 +#define TK_NK_HEX 249 +#define TK_NULL 250 +#define TK_NK_QUESTION 251 +#define TK_NK_ALIAS 252 +#define TK_NK_ARROW 253 +#define TK_ROWTS 254 +#define TK_QSTART 255 +#define TK_QEND 256 +#define TK_QDURATION 257 +#define TK_WSTART 258 +#define TK_WEND 259 +#define TK_WDURATION 260 +#define TK_IROWTS 261 +#define TK_ISFILLED 262 +#define TK_CAST 263 +#define TK_NOW 264 +#define TK_TODAY 265 +#define TK_TIMEZONE 266 +#define TK_CLIENT_VERSION 267 +#define TK_SERVER_VERSION 268 +#define TK_SERVER_STATUS 269 +#define TK_CURRENT_USER 270 +#define TK_CASE 271 +#define TK_WHEN 272 +#define TK_THEN 273 +#define TK_ELSE 274 +#define TK_BETWEEN 275 +#define TK_IS 276 +#define TK_NK_LT 277 +#define TK_NK_GT 278 +#define TK_NK_LE 279 +#define TK_NK_GE 280 +#define TK_NK_NE 281 +#define TK_MATCH 282 +#define TK_NMATCH 283 +#define TK_CONTAINS 284 +#define TK_IN 285 +#define TK_JOIN 286 +#define TK_INNER 287 +#define TK_LEFT 288 +#define TK_RIGHT 289 +#define TK_OUTER 290 +#define TK_SEMI 291 +#define TK_ANTI 292 +#define TK_ASOF 293 +#define TK_WINDOW 294 +#define TK_WINDOW_OFFSET 295 +#define TK_JLIMIT 296 +#define TK_SELECT 297 +#define TK_NK_HINT 298 +#define TK_DISTINCT 299 +#define TK_WHERE 300 +#define TK_PARTITION 301 +#define TK_BY 302 +#define TK_SESSION 303 +#define TK_STATE_WINDOW 304 +#define TK_EVENT_WINDOW 305 +#define TK_COUNT_WINDOW 306 +#define TK_SLIDING 307 +#define TK_FILL 308 +#define TK_VALUE 309 +#define TK_VALUE_F 310 +#define TK_NONE 311 +#define TK_PREV 312 +#define TK_NULL_F 313 +#define TK_LINEAR 314 +#define TK_NEXT 315 +#define TK_HAVING 316 +#define TK_RANGE 317 +#define TK_EVERY 318 +#define TK_ORDER 319 +#define TK_SLIMIT 320 +#define TK_SOFFSET 321 +#define TK_LIMIT 322 +#define TK_OFFSET 323 +#define TK_ASC 324 +#define TK_NULLS 325 +#define TK_ABORT 326 +#define TK_AFTER 327 +#define TK_ATTACH 328 +#define TK_BEFORE 329 +#define TK_BEGIN 330 +#define TK_BITAND 331 +#define TK_BITNOT 332 +#define TK_BITOR 333 +#define TK_BLOCKS 334 +#define TK_CHANGE 335 +#define TK_COMMA 336 +#define TK_CONCAT 337 +#define TK_CONFLICT 338 +#define TK_COPY 339 +#define TK_DEFERRED 340 +#define TK_DELIMITERS 341 +#define TK_DETACH 342 +#define TK_DIVIDE 343 +#define TK_DOT 344 +#define TK_EACH 345 +#define TK_FAIL 346 +#define TK_FILE 347 +#define TK_FOR 348 +#define TK_GLOB 349 +#define TK_ID 350 +#define TK_IMMEDIATE 351 +#define TK_IMPORT 352 +#define TK_INITIALLY 353 +#define TK_INSTEAD 354 +#define TK_ISNULL 355 +#define TK_MODULES 356 +#define TK_NK_BITNOT 357 +#define TK_NK_SEMI 358 +#define TK_NOTNULL 359 +#define TK_OF 360 +#define TK_PLUS 361 +#define TK_PRIVILEGE 362 +#define TK_RAISE 363 +#define TK_RESTRICT 364 +#define TK_ROW 365 +#define TK_STAR 366 +#define TK_STATEMENT 367 +#define TK_STRICT 368 +#define TK_STRING 369 +#define TK_TIMES 370 +#define TK_VALUES 371 +#define TK_VARIABLE 372 +#define TK_WAL 373 +#define TK_ENCODE 374 +#define TK_COMPRESS 375 +#define TK_LEVEL 376 #define TK_NK_SPACE 600 #define TK_NK_COMMENT 601 diff --git a/include/libs/nodes/cmdnodes.h b/include/libs/nodes/cmdnodes.h index c2e5be96ad..112411d524 100644 --- a/include/libs/nodes/cmdnodes.h +++ b/include/libs/nodes/cmdnodes.h @@ -271,6 +271,7 @@ typedef struct SAlterUserStmt { char password[TSDB_USET_PASSWORD_LEN]; int8_t enable; int8_t sysinfo; + int8_t createdb; int32_t numIpRanges; SIpV4Range* pIpRanges; diff --git a/source/common/src/systable.c b/source/common/src/systable.c index 9de682dd3a..be51c9c5da 100644 --- a/source/common/src/systable.c +++ b/source/common/src/systable.c @@ -256,6 +256,7 @@ static const SSysDbTableSchema userUsersSchema[] = { {.name = "super", .bytes = 1, .type = TSDB_DATA_TYPE_TINYINT, .sysInfo = true}, {.name = "enable", .bytes = 1, .type = TSDB_DATA_TYPE_TINYINT, .sysInfo = true}, {.name = "sysinfo", .bytes = 1, .type = TSDB_DATA_TYPE_TINYINT, .sysInfo = true}, + {.name = "createdb", .bytes = 1, .type = TSDB_DATA_TYPE_TINYINT, .sysInfo = true}, {.name = "create_time", .bytes = 8, .type = TSDB_DATA_TYPE_TIMESTAMP, .sysInfo = true}, {.name = "allowed_host", .bytes = TSDB_PRIVILEDGE_HOST_LEN + VARSTR_HEADER_SIZE, .type = TSDB_DATA_TYPE_VARCHAR, .sysInfo = true}, }; diff --git a/source/common/src/tmsg.c b/source/common/src/tmsg.c index b7d1417451..cf537a0477 100644 --- a/source/common/src/tmsg.c +++ b/source/common/src/tmsg.c @@ -1784,6 +1784,7 @@ int32_t tSerializeSAlterUserReq(void *buf, int32_t bufLen, SAlterUserReq *pReq) } if (tEncodeI64(&encoder, pReq->privileges) < 0) return -1; ENCODESQL(); + if (tEncodeI8(&encoder, pReq->flag) < 0) return -1; tEndEncode(&encoder); int32_t tlen = encoder.pos; @@ -1823,6 +1824,9 @@ int32_t tDeserializeSAlterUserReq(void *buf, int32_t bufLen, SAlterUserReq *pReq } if (tDecodeI64(&decoder, &pReq->privileges) < 0) return -1; DECODESQL(); + if (!tDecodeIsEnd(&decoder)) { + if (tDecodeI8(&decoder, &pReq->flag) < 0) return -1; + } tEndDecode(&decoder); tDecoderClear(&decoder); diff --git a/source/dnode/mnode/impl/inc/mndDef.h b/source/dnode/mnode/impl/inc/mndDef.h index 68c55e235f..2f4efc2db7 100644 --- a/source/dnode/mnode/impl/inc/mndDef.h +++ b/source/dnode/mnode/impl/inc/mndDef.h @@ -321,15 +321,21 @@ typedef struct { } SAcctObj; typedef struct { - char user[TSDB_USER_LEN]; - char pass[TSDB_PASSWORD_LEN]; - char acct[TSDB_USER_LEN]; - int64_t createdTime; - int64_t updateTime; - int8_t superUser; - int8_t sysInfo; - int8_t enable; - int8_t reserve; + char user[TSDB_USER_LEN]; + char pass[TSDB_PASSWORD_LEN]; + char acct[TSDB_USER_LEN]; + int64_t createdTime; + int64_t updateTime; + int8_t superUser; + int8_t sysInfo; + int8_t enable; + union { + int8_t flag; + struct { + int8_t createdb : 1; + int8_t reserve : 7; + }; + }; int32_t acctId; int32_t authVersion; int32_t passVersion; diff --git a/source/dnode/mnode/impl/src/mndUser.c b/source/dnode/mnode/impl/src/mndUser.c index 8a2313370a..378a90ded9 100644 --- a/source/dnode/mnode/impl/src/mndUser.c +++ b/source/dnode/mnode/impl/src/mndUser.c @@ -644,6 +644,7 @@ static int32_t mndCreateDefaultUser(SMnode *pMnode, char *acct, char *user, char userObj.updateTime = userObj.createdTime; userObj.sysInfo = 1; userObj.enable = 1; + userObj.createdb = 1; userObj.ipWhiteListVer = taosGetTimestampMs(); userObj.pIpWhiteList = createDefaultIpWhiteList(); if (strcmp(user, TSDB_DEFAULT_USER) == 0) { @@ -817,7 +818,7 @@ SSdbRaw *mndUserActionEncode(SUserObj *pUser) { SDB_SET_INT8(pRaw, dataPos, pUser->superUser, _OVER) SDB_SET_INT8(pRaw, dataPos, pUser->sysInfo, _OVER) SDB_SET_INT8(pRaw, dataPos, pUser->enable, _OVER) - SDB_SET_INT8(pRaw, dataPos, pUser->reserve, _OVER) + SDB_SET_INT8(pRaw, dataPos, pUser->flag, _OVER) SDB_SET_INT32(pRaw, dataPos, pUser->authVersion, _OVER) SDB_SET_INT32(pRaw, dataPos, pUser->passVersion, _OVER) SDB_SET_INT32(pRaw, dataPos, numOfReadDbs, _OVER) @@ -1001,7 +1002,7 @@ static SSdbRow *mndUserActionDecode(SSdbRaw *pRaw) { SDB_GET_INT8(pRaw, dataPos, &pUser->superUser, _OVER) SDB_GET_INT8(pRaw, dataPos, &pUser->sysInfo, _OVER) SDB_GET_INT8(pRaw, dataPos, &pUser->enable, _OVER) - SDB_GET_INT8(pRaw, dataPos, &pUser->reserve, _OVER) + SDB_GET_INT8(pRaw, dataPos, &pUser->flag, _OVER) SDB_GET_INT32(pRaw, dataPos, &pUser->authVersion, _OVER) if (sver >= 4) { SDB_GET_INT32(pRaw, dataPos, &pUser->passVersion, _OVER) @@ -1395,6 +1396,7 @@ static int32_t mndUserActionUpdate(SSdb *pSdb, SUserObj *pOld, SUserObj *pNew) { pOld->passVersion = pNew->passVersion; pOld->sysInfo = pNew->sysInfo; pOld->enable = pNew->enable; + pOld->flag = pNew->flag; memcpy(pOld->pass, pNew->pass, TSDB_PASSWORD_LEN); TSWAP(pOld->readDbs, pNew->readDbs); TSWAP(pOld->writeDbs, pNew->writeDbs); @@ -1445,6 +1447,7 @@ static int32_t mndCreateUser(SMnode *pMnode, char *acct, SCreateUserReq *pCreate userObj.superUser = 0; // pCreate->superUser; userObj.sysInfo = pCreate->sysInfo; userObj.enable = pCreate->enable; + userObj.createdb = 0; if (pCreate->numIpRanges == 0) { userObj.pIpWhiteList = createDefaultIpWhiteList(); @@ -1790,6 +1793,9 @@ static char *mndUserAuditTypeStr(int32_t type) { if (type == TSDB_ALTER_USER_SYSINFO) { return "userSysInfo"; } + if (type == TSDB_ALTER_USER_CREATEDB) { + return "userCreateDB"; + } return "error"; } @@ -2009,6 +2015,10 @@ static int32_t mndProcessAlterUserReq(SRpcMsg *pReq) { newUser.sysInfo = alterReq.sysInfo; } + if(alterReq.alterType == TSDB_ALTER_USER_CREATEDB) { + newUser.createdb = alterReq.createdb; + } + if (ALTER_USER_ADD_PRIVS(alterReq.alterType) || ALTER_USER_DEL_PRIVS(alterReq.alterType)) { if (0 != mndProcessAlterUserPrivilegesReq(&alterReq, pMnode, &newUser)) goto _OVER; } @@ -2110,14 +2120,15 @@ static int32_t mndProcessAlterUserReq(SRpcMsg *pReq) { if(alterReq.alterType == TSDB_ALTER_USER_PASSWD){ char detail[1000] = {0}; - sprintf(detail, "alterType:%s, enable:%d, superUser:%d, sysInfo:%d, tabName:%s, password:xxx", + sprintf(detail, "alterType:%s, enable:%d, superUser:%d, sysInfo:%d, createdb:%d, tabName:%s, password:xxx", mndUserAuditTypeStr(alterReq.alterType), alterReq.enable, alterReq.superUser, alterReq.sysInfo, - alterReq.tabName); + alterReq.createdb ? 1 : 0, alterReq.tabName); auditRecord(pReq, pMnode->clusterId, "alterUser", "", alterReq.user, detail, strlen(detail)); } else if(alterReq.alterType == TSDB_ALTER_USER_SUPERUSER || alterReq.alterType == TSDB_ALTER_USER_ENABLE || - alterReq.alterType == TSDB_ALTER_USER_SYSINFO){ + alterReq.alterType == TSDB_ALTER_USER_SYSINFO || + alterReq.alterType == TSDB_ALTER_USER_CREATEDB){ auditRecord(pReq, pMnode->clusterId, "alterUser", "", alterReq.user, alterReq.sql, alterReq.sqlLen); } else if(ALTER_USER_ADD_READ_DB_PRIV(alterReq.alterType, alterReq.privileges, alterReq.tabName)|| @@ -2290,6 +2301,7 @@ static int32_t mndRetrieveUsers(SRpcMsg *pReq, SShowObj *pShow, SSDataBlock *pBl int32_t numOfRows = 0; SUserObj *pUser = NULL; int32_t cols = 0; + int8_t flag = 0; char *pWrite; while (numOfRows < rows) { @@ -2314,6 +2326,11 @@ static int32_t mndRetrieveUsers(SRpcMsg *pReq, SShowObj *pShow, SSDataBlock *pBl pColInfo = taosArrayGet(pBlock->pDataBlock, cols); colDataSetVal(pColInfo, numOfRows, (const char *)&pUser->sysInfo, false); + cols++; + flag = pUser->createdb ? 1 : 0; + pColInfo = taosArrayGet(pBlock->pDataBlock, cols); + colDataSetVal(pColInfo, numOfRows, (const char *)&flag, false); + cols++; pColInfo = taosArrayGet(pBlock->pDataBlock, cols); colDataSetVal(pColInfo, numOfRows, (const char *)&pUser->createdTime, false); diff --git a/source/libs/nodes/src/nodesCodeFuncs.c b/source/libs/nodes/src/nodesCodeFuncs.c index 1aa30b854f..96eb664134 100644 --- a/source/libs/nodes/src/nodesCodeFuncs.c +++ b/source/libs/nodes/src/nodesCodeFuncs.c @@ -6168,6 +6168,7 @@ static const char* jkAlterUserStmtAlterType = "AlterType"; static const char* jkAlterUserStmtPassword = "Password"; static const char* jkAlterUserStmtEnable = "Enable"; static const char* jkAlterUserStmtSysinfo = "Sysinfo"; +static const char* jkAlterUserStmtCreatedb = "Createdb"; static int32_t alterUserStmtToJson(const void* pObj, SJson* pJson) { const SAlterUserStmt* pNode = (const SAlterUserStmt*)pObj; @@ -6185,6 +6186,9 @@ static int32_t alterUserStmtToJson(const void* pObj, SJson* pJson) { if (TSDB_CODE_SUCCESS == code) { code = tjsonAddIntegerToObject(pJson, jkAlterUserStmtSysinfo, pNode->sysinfo); } + if (TSDB_CODE_SUCCESS == code) { + code = tjsonAddIntegerToObject(pJson, jkAlterUserStmtCreatedb, pNode->createdb); + } return code; } @@ -6205,6 +6209,9 @@ static int32_t jsonToAlterUserStmt(const SJson* pJson, void* pObj) { if (TSDB_CODE_SUCCESS == code) { code = tjsonGetTinyIntValue(pJson, jkAlterUserStmtSysinfo, &pNode->sysinfo); } + if (TSDB_CODE_SUCCESS == code) { + code = tjsonGetTinyIntValue(pJson, jkAlterUserStmtCreatedb, &pNode->createdb); + } return code; } diff --git a/source/libs/parser/inc/sql.y b/source/libs/parser/inc/sql.y index 60e33c6f33..5196be93c0 100644 --- a/source/libs/parser/inc/sql.y +++ b/source/libs/parser/inc/sql.y @@ -104,6 +104,7 @@ cmd ::= CREATE USER user_name(A) PASS NK_STRING(B) sysinfo_opt(C) cmd ::= ALTER USER user_name(A) PASS NK_STRING(B). { pCxt->pRootNode = createAlterUserStmt(pCxt, &A, TSDB_ALTER_USER_PASSWD, &B); } cmd ::= ALTER USER user_name(A) ENABLE NK_INTEGER(B). { pCxt->pRootNode = createAlterUserStmt(pCxt, &A, TSDB_ALTER_USER_ENABLE, &B); } cmd ::= ALTER USER user_name(A) SYSINFO NK_INTEGER(B). { pCxt->pRootNode = createAlterUserStmt(pCxt, &A, TSDB_ALTER_USER_SYSINFO, &B); } +cmd ::= ALTER USER user_name(A) CREATEDB NK_INTEGER(B). { pCxt->pRootNode = createAlterUserStmt(pCxt, &A, TSDB_ALTER_USER_CREATEDB, &B); } cmd ::= ALTER USER user_name(A) ADD white_list(B). { pCxt->pRootNode = createAlterUserStmt(pCxt, &A, TSDB_ALTER_USER_ADD_WHITE_LIST, B); } cmd ::= ALTER USER user_name(A) DROP white_list(B). { pCxt->pRootNode = createAlterUserStmt(pCxt, &A, TSDB_ALTER_USER_DROP_WHITE_LIST, B); } cmd ::= DROP USER user_name(A). { pCxt->pRootNode = createDropUserStmt(pCxt, &A); } diff --git a/source/libs/parser/src/parAstCreater.c b/source/libs/parser/src/parAstCreater.c index 5399aa7f09..2af1e11076 100644 --- a/source/libs/parser/src/parAstCreater.c +++ b/source/libs/parser/src/parAstCreater.c @@ -2260,6 +2260,11 @@ SNode* createAlterUserStmt(SAstCreateContext* pCxt, SToken* pUserName, int8_t al pStmt->sysinfo = taosStr2Int8(pVal->z, NULL, 10); break; } + case TSDB_ALTER_USER_CREATEDB: { + SToken* pVal = pAlterInfo; + pStmt->createdb = taosStr2Int8(pVal->z, NULL, 10); + break; + } case TSDB_ALTER_USER_ADD_WHITE_LIST: case TSDB_ALTER_USER_DROP_WHITE_LIST: { SNodeList* pIpRangesNodeList = pAlterInfo; diff --git a/source/libs/parser/src/parTokenizer.c b/source/libs/parser/src/parTokenizer.c index 2d549a4180..326ec092a9 100644 --- a/source/libs/parser/src/parTokenizer.c +++ b/source/libs/parser/src/parTokenizer.c @@ -77,6 +77,7 @@ static SKeyword keywordTable[] = { {"COUNT", TK_COUNT}, {"COUNT_WINDOW", TK_COUNT_WINDOW}, {"CREATE", TK_CREATE}, + {"CREATEDB", TK_CREATEDB}, {"CURRENT_USER", TK_CURRENT_USER}, {"DATABASE", TK_DATABASE}, {"DATABASES", TK_DATABASES}, diff --git a/source/libs/parser/src/parTranslater.c b/source/libs/parser/src/parTranslater.c index 79b37c2950..003255a728 100644 --- a/source/libs/parser/src/parTranslater.c +++ b/source/libs/parser/src/parTranslater.c @@ -8367,6 +8367,7 @@ static int32_t translateAlterUser(STranslateContext* pCxt, SAlterUserStmt* pStmt alterReq.superUser = 0; alterReq.enable = pStmt->enable; alterReq.sysInfo = pStmt->sysinfo; + alterReq.createdb = pStmt->createdb ? 1 : 0; snprintf(alterReq.pass, sizeof(alterReq.pass), "%s", pStmt->password); if (NULL != pCxt->pParseCxt->db) { snprintf(alterReq.objname, sizeof(alterReq.objname), "%s", pCxt->pParseCxt->db); diff --git a/source/libs/parser/src/sql.c b/source/libs/parser/src/sql.c index 52dd135cd3..860fb23bcb 100644 --- a/source/libs/parser/src/sql.c +++ b/source/libs/parser/src/sql.c @@ -1,5 +1,3 @@ -/* This file is automatically generated by Lemon from input grammar -** source file "sql.y". */ /* ** 2000-05-29 ** @@ -24,7 +22,10 @@ ** The following is the concatenation of all %include directives from the ** input grammar file: */ +#include +#include /************ Begin %include sections from the grammar ************************/ + #include #include #include @@ -41,386 +42,11 @@ #define YYSTACKDEPTH 0 /**************** End of %include directives **********************************/ -/* These constants specify the various numeric values for terminal symbols. -***************** Begin token definitions *************************************/ -#ifndef TK_OR -#define TK_OR 1 -#define TK_AND 2 -#define TK_UNION 3 -#define TK_ALL 4 -#define TK_MINUS 5 -#define TK_EXCEPT 6 -#define TK_INTERSECT 7 -#define TK_NK_BITAND 8 -#define TK_NK_BITOR 9 -#define TK_NK_LSHIFT 10 -#define TK_NK_RSHIFT 11 -#define TK_NK_PLUS 12 -#define TK_NK_MINUS 13 -#define TK_NK_STAR 14 -#define TK_NK_SLASH 15 -#define TK_NK_REM 16 -#define TK_NK_CONCAT 17 -#define TK_CREATE 18 -#define TK_ACCOUNT 19 -#define TK_NK_ID 20 -#define TK_PASS 21 -#define TK_NK_STRING 22 -#define TK_ALTER 23 -#define TK_PPS 24 -#define TK_TSERIES 25 -#define TK_STORAGE 26 -#define TK_STREAMS 27 -#define TK_QTIME 28 -#define TK_DBS 29 -#define TK_USERS 30 -#define TK_CONNS 31 -#define TK_STATE 32 -#define TK_NK_COMMA 33 -#define TK_HOST 34 -#define TK_USER 35 -#define TK_ENABLE 36 -#define TK_NK_INTEGER 37 -#define TK_SYSINFO 38 -#define TK_ADD 39 -#define TK_DROP 40 -#define TK_GRANT 41 -#define TK_ON 42 -#define TK_TO 43 -#define TK_REVOKE 44 -#define TK_FROM 45 -#define TK_SUBSCRIBE 46 -#define TK_READ 47 -#define TK_WRITE 48 -#define TK_NK_DOT 49 -#define TK_WITH 50 -#define TK_ENCRYPT_KEY 51 -#define TK_DNODE 52 -#define TK_PORT 53 -#define TK_DNODES 54 -#define TK_RESTORE 55 -#define TK_NK_IPTOKEN 56 -#define TK_FORCE 57 -#define TK_UNSAFE 58 -#define TK_CLUSTER 59 -#define TK_LOCAL 60 -#define TK_QNODE 61 -#define TK_BNODE 62 -#define TK_SNODE 63 -#define TK_MNODE 64 -#define TK_VNODE 65 -#define TK_DATABASE 66 -#define TK_USE 67 -#define TK_FLUSH 68 -#define TK_TRIM 69 -#define TK_S3MIGRATE 70 -#define TK_COMPACT 71 -#define TK_IF 72 -#define TK_NOT 73 -#define TK_EXISTS 74 -#define TK_BUFFER 75 -#define TK_CACHEMODEL 76 -#define TK_CACHESIZE 77 -#define TK_COMP 78 -#define TK_DURATION 79 -#define TK_NK_VARIABLE 80 -#define TK_MAXROWS 81 -#define TK_MINROWS 82 -#define TK_KEEP 83 -#define TK_PAGES 84 -#define TK_PAGESIZE 85 -#define TK_TSDB_PAGESIZE 86 -#define TK_PRECISION 87 -#define TK_REPLICA 88 -#define TK_VGROUPS 89 -#define TK_SINGLE_STABLE 90 -#define TK_RETENTIONS 91 -#define TK_SCHEMALESS 92 -#define TK_WAL_LEVEL 93 -#define TK_WAL_FSYNC_PERIOD 94 -#define TK_WAL_RETENTION_PERIOD 95 -#define TK_WAL_RETENTION_SIZE 96 -#define TK_WAL_ROLL_PERIOD 97 -#define TK_WAL_SEGMENT_SIZE 98 -#define TK_STT_TRIGGER 99 -#define TK_TABLE_PREFIX 100 -#define TK_TABLE_SUFFIX 101 -#define TK_S3_CHUNKSIZE 102 -#define TK_S3_KEEPLOCAL 103 -#define TK_S3_COMPACT 104 -#define TK_KEEP_TIME_OFFSET 105 -#define TK_ENCRYPT_ALGORITHM 106 -#define TK_NK_COLON 107 -#define TK_BWLIMIT 108 -#define TK_START 109 -#define TK_TIMESTAMP 110 -#define TK_END 111 -#define TK_TABLE 112 -#define TK_NK_LP 113 -#define TK_NK_RP 114 -#define TK_STABLE 115 -#define TK_COLUMN 116 -#define TK_MODIFY 117 -#define TK_RENAME 118 -#define TK_TAG 119 -#define TK_SET 120 -#define TK_NK_EQ 121 -#define TK_USING 122 -#define TK_TAGS 123 -#define TK_BOOL 124 -#define TK_TINYINT 125 -#define TK_SMALLINT 126 -#define TK_INT 127 -#define TK_INTEGER 128 -#define TK_BIGINT 129 -#define TK_FLOAT 130 -#define TK_DOUBLE 131 -#define TK_BINARY 132 -#define TK_NCHAR 133 -#define TK_UNSIGNED 134 -#define TK_JSON 135 -#define TK_VARCHAR 136 -#define TK_MEDIUMBLOB 137 -#define TK_BLOB 138 -#define TK_VARBINARY 139 -#define TK_GEOMETRY 140 -#define TK_DECIMAL 141 -#define TK_COMMENT 142 -#define TK_MAX_DELAY 143 -#define TK_WATERMARK 144 -#define TK_ROLLUP 145 -#define TK_TTL 146 -#define TK_SMA 147 -#define TK_DELETE_MARK 148 -#define TK_FIRST 149 -#define TK_LAST 150 -#define TK_SHOW 151 -#define TK_PRIVILEGES 152 -#define TK_DATABASES 153 -#define TK_TABLES 154 -#define TK_STABLES 155 -#define TK_MNODES 156 -#define TK_QNODES 157 -#define TK_ARBGROUPS 158 -#define TK_FUNCTIONS 159 -#define TK_INDEXES 160 -#define TK_ACCOUNTS 161 -#define TK_APPS 162 -#define TK_CONNECTIONS 163 -#define TK_LICENCES 164 -#define TK_GRANTS 165 -#define TK_FULL 166 -#define TK_LOGS 167 -#define TK_MACHINES 168 -#define TK_ENCRYPTIONS 169 -#define TK_QUERIES 170 -#define TK_SCORES 171 -#define TK_TOPICS 172 -#define TK_VARIABLES 173 -#define TK_BNODES 174 -#define TK_SNODES 175 -#define TK_TRANSACTIONS 176 -#define TK_DISTRIBUTED 177 -#define TK_CONSUMERS 178 -#define TK_SUBSCRIPTIONS 179 -#define TK_VNODES 180 -#define TK_ALIVE 181 -#define TK_VIEWS 182 -#define TK_VIEW 183 -#define TK_COMPACTS 184 -#define TK_NORMAL 185 -#define TK_CHILD 186 -#define TK_LIKE 187 -#define TK_TBNAME 188 -#define TK_QTAGS 189 -#define TK_AS 190 -#define TK_SYSTEM 191 -#define TK_TSMA 192 -#define TK_INTERVAL 193 -#define TK_RECURSIVE 194 -#define TK_TSMAS 195 -#define TK_FUNCTION 196 -#define TK_INDEX 197 -#define TK_COUNT 198 -#define TK_LAST_ROW 199 -#define TK_META 200 -#define TK_ONLY 201 -#define TK_TOPIC 202 -#define TK_CONSUMER 203 -#define TK_GROUP 204 -#define TK_DESC 205 -#define TK_DESCRIBE 206 -#define TK_RESET 207 -#define TK_QUERY 208 -#define TK_CACHE 209 -#define TK_EXPLAIN 210 -#define TK_ANALYZE 211 -#define TK_VERBOSE 212 -#define TK_NK_BOOL 213 -#define TK_RATIO 214 -#define TK_NK_FLOAT 215 -#define TK_OUTPUTTYPE 216 -#define TK_AGGREGATE 217 -#define TK_BUFSIZE 218 -#define TK_LANGUAGE 219 -#define TK_REPLACE 220 -#define TK_STREAM 221 -#define TK_INTO 222 -#define TK_PAUSE 223 -#define TK_RESUME 224 -#define TK_PRIMARY 225 -#define TK_KEY 226 -#define TK_TRIGGER 227 -#define TK_AT_ONCE 228 -#define TK_WINDOW_CLOSE 229 -#define TK_IGNORE 230 -#define TK_EXPIRED 231 -#define TK_FILL_HISTORY 232 -#define TK_UPDATE 233 -#define TK_SUBTABLE 234 -#define TK_UNTREATED 235 -#define TK_KILL 236 -#define TK_CONNECTION 237 -#define TK_TRANSACTION 238 -#define TK_BALANCE 239 -#define TK_VGROUP 240 -#define TK_LEADER 241 -#define TK_MERGE 242 -#define TK_REDISTRIBUTE 243 -#define TK_SPLIT 244 -#define TK_DELETE 245 -#define TK_INSERT 246 -#define TK_NK_BIN 247 -#define TK_NK_HEX 248 -#define TK_NULL 249 -#define TK_NK_QUESTION 250 -#define TK_NK_ALIAS 251 -#define TK_NK_ARROW 252 -#define TK_ROWTS 253 -#define TK_QSTART 254 -#define TK_QEND 255 -#define TK_QDURATION 256 -#define TK_WSTART 257 -#define TK_WEND 258 -#define TK_WDURATION 259 -#define TK_IROWTS 260 -#define TK_ISFILLED 261 -#define TK_CAST 262 -#define TK_NOW 263 -#define TK_TODAY 264 -#define TK_TIMEZONE 265 -#define TK_CLIENT_VERSION 266 -#define TK_SERVER_VERSION 267 -#define TK_SERVER_STATUS 268 -#define TK_CURRENT_USER 269 -#define TK_CASE 270 -#define TK_WHEN 271 -#define TK_THEN 272 -#define TK_ELSE 273 -#define TK_BETWEEN 274 -#define TK_IS 275 -#define TK_NK_LT 276 -#define TK_NK_GT 277 -#define TK_NK_LE 278 -#define TK_NK_GE 279 -#define TK_NK_NE 280 -#define TK_MATCH 281 -#define TK_NMATCH 282 -#define TK_CONTAINS 283 -#define TK_IN 284 -#define TK_JOIN 285 -#define TK_INNER 286 -#define TK_LEFT 287 -#define TK_RIGHT 288 -#define TK_OUTER 289 -#define TK_SEMI 290 -#define TK_ANTI 291 -#define TK_ASOF 292 -#define TK_WINDOW 293 -#define TK_WINDOW_OFFSET 294 -#define TK_JLIMIT 295 -#define TK_SELECT 296 -#define TK_NK_HINT 297 -#define TK_DISTINCT 298 -#define TK_WHERE 299 -#define TK_PARTITION 300 -#define TK_BY 301 -#define TK_SESSION 302 -#define TK_STATE_WINDOW 303 -#define TK_EVENT_WINDOW 304 -#define TK_COUNT_WINDOW 305 -#define TK_SLIDING 306 -#define TK_FILL 307 -#define TK_VALUE 308 -#define TK_VALUE_F 309 -#define TK_NONE 310 -#define TK_PREV 311 -#define TK_NULL_F 312 -#define TK_LINEAR 313 -#define TK_NEXT 314 -#define TK_HAVING 315 -#define TK_RANGE 316 -#define TK_EVERY 317 -#define TK_ORDER 318 -#define TK_SLIMIT 319 -#define TK_SOFFSET 320 -#define TK_LIMIT 321 -#define TK_OFFSET 322 -#define TK_ASC 323 -#define TK_NULLS 324 -#define TK_ABORT 325 -#define TK_AFTER 326 -#define TK_ATTACH 327 -#define TK_BEFORE 328 -#define TK_BEGIN 329 -#define TK_BITAND 330 -#define TK_BITNOT 331 -#define TK_BITOR 332 -#define TK_BLOCKS 333 -#define TK_CHANGE 334 -#define TK_COMMA 335 -#define TK_CONCAT 336 -#define TK_CONFLICT 337 -#define TK_COPY 338 -#define TK_DEFERRED 339 -#define TK_DELIMITERS 340 -#define TK_DETACH 341 -#define TK_DIVIDE 342 -#define TK_DOT 343 -#define TK_EACH 344 -#define TK_FAIL 345 -#define TK_FILE 346 -#define TK_FOR 347 -#define TK_GLOB 348 -#define TK_ID 349 -#define TK_IMMEDIATE 350 -#define TK_IMPORT 351 -#define TK_INITIALLY 352 -#define TK_INSTEAD 353 -#define TK_ISNULL 354 -#define TK_MODULES 355 -#define TK_NK_BITNOT 356 -#define TK_NK_SEMI 357 -#define TK_NOTNULL 358 -#define TK_OF 359 -#define TK_PLUS 360 -#define TK_PRIVILEGE 361 -#define TK_RAISE 362 -#define TK_RESTRICT 363 -#define TK_ROW 364 -#define TK_STAR 365 -#define TK_STATEMENT 366 -#define TK_STRICT 367 -#define TK_STRING 368 -#define TK_TIMES 369 -#define TK_VALUES 370 -#define TK_VARIABLE 371 -#define TK_WAL 372 -#define TK_ENCODE 373 -#define TK_COMPRESS 374 -#define TK_LEVEL 375 -#endif -/**************** End token definitions ***************************************/ +/* These constants specify the various numeric values for terminal symbols +** in a format understandable to "makeheaders". This section is blank unless +** "lemon" is run with the "-m" command-line option. +***************** Begin makeheaders token definitions *************************/ +/**************** End makeheaders token definitions ***************************/ /* The next sections is a series of control #defines. ** various aspects of the generated parser. @@ -478,30 +104,30 @@ #endif /************* Begin control #defines *****************************************/ #define YYCODETYPE unsigned short int -#define YYNOCODE 554 +#define YYNOCODE 555 #define YYACTIONTYPE unsigned short int #define ParseTOKENTYPE SToken typedef union { int yyinit; ParseTOKENTYPE yy0; - EFillMode yy6; - SShowTablesOption yy125; - SAlterOption yy145; - EShowKind yy245; - ENullOrder yy273; - EOperatorType yy292; - SDataType yy400; - EJoinType yy564; - SNode* yy600; - SToken yy649; - int8_t yy663; - bool yy705; - SNodeList* yy748; - int32_t yy756; - EJoinSubType yy758; - STokenPair yy781; - int64_t yy941; - EOrder yy1010; + SNodeList* yy34; + EShowKind yy39; + int32_t yy100; + EJoinType yy162; + int8_t yy323; + SShowTablesOption yy397; + bool yy437; + EOperatorType yy440; + EJoinSubType yy444; + SNode* yy452; + SAlterOption yy455; + SToken yy479; + EOrder yy548; + int64_t yy579; + STokenPair yy687; + ENullOrder yy817; + SDataType yy874; + EFillMode yy984; } YYMINORTYPE; #ifndef YYSTACKDEPTH #define YYSTACKDEPTH 100 @@ -517,18 +143,18 @@ typedef union { #define ParseCTX_FETCH #define ParseCTX_STORE #define YYFALLBACK 1 -#define YYNSTATE 963 -#define YYNRULE 748 -#define YYNRULE_WITH_ACTION 748 -#define YYNTOKEN 376 -#define YY_MAX_SHIFT 962 -#define YY_MIN_SHIFTREDUCE 1431 -#define YY_MAX_SHIFTREDUCE 2178 -#define YY_ERROR_ACTION 2179 -#define YY_ACCEPT_ACTION 2180 -#define YY_NO_ACTION 2181 -#define YY_MIN_REDUCE 2182 -#define YY_MAX_REDUCE 2929 +#define YYNSTATE 965 +#define YYNRULE 749 +#define YYNRULE_WITH_ACTION 749 +#define YYNTOKEN 377 +#define YY_MAX_SHIFT 964 +#define YY_MIN_SHIFTREDUCE 1433 +#define YY_MAX_SHIFTREDUCE 2181 +#define YY_ERROR_ACTION 2182 +#define YY_ACCEPT_ACTION 2183 +#define YY_NO_ACTION 2184 +#define YY_MIN_REDUCE 2185 +#define YY_MAX_REDUCE 2933 /************* End control #defines *******************************************/ #define YY_NLOOKAHEAD ((int)(sizeof(yy_lookahead)/sizeof(yy_lookahead[0]))) @@ -595,939 +221,951 @@ typedef union { ** yy_default[] Default action for each state. ** *********** Begin parsing tables **********************************************/ -#define YY_ACTTAB_COUNT (3228) +#define YY_ACTTAB_COUNT (3285) static const YYACTIONTYPE yy_action[] = { - /* 0 */ 37, 338, 2538, 2705, 639, 542, 2373, 640, 2225, 190, - /* 10 */ 2680, 315, 47, 45, 2095, 2812, 803, 464, 494, 493, - /* 20 */ 469, 2183, 1916, 2535, 845, 40, 39, 2705, 66, 46, - /* 30 */ 44, 43, 42, 41, 1941, 2004, 1941, 1914, 2684, 2480, - /* 40 */ 838, 2809, 136, 1923, 2723, 135, 134, 133, 132, 131, - /* 50 */ 130, 129, 128, 127, 604, 602, 831, 409, 854, 372, - /* 60 */ 2670, 230, 840, 2368, 417, 33, 1999, 830, 2723, 800, - /* 70 */ 155, 40, 39, 19, 301, 46, 44, 43, 42, 41, - /* 80 */ 1922, 2269, 800, 155, 2670, 210, 840, 724, 136, 2686, - /* 90 */ 2689, 135, 134, 133, 132, 131, 130, 129, 128, 127, - /* 100 */ 859, 2431, 722, 252, 720, 286, 285, 642, 2704, 2233, - /* 110 */ 959, 2743, 2812, 15, 1942, 119, 2706, 844, 2708, 2709, - /* 120 */ 839, 647, 859, 103, 640, 2225, 197, 199, 854, 2797, - /* 130 */ 644, 2139, 2704, 465, 2793, 2743, 641, 62, 2808, 405, - /* 140 */ 2706, 844, 2708, 2709, 839, 837, 859, 823, 2762, 2006, - /* 150 */ 2007, 50, 437, 218, 2511, 753, 932, 931, 930, 929, - /* 160 */ 497, 2844, 928, 927, 160, 922, 921, 920, 919, 918, - /* 170 */ 917, 916, 159, 910, 909, 908, 496, 495, 905, 904, - /* 180 */ 903, 196, 195, 902, 492, 901, 900, 899, 1977, 1987, - /* 190 */ 802, 185, 2805, 2806, 778, 153, 2810, 290, 2005, 2008, - /* 200 */ 800, 155, 1762, 1763, 192, 2805, 799, 579, 147, 798, - /* 210 */ 788, 2663, 578, 1917, 485, 1915, 2895, 9, 2895, 2099, - /* 220 */ 577, 1926, 40, 39, 737, 1941, 46, 44, 43, 42, - /* 230 */ 41, 2360, 2705, 2205, 787, 217, 787, 217, 122, 2896, - /* 240 */ 789, 2896, 789, 1689, 1690, 841, 2388, 487, 2386, 1920, - /* 250 */ 1921, 1974, 777, 1976, 1979, 1980, 1981, 1982, 1983, 1984, - /* 260 */ 1985, 1986, 836, 857, 856, 1998, 2000, 2001, 2002, 2003, - /* 270 */ 2, 47, 45, 2723, 915, 474, 414, 2344, 1939, 469, - /* 280 */ 2723, 1916, 1843, 1844, 2900, 586, 859, 429, 607, 2670, - /* 290 */ 2670, 840, 2895, 606, 2004, 60, 1914, 40, 39, 453, - /* 300 */ 2585, 46, 44, 43, 42, 41, 751, 2014, 734, 1945, - /* 310 */ 565, 2899, 608, 1941, 197, 2896, 2898, 415, 567, 1498, - /* 320 */ 322, 1497, 125, 2805, 2806, 1999, 153, 2810, 180, 545, - /* 330 */ 855, 2384, 19, 662, 322, 2033, 151, 2704, 2387, 1922, - /* 340 */ 2743, 2070, 2512, 773, 119, 2706, 844, 2708, 2709, 839, - /* 350 */ 221, 859, 1471, 776, 157, 1499, 166, 2768, 2797, 2182, - /* 360 */ 40, 39, 465, 2793, 46, 44, 43, 42, 41, 959, - /* 370 */ 438, 1478, 15, 896, 172, 171, 893, 892, 891, 169, - /* 380 */ 1945, 553, 1941, 145, 144, 143, 142, 141, 140, 139, - /* 390 */ 138, 137, 655, 1978, 1473, 1476, 1477, 535, 62, 40, - /* 400 */ 39, 2034, 534, 46, 44, 43, 42, 41, 2006, 2007, - /* 410 */ 659, 2518, 2497, 658, 594, 593, 592, 591, 590, 585, - /* 420 */ 584, 583, 582, 421, 29, 1974, 2070, 572, 571, 570, - /* 430 */ 569, 568, 562, 561, 560, 254, 555, 554, 436, 642, - /* 440 */ 854, 2233, 546, 1750, 1751, 329, 330, 1977, 1987, 1769, - /* 450 */ 328, 754, 779, 774, 767, 763, 1975, 2005, 2008, 2895, - /* 460 */ 2817, 2067, 2068, 2069, 2817, 2817, 2817, 2817, 2817, 2525, - /* 470 */ 2375, 660, 1917, 519, 1915, 62, 898, 2901, 217, 213, - /* 480 */ 738, 1978, 2896, 789, 855, 2384, 855, 2384, 36, 467, - /* 490 */ 2028, 2029, 2030, 2031, 2032, 2036, 2037, 2038, 2039, 2072, - /* 500 */ 2073, 2074, 2075, 2076, 146, 2140, 55, 376, 1920, 1921, - /* 510 */ 1974, 685, 1976, 1979, 1980, 1981, 1982, 1983, 1984, 1985, - /* 520 */ 1986, 836, 857, 856, 1998, 2000, 2001, 2002, 2003, 2, - /* 530 */ 12, 47, 45, 50, 474, 1925, 2705, 2538, 181, 469, - /* 540 */ 1946, 1916, 116, 389, 1975, 859, 2067, 2068, 2069, 803, - /* 550 */ 208, 113, 471, 598, 2004, 1589, 1914, 2170, 2535, 845, - /* 560 */ 387, 76, 649, 2577, 75, 2705, 40, 39, 452, 2585, - /* 570 */ 46, 44, 43, 42, 41, 416, 735, 2723, 841, 2070, - /* 580 */ 2235, 322, 1942, 1922, 2680, 1999, 2900, 250, 621, 619, - /* 590 */ 616, 614, 19, 2670, 2895, 840, 40, 39, 1591, 1922, - /* 600 */ 46, 44, 43, 42, 41, 2490, 2723, 706, 705, 704, - /* 610 */ 523, 1946, 2684, 2899, 696, 152, 700, 2896, 2897, 241, - /* 620 */ 699, 2538, 2670, 656, 840, 698, 703, 446, 445, 959, - /* 630 */ 912, 697, 15, 62, 98, 444, 693, 692, 691, 525, - /* 640 */ 521, 2704, 2536, 845, 2743, 597, 240, 549, 119, 2706, - /* 650 */ 844, 2708, 2709, 839, 795, 859, 855, 2384, 322, 595, - /* 660 */ 199, 2380, 2797, 2686, 2688, 466, 465, 2793, 2006, 2007, - /* 670 */ 2704, 63, 2111, 2743, 859, 2169, 146, 119, 2706, 844, - /* 680 */ 2708, 2709, 839, 690, 859, 12, 2128, 657, 2531, 2915, - /* 690 */ 183, 2797, 2194, 51, 2845, 465, 2793, 914, 2817, 2067, - /* 700 */ 2068, 2069, 2817, 2817, 2817, 2817, 2817, 1977, 1987, 35, - /* 710 */ 1944, 1789, 1790, 1928, 2180, 40, 39, 2005, 2008, 46, - /* 720 */ 44, 43, 42, 41, 2358, 86, 85, 538, 2438, 2439, - /* 730 */ 229, 2092, 1917, 2444, 1915, 46, 44, 43, 42, 41, - /* 740 */ 98, 435, 2623, 530, 528, 770, 769, 2126, 2127, 2129, - /* 750 */ 2130, 2131, 2442, 12, 289, 10, 413, 439, 288, 517, - /* 760 */ 1788, 1791, 513, 509, 505, 502, 531, 2379, 1920, 1921, - /* 770 */ 1974, 1584, 1976, 1979, 1980, 1981, 1982, 1983, 1984, 1985, - /* 780 */ 1986, 836, 857, 856, 1998, 2000, 2001, 2002, 2003, 2, - /* 790 */ 47, 45, 2009, 1498, 2705, 1497, 754, 480, 469, 236, - /* 800 */ 1916, 500, 180, 865, 2895, 889, 499, 841, 2900, 2852, - /* 810 */ 2664, 487, 2386, 2004, 1585, 1914, 322, 489, 2705, 78, - /* 820 */ 2437, 2439, 2901, 217, 1601, 1944, 2812, 2896, 789, 1499, - /* 830 */ 788, 841, 101, 2865, 636, 2723, 1941, 424, 2895, 1600, - /* 840 */ 451, 2444, 726, 634, 1999, 92, 630, 626, 91, 462, - /* 850 */ 211, 2670, 2807, 840, 829, 754, 787, 217, 1922, 2723, - /* 860 */ 2442, 2896, 789, 2895, 855, 2384, 896, 172, 171, 893, - /* 870 */ 892, 891, 169, 89, 474, 2670, 322, 840, 443, 442, - /* 880 */ 320, 2901, 217, 483, 539, 859, 2896, 789, 959, 2463, - /* 890 */ 2371, 48, 896, 172, 171, 893, 892, 891, 169, 2704, - /* 900 */ 1501, 1502, 2743, 3, 2705, 738, 119, 2706, 844, 2708, - /* 910 */ 2709, 839, 609, 859, 1916, 53, 90, 841, 2915, 2163, - /* 920 */ 2797, 855, 2384, 2704, 465, 2793, 2743, 2006, 2007, 1914, - /* 930 */ 119, 2706, 844, 2708, 2709, 839, 824, 859, 2769, 551, - /* 940 */ 2507, 540, 2915, 796, 2797, 2723, 557, 2507, 465, 2793, - /* 950 */ 472, 864, 863, 862, 855, 2384, 441, 440, 179, 687, - /* 960 */ 2444, 2670, 826, 840, 2769, 2705, 1977, 1987, 473, 2389, - /* 970 */ 855, 2384, 1922, 1478, 661, 1885, 2005, 2008, 841, 2442, - /* 980 */ 765, 689, 2366, 855, 2384, 688, 2444, 740, 2577, 297, - /* 990 */ 559, 1917, 232, 1915, 488, 320, 2120, 1476, 1477, 234, - /* 1000 */ 588, 2507, 959, 573, 1978, 2442, 2723, 479, 478, 2704, - /* 1010 */ 62, 2121, 2743, 1945, 681, 680, 187, 2706, 844, 2708, - /* 1020 */ 2709, 839, 2670, 859, 840, 2091, 2204, 1920, 1921, 1974, - /* 1030 */ 2025, 1976, 1979, 1980, 1981, 1982, 1983, 1984, 1985, 1986, - /* 1040 */ 836, 857, 856, 1998, 2000, 2001, 2002, 2003, 2, 47, - /* 1050 */ 45, 2705, 490, 239, 2119, 581, 580, 469, 382, 1916, - /* 1060 */ 179, 1884, 683, 682, 841, 102, 2888, 1975, 855, 2384, - /* 1070 */ 2704, 2389, 2004, 2743, 1914, 790, 2916, 119, 2706, 844, - /* 1080 */ 2708, 2709, 839, 2670, 859, 702, 701, 2705, 574, 2915, - /* 1090 */ 182, 2797, 2723, 482, 481, 465, 2793, 1605, 2318, 1817, - /* 1100 */ 841, 2203, 2829, 1999, 1650, 1917, 2388, 1915, 2670, 533, - /* 1110 */ 840, 532, 1604, 111, 14, 13, 2202, 1922, 1641, 888, - /* 1120 */ 887, 886, 1645, 885, 1647, 1648, 884, 881, 2723, 1656, - /* 1130 */ 878, 1658, 1659, 875, 872, 869, 2195, 855, 2384, 2377, - /* 1140 */ 2319, 1920, 1921, 531, 2670, 117, 840, 959, 2705, 2899, - /* 1150 */ 48, 2035, 855, 2384, 855, 2384, 2704, 575, 2670, 2743, - /* 1160 */ 2359, 841, 158, 119, 2706, 844, 2708, 2709, 839, 376, - /* 1170 */ 859, 2376, 2381, 2670, 292, 2915, 2201, 2797, 855, 2384, - /* 1180 */ 190, 465, 2793, 212, 148, 611, 2006, 2007, 1480, 2723, - /* 1190 */ 855, 2384, 2704, 322, 1940, 2743, 88, 2200, 300, 119, - /* 1200 */ 2706, 844, 2708, 2709, 839, 2670, 859, 840, 855, 2384, - /* 1210 */ 806, 2915, 2199, 2797, 494, 493, 2198, 465, 2793, 2197, - /* 1220 */ 855, 2384, 855, 2384, 1930, 1977, 1987, 2047, 333, 855, - /* 1230 */ 2384, 2586, 898, 2670, 2858, 2005, 2008, 2004, 34, 1923, - /* 1240 */ 820, 1945, 340, 1941, 1946, 43, 42, 41, 2040, 852, - /* 1250 */ 1917, 2591, 1915, 2704, 2670, 2610, 2743, 855, 2384, 771, - /* 1260 */ 119, 2706, 844, 2708, 2709, 839, 2196, 859, 1999, 2670, - /* 1270 */ 926, 924, 2772, 2670, 2797, 2193, 2670, 853, 465, 2793, - /* 1280 */ 156, 689, 1922, 2768, 2192, 688, 1920, 1921, 1974, 2272, - /* 1290 */ 1976, 1979, 1980, 1981, 1982, 1983, 1984, 1985, 1986, 836, - /* 1300 */ 857, 856, 1998, 2000, 2001, 2002, 2003, 2, 47, 45, - /* 1310 */ 2191, 2705, 828, 291, 855, 2384, 469, 2190, 1916, 855, - /* 1320 */ 2384, 2189, 2188, 2670, 841, 308, 179, 2624, 1650, 782, - /* 1330 */ 2187, 2004, 2670, 1914, 368, 890, 792, 2390, 2435, 491, - /* 1340 */ 2186, 2670, 1641, 888, 887, 886, 1645, 885, 1647, 1648, - /* 1350 */ 835, 834, 2723, 1656, 833, 1658, 1659, 832, 872, 869, - /* 1360 */ 894, 2185, 1999, 2435, 706, 705, 704, 2670, 2670, 170, - /* 1370 */ 840, 696, 152, 700, 2670, 316, 1922, 699, 2670, 2670, - /* 1380 */ 2444, 754, 698, 703, 446, 445, 2444, 2670, 697, 2895, - /* 1390 */ 2237, 2444, 444, 693, 692, 691, 2081, 2670, 514, 807, - /* 1400 */ 895, 800, 155, 2435, 2614, 815, 959, 2901, 217, 15, - /* 1410 */ 2443, 383, 2896, 789, 2421, 1931, 2704, 1926, 2670, 2743, - /* 1420 */ 2210, 954, 223, 119, 2706, 844, 2708, 2709, 839, 277, - /* 1430 */ 859, 279, 275, 281, 278, 2770, 280, 2797, 419, 418, - /* 1440 */ 2361, 465, 2793, 950, 283, 2006, 2007, 282, 475, 162, - /* 1450 */ 54, 1934, 1936, 162, 694, 695, 507, 728, 2691, 727, - /* 1460 */ 272, 2004, 2705, 484, 791, 857, 856, 1998, 2000, 2001, - /* 1470 */ 2002, 2003, 1946, 161, 1975, 841, 2256, 191, 1582, 1580, - /* 1480 */ 2254, 2172, 2173, 1562, 1977, 1987, 679, 675, 671, 667, - /* 1490 */ 2245, 271, 1999, 2243, 2005, 2008, 207, 801, 707, 150, - /* 1500 */ 40, 39, 709, 2723, 46, 44, 43, 42, 41, 1917, - /* 1510 */ 761, 1915, 711, 2724, 49, 714, 170, 906, 49, 2670, - /* 1520 */ 200, 840, 2693, 186, 2805, 2806, 1563, 153, 2810, 327, - /* 1530 */ 1833, 2311, 77, 2310, 1841, 64, 2516, 99, 347, 346, - /* 1540 */ 269, 1554, 14, 13, 49, 1920, 1921, 1974, 2226, 1976, - /* 1550 */ 1979, 1980, 1981, 1982, 1983, 1984, 1985, 1986, 836, 857, - /* 1560 */ 856, 1998, 2000, 2001, 2002, 2003, 2, 2704, 49, 736, - /* 1570 */ 2743, 77, 349, 348, 119, 2706, 844, 2708, 2709, 839, - /* 1580 */ 167, 859, 731, 170, 351, 350, 825, 962, 2797, 353, - /* 1590 */ 352, 2115, 465, 2793, 2705, 2125, 74, 805, 867, 2124, - /* 1600 */ 168, 306, 2848, 374, 355, 354, 170, 841, 257, 768, - /* 1610 */ 331, 458, 775, 812, 357, 356, 2041, 268, 454, 952, - /* 1620 */ 206, 259, 266, 793, 149, 1988, 1924, 264, 653, 948, - /* 1630 */ 944, 940, 936, 167, 371, 2723, 754, 809, 498, 1907, - /* 1640 */ 516, 1883, 359, 358, 2895, 907, 256, 361, 360, 1786, - /* 1650 */ 2517, 2670, 1776, 840, 363, 362, 365, 364, 1535, 367, - /* 1660 */ 366, 343, 2901, 217, 1632, 2232, 747, 2896, 789, 1552, - /* 1670 */ 2432, 2705, 783, 477, 476, 1908, 2849, 381, 2859, 1663, - /* 1680 */ 118, 1671, 123, 344, 841, 784, 318, 1678, 713, 857, - /* 1690 */ 856, 1998, 2000, 2001, 2002, 2003, 313, 321, 2345, 2704, - /* 1700 */ 5, 1536, 2743, 725, 2705, 1676, 120, 2706, 844, 2708, - /* 1710 */ 2709, 839, 2723, 859, 173, 816, 501, 841, 506, 287, - /* 1720 */ 2797, 1939, 433, 1949, 2796, 2793, 515, 526, 2670, 527, - /* 1730 */ 840, 224, 529, 225, 2705, 1810, 716, 227, 375, 543, - /* 1740 */ 1940, 550, 238, 710, 708, 2723, 552, 841, 600, 556, - /* 1750 */ 284, 2705, 558, 563, 587, 576, 2509, 589, 613, 612, - /* 1760 */ 342, 2670, 822, 840, 841, 325, 596, 610, 599, 601, - /* 1770 */ 324, 243, 244, 615, 247, 2723, 2704, 617, 618, 2743, - /* 1780 */ 620, 637, 622, 120, 2706, 844, 2708, 2709, 839, 294, - /* 1790 */ 859, 2670, 2723, 840, 1947, 4, 72, 2797, 638, 71, - /* 1800 */ 646, 827, 2793, 645, 1927, 648, 255, 94, 2670, 842, - /* 1810 */ 840, 1942, 2743, 650, 258, 1948, 120, 2706, 844, 2708, - /* 1820 */ 2709, 839, 651, 859, 1950, 652, 739, 261, 2705, 804, - /* 1830 */ 2797, 654, 263, 1951, 428, 2793, 2532, 95, 1952, 2704, - /* 1840 */ 684, 841, 2743, 2526, 96, 2705, 184, 2706, 844, 2708, - /* 1850 */ 2709, 839, 97, 859, 663, 270, 2704, 410, 841, 2743, - /* 1860 */ 717, 718, 124, 120, 2706, 844, 2708, 2709, 839, 2723, - /* 1870 */ 859, 686, 2600, 2374, 274, 2597, 100, 2797, 2370, 276, - /* 1880 */ 754, 175, 2794, 754, 121, 2670, 2723, 840, 2895, 2372, - /* 1890 */ 2367, 2895, 176, 755, 2855, 177, 2596, 730, 377, 163, - /* 1900 */ 732, 293, 2670, 1943, 840, 2578, 2901, 217, 742, 2901, - /* 1910 */ 217, 2896, 789, 741, 2896, 789, 298, 743, 296, 749, - /* 1920 */ 746, 748, 758, 772, 810, 2705, 8, 456, 2864, 2863, - /* 1930 */ 2836, 303, 781, 2704, 307, 189, 2743, 759, 841, 757, - /* 1940 */ 184, 2706, 844, 2708, 2709, 839, 305, 859, 311, 309, - /* 1950 */ 2704, 756, 312, 2743, 2705, 310, 786, 406, 2706, 844, - /* 1960 */ 2708, 2709, 839, 459, 859, 785, 2723, 841, 2918, 794, - /* 1970 */ 797, 2816, 314, 154, 1944, 2894, 317, 2089, 2087, 203, - /* 1980 */ 323, 2813, 2670, 164, 840, 808, 378, 2546, 2856, 2545, - /* 1990 */ 1, 219, 2544, 379, 463, 2723, 813, 814, 818, 165, - /* 2000 */ 61, 336, 821, 2778, 846, 848, 850, 457, 341, 851, - /* 2010 */ 380, 2670, 110, 840, 2385, 2705, 2662, 112, 1455, 2661, - /* 2020 */ 2657, 953, 861, 2656, 2648, 384, 2647, 956, 841, 2639, - /* 2030 */ 2704, 2638, 2654, 2743, 2653, 2645, 370, 406, 2706, 844, - /* 2040 */ 2708, 2709, 839, 2644, 859, 2633, 52, 174, 2632, 2651, - /* 2050 */ 408, 2705, 958, 2650, 734, 2642, 2723, 396, 386, 2704, - /* 2060 */ 2641, 2630, 2743, 2629, 838, 2627, 399, 2706, 844, 2708, - /* 2070 */ 2709, 839, 2670, 859, 840, 420, 2626, 2436, 407, 397, - /* 2080 */ 2622, 388, 2621, 2620, 425, 83, 426, 2615, 503, 504, - /* 2090 */ 1867, 1868, 2723, 222, 2613, 508, 510, 511, 512, 1866, - /* 2100 */ 2612, 2611, 434, 2609, 518, 2608, 520, 2607, 2670, 2606, - /* 2110 */ 840, 522, 524, 1854, 2582, 226, 2581, 780, 228, 1812, - /* 2120 */ 2704, 84, 1813, 2743, 2559, 2558, 2557, 187, 2706, 844, - /* 2130 */ 2708, 2709, 839, 536, 859, 537, 2556, 2555, 2499, 541, - /* 2140 */ 2705, 1749, 2496, 544, 2495, 2489, 2486, 547, 548, 2485, - /* 2150 */ 2484, 231, 2483, 841, 235, 564, 2704, 87, 2488, 2743, - /* 2160 */ 2487, 2482, 233, 405, 2706, 844, 2708, 2709, 839, 2705, - /* 2170 */ 859, 2481, 2763, 2479, 2478, 2477, 2476, 566, 2474, 2473, - /* 2180 */ 2472, 2723, 841, 2471, 2470, 2494, 2469, 2917, 2468, 2467, - /* 2190 */ 2705, 1755, 237, 2456, 2455, 2454, 93, 2670, 2492, 840, - /* 2200 */ 2475, 2466, 2465, 841, 2464, 2462, 2461, 2460, 2459, 2458, - /* 2210 */ 2723, 2457, 2453, 2452, 2524, 2493, 2491, 2451, 2450, 2705, - /* 2220 */ 2449, 2448, 468, 2447, 242, 603, 2670, 2446, 840, 605, - /* 2230 */ 2445, 2723, 841, 2276, 245, 2275, 246, 422, 2274, 2273, - /* 2240 */ 423, 1602, 2271, 248, 1606, 2704, 2268, 2670, 2743, 840, - /* 2250 */ 2267, 470, 406, 2706, 844, 2708, 2709, 839, 249, 859, - /* 2260 */ 2723, 1598, 623, 2260, 2247, 2221, 627, 1479, 625, 631, - /* 2270 */ 2220, 635, 2580, 629, 2704, 262, 2670, 2743, 840, 253, - /* 2280 */ 624, 406, 2706, 844, 2708, 2709, 839, 633, 859, 628, - /* 2290 */ 198, 80, 632, 251, 2576, 729, 2690, 81, 2743, 2566, - /* 2300 */ 209, 2554, 401, 2706, 844, 2708, 2709, 839, 643, 859, - /* 2310 */ 260, 2553, 2530, 2705, 2523, 265, 267, 2362, 1528, 2270, - /* 2320 */ 2266, 664, 666, 665, 2704, 2264, 841, 2743, 668, 669, - /* 2330 */ 2705, 391, 2706, 844, 2708, 2709, 839, 670, 859, 2262, - /* 2340 */ 672, 673, 674, 841, 2259, 676, 678, 2705, 677, 2242, - /* 2350 */ 2240, 2241, 2239, 2217, 2723, 2364, 1682, 2363, 1683, 1588, - /* 2360 */ 841, 1587, 73, 1586, 1583, 1581, 1579, 1578, 1577, 1576, - /* 2370 */ 2670, 2723, 840, 273, 923, 1575, 925, 1572, 1570, 1571, - /* 2380 */ 2257, 447, 1569, 2255, 448, 2246, 449, 2670, 2723, 840, - /* 2390 */ 2244, 450, 2216, 2215, 2214, 715, 2213, 719, 2212, 723, - /* 2400 */ 712, 126, 721, 1848, 2670, 1850, 840, 1847, 2579, 2575, - /* 2410 */ 2705, 1852, 295, 1819, 2565, 28, 2552, 1823, 2704, 67, - /* 2420 */ 2551, 2743, 1838, 841, 733, 390, 2706, 844, 2708, 2709, - /* 2430 */ 839, 2900, 859, 56, 1821, 2704, 20, 744, 2743, 17, - /* 2440 */ 21, 760, 392, 2706, 844, 2708, 2709, 839, 57, 859, - /* 2450 */ 745, 2723, 2704, 2550, 455, 2743, 6, 299, 764, 398, - /* 2460 */ 2706, 844, 2708, 2709, 839, 22, 859, 2670, 1798, 840, - /* 2470 */ 202, 1797, 178, 750, 752, 7, 214, 32, 2691, 2082, - /* 2480 */ 30, 766, 23, 215, 2084, 2142, 302, 65, 2116, 304, - /* 2490 */ 2705, 762, 24, 2123, 2157, 188, 2529, 201, 2156, 31, - /* 2500 */ 460, 2110, 82, 841, 18, 2080, 2161, 2705, 216, 2160, - /* 2510 */ 461, 2162, 59, 319, 2163, 2704, 2064, 193, 2743, 2063, - /* 2520 */ 841, 2528, 402, 2706, 844, 2708, 2709, 839, 105, 859, - /* 2530 */ 106, 2723, 104, 2705, 2522, 326, 107, 2118, 817, 204, - /* 2540 */ 25, 811, 13, 332, 69, 2016, 841, 2670, 2723, 840, - /* 2550 */ 1932, 334, 335, 2015, 58, 11, 2026, 194, 205, 1991, - /* 2560 */ 1990, 874, 877, 1967, 2670, 880, 840, 883, 38, 16, - /* 2570 */ 2705, 2521, 1989, 26, 2723, 843, 1959, 108, 27, 70, - /* 2580 */ 339, 819, 345, 841, 847, 1993, 2178, 109, 2177, 2748, - /* 2590 */ 2670, 2747, 840, 337, 858, 2704, 68, 113, 2743, 2176, - /* 2600 */ 860, 1664, 393, 2706, 844, 2708, 2709, 839, 868, 859, - /* 2610 */ 866, 2723, 2704, 486, 1661, 2743, 870, 1660, 871, 403, - /* 2620 */ 2706, 844, 2708, 2709, 839, 873, 859, 2670, 849, 840, - /* 2630 */ 1657, 2705, 876, 1651, 879, 882, 2175, 1649, 2704, 114, - /* 2640 */ 1655, 2743, 369, 115, 841, 394, 2706, 844, 2708, 2709, - /* 2650 */ 839, 1654, 859, 1677, 2705, 79, 1653, 1673, 1652, 1526, - /* 2660 */ 897, 1566, 1565, 1564, 1561, 1558, 1557, 841, 1556, 1555, - /* 2670 */ 1553, 1551, 2723, 1550, 1549, 2704, 1596, 911, 2743, 1595, - /* 2680 */ 220, 913, 404, 2706, 844, 2708, 2709, 839, 2670, 859, - /* 2690 */ 840, 1547, 1546, 1545, 1544, 2723, 1543, 1542, 1541, 1592, - /* 2700 */ 1590, 1538, 1537, 1534, 1533, 1532, 1531, 2265, 933, 934, - /* 2710 */ 935, 2670, 2263, 840, 937, 2705, 939, 2261, 941, 2258, - /* 2720 */ 943, 945, 938, 2238, 947, 942, 949, 946, 841, 1468, - /* 2730 */ 951, 2211, 1456, 955, 2181, 373, 2704, 2236, 1918, 2743, - /* 2740 */ 2705, 957, 960, 395, 2706, 844, 2708, 2709, 839, 385, - /* 2750 */ 859, 2181, 961, 841, 2181, 2181, 2723, 2181, 2181, 2704, - /* 2760 */ 2181, 2181, 2743, 2181, 2181, 2181, 411, 2706, 844, 2708, - /* 2770 */ 2709, 839, 2670, 859, 840, 2181, 2181, 2181, 2181, 2181, - /* 2780 */ 2181, 2723, 2181, 2181, 2181, 2181, 2181, 2181, 2181, 2181, - /* 2790 */ 2181, 2181, 2181, 2181, 2181, 2181, 2181, 2670, 2181, 840, - /* 2800 */ 2181, 2705, 2181, 2181, 2181, 2181, 2181, 2181, 2181, 2181, - /* 2810 */ 2181, 2181, 2181, 2181, 841, 2181, 2181, 2181, 2181, 2181, - /* 2820 */ 2704, 2181, 2705, 2743, 2181, 2181, 2181, 412, 2706, 844, - /* 2830 */ 2708, 2709, 839, 2181, 859, 841, 2181, 2181, 2181, 2181, - /* 2840 */ 2181, 2181, 2723, 2181, 2181, 2704, 2181, 2181, 2743, 2181, - /* 2850 */ 2181, 2181, 2717, 2706, 844, 2708, 2709, 839, 2670, 859, - /* 2860 */ 840, 2181, 2181, 2723, 2181, 2181, 2181, 2181, 2181, 2181, - /* 2870 */ 2181, 2181, 2181, 2181, 2181, 2181, 2181, 2181, 2181, 2670, - /* 2880 */ 2181, 840, 2181, 2705, 2181, 2181, 2181, 2181, 2181, 2181, - /* 2890 */ 2181, 2181, 2181, 2181, 2181, 2181, 841, 2181, 2181, 2181, - /* 2900 */ 2181, 2181, 2181, 2181, 2181, 2181, 2704, 2181, 2181, 2743, - /* 2910 */ 2181, 2181, 2181, 2716, 2706, 844, 2708, 2709, 839, 2181, - /* 2920 */ 859, 2181, 2181, 2181, 2723, 2181, 2181, 2704, 2181, 2181, - /* 2930 */ 2743, 2181, 2181, 2181, 2715, 2706, 844, 2708, 2709, 839, - /* 2940 */ 2670, 859, 840, 2181, 2705, 2181, 2181, 2181, 2181, 2181, - /* 2950 */ 2181, 2181, 2181, 2181, 2181, 2181, 2181, 841, 2181, 2181, - /* 2960 */ 2181, 2181, 2181, 2705, 2181, 2181, 2181, 2181, 2181, 2181, - /* 2970 */ 2181, 2181, 2181, 2181, 2181, 2181, 841, 2181, 2181, 2181, - /* 2980 */ 2181, 2181, 2181, 2181, 2181, 2723, 2181, 2181, 2704, 2181, - /* 2990 */ 2181, 2743, 2181, 2181, 2181, 430, 2706, 844, 2708, 2709, - /* 3000 */ 839, 2670, 859, 840, 2723, 2181, 2181, 2181, 2181, 2181, - /* 3010 */ 2181, 2181, 2181, 2181, 2181, 2181, 2181, 2181, 2181, 2181, - /* 3020 */ 2670, 2181, 840, 2181, 2705, 2181, 2181, 2181, 2181, 2181, - /* 3030 */ 2181, 2181, 2181, 2181, 2181, 2181, 2181, 841, 2181, 2181, - /* 3040 */ 2181, 2181, 2181, 2181, 2181, 2181, 2181, 2181, 2181, 2704, - /* 3050 */ 2181, 2181, 2743, 2181, 2181, 2181, 431, 2706, 844, 2708, - /* 3060 */ 2709, 839, 2181, 859, 2181, 2723, 2181, 2181, 2704, 2181, - /* 3070 */ 2181, 2743, 2181, 2181, 2181, 427, 2706, 844, 2708, 2709, - /* 3080 */ 839, 2670, 859, 840, 2181, 2181, 2181, 2181, 2181, 2181, - /* 3090 */ 2181, 2181, 2181, 2705, 2181, 2181, 2181, 2181, 2181, 2181, - /* 3100 */ 2181, 2181, 2181, 2181, 2181, 2181, 841, 2181, 2705, 2181, - /* 3110 */ 2181, 2181, 2181, 2181, 2181, 2181, 2181, 2181, 2181, 2181, - /* 3120 */ 2181, 841, 2181, 2181, 2181, 2181, 2181, 2181, 2181, 2704, - /* 3130 */ 2181, 2181, 2743, 2181, 2723, 2181, 432, 2706, 844, 2708, - /* 3140 */ 2709, 839, 2181, 859, 2181, 2181, 2181, 2181, 2181, 2723, - /* 3150 */ 2670, 2181, 840, 2181, 2181, 2181, 2181, 2181, 2181, 2181, - /* 3160 */ 2181, 2181, 2181, 2181, 2181, 2670, 2181, 840, 2181, 2181, - /* 3170 */ 2181, 2181, 2181, 2181, 2181, 2181, 2181, 2181, 2181, 2181, - /* 3180 */ 2181, 2181, 2181, 2181, 2181, 2181, 2181, 2181, 2181, 2181, - /* 3190 */ 2181, 2181, 2181, 2181, 2181, 2181, 2181, 2181, 842, 2181, - /* 3200 */ 2181, 2743, 2181, 2181, 2181, 401, 2706, 844, 2708, 2709, - /* 3210 */ 839, 2181, 859, 2704, 2181, 2181, 2743, 2181, 2181, 2181, - /* 3220 */ 400, 2706, 844, 2708, 2709, 839, 2181, 859, + /* 0 */ 790, 37, 338, 2542, 190, 2379, 315, 2904, 2899, 802, + /* 10 */ 155, 2448, 47, 45, 2098, 2899, 857, 2388, 2667, 462, + /* 20 */ 469, 485, 1919, 2185, 2540, 847, 789, 217, 659, 2709, + /* 30 */ 2446, 2900, 791, 182, 2903, 2007, 146, 1917, 2900, 2902, + /* 40 */ 197, 2322, 805, 685, 802, 155, 3, 145, 144, 143, + /* 50 */ 142, 141, 140, 139, 138, 137, 40, 39, 9, 53, + /* 60 */ 46, 44, 43, 42, 41, 1474, 437, 2002, 2515, 474, + /* 70 */ 2727, 40, 39, 779, 19, 46, 44, 43, 42, 41, + /* 80 */ 861, 1925, 474, 2448, 1481, 2542, 2674, 2529, 842, 660, + /* 90 */ 183, 435, 2197, 861, 494, 493, 802, 155, 857, 2388, + /* 100 */ 464, 2727, 2446, 122, 1933, 66, 2539, 847, 1476, 1479, + /* 110 */ 1480, 961, 487, 2390, 15, 2208, 2709, 2007, 221, 1926, + /* 120 */ 40, 39, 376, 2627, 46, 44, 43, 42, 41, 843, + /* 130 */ 804, 185, 2809, 2810, 2708, 153, 2814, 2747, 780, 551, + /* 140 */ 2511, 119, 2710, 846, 2712, 2713, 841, 1944, 861, 2002, + /* 150 */ 2009, 2010, 252, 199, 2123, 2801, 642, 2727, 2237, 465, + /* 160 */ 2797, 802, 155, 1925, 453, 2589, 192, 2809, 801, 2124, + /* 170 */ 147, 800, 2674, 2674, 778, 842, 856, 756, 2899, 218, + /* 180 */ 790, 514, 2073, 452, 2589, 2899, 429, 2848, 2899, 1980, + /* 190 */ 1990, 639, 232, 830, 640, 2229, 789, 217, 856, 2008, + /* 200 */ 2011, 2900, 791, 2905, 217, 223, 789, 217, 2900, 791, + /* 210 */ 656, 2900, 791, 2122, 1920, 62, 1918, 2904, 125, 2809, + /* 220 */ 2810, 2708, 153, 2814, 2747, 2899, 98, 775, 119, 2710, + /* 230 */ 846, 2712, 2713, 841, 2036, 861, 867, 2392, 157, 123, + /* 240 */ 166, 2772, 2801, 439, 2903, 62, 465, 2797, 2900, 2901, + /* 250 */ 1923, 1924, 1977, 2383, 1979, 1982, 1983, 1984, 1985, 1986, + /* 260 */ 1987, 1988, 1989, 838, 859, 858, 2001, 2003, 2004, 2005, + /* 270 */ 2006, 2, 47, 45, 657, 2535, 1501, 414, 1500, 1942, + /* 280 */ 469, 739, 1919, 186, 2809, 2810, 586, 153, 2814, 607, + /* 290 */ 494, 493, 50, 151, 606, 2007, 1934, 1917, 1929, 736, + /* 300 */ 2037, 2821, 2070, 2071, 2072, 2821, 2821, 2821, 2821, 2821, + /* 310 */ 644, 33, 565, 1502, 608, 1926, 641, 40, 39, 415, + /* 320 */ 567, 46, 44, 43, 42, 41, 647, 2002, 662, 640, + /* 330 */ 2229, 545, 1937, 1939, 19, 2186, 781, 776, 769, 765, + /* 340 */ 12, 1925, 10, 856, 740, 180, 859, 858, 2001, 2003, + /* 350 */ 2004, 2005, 2006, 236, 487, 2390, 136, 655, 2073, 135, + /* 360 */ 134, 133, 132, 131, 130, 129, 128, 127, 51, 289, + /* 370 */ 1977, 961, 438, 288, 15, 898, 172, 171, 895, 894, + /* 380 */ 893, 169, 98, 553, 866, 865, 864, 36, 467, 2031, + /* 390 */ 2032, 2033, 2034, 2035, 2039, 2040, 2041, 2042, 322, 92, + /* 400 */ 40, 39, 91, 658, 46, 44, 43, 42, 41, 2384, + /* 410 */ 2009, 2010, 1948, 2522, 2501, 737, 594, 593, 592, 591, + /* 420 */ 590, 585, 584, 583, 582, 421, 649, 2581, 322, 572, + /* 430 */ 571, 570, 569, 568, 562, 561, 560, 50, 555, 554, + /* 440 */ 436, 2073, 2372, 417, 546, 1753, 1754, 101, 181, 1980, + /* 450 */ 1990, 1772, 424, 389, 1944, 451, 62, 728, 136, 2008, + /* 460 */ 2011, 135, 134, 133, 132, 131, 130, 129, 128, 127, + /* 470 */ 90, 387, 76, 726, 1920, 75, 1918, 2821, 2070, 2071, + /* 480 */ 2072, 2821, 2821, 2821, 2821, 2821, 416, 826, 724, 2773, + /* 490 */ 722, 720, 286, 285, 1929, 2709, 1948, 210, 250, 621, + /* 500 */ 619, 616, 614, 2075, 2076, 2077, 2078, 2079, 805, 197, + /* 510 */ 1923, 1924, 1977, 2435, 1979, 1982, 1983, 1984, 1985, 1986, + /* 520 */ 1987, 1988, 1989, 838, 859, 858, 2001, 2003, 2004, 2005, + /* 530 */ 2006, 2, 12, 47, 45, 1945, 2727, 2516, 1919, 2207, + /* 540 */ 1944, 469, 542, 1919, 62, 46, 44, 43, 42, 41, + /* 550 */ 1653, 322, 2674, 1917, 842, 533, 2007, 532, 1917, 519, + /* 560 */ 2484, 2070, 2071, 2072, 1644, 890, 889, 888, 1648, 887, + /* 570 */ 1650, 1651, 886, 883, 2709, 1659, 880, 1661, 1662, 877, + /* 580 */ 874, 871, 63, 213, 2542, 472, 2131, 843, 2002, 531, + /* 590 */ 833, 604, 602, 179, 410, 19, 2674, 1925, 230, 471, + /* 600 */ 2708, 832, 1925, 2747, 2393, 2539, 847, 119, 2710, 846, + /* 610 */ 2712, 2713, 841, 1945, 861, 2727, 443, 442, 689, 199, + /* 620 */ 322, 2801, 688, 1765, 1766, 465, 2797, 961, 557, 2511, + /* 630 */ 180, 2674, 961, 842, 62, 15, 86, 85, 538, 322, + /* 640 */ 2391, 229, 2668, 2816, 1949, 772, 771, 2129, 2130, 2132, + /* 650 */ 2133, 2134, 900, 2849, 530, 528, 40, 39, 857, 2388, + /* 660 */ 46, 44, 43, 42, 41, 1792, 1793, 413, 12, 2813, + /* 670 */ 517, 2009, 2010, 513, 509, 505, 502, 531, 146, 2708, + /* 680 */ 489, 234, 2747, 2441, 2443, 690, 119, 2710, 846, 2712, + /* 690 */ 2713, 841, 2904, 861, 441, 440, 523, 687, 2776, 1501, + /* 700 */ 2801, 1500, 857, 2388, 465, 2797, 474, 117, 2467, 1947, + /* 710 */ 1980, 1990, 2102, 1481, 1791, 1794, 1944, 861, 1944, 689, + /* 720 */ 2008, 2011, 55, 688, 158, 525, 521, 322, 1949, 579, + /* 730 */ 1920, 1653, 1918, 2380, 578, 1920, 1502, 1918, 1479, 1480, + /* 740 */ 598, 2684, 577, 1692, 1693, 1644, 890, 889, 888, 1648, + /* 750 */ 887, 1650, 1651, 837, 836, 2709, 1659, 835, 1661, 1662, + /* 760 */ 834, 874, 871, 2142, 1948, 755, 1923, 1924, 843, 2688, + /* 770 */ 2239, 1923, 1924, 1977, 376, 1979, 1982, 1983, 1984, 1985, + /* 780 */ 1986, 1987, 1988, 1989, 838, 859, 858, 2001, 2003, 2004, + /* 790 */ 2005, 2006, 2, 47, 45, 2012, 2727, 480, 2709, 588, + /* 800 */ 2511, 469, 148, 1919, 2166, 914, 241, 483, 43, 42, + /* 810 */ 41, 843, 2674, 2856, 842, 88, 2007, 322, 1917, 2364, + /* 820 */ 2690, 2693, 40, 39, 1925, 2709, 46, 44, 43, 42, + /* 830 */ 41, 861, 597, 240, 713, 1948, 2590, 2017, 843, 2727, + /* 840 */ 2869, 636, 828, 1944, 2773, 2206, 595, 2205, 2002, 727, + /* 850 */ 634, 2816, 239, 630, 626, 2674, 2362, 842, 857, 2388, + /* 860 */ 2708, 917, 1925, 2747, 2348, 287, 2727, 119, 2710, 846, + /* 870 */ 2712, 2713, 841, 916, 861, 581, 580, 2812, 539, 2919, + /* 880 */ 320, 2801, 2674, 716, 842, 465, 2797, 1981, 857, 2388, + /* 890 */ 710, 708, 961, 2684, 254, 48, 891, 284, 642, 2448, + /* 900 */ 2237, 2448, 2674, 2708, 2674, 60, 2747, 473, 540, 488, + /* 910 */ 119, 2710, 846, 2712, 2713, 841, 753, 861, 2446, 1483, + /* 920 */ 2446, 2688, 2919, 1947, 2801, 1943, 490, 2038, 465, 2797, + /* 930 */ 2708, 2009, 2010, 2747, 179, 208, 2628, 119, 2710, 846, + /* 940 */ 2712, 2713, 841, 72, 861, 2393, 71, 740, 1978, 2919, + /* 950 */ 1978, 2801, 1944, 40, 39, 465, 2797, 46, 44, 43, + /* 960 */ 42, 41, 898, 172, 171, 895, 894, 893, 169, 2709, + /* 970 */ 1980, 1990, 2690, 2692, 466, 2377, 1888, 2204, 29, 1592, + /* 980 */ 2008, 2011, 843, 861, 767, 2095, 1887, 857, 2388, 2363, + /* 990 */ 756, 857, 2388, 857, 2388, 1920, 1949, 1918, 2899, 898, + /* 1000 */ 172, 171, 895, 894, 893, 169, 212, 559, 479, 478, + /* 1010 */ 2727, 573, 1981, 574, 34, 2183, 2905, 217, 482, 481, + /* 1020 */ 2173, 2900, 791, 1594, 2043, 2595, 2674, 372, 842, 742, + /* 1030 */ 2581, 1923, 1924, 1977, 2674, 1979, 1982, 1983, 1984, 1985, + /* 1040 */ 1986, 1987, 1988, 1989, 838, 859, 858, 2001, 2003, 2004, + /* 1050 */ 2005, 2006, 2, 47, 45, 2709, 2442, 2443, 2203, 1587, + /* 1060 */ 2143, 469, 900, 1919, 1504, 1505, 156, 1949, 843, 2772, + /* 1070 */ 2892, 2903, 857, 2388, 2708, 1978, 2007, 2747, 1917, 2260, + /* 1080 */ 290, 119, 2710, 846, 2712, 2713, 841, 291, 861, 857, + /* 1090 */ 2388, 2709, 575, 2919, 320, 2801, 2727, 14, 13, 465, + /* 1100 */ 2797, 707, 500, 1588, 843, 2202, 2833, 499, 2002, 661, + /* 1110 */ 857, 2388, 2674, 1604, 842, 2674, 706, 705, 704, 857, + /* 1120 */ 2388, 1981, 1925, 696, 152, 700, 329, 330, 1603, 699, + /* 1130 */ 2385, 328, 2727, 2816, 698, 703, 446, 445, 2172, 292, + /* 1140 */ 697, 857, 2388, 2201, 444, 693, 692, 691, 2674, 2198, + /* 1150 */ 842, 784, 961, 857, 2388, 48, 756, 2200, 733, 2811, + /* 1160 */ 2708, 300, 2674, 2747, 2899, 1846, 1847, 119, 2710, 846, + /* 1170 */ 2712, 2713, 841, 808, 861, 857, 2388, 857, 2388, 2919, + /* 1180 */ 2199, 2801, 2905, 217, 1978, 465, 2797, 2900, 791, 857, + /* 1190 */ 2388, 2009, 2010, 857, 2388, 333, 2708, 822, 102, 2747, + /* 1200 */ 2674, 1608, 609, 119, 2710, 846, 2712, 2713, 841, 340, + /* 1210 */ 861, 2050, 756, 854, 2674, 2919, 1607, 2801, 2196, 2084, + /* 1220 */ 2899, 465, 2797, 419, 418, 857, 2388, 857, 2388, 2709, + /* 1230 */ 1980, 1990, 1820, 475, 857, 2388, 211, 2674, 2905, 217, + /* 1240 */ 2008, 2011, 843, 2900, 791, 855, 2007, 368, 484, 2375, + /* 1250 */ 681, 680, 683, 682, 491, 1920, 2614, 1918, 111, 2195, + /* 1260 */ 2448, 2194, 2193, 2192, 702, 701, 2448, 2191, 2190, 2189, + /* 1270 */ 2727, 2188, 928, 926, 170, 2674, 2709, 535, 2002, 809, + /* 1280 */ 2094, 2323, 534, 179, 2381, 817, 2674, 2618, 842, 843, + /* 1290 */ 611, 1923, 1924, 1977, 2394, 1979, 1982, 1983, 1984, 1985, + /* 1300 */ 1986, 1987, 1988, 1989, 838, 859, 858, 2001, 2003, 2004, + /* 1310 */ 2005, 2006, 2, 47, 45, 78, 2674, 2727, 2674, 2674, + /* 1320 */ 2674, 469, 2494, 1919, 2674, 2674, 2674, 892, 2674, 794, + /* 1330 */ 2439, 756, 2448, 2674, 2708, 842, 2007, 2747, 1917, 2899, + /* 1340 */ 507, 119, 2710, 846, 2712, 2713, 841, 383, 861, 741, + /* 1350 */ 2425, 2447, 2365, 2774, 2258, 2801, 54, 2905, 217, 465, + /* 1360 */ 2797, 896, 2900, 791, 2439, 549, 40, 39, 2002, 89, + /* 1370 */ 46, 44, 43, 42, 41, 897, 709, 806, 2439, 2213, + /* 1380 */ 956, 2708, 1925, 277, 2747, 161, 275, 793, 119, 2710, + /* 1390 */ 846, 2712, 2713, 841, 279, 861, 281, 278, 283, 280, + /* 1400 */ 827, 282, 2801, 756, 694, 162, 465, 2797, 695, 797, + /* 1410 */ 35, 2899, 961, 2709, 2249, 15, 40, 39, 2247, 2370, + /* 1420 */ 46, 44, 43, 42, 41, 1910, 843, 1886, 1585, 2905, + /* 1430 */ 217, 756, 1583, 301, 2900, 791, 711, 162, 763, 2899, + /* 1440 */ 714, 730, 49, 729, 2175, 2176, 14, 13, 831, 49, + /* 1450 */ 2695, 2009, 2010, 297, 2727, 200, 170, 2905, 217, 477, + /* 1460 */ 476, 1911, 2900, 791, 327, 77, 64, 49, 49, 382, + /* 1470 */ 2674, 2392, 842, 2114, 1928, 859, 858, 2001, 2003, 2004, + /* 1480 */ 2005, 2006, 103, 347, 346, 349, 348, 1836, 351, 350, + /* 1490 */ 1980, 1990, 77, 167, 170, 353, 352, 190, 207, 316, + /* 1500 */ 2008, 2011, 2273, 355, 354, 357, 356, 359, 358, 361, + /* 1510 */ 360, 363, 362, 2862, 2697, 1920, 773, 1918, 2708, 1844, + /* 1520 */ 2118, 2747, 365, 364, 2128, 120, 2710, 846, 2712, 2713, + /* 1530 */ 841, 2127, 861, 367, 366, 308, 74, 306, 807, 2801, + /* 1540 */ 803, 869, 1927, 2800, 2797, 168, 331, 814, 2044, 1991, + /* 1550 */ 1789, 1923, 1924, 1977, 150, 1979, 1982, 1983, 1984, 1985, + /* 1560 */ 1986, 1987, 1988, 1989, 838, 859, 858, 2001, 2003, 2004, + /* 1570 */ 2005, 2006, 2, 170, 1779, 343, 1635, 149, 934, 933, + /* 1580 */ 932, 931, 497, 167, 930, 929, 160, 924, 923, 922, + /* 1590 */ 921, 920, 919, 918, 159, 912, 911, 910, 496, 495, + /* 1600 */ 907, 906, 905, 196, 195, 904, 492, 903, 902, 901, + /* 1610 */ 738, 2728, 1565, 908, 909, 2241, 1538, 795, 381, 2315, + /* 1620 */ 116, 2314, 2709, 1666, 2028, 2520, 2230, 1674, 964, 113, + /* 1630 */ 2852, 770, 454, 458, 777, 843, 811, 1557, 1555, 498, + /* 1640 */ 516, 2236, 2521, 2436, 374, 749, 2853, 2863, 785, 786, + /* 1650 */ 318, 2709, 313, 1931, 321, 1681, 1566, 2349, 501, 1679, + /* 1660 */ 1539, 954, 206, 2727, 843, 173, 506, 5, 433, 952, + /* 1670 */ 1942, 950, 946, 942, 938, 515, 371, 1952, 527, 2674, + /* 1680 */ 526, 842, 224, 225, 529, 227, 1813, 375, 1943, 543, + /* 1690 */ 238, 550, 2727, 552, 563, 556, 558, 600, 576, 798, + /* 1700 */ 587, 2513, 596, 589, 599, 601, 612, 610, 2674, 613, + /* 1710 */ 842, 244, 243, 615, 617, 618, 247, 620, 622, 1950, + /* 1720 */ 637, 1930, 118, 4, 645, 344, 638, 2708, 648, 646, + /* 1730 */ 2747, 255, 94, 1945, 120, 2710, 846, 2712, 2713, 841, + /* 1740 */ 2276, 861, 650, 258, 1951, 651, 1953, 261, 2801, 2709, + /* 1750 */ 654, 652, 829, 2797, 263, 1954, 844, 818, 95, 2747, + /* 1760 */ 96, 1955, 840, 120, 2710, 846, 2712, 2713, 841, 2530, + /* 1770 */ 861, 2536, 97, 2709, 663, 684, 270, 2801, 124, 717, + /* 1780 */ 718, 428, 2797, 686, 2378, 274, 843, 408, 732, 2374, + /* 1790 */ 2727, 276, 2604, 734, 175, 100, 377, 2601, 121, 2376, + /* 1800 */ 2371, 176, 342, 1946, 824, 177, 2674, 325, 842, 293, + /* 1810 */ 163, 2582, 324, 744, 2727, 743, 706, 705, 704, 296, + /* 1820 */ 2600, 745, 751, 696, 152, 700, 748, 298, 774, 699, + /* 1830 */ 2674, 294, 842, 2868, 698, 703, 446, 445, 760, 812, + /* 1840 */ 697, 8, 2709, 783, 444, 693, 692, 691, 2840, 2867, + /* 1850 */ 750, 761, 303, 307, 2708, 843, 305, 2747, 759, 2709, + /* 1860 */ 309, 405, 2710, 846, 2712, 2713, 841, 839, 861, 825, + /* 1870 */ 2766, 758, 843, 788, 311, 189, 310, 312, 2708, 787, + /* 1880 */ 459, 2747, 2922, 2727, 314, 184, 2710, 846, 2712, 2713, + /* 1890 */ 841, 799, 861, 2898, 796, 1947, 317, 154, 2817, 2674, + /* 1900 */ 2727, 842, 2092, 810, 2090, 2820, 323, 203, 272, 378, + /* 1910 */ 164, 379, 2550, 815, 2549, 2548, 2674, 1, 842, 219, + /* 1920 */ 816, 463, 165, 820, 61, 336, 191, 850, 2782, 848, + /* 1930 */ 341, 823, 757, 2859, 852, 679, 675, 671, 667, 2709, + /* 1940 */ 271, 380, 110, 853, 2389, 112, 1457, 2708, 863, 955, + /* 1950 */ 2747, 2666, 843, 2665, 187, 2710, 846, 2712, 2713, 841, + /* 1960 */ 370, 861, 958, 960, 2708, 2661, 2660, 2747, 384, 174, + /* 1970 */ 388, 120, 2710, 846, 2712, 2713, 841, 409, 861, 2652, + /* 1980 */ 2727, 2626, 2651, 2643, 2642, 2801, 99, 52, 386, 269, + /* 1990 */ 2798, 2658, 2625, 2657, 2649, 2648, 2674, 2637, 842, 2636, + /* 2000 */ 2655, 2654, 2646, 2645, 2634, 2633, 396, 425, 2631, 2630, + /* 2010 */ 2440, 736, 420, 792, 2920, 2624, 83, 407, 397, 2619, + /* 2020 */ 503, 504, 1870, 1871, 222, 508, 2617, 510, 511, 512, + /* 2030 */ 1869, 2616, 2709, 434, 2613, 518, 2612, 520, 2611, 522, + /* 2040 */ 426, 2615, 2610, 524, 2708, 843, 2586, 2747, 1857, 226, + /* 2050 */ 2585, 184, 2710, 846, 2712, 2713, 841, 257, 861, 228, + /* 2060 */ 1816, 84, 1815, 2563, 2562, 2561, 268, 536, 537, 2560, + /* 2070 */ 259, 266, 2559, 2727, 2503, 541, 264, 653, 1752, 2500, + /* 2080 */ 544, 2499, 2493, 548, 547, 2490, 2489, 231, 2488, 2674, + /* 2090 */ 87, 842, 2487, 2492, 2491, 256, 235, 564, 233, 2860, + /* 2100 */ 2486, 2485, 2483, 2482, 2481, 2480, 566, 2478, 2477, 2476, + /* 2110 */ 2475, 2709, 2474, 2498, 456, 2473, 2472, 2471, 2496, 2479, + /* 2120 */ 2470, 2469, 2468, 2466, 843, 2465, 2464, 2463, 2462, 2461, + /* 2130 */ 2709, 2460, 2459, 237, 2458, 93, 2457, 2708, 2456, 2528, + /* 2140 */ 2747, 2497, 2495, 843, 406, 2710, 846, 2712, 2713, 841, + /* 2150 */ 2455, 861, 2727, 2454, 2709, 1758, 2453, 242, 2452, 603, + /* 2160 */ 2451, 605, 2450, 2449, 2280, 1605, 1609, 843, 2674, 2279, + /* 2170 */ 842, 2727, 1601, 245, 2278, 422, 2277, 2275, 246, 2272, + /* 2180 */ 2271, 423, 623, 627, 2264, 2251, 2225, 2674, 2224, 842, + /* 2190 */ 73, 625, 631, 457, 629, 2727, 635, 633, 2584, 2709, + /* 2200 */ 624, 198, 628, 251, 248, 632, 1482, 249, 80, 2580, + /* 2210 */ 253, 2674, 840, 842, 262, 81, 2708, 2694, 2570, 2747, + /* 2220 */ 209, 643, 2558, 406, 2710, 846, 2712, 2713, 841, 925, + /* 2230 */ 861, 2557, 260, 265, 2534, 2708, 2527, 267, 2747, 2366, + /* 2240 */ 2727, 2274, 399, 2710, 846, 2712, 2713, 841, 1531, 861, + /* 2250 */ 2270, 2709, 664, 665, 666, 2268, 2674, 668, 842, 2708, + /* 2260 */ 669, 2266, 2747, 672, 843, 673, 187, 2710, 846, 2712, + /* 2270 */ 2713, 841, 2263, 861, 676, 670, 674, 677, 678, 2246, + /* 2280 */ 2244, 2245, 2243, 2221, 2368, 1686, 1685, 2367, 1591, 2709, + /* 2290 */ 1590, 1589, 2727, 782, 1586, 273, 1573, 1584, 927, 1582, + /* 2300 */ 1581, 2261, 843, 2259, 2708, 1580, 1579, 2747, 2674, 2250, + /* 2310 */ 842, 405, 2710, 846, 2712, 2713, 841, 447, 861, 2709, + /* 2320 */ 2767, 448, 1578, 1575, 449, 1574, 2921, 1572, 712, 2248, + /* 2330 */ 2727, 715, 843, 468, 450, 2220, 2709, 2219, 2218, 2217, + /* 2340 */ 2216, 719, 721, 723, 2215, 725, 2674, 126, 842, 843, + /* 2350 */ 1851, 1853, 1850, 1855, 28, 2583, 2708, 67, 295, 2747, + /* 2360 */ 2727, 2579, 1822, 406, 2710, 846, 2712, 2713, 841, 56, + /* 2370 */ 861, 470, 1824, 57, 2569, 746, 2674, 2727, 842, 2556, + /* 2380 */ 2555, 2904, 20, 762, 30, 747, 17, 6, 1841, 302, + /* 2390 */ 1801, 2145, 299, 2674, 2708, 842, 1800, 2747, 752, 455, + /* 2400 */ 21, 406, 2710, 846, 2712, 2713, 841, 735, 861, 754, + /* 2410 */ 178, 2119, 1826, 2709, 764, 7, 22, 202, 214, 766, + /* 2420 */ 768, 2695, 32, 2085, 731, 215, 843, 2747, 2087, 65, + /* 2430 */ 188, 401, 2710, 846, 2712, 2713, 841, 304, 861, 2126, + /* 2440 */ 201, 2708, 31, 24, 2747, 2113, 82, 2709, 391, 2710, + /* 2450 */ 846, 2712, 2713, 841, 2727, 861, 2083, 216, 2160, 2159, + /* 2460 */ 843, 460, 2164, 2165, 2163, 461, 2166, 2067, 319, 2066, + /* 2470 */ 2674, 59, 842, 193, 2554, 2533, 2709, 104, 105, 2532, + /* 2480 */ 326, 2121, 106, 204, 332, 813, 69, 334, 2727, 843, + /* 2490 */ 58, 2526, 821, 107, 25, 13, 819, 2029, 2019, 335, + /* 2500 */ 11, 876, 2018, 23, 2674, 18, 842, 1935, 1994, 879, + /* 2510 */ 337, 1993, 882, 885, 38, 194, 1992, 2727, 2708, 16, + /* 2520 */ 26, 2747, 205, 1962, 1970, 390, 2710, 846, 2712, 2713, + /* 2530 */ 841, 845, 861, 2674, 27, 842, 2525, 108, 113, 851, + /* 2540 */ 345, 862, 2181, 70, 2180, 849, 339, 109, 2752, 2179, + /* 2550 */ 2751, 860, 2708, 868, 68, 2747, 1996, 1667, 2178, 392, + /* 2560 */ 2710, 846, 2712, 2713, 841, 486, 861, 870, 872, 1664, + /* 2570 */ 2709, 873, 875, 1663, 1660, 878, 881, 1654, 1652, 884, + /* 2580 */ 1658, 2708, 1657, 843, 2747, 369, 1656, 1655, 398, 2710, + /* 2590 */ 846, 2712, 2713, 841, 2709, 861, 114, 115, 1680, 1676, + /* 2600 */ 79, 1529, 1569, 899, 1568, 1567, 1564, 843, 1561, 2709, + /* 2610 */ 1560, 2727, 1559, 1558, 1599, 1556, 1554, 913, 1553, 1552, + /* 2620 */ 915, 1598, 843, 220, 1550, 1549, 1548, 2674, 1547, 842, + /* 2630 */ 1546, 1545, 1595, 1544, 1593, 2727, 1541, 1540, 1537, 2709, + /* 2640 */ 1536, 1535, 1534, 2269, 935, 936, 2267, 937, 939, 2265, + /* 2650 */ 2727, 2674, 843, 842, 943, 940, 941, 945, 2262, 947, + /* 2660 */ 2242, 944, 948, 949, 951, 2240, 2674, 953, 842, 1471, + /* 2670 */ 2214, 957, 1458, 373, 959, 2708, 1921, 385, 2747, 963, + /* 2680 */ 2727, 2184, 402, 2710, 846, 2712, 2713, 841, 962, 861, + /* 2690 */ 2184, 2709, 2184, 2184, 2184, 2184, 2674, 2184, 842, 2708, + /* 2700 */ 2184, 2184, 2747, 2184, 843, 2184, 393, 2710, 846, 2712, + /* 2710 */ 2713, 841, 2184, 861, 2708, 2184, 2184, 2747, 2184, 2184, + /* 2720 */ 2184, 403, 2710, 846, 2712, 2713, 841, 2709, 861, 2184, + /* 2730 */ 2184, 2184, 2727, 2184, 2184, 2184, 2184, 2184, 2184, 2184, + /* 2740 */ 843, 2184, 2184, 2184, 2708, 2184, 2184, 2747, 2674, 2184, + /* 2750 */ 842, 394, 2710, 846, 2712, 2713, 841, 2709, 861, 2184, + /* 2760 */ 2184, 2184, 2184, 2184, 2184, 2184, 2184, 2184, 2727, 2184, + /* 2770 */ 843, 2184, 2184, 2184, 2709, 2184, 2184, 2184, 2184, 2184, + /* 2780 */ 2184, 2184, 2184, 2184, 2674, 2184, 842, 843, 2184, 2184, + /* 2790 */ 2184, 2184, 2184, 2184, 2184, 2184, 2708, 2184, 2727, 2747, + /* 2800 */ 2184, 2184, 2184, 404, 2710, 846, 2712, 2713, 841, 2184, + /* 2810 */ 861, 2184, 2184, 2184, 2674, 2727, 842, 2184, 2184, 2184, + /* 2820 */ 2184, 2184, 2184, 2184, 2184, 2184, 2184, 2184, 2184, 2184, + /* 2830 */ 2184, 2674, 2708, 842, 2184, 2747, 2184, 2184, 2184, 395, + /* 2840 */ 2710, 846, 2712, 2713, 841, 2184, 861, 2184, 2184, 2184, + /* 2850 */ 2184, 2709, 2184, 2184, 2184, 2184, 2184, 2184, 2184, 2184, + /* 2860 */ 2184, 2184, 2708, 2184, 843, 2747, 2184, 2184, 2184, 411, + /* 2870 */ 2710, 846, 2712, 2713, 841, 2184, 861, 2184, 2184, 2708, + /* 2880 */ 2184, 2184, 2747, 2184, 2184, 2709, 412, 2710, 846, 2712, + /* 2890 */ 2713, 841, 2727, 861, 2184, 2184, 2184, 2184, 843, 2184, + /* 2900 */ 2184, 2184, 2184, 2184, 2184, 2184, 2184, 2184, 2674, 2184, + /* 2910 */ 842, 2184, 2184, 2184, 2709, 2184, 2184, 2184, 2184, 2184, + /* 2920 */ 2184, 2184, 2184, 2184, 2184, 2184, 2727, 843, 2184, 2184, + /* 2930 */ 2184, 2184, 2184, 2184, 2184, 2184, 2184, 2184, 2184, 2184, + /* 2940 */ 2184, 2184, 2674, 2184, 842, 2184, 2184, 2184, 2184, 2184, + /* 2950 */ 2184, 2184, 2184, 2184, 2184, 2727, 2708, 2184, 2184, 2747, + /* 2960 */ 2184, 2184, 2184, 2721, 2710, 846, 2712, 2713, 841, 2184, + /* 2970 */ 861, 2674, 2184, 842, 2184, 2709, 2184, 2184, 2184, 2184, + /* 2980 */ 2184, 2184, 2184, 2184, 2184, 2184, 2184, 2184, 843, 2184, + /* 2990 */ 2708, 2184, 2184, 2747, 2184, 2184, 2184, 2720, 2710, 846, + /* 3000 */ 2712, 2713, 841, 2184, 861, 2184, 2184, 2184, 2709, 2184, + /* 3010 */ 2184, 2184, 2184, 2184, 2184, 2184, 2727, 2184, 2184, 2708, + /* 3020 */ 2184, 843, 2747, 2184, 2184, 2184, 2719, 2710, 846, 2712, + /* 3030 */ 2713, 841, 2674, 861, 842, 2184, 2184, 2184, 2184, 2184, + /* 3040 */ 2184, 2184, 2184, 2184, 2184, 2184, 2184, 2184, 2184, 2727, + /* 3050 */ 2184, 2184, 2184, 2184, 2184, 2184, 2184, 2184, 2184, 2184, + /* 3060 */ 2184, 2184, 2184, 2184, 2184, 2674, 2184, 842, 2184, 2184, + /* 3070 */ 2184, 2184, 2184, 2184, 2184, 2184, 2184, 2184, 2184, 2184, + /* 3080 */ 2708, 2184, 2184, 2747, 2184, 2709, 2184, 430, 2710, 846, + /* 3090 */ 2712, 2713, 841, 2184, 861, 2184, 2184, 2184, 843, 2184, + /* 3100 */ 2184, 2184, 2709, 2184, 2184, 2184, 2184, 2184, 2184, 2184, + /* 3110 */ 2184, 2184, 2184, 2708, 2184, 843, 2747, 2184, 2184, 2184, + /* 3120 */ 431, 2710, 846, 2712, 2713, 841, 2727, 861, 2709, 2184, + /* 3130 */ 2184, 2184, 2184, 2184, 2184, 2184, 2184, 2184, 2184, 2184, + /* 3140 */ 2184, 843, 2674, 2727, 842, 2184, 2184, 2184, 2184, 2184, + /* 3150 */ 2184, 2184, 2184, 2184, 2184, 2184, 2184, 2184, 2184, 2674, + /* 3160 */ 2184, 842, 2184, 2184, 2184, 2709, 2184, 2184, 2184, 2727, + /* 3170 */ 2184, 2184, 2184, 2184, 2184, 2184, 2184, 2184, 843, 2184, + /* 3180 */ 2184, 2184, 2184, 2184, 2184, 2674, 2184, 842, 2184, 2184, + /* 3190 */ 2708, 2184, 2184, 2747, 2184, 2184, 2184, 427, 2710, 846, + /* 3200 */ 2712, 2713, 841, 2184, 861, 2184, 2727, 2708, 2184, 2184, + /* 3210 */ 2747, 2184, 2184, 2184, 432, 2710, 846, 2712, 2713, 841, + /* 3220 */ 2184, 861, 2674, 2184, 842, 2184, 2184, 2184, 2184, 2184, + /* 3230 */ 2184, 2184, 2184, 844, 2184, 2184, 2747, 2184, 2184, 2184, + /* 3240 */ 401, 2710, 846, 2712, 2713, 841, 2184, 861, 2184, 2184, + /* 3250 */ 2184, 2184, 2184, 2184, 2184, 2184, 2184, 2184, 2184, 2184, + /* 3260 */ 2184, 2184, 2184, 2184, 2184, 2184, 2184, 2184, 2184, 2184, + /* 3270 */ 2708, 2184, 2184, 2747, 2184, 2184, 2184, 400, 2710, 846, + /* 3280 */ 2712, 2713, 841, 2184, 861, }; static const YYCODETYPE yy_lookahead[] = { - /* 0 */ 506, 507, 438, 379, 386, 391, 421, 389, 390, 519, - /* 10 */ 408, 521, 12, 13, 14, 490, 392, 453, 12, 13, - /* 20 */ 20, 0, 22, 459, 460, 8, 9, 379, 4, 12, - /* 30 */ 13, 14, 15, 16, 20, 35, 20, 37, 436, 0, - /* 40 */ 392, 516, 21, 37, 420, 24, 25, 26, 27, 28, - /* 50 */ 29, 30, 31, 32, 440, 441, 421, 443, 20, 34, - /* 60 */ 436, 447, 438, 421, 422, 2, 66, 432, 420, 391, - /* 70 */ 392, 8, 9, 73, 66, 12, 13, 14, 15, 16, - /* 80 */ 80, 0, 391, 392, 436, 419, 438, 21, 21, 487, - /* 90 */ 488, 24, 25, 26, 27, 28, 29, 30, 31, 32, - /* 100 */ 498, 435, 36, 387, 38, 39, 40, 391, 484, 393, - /* 110 */ 110, 487, 490, 113, 20, 491, 492, 493, 494, 495, - /* 120 */ 496, 386, 498, 115, 389, 390, 420, 503, 20, 505, - /* 130 */ 14, 114, 484, 509, 510, 487, 20, 113, 516, 491, - /* 140 */ 492, 493, 494, 495, 496, 497, 498, 499, 500, 149, - /* 150 */ 150, 113, 446, 529, 448, 50, 75, 76, 77, 78, - /* 160 */ 79, 537, 81, 82, 83, 84, 85, 86, 87, 88, - /* 170 */ 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, - /* 180 */ 99, 100, 101, 102, 103, 104, 105, 106, 188, 189, - /* 190 */ 512, 513, 514, 515, 20, 517, 518, 143, 198, 199, - /* 200 */ 391, 392, 188, 189, 513, 514, 515, 168, 517, 518, - /* 210 */ 517, 423, 173, 213, 426, 215, 525, 42, 525, 14, - /* 220 */ 181, 215, 8, 9, 20, 20, 12, 13, 14, 15, - /* 230 */ 16, 0, 379, 379, 543, 544, 543, 544, 420, 548, - /* 240 */ 549, 548, 549, 149, 150, 392, 421, 429, 430, 249, - /* 250 */ 250, 251, 392, 253, 254, 255, 256, 257, 258, 259, + /* 0 */ 518, 507, 508, 439, 520, 424, 522, 518, 526, 392, + /* 10 */ 393, 421, 12, 13, 14, 526, 392, 393, 424, 429, + /* 20 */ 20, 427, 22, 0, 460, 461, 544, 545, 392, 380, + /* 30 */ 440, 549, 550, 402, 545, 35, 412, 37, 549, 550, + /* 40 */ 421, 410, 393, 419, 392, 393, 33, 24, 25, 26, + /* 50 */ 27, 28, 29, 30, 31, 32, 8, 9, 43, 46, + /* 60 */ 12, 13, 14, 15, 16, 4, 447, 67, 449, 488, + /* 70 */ 421, 8, 9, 393, 74, 12, 13, 14, 15, 16, + /* 80 */ 499, 81, 488, 421, 23, 439, 437, 451, 439, 453, + /* 90 */ 379, 429, 381, 499, 12, 13, 392, 393, 392, 393, + /* 100 */ 454, 421, 440, 421, 22, 4, 460, 461, 47, 48, + /* 110 */ 49, 111, 430, 431, 114, 380, 380, 35, 412, 37, + /* 120 */ 8, 9, 421, 464, 12, 13, 14, 15, 16, 393, + /* 130 */ 513, 514, 515, 516, 485, 518, 519, 488, 20, 392, + /* 140 */ 393, 492, 493, 494, 495, 496, 497, 20, 499, 67, + /* 150 */ 150, 151, 388, 504, 22, 506, 392, 421, 394, 510, + /* 160 */ 511, 392, 393, 81, 482, 483, 514, 515, 516, 37, + /* 170 */ 518, 519, 437, 437, 494, 439, 20, 518, 526, 530, + /* 180 */ 518, 43, 167, 482, 483, 526, 74, 538, 526, 189, + /* 190 */ 190, 387, 445, 111, 390, 391, 544, 545, 20, 199, + /* 200 */ 200, 549, 550, 544, 545, 67, 544, 545, 549, 550, + /* 210 */ 392, 549, 550, 81, 214, 114, 216, 518, 514, 515, + /* 220 */ 516, 485, 518, 519, 488, 526, 401, 194, 492, 493, + /* 230 */ 494, 495, 496, 497, 122, 499, 226, 422, 502, 191, + /* 240 */ 504, 505, 506, 418, 545, 114, 510, 511, 549, 550, + /* 250 */ 250, 251, 252, 428, 254, 255, 256, 257, 258, 259, /* 260 */ 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, - /* 270 */ 270, 12, 13, 420, 407, 487, 18, 410, 20, 20, - /* 280 */ 420, 22, 228, 229, 517, 27, 498, 73, 30, 436, - /* 290 */ 436, 438, 525, 35, 35, 190, 37, 8, 9, 481, - /* 300 */ 482, 12, 13, 14, 15, 16, 201, 14, 483, 20, - /* 310 */ 52, 544, 54, 20, 420, 548, 549, 59, 60, 20, - /* 320 */ 296, 22, 513, 514, 515, 66, 517, 518, 420, 71, - /* 330 */ 391, 392, 73, 72, 296, 121, 37, 484, 430, 80, - /* 340 */ 487, 166, 448, 193, 491, 492, 493, 494, 495, 496, - /* 350 */ 411, 498, 4, 493, 501, 56, 503, 504, 505, 0, - /* 360 */ 8, 9, 509, 510, 12, 13, 14, 15, 16, 110, - /* 370 */ 112, 23, 113, 142, 143, 144, 145, 146, 147, 148, - /* 380 */ 20, 123, 20, 24, 25, 26, 27, 28, 29, 30, - /* 390 */ 31, 32, 20, 188, 46, 47, 48, 463, 113, 8, - /* 400 */ 9, 187, 468, 12, 13, 14, 15, 16, 149, 150, - /* 410 */ 391, 153, 154, 20, 156, 157, 158, 159, 160, 161, - /* 420 */ 162, 163, 164, 165, 33, 251, 166, 169, 170, 171, - /* 430 */ 172, 173, 174, 175, 176, 387, 178, 179, 180, 391, - /* 440 */ 20, 393, 184, 185, 186, 143, 144, 188, 189, 191, - /* 450 */ 148, 517, 302, 303, 304, 305, 251, 198, 199, 525, - /* 460 */ 285, 286, 287, 288, 289, 290, 291, 292, 293, 450, - /* 470 */ 423, 452, 213, 71, 215, 113, 72, 543, 544, 190, - /* 480 */ 391, 188, 548, 549, 391, 392, 391, 392, 274, 275, - /* 490 */ 276, 277, 278, 279, 280, 281, 282, 283, 284, 289, - /* 500 */ 290, 291, 292, 293, 411, 114, 411, 420, 249, 250, - /* 510 */ 251, 418, 253, 254, 255, 256, 257, 258, 259, 260, - /* 520 */ 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, - /* 530 */ 271, 12, 13, 113, 487, 37, 379, 438, 18, 20, - /* 540 */ 251, 22, 113, 23, 251, 498, 286, 287, 288, 392, - /* 550 */ 190, 122, 453, 89, 35, 37, 37, 205, 459, 460, - /* 560 */ 40, 41, 473, 474, 44, 379, 8, 9, 481, 482, - /* 570 */ 12, 13, 14, 15, 16, 55, 123, 420, 392, 166, - /* 580 */ 394, 296, 20, 80, 408, 66, 517, 67, 68, 69, - /* 590 */ 70, 71, 73, 436, 525, 438, 8, 9, 80, 80, - /* 600 */ 12, 13, 14, 15, 16, 0, 420, 75, 76, 77, - /* 610 */ 208, 251, 436, 544, 82, 83, 84, 548, 549, 155, - /* 620 */ 88, 438, 436, 391, 438, 93, 94, 95, 96, 110, - /* 630 */ 13, 99, 113, 113, 400, 103, 104, 105, 106, 237, - /* 640 */ 238, 484, 459, 460, 487, 181, 182, 42, 491, 492, - /* 650 */ 493, 494, 495, 496, 33, 498, 391, 392, 296, 195, - /* 660 */ 503, 427, 505, 487, 488, 489, 509, 510, 149, 150, - /* 670 */ 484, 151, 114, 487, 498, 323, 411, 491, 492, 493, - /* 680 */ 494, 495, 496, 418, 498, 271, 249, 455, 456, 503, - /* 690 */ 378, 505, 380, 113, 537, 509, 510, 80, 285, 286, - /* 700 */ 287, 288, 289, 290, 291, 292, 293, 188, 189, 2, - /* 710 */ 20, 149, 150, 215, 376, 8, 9, 198, 199, 12, - /* 720 */ 13, 14, 15, 16, 0, 205, 206, 207, 437, 438, - /* 730 */ 210, 4, 213, 420, 215, 12, 13, 14, 15, 16, - /* 740 */ 400, 428, 463, 223, 224, 308, 309, 310, 311, 312, - /* 750 */ 313, 314, 439, 271, 144, 273, 236, 417, 148, 239, - /* 760 */ 198, 199, 242, 243, 244, 245, 246, 427, 249, 250, - /* 770 */ 251, 37, 253, 254, 255, 256, 257, 258, 259, 260, - /* 780 */ 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, - /* 790 */ 12, 13, 14, 20, 379, 22, 517, 37, 20, 66, - /* 800 */ 22, 463, 420, 225, 525, 123, 468, 392, 3, 394, - /* 810 */ 423, 429, 430, 35, 80, 37, 296, 434, 379, 123, - /* 820 */ 437, 438, 543, 544, 22, 20, 490, 548, 549, 56, - /* 830 */ 517, 392, 222, 394, 52, 420, 20, 227, 525, 37, - /* 840 */ 230, 420, 232, 61, 66, 112, 64, 65, 115, 428, - /* 850 */ 469, 436, 516, 438, 73, 517, 543, 544, 80, 420, - /* 860 */ 439, 548, 549, 525, 391, 392, 142, 143, 144, 145, - /* 870 */ 146, 147, 148, 177, 487, 436, 296, 438, 39, 40, - /* 880 */ 190, 543, 544, 37, 411, 498, 548, 549, 110, 0, - /* 890 */ 421, 113, 142, 143, 144, 145, 146, 147, 148, 484, - /* 900 */ 57, 58, 487, 33, 379, 391, 491, 492, 493, 494, - /* 910 */ 495, 496, 110, 498, 22, 45, 183, 392, 503, 114, - /* 920 */ 505, 391, 392, 484, 509, 510, 487, 149, 150, 37, - /* 930 */ 491, 492, 493, 494, 495, 496, 502, 498, 504, 391, - /* 940 */ 392, 411, 503, 322, 505, 420, 391, 392, 509, 510, - /* 950 */ 412, 373, 374, 375, 391, 392, 117, 118, 420, 120, - /* 960 */ 420, 436, 502, 438, 504, 379, 188, 189, 428, 431, - /* 970 */ 391, 392, 80, 23, 411, 215, 198, 199, 392, 439, - /* 980 */ 394, 142, 421, 391, 392, 146, 420, 473, 474, 421, - /* 990 */ 411, 213, 444, 215, 428, 190, 22, 47, 48, 444, - /* 1000 */ 391, 392, 110, 411, 188, 439, 420, 247, 248, 484, - /* 1010 */ 113, 37, 487, 20, 396, 397, 491, 492, 493, 494, - /* 1020 */ 495, 496, 436, 498, 438, 298, 379, 249, 250, 251, - /* 1030 */ 249, 253, 254, 255, 256, 257, 258, 259, 260, 261, - /* 1040 */ 262, 263, 264, 265, 266, 267, 268, 269, 270, 12, - /* 1050 */ 13, 379, 412, 444, 80, 166, 167, 20, 421, 22, - /* 1060 */ 420, 215, 396, 397, 392, 183, 394, 251, 391, 392, - /* 1070 */ 484, 431, 35, 487, 37, 550, 551, 491, 492, 493, - /* 1080 */ 494, 495, 496, 436, 498, 405, 406, 379, 411, 503, - /* 1090 */ 401, 505, 420, 247, 248, 509, 510, 22, 409, 217, - /* 1100 */ 392, 379, 394, 66, 110, 213, 421, 215, 436, 212, - /* 1110 */ 438, 214, 37, 398, 1, 2, 379, 80, 124, 125, - /* 1120 */ 126, 127, 128, 129, 130, 131, 132, 133, 420, 135, - /* 1130 */ 136, 137, 138, 139, 140, 141, 380, 391, 392, 424, - /* 1140 */ 409, 249, 250, 246, 436, 398, 438, 110, 379, 3, - /* 1150 */ 113, 187, 391, 392, 391, 392, 484, 411, 436, 487, - /* 1160 */ 0, 392, 415, 491, 492, 493, 494, 495, 496, 420, - /* 1170 */ 498, 424, 411, 436, 411, 503, 379, 505, 391, 392, - /* 1180 */ 519, 509, 510, 190, 33, 110, 149, 150, 14, 420, - /* 1190 */ 391, 392, 484, 296, 20, 487, 45, 379, 411, 491, - /* 1200 */ 492, 493, 494, 495, 496, 436, 498, 438, 391, 392, - /* 1210 */ 411, 503, 379, 505, 12, 13, 379, 509, 510, 379, - /* 1220 */ 391, 392, 391, 392, 22, 188, 189, 114, 411, 391, - /* 1230 */ 392, 482, 72, 436, 449, 198, 199, 35, 274, 37, - /* 1240 */ 411, 20, 411, 20, 251, 14, 15, 16, 284, 411, - /* 1250 */ 213, 416, 215, 484, 436, 0, 487, 391, 392, 541, - /* 1260 */ 491, 492, 493, 494, 495, 496, 379, 498, 66, 436, - /* 1270 */ 405, 406, 503, 436, 505, 379, 436, 411, 509, 510, - /* 1280 */ 501, 142, 80, 504, 379, 146, 249, 250, 251, 0, - /* 1290 */ 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, - /* 1300 */ 263, 264, 265, 266, 267, 268, 269, 270, 12, 13, - /* 1310 */ 379, 379, 110, 478, 391, 392, 20, 379, 22, 391, - /* 1320 */ 392, 379, 379, 436, 392, 534, 420, 463, 110, 13, - /* 1330 */ 379, 35, 436, 37, 411, 433, 33, 431, 436, 411, - /* 1340 */ 379, 436, 124, 125, 126, 127, 128, 129, 130, 131, - /* 1350 */ 132, 133, 420, 135, 136, 137, 138, 139, 140, 141, - /* 1360 */ 433, 379, 66, 436, 75, 76, 77, 436, 436, 33, - /* 1370 */ 438, 82, 83, 84, 436, 552, 80, 88, 436, 436, - /* 1380 */ 420, 517, 93, 94, 95, 96, 420, 436, 99, 525, - /* 1390 */ 0, 420, 103, 104, 105, 106, 80, 436, 42, 439, - /* 1400 */ 433, 391, 392, 436, 0, 439, 110, 543, 544, 113, - /* 1410 */ 439, 413, 548, 549, 416, 213, 484, 215, 436, 487, - /* 1420 */ 382, 383, 66, 491, 492, 493, 494, 495, 496, 116, - /* 1430 */ 498, 116, 119, 116, 119, 503, 119, 505, 12, 13, - /* 1440 */ 0, 509, 510, 53, 116, 149, 150, 119, 22, 33, - /* 1450 */ 114, 249, 250, 33, 13, 13, 52, 231, 49, 233, - /* 1460 */ 35, 35, 379, 37, 318, 263, 264, 265, 266, 267, - /* 1470 */ 268, 269, 251, 33, 251, 392, 0, 52, 37, 37, - /* 1480 */ 0, 149, 150, 37, 188, 189, 61, 62, 63, 64, - /* 1490 */ 0, 66, 66, 0, 198, 199, 241, 520, 22, 395, - /* 1500 */ 8, 9, 22, 420, 12, 13, 14, 15, 16, 213, - /* 1510 */ 33, 215, 22, 420, 33, 22, 33, 13, 33, 436, - /* 1520 */ 33, 438, 113, 513, 514, 515, 80, 517, 518, 33, - /* 1530 */ 114, 408, 33, 408, 114, 33, 449, 112, 12, 13, - /* 1540 */ 115, 37, 1, 2, 33, 249, 250, 251, 390, 253, - /* 1550 */ 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, - /* 1560 */ 264, 265, 266, 267, 268, 269, 270, 484, 33, 1, - /* 1570 */ 487, 33, 12, 13, 491, 492, 493, 494, 495, 496, - /* 1580 */ 33, 498, 463, 33, 12, 13, 503, 19, 505, 12, - /* 1590 */ 13, 114, 509, 510, 379, 114, 33, 114, 33, 114, - /* 1600 */ 33, 114, 449, 35, 12, 13, 33, 392, 183, 540, - /* 1610 */ 114, 540, 540, 114, 12, 13, 114, 192, 462, 51, - /* 1620 */ 52, 196, 197, 320, 33, 114, 37, 202, 203, 61, - /* 1630 */ 62, 63, 64, 33, 66, 420, 517, 540, 395, 213, - /* 1640 */ 485, 215, 12, 13, 525, 13, 221, 12, 13, 114, - /* 1650 */ 449, 436, 114, 438, 12, 13, 12, 13, 37, 12, - /* 1660 */ 13, 114, 543, 544, 114, 392, 470, 548, 549, 37, - /* 1670 */ 435, 379, 524, 247, 248, 249, 449, 114, 449, 114, - /* 1680 */ 112, 114, 190, 115, 392, 524, 545, 114, 4, 263, - /* 1690 */ 264, 265, 266, 267, 268, 269, 511, 527, 410, 484, - /* 1700 */ 299, 80, 487, 19, 379, 114, 491, 492, 493, 494, - /* 1710 */ 495, 496, 420, 498, 114, 147, 464, 392, 52, 35, - /* 1720 */ 505, 20, 486, 20, 509, 510, 391, 230, 436, 475, - /* 1730 */ 438, 480, 475, 400, 379, 211, 52, 400, 466, 391, - /* 1740 */ 20, 392, 45, 59, 60, 420, 445, 392, 187, 392, - /* 1750 */ 66, 379, 445, 442, 392, 391, 391, 445, 404, 111, - /* 1760 */ 192, 436, 194, 438, 392, 197, 442, 109, 442, 442, - /* 1770 */ 202, 403, 391, 391, 391, 420, 484, 108, 402, 487, - /* 1780 */ 391, 384, 391, 491, 492, 493, 494, 495, 496, 221, - /* 1790 */ 498, 436, 420, 438, 20, 50, 112, 505, 388, 115, - /* 1800 */ 388, 509, 510, 384, 215, 475, 400, 400, 436, 484, - /* 1810 */ 438, 20, 487, 438, 400, 20, 491, 492, 493, 494, - /* 1820 */ 495, 496, 393, 498, 20, 465, 463, 400, 379, 463, - /* 1830 */ 505, 393, 400, 20, 509, 510, 456, 400, 20, 484, - /* 1840 */ 384, 392, 487, 450, 400, 379, 491, 492, 493, 494, - /* 1850 */ 495, 496, 400, 498, 391, 400, 484, 384, 392, 487, - /* 1860 */ 382, 382, 391, 491, 492, 493, 494, 495, 496, 420, - /* 1870 */ 498, 420, 436, 420, 420, 436, 113, 505, 420, 420, - /* 1880 */ 517, 420, 510, 517, 420, 436, 420, 438, 525, 420, - /* 1890 */ 420, 525, 420, 538, 539, 420, 436, 234, 475, 477, - /* 1900 */ 479, 398, 436, 20, 438, 474, 543, 544, 219, 543, - /* 1910 */ 544, 548, 549, 218, 548, 549, 398, 472, 471, 391, - /* 1920 */ 438, 464, 436, 307, 306, 379, 315, 461, 533, 533, - /* 1930 */ 536, 457, 204, 484, 535, 533, 487, 317, 392, 316, - /* 1940 */ 491, 492, 493, 494, 495, 496, 457, 498, 530, 532, - /* 1950 */ 484, 300, 464, 487, 379, 531, 295, 491, 492, 493, - /* 1960 */ 494, 495, 496, 324, 498, 294, 420, 392, 553, 319, - /* 1970 */ 321, 523, 522, 392, 20, 547, 546, 123, 297, 393, - /* 1980 */ 398, 490, 436, 398, 438, 436, 457, 436, 539, 436, - /* 1990 */ 528, 526, 436, 457, 436, 420, 196, 454, 436, 398, - /* 2000 */ 113, 398, 450, 508, 196, 436, 451, 461, 398, 450, - /* 2010 */ 416, 436, 398, 438, 392, 379, 436, 113, 22, 436, - /* 2020 */ 436, 38, 425, 436, 436, 391, 436, 381, 392, 436, - /* 2030 */ 484, 436, 436, 487, 436, 436, 398, 491, 492, 493, - /* 2040 */ 494, 495, 496, 436, 498, 436, 467, 385, 436, 436, - /* 2050 */ 476, 379, 384, 436, 483, 436, 420, 414, 399, 484, - /* 2060 */ 436, 436, 487, 436, 392, 436, 491, 492, 493, 494, - /* 2070 */ 495, 496, 436, 498, 438, 422, 436, 436, 414, 414, - /* 2080 */ 0, 377, 0, 0, 458, 45, 458, 0, 37, 240, - /* 2090 */ 37, 37, 420, 37, 0, 240, 37, 37, 240, 37, - /* 2100 */ 0, 0, 240, 0, 37, 0, 37, 0, 436, 0, - /* 2110 */ 438, 22, 37, 235, 0, 221, 0, 542, 221, 213, - /* 2120 */ 484, 222, 215, 487, 0, 0, 0, 491, 492, 493, - /* 2130 */ 494, 495, 496, 209, 498, 208, 0, 0, 154, 49, - /* 2140 */ 379, 49, 0, 37, 0, 0, 0, 37, 52, 0, - /* 2150 */ 0, 49, 0, 392, 173, 37, 484, 45, 0, 487, - /* 2160 */ 0, 0, 49, 491, 492, 493, 494, 495, 496, 379, - /* 2170 */ 498, 0, 500, 0, 0, 0, 0, 173, 0, 0, - /* 2180 */ 0, 420, 392, 0, 0, 0, 0, 551, 0, 0, - /* 2190 */ 379, 22, 49, 0, 0, 0, 45, 436, 0, 438, - /* 2200 */ 0, 0, 0, 392, 0, 0, 0, 0, 0, 0, - /* 2210 */ 420, 0, 0, 0, 0, 0, 0, 0, 0, 379, - /* 2220 */ 0, 0, 461, 0, 154, 153, 436, 0, 438, 152, - /* 2230 */ 0, 420, 392, 0, 66, 0, 66, 50, 0, 0, - /* 2240 */ 50, 22, 0, 66, 22, 484, 0, 436, 487, 438, - /* 2250 */ 0, 461, 491, 492, 493, 494, 495, 496, 66, 498, - /* 2260 */ 420, 37, 37, 0, 0, 0, 37, 14, 42, 37, - /* 2270 */ 0, 37, 0, 42, 484, 204, 436, 487, 438, 43, - /* 2280 */ 52, 491, 492, 493, 494, 495, 496, 42, 498, 52, - /* 2290 */ 33, 42, 52, 45, 0, 484, 49, 42, 487, 0, - /* 2300 */ 49, 0, 491, 492, 493, 494, 495, 496, 49, 498, - /* 2310 */ 42, 0, 0, 379, 0, 49, 49, 0, 74, 0, - /* 2320 */ 0, 37, 42, 52, 484, 0, 392, 487, 37, 52, - /* 2330 */ 379, 491, 492, 493, 494, 495, 496, 42, 498, 0, - /* 2340 */ 37, 52, 42, 392, 0, 37, 42, 379, 52, 0, - /* 2350 */ 0, 0, 0, 0, 420, 0, 22, 0, 37, 22, - /* 2360 */ 392, 37, 121, 37, 37, 37, 37, 37, 37, 37, - /* 2370 */ 436, 420, 438, 119, 33, 37, 33, 37, 22, 37, - /* 2380 */ 0, 22, 37, 0, 22, 0, 22, 436, 420, 438, - /* 2390 */ 0, 22, 0, 0, 0, 37, 0, 37, 0, 22, - /* 2400 */ 54, 20, 37, 37, 436, 37, 438, 37, 0, 0, - /* 2410 */ 379, 114, 49, 37, 0, 113, 0, 220, 484, 113, - /* 2420 */ 0, 487, 226, 392, 225, 491, 492, 493, 494, 495, - /* 2430 */ 496, 3, 498, 190, 22, 484, 33, 22, 487, 301, - /* 2440 */ 33, 37, 491, 492, 493, 494, 495, 496, 190, 498, - /* 2450 */ 190, 420, 484, 0, 37, 487, 50, 196, 111, 491, - /* 2460 */ 492, 493, 494, 495, 496, 33, 498, 436, 190, 438, - /* 2470 */ 33, 190, 216, 200, 200, 50, 49, 33, 49, 80, - /* 2480 */ 113, 109, 301, 33, 37, 114, 113, 3, 114, 114, - /* 2490 */ 379, 113, 33, 114, 37, 113, 0, 113, 37, 113, - /* 2500 */ 37, 114, 113, 392, 301, 114, 37, 379, 113, 37, - /* 2510 */ 37, 114, 33, 49, 114, 484, 114, 49, 487, 114, - /* 2520 */ 392, 0, 491, 492, 493, 494, 495, 496, 42, 498, - /* 2530 */ 42, 420, 113, 379, 0, 114, 42, 114, 114, 113, - /* 2540 */ 33, 193, 2, 113, 113, 111, 392, 436, 420, 438, - /* 2550 */ 22, 197, 113, 111, 285, 272, 249, 49, 49, 114, - /* 2560 */ 114, 113, 113, 22, 436, 113, 438, 113, 113, 113, - /* 2570 */ 379, 0, 114, 113, 420, 252, 114, 42, 113, 113, - /* 2580 */ 113, 193, 49, 392, 114, 114, 22, 113, 22, 113, - /* 2590 */ 436, 113, 438, 192, 113, 484, 113, 122, 487, 22, - /* 2600 */ 123, 114, 491, 492, 493, 494, 495, 496, 113, 498, - /* 2610 */ 37, 420, 484, 37, 114, 487, 37, 114, 113, 491, - /* 2620 */ 492, 493, 494, 495, 496, 37, 498, 436, 193, 438, - /* 2630 */ 114, 379, 37, 114, 37, 37, 226, 114, 484, 113, - /* 2640 */ 134, 487, 33, 113, 392, 491, 492, 493, 494, 495, - /* 2650 */ 496, 134, 498, 37, 379, 113, 134, 22, 134, 74, - /* 2660 */ 73, 22, 37, 37, 37, 37, 37, 392, 37, 37, - /* 2670 */ 37, 37, 420, 37, 37, 484, 80, 107, 487, 80, - /* 2680 */ 33, 107, 491, 492, 493, 494, 495, 496, 436, 498, - /* 2690 */ 438, 37, 37, 37, 22, 420, 37, 37, 37, 80, - /* 2700 */ 37, 37, 37, 37, 37, 22, 37, 0, 37, 52, - /* 2710 */ 42, 436, 0, 438, 37, 379, 42, 0, 37, 0, - /* 2720 */ 42, 37, 52, 0, 42, 52, 37, 52, 392, 37, - /* 2730 */ 22, 0, 22, 33, 554, 22, 484, 0, 22, 487, - /* 2740 */ 379, 21, 21, 491, 492, 493, 494, 495, 496, 22, - /* 2750 */ 498, 554, 20, 392, 554, 554, 420, 554, 554, 484, - /* 2760 */ 554, 554, 487, 554, 554, 554, 491, 492, 493, 494, - /* 2770 */ 495, 496, 436, 498, 438, 554, 554, 554, 554, 554, - /* 2780 */ 554, 420, 554, 554, 554, 554, 554, 554, 554, 554, - /* 2790 */ 554, 554, 554, 554, 554, 554, 554, 436, 554, 438, - /* 2800 */ 554, 379, 554, 554, 554, 554, 554, 554, 554, 554, - /* 2810 */ 554, 554, 554, 554, 392, 554, 554, 554, 554, 554, - /* 2820 */ 484, 554, 379, 487, 554, 554, 554, 491, 492, 493, - /* 2830 */ 494, 495, 496, 554, 498, 392, 554, 554, 554, 554, - /* 2840 */ 554, 554, 420, 554, 554, 484, 554, 554, 487, 554, - /* 2850 */ 554, 554, 491, 492, 493, 494, 495, 496, 436, 498, - /* 2860 */ 438, 554, 554, 420, 554, 554, 554, 554, 554, 554, - /* 2870 */ 554, 554, 554, 554, 554, 554, 554, 554, 554, 436, - /* 2880 */ 554, 438, 554, 379, 554, 554, 554, 554, 554, 554, - /* 2890 */ 554, 554, 554, 554, 554, 554, 392, 554, 554, 554, - /* 2900 */ 554, 554, 554, 554, 554, 554, 484, 554, 554, 487, - /* 2910 */ 554, 554, 554, 491, 492, 493, 494, 495, 496, 554, - /* 2920 */ 498, 554, 554, 554, 420, 554, 554, 484, 554, 554, - /* 2930 */ 487, 554, 554, 554, 491, 492, 493, 494, 495, 496, - /* 2940 */ 436, 498, 438, 554, 379, 554, 554, 554, 554, 554, - /* 2950 */ 554, 554, 554, 554, 554, 554, 554, 392, 554, 554, - /* 2960 */ 554, 554, 554, 379, 554, 554, 554, 554, 554, 554, - /* 2970 */ 554, 554, 554, 554, 554, 554, 392, 554, 554, 554, - /* 2980 */ 554, 554, 554, 554, 554, 420, 554, 554, 484, 554, - /* 2990 */ 554, 487, 554, 554, 554, 491, 492, 493, 494, 495, - /* 3000 */ 496, 436, 498, 438, 420, 554, 554, 554, 554, 554, - /* 3010 */ 554, 554, 554, 554, 554, 554, 554, 554, 554, 554, - /* 3020 */ 436, 554, 438, 554, 379, 554, 554, 554, 554, 554, - /* 3030 */ 554, 554, 554, 554, 554, 554, 554, 392, 554, 554, - /* 3040 */ 554, 554, 554, 554, 554, 554, 554, 554, 554, 484, - /* 3050 */ 554, 554, 487, 554, 554, 554, 491, 492, 493, 494, - /* 3060 */ 495, 496, 554, 498, 554, 420, 554, 554, 484, 554, - /* 3070 */ 554, 487, 554, 554, 554, 491, 492, 493, 494, 495, - /* 3080 */ 496, 436, 498, 438, 554, 554, 554, 554, 554, 554, - /* 3090 */ 554, 554, 554, 379, 554, 554, 554, 554, 554, 554, - /* 3100 */ 554, 554, 554, 554, 554, 554, 392, 554, 379, 554, - /* 3110 */ 554, 554, 554, 554, 554, 554, 554, 554, 554, 554, - /* 3120 */ 554, 392, 554, 554, 554, 554, 554, 554, 554, 484, - /* 3130 */ 554, 554, 487, 554, 420, 554, 491, 492, 493, 494, - /* 3140 */ 495, 496, 554, 498, 554, 554, 554, 554, 554, 420, - /* 3150 */ 436, 554, 438, 554, 554, 554, 554, 554, 554, 554, - /* 3160 */ 554, 554, 554, 554, 554, 436, 554, 438, 554, 554, - /* 3170 */ 554, 554, 554, 554, 554, 554, 554, 554, 554, 554, - /* 3180 */ 554, 554, 554, 554, 554, 554, 554, 554, 554, 554, - /* 3190 */ 554, 554, 554, 554, 554, 554, 554, 554, 484, 554, - /* 3200 */ 554, 487, 554, 554, 554, 491, 492, 493, 494, 495, - /* 3210 */ 496, 554, 498, 484, 554, 554, 487, 554, 554, 554, - /* 3220 */ 491, 492, 493, 494, 495, 496, 554, 498, 376, 376, - /* 3230 */ 376, 376, 376, 376, 376, 376, 376, 376, 376, 376, - /* 3240 */ 376, 376, 376, 376, 376, 376, 376, 376, 376, 376, - /* 3250 */ 376, 376, 376, 376, 376, 376, 376, 376, 376, 376, - /* 3260 */ 376, 376, 376, 376, 376, 376, 376, 376, 376, 376, - /* 3270 */ 376, 376, 376, 376, 376, 376, 376, 376, 376, 376, - /* 3280 */ 376, 376, 376, 376, 376, 376, 376, 376, 376, 376, - /* 3290 */ 376, 376, 376, 376, 376, 376, 376, 376, 376, 376, - /* 3300 */ 376, 376, 376, 376, 376, 376, 376, 376, 376, 376, - /* 3310 */ 376, 376, 376, 376, 376, 376, 376, 376, 376, 376, - /* 3320 */ 376, 376, 376, 376, 376, 376, 376, 376, 376, 376, - /* 3330 */ 376, 376, 376, 376, 376, 376, 376, 376, 376, 376, - /* 3340 */ 376, 376, 376, 376, 376, 376, 376, 376, 376, 376, - /* 3350 */ 376, 376, 376, 376, 376, 376, 376, 376, 376, 376, - /* 3360 */ 376, 376, 376, 376, 376, 376, 376, 376, 376, 376, - /* 3370 */ 376, 376, 376, 376, 376, 376, 376, 376, 376, 376, - /* 3380 */ 376, 376, 376, 376, 376, 376, 376, 376, 376, 376, - /* 3390 */ 376, 376, 376, 376, 376, 376, 376, 376, 376, 376, - /* 3400 */ 376, 376, 376, 376, 376, 376, 376, 376, 376, 376, - /* 3410 */ 376, 376, 376, 376, 376, 376, 376, 376, 376, 376, - /* 3420 */ 376, 376, 376, 376, 376, 376, 376, 376, 376, 376, - /* 3430 */ 376, 376, 376, 376, 376, 376, 376, 376, 376, 376, - /* 3440 */ 376, 376, 376, 376, 376, 376, 376, 376, 376, 376, - /* 3450 */ 376, 376, 376, 376, 376, 376, 376, 376, 376, 376, - /* 3460 */ 376, 376, 376, 376, 376, 376, 376, 376, 376, 376, - /* 3470 */ 376, 376, 376, 376, 376, 376, 376, 376, 376, 376, - /* 3480 */ 376, 376, 376, 376, 376, 376, 376, 376, 376, 376, - /* 3490 */ 376, 376, 376, 376, 376, 376, 376, 376, 376, 376, - /* 3500 */ 376, 376, 376, 376, 376, 376, 376, 376, 376, 376, - /* 3510 */ 376, 376, 376, 376, 376, 376, 376, 376, 376, 376, - /* 3520 */ 376, 376, 376, 376, 376, 376, 376, 376, 376, 376, - /* 3530 */ 376, 376, 376, 376, 376, 376, 376, 376, 376, 376, - /* 3540 */ 376, 376, 376, 376, 376, 376, 376, 376, 376, 376, - /* 3550 */ 376, 376, 376, 376, 376, 376, 376, 376, 376, 376, - /* 3560 */ 376, 376, 376, 376, 376, 376, 376, 376, 376, 376, - /* 3570 */ 376, 376, 376, 376, 376, 376, 376, 376, 376, 376, - /* 3580 */ 376, 376, 376, 376, 376, 376, 376, 376, 376, 376, - /* 3590 */ 376, 376, 376, 376, 376, 376, 376, 376, 376, 376, - /* 3600 */ 376, 376, 376, 376, + /* 270 */ 270, 271, 12, 13, 456, 457, 20, 18, 22, 20, + /* 280 */ 20, 20, 22, 514, 515, 516, 27, 518, 519, 30, + /* 290 */ 12, 13, 114, 37, 35, 35, 214, 37, 216, 484, + /* 300 */ 188, 286, 287, 288, 289, 290, 291, 292, 293, 294, + /* 310 */ 14, 2, 53, 57, 55, 37, 20, 8, 9, 60, + /* 320 */ 61, 12, 13, 14, 15, 16, 387, 67, 73, 390, + /* 330 */ 391, 72, 250, 251, 74, 0, 303, 304, 305, 306, + /* 340 */ 272, 81, 274, 20, 392, 421, 264, 265, 266, 267, + /* 350 */ 268, 269, 270, 67, 430, 431, 21, 20, 167, 24, + /* 360 */ 25, 26, 27, 28, 29, 30, 31, 32, 114, 145, + /* 370 */ 252, 111, 113, 149, 114, 143, 144, 145, 146, 147, + /* 380 */ 148, 149, 401, 124, 374, 375, 376, 275, 276, 277, + /* 390 */ 278, 279, 280, 281, 282, 283, 284, 285, 297, 113, + /* 400 */ 8, 9, 116, 20, 12, 13, 14, 15, 16, 428, + /* 410 */ 150, 151, 20, 154, 155, 124, 157, 158, 159, 160, + /* 420 */ 161, 162, 163, 164, 165, 166, 474, 475, 297, 170, + /* 430 */ 171, 172, 173, 174, 175, 176, 177, 114, 179, 180, + /* 440 */ 181, 167, 422, 423, 185, 186, 187, 223, 18, 189, + /* 450 */ 190, 192, 228, 23, 20, 231, 114, 233, 21, 199, + /* 460 */ 200, 24, 25, 26, 27, 28, 29, 30, 31, 32, + /* 470 */ 184, 41, 42, 21, 214, 45, 216, 286, 287, 288, + /* 480 */ 289, 290, 291, 292, 293, 294, 56, 503, 36, 505, + /* 490 */ 38, 39, 40, 41, 216, 380, 20, 420, 68, 69, + /* 500 */ 70, 71, 72, 290, 291, 292, 293, 294, 393, 421, + /* 510 */ 250, 251, 252, 436, 254, 255, 256, 257, 258, 259, + /* 520 */ 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, + /* 530 */ 270, 271, 272, 12, 13, 20, 421, 449, 22, 380, + /* 540 */ 20, 20, 392, 22, 114, 12, 13, 14, 15, 16, + /* 550 */ 111, 297, 437, 37, 439, 213, 35, 215, 37, 72, + /* 560 */ 0, 287, 288, 289, 125, 126, 127, 128, 129, 130, + /* 570 */ 131, 132, 133, 134, 380, 136, 137, 138, 139, 140, + /* 580 */ 141, 142, 152, 191, 439, 413, 250, 393, 67, 247, + /* 590 */ 422, 441, 442, 421, 444, 74, 437, 81, 448, 454, + /* 600 */ 485, 433, 81, 488, 432, 460, 461, 492, 493, 494, + /* 610 */ 495, 496, 497, 20, 499, 421, 40, 41, 143, 504, + /* 620 */ 297, 506, 147, 189, 190, 510, 511, 111, 392, 393, + /* 630 */ 421, 437, 111, 439, 114, 114, 206, 207, 208, 297, + /* 640 */ 431, 211, 424, 491, 252, 309, 310, 311, 312, 313, + /* 650 */ 314, 315, 73, 538, 224, 225, 8, 9, 392, 393, + /* 660 */ 12, 13, 14, 15, 16, 150, 151, 237, 272, 517, + /* 670 */ 240, 150, 151, 243, 244, 245, 246, 247, 412, 485, + /* 680 */ 435, 445, 488, 438, 439, 419, 492, 493, 494, 495, + /* 690 */ 496, 497, 3, 499, 118, 119, 209, 121, 504, 20, + /* 700 */ 506, 22, 392, 393, 510, 511, 488, 399, 0, 20, + /* 710 */ 189, 190, 14, 23, 199, 200, 20, 499, 20, 143, + /* 720 */ 199, 200, 412, 147, 416, 238, 239, 297, 252, 169, + /* 730 */ 214, 111, 216, 425, 174, 214, 57, 216, 48, 49, + /* 740 */ 90, 409, 182, 150, 151, 125, 126, 127, 128, 129, + /* 750 */ 130, 131, 132, 133, 134, 380, 136, 137, 138, 139, + /* 760 */ 140, 141, 142, 115, 20, 51, 250, 251, 393, 437, + /* 770 */ 395, 250, 251, 252, 421, 254, 255, 256, 257, 258, + /* 780 */ 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, + /* 790 */ 269, 270, 271, 12, 13, 14, 421, 37, 380, 392, + /* 800 */ 393, 20, 33, 22, 115, 13, 156, 37, 14, 15, + /* 810 */ 16, 393, 437, 395, 439, 46, 35, 297, 37, 0, + /* 820 */ 488, 489, 8, 9, 81, 380, 12, 13, 14, 15, + /* 830 */ 16, 499, 182, 183, 4, 20, 483, 14, 393, 421, + /* 840 */ 395, 53, 503, 20, 505, 380, 196, 380, 67, 19, + /* 850 */ 62, 491, 445, 65, 66, 437, 0, 439, 392, 393, + /* 860 */ 485, 408, 81, 488, 411, 35, 421, 492, 493, 494, + /* 870 */ 495, 496, 497, 81, 499, 167, 168, 517, 412, 504, + /* 880 */ 191, 506, 437, 53, 439, 510, 511, 189, 392, 393, + /* 890 */ 60, 61, 111, 409, 388, 114, 124, 67, 392, 421, + /* 900 */ 394, 421, 437, 485, 437, 191, 488, 429, 412, 429, + /* 910 */ 492, 493, 494, 495, 496, 497, 202, 499, 440, 14, + /* 920 */ 440, 437, 504, 20, 506, 20, 413, 188, 510, 511, + /* 930 */ 485, 150, 151, 488, 421, 191, 464, 492, 493, 494, + /* 940 */ 495, 496, 497, 113, 499, 432, 116, 392, 252, 504, + /* 950 */ 252, 506, 20, 8, 9, 510, 511, 12, 13, 14, + /* 960 */ 15, 16, 143, 144, 145, 146, 147, 148, 149, 380, + /* 970 */ 189, 190, 488, 489, 490, 422, 216, 380, 33, 37, + /* 980 */ 199, 200, 393, 499, 395, 4, 216, 392, 393, 0, + /* 990 */ 518, 392, 393, 392, 393, 214, 252, 216, 526, 143, + /* 1000 */ 144, 145, 146, 147, 148, 149, 191, 412, 248, 249, + /* 1010 */ 421, 412, 189, 412, 275, 377, 544, 545, 248, 249, + /* 1020 */ 206, 549, 550, 81, 285, 417, 437, 34, 439, 474, + /* 1030 */ 475, 250, 251, 252, 437, 254, 255, 256, 257, 258, + /* 1040 */ 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, + /* 1050 */ 269, 270, 271, 12, 13, 380, 438, 439, 380, 37, + /* 1060 */ 115, 20, 73, 22, 58, 59, 502, 252, 393, 505, + /* 1070 */ 395, 3, 392, 393, 485, 252, 35, 488, 37, 0, + /* 1080 */ 144, 492, 493, 494, 495, 496, 497, 479, 499, 392, + /* 1090 */ 393, 380, 412, 504, 191, 506, 421, 1, 2, 510, + /* 1100 */ 511, 22, 464, 81, 393, 380, 395, 469, 67, 412, + /* 1110 */ 392, 393, 437, 22, 439, 437, 76, 77, 78, 392, + /* 1120 */ 393, 189, 81, 83, 84, 85, 144, 145, 37, 89, + /* 1130 */ 412, 149, 421, 491, 94, 95, 96, 97, 324, 412, + /* 1140 */ 100, 392, 393, 380, 104, 105, 106, 107, 437, 381, + /* 1150 */ 439, 13, 111, 392, 393, 114, 518, 380, 464, 517, + /* 1160 */ 485, 412, 437, 488, 526, 229, 230, 492, 493, 494, + /* 1170 */ 495, 496, 497, 412, 499, 392, 393, 392, 393, 504, + /* 1180 */ 380, 506, 544, 545, 252, 510, 511, 549, 550, 392, + /* 1190 */ 393, 150, 151, 392, 393, 412, 485, 412, 184, 488, + /* 1200 */ 437, 22, 111, 492, 493, 494, 495, 496, 497, 412, + /* 1210 */ 499, 115, 518, 412, 437, 504, 37, 506, 380, 81, + /* 1220 */ 526, 510, 511, 12, 13, 392, 393, 392, 393, 380, + /* 1230 */ 189, 190, 218, 22, 392, 393, 470, 437, 544, 545, + /* 1240 */ 199, 200, 393, 549, 550, 412, 35, 412, 37, 422, + /* 1250 */ 397, 398, 397, 398, 412, 214, 0, 216, 399, 380, + /* 1260 */ 421, 380, 380, 380, 406, 407, 421, 380, 380, 380, + /* 1270 */ 421, 380, 406, 407, 33, 437, 380, 464, 67, 440, + /* 1280 */ 299, 410, 469, 421, 425, 440, 437, 0, 439, 393, + /* 1290 */ 111, 250, 251, 252, 432, 254, 255, 256, 257, 258, + /* 1300 */ 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, + /* 1310 */ 269, 270, 271, 12, 13, 124, 437, 421, 437, 437, + /* 1320 */ 437, 20, 0, 22, 437, 437, 437, 434, 437, 33, + /* 1330 */ 437, 518, 421, 437, 485, 439, 35, 488, 37, 526, + /* 1340 */ 53, 492, 493, 494, 495, 496, 497, 414, 499, 464, + /* 1350 */ 417, 440, 0, 504, 0, 506, 115, 544, 545, 510, + /* 1360 */ 511, 434, 549, 550, 437, 43, 8, 9, 67, 178, + /* 1370 */ 12, 13, 14, 15, 16, 434, 22, 464, 437, 383, + /* 1380 */ 384, 485, 81, 117, 488, 33, 120, 319, 492, 493, + /* 1390 */ 494, 495, 496, 497, 117, 499, 117, 120, 117, 120, + /* 1400 */ 504, 120, 506, 518, 13, 33, 510, 511, 13, 33, + /* 1410 */ 2, 526, 111, 380, 0, 114, 8, 9, 0, 422, + /* 1420 */ 12, 13, 14, 15, 16, 214, 393, 216, 37, 544, + /* 1430 */ 545, 518, 37, 67, 549, 550, 22, 33, 33, 526, + /* 1440 */ 22, 232, 33, 234, 150, 151, 1, 2, 74, 33, + /* 1450 */ 50, 150, 151, 422, 421, 33, 33, 544, 545, 248, + /* 1460 */ 249, 250, 549, 550, 33, 33, 33, 33, 33, 422, + /* 1470 */ 437, 422, 439, 115, 37, 264, 265, 266, 267, 268, + /* 1480 */ 269, 270, 116, 12, 13, 12, 13, 115, 12, 13, + /* 1490 */ 189, 190, 33, 33, 33, 12, 13, 520, 242, 553, + /* 1500 */ 199, 200, 0, 12, 13, 12, 13, 12, 13, 12, + /* 1510 */ 13, 12, 13, 450, 114, 214, 542, 216, 485, 115, + /* 1520 */ 115, 488, 12, 13, 115, 492, 493, 494, 495, 496, + /* 1530 */ 497, 115, 499, 12, 13, 535, 33, 115, 115, 506, + /* 1540 */ 521, 33, 37, 510, 511, 33, 115, 115, 115, 115, + /* 1550 */ 115, 250, 251, 252, 396, 254, 255, 256, 257, 258, + /* 1560 */ 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, + /* 1570 */ 269, 270, 271, 33, 115, 115, 115, 33, 76, 77, + /* 1580 */ 78, 79, 80, 33, 82, 83, 84, 85, 86, 87, + /* 1590 */ 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, + /* 1600 */ 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, + /* 1610 */ 1, 421, 37, 13, 13, 0, 37, 321, 115, 409, + /* 1620 */ 114, 409, 380, 115, 250, 450, 391, 115, 19, 123, + /* 1630 */ 450, 541, 463, 541, 541, 393, 541, 37, 37, 396, + /* 1640 */ 486, 393, 450, 436, 35, 471, 450, 450, 525, 525, + /* 1650 */ 546, 380, 512, 216, 528, 115, 81, 411, 465, 115, + /* 1660 */ 81, 52, 53, 421, 393, 115, 53, 300, 487, 54, + /* 1670 */ 20, 62, 63, 64, 65, 392, 67, 20, 476, 437, + /* 1680 */ 231, 439, 481, 401, 476, 401, 212, 467, 20, 392, + /* 1690 */ 46, 393, 421, 446, 443, 393, 446, 188, 392, 323, + /* 1700 */ 393, 392, 443, 446, 443, 443, 112, 110, 437, 405, + /* 1710 */ 439, 392, 404, 392, 109, 403, 392, 392, 392, 20, + /* 1720 */ 385, 216, 113, 51, 385, 116, 389, 485, 476, 389, + /* 1730 */ 488, 401, 401, 20, 492, 493, 494, 495, 496, 497, + /* 1740 */ 0, 499, 439, 401, 20, 394, 20, 401, 506, 380, + /* 1750 */ 394, 466, 510, 511, 401, 20, 485, 148, 401, 488, + /* 1760 */ 401, 20, 393, 492, 493, 494, 495, 496, 497, 451, + /* 1770 */ 499, 457, 401, 380, 392, 385, 401, 506, 392, 383, + /* 1780 */ 383, 510, 511, 421, 421, 421, 393, 385, 235, 421, + /* 1790 */ 421, 421, 437, 480, 421, 114, 476, 437, 421, 421, + /* 1800 */ 421, 421, 193, 20, 195, 421, 437, 198, 439, 399, + /* 1810 */ 478, 475, 203, 220, 421, 219, 76, 77, 78, 472, + /* 1820 */ 437, 473, 392, 83, 84, 85, 439, 399, 308, 89, + /* 1830 */ 437, 222, 439, 534, 94, 95, 96, 97, 437, 307, + /* 1840 */ 100, 316, 380, 205, 104, 105, 106, 107, 537, 534, + /* 1850 */ 465, 318, 458, 536, 485, 393, 458, 488, 317, 380, + /* 1860 */ 533, 492, 493, 494, 495, 496, 497, 498, 499, 500, + /* 1870 */ 501, 301, 393, 296, 531, 534, 532, 465, 485, 295, + /* 1880 */ 325, 488, 554, 421, 523, 492, 493, 494, 495, 496, + /* 1890 */ 497, 322, 499, 548, 320, 20, 547, 393, 491, 437, + /* 1900 */ 421, 439, 124, 437, 298, 524, 399, 394, 35, 458, + /* 1910 */ 399, 458, 437, 197, 437, 437, 437, 529, 439, 527, + /* 1920 */ 455, 437, 399, 437, 114, 399, 53, 437, 509, 197, + /* 1930 */ 399, 451, 539, 540, 452, 62, 63, 64, 65, 380, + /* 1940 */ 67, 417, 399, 451, 393, 114, 22, 485, 426, 38, + /* 1950 */ 488, 437, 393, 437, 492, 493, 494, 495, 496, 497, + /* 1960 */ 399, 499, 382, 385, 485, 437, 437, 488, 392, 386, + /* 1970 */ 378, 492, 493, 494, 495, 496, 497, 477, 499, 437, + /* 1980 */ 421, 0, 437, 437, 437, 506, 113, 468, 400, 116, + /* 1990 */ 511, 437, 0, 437, 437, 437, 437, 437, 439, 437, + /* 2000 */ 437, 437, 437, 437, 437, 437, 415, 459, 437, 437, + /* 2010 */ 437, 484, 423, 551, 552, 0, 46, 415, 415, 0, + /* 2020 */ 37, 241, 37, 37, 37, 241, 0, 37, 37, 241, + /* 2030 */ 37, 0, 380, 241, 0, 37, 0, 37, 0, 22, + /* 2040 */ 459, 0, 0, 37, 485, 393, 0, 488, 236, 222, + /* 2050 */ 0, 492, 493, 494, 495, 496, 497, 184, 499, 222, + /* 2060 */ 216, 223, 214, 0, 0, 0, 193, 210, 209, 0, + /* 2070 */ 197, 198, 0, 421, 155, 50, 203, 204, 50, 0, + /* 2080 */ 37, 0, 0, 53, 37, 0, 0, 50, 0, 437, + /* 2090 */ 46, 439, 0, 0, 0, 222, 174, 37, 50, 540, + /* 2100 */ 0, 0, 0, 0, 0, 0, 174, 0, 0, 0, + /* 2110 */ 0, 380, 0, 0, 462, 0, 0, 0, 0, 0, + /* 2120 */ 0, 0, 0, 0, 393, 0, 0, 0, 0, 0, + /* 2130 */ 380, 0, 0, 50, 0, 46, 0, 485, 0, 0, + /* 2140 */ 488, 0, 0, 393, 492, 493, 494, 495, 496, 497, + /* 2150 */ 0, 499, 421, 0, 380, 22, 0, 155, 0, 154, + /* 2160 */ 0, 153, 0, 0, 0, 22, 22, 393, 437, 0, + /* 2170 */ 439, 421, 37, 67, 0, 51, 0, 0, 67, 0, + /* 2180 */ 0, 51, 37, 37, 0, 0, 0, 437, 0, 439, + /* 2190 */ 122, 43, 37, 462, 43, 421, 37, 43, 0, 380, + /* 2200 */ 53, 33, 53, 46, 67, 53, 14, 67, 43, 0, + /* 2210 */ 44, 437, 393, 439, 205, 43, 485, 50, 0, 488, + /* 2220 */ 50, 50, 0, 492, 493, 494, 495, 496, 497, 33, + /* 2230 */ 499, 0, 43, 50, 0, 485, 0, 50, 488, 0, + /* 2240 */ 421, 0, 492, 493, 494, 495, 496, 497, 75, 499, + /* 2250 */ 0, 380, 37, 53, 43, 0, 437, 37, 439, 485, + /* 2260 */ 53, 0, 488, 37, 393, 53, 492, 493, 494, 495, + /* 2270 */ 496, 497, 0, 499, 37, 43, 43, 53, 43, 0, + /* 2280 */ 0, 0, 0, 0, 0, 37, 22, 0, 22, 380, + /* 2290 */ 37, 37, 421, 543, 37, 120, 22, 37, 33, 37, + /* 2300 */ 37, 0, 393, 0, 485, 37, 37, 488, 437, 0, + /* 2310 */ 439, 492, 493, 494, 495, 496, 497, 22, 499, 380, + /* 2320 */ 501, 22, 37, 37, 22, 37, 552, 37, 55, 0, + /* 2330 */ 421, 37, 393, 462, 22, 0, 380, 0, 0, 0, + /* 2340 */ 0, 37, 37, 37, 0, 22, 437, 20, 439, 393, + /* 2350 */ 37, 37, 37, 115, 114, 0, 485, 114, 50, 488, + /* 2360 */ 421, 0, 37, 492, 493, 494, 495, 496, 497, 191, + /* 2370 */ 499, 462, 22, 191, 0, 22, 437, 421, 439, 0, + /* 2380 */ 0, 3, 33, 37, 114, 191, 302, 51, 227, 114, + /* 2390 */ 191, 115, 197, 437, 485, 439, 191, 488, 201, 37, + /* 2400 */ 33, 492, 493, 494, 495, 496, 497, 226, 499, 201, + /* 2410 */ 217, 115, 221, 380, 114, 51, 33, 33, 50, 112, + /* 2420 */ 110, 50, 33, 81, 485, 33, 393, 488, 37, 3, + /* 2430 */ 114, 492, 493, 494, 495, 496, 497, 115, 499, 115, + /* 2440 */ 114, 485, 114, 33, 488, 115, 114, 380, 492, 493, + /* 2450 */ 494, 495, 496, 497, 421, 499, 115, 114, 37, 37, + /* 2460 */ 393, 37, 37, 115, 37, 37, 115, 115, 50, 115, + /* 2470 */ 437, 33, 439, 50, 0, 0, 380, 114, 43, 0, + /* 2480 */ 115, 115, 43, 114, 114, 194, 114, 198, 421, 393, + /* 2490 */ 286, 0, 194, 43, 33, 2, 115, 250, 112, 114, + /* 2500 */ 273, 114, 112, 302, 437, 302, 439, 22, 115, 114, + /* 2510 */ 193, 115, 114, 114, 114, 50, 115, 421, 485, 114, + /* 2520 */ 114, 488, 50, 115, 22, 492, 493, 494, 495, 496, + /* 2530 */ 497, 253, 499, 437, 114, 439, 0, 43, 123, 194, + /* 2540 */ 50, 124, 22, 114, 22, 115, 114, 114, 114, 22, + /* 2550 */ 114, 114, 485, 37, 114, 488, 115, 115, 227, 492, + /* 2560 */ 493, 494, 495, 496, 497, 37, 499, 114, 37, 115, + /* 2570 */ 380, 114, 37, 115, 115, 37, 37, 115, 115, 37, + /* 2580 */ 135, 485, 135, 393, 488, 33, 135, 135, 492, 493, + /* 2590 */ 494, 495, 496, 497, 380, 499, 114, 114, 37, 22, + /* 2600 */ 114, 75, 22, 74, 37, 37, 37, 393, 37, 380, + /* 2610 */ 37, 421, 37, 37, 81, 37, 37, 108, 37, 37, + /* 2620 */ 108, 81, 393, 33, 37, 37, 37, 437, 22, 439, + /* 2630 */ 37, 37, 81, 37, 37, 421, 37, 37, 37, 380, + /* 2640 */ 37, 22, 37, 0, 37, 53, 0, 43, 37, 0, + /* 2650 */ 421, 437, 393, 439, 37, 53, 43, 43, 0, 37, + /* 2660 */ 0, 53, 53, 43, 37, 0, 437, 22, 439, 37, + /* 2670 */ 0, 33, 22, 22, 21, 485, 22, 22, 488, 20, + /* 2680 */ 421, 555, 492, 493, 494, 495, 496, 497, 21, 499, + /* 2690 */ 555, 380, 555, 555, 555, 555, 437, 555, 439, 485, + /* 2700 */ 555, 555, 488, 555, 393, 555, 492, 493, 494, 495, + /* 2710 */ 496, 497, 555, 499, 485, 555, 555, 488, 555, 555, + /* 2720 */ 555, 492, 493, 494, 495, 496, 497, 380, 499, 555, + /* 2730 */ 555, 555, 421, 555, 555, 555, 555, 555, 555, 555, + /* 2740 */ 393, 555, 555, 555, 485, 555, 555, 488, 437, 555, + /* 2750 */ 439, 492, 493, 494, 495, 496, 497, 380, 499, 555, + /* 2760 */ 555, 555, 555, 555, 555, 555, 555, 555, 421, 555, + /* 2770 */ 393, 555, 555, 555, 380, 555, 555, 555, 555, 555, + /* 2780 */ 555, 555, 555, 555, 437, 555, 439, 393, 555, 555, + /* 2790 */ 555, 555, 555, 555, 555, 555, 485, 555, 421, 488, + /* 2800 */ 555, 555, 555, 492, 493, 494, 495, 496, 497, 555, + /* 2810 */ 499, 555, 555, 555, 437, 421, 439, 555, 555, 555, + /* 2820 */ 555, 555, 555, 555, 555, 555, 555, 555, 555, 555, + /* 2830 */ 555, 437, 485, 439, 555, 488, 555, 555, 555, 492, + /* 2840 */ 493, 494, 495, 496, 497, 555, 499, 555, 555, 555, + /* 2850 */ 555, 380, 555, 555, 555, 555, 555, 555, 555, 555, + /* 2860 */ 555, 555, 485, 555, 393, 488, 555, 555, 555, 492, + /* 2870 */ 493, 494, 495, 496, 497, 555, 499, 555, 555, 485, + /* 2880 */ 555, 555, 488, 555, 555, 380, 492, 493, 494, 495, + /* 2890 */ 496, 497, 421, 499, 555, 555, 555, 555, 393, 555, + /* 2900 */ 555, 555, 555, 555, 555, 555, 555, 555, 437, 555, + /* 2910 */ 439, 555, 555, 555, 380, 555, 555, 555, 555, 555, + /* 2920 */ 555, 555, 555, 555, 555, 555, 421, 393, 555, 555, + /* 2930 */ 555, 555, 555, 555, 555, 555, 555, 555, 555, 555, + /* 2940 */ 555, 555, 437, 555, 439, 555, 555, 555, 555, 555, + /* 2950 */ 555, 555, 555, 555, 555, 421, 485, 555, 555, 488, + /* 2960 */ 555, 555, 555, 492, 493, 494, 495, 496, 497, 555, + /* 2970 */ 499, 437, 555, 439, 555, 380, 555, 555, 555, 555, + /* 2980 */ 555, 555, 555, 555, 555, 555, 555, 555, 393, 555, + /* 2990 */ 485, 555, 555, 488, 555, 555, 555, 492, 493, 494, + /* 3000 */ 495, 496, 497, 555, 499, 555, 555, 555, 380, 555, + /* 3010 */ 555, 555, 555, 555, 555, 555, 421, 555, 555, 485, + /* 3020 */ 555, 393, 488, 555, 555, 555, 492, 493, 494, 495, + /* 3030 */ 496, 497, 437, 499, 439, 555, 555, 555, 555, 555, + /* 3040 */ 555, 555, 555, 555, 555, 555, 555, 555, 555, 421, + /* 3050 */ 555, 555, 555, 555, 555, 555, 555, 555, 555, 555, + /* 3060 */ 555, 555, 555, 555, 555, 437, 555, 439, 555, 555, + /* 3070 */ 555, 555, 555, 555, 555, 555, 555, 555, 555, 555, + /* 3080 */ 485, 555, 555, 488, 555, 380, 555, 492, 493, 494, + /* 3090 */ 495, 496, 497, 555, 499, 555, 555, 555, 393, 555, + /* 3100 */ 555, 555, 380, 555, 555, 555, 555, 555, 555, 555, + /* 3110 */ 555, 555, 555, 485, 555, 393, 488, 555, 555, 555, + /* 3120 */ 492, 493, 494, 495, 496, 497, 421, 499, 380, 555, + /* 3130 */ 555, 555, 555, 555, 555, 555, 555, 555, 555, 555, + /* 3140 */ 555, 393, 437, 421, 439, 555, 555, 555, 555, 555, + /* 3150 */ 555, 555, 555, 555, 555, 555, 555, 555, 555, 437, + /* 3160 */ 555, 439, 555, 555, 555, 380, 555, 555, 555, 421, + /* 3170 */ 555, 555, 555, 555, 555, 555, 555, 555, 393, 555, + /* 3180 */ 555, 555, 555, 555, 555, 437, 555, 439, 555, 555, + /* 3190 */ 485, 555, 555, 488, 555, 555, 555, 492, 493, 494, + /* 3200 */ 495, 496, 497, 555, 499, 555, 421, 485, 555, 555, + /* 3210 */ 488, 555, 555, 555, 492, 493, 494, 495, 496, 497, + /* 3220 */ 555, 499, 437, 555, 439, 555, 555, 555, 555, 555, + /* 3230 */ 555, 555, 555, 485, 555, 555, 488, 555, 555, 555, + /* 3240 */ 492, 493, 494, 495, 496, 497, 555, 499, 555, 555, + /* 3250 */ 555, 555, 555, 555, 555, 555, 555, 555, 555, 555, + /* 3260 */ 555, 555, 555, 555, 555, 555, 555, 555, 555, 555, + /* 3270 */ 485, 555, 555, 488, 555, 555, 555, 492, 493, 494, + /* 3280 */ 495, 496, 497, 555, 499, 377, 377, 377, 377, 377, + /* 3290 */ 377, 377, 377, 377, 377, 377, 377, 377, 377, 377, + /* 3300 */ 377, 377, 377, 377, 377, 377, 377, 377, 377, 377, + /* 3310 */ 377, 377, 377, 377, 377, 377, 377, 377, 377, 377, + /* 3320 */ 377, 377, 377, 377, 377, 377, 377, 377, 377, 377, + /* 3330 */ 377, 377, 377, 377, 377, 377, 377, 377, 377, 377, + /* 3340 */ 377, 377, 377, 377, 377, 377, 377, 377, 377, 377, + /* 3350 */ 377, 377, 377, 377, 377, 377, 377, 377, 377, 377, + /* 3360 */ 377, 377, 377, 377, 377, 377, 377, 377, 377, 377, + /* 3370 */ 377, 377, 377, 377, 377, 377, 377, 377, 377, 377, + /* 3380 */ 377, 377, 377, 377, 377, 377, 377, 377, 377, 377, + /* 3390 */ 377, 377, 377, 377, 377, 377, 377, 377, 377, 377, + /* 3400 */ 377, 377, 377, 377, 377, 377, 377, 377, 377, 377, + /* 3410 */ 377, 377, 377, 377, 377, 377, 377, 377, 377, 377, + /* 3420 */ 377, 377, 377, 377, 377, 377, 377, 377, 377, 377, + /* 3430 */ 377, 377, 377, 377, 377, 377, 377, 377, 377, 377, + /* 3440 */ 377, 377, 377, 377, 377, 377, 377, 377, 377, 377, + /* 3450 */ 377, 377, 377, 377, 377, 377, 377, 377, 377, 377, + /* 3460 */ 377, 377, 377, 377, 377, 377, 377, 377, 377, 377, + /* 3470 */ 377, 377, 377, 377, 377, 377, 377, 377, 377, 377, + /* 3480 */ 377, 377, 377, 377, 377, 377, 377, 377, 377, 377, + /* 3490 */ 377, 377, 377, 377, 377, 377, 377, 377, 377, 377, + /* 3500 */ 377, 377, 377, 377, 377, 377, 377, 377, 377, 377, + /* 3510 */ 377, 377, 377, 377, 377, 377, 377, 377, 377, 377, + /* 3520 */ 377, 377, 377, 377, 377, 377, 377, 377, 377, 377, + /* 3530 */ 377, 377, 377, 377, 377, 377, 377, 377, 377, 377, + /* 3540 */ 377, 377, 377, 377, 377, 377, 377, 377, 377, 377, + /* 3550 */ 377, 377, 377, 377, 377, 377, 377, 377, 377, 377, + /* 3560 */ 377, 377, 377, 377, 377, 377, 377, 377, 377, 377, + /* 3570 */ 377, 377, 377, 377, 377, 377, 377, 377, 377, 377, + /* 3580 */ 377, 377, 377, 377, 377, 377, 377, 377, 377, 377, + /* 3590 */ 377, 377, 377, 377, 377, 377, 377, 377, 377, 377, + /* 3600 */ 377, 377, 377, 377, 377, 377, 377, 377, 377, 377, + /* 3610 */ 377, 377, 377, 377, 377, 377, 377, 377, 377, 377, + /* 3620 */ 377, 377, 377, 377, 377, 377, 377, 377, 377, 377, + /* 3630 */ 377, 377, 377, 377, 377, 377, 377, 377, 377, 377, + /* 3640 */ 377, 377, 377, 377, 377, 377, 377, 377, 377, 377, + /* 3650 */ 377, 377, 377, 377, 377, 377, 377, 377, 377, 377, + /* 3660 */ 377, 377, }; -#define YY_SHIFT_COUNT (962) +#define YY_SHIFT_COUNT (964) #define YY_SHIFT_MIN (0) -#define YY_SHIFT_MAX (2737) +#define YY_SHIFT_MAX (2670) static const unsigned short int yy_shift_ofst[] = { - /* 0 */ 520, 0, 259, 0, 519, 519, 519, 519, 519, 519, - /* 10 */ 519, 519, 519, 519, 519, 519, 778, 1037, 1037, 1296, - /* 20 */ 1037, 1037, 1037, 1037, 1037, 1037, 1037, 1037, 1037, 1037, - /* 30 */ 1037, 1037, 1037, 1037, 1037, 1037, 1037, 1037, 1037, 1037, - /* 40 */ 1037, 1037, 1037, 1037, 1037, 1037, 1037, 1037, 1037, 1037, - /* 50 */ 38, 362, 897, 420, 285, 580, 285, 285, 420, 420, - /* 60 */ 285, 1202, 285, 258, 1202, 24, 285, 16, 1426, 562, - /* 70 */ 562, 108, 108, 1426, 1426, 348, 348, 562, 14, 94, - /* 80 */ 116, 116, 174, 108, 108, 108, 108, 108, 108, 108, - /* 90 */ 108, 108, 108, 108, 204, 372, 393, 108, 108, 261, - /* 100 */ 16, 108, 204, 108, 16, 108, 108, 108, 108, 16, - /* 110 */ 108, 108, 16, 108, 16, 16, 16, 108, 404, 214, - /* 120 */ 214, 994, 994, 1218, 532, 175, 67, 892, 892, 892, - /* 130 */ 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, - /* 140 */ 892, 892, 892, 892, 892, 892, 839, 805, 14, 94, - /* 150 */ 843, 843, 518, 690, 690, 690, 482, 482, 1160, 617, - /* 160 */ 518, 261, 16, 453, 16, 16, 414, 16, 16, 503, - /* 170 */ 16, 503, 503, 682, 25, 994, 994, 994, 994, 994, - /* 180 */ 994, 1568, 1289, 21, 289, 413, 413, 352, 437, 150, - /* 190 */ 210, 299, 260, 205, 293, 6, 6, 360, 950, 993, - /* 200 */ 974, 974, 974, 105, 974, 816, 773, 1356, 1221, 1174, - /* 210 */ 1139, 882, 1221, 1221, 1223, 1316, 1316, 1146, 870, 727, - /* 220 */ 617, 1401, 1666, 1701, 1703, 1497, 261, 1703, 261, 1524, - /* 230 */ 1701, 1720, 1697, 1720, 1697, 1561, 1701, 1720, 1701, 1697, - /* 240 */ 1561, 1561, 1561, 1648, 1658, 1701, 1701, 1669, 1701, 1701, - /* 250 */ 1701, 1774, 1745, 1774, 1745, 1703, 261, 261, 1791, 261, - /* 260 */ 1795, 1804, 261, 1795, 261, 1813, 261, 1818, 261, 261, - /* 270 */ 1701, 261, 1774, 16, 16, 16, 16, 16, 16, 16, - /* 280 */ 16, 16, 16, 16, 1701, 25, 25, 1774, 503, 503, - /* 290 */ 503, 1663, 1763, 1703, 404, 1883, 1689, 1695, 1791, 404, - /* 300 */ 1401, 1701, 503, 1616, 1618, 1616, 1618, 1611, 1728, 1616, - /* 310 */ 1620, 1623, 1651, 1401, 1661, 1671, 1639, 1649, 1650, 1720, - /* 320 */ 1954, 1854, 1681, 1795, 404, 404, 1618, 503, 503, 503, - /* 330 */ 503, 1618, 503, 1800, 404, 503, 1818, 404, 1887, 503, - /* 340 */ 1808, 1818, 404, 682, 404, 1720, 503, 503, 503, 503, - /* 350 */ 503, 503, 503, 503, 503, 503, 503, 503, 503, 503, - /* 360 */ 503, 503, 503, 503, 503, 503, 503, 503, 1904, 503, - /* 370 */ 1701, 404, 1996, 1983, 1774, 3228, 3228, 3228, 3228, 3228, - /* 380 */ 3228, 3228, 3228, 3228, 3228, 3228, 81, 1425, 359, 1684, - /* 390 */ 391, 17, 558, 63, 707, 1492, 231, 724, 588, 588, - /* 400 */ 588, 588, 588, 588, 588, 588, 588, 750, 610, 464, - /* 410 */ 66, 723, 723, 402, 733, 39, 782, 578, 760, 846, - /* 420 */ 578, 889, 802, 1075, 54, 302, 302, 1231, 1113, 964, - /* 430 */ 1231, 1231, 1231, 1404, 1255, 1336, 605, 1151, 696, 1440, - /* 440 */ 1313, 1315, 1317, 1328, 734, 1441, 1442, 1476, 1480, 1490, - /* 450 */ 1493, 1226, 1416, 1420, 8, 1477, 1481, 1485, 1487, 1332, - /* 460 */ 1303, 621, 1483, 1496, 1499, 1541, 1502, 781, 1511, 1409, - /* 470 */ 1535, 1538, 1547, 1550, 1526, 1560, 1572, 1577, 1592, 1602, - /* 480 */ 1630, 1635, 1642, 1644, 1647, 1563, 1565, 1567, 1573, 1591, - /* 490 */ 1600, 429, 1446, 498, 1589, 1504, 1632, 1621, 1390, 2080, - /* 500 */ 2082, 2083, 2040, 2087, 2051, 1849, 2053, 2054, 2056, 1855, - /* 510 */ 2094, 2059, 2060, 1858, 2062, 2100, 2101, 1862, 2103, 2067, - /* 520 */ 2105, 2069, 2107, 2089, 2109, 2075, 1878, 2114, 1894, 2116, - /* 530 */ 1897, 1899, 1907, 1906, 2124, 2125, 2126, 1924, 1927, 2136, - /* 540 */ 2137, 1984, 2090, 2092, 2142, 2106, 2144, 2145, 2110, 2096, - /* 550 */ 2146, 2102, 2149, 2112, 2150, 2152, 2158, 2113, 2160, 2161, - /* 560 */ 2171, 2173, 2174, 2175, 1981, 2118, 2176, 2004, 2178, 2179, - /* 570 */ 2180, 2183, 2184, 2185, 2186, 2188, 2189, 2198, 2200, 2201, - /* 580 */ 2202, 2204, 2205, 2206, 2207, 2208, 2209, 2211, 2143, 2193, - /* 590 */ 2151, 2194, 2195, 2212, 2213, 2214, 2215, 2216, 2217, 2218, - /* 600 */ 2169, 2220, 2070, 2221, 2072, 2223, 2077, 2227, 2230, 2219, - /* 610 */ 2187, 2222, 2190, 2233, 2168, 2235, 2170, 2224, 2238, 2177, - /* 620 */ 2239, 2192, 2242, 2246, 2225, 2228, 2226, 2250, 2229, 2237, - /* 630 */ 2231, 2263, 2232, 2240, 2245, 2264, 2234, 2265, 2248, 2249, - /* 640 */ 2257, 2247, 2251, 2253, 2259, 2270, 2236, 2255, 2272, 2294, - /* 650 */ 2299, 2301, 2268, 2071, 2311, 2247, 2266, 2312, 2247, 2267, - /* 660 */ 2314, 2317, 2244, 2319, 2320, 2284, 2271, 2280, 2325, 2291, - /* 670 */ 2277, 2295, 2339, 2303, 2289, 2300, 2344, 2308, 2296, 2304, - /* 680 */ 2349, 2350, 2351, 2352, 2353, 2355, 2241, 2254, 2321, 2334, - /* 690 */ 2357, 2337, 2324, 2326, 2327, 2328, 2329, 2330, 2331, 2332, - /* 700 */ 2338, 2341, 2343, 2340, 2342, 2356, 2345, 2380, 2359, 2383, - /* 710 */ 2362, 2385, 2364, 2346, 2390, 2369, 2358, 2392, 2393, 2394, - /* 720 */ 2360, 2396, 2365, 2398, 2377, 2381, 2366, 2368, 2370, 2297, - /* 730 */ 2302, 2408, 2243, 2196, 2199, 2306, 2197, 2247, 2363, 2409, - /* 740 */ 2258, 2376, 2412, 2414, 2256, 2415, 2260, 2261, 2416, 2420, - /* 750 */ 2278, 2273, 2281, 2274, 2428, 2403, 2138, 2367, 2371, 2373, - /* 760 */ 2374, 2404, 2417, 2378, 2406, 2347, 2425, 2372, 2375, 2407, - /* 770 */ 2432, 2379, 2382, 2384, 2386, 2387, 2437, 2427, 2429, 2389, - /* 780 */ 2444, 2181, 2399, 2391, 2450, 2395, 2447, 2397, 2400, 2484, - /* 790 */ 2459, 2203, 2457, 2461, 2463, 2469, 2472, 2473, 2402, 2405, - /* 800 */ 2464, 2269, 2479, 2468, 2453, 2496, 2419, 2486, 2421, 2423, - /* 810 */ 2426, 2430, 2348, 2431, 2521, 2488, 2354, 2534, 2424, 2439, - /* 820 */ 2388, 2494, 2401, 2507, 2434, 2283, 2442, 2540, 2528, 2307, - /* 830 */ 2445, 2446, 2448, 2449, 2452, 2454, 2455, 2458, 2508, 2456, - /* 840 */ 2460, 2509, 2462, 2541, 2323, 2465, 2466, 2571, 2470, 2467, - /* 850 */ 2435, 2535, 2474, 2475, 2247, 2533, 2476, 2478, 2471, 2481, - /* 860 */ 2483, 2477, 2564, 2566, 2577, 2410, 2487, 2573, 2576, 2495, - /* 870 */ 2500, 2579, 2505, 2503, 2588, 2448, 2516, 2595, 2449, 2519, - /* 880 */ 2597, 2452, 2523, 2598, 2454, 2506, 2517, 2522, 2524, 2526, - /* 890 */ 2609, 2530, 2616, 2542, 2609, 2609, 2635, 2585, 2587, 2639, - /* 900 */ 2625, 2626, 2627, 2628, 2629, 2631, 2632, 2633, 2634, 2636, - /* 910 */ 2637, 2596, 2570, 2599, 2574, 2647, 2654, 2655, 2656, 2672, - /* 920 */ 2659, 2660, 2661, 2619, 2341, 2663, 2343, 2664, 2665, 2666, - /* 930 */ 2667, 2683, 2669, 2707, 2671, 2657, 2668, 2712, 2677, 2670, - /* 940 */ 2674, 2717, 2681, 2673, 2678, 2719, 2684, 2675, 2682, 2723, - /* 950 */ 2689, 2737, 2708, 2692, 2731, 2710, 2700, 2713, 2720, 2716, - /* 960 */ 2727, 2721, 2732, + /* 0 */ 430, 0, 260, 0, 521, 521, 521, 521, 521, 521, + /* 10 */ 521, 521, 521, 521, 521, 521, 781, 1041, 1041, 1301, + /* 20 */ 1041, 1041, 1041, 1041, 1041, 1041, 1041, 1041, 1041, 1041, + /* 30 */ 1041, 1041, 1041, 1041, 1041, 1041, 1041, 1041, 1041, 1041, + /* 40 */ 1041, 1041, 1041, 1041, 1041, 1041, 1041, 1041, 1041, 1041, + /* 50 */ 323, 520, 342, 178, 131, 254, 131, 131, 178, 178, + /* 60 */ 131, 82, 131, 259, 82, 101, 131, 127, 1211, 515, + /* 70 */ 515, 156, 156, 1211, 1211, 61, 61, 515, 434, 593, + /* 80 */ 296, 296, 118, 156, 156, 156, 156, 156, 156, 156, + /* 90 */ 156, 156, 156, 156, 261, 337, 383, 156, 156, 255, + /* 100 */ 127, 156, 261, 156, 127, 156, 156, 156, 156, 127, + /* 110 */ 156, 156, 127, 156, 127, 127, 127, 156, 579, 112, + /* 120 */ 112, 439, 439, 620, 1040, 15, 437, 516, 516, 516, + /* 130 */ 516, 516, 516, 516, 516, 516, 516, 516, 516, 516, + /* 140 */ 516, 516, 516, 516, 516, 516, 576, 689, 434, 593, + /* 150 */ 1006, 1006, 942, 903, 903, 903, 68, 68, 989, 792, + /* 160 */ 942, 255, 127, 291, 127, 127, 396, 127, 127, 743, + /* 170 */ 127, 743, 743, 772, 993, 439, 439, 439, 439, 439, + /* 180 */ 439, 1609, 1740, 335, 392, 191, 191, 814, 336, 33, + /* 190 */ 213, 256, 274, 698, 823, 278, 278, 744, 690, 815, + /* 200 */ 132, 132, 132, 714, 132, 932, 679, 138, 476, 905, + /* 210 */ 475, 1014, 476, 476, 696, 1138, 1138, 1068, 13, 981, + /* 220 */ 792, 1367, 1613, 1650, 1657, 1449, 255, 1657, 255, 1474, + /* 230 */ 1650, 1668, 1644, 1668, 1644, 1509, 1650, 1668, 1650, 1644, + /* 240 */ 1509, 1509, 1509, 1594, 1597, 1650, 1650, 1605, 1650, 1650, + /* 250 */ 1650, 1699, 1672, 1699, 1672, 1657, 255, 255, 1713, 255, + /* 260 */ 1724, 1726, 255, 1724, 255, 1735, 255, 1741, 255, 255, + /* 270 */ 1650, 255, 1699, 127, 127, 127, 127, 127, 127, 127, + /* 280 */ 127, 127, 127, 127, 1650, 993, 993, 1699, 743, 743, + /* 290 */ 743, 1553, 1681, 1657, 579, 1783, 1593, 1596, 1713, 579, + /* 300 */ 1367, 1650, 743, 1520, 1532, 1520, 1532, 1525, 1638, 1520, + /* 310 */ 1533, 1541, 1570, 1367, 1577, 1584, 1555, 1569, 1574, 1668, + /* 320 */ 1875, 1778, 1606, 1724, 579, 579, 1532, 743, 743, 743, + /* 330 */ 743, 1532, 743, 1716, 579, 743, 1741, 579, 1810, 743, + /* 340 */ 1732, 1741, 579, 772, 579, 1668, 743, 743, 743, 743, + /* 350 */ 743, 743, 743, 743, 743, 743, 743, 743, 743, 743, + /* 360 */ 743, 743, 743, 743, 743, 743, 743, 743, 1831, 743, + /* 370 */ 1650, 579, 1924, 1911, 1699, 3285, 3285, 3285, 3285, 3285, + /* 380 */ 3285, 3285, 3285, 3285, 3285, 3285, 1502, 1873, 23, 830, + /* 390 */ 945, 648, 1358, 309, 1408, 48, 819, 856, 63, 63, + /* 400 */ 63, 63, 63, 63, 63, 63, 63, 232, 452, 224, + /* 410 */ 650, 533, 533, 487, 286, 560, 788, 10, 760, 770, + /* 420 */ 10, 708, 1091, 1179, 936, 982, 982, 794, 1096, 739, + /* 430 */ 794, 794, 794, 1287, 1256, 1241, 1322, 769, 1191, 1352, + /* 440 */ 1266, 1277, 1279, 1281, 1022, 1391, 1395, 1079, 1354, 1414, + /* 450 */ 1418, 1209, 1372, 1404, 1366, 1405, 1409, 1416, 1422, 1294, + /* 460 */ 1296, 1376, 1423, 1431, 1432, 1445, 1433, 1374, 1434, 1400, + /* 470 */ 1435, 1459, 1460, 1461, 1471, 1473, 1476, 1483, 1491, 1493, + /* 480 */ 1495, 1497, 1499, 1510, 1521, 1503, 1508, 1512, 1540, 1544, + /* 490 */ 1550, 1506, 1575, 1437, 1505, 1600, 1601, 1579, 1615, 1981, + /* 500 */ 1992, 2015, 1970, 2019, 1983, 1780, 1985, 1986, 1987, 1784, + /* 510 */ 2026, 1990, 1991, 1788, 1993, 2031, 2041, 1792, 2034, 1998, + /* 520 */ 2036, 2000, 2038, 2017, 2042, 2006, 1812, 2046, 1827, 2050, + /* 530 */ 1837, 1838, 1844, 1848, 2063, 2064, 2065, 1857, 1859, 2069, + /* 540 */ 2072, 1919, 2025, 2028, 2079, 2043, 2081, 2082, 2047, 2030, + /* 550 */ 2085, 2037, 2086, 2044, 2088, 2092, 2093, 2048, 2094, 2100, + /* 560 */ 2101, 2102, 2103, 2104, 1922, 2060, 2105, 1932, 2107, 2108, + /* 570 */ 2109, 2110, 2112, 2113, 2115, 2116, 2117, 2118, 2119, 2120, + /* 580 */ 2121, 2122, 2123, 2125, 2126, 2127, 2128, 2129, 2083, 2131, + /* 590 */ 2089, 2132, 2134, 2136, 2138, 2139, 2141, 2142, 2150, 2153, + /* 600 */ 2133, 2156, 2002, 2158, 2005, 2160, 2008, 2162, 2163, 2143, + /* 610 */ 2124, 2144, 2130, 2164, 2106, 2169, 2111, 2135, 2174, 2137, + /* 620 */ 2176, 2140, 2177, 2179, 2145, 2147, 2148, 2180, 2146, 2149, + /* 630 */ 2151, 2184, 2155, 2152, 2154, 2185, 2159, 2186, 2157, 2165, + /* 640 */ 2168, 2167, 2170, 2192, 2171, 2188, 2166, 2172, 2198, 2209, + /* 650 */ 2218, 2222, 2189, 2009, 2231, 2167, 2183, 2234, 2167, 2187, + /* 660 */ 2236, 2239, 2173, 2241, 2250, 2215, 2200, 2211, 2255, 2220, + /* 670 */ 2207, 2232, 2261, 2226, 2212, 2233, 2272, 2237, 2224, 2235, + /* 680 */ 2279, 2280, 2281, 2282, 2283, 2284, 2068, 2175, 2248, 2264, + /* 690 */ 2287, 2266, 2253, 2254, 2257, 2260, 2262, 2263, 2268, 2269, + /* 700 */ 2285, 2196, 2265, 2286, 2288, 2274, 2290, 2301, 2295, 2303, + /* 710 */ 2299, 2309, 2302, 2273, 2329, 2312, 2294, 2335, 2337, 2338, + /* 720 */ 2304, 2339, 2305, 2340, 2306, 2344, 2323, 2327, 2313, 2314, + /* 730 */ 2315, 2238, 2240, 2355, 2178, 2161, 2181, 2243, 2191, 2167, + /* 740 */ 2308, 2361, 2182, 2325, 2350, 2374, 2193, 2353, 2194, 2195, + /* 750 */ 2379, 2380, 2199, 2197, 2205, 2208, 2378, 2349, 2084, 2270, + /* 760 */ 2276, 2275, 2296, 2346, 2362, 2300, 2336, 2307, 2364, 2310, + /* 770 */ 2322, 2367, 2383, 2324, 2316, 2326, 2328, 2330, 2384, 2368, + /* 780 */ 2371, 2332, 2389, 2201, 2342, 2341, 2392, 2343, 2391, 2348, + /* 790 */ 2351, 2426, 2410, 2203, 2421, 2422, 2424, 2425, 2427, 2428, + /* 800 */ 2352, 2354, 2418, 2204, 2438, 2423, 2474, 2475, 2363, 2435, + /* 810 */ 2365, 2366, 2369, 2370, 2291, 2372, 2479, 2439, 2289, 2491, + /* 820 */ 2381, 2385, 2298, 2450, 2317, 2461, 2386, 2227, 2390, 2493, + /* 830 */ 2485, 2247, 2393, 2396, 2387, 2395, 2398, 2399, 2400, 2401, + /* 840 */ 2465, 2405, 2406, 2472, 2408, 2502, 2278, 2420, 2429, 2536, + /* 850 */ 2430, 2432, 2345, 2494, 2433, 2415, 2167, 2490, 2434, 2436, + /* 860 */ 2441, 2437, 2440, 2417, 2520, 2522, 2527, 2331, 2442, 2516, + /* 870 */ 2528, 2453, 2454, 2531, 2457, 2458, 2535, 2387, 2459, 2538, + /* 880 */ 2395, 2462, 2539, 2398, 2463, 2542, 2399, 2445, 2447, 2451, + /* 890 */ 2452, 2482, 2552, 2483, 2561, 2486, 2552, 2552, 2577, 2526, + /* 900 */ 2529, 2580, 2567, 2568, 2569, 2571, 2573, 2575, 2576, 2578, + /* 910 */ 2579, 2581, 2582, 2533, 2509, 2540, 2512, 2590, 2587, 2588, + /* 920 */ 2589, 2606, 2593, 2594, 2596, 2551, 2196, 2597, 2265, 2599, + /* 930 */ 2600, 2601, 2603, 2619, 2605, 2643, 2607, 2592, 2604, 2646, + /* 940 */ 2611, 2602, 2613, 2649, 2617, 2608, 2614, 2658, 2622, 2609, + /* 950 */ 2620, 2660, 2627, 2665, 2645, 2632, 2670, 2650, 2638, 2651, + /* 960 */ 2653, 2654, 2655, 2667, 2659, }; #define YY_REDUCE_COUNT (385) -#define YY_REDUCE_MIN (-510) -#define YY_REDUCE_MAX (2729) +#define YY_REDUCE_MIN (-518) +#define YY_REDUCE_MAX (2785) static const short yy_reduce_ofst[] = { - /* 0 */ 338, -376, -147, 157, 186, 415, 439, 586, 672, 708, - /* 10 */ 769, 932, 1083, 1215, 1292, 1325, -352, 1355, 525, 1372, - /* 20 */ 1449, 1466, 1546, 1575, 1636, 1672, 1761, 1790, 1811, 1840, - /* 30 */ 1934, 1951, 1968, 2031, 2111, 2128, 2154, 2191, 2252, 2275, - /* 40 */ 2336, 2361, 2422, 2443, 2504, 2565, 2584, 2645, 2714, 2729, - /* 50 */ -309, 313, -66, -322, 279, 864, 1119, 1363, -191, 1010, - /* 60 */ 1366, 176, -307, -386, -398, -233, 69, -182, -212, -436, - /* 70 */ 99, 93, 265, 47, 387, -382, -265, 183, -294, 383, - /* 80 */ -284, 48, -140, -61, 95, 473, 530, 548, 555, 579, - /* 90 */ 592, 677, 746, 609, 89, 232, 19, 563, 761, 340, - /* 100 */ 87, 763, 514, 787, 421, 799, 817, 829, 831, 538, - /* 110 */ 838, 866, 540, 923, 382, 566, 640, 928, 747, -506, - /* 120 */ -506, -358, -175, -365, 689, -510, 312, -146, 647, 722, - /* 130 */ 737, 797, 818, 833, 837, 840, 887, 896, 905, 931, - /* 140 */ 938, 942, 943, 951, 961, 982, -334, -475, -106, 291, - /* 150 */ 618, 666, 680, -475, -378, 336, 434, 460, 715, -133, - /* 160 */ 865, 234, 749, 835, 960, 966, 779, 906, -92, 902, - /* 170 */ 971, 927, 967, 998, 1038, -415, 469, 561, 568, 637, - /* 180 */ 685, 381, 731, 756, 785, 661, 661, 823, 718, 791, - /* 190 */ 977, 1104, 661, 1093, 1093, 1123, 1125, 1087, 1158, 1153, - /* 200 */ 1069, 1071, 1072, 1156, 1097, 1093, 1243, 1155, 1201, 1273, - /* 210 */ 1235, 1196, 1227, 1229, 1093, 1148, 1161, 1141, 1185, 1170, - /* 220 */ 1288, 1252, 1236, 1335, 1254, 1251, 1333, 1257, 1337, 1272, - /* 230 */ 1348, 1349, 1301, 1357, 1307, 1311, 1364, 1362, 1365, 1312, - /* 240 */ 1324, 1326, 1327, 1354, 1368, 1381, 1382, 1376, 1383, 1389, - /* 250 */ 1391, 1397, 1410, 1419, 1412, 1330, 1406, 1407, 1375, 1414, - /* 260 */ 1429, 1360, 1427, 1438, 1432, 1380, 1437, 1393, 1444, 1452, - /* 270 */ 1463, 1455, 1456, 1451, 1453, 1454, 1458, 1459, 1461, 1464, - /* 280 */ 1469, 1470, 1472, 1475, 1471, 1478, 1479, 1473, 1436, 1439, - /* 290 */ 1460, 1421, 1422, 1423, 1503, 1431, 1445, 1447, 1482, 1518, - /* 300 */ 1457, 1528, 1486, 1395, 1474, 1396, 1489, 1394, 1399, 1402, - /* 310 */ 1417, 1424, 1418, 1488, 1448, 1450, 1415, 1428, 1430, 1581, - /* 320 */ 1491, 1462, 1465, 1586, 1582, 1585, 1529, 1549, 1551, 1553, - /* 330 */ 1556, 1536, 1558, 1543, 1601, 1562, 1552, 1603, 1495, 1569, - /* 340 */ 1555, 1559, 1610, 1594, 1614, 1622, 1580, 1583, 1584, 1587, - /* 350 */ 1588, 1590, 1593, 1595, 1596, 1598, 1599, 1607, 1609, 1612, - /* 360 */ 1613, 1617, 1619, 1624, 1625, 1627, 1629, 1640, 1597, 1641, - /* 370 */ 1634, 1638, 1646, 1662, 1668, 1579, 1571, 1574, 1626, 1628, - /* 380 */ 1643, 1664, 1653, 1665, 1659, 1704, + /* 0 */ 638, -351, -264, 115, 375, 418, 445, 589, 675, 711, + /* 10 */ 194, 849, 896, 1033, 1242, 1271, 1369, 1393, 1462, 1479, + /* 20 */ 1559, 1652, 1731, 1750, 1774, 1819, 1871, 1909, 1939, 1956, + /* 30 */ 2033, 2067, 2096, 2190, 2214, 2229, 2259, 2311, 2347, 2377, + /* 40 */ 2394, 2471, 2505, 2534, 2595, 2628, 2705, 2722, 2748, 2785, + /* 50 */ -348, -338, 813, -383, -341, 472, 694, 885, -296, -231, + /* 60 */ 913, 484, -518, 150, 332, -511, -301, -318, -406, -354, + /* 70 */ 145, -376, 266, -419, 218, -196, -61, -436, -381, 245, + /* 80 */ -236, 506, -320, -294, 310, 466, 496, -253, 236, 595, + /* 90 */ 599, 601, 680, 407, -48, -182, -364, 697, 718, -175, + /* 100 */ -299, 727, 555, 749, -410, 761, 783, 785, 797, 172, + /* 110 */ 801, 833, 478, 835, -76, 480, 513, 842, 308, -506, + /* 120 */ -506, 20, -185, 168, -369, -516, -289, -265, 159, 465, + /* 130 */ 467, 597, 678, 725, 763, 777, 800, 838, 879, 881, + /* 140 */ 882, 883, 887, 888, 889, 891, 77, 152, 88, 618, + /* 150 */ 853, 855, 858, 152, 360, 642, -16, 339, 859, 453, + /* 160 */ 866, -19, 353, 608, 839, 845, 564, 862, 209, 893, + /* 170 */ 911, 927, 941, 933, 996, 553, 827, 997, 1031, 1047, + /* 180 */ 1049, 766, 871, 768, 1063, 977, 977, 946, 974, 1000, + /* 190 */ 1019, 1158, 977, 1190, 1190, 1210, 1212, 1175, 1235, 1180, + /* 200 */ 1090, 1092, 1093, 1169, 1095, 1190, 1243, 1154, 1192, 1248, + /* 210 */ 1207, 1174, 1196, 1197, 1190, 1123, 1124, 1104, 1140, 1126, + /* 220 */ 1246, 1193, 1181, 1283, 1202, 1201, 1282, 1208, 1284, 1220, + /* 230 */ 1297, 1298, 1247, 1302, 1250, 1251, 1306, 1307, 1309, 1257, + /* 240 */ 1259, 1261, 1262, 1304, 1308, 1319, 1321, 1312, 1324, 1325, + /* 250 */ 1326, 1335, 1337, 1339, 1340, 1252, 1330, 1331, 1303, 1342, + /* 260 */ 1351, 1285, 1346, 1356, 1353, 1314, 1357, 1318, 1359, 1371, + /* 270 */ 1382, 1375, 1390, 1362, 1363, 1364, 1368, 1370, 1373, 1377, + /* 280 */ 1378, 1379, 1380, 1384, 1386, 1396, 1397, 1402, 1355, 1360, + /* 290 */ 1383, 1313, 1332, 1320, 1410, 1336, 1348, 1347, 1387, 1428, + /* 300 */ 1385, 1430, 1401, 1299, 1394, 1315, 1398, 1311, 1317, 1341, + /* 310 */ 1327, 1344, 1343, 1412, 1381, 1361, 1328, 1345, 1349, 1504, + /* 320 */ 1407, 1388, 1392, 1513, 1507, 1511, 1451, 1466, 1475, 1477, + /* 330 */ 1478, 1453, 1484, 1465, 1523, 1486, 1480, 1526, 1419, 1490, + /* 340 */ 1482, 1492, 1531, 1524, 1543, 1551, 1514, 1516, 1528, 1529, + /* 350 */ 1542, 1545, 1546, 1547, 1554, 1556, 1557, 1558, 1560, 1562, + /* 360 */ 1563, 1564, 1565, 1566, 1567, 1568, 1571, 1572, 1522, 1573, + /* 370 */ 1576, 1561, 1580, 1583, 1578, 1519, 1527, 1500, 1548, 1581, + /* 380 */ 1591, 1602, 1589, 1603, 1588, 1592, }; static const YYACTIONTYPE yy_default[] = { - /* 0 */ 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, - /* 10 */ 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, - /* 20 */ 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, - /* 30 */ 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, - /* 40 */ 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, - /* 50 */ 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, - /* 60 */ 2547, 2179, 2179, 2503, 2179, 2179, 2179, 2179, 2179, 2179, - /* 70 */ 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2510, 2179, - /* 80 */ 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, - /* 90 */ 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2280, - /* 100 */ 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, - /* 110 */ 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2278, 2799, - /* 120 */ 2179, 2925, 2588, 2179, 2179, 2828, 2179, 2179, 2179, 2179, - /* 130 */ 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, - /* 140 */ 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2811, 2179, 2179, - /* 150 */ 2251, 2251, 2179, 2811, 2811, 2811, 2771, 2771, 2278, 2179, - /* 160 */ 2179, 2280, 2179, 2590, 2179, 2179, 2179, 2179, 2179, 2179, - /* 170 */ 2179, 2179, 2179, 2420, 2209, 2179, 2179, 2179, 2179, 2179, - /* 180 */ 2179, 2573, 2179, 2179, 2857, 2803, 2804, 2919, 2179, 2860, - /* 190 */ 2822, 2179, 2817, 2179, 2179, 2179, 2179, 2515, 2179, 2847, - /* 200 */ 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2616, 2179, 2179, - /* 210 */ 2365, 2567, 2179, 2179, 2179, 2179, 2179, 2903, 2801, 2841, - /* 220 */ 2179, 2851, 2179, 2179, 2179, 2604, 2280, 2179, 2280, 2560, - /* 230 */ 2498, 2179, 2508, 2179, 2508, 2505, 2179, 2179, 2179, 2508, - /* 240 */ 2505, 2505, 2505, 2354, 2350, 2179, 2179, 2348, 2179, 2179, - /* 250 */ 2179, 2179, 2234, 2179, 2234, 2179, 2280, 2280, 2179, 2280, - /* 260 */ 2179, 2179, 2280, 2179, 2280, 2179, 2280, 2179, 2280, 2280, - /* 270 */ 2179, 2280, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, - /* 280 */ 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, - /* 290 */ 2179, 2602, 2583, 2179, 2278, 2179, 2571, 2569, 2179, 2278, - /* 300 */ 2851, 2179, 2179, 2873, 2868, 2873, 2868, 2887, 2883, 2873, - /* 310 */ 2892, 2889, 2853, 2851, 2834, 2830, 2922, 2909, 2905, 2179, - /* 320 */ 2179, 2839, 2837, 2179, 2278, 2278, 2868, 2179, 2179, 2179, - /* 330 */ 2179, 2868, 2179, 2179, 2278, 2179, 2179, 2278, 2179, 2179, - /* 340 */ 2179, 2179, 2278, 2179, 2278, 2179, 2179, 2179, 2179, 2179, - /* 350 */ 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, - /* 360 */ 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2382, 2179, - /* 370 */ 2179, 2278, 2179, 2218, 2179, 2562, 2588, 2593, 2543, 2543, - /* 380 */ 2423, 2423, 2925, 2423, 2281, 2184, 2179, 2179, 2179, 2179, - /* 390 */ 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2886, 2885, - /* 400 */ 2722, 2179, 2775, 2774, 2773, 2764, 2721, 2378, 2179, 2179, - /* 410 */ 2179, 2720, 2719, 2179, 2179, 2179, 2179, 2369, 2179, 2179, - /* 420 */ 2391, 2179, 2179, 2179, 2179, 2534, 2533, 2713, 2179, 2179, - /* 430 */ 2714, 2712, 2711, 2179, 2179, 2179, 2179, 2179, 2179, 2179, - /* 440 */ 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, - /* 450 */ 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, - /* 460 */ 2906, 2910, 2179, 2179, 2179, 2800, 2179, 2179, 2179, 2692, - /* 470 */ 2179, 2179, 2179, 2179, 2660, 2655, 2646, 2637, 2652, 2643, - /* 480 */ 2631, 2649, 2640, 2628, 2625, 2179, 2179, 2179, 2179, 2179, - /* 490 */ 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, - /* 500 */ 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, - /* 510 */ 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, - /* 520 */ 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, - /* 530 */ 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, - /* 540 */ 2179, 2504, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, - /* 550 */ 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, - /* 560 */ 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, - /* 570 */ 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, - /* 580 */ 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, - /* 590 */ 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, - /* 600 */ 2179, 2179, 2179, 2179, 2179, 2179, 2519, 2179, 2179, 2179, - /* 610 */ 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, - /* 620 */ 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, - /* 630 */ 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, - /* 640 */ 2223, 2699, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, - /* 650 */ 2179, 2179, 2179, 2179, 2179, 2702, 2179, 2179, 2703, 2179, - /* 660 */ 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, - /* 670 */ 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, - /* 680 */ 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, - /* 690 */ 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, - /* 700 */ 2179, 2325, 2324, 2179, 2179, 2179, 2179, 2179, 2179, 2179, - /* 710 */ 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, - /* 720 */ 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2704, - /* 730 */ 2179, 2179, 2179, 2179, 2587, 2179, 2179, 2694, 2179, 2179, - /* 740 */ 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, - /* 750 */ 2179, 2179, 2179, 2179, 2902, 2854, 2179, 2179, 2179, 2179, - /* 760 */ 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, - /* 770 */ 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2692, 2179, - /* 780 */ 2884, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2900, 2179, - /* 790 */ 2904, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2810, 2806, - /* 800 */ 2179, 2179, 2802, 2179, 2179, 2179, 2179, 2179, 2179, 2179, - /* 810 */ 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, - /* 820 */ 2179, 2179, 2179, 2761, 2179, 2179, 2179, 2795, 2179, 2179, - /* 830 */ 2179, 2179, 2419, 2418, 2417, 2416, 2179, 2179, 2179, 2179, - /* 840 */ 2179, 2179, 2704, 2179, 2707, 2179, 2179, 2179, 2179, 2179, - /* 850 */ 2179, 2179, 2179, 2179, 2691, 2179, 2746, 2745, 2179, 2179, - /* 860 */ 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2413, - /* 870 */ 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, - /* 880 */ 2179, 2179, 2179, 2179, 2179, 2397, 2395, 2394, 2393, 2179, - /* 890 */ 2430, 2179, 2179, 2179, 2426, 2425, 2179, 2179, 2179, 2179, - /* 900 */ 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, - /* 910 */ 2179, 2179, 2179, 2179, 2179, 2299, 2179, 2179, 2179, 2179, - /* 920 */ 2179, 2179, 2179, 2179, 2291, 2179, 2290, 2179, 2179, 2179, - /* 930 */ 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, - /* 940 */ 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, - /* 950 */ 2179, 2179, 2179, 2179, 2179, 2179, 2208, 2179, 2179, 2179, - /* 960 */ 2179, 2179, 2179, + /* 0 */ 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2182, + /* 10 */ 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2182, + /* 20 */ 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2182, + /* 30 */ 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2182, + /* 40 */ 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2182, + /* 50 */ 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2182, + /* 60 */ 2551, 2182, 2182, 2507, 2182, 2182, 2182, 2182, 2182, 2182, + /* 70 */ 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2514, 2182, + /* 80 */ 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2182, + /* 90 */ 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2284, + /* 100 */ 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2182, + /* 110 */ 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2282, 2803, + /* 120 */ 2182, 2929, 2592, 2182, 2182, 2832, 2182, 2182, 2182, 2182, + /* 130 */ 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2182, + /* 140 */ 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2815, 2182, 2182, + /* 150 */ 2255, 2255, 2182, 2815, 2815, 2815, 2775, 2775, 2282, 2182, + /* 160 */ 2182, 2284, 2182, 2594, 2182, 2182, 2182, 2182, 2182, 2182, + /* 170 */ 2182, 2182, 2182, 2424, 2212, 2182, 2182, 2182, 2182, 2182, + /* 180 */ 2182, 2577, 2182, 2182, 2861, 2807, 2808, 2923, 2182, 2864, + /* 190 */ 2826, 2182, 2821, 2182, 2182, 2182, 2182, 2519, 2182, 2851, + /* 200 */ 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2620, 2182, 2182, + /* 210 */ 2369, 2571, 2182, 2182, 2182, 2182, 2182, 2907, 2805, 2845, + /* 220 */ 2182, 2855, 2182, 2182, 2182, 2608, 2284, 2182, 2284, 2564, + /* 230 */ 2502, 2182, 2512, 2182, 2512, 2509, 2182, 2182, 2182, 2512, + /* 240 */ 2509, 2509, 2509, 2358, 2354, 2182, 2182, 2352, 2182, 2182, + /* 250 */ 2182, 2182, 2238, 2182, 2238, 2182, 2284, 2284, 2182, 2284, + /* 260 */ 2182, 2182, 2284, 2182, 2284, 2182, 2284, 2182, 2284, 2284, + /* 270 */ 2182, 2284, 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2182, + /* 280 */ 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2182, + /* 290 */ 2182, 2606, 2587, 2182, 2282, 2182, 2575, 2573, 2182, 2282, + /* 300 */ 2855, 2182, 2182, 2877, 2872, 2877, 2872, 2891, 2887, 2877, + /* 310 */ 2896, 2893, 2857, 2855, 2838, 2834, 2926, 2913, 2909, 2182, + /* 320 */ 2182, 2843, 2841, 2182, 2282, 2282, 2872, 2182, 2182, 2182, + /* 330 */ 2182, 2872, 2182, 2182, 2282, 2182, 2182, 2282, 2182, 2182, + /* 340 */ 2182, 2182, 2282, 2182, 2282, 2182, 2182, 2182, 2182, 2182, + /* 350 */ 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2182, + /* 360 */ 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2386, 2182, + /* 370 */ 2182, 2282, 2182, 2222, 2182, 2566, 2592, 2597, 2547, 2547, + /* 380 */ 2427, 2427, 2929, 2427, 2285, 2187, 2182, 2182, 2182, 2182, + /* 390 */ 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2890, 2889, + /* 400 */ 2726, 2182, 2779, 2778, 2777, 2768, 2725, 2382, 2182, 2182, + /* 410 */ 2182, 2724, 2723, 2182, 2182, 2182, 2182, 2373, 2182, 2182, + /* 420 */ 2395, 2182, 2182, 2182, 2182, 2538, 2537, 2717, 2182, 2182, + /* 430 */ 2718, 2716, 2715, 2182, 2182, 2182, 2182, 2182, 2182, 2182, + /* 440 */ 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2182, + /* 450 */ 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2182, + /* 460 */ 2910, 2914, 2182, 2182, 2182, 2804, 2182, 2182, 2182, 2696, + /* 470 */ 2182, 2182, 2182, 2182, 2664, 2659, 2650, 2641, 2656, 2647, + /* 480 */ 2635, 2653, 2644, 2632, 2629, 2182, 2182, 2182, 2182, 2182, + /* 490 */ 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2182, + /* 500 */ 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2182, + /* 510 */ 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2182, + /* 520 */ 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2182, + /* 530 */ 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2182, + /* 540 */ 2182, 2508, 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2182, + /* 550 */ 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2182, + /* 560 */ 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2182, + /* 570 */ 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2182, + /* 580 */ 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2182, + /* 590 */ 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2182, + /* 600 */ 2182, 2182, 2182, 2182, 2182, 2182, 2523, 2182, 2182, 2182, + /* 610 */ 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2182, + /* 620 */ 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2182, + /* 630 */ 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2182, + /* 640 */ 2227, 2703, 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2182, + /* 650 */ 2182, 2182, 2182, 2182, 2182, 2706, 2182, 2182, 2707, 2182, + /* 660 */ 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2182, + /* 670 */ 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2182, + /* 680 */ 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2182, + /* 690 */ 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2182, + /* 700 */ 2182, 2329, 2328, 2182, 2182, 2182, 2182, 2182, 2182, 2182, + /* 710 */ 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2182, + /* 720 */ 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2182, + /* 730 */ 2182, 2708, 2182, 2182, 2182, 2182, 2591, 2182, 2182, 2698, + /* 740 */ 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2182, + /* 750 */ 2182, 2182, 2182, 2182, 2182, 2182, 2906, 2858, 2182, 2182, + /* 760 */ 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2182, + /* 770 */ 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2182, + /* 780 */ 2696, 2182, 2888, 2182, 2182, 2182, 2182, 2182, 2182, 2182, + /* 790 */ 2904, 2182, 2908, 2182, 2182, 2182, 2182, 2182, 2182, 2182, + /* 800 */ 2814, 2810, 2182, 2182, 2806, 2182, 2182, 2182, 2182, 2182, + /* 810 */ 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2182, + /* 820 */ 2182, 2182, 2182, 2182, 2182, 2765, 2182, 2182, 2182, 2799, + /* 830 */ 2182, 2182, 2182, 2182, 2423, 2422, 2421, 2420, 2182, 2182, + /* 840 */ 2182, 2182, 2182, 2182, 2708, 2182, 2711, 2182, 2182, 2182, + /* 850 */ 2182, 2182, 2182, 2182, 2182, 2182, 2695, 2182, 2750, 2749, + /* 860 */ 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2182, + /* 870 */ 2182, 2417, 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2182, + /* 880 */ 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2401, 2399, 2398, + /* 890 */ 2397, 2182, 2434, 2182, 2182, 2182, 2430, 2429, 2182, 2182, + /* 900 */ 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2182, + /* 910 */ 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2303, 2182, 2182, + /* 920 */ 2182, 2182, 2182, 2182, 2182, 2182, 2295, 2182, 2294, 2182, + /* 930 */ 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2182, + /* 940 */ 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2182, + /* 950 */ 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2211, 2182, + /* 960 */ 2182, 2182, 2182, 2182, 2182, }; /********** End of lemon-generated parsing tables *****************************/ @@ -1586,6 +1224,7 @@ static const YYCODETYPE yyFallback[] = { 0, /* ENABLE => nothing */ 0, /* NK_INTEGER => nothing */ 0, /* SYSINFO => nothing */ + 0, /* CREATEDB => nothing */ 0, /* ADD => nothing */ 0, /* DROP => nothing */ 0, /* GRANT => nothing */ @@ -1658,7 +1297,7 @@ static const YYCODETYPE yyFallback[] = { 0, /* BWLIMIT => nothing */ 0, /* START => nothing */ 0, /* TIMESTAMP => nothing */ - 325, /* END => ABORT */ + 326, /* END => ABORT */ 0, /* TABLE => nothing */ 0, /* NK_LP => nothing */ 0, /* NK_RP => nothing */ @@ -1730,7 +1369,7 @@ static const YYCODETYPE yyFallback[] = { 0, /* VNODES => nothing */ 0, /* ALIVE => nothing */ 0, /* VIEWS => nothing */ - 325, /* VIEW => ABORT */ + 326, /* VIEW => ABORT */ 0, /* COMPACTS => nothing */ 0, /* NORMAL => nothing */ 0, /* CHILD => nothing */ @@ -1773,7 +1412,7 @@ static const YYCODETYPE yyFallback[] = { 0, /* PAUSE => nothing */ 0, /* RESUME => nothing */ 0, /* PRIMARY => nothing */ - 325, /* KEY => ABORT */ + 326, /* KEY => ABORT */ 0, /* TRIGGER => nothing */ 0, /* AT_ONCE => nothing */ 0, /* WINDOW_CLOSE => nothing */ @@ -1837,7 +1476,7 @@ static const YYCODETYPE yyFallback[] = { 0, /* LEFT => nothing */ 0, /* RIGHT => nothing */ 0, /* OUTER => nothing */ - 325, /* SEMI => ABORT */ + 326, /* SEMI => ABORT */ 0, /* ANTI => nothing */ 0, /* ASOF => nothing */ 0, /* WINDOW => nothing */ @@ -1873,53 +1512,53 @@ static const YYCODETYPE yyFallback[] = { 0, /* ASC => nothing */ 0, /* NULLS => nothing */ 0, /* ABORT => nothing */ - 325, /* AFTER => ABORT */ - 325, /* ATTACH => ABORT */ - 325, /* BEFORE => ABORT */ - 325, /* BEGIN => ABORT */ - 325, /* BITAND => ABORT */ - 325, /* BITNOT => ABORT */ - 325, /* BITOR => ABORT */ - 325, /* BLOCKS => ABORT */ - 325, /* CHANGE => ABORT */ - 325, /* COMMA => ABORT */ - 325, /* CONCAT => ABORT */ - 325, /* CONFLICT => ABORT */ - 325, /* COPY => ABORT */ - 325, /* DEFERRED => ABORT */ - 325, /* DELIMITERS => ABORT */ - 325, /* DETACH => ABORT */ - 325, /* DIVIDE => ABORT */ - 325, /* DOT => ABORT */ - 325, /* EACH => ABORT */ - 325, /* FAIL => ABORT */ - 325, /* FILE => ABORT */ - 325, /* FOR => ABORT */ - 325, /* GLOB => ABORT */ - 325, /* ID => ABORT */ - 325, /* IMMEDIATE => ABORT */ - 325, /* IMPORT => ABORT */ - 325, /* INITIALLY => ABORT */ - 325, /* INSTEAD => ABORT */ - 325, /* ISNULL => ABORT */ - 325, /* MODULES => ABORT */ - 325, /* NK_BITNOT => ABORT */ - 325, /* NK_SEMI => ABORT */ - 325, /* NOTNULL => ABORT */ - 325, /* OF => ABORT */ - 325, /* PLUS => ABORT */ - 325, /* PRIVILEGE => ABORT */ - 325, /* RAISE => ABORT */ - 325, /* RESTRICT => ABORT */ - 325, /* ROW => ABORT */ - 325, /* STAR => ABORT */ - 325, /* STATEMENT => ABORT */ - 325, /* STRICT => ABORT */ - 325, /* STRING => ABORT */ - 325, /* TIMES => ABORT */ - 325, /* VALUES => ABORT */ - 325, /* VARIABLE => ABORT */ - 325, /* WAL => ABORT */ + 326, /* AFTER => ABORT */ + 326, /* ATTACH => ABORT */ + 326, /* BEFORE => ABORT */ + 326, /* BEGIN => ABORT */ + 326, /* BITAND => ABORT */ + 326, /* BITNOT => ABORT */ + 326, /* BITOR => ABORT */ + 326, /* BLOCKS => ABORT */ + 326, /* CHANGE => ABORT */ + 326, /* COMMA => ABORT */ + 326, /* CONCAT => ABORT */ + 326, /* CONFLICT => ABORT */ + 326, /* COPY => ABORT */ + 326, /* DEFERRED => ABORT */ + 326, /* DELIMITERS => ABORT */ + 326, /* DETACH => ABORT */ + 326, /* DIVIDE => ABORT */ + 326, /* DOT => ABORT */ + 326, /* EACH => ABORT */ + 326, /* FAIL => ABORT */ + 326, /* FILE => ABORT */ + 326, /* FOR => ABORT */ + 326, /* GLOB => ABORT */ + 326, /* ID => ABORT */ + 326, /* IMMEDIATE => ABORT */ + 326, /* IMPORT => ABORT */ + 326, /* INITIALLY => ABORT */ + 326, /* INSTEAD => ABORT */ + 326, /* ISNULL => ABORT */ + 326, /* MODULES => ABORT */ + 326, /* NK_BITNOT => ABORT */ + 326, /* NK_SEMI => ABORT */ + 326, /* NOTNULL => ABORT */ + 326, /* OF => ABORT */ + 326, /* PLUS => ABORT */ + 326, /* PRIVILEGE => ABORT */ + 326, /* RAISE => ABORT */ + 326, /* RESTRICT => ABORT */ + 326, /* ROW => ABORT */ + 326, /* STAR => ABORT */ + 326, /* STATEMENT => ABORT */ + 326, /* STRICT => ABORT */ + 326, /* STRING => ABORT */ + 326, /* TIMES => ABORT */ + 326, /* VALUES => ABORT */ + 326, /* VARIABLE => ABORT */ + 326, /* WAL => ABORT */ 0, /* ENCODE => nothing */ 0, /* COMPRESS => nothing */ 0, /* LEVEL => nothing */ @@ -1974,7 +1613,6 @@ struct yyParser { }; typedef struct yyParser yyParser; -#include #ifndef NDEBUG #include static FILE *yyTraceFILE = 0; @@ -2050,521 +1688,522 @@ static const char *const yyTokenName[] = { /* 36 */ "ENABLE", /* 37 */ "NK_INTEGER", /* 38 */ "SYSINFO", - /* 39 */ "ADD", - /* 40 */ "DROP", - /* 41 */ "GRANT", - /* 42 */ "ON", - /* 43 */ "TO", - /* 44 */ "REVOKE", - /* 45 */ "FROM", - /* 46 */ "SUBSCRIBE", - /* 47 */ "READ", - /* 48 */ "WRITE", - /* 49 */ "NK_DOT", - /* 50 */ "WITH", - /* 51 */ "ENCRYPT_KEY", - /* 52 */ "DNODE", - /* 53 */ "PORT", - /* 54 */ "DNODES", - /* 55 */ "RESTORE", - /* 56 */ "NK_IPTOKEN", - /* 57 */ "FORCE", - /* 58 */ "UNSAFE", - /* 59 */ "CLUSTER", - /* 60 */ "LOCAL", - /* 61 */ "QNODE", - /* 62 */ "BNODE", - /* 63 */ "SNODE", - /* 64 */ "MNODE", - /* 65 */ "VNODE", - /* 66 */ "DATABASE", - /* 67 */ "USE", - /* 68 */ "FLUSH", - /* 69 */ "TRIM", - /* 70 */ "S3MIGRATE", - /* 71 */ "COMPACT", - /* 72 */ "IF", - /* 73 */ "NOT", - /* 74 */ "EXISTS", - /* 75 */ "BUFFER", - /* 76 */ "CACHEMODEL", - /* 77 */ "CACHESIZE", - /* 78 */ "COMP", - /* 79 */ "DURATION", - /* 80 */ "NK_VARIABLE", - /* 81 */ "MAXROWS", - /* 82 */ "MINROWS", - /* 83 */ "KEEP", - /* 84 */ "PAGES", - /* 85 */ "PAGESIZE", - /* 86 */ "TSDB_PAGESIZE", - /* 87 */ "PRECISION", - /* 88 */ "REPLICA", - /* 89 */ "VGROUPS", - /* 90 */ "SINGLE_STABLE", - /* 91 */ "RETENTIONS", - /* 92 */ "SCHEMALESS", - /* 93 */ "WAL_LEVEL", - /* 94 */ "WAL_FSYNC_PERIOD", - /* 95 */ "WAL_RETENTION_PERIOD", - /* 96 */ "WAL_RETENTION_SIZE", - /* 97 */ "WAL_ROLL_PERIOD", - /* 98 */ "WAL_SEGMENT_SIZE", - /* 99 */ "STT_TRIGGER", - /* 100 */ "TABLE_PREFIX", - /* 101 */ "TABLE_SUFFIX", - /* 102 */ "S3_CHUNKSIZE", - /* 103 */ "S3_KEEPLOCAL", - /* 104 */ "S3_COMPACT", - /* 105 */ "KEEP_TIME_OFFSET", - /* 106 */ "ENCRYPT_ALGORITHM", - /* 107 */ "NK_COLON", - /* 108 */ "BWLIMIT", - /* 109 */ "START", - /* 110 */ "TIMESTAMP", - /* 111 */ "END", - /* 112 */ "TABLE", - /* 113 */ "NK_LP", - /* 114 */ "NK_RP", - /* 115 */ "STABLE", - /* 116 */ "COLUMN", - /* 117 */ "MODIFY", - /* 118 */ "RENAME", - /* 119 */ "TAG", - /* 120 */ "SET", - /* 121 */ "NK_EQ", - /* 122 */ "USING", - /* 123 */ "TAGS", - /* 124 */ "BOOL", - /* 125 */ "TINYINT", - /* 126 */ "SMALLINT", - /* 127 */ "INT", - /* 128 */ "INTEGER", - /* 129 */ "BIGINT", - /* 130 */ "FLOAT", - /* 131 */ "DOUBLE", - /* 132 */ "BINARY", - /* 133 */ "NCHAR", - /* 134 */ "UNSIGNED", - /* 135 */ "JSON", - /* 136 */ "VARCHAR", - /* 137 */ "MEDIUMBLOB", - /* 138 */ "BLOB", - /* 139 */ "VARBINARY", - /* 140 */ "GEOMETRY", - /* 141 */ "DECIMAL", - /* 142 */ "COMMENT", - /* 143 */ "MAX_DELAY", - /* 144 */ "WATERMARK", - /* 145 */ "ROLLUP", - /* 146 */ "TTL", - /* 147 */ "SMA", - /* 148 */ "DELETE_MARK", - /* 149 */ "FIRST", - /* 150 */ "LAST", - /* 151 */ "SHOW", - /* 152 */ "PRIVILEGES", - /* 153 */ "DATABASES", - /* 154 */ "TABLES", - /* 155 */ "STABLES", - /* 156 */ "MNODES", - /* 157 */ "QNODES", - /* 158 */ "ARBGROUPS", - /* 159 */ "FUNCTIONS", - /* 160 */ "INDEXES", - /* 161 */ "ACCOUNTS", - /* 162 */ "APPS", - /* 163 */ "CONNECTIONS", - /* 164 */ "LICENCES", - /* 165 */ "GRANTS", - /* 166 */ "FULL", - /* 167 */ "LOGS", - /* 168 */ "MACHINES", - /* 169 */ "ENCRYPTIONS", - /* 170 */ "QUERIES", - /* 171 */ "SCORES", - /* 172 */ "TOPICS", - /* 173 */ "VARIABLES", - /* 174 */ "BNODES", - /* 175 */ "SNODES", - /* 176 */ "TRANSACTIONS", - /* 177 */ "DISTRIBUTED", - /* 178 */ "CONSUMERS", - /* 179 */ "SUBSCRIPTIONS", - /* 180 */ "VNODES", - /* 181 */ "ALIVE", - /* 182 */ "VIEWS", - /* 183 */ "VIEW", - /* 184 */ "COMPACTS", - /* 185 */ "NORMAL", - /* 186 */ "CHILD", - /* 187 */ "LIKE", - /* 188 */ "TBNAME", - /* 189 */ "QTAGS", - /* 190 */ "AS", - /* 191 */ "SYSTEM", - /* 192 */ "TSMA", - /* 193 */ "INTERVAL", - /* 194 */ "RECURSIVE", - /* 195 */ "TSMAS", - /* 196 */ "FUNCTION", - /* 197 */ "INDEX", - /* 198 */ "COUNT", - /* 199 */ "LAST_ROW", - /* 200 */ "META", - /* 201 */ "ONLY", - /* 202 */ "TOPIC", - /* 203 */ "CONSUMER", - /* 204 */ "GROUP", - /* 205 */ "DESC", - /* 206 */ "DESCRIBE", - /* 207 */ "RESET", - /* 208 */ "QUERY", - /* 209 */ "CACHE", - /* 210 */ "EXPLAIN", - /* 211 */ "ANALYZE", - /* 212 */ "VERBOSE", - /* 213 */ "NK_BOOL", - /* 214 */ "RATIO", - /* 215 */ "NK_FLOAT", - /* 216 */ "OUTPUTTYPE", - /* 217 */ "AGGREGATE", - /* 218 */ "BUFSIZE", - /* 219 */ "LANGUAGE", - /* 220 */ "REPLACE", - /* 221 */ "STREAM", - /* 222 */ "INTO", - /* 223 */ "PAUSE", - /* 224 */ "RESUME", - /* 225 */ "PRIMARY", - /* 226 */ "KEY", - /* 227 */ "TRIGGER", - /* 228 */ "AT_ONCE", - /* 229 */ "WINDOW_CLOSE", - /* 230 */ "IGNORE", - /* 231 */ "EXPIRED", - /* 232 */ "FILL_HISTORY", - /* 233 */ "UPDATE", - /* 234 */ "SUBTABLE", - /* 235 */ "UNTREATED", - /* 236 */ "KILL", - /* 237 */ "CONNECTION", - /* 238 */ "TRANSACTION", - /* 239 */ "BALANCE", - /* 240 */ "VGROUP", - /* 241 */ "LEADER", - /* 242 */ "MERGE", - /* 243 */ "REDISTRIBUTE", - /* 244 */ "SPLIT", - /* 245 */ "DELETE", - /* 246 */ "INSERT", - /* 247 */ "NK_BIN", - /* 248 */ "NK_HEX", - /* 249 */ "NULL", - /* 250 */ "NK_QUESTION", - /* 251 */ "NK_ALIAS", - /* 252 */ "NK_ARROW", - /* 253 */ "ROWTS", - /* 254 */ "QSTART", - /* 255 */ "QEND", - /* 256 */ "QDURATION", - /* 257 */ "WSTART", - /* 258 */ "WEND", - /* 259 */ "WDURATION", - /* 260 */ "IROWTS", - /* 261 */ "ISFILLED", - /* 262 */ "CAST", - /* 263 */ "NOW", - /* 264 */ "TODAY", - /* 265 */ "TIMEZONE", - /* 266 */ "CLIENT_VERSION", - /* 267 */ "SERVER_VERSION", - /* 268 */ "SERVER_STATUS", - /* 269 */ "CURRENT_USER", - /* 270 */ "CASE", - /* 271 */ "WHEN", - /* 272 */ "THEN", - /* 273 */ "ELSE", - /* 274 */ "BETWEEN", - /* 275 */ "IS", - /* 276 */ "NK_LT", - /* 277 */ "NK_GT", - /* 278 */ "NK_LE", - /* 279 */ "NK_GE", - /* 280 */ "NK_NE", - /* 281 */ "MATCH", - /* 282 */ "NMATCH", - /* 283 */ "CONTAINS", - /* 284 */ "IN", - /* 285 */ "JOIN", - /* 286 */ "INNER", - /* 287 */ "LEFT", - /* 288 */ "RIGHT", - /* 289 */ "OUTER", - /* 290 */ "SEMI", - /* 291 */ "ANTI", - /* 292 */ "ASOF", - /* 293 */ "WINDOW", - /* 294 */ "WINDOW_OFFSET", - /* 295 */ "JLIMIT", - /* 296 */ "SELECT", - /* 297 */ "NK_HINT", - /* 298 */ "DISTINCT", - /* 299 */ "WHERE", - /* 300 */ "PARTITION", - /* 301 */ "BY", - /* 302 */ "SESSION", - /* 303 */ "STATE_WINDOW", - /* 304 */ "EVENT_WINDOW", - /* 305 */ "COUNT_WINDOW", - /* 306 */ "SLIDING", - /* 307 */ "FILL", - /* 308 */ "VALUE", - /* 309 */ "VALUE_F", - /* 310 */ "NONE", - /* 311 */ "PREV", - /* 312 */ "NULL_F", - /* 313 */ "LINEAR", - /* 314 */ "NEXT", - /* 315 */ "HAVING", - /* 316 */ "RANGE", - /* 317 */ "EVERY", - /* 318 */ "ORDER", - /* 319 */ "SLIMIT", - /* 320 */ "SOFFSET", - /* 321 */ "LIMIT", - /* 322 */ "OFFSET", - /* 323 */ "ASC", - /* 324 */ "NULLS", - /* 325 */ "ABORT", - /* 326 */ "AFTER", - /* 327 */ "ATTACH", - /* 328 */ "BEFORE", - /* 329 */ "BEGIN", - /* 330 */ "BITAND", - /* 331 */ "BITNOT", - /* 332 */ "BITOR", - /* 333 */ "BLOCKS", - /* 334 */ "CHANGE", - /* 335 */ "COMMA", - /* 336 */ "CONCAT", - /* 337 */ "CONFLICT", - /* 338 */ "COPY", - /* 339 */ "DEFERRED", - /* 340 */ "DELIMITERS", - /* 341 */ "DETACH", - /* 342 */ "DIVIDE", - /* 343 */ "DOT", - /* 344 */ "EACH", - /* 345 */ "FAIL", - /* 346 */ "FILE", - /* 347 */ "FOR", - /* 348 */ "GLOB", - /* 349 */ "ID", - /* 350 */ "IMMEDIATE", - /* 351 */ "IMPORT", - /* 352 */ "INITIALLY", - /* 353 */ "INSTEAD", - /* 354 */ "ISNULL", - /* 355 */ "MODULES", - /* 356 */ "NK_BITNOT", - /* 357 */ "NK_SEMI", - /* 358 */ "NOTNULL", - /* 359 */ "OF", - /* 360 */ "PLUS", - /* 361 */ "PRIVILEGE", - /* 362 */ "RAISE", - /* 363 */ "RESTRICT", - /* 364 */ "ROW", - /* 365 */ "STAR", - /* 366 */ "STATEMENT", - /* 367 */ "STRICT", - /* 368 */ "STRING", - /* 369 */ "TIMES", - /* 370 */ "VALUES", - /* 371 */ "VARIABLE", - /* 372 */ "WAL", - /* 373 */ "ENCODE", - /* 374 */ "COMPRESS", - /* 375 */ "LEVEL", - /* 376 */ "cmd", - /* 377 */ "account_options", - /* 378 */ "alter_account_options", - /* 379 */ "literal", - /* 380 */ "alter_account_option", - /* 381 */ "ip_range_list", - /* 382 */ "white_list", - /* 383 */ "white_list_opt", - /* 384 */ "user_name", - /* 385 */ "sysinfo_opt", - /* 386 */ "privileges", - /* 387 */ "priv_level", - /* 388 */ "with_opt", - /* 389 */ "priv_type_list", - /* 390 */ "priv_type", - /* 391 */ "db_name", - /* 392 */ "table_name", - /* 393 */ "topic_name", - /* 394 */ "search_condition", - /* 395 */ "dnode_endpoint", - /* 396 */ "force_opt", - /* 397 */ "unsafe_opt", - /* 398 */ "not_exists_opt", - /* 399 */ "db_options", - /* 400 */ "exists_opt", - /* 401 */ "alter_db_options", - /* 402 */ "speed_opt", - /* 403 */ "start_opt", - /* 404 */ "end_opt", - /* 405 */ "integer_list", - /* 406 */ "variable_list", - /* 407 */ "retention_list", - /* 408 */ "signed", - /* 409 */ "alter_db_option", - /* 410 */ "retention", - /* 411 */ "full_table_name", - /* 412 */ "column_def_list", - /* 413 */ "tags_def_opt", - /* 414 */ "table_options", - /* 415 */ "multi_create_clause", - /* 416 */ "tags_def", - /* 417 */ "multi_drop_clause", - /* 418 */ "alter_table_clause", - /* 419 */ "alter_table_options", - /* 420 */ "column_name", - /* 421 */ "type_name", - /* 422 */ "column_options", - /* 423 */ "tags_literal", - /* 424 */ "create_subtable_clause", - /* 425 */ "specific_cols_opt", - /* 426 */ "tags_literal_list", - /* 427 */ "drop_table_clause", - /* 428 */ "col_name_list", - /* 429 */ "tag_def_list", - /* 430 */ "tag_def", - /* 431 */ "column_def", - /* 432 */ "type_name_default_len", - /* 433 */ "duration_list", - /* 434 */ "rollup_func_list", - /* 435 */ "alter_table_option", - /* 436 */ "duration_literal", - /* 437 */ "rollup_func_name", - /* 438 */ "function_name", - /* 439 */ "col_name", - /* 440 */ "db_kind_opt", - /* 441 */ "table_kind_db_name_cond_opt", - /* 442 */ "like_pattern_opt", - /* 443 */ "db_name_cond_opt", - /* 444 */ "table_name_cond", - /* 445 */ "from_db_opt", - /* 446 */ "tag_list_opt", - /* 447 */ "table_kind", - /* 448 */ "tag_item", - /* 449 */ "column_alias", - /* 450 */ "tsma_name", - /* 451 */ "tsma_func_list", - /* 452 */ "full_tsma_name", - /* 453 */ "func_list", - /* 454 */ "index_options", - /* 455 */ "full_index_name", - /* 456 */ "index_name", - /* 457 */ "sliding_opt", - /* 458 */ "sma_stream_opt", - /* 459 */ "func", - /* 460 */ "sma_func_name", - /* 461 */ "expression_list", - /* 462 */ "with_meta", - /* 463 */ "query_or_subquery", - /* 464 */ "where_clause_opt", - /* 465 */ "cgroup_name", - /* 466 */ "analyze_opt", - /* 467 */ "explain_options", - /* 468 */ "insert_query", - /* 469 */ "or_replace_opt", - /* 470 */ "agg_func_opt", - /* 471 */ "bufsize_opt", - /* 472 */ "language_opt", - /* 473 */ "full_view_name", - /* 474 */ "view_name", - /* 475 */ "stream_name", - /* 476 */ "stream_options", - /* 477 */ "col_list_opt", - /* 478 */ "tag_def_or_ref_opt", - /* 479 */ "subtable_opt", - /* 480 */ "ignore_opt", - /* 481 */ "column_stream_def_list", - /* 482 */ "column_stream_def", - /* 483 */ "stream_col_options", - /* 484 */ "expression", - /* 485 */ "on_vgroup_id", - /* 486 */ "dnode_list", - /* 487 */ "literal_func", - /* 488 */ "signed_literal", - /* 489 */ "literal_list", - /* 490 */ "table_alias", - /* 491 */ "expr_or_subquery", - /* 492 */ "pseudo_column", - /* 493 */ "column_reference", - /* 494 */ "function_expression", - /* 495 */ "case_when_expression", - /* 496 */ "star_func", - /* 497 */ "star_func_para_list", - /* 498 */ "noarg_func", - /* 499 */ "other_para_list", - /* 500 */ "star_func_para", - /* 501 */ "when_then_list", - /* 502 */ "case_when_else_opt", - /* 503 */ "common_expression", - /* 504 */ "when_then_expr", - /* 505 */ "predicate", - /* 506 */ "compare_op", - /* 507 */ "in_op", - /* 508 */ "in_predicate_value", - /* 509 */ "boolean_value_expression", - /* 510 */ "boolean_primary", - /* 511 */ "from_clause_opt", - /* 512 */ "table_reference_list", - /* 513 */ "table_reference", - /* 514 */ "table_primary", - /* 515 */ "joined_table", - /* 516 */ "alias_opt", - /* 517 */ "subquery", - /* 518 */ "parenthesized_joined_table", - /* 519 */ "join_type", - /* 520 */ "join_subtype", - /* 521 */ "join_on_clause_opt", - /* 522 */ "window_offset_clause_opt", - /* 523 */ "jlimit_clause_opt", - /* 524 */ "window_offset_literal", - /* 525 */ "query_specification", - /* 526 */ "hint_list", - /* 527 */ "set_quantifier_opt", - /* 528 */ "tag_mode_opt", - /* 529 */ "select_list", - /* 530 */ "partition_by_clause_opt", - /* 531 */ "range_opt", - /* 532 */ "every_opt", - /* 533 */ "fill_opt", - /* 534 */ "twindow_clause_opt", - /* 535 */ "group_by_clause_opt", - /* 536 */ "having_clause_opt", - /* 537 */ "select_item", - /* 538 */ "partition_list", - /* 539 */ "partition_item", - /* 540 */ "interval_sliding_duration_literal", - /* 541 */ "fill_mode", - /* 542 */ "group_by_list", - /* 543 */ "query_expression", - /* 544 */ "query_simple", - /* 545 */ "order_by_clause_opt", - /* 546 */ "slimit_clause_opt", - /* 547 */ "limit_clause_opt", - /* 548 */ "union_query_expression", - /* 549 */ "query_simple_or_subquery", - /* 550 */ "sort_specification_list", - /* 551 */ "sort_specification", - /* 552 */ "ordering_specification_opt", - /* 553 */ "null_ordering_opt", + /* 39 */ "CREATEDB", + /* 40 */ "ADD", + /* 41 */ "DROP", + /* 42 */ "GRANT", + /* 43 */ "ON", + /* 44 */ "TO", + /* 45 */ "REVOKE", + /* 46 */ "FROM", + /* 47 */ "SUBSCRIBE", + /* 48 */ "READ", + /* 49 */ "WRITE", + /* 50 */ "NK_DOT", + /* 51 */ "WITH", + /* 52 */ "ENCRYPT_KEY", + /* 53 */ "DNODE", + /* 54 */ "PORT", + /* 55 */ "DNODES", + /* 56 */ "RESTORE", + /* 57 */ "NK_IPTOKEN", + /* 58 */ "FORCE", + /* 59 */ "UNSAFE", + /* 60 */ "CLUSTER", + /* 61 */ "LOCAL", + /* 62 */ "QNODE", + /* 63 */ "BNODE", + /* 64 */ "SNODE", + /* 65 */ "MNODE", + /* 66 */ "VNODE", + /* 67 */ "DATABASE", + /* 68 */ "USE", + /* 69 */ "FLUSH", + /* 70 */ "TRIM", + /* 71 */ "S3MIGRATE", + /* 72 */ "COMPACT", + /* 73 */ "IF", + /* 74 */ "NOT", + /* 75 */ "EXISTS", + /* 76 */ "BUFFER", + /* 77 */ "CACHEMODEL", + /* 78 */ "CACHESIZE", + /* 79 */ "COMP", + /* 80 */ "DURATION", + /* 81 */ "NK_VARIABLE", + /* 82 */ "MAXROWS", + /* 83 */ "MINROWS", + /* 84 */ "KEEP", + /* 85 */ "PAGES", + /* 86 */ "PAGESIZE", + /* 87 */ "TSDB_PAGESIZE", + /* 88 */ "PRECISION", + /* 89 */ "REPLICA", + /* 90 */ "VGROUPS", + /* 91 */ "SINGLE_STABLE", + /* 92 */ "RETENTIONS", + /* 93 */ "SCHEMALESS", + /* 94 */ "WAL_LEVEL", + /* 95 */ "WAL_FSYNC_PERIOD", + /* 96 */ "WAL_RETENTION_PERIOD", + /* 97 */ "WAL_RETENTION_SIZE", + /* 98 */ "WAL_ROLL_PERIOD", + /* 99 */ "WAL_SEGMENT_SIZE", + /* 100 */ "STT_TRIGGER", + /* 101 */ "TABLE_PREFIX", + /* 102 */ "TABLE_SUFFIX", + /* 103 */ "S3_CHUNKSIZE", + /* 104 */ "S3_KEEPLOCAL", + /* 105 */ "S3_COMPACT", + /* 106 */ "KEEP_TIME_OFFSET", + /* 107 */ "ENCRYPT_ALGORITHM", + /* 108 */ "NK_COLON", + /* 109 */ "BWLIMIT", + /* 110 */ "START", + /* 111 */ "TIMESTAMP", + /* 112 */ "END", + /* 113 */ "TABLE", + /* 114 */ "NK_LP", + /* 115 */ "NK_RP", + /* 116 */ "STABLE", + /* 117 */ "COLUMN", + /* 118 */ "MODIFY", + /* 119 */ "RENAME", + /* 120 */ "TAG", + /* 121 */ "SET", + /* 122 */ "NK_EQ", + /* 123 */ "USING", + /* 124 */ "TAGS", + /* 125 */ "BOOL", + /* 126 */ "TINYINT", + /* 127 */ "SMALLINT", + /* 128 */ "INT", + /* 129 */ "INTEGER", + /* 130 */ "BIGINT", + /* 131 */ "FLOAT", + /* 132 */ "DOUBLE", + /* 133 */ "BINARY", + /* 134 */ "NCHAR", + /* 135 */ "UNSIGNED", + /* 136 */ "JSON", + /* 137 */ "VARCHAR", + /* 138 */ "MEDIUMBLOB", + /* 139 */ "BLOB", + /* 140 */ "VARBINARY", + /* 141 */ "GEOMETRY", + /* 142 */ "DECIMAL", + /* 143 */ "COMMENT", + /* 144 */ "MAX_DELAY", + /* 145 */ "WATERMARK", + /* 146 */ "ROLLUP", + /* 147 */ "TTL", + /* 148 */ "SMA", + /* 149 */ "DELETE_MARK", + /* 150 */ "FIRST", + /* 151 */ "LAST", + /* 152 */ "SHOW", + /* 153 */ "PRIVILEGES", + /* 154 */ "DATABASES", + /* 155 */ "TABLES", + /* 156 */ "STABLES", + /* 157 */ "MNODES", + /* 158 */ "QNODES", + /* 159 */ "ARBGROUPS", + /* 160 */ "FUNCTIONS", + /* 161 */ "INDEXES", + /* 162 */ "ACCOUNTS", + /* 163 */ "APPS", + /* 164 */ "CONNECTIONS", + /* 165 */ "LICENCES", + /* 166 */ "GRANTS", + /* 167 */ "FULL", + /* 168 */ "LOGS", + /* 169 */ "MACHINES", + /* 170 */ "ENCRYPTIONS", + /* 171 */ "QUERIES", + /* 172 */ "SCORES", + /* 173 */ "TOPICS", + /* 174 */ "VARIABLES", + /* 175 */ "BNODES", + /* 176 */ "SNODES", + /* 177 */ "TRANSACTIONS", + /* 178 */ "DISTRIBUTED", + /* 179 */ "CONSUMERS", + /* 180 */ "SUBSCRIPTIONS", + /* 181 */ "VNODES", + /* 182 */ "ALIVE", + /* 183 */ "VIEWS", + /* 184 */ "VIEW", + /* 185 */ "COMPACTS", + /* 186 */ "NORMAL", + /* 187 */ "CHILD", + /* 188 */ "LIKE", + /* 189 */ "TBNAME", + /* 190 */ "QTAGS", + /* 191 */ "AS", + /* 192 */ "SYSTEM", + /* 193 */ "TSMA", + /* 194 */ "INTERVAL", + /* 195 */ "RECURSIVE", + /* 196 */ "TSMAS", + /* 197 */ "FUNCTION", + /* 198 */ "INDEX", + /* 199 */ "COUNT", + /* 200 */ "LAST_ROW", + /* 201 */ "META", + /* 202 */ "ONLY", + /* 203 */ "TOPIC", + /* 204 */ "CONSUMER", + /* 205 */ "GROUP", + /* 206 */ "DESC", + /* 207 */ "DESCRIBE", + /* 208 */ "RESET", + /* 209 */ "QUERY", + /* 210 */ "CACHE", + /* 211 */ "EXPLAIN", + /* 212 */ "ANALYZE", + /* 213 */ "VERBOSE", + /* 214 */ "NK_BOOL", + /* 215 */ "RATIO", + /* 216 */ "NK_FLOAT", + /* 217 */ "OUTPUTTYPE", + /* 218 */ "AGGREGATE", + /* 219 */ "BUFSIZE", + /* 220 */ "LANGUAGE", + /* 221 */ "REPLACE", + /* 222 */ "STREAM", + /* 223 */ "INTO", + /* 224 */ "PAUSE", + /* 225 */ "RESUME", + /* 226 */ "PRIMARY", + /* 227 */ "KEY", + /* 228 */ "TRIGGER", + /* 229 */ "AT_ONCE", + /* 230 */ "WINDOW_CLOSE", + /* 231 */ "IGNORE", + /* 232 */ "EXPIRED", + /* 233 */ "FILL_HISTORY", + /* 234 */ "UPDATE", + /* 235 */ "SUBTABLE", + /* 236 */ "UNTREATED", + /* 237 */ "KILL", + /* 238 */ "CONNECTION", + /* 239 */ "TRANSACTION", + /* 240 */ "BALANCE", + /* 241 */ "VGROUP", + /* 242 */ "LEADER", + /* 243 */ "MERGE", + /* 244 */ "REDISTRIBUTE", + /* 245 */ "SPLIT", + /* 246 */ "DELETE", + /* 247 */ "INSERT", + /* 248 */ "NK_BIN", + /* 249 */ "NK_HEX", + /* 250 */ "NULL", + /* 251 */ "NK_QUESTION", + /* 252 */ "NK_ALIAS", + /* 253 */ "NK_ARROW", + /* 254 */ "ROWTS", + /* 255 */ "QSTART", + /* 256 */ "QEND", + /* 257 */ "QDURATION", + /* 258 */ "WSTART", + /* 259 */ "WEND", + /* 260 */ "WDURATION", + /* 261 */ "IROWTS", + /* 262 */ "ISFILLED", + /* 263 */ "CAST", + /* 264 */ "NOW", + /* 265 */ "TODAY", + /* 266 */ "TIMEZONE", + /* 267 */ "CLIENT_VERSION", + /* 268 */ "SERVER_VERSION", + /* 269 */ "SERVER_STATUS", + /* 270 */ "CURRENT_USER", + /* 271 */ "CASE", + /* 272 */ "WHEN", + /* 273 */ "THEN", + /* 274 */ "ELSE", + /* 275 */ "BETWEEN", + /* 276 */ "IS", + /* 277 */ "NK_LT", + /* 278 */ "NK_GT", + /* 279 */ "NK_LE", + /* 280 */ "NK_GE", + /* 281 */ "NK_NE", + /* 282 */ "MATCH", + /* 283 */ "NMATCH", + /* 284 */ "CONTAINS", + /* 285 */ "IN", + /* 286 */ "JOIN", + /* 287 */ "INNER", + /* 288 */ "LEFT", + /* 289 */ "RIGHT", + /* 290 */ "OUTER", + /* 291 */ "SEMI", + /* 292 */ "ANTI", + /* 293 */ "ASOF", + /* 294 */ "WINDOW", + /* 295 */ "WINDOW_OFFSET", + /* 296 */ "JLIMIT", + /* 297 */ "SELECT", + /* 298 */ "NK_HINT", + /* 299 */ "DISTINCT", + /* 300 */ "WHERE", + /* 301 */ "PARTITION", + /* 302 */ "BY", + /* 303 */ "SESSION", + /* 304 */ "STATE_WINDOW", + /* 305 */ "EVENT_WINDOW", + /* 306 */ "COUNT_WINDOW", + /* 307 */ "SLIDING", + /* 308 */ "FILL", + /* 309 */ "VALUE", + /* 310 */ "VALUE_F", + /* 311 */ "NONE", + /* 312 */ "PREV", + /* 313 */ "NULL_F", + /* 314 */ "LINEAR", + /* 315 */ "NEXT", + /* 316 */ "HAVING", + /* 317 */ "RANGE", + /* 318 */ "EVERY", + /* 319 */ "ORDER", + /* 320 */ "SLIMIT", + /* 321 */ "SOFFSET", + /* 322 */ "LIMIT", + /* 323 */ "OFFSET", + /* 324 */ "ASC", + /* 325 */ "NULLS", + /* 326 */ "ABORT", + /* 327 */ "AFTER", + /* 328 */ "ATTACH", + /* 329 */ "BEFORE", + /* 330 */ "BEGIN", + /* 331 */ "BITAND", + /* 332 */ "BITNOT", + /* 333 */ "BITOR", + /* 334 */ "BLOCKS", + /* 335 */ "CHANGE", + /* 336 */ "COMMA", + /* 337 */ "CONCAT", + /* 338 */ "CONFLICT", + /* 339 */ "COPY", + /* 340 */ "DEFERRED", + /* 341 */ "DELIMITERS", + /* 342 */ "DETACH", + /* 343 */ "DIVIDE", + /* 344 */ "DOT", + /* 345 */ "EACH", + /* 346 */ "FAIL", + /* 347 */ "FILE", + /* 348 */ "FOR", + /* 349 */ "GLOB", + /* 350 */ "ID", + /* 351 */ "IMMEDIATE", + /* 352 */ "IMPORT", + /* 353 */ "INITIALLY", + /* 354 */ "INSTEAD", + /* 355 */ "ISNULL", + /* 356 */ "MODULES", + /* 357 */ "NK_BITNOT", + /* 358 */ "NK_SEMI", + /* 359 */ "NOTNULL", + /* 360 */ "OF", + /* 361 */ "PLUS", + /* 362 */ "PRIVILEGE", + /* 363 */ "RAISE", + /* 364 */ "RESTRICT", + /* 365 */ "ROW", + /* 366 */ "STAR", + /* 367 */ "STATEMENT", + /* 368 */ "STRICT", + /* 369 */ "STRING", + /* 370 */ "TIMES", + /* 371 */ "VALUES", + /* 372 */ "VARIABLE", + /* 373 */ "WAL", + /* 374 */ "ENCODE", + /* 375 */ "COMPRESS", + /* 376 */ "LEVEL", + /* 377 */ "cmd", + /* 378 */ "account_options", + /* 379 */ "alter_account_options", + /* 380 */ "literal", + /* 381 */ "alter_account_option", + /* 382 */ "ip_range_list", + /* 383 */ "white_list", + /* 384 */ "white_list_opt", + /* 385 */ "user_name", + /* 386 */ "sysinfo_opt", + /* 387 */ "privileges", + /* 388 */ "priv_level", + /* 389 */ "with_opt", + /* 390 */ "priv_type_list", + /* 391 */ "priv_type", + /* 392 */ "db_name", + /* 393 */ "table_name", + /* 394 */ "topic_name", + /* 395 */ "search_condition", + /* 396 */ "dnode_endpoint", + /* 397 */ "force_opt", + /* 398 */ "unsafe_opt", + /* 399 */ "not_exists_opt", + /* 400 */ "db_options", + /* 401 */ "exists_opt", + /* 402 */ "alter_db_options", + /* 403 */ "speed_opt", + /* 404 */ "start_opt", + /* 405 */ "end_opt", + /* 406 */ "integer_list", + /* 407 */ "variable_list", + /* 408 */ "retention_list", + /* 409 */ "signed", + /* 410 */ "alter_db_option", + /* 411 */ "retention", + /* 412 */ "full_table_name", + /* 413 */ "column_def_list", + /* 414 */ "tags_def_opt", + /* 415 */ "table_options", + /* 416 */ "multi_create_clause", + /* 417 */ "tags_def", + /* 418 */ "multi_drop_clause", + /* 419 */ "alter_table_clause", + /* 420 */ "alter_table_options", + /* 421 */ "column_name", + /* 422 */ "type_name", + /* 423 */ "column_options", + /* 424 */ "tags_literal", + /* 425 */ "create_subtable_clause", + /* 426 */ "specific_cols_opt", + /* 427 */ "tags_literal_list", + /* 428 */ "drop_table_clause", + /* 429 */ "col_name_list", + /* 430 */ "tag_def_list", + /* 431 */ "tag_def", + /* 432 */ "column_def", + /* 433 */ "type_name_default_len", + /* 434 */ "duration_list", + /* 435 */ "rollup_func_list", + /* 436 */ "alter_table_option", + /* 437 */ "duration_literal", + /* 438 */ "rollup_func_name", + /* 439 */ "function_name", + /* 440 */ "col_name", + /* 441 */ "db_kind_opt", + /* 442 */ "table_kind_db_name_cond_opt", + /* 443 */ "like_pattern_opt", + /* 444 */ "db_name_cond_opt", + /* 445 */ "table_name_cond", + /* 446 */ "from_db_opt", + /* 447 */ "tag_list_opt", + /* 448 */ "table_kind", + /* 449 */ "tag_item", + /* 450 */ "column_alias", + /* 451 */ "tsma_name", + /* 452 */ "tsma_func_list", + /* 453 */ "full_tsma_name", + /* 454 */ "func_list", + /* 455 */ "index_options", + /* 456 */ "full_index_name", + /* 457 */ "index_name", + /* 458 */ "sliding_opt", + /* 459 */ "sma_stream_opt", + /* 460 */ "func", + /* 461 */ "sma_func_name", + /* 462 */ "expression_list", + /* 463 */ "with_meta", + /* 464 */ "query_or_subquery", + /* 465 */ "where_clause_opt", + /* 466 */ "cgroup_name", + /* 467 */ "analyze_opt", + /* 468 */ "explain_options", + /* 469 */ "insert_query", + /* 470 */ "or_replace_opt", + /* 471 */ "agg_func_opt", + /* 472 */ "bufsize_opt", + /* 473 */ "language_opt", + /* 474 */ "full_view_name", + /* 475 */ "view_name", + /* 476 */ "stream_name", + /* 477 */ "stream_options", + /* 478 */ "col_list_opt", + /* 479 */ "tag_def_or_ref_opt", + /* 480 */ "subtable_opt", + /* 481 */ "ignore_opt", + /* 482 */ "column_stream_def_list", + /* 483 */ "column_stream_def", + /* 484 */ "stream_col_options", + /* 485 */ "expression", + /* 486 */ "on_vgroup_id", + /* 487 */ "dnode_list", + /* 488 */ "literal_func", + /* 489 */ "signed_literal", + /* 490 */ "literal_list", + /* 491 */ "table_alias", + /* 492 */ "expr_or_subquery", + /* 493 */ "pseudo_column", + /* 494 */ "column_reference", + /* 495 */ "function_expression", + /* 496 */ "case_when_expression", + /* 497 */ "star_func", + /* 498 */ "star_func_para_list", + /* 499 */ "noarg_func", + /* 500 */ "other_para_list", + /* 501 */ "star_func_para", + /* 502 */ "when_then_list", + /* 503 */ "case_when_else_opt", + /* 504 */ "common_expression", + /* 505 */ "when_then_expr", + /* 506 */ "predicate", + /* 507 */ "compare_op", + /* 508 */ "in_op", + /* 509 */ "in_predicate_value", + /* 510 */ "boolean_value_expression", + /* 511 */ "boolean_primary", + /* 512 */ "from_clause_opt", + /* 513 */ "table_reference_list", + /* 514 */ "table_reference", + /* 515 */ "table_primary", + /* 516 */ "joined_table", + /* 517 */ "alias_opt", + /* 518 */ "subquery", + /* 519 */ "parenthesized_joined_table", + /* 520 */ "join_type", + /* 521 */ "join_subtype", + /* 522 */ "join_on_clause_opt", + /* 523 */ "window_offset_clause_opt", + /* 524 */ "jlimit_clause_opt", + /* 525 */ "window_offset_literal", + /* 526 */ "query_specification", + /* 527 */ "hint_list", + /* 528 */ "set_quantifier_opt", + /* 529 */ "tag_mode_opt", + /* 530 */ "select_list", + /* 531 */ "partition_by_clause_opt", + /* 532 */ "range_opt", + /* 533 */ "every_opt", + /* 534 */ "fill_opt", + /* 535 */ "twindow_clause_opt", + /* 536 */ "group_by_clause_opt", + /* 537 */ "having_clause_opt", + /* 538 */ "select_item", + /* 539 */ "partition_list", + /* 540 */ "partition_item", + /* 541 */ "interval_sliding_duration_literal", + /* 542 */ "fill_mode", + /* 543 */ "group_by_list", + /* 544 */ "query_expression", + /* 545 */ "query_simple", + /* 546 */ "order_by_clause_opt", + /* 547 */ "slimit_clause_opt", + /* 548 */ "limit_clause_opt", + /* 549 */ "union_query_expression", + /* 550 */ "query_simple_or_subquery", + /* 551 */ "sort_specification_list", + /* 552 */ "sort_specification", + /* 553 */ "ordering_specification_opt", + /* 554 */ "null_ordering_opt", }; #endif /* defined(YYCOVERAGE) || !defined(NDEBUG) */ @@ -2605,721 +2244,722 @@ static const char *const yyRuleName[] = { /* 30 */ "cmd ::= ALTER USER user_name PASS NK_STRING", /* 31 */ "cmd ::= ALTER USER user_name ENABLE NK_INTEGER", /* 32 */ "cmd ::= ALTER USER user_name SYSINFO NK_INTEGER", - /* 33 */ "cmd ::= ALTER USER user_name ADD white_list", - /* 34 */ "cmd ::= ALTER USER user_name DROP white_list", - /* 35 */ "cmd ::= DROP USER user_name", - /* 36 */ "sysinfo_opt ::=", - /* 37 */ "sysinfo_opt ::= SYSINFO NK_INTEGER", - /* 38 */ "cmd ::= GRANT privileges ON priv_level with_opt TO user_name", - /* 39 */ "cmd ::= REVOKE privileges ON priv_level with_opt FROM user_name", - /* 40 */ "privileges ::= ALL", - /* 41 */ "privileges ::= priv_type_list", - /* 42 */ "privileges ::= SUBSCRIBE", - /* 43 */ "priv_type_list ::= priv_type", - /* 44 */ "priv_type_list ::= priv_type_list NK_COMMA priv_type", - /* 45 */ "priv_type ::= READ", - /* 46 */ "priv_type ::= WRITE", - /* 47 */ "priv_type ::= ALTER", - /* 48 */ "priv_level ::= NK_STAR NK_DOT NK_STAR", - /* 49 */ "priv_level ::= db_name NK_DOT NK_STAR", - /* 50 */ "priv_level ::= db_name NK_DOT table_name", - /* 51 */ "priv_level ::= topic_name", - /* 52 */ "with_opt ::=", - /* 53 */ "with_opt ::= WITH search_condition", - /* 54 */ "cmd ::= CREATE ENCRYPT_KEY NK_STRING", - /* 55 */ "cmd ::= CREATE DNODE dnode_endpoint", - /* 56 */ "cmd ::= CREATE DNODE dnode_endpoint PORT NK_INTEGER", - /* 57 */ "cmd ::= DROP DNODE NK_INTEGER force_opt", - /* 58 */ "cmd ::= DROP DNODE dnode_endpoint force_opt", - /* 59 */ "cmd ::= DROP DNODE NK_INTEGER unsafe_opt", - /* 60 */ "cmd ::= DROP DNODE dnode_endpoint unsafe_opt", - /* 61 */ "cmd ::= ALTER DNODE NK_INTEGER NK_STRING", - /* 62 */ "cmd ::= ALTER DNODE NK_INTEGER NK_STRING NK_STRING", - /* 63 */ "cmd ::= ALTER ALL DNODES NK_STRING", - /* 64 */ "cmd ::= ALTER ALL DNODES NK_STRING NK_STRING", - /* 65 */ "cmd ::= RESTORE DNODE NK_INTEGER", - /* 66 */ "dnode_endpoint ::= NK_STRING", - /* 67 */ "dnode_endpoint ::= NK_ID", - /* 68 */ "dnode_endpoint ::= NK_IPTOKEN", - /* 69 */ "force_opt ::=", - /* 70 */ "force_opt ::= FORCE", - /* 71 */ "unsafe_opt ::= UNSAFE", - /* 72 */ "cmd ::= ALTER CLUSTER NK_STRING", - /* 73 */ "cmd ::= ALTER CLUSTER NK_STRING NK_STRING", - /* 74 */ "cmd ::= ALTER LOCAL NK_STRING", - /* 75 */ "cmd ::= ALTER LOCAL NK_STRING NK_STRING", - /* 76 */ "cmd ::= CREATE QNODE ON DNODE NK_INTEGER", - /* 77 */ "cmd ::= DROP QNODE ON DNODE NK_INTEGER", - /* 78 */ "cmd ::= RESTORE QNODE ON DNODE NK_INTEGER", - /* 79 */ "cmd ::= CREATE BNODE ON DNODE NK_INTEGER", - /* 80 */ "cmd ::= DROP BNODE ON DNODE NK_INTEGER", - /* 81 */ "cmd ::= CREATE SNODE ON DNODE NK_INTEGER", - /* 82 */ "cmd ::= DROP SNODE ON DNODE NK_INTEGER", - /* 83 */ "cmd ::= CREATE MNODE ON DNODE NK_INTEGER", - /* 84 */ "cmd ::= DROP MNODE ON DNODE NK_INTEGER", - /* 85 */ "cmd ::= RESTORE MNODE ON DNODE NK_INTEGER", - /* 86 */ "cmd ::= RESTORE VNODE ON DNODE NK_INTEGER", - /* 87 */ "cmd ::= CREATE DATABASE not_exists_opt db_name db_options", - /* 88 */ "cmd ::= DROP DATABASE exists_opt db_name", - /* 89 */ "cmd ::= USE db_name", - /* 90 */ "cmd ::= ALTER DATABASE db_name alter_db_options", - /* 91 */ "cmd ::= FLUSH DATABASE db_name", - /* 92 */ "cmd ::= TRIM DATABASE db_name speed_opt", - /* 93 */ "cmd ::= S3MIGRATE DATABASE db_name", - /* 94 */ "cmd ::= COMPACT DATABASE db_name start_opt end_opt", - /* 95 */ "not_exists_opt ::= IF NOT EXISTS", - /* 96 */ "not_exists_opt ::=", - /* 97 */ "exists_opt ::= IF EXISTS", - /* 98 */ "exists_opt ::=", - /* 99 */ "db_options ::=", - /* 100 */ "db_options ::= db_options BUFFER NK_INTEGER", - /* 101 */ "db_options ::= db_options CACHEMODEL NK_STRING", - /* 102 */ "db_options ::= db_options CACHESIZE NK_INTEGER", - /* 103 */ "db_options ::= db_options COMP NK_INTEGER", - /* 104 */ "db_options ::= db_options DURATION NK_INTEGER", - /* 105 */ "db_options ::= db_options DURATION NK_VARIABLE", - /* 106 */ "db_options ::= db_options MAXROWS NK_INTEGER", - /* 107 */ "db_options ::= db_options MINROWS NK_INTEGER", - /* 108 */ "db_options ::= db_options KEEP integer_list", - /* 109 */ "db_options ::= db_options KEEP variable_list", - /* 110 */ "db_options ::= db_options PAGES NK_INTEGER", - /* 111 */ "db_options ::= db_options PAGESIZE NK_INTEGER", - /* 112 */ "db_options ::= db_options TSDB_PAGESIZE NK_INTEGER", - /* 113 */ "db_options ::= db_options PRECISION NK_STRING", - /* 114 */ "db_options ::= db_options REPLICA NK_INTEGER", - /* 115 */ "db_options ::= db_options VGROUPS NK_INTEGER", - /* 116 */ "db_options ::= db_options SINGLE_STABLE NK_INTEGER", - /* 117 */ "db_options ::= db_options RETENTIONS retention_list", - /* 118 */ "db_options ::= db_options SCHEMALESS NK_INTEGER", - /* 119 */ "db_options ::= db_options WAL_LEVEL NK_INTEGER", - /* 120 */ "db_options ::= db_options WAL_FSYNC_PERIOD NK_INTEGER", - /* 121 */ "db_options ::= db_options WAL_RETENTION_PERIOD NK_INTEGER", - /* 122 */ "db_options ::= db_options WAL_RETENTION_PERIOD NK_MINUS NK_INTEGER", - /* 123 */ "db_options ::= db_options WAL_RETENTION_SIZE NK_INTEGER", - /* 124 */ "db_options ::= db_options WAL_RETENTION_SIZE NK_MINUS NK_INTEGER", - /* 125 */ "db_options ::= db_options WAL_ROLL_PERIOD NK_INTEGER", - /* 126 */ "db_options ::= db_options WAL_SEGMENT_SIZE NK_INTEGER", - /* 127 */ "db_options ::= db_options STT_TRIGGER NK_INTEGER", - /* 128 */ "db_options ::= db_options TABLE_PREFIX signed", - /* 129 */ "db_options ::= db_options TABLE_SUFFIX signed", - /* 130 */ "db_options ::= db_options S3_CHUNKSIZE NK_INTEGER", - /* 131 */ "db_options ::= db_options S3_KEEPLOCAL NK_INTEGER", - /* 132 */ "db_options ::= db_options S3_KEEPLOCAL NK_VARIABLE", - /* 133 */ "db_options ::= db_options S3_COMPACT NK_INTEGER", - /* 134 */ "db_options ::= db_options KEEP_TIME_OFFSET NK_INTEGER", - /* 135 */ "db_options ::= db_options ENCRYPT_ALGORITHM NK_STRING", - /* 136 */ "alter_db_options ::= alter_db_option", - /* 137 */ "alter_db_options ::= alter_db_options alter_db_option", - /* 138 */ "alter_db_option ::= BUFFER NK_INTEGER", - /* 139 */ "alter_db_option ::= CACHEMODEL NK_STRING", - /* 140 */ "alter_db_option ::= CACHESIZE NK_INTEGER", - /* 141 */ "alter_db_option ::= WAL_FSYNC_PERIOD NK_INTEGER", - /* 142 */ "alter_db_option ::= KEEP integer_list", - /* 143 */ "alter_db_option ::= KEEP variable_list", - /* 144 */ "alter_db_option ::= PAGES NK_INTEGER", - /* 145 */ "alter_db_option ::= REPLICA NK_INTEGER", - /* 146 */ "alter_db_option ::= WAL_LEVEL NK_INTEGER", - /* 147 */ "alter_db_option ::= STT_TRIGGER NK_INTEGER", - /* 148 */ "alter_db_option ::= MINROWS NK_INTEGER", - /* 149 */ "alter_db_option ::= WAL_RETENTION_PERIOD NK_INTEGER", - /* 150 */ "alter_db_option ::= WAL_RETENTION_PERIOD NK_MINUS NK_INTEGER", - /* 151 */ "alter_db_option ::= WAL_RETENTION_SIZE NK_INTEGER", - /* 152 */ "alter_db_option ::= WAL_RETENTION_SIZE NK_MINUS NK_INTEGER", - /* 153 */ "alter_db_option ::= S3_KEEPLOCAL NK_INTEGER", - /* 154 */ "alter_db_option ::= S3_KEEPLOCAL NK_VARIABLE", - /* 155 */ "alter_db_option ::= S3_COMPACT NK_INTEGER", - /* 156 */ "alter_db_option ::= KEEP_TIME_OFFSET NK_INTEGER", - /* 157 */ "alter_db_option ::= ENCRYPT_ALGORITHM NK_STRING", - /* 158 */ "integer_list ::= NK_INTEGER", - /* 159 */ "integer_list ::= integer_list NK_COMMA NK_INTEGER", - /* 160 */ "variable_list ::= NK_VARIABLE", - /* 161 */ "variable_list ::= variable_list NK_COMMA NK_VARIABLE", - /* 162 */ "retention_list ::= retention", - /* 163 */ "retention_list ::= retention_list NK_COMMA retention", - /* 164 */ "retention ::= NK_VARIABLE NK_COLON NK_VARIABLE", - /* 165 */ "retention ::= NK_MINUS NK_COLON NK_VARIABLE", - /* 166 */ "speed_opt ::=", - /* 167 */ "speed_opt ::= BWLIMIT NK_INTEGER", - /* 168 */ "start_opt ::=", - /* 169 */ "start_opt ::= START WITH NK_INTEGER", - /* 170 */ "start_opt ::= START WITH NK_STRING", - /* 171 */ "start_opt ::= START WITH TIMESTAMP NK_STRING", - /* 172 */ "end_opt ::=", - /* 173 */ "end_opt ::= END WITH NK_INTEGER", - /* 174 */ "end_opt ::= END WITH NK_STRING", - /* 175 */ "end_opt ::= END WITH TIMESTAMP NK_STRING", - /* 176 */ "cmd ::= CREATE TABLE not_exists_opt full_table_name NK_LP column_def_list NK_RP tags_def_opt table_options", - /* 177 */ "cmd ::= CREATE TABLE multi_create_clause", - /* 178 */ "cmd ::= CREATE STABLE not_exists_opt full_table_name NK_LP column_def_list NK_RP tags_def table_options", - /* 179 */ "cmd ::= DROP TABLE multi_drop_clause", - /* 180 */ "cmd ::= DROP STABLE exists_opt full_table_name", - /* 181 */ "cmd ::= ALTER TABLE alter_table_clause", - /* 182 */ "cmd ::= ALTER STABLE alter_table_clause", - /* 183 */ "alter_table_clause ::= full_table_name alter_table_options", - /* 184 */ "alter_table_clause ::= full_table_name ADD COLUMN column_name type_name", - /* 185 */ "alter_table_clause ::= full_table_name DROP COLUMN column_name", - /* 186 */ "alter_table_clause ::= full_table_name MODIFY COLUMN column_name type_name", - /* 187 */ "alter_table_clause ::= full_table_name MODIFY COLUMN column_name column_options", - /* 188 */ "alter_table_clause ::= full_table_name RENAME COLUMN column_name column_name", - /* 189 */ "alter_table_clause ::= full_table_name ADD TAG column_name type_name", - /* 190 */ "alter_table_clause ::= full_table_name DROP TAG column_name", - /* 191 */ "alter_table_clause ::= full_table_name MODIFY TAG column_name type_name", - /* 192 */ "alter_table_clause ::= full_table_name RENAME TAG column_name column_name", - /* 193 */ "alter_table_clause ::= full_table_name SET TAG column_name NK_EQ tags_literal", - /* 194 */ "multi_create_clause ::= create_subtable_clause", - /* 195 */ "multi_create_clause ::= multi_create_clause create_subtable_clause", - /* 196 */ "create_subtable_clause ::= not_exists_opt full_table_name USING full_table_name specific_cols_opt TAGS NK_LP tags_literal_list NK_RP table_options", - /* 197 */ "multi_drop_clause ::= drop_table_clause", - /* 198 */ "multi_drop_clause ::= multi_drop_clause NK_COMMA drop_table_clause", - /* 199 */ "drop_table_clause ::= exists_opt full_table_name", - /* 200 */ "specific_cols_opt ::=", - /* 201 */ "specific_cols_opt ::= NK_LP col_name_list NK_RP", - /* 202 */ "full_table_name ::= table_name", - /* 203 */ "full_table_name ::= db_name NK_DOT table_name", - /* 204 */ "tag_def_list ::= tag_def", - /* 205 */ "tag_def_list ::= tag_def_list NK_COMMA tag_def", - /* 206 */ "tag_def ::= column_name type_name", - /* 207 */ "column_def_list ::= column_def", - /* 208 */ "column_def_list ::= column_def_list NK_COMMA column_def", - /* 209 */ "column_def ::= column_name type_name column_options", - /* 210 */ "type_name ::= BOOL", - /* 211 */ "type_name ::= TINYINT", - /* 212 */ "type_name ::= SMALLINT", - /* 213 */ "type_name ::= INT", - /* 214 */ "type_name ::= INTEGER", - /* 215 */ "type_name ::= BIGINT", - /* 216 */ "type_name ::= FLOAT", - /* 217 */ "type_name ::= DOUBLE", - /* 218 */ "type_name ::= BINARY NK_LP NK_INTEGER NK_RP", - /* 219 */ "type_name ::= TIMESTAMP", - /* 220 */ "type_name ::= NCHAR NK_LP NK_INTEGER NK_RP", - /* 221 */ "type_name ::= TINYINT UNSIGNED", - /* 222 */ "type_name ::= SMALLINT UNSIGNED", - /* 223 */ "type_name ::= INT UNSIGNED", - /* 224 */ "type_name ::= BIGINT UNSIGNED", - /* 225 */ "type_name ::= JSON", - /* 226 */ "type_name ::= VARCHAR NK_LP NK_INTEGER NK_RP", - /* 227 */ "type_name ::= MEDIUMBLOB", - /* 228 */ "type_name ::= BLOB", - /* 229 */ "type_name ::= VARBINARY NK_LP NK_INTEGER NK_RP", - /* 230 */ "type_name ::= GEOMETRY NK_LP NK_INTEGER NK_RP", - /* 231 */ "type_name ::= DECIMAL", - /* 232 */ "type_name ::= DECIMAL NK_LP NK_INTEGER NK_RP", - /* 233 */ "type_name ::= DECIMAL NK_LP NK_INTEGER NK_COMMA NK_INTEGER NK_RP", - /* 234 */ "type_name_default_len ::= BINARY", - /* 235 */ "type_name_default_len ::= NCHAR", - /* 236 */ "type_name_default_len ::= VARCHAR", - /* 237 */ "type_name_default_len ::= VARBINARY", - /* 238 */ "tags_def_opt ::=", - /* 239 */ "tags_def_opt ::= tags_def", - /* 240 */ "tags_def ::= TAGS NK_LP tag_def_list NK_RP", - /* 241 */ "table_options ::=", - /* 242 */ "table_options ::= table_options COMMENT NK_STRING", - /* 243 */ "table_options ::= table_options MAX_DELAY duration_list", - /* 244 */ "table_options ::= table_options WATERMARK duration_list", - /* 245 */ "table_options ::= table_options ROLLUP NK_LP rollup_func_list NK_RP", - /* 246 */ "table_options ::= table_options TTL NK_INTEGER", - /* 247 */ "table_options ::= table_options SMA NK_LP col_name_list NK_RP", - /* 248 */ "table_options ::= table_options DELETE_MARK duration_list", - /* 249 */ "alter_table_options ::= alter_table_option", - /* 250 */ "alter_table_options ::= alter_table_options alter_table_option", - /* 251 */ "alter_table_option ::= COMMENT NK_STRING", - /* 252 */ "alter_table_option ::= TTL NK_INTEGER", - /* 253 */ "duration_list ::= duration_literal", - /* 254 */ "duration_list ::= duration_list NK_COMMA duration_literal", - /* 255 */ "rollup_func_list ::= rollup_func_name", - /* 256 */ "rollup_func_list ::= rollup_func_list NK_COMMA rollup_func_name", - /* 257 */ "rollup_func_name ::= function_name", - /* 258 */ "rollup_func_name ::= FIRST", - /* 259 */ "rollup_func_name ::= LAST", - /* 260 */ "col_name_list ::= col_name", - /* 261 */ "col_name_list ::= col_name_list NK_COMMA col_name", - /* 262 */ "col_name ::= column_name", - /* 263 */ "cmd ::= SHOW DNODES", - /* 264 */ "cmd ::= SHOW USERS", - /* 265 */ "cmd ::= SHOW USER PRIVILEGES", - /* 266 */ "cmd ::= SHOW db_kind_opt DATABASES", - /* 267 */ "cmd ::= SHOW table_kind_db_name_cond_opt TABLES like_pattern_opt", - /* 268 */ "cmd ::= SHOW db_name_cond_opt STABLES like_pattern_opt", - /* 269 */ "cmd ::= SHOW db_name_cond_opt VGROUPS", - /* 270 */ "cmd ::= SHOW MNODES", - /* 271 */ "cmd ::= SHOW QNODES", - /* 272 */ "cmd ::= SHOW ARBGROUPS", - /* 273 */ "cmd ::= SHOW FUNCTIONS", - /* 274 */ "cmd ::= SHOW INDEXES FROM table_name_cond from_db_opt", - /* 275 */ "cmd ::= SHOW INDEXES FROM db_name NK_DOT table_name", - /* 276 */ "cmd ::= SHOW STREAMS", - /* 277 */ "cmd ::= SHOW ACCOUNTS", - /* 278 */ "cmd ::= SHOW APPS", - /* 279 */ "cmd ::= SHOW CONNECTIONS", - /* 280 */ "cmd ::= SHOW LICENCES", - /* 281 */ "cmd ::= SHOW GRANTS", - /* 282 */ "cmd ::= SHOW GRANTS FULL", - /* 283 */ "cmd ::= SHOW GRANTS LOGS", - /* 284 */ "cmd ::= SHOW CLUSTER MACHINES", - /* 285 */ "cmd ::= SHOW CREATE DATABASE db_name", - /* 286 */ "cmd ::= SHOW CREATE TABLE full_table_name", - /* 287 */ "cmd ::= SHOW CREATE STABLE full_table_name", - /* 288 */ "cmd ::= SHOW ENCRYPTIONS", - /* 289 */ "cmd ::= SHOW QUERIES", - /* 290 */ "cmd ::= SHOW SCORES", - /* 291 */ "cmd ::= SHOW TOPICS", - /* 292 */ "cmd ::= SHOW VARIABLES", - /* 293 */ "cmd ::= SHOW CLUSTER VARIABLES", - /* 294 */ "cmd ::= SHOW LOCAL VARIABLES", - /* 295 */ "cmd ::= SHOW DNODE NK_INTEGER VARIABLES like_pattern_opt", - /* 296 */ "cmd ::= SHOW BNODES", - /* 297 */ "cmd ::= SHOW SNODES", - /* 298 */ "cmd ::= SHOW CLUSTER", - /* 299 */ "cmd ::= SHOW TRANSACTIONS", - /* 300 */ "cmd ::= SHOW TABLE DISTRIBUTED full_table_name", - /* 301 */ "cmd ::= SHOW CONSUMERS", - /* 302 */ "cmd ::= SHOW SUBSCRIPTIONS", - /* 303 */ "cmd ::= SHOW TAGS FROM table_name_cond from_db_opt", - /* 304 */ "cmd ::= SHOW TAGS FROM db_name NK_DOT table_name", - /* 305 */ "cmd ::= SHOW TABLE TAGS tag_list_opt FROM table_name_cond from_db_opt", - /* 306 */ "cmd ::= SHOW TABLE TAGS tag_list_opt FROM db_name NK_DOT table_name", - /* 307 */ "cmd ::= SHOW VNODES ON DNODE NK_INTEGER", - /* 308 */ "cmd ::= SHOW VNODES", - /* 309 */ "cmd ::= SHOW db_name_cond_opt ALIVE", - /* 310 */ "cmd ::= SHOW CLUSTER ALIVE", - /* 311 */ "cmd ::= SHOW db_name_cond_opt VIEWS like_pattern_opt", - /* 312 */ "cmd ::= SHOW CREATE VIEW full_table_name", - /* 313 */ "cmd ::= SHOW COMPACTS", - /* 314 */ "cmd ::= SHOW COMPACT NK_INTEGER", - /* 315 */ "table_kind_db_name_cond_opt ::=", - /* 316 */ "table_kind_db_name_cond_opt ::= table_kind", - /* 317 */ "table_kind_db_name_cond_opt ::= db_name NK_DOT", - /* 318 */ "table_kind_db_name_cond_opt ::= table_kind db_name NK_DOT", - /* 319 */ "table_kind ::= NORMAL", - /* 320 */ "table_kind ::= CHILD", - /* 321 */ "db_name_cond_opt ::=", - /* 322 */ "db_name_cond_opt ::= db_name NK_DOT", - /* 323 */ "like_pattern_opt ::=", - /* 324 */ "like_pattern_opt ::= LIKE NK_STRING", - /* 325 */ "table_name_cond ::= table_name", - /* 326 */ "from_db_opt ::=", - /* 327 */ "from_db_opt ::= FROM db_name", - /* 328 */ "tag_list_opt ::=", - /* 329 */ "tag_list_opt ::= tag_item", - /* 330 */ "tag_list_opt ::= tag_list_opt NK_COMMA tag_item", - /* 331 */ "tag_item ::= TBNAME", - /* 332 */ "tag_item ::= QTAGS", - /* 333 */ "tag_item ::= column_name", - /* 334 */ "tag_item ::= column_name column_alias", - /* 335 */ "tag_item ::= column_name AS column_alias", - /* 336 */ "db_kind_opt ::=", - /* 337 */ "db_kind_opt ::= USER", - /* 338 */ "db_kind_opt ::= SYSTEM", - /* 339 */ "cmd ::= CREATE TSMA not_exists_opt tsma_name ON full_table_name tsma_func_list INTERVAL NK_LP duration_literal NK_RP", - /* 340 */ "cmd ::= CREATE RECURSIVE TSMA not_exists_opt tsma_name ON full_table_name INTERVAL NK_LP duration_literal NK_RP", - /* 341 */ "cmd ::= DROP TSMA exists_opt full_tsma_name", - /* 342 */ "cmd ::= SHOW db_name_cond_opt TSMAS", - /* 343 */ "full_tsma_name ::= tsma_name", - /* 344 */ "full_tsma_name ::= db_name NK_DOT tsma_name", - /* 345 */ "tsma_func_list ::= FUNCTION NK_LP func_list NK_RP", - /* 346 */ "cmd ::= CREATE SMA INDEX not_exists_opt col_name ON full_table_name index_options", - /* 347 */ "cmd ::= CREATE INDEX not_exists_opt col_name ON full_table_name NK_LP col_name_list NK_RP", - /* 348 */ "cmd ::= DROP INDEX exists_opt full_index_name", - /* 349 */ "full_index_name ::= index_name", - /* 350 */ "full_index_name ::= db_name NK_DOT index_name", - /* 351 */ "index_options ::= FUNCTION NK_LP func_list NK_RP INTERVAL NK_LP duration_literal NK_RP sliding_opt sma_stream_opt", - /* 352 */ "index_options ::= FUNCTION NK_LP func_list NK_RP INTERVAL NK_LP duration_literal NK_COMMA duration_literal NK_RP sliding_opt sma_stream_opt", - /* 353 */ "func_list ::= func", - /* 354 */ "func_list ::= func_list NK_COMMA func", - /* 355 */ "func ::= sma_func_name NK_LP expression_list NK_RP", - /* 356 */ "sma_func_name ::= function_name", - /* 357 */ "sma_func_name ::= COUNT", - /* 358 */ "sma_func_name ::= FIRST", - /* 359 */ "sma_func_name ::= LAST", - /* 360 */ "sma_func_name ::= LAST_ROW", - /* 361 */ "sma_stream_opt ::=", - /* 362 */ "sma_stream_opt ::= sma_stream_opt WATERMARK duration_literal", - /* 363 */ "sma_stream_opt ::= sma_stream_opt MAX_DELAY duration_literal", - /* 364 */ "sma_stream_opt ::= sma_stream_opt DELETE_MARK duration_literal", - /* 365 */ "with_meta ::= AS", - /* 366 */ "with_meta ::= WITH META AS", - /* 367 */ "with_meta ::= ONLY META AS", - /* 368 */ "cmd ::= CREATE TOPIC not_exists_opt topic_name AS query_or_subquery", - /* 369 */ "cmd ::= CREATE TOPIC not_exists_opt topic_name with_meta DATABASE db_name", - /* 370 */ "cmd ::= CREATE TOPIC not_exists_opt topic_name with_meta STABLE full_table_name where_clause_opt", - /* 371 */ "cmd ::= DROP TOPIC exists_opt topic_name", - /* 372 */ "cmd ::= DROP CONSUMER GROUP exists_opt cgroup_name ON topic_name", - /* 373 */ "cmd ::= DESC full_table_name", - /* 374 */ "cmd ::= DESCRIBE full_table_name", - /* 375 */ "cmd ::= RESET QUERY CACHE", - /* 376 */ "cmd ::= EXPLAIN analyze_opt explain_options query_or_subquery", - /* 377 */ "cmd ::= EXPLAIN analyze_opt explain_options insert_query", - /* 378 */ "analyze_opt ::=", - /* 379 */ "analyze_opt ::= ANALYZE", - /* 380 */ "explain_options ::=", - /* 381 */ "explain_options ::= explain_options VERBOSE NK_BOOL", - /* 382 */ "explain_options ::= explain_options RATIO NK_FLOAT", - /* 383 */ "cmd ::= CREATE or_replace_opt agg_func_opt FUNCTION not_exists_opt function_name AS NK_STRING OUTPUTTYPE type_name bufsize_opt language_opt", - /* 384 */ "cmd ::= DROP FUNCTION exists_opt function_name", - /* 385 */ "agg_func_opt ::=", - /* 386 */ "agg_func_opt ::= AGGREGATE", - /* 387 */ "bufsize_opt ::=", - /* 388 */ "bufsize_opt ::= BUFSIZE NK_INTEGER", - /* 389 */ "language_opt ::=", - /* 390 */ "language_opt ::= LANGUAGE NK_STRING", - /* 391 */ "or_replace_opt ::=", - /* 392 */ "or_replace_opt ::= OR REPLACE", - /* 393 */ "cmd ::= CREATE or_replace_opt VIEW full_view_name AS query_or_subquery", - /* 394 */ "cmd ::= DROP VIEW exists_opt full_view_name", - /* 395 */ "full_view_name ::= view_name", - /* 396 */ "full_view_name ::= db_name NK_DOT view_name", - /* 397 */ "cmd ::= CREATE STREAM not_exists_opt stream_name stream_options INTO full_table_name col_list_opt tag_def_or_ref_opt subtable_opt AS query_or_subquery", - /* 398 */ "cmd ::= DROP STREAM exists_opt stream_name", - /* 399 */ "cmd ::= PAUSE STREAM exists_opt stream_name", - /* 400 */ "cmd ::= RESUME STREAM exists_opt ignore_opt stream_name", - /* 401 */ "col_list_opt ::=", - /* 402 */ "col_list_opt ::= NK_LP column_stream_def_list NK_RP", - /* 403 */ "column_stream_def_list ::= column_stream_def", - /* 404 */ "column_stream_def_list ::= column_stream_def_list NK_COMMA column_stream_def", - /* 405 */ "column_stream_def ::= column_name stream_col_options", - /* 406 */ "stream_col_options ::=", - /* 407 */ "stream_col_options ::= stream_col_options PRIMARY KEY", - /* 408 */ "tag_def_or_ref_opt ::=", - /* 409 */ "tag_def_or_ref_opt ::= tags_def", - /* 410 */ "tag_def_or_ref_opt ::= TAGS NK_LP column_stream_def_list NK_RP", - /* 411 */ "stream_options ::=", - /* 412 */ "stream_options ::= stream_options TRIGGER AT_ONCE", - /* 413 */ "stream_options ::= stream_options TRIGGER WINDOW_CLOSE", - /* 414 */ "stream_options ::= stream_options TRIGGER MAX_DELAY duration_literal", - /* 415 */ "stream_options ::= stream_options WATERMARK duration_literal", - /* 416 */ "stream_options ::= stream_options IGNORE EXPIRED NK_INTEGER", - /* 417 */ "stream_options ::= stream_options FILL_HISTORY NK_INTEGER", - /* 418 */ "stream_options ::= stream_options DELETE_MARK duration_literal", - /* 419 */ "stream_options ::= stream_options IGNORE UPDATE NK_INTEGER", - /* 420 */ "subtable_opt ::=", - /* 421 */ "subtable_opt ::= SUBTABLE NK_LP expression NK_RP", - /* 422 */ "ignore_opt ::=", - /* 423 */ "ignore_opt ::= IGNORE UNTREATED", - /* 424 */ "cmd ::= KILL CONNECTION NK_INTEGER", - /* 425 */ "cmd ::= KILL QUERY NK_STRING", - /* 426 */ "cmd ::= KILL TRANSACTION NK_INTEGER", - /* 427 */ "cmd ::= KILL COMPACT NK_INTEGER", - /* 428 */ "cmd ::= BALANCE VGROUP", - /* 429 */ "cmd ::= BALANCE VGROUP LEADER on_vgroup_id", - /* 430 */ "cmd ::= BALANCE VGROUP LEADER DATABASE db_name", - /* 431 */ "cmd ::= MERGE VGROUP NK_INTEGER NK_INTEGER", - /* 432 */ "cmd ::= REDISTRIBUTE VGROUP NK_INTEGER dnode_list", - /* 433 */ "cmd ::= SPLIT VGROUP NK_INTEGER", - /* 434 */ "on_vgroup_id ::=", - /* 435 */ "on_vgroup_id ::= ON NK_INTEGER", - /* 436 */ "dnode_list ::= DNODE NK_INTEGER", - /* 437 */ "dnode_list ::= dnode_list DNODE NK_INTEGER", - /* 438 */ "cmd ::= DELETE FROM full_table_name where_clause_opt", - /* 439 */ "cmd ::= query_or_subquery", - /* 440 */ "cmd ::= insert_query", - /* 441 */ "insert_query ::= INSERT INTO full_table_name NK_LP col_name_list NK_RP query_or_subquery", - /* 442 */ "insert_query ::= INSERT INTO full_table_name query_or_subquery", - /* 443 */ "tags_literal ::= NK_INTEGER", - /* 444 */ "tags_literal ::= NK_INTEGER NK_PLUS duration_literal", - /* 445 */ "tags_literal ::= NK_INTEGER NK_MINUS duration_literal", - /* 446 */ "tags_literal ::= NK_PLUS NK_INTEGER", - /* 447 */ "tags_literal ::= NK_PLUS NK_INTEGER NK_PLUS duration_literal", - /* 448 */ "tags_literal ::= NK_PLUS NK_INTEGER NK_MINUS duration_literal", - /* 449 */ "tags_literal ::= NK_MINUS NK_INTEGER", - /* 450 */ "tags_literal ::= NK_MINUS NK_INTEGER NK_PLUS duration_literal", - /* 451 */ "tags_literal ::= NK_MINUS NK_INTEGER NK_MINUS duration_literal", - /* 452 */ "tags_literal ::= NK_FLOAT", - /* 453 */ "tags_literal ::= NK_PLUS NK_FLOAT", - /* 454 */ "tags_literal ::= NK_MINUS NK_FLOAT", - /* 455 */ "tags_literal ::= NK_BIN", - /* 456 */ "tags_literal ::= NK_BIN NK_PLUS duration_literal", - /* 457 */ "tags_literal ::= NK_BIN NK_MINUS duration_literal", - /* 458 */ "tags_literal ::= NK_PLUS NK_BIN", - /* 459 */ "tags_literal ::= NK_PLUS NK_BIN NK_PLUS duration_literal", - /* 460 */ "tags_literal ::= NK_PLUS NK_BIN NK_MINUS duration_literal", - /* 461 */ "tags_literal ::= NK_MINUS NK_BIN", - /* 462 */ "tags_literal ::= NK_MINUS NK_BIN NK_PLUS duration_literal", - /* 463 */ "tags_literal ::= NK_MINUS NK_BIN NK_MINUS duration_literal", - /* 464 */ "tags_literal ::= NK_HEX", - /* 465 */ "tags_literal ::= NK_HEX NK_PLUS duration_literal", - /* 466 */ "tags_literal ::= NK_HEX NK_MINUS duration_literal", - /* 467 */ "tags_literal ::= NK_PLUS NK_HEX", - /* 468 */ "tags_literal ::= NK_PLUS NK_HEX NK_PLUS duration_literal", - /* 469 */ "tags_literal ::= NK_PLUS NK_HEX NK_MINUS duration_literal", - /* 470 */ "tags_literal ::= NK_MINUS NK_HEX", - /* 471 */ "tags_literal ::= NK_MINUS NK_HEX NK_PLUS duration_literal", - /* 472 */ "tags_literal ::= NK_MINUS NK_HEX NK_MINUS duration_literal", - /* 473 */ "tags_literal ::= NK_STRING", - /* 474 */ "tags_literal ::= NK_STRING NK_PLUS duration_literal", - /* 475 */ "tags_literal ::= NK_STRING NK_MINUS duration_literal", - /* 476 */ "tags_literal ::= NK_BOOL", - /* 477 */ "tags_literal ::= NULL", - /* 478 */ "tags_literal ::= literal_func", - /* 479 */ "tags_literal ::= literal_func NK_PLUS duration_literal", - /* 480 */ "tags_literal ::= literal_func NK_MINUS duration_literal", - /* 481 */ "tags_literal_list ::= tags_literal", - /* 482 */ "tags_literal_list ::= tags_literal_list NK_COMMA tags_literal", - /* 483 */ "literal ::= NK_INTEGER", - /* 484 */ "literal ::= NK_FLOAT", - /* 485 */ "literal ::= NK_STRING", - /* 486 */ "literal ::= NK_BOOL", - /* 487 */ "literal ::= TIMESTAMP NK_STRING", - /* 488 */ "literal ::= duration_literal", - /* 489 */ "literal ::= NULL", - /* 490 */ "literal ::= NK_QUESTION", - /* 491 */ "duration_literal ::= NK_VARIABLE", - /* 492 */ "signed ::= NK_INTEGER", - /* 493 */ "signed ::= NK_PLUS NK_INTEGER", - /* 494 */ "signed ::= NK_MINUS NK_INTEGER", - /* 495 */ "signed ::= NK_FLOAT", - /* 496 */ "signed ::= NK_PLUS NK_FLOAT", - /* 497 */ "signed ::= NK_MINUS NK_FLOAT", - /* 498 */ "signed_literal ::= signed", - /* 499 */ "signed_literal ::= NK_STRING", - /* 500 */ "signed_literal ::= NK_BOOL", - /* 501 */ "signed_literal ::= TIMESTAMP NK_STRING", - /* 502 */ "signed_literal ::= duration_literal", - /* 503 */ "signed_literal ::= NULL", - /* 504 */ "signed_literal ::= literal_func", - /* 505 */ "signed_literal ::= NK_QUESTION", - /* 506 */ "literal_list ::= signed_literal", - /* 507 */ "literal_list ::= literal_list NK_COMMA signed_literal", - /* 508 */ "db_name ::= NK_ID", - /* 509 */ "table_name ::= NK_ID", - /* 510 */ "column_name ::= NK_ID", - /* 511 */ "function_name ::= NK_ID", - /* 512 */ "view_name ::= NK_ID", - /* 513 */ "table_alias ::= NK_ID", - /* 514 */ "column_alias ::= NK_ID", - /* 515 */ "column_alias ::= NK_ALIAS", - /* 516 */ "user_name ::= NK_ID", - /* 517 */ "topic_name ::= NK_ID", - /* 518 */ "stream_name ::= NK_ID", - /* 519 */ "cgroup_name ::= NK_ID", - /* 520 */ "index_name ::= NK_ID", - /* 521 */ "tsma_name ::= NK_ID", - /* 522 */ "expr_or_subquery ::= expression", - /* 523 */ "expression ::= literal", - /* 524 */ "expression ::= pseudo_column", - /* 525 */ "expression ::= column_reference", - /* 526 */ "expression ::= function_expression", - /* 527 */ "expression ::= case_when_expression", - /* 528 */ "expression ::= NK_LP expression NK_RP", - /* 529 */ "expression ::= NK_PLUS expr_or_subquery", - /* 530 */ "expression ::= NK_MINUS expr_or_subquery", - /* 531 */ "expression ::= expr_or_subquery NK_PLUS expr_or_subquery", - /* 532 */ "expression ::= expr_or_subquery NK_MINUS expr_or_subquery", - /* 533 */ "expression ::= expr_or_subquery NK_STAR expr_or_subquery", - /* 534 */ "expression ::= expr_or_subquery NK_SLASH expr_or_subquery", - /* 535 */ "expression ::= expr_or_subquery NK_REM expr_or_subquery", - /* 536 */ "expression ::= column_reference NK_ARROW NK_STRING", - /* 537 */ "expression ::= expr_or_subquery NK_BITAND expr_or_subquery", - /* 538 */ "expression ::= expr_or_subquery NK_BITOR expr_or_subquery", - /* 539 */ "expression_list ::= expr_or_subquery", - /* 540 */ "expression_list ::= expression_list NK_COMMA expr_or_subquery", - /* 541 */ "column_reference ::= column_name", - /* 542 */ "column_reference ::= table_name NK_DOT column_name", - /* 543 */ "column_reference ::= NK_ALIAS", - /* 544 */ "column_reference ::= table_name NK_DOT NK_ALIAS", - /* 545 */ "pseudo_column ::= ROWTS", - /* 546 */ "pseudo_column ::= TBNAME", - /* 547 */ "pseudo_column ::= table_name NK_DOT TBNAME", - /* 548 */ "pseudo_column ::= QSTART", - /* 549 */ "pseudo_column ::= QEND", - /* 550 */ "pseudo_column ::= QDURATION", - /* 551 */ "pseudo_column ::= WSTART", - /* 552 */ "pseudo_column ::= WEND", - /* 553 */ "pseudo_column ::= WDURATION", - /* 554 */ "pseudo_column ::= IROWTS", - /* 555 */ "pseudo_column ::= ISFILLED", - /* 556 */ "pseudo_column ::= QTAGS", - /* 557 */ "function_expression ::= function_name NK_LP expression_list NK_RP", - /* 558 */ "function_expression ::= star_func NK_LP star_func_para_list NK_RP", - /* 559 */ "function_expression ::= CAST NK_LP expr_or_subquery AS type_name NK_RP", - /* 560 */ "function_expression ::= CAST NK_LP expr_or_subquery AS type_name_default_len NK_RP", - /* 561 */ "function_expression ::= literal_func", - /* 562 */ "literal_func ::= noarg_func NK_LP NK_RP", - /* 563 */ "literal_func ::= NOW", - /* 564 */ "literal_func ::= TODAY", - /* 565 */ "noarg_func ::= NOW", - /* 566 */ "noarg_func ::= TODAY", - /* 567 */ "noarg_func ::= TIMEZONE", - /* 568 */ "noarg_func ::= DATABASE", - /* 569 */ "noarg_func ::= CLIENT_VERSION", - /* 570 */ "noarg_func ::= SERVER_VERSION", - /* 571 */ "noarg_func ::= SERVER_STATUS", - /* 572 */ "noarg_func ::= CURRENT_USER", - /* 573 */ "noarg_func ::= USER", - /* 574 */ "star_func ::= COUNT", - /* 575 */ "star_func ::= FIRST", - /* 576 */ "star_func ::= LAST", - /* 577 */ "star_func ::= LAST_ROW", - /* 578 */ "star_func_para_list ::= NK_STAR", - /* 579 */ "star_func_para_list ::= other_para_list", - /* 580 */ "other_para_list ::= star_func_para", - /* 581 */ "other_para_list ::= other_para_list NK_COMMA star_func_para", - /* 582 */ "star_func_para ::= expr_or_subquery", - /* 583 */ "star_func_para ::= table_name NK_DOT NK_STAR", - /* 584 */ "case_when_expression ::= CASE when_then_list case_when_else_opt END", - /* 585 */ "case_when_expression ::= CASE common_expression when_then_list case_when_else_opt END", - /* 586 */ "when_then_list ::= when_then_expr", - /* 587 */ "when_then_list ::= when_then_list when_then_expr", - /* 588 */ "when_then_expr ::= WHEN common_expression THEN common_expression", - /* 589 */ "case_when_else_opt ::=", - /* 590 */ "case_when_else_opt ::= ELSE common_expression", - /* 591 */ "predicate ::= expr_or_subquery compare_op expr_or_subquery", - /* 592 */ "predicate ::= expr_or_subquery BETWEEN expr_or_subquery AND expr_or_subquery", - /* 593 */ "predicate ::= expr_or_subquery NOT BETWEEN expr_or_subquery AND expr_or_subquery", - /* 594 */ "predicate ::= expr_or_subquery IS NULL", - /* 595 */ "predicate ::= expr_or_subquery IS NOT NULL", - /* 596 */ "predicate ::= expr_or_subquery in_op in_predicate_value", - /* 597 */ "compare_op ::= NK_LT", - /* 598 */ "compare_op ::= NK_GT", - /* 599 */ "compare_op ::= NK_LE", - /* 600 */ "compare_op ::= NK_GE", - /* 601 */ "compare_op ::= NK_NE", - /* 602 */ "compare_op ::= NK_EQ", - /* 603 */ "compare_op ::= LIKE", - /* 604 */ "compare_op ::= NOT LIKE", - /* 605 */ "compare_op ::= MATCH", - /* 606 */ "compare_op ::= NMATCH", - /* 607 */ "compare_op ::= CONTAINS", - /* 608 */ "in_op ::= IN", - /* 609 */ "in_op ::= NOT IN", - /* 610 */ "in_predicate_value ::= NK_LP literal_list NK_RP", - /* 611 */ "boolean_value_expression ::= boolean_primary", - /* 612 */ "boolean_value_expression ::= NOT boolean_primary", - /* 613 */ "boolean_value_expression ::= boolean_value_expression OR boolean_value_expression", - /* 614 */ "boolean_value_expression ::= boolean_value_expression AND boolean_value_expression", - /* 615 */ "boolean_primary ::= predicate", - /* 616 */ "boolean_primary ::= NK_LP boolean_value_expression NK_RP", - /* 617 */ "common_expression ::= expr_or_subquery", - /* 618 */ "common_expression ::= boolean_value_expression", - /* 619 */ "from_clause_opt ::=", - /* 620 */ "from_clause_opt ::= FROM table_reference_list", - /* 621 */ "table_reference_list ::= table_reference", - /* 622 */ "table_reference_list ::= table_reference_list NK_COMMA table_reference", - /* 623 */ "table_reference ::= table_primary", - /* 624 */ "table_reference ::= joined_table", - /* 625 */ "table_primary ::= table_name alias_opt", - /* 626 */ "table_primary ::= db_name NK_DOT table_name alias_opt", - /* 627 */ "table_primary ::= subquery alias_opt", - /* 628 */ "table_primary ::= parenthesized_joined_table", - /* 629 */ "alias_opt ::=", - /* 630 */ "alias_opt ::= table_alias", - /* 631 */ "alias_opt ::= AS table_alias", - /* 632 */ "parenthesized_joined_table ::= NK_LP joined_table NK_RP", - /* 633 */ "parenthesized_joined_table ::= NK_LP parenthesized_joined_table NK_RP", - /* 634 */ "joined_table ::= table_reference join_type join_subtype JOIN table_reference join_on_clause_opt window_offset_clause_opt jlimit_clause_opt", - /* 635 */ "join_type ::=", - /* 636 */ "join_type ::= INNER", - /* 637 */ "join_type ::= LEFT", - /* 638 */ "join_type ::= RIGHT", - /* 639 */ "join_type ::= FULL", - /* 640 */ "join_subtype ::=", - /* 641 */ "join_subtype ::= OUTER", - /* 642 */ "join_subtype ::= SEMI", - /* 643 */ "join_subtype ::= ANTI", - /* 644 */ "join_subtype ::= ASOF", - /* 645 */ "join_subtype ::= WINDOW", - /* 646 */ "join_on_clause_opt ::=", - /* 647 */ "join_on_clause_opt ::= ON search_condition", - /* 648 */ "window_offset_clause_opt ::=", - /* 649 */ "window_offset_clause_opt ::= WINDOW_OFFSET NK_LP window_offset_literal NK_COMMA window_offset_literal NK_RP", - /* 650 */ "window_offset_literal ::= NK_VARIABLE", - /* 651 */ "window_offset_literal ::= NK_MINUS NK_VARIABLE", - /* 652 */ "jlimit_clause_opt ::=", - /* 653 */ "jlimit_clause_opt ::= JLIMIT NK_INTEGER", - /* 654 */ "query_specification ::= SELECT hint_list set_quantifier_opt tag_mode_opt select_list from_clause_opt where_clause_opt partition_by_clause_opt range_opt every_opt fill_opt twindow_clause_opt group_by_clause_opt having_clause_opt", - /* 655 */ "hint_list ::=", - /* 656 */ "hint_list ::= NK_HINT", - /* 657 */ "tag_mode_opt ::=", - /* 658 */ "tag_mode_opt ::= TAGS", - /* 659 */ "set_quantifier_opt ::=", - /* 660 */ "set_quantifier_opt ::= DISTINCT", - /* 661 */ "set_quantifier_opt ::= ALL", - /* 662 */ "select_list ::= select_item", - /* 663 */ "select_list ::= select_list NK_COMMA select_item", - /* 664 */ "select_item ::= NK_STAR", - /* 665 */ "select_item ::= common_expression", - /* 666 */ "select_item ::= common_expression column_alias", - /* 667 */ "select_item ::= common_expression AS column_alias", - /* 668 */ "select_item ::= table_name NK_DOT NK_STAR", - /* 669 */ "where_clause_opt ::=", - /* 670 */ "where_clause_opt ::= WHERE search_condition", - /* 671 */ "partition_by_clause_opt ::=", - /* 672 */ "partition_by_clause_opt ::= PARTITION BY partition_list", - /* 673 */ "partition_list ::= partition_item", - /* 674 */ "partition_list ::= partition_list NK_COMMA partition_item", - /* 675 */ "partition_item ::= expr_or_subquery", - /* 676 */ "partition_item ::= expr_or_subquery column_alias", - /* 677 */ "partition_item ::= expr_or_subquery AS column_alias", - /* 678 */ "twindow_clause_opt ::=", - /* 679 */ "twindow_clause_opt ::= SESSION NK_LP column_reference NK_COMMA interval_sliding_duration_literal NK_RP", - /* 680 */ "twindow_clause_opt ::= STATE_WINDOW NK_LP expr_or_subquery NK_RP", - /* 681 */ "twindow_clause_opt ::= INTERVAL NK_LP interval_sliding_duration_literal NK_RP sliding_opt fill_opt", - /* 682 */ "twindow_clause_opt ::= INTERVAL NK_LP interval_sliding_duration_literal NK_COMMA interval_sliding_duration_literal NK_RP sliding_opt fill_opt", - /* 683 */ "twindow_clause_opt ::= EVENT_WINDOW START WITH search_condition END WITH search_condition", - /* 684 */ "twindow_clause_opt ::= COUNT_WINDOW NK_LP NK_INTEGER NK_RP", - /* 685 */ "twindow_clause_opt ::= COUNT_WINDOW NK_LP NK_INTEGER NK_COMMA NK_INTEGER NK_RP", - /* 686 */ "sliding_opt ::=", - /* 687 */ "sliding_opt ::= SLIDING NK_LP interval_sliding_duration_literal NK_RP", - /* 688 */ "interval_sliding_duration_literal ::= NK_VARIABLE", - /* 689 */ "interval_sliding_duration_literal ::= NK_STRING", - /* 690 */ "interval_sliding_duration_literal ::= NK_INTEGER", - /* 691 */ "fill_opt ::=", - /* 692 */ "fill_opt ::= FILL NK_LP fill_mode NK_RP", - /* 693 */ "fill_opt ::= FILL NK_LP VALUE NK_COMMA expression_list NK_RP", - /* 694 */ "fill_opt ::= FILL NK_LP VALUE_F NK_COMMA expression_list NK_RP", - /* 695 */ "fill_mode ::= NONE", - /* 696 */ "fill_mode ::= PREV", - /* 697 */ "fill_mode ::= NULL", - /* 698 */ "fill_mode ::= NULL_F", - /* 699 */ "fill_mode ::= LINEAR", - /* 700 */ "fill_mode ::= NEXT", - /* 701 */ "group_by_clause_opt ::=", - /* 702 */ "group_by_clause_opt ::= GROUP BY group_by_list", - /* 703 */ "group_by_list ::= expr_or_subquery", - /* 704 */ "group_by_list ::= group_by_list NK_COMMA expr_or_subquery", - /* 705 */ "having_clause_opt ::=", - /* 706 */ "having_clause_opt ::= HAVING search_condition", - /* 707 */ "range_opt ::=", - /* 708 */ "range_opt ::= RANGE NK_LP expr_or_subquery NK_COMMA expr_or_subquery NK_RP", - /* 709 */ "range_opt ::= RANGE NK_LP expr_or_subquery NK_RP", - /* 710 */ "every_opt ::=", - /* 711 */ "every_opt ::= EVERY NK_LP duration_literal NK_RP", - /* 712 */ "query_expression ::= query_simple order_by_clause_opt slimit_clause_opt limit_clause_opt", - /* 713 */ "query_simple ::= query_specification", - /* 714 */ "query_simple ::= union_query_expression", - /* 715 */ "union_query_expression ::= query_simple_or_subquery UNION ALL query_simple_or_subquery", - /* 716 */ "union_query_expression ::= query_simple_or_subquery UNION query_simple_or_subquery", - /* 717 */ "query_simple_or_subquery ::= query_simple", - /* 718 */ "query_simple_or_subquery ::= subquery", - /* 719 */ "query_or_subquery ::= query_expression", - /* 720 */ "query_or_subquery ::= subquery", - /* 721 */ "order_by_clause_opt ::=", - /* 722 */ "order_by_clause_opt ::= ORDER BY sort_specification_list", - /* 723 */ "slimit_clause_opt ::=", - /* 724 */ "slimit_clause_opt ::= SLIMIT NK_INTEGER", - /* 725 */ "slimit_clause_opt ::= SLIMIT NK_INTEGER SOFFSET NK_INTEGER", - /* 726 */ "slimit_clause_opt ::= SLIMIT NK_INTEGER NK_COMMA NK_INTEGER", - /* 727 */ "limit_clause_opt ::=", - /* 728 */ "limit_clause_opt ::= LIMIT NK_INTEGER", - /* 729 */ "limit_clause_opt ::= LIMIT NK_INTEGER OFFSET NK_INTEGER", - /* 730 */ "limit_clause_opt ::= LIMIT NK_INTEGER NK_COMMA NK_INTEGER", - /* 731 */ "subquery ::= NK_LP query_expression NK_RP", - /* 732 */ "subquery ::= NK_LP subquery NK_RP", - /* 733 */ "search_condition ::= common_expression", - /* 734 */ "sort_specification_list ::= sort_specification", - /* 735 */ "sort_specification_list ::= sort_specification_list NK_COMMA sort_specification", - /* 736 */ "sort_specification ::= expr_or_subquery ordering_specification_opt null_ordering_opt", - /* 737 */ "ordering_specification_opt ::=", - /* 738 */ "ordering_specification_opt ::= ASC", - /* 739 */ "ordering_specification_opt ::= DESC", - /* 740 */ "null_ordering_opt ::=", - /* 741 */ "null_ordering_opt ::= NULLS FIRST", - /* 742 */ "null_ordering_opt ::= NULLS LAST", - /* 743 */ "column_options ::=", - /* 744 */ "column_options ::= column_options PRIMARY KEY", - /* 745 */ "column_options ::= column_options ENCODE NK_STRING", - /* 746 */ "column_options ::= column_options COMPRESS NK_STRING", - /* 747 */ "column_options ::= column_options LEVEL NK_STRING", + /* 33 */ "cmd ::= ALTER USER user_name CREATEDB NK_INTEGER", + /* 34 */ "cmd ::= ALTER USER user_name ADD white_list", + /* 35 */ "cmd ::= ALTER USER user_name DROP white_list", + /* 36 */ "cmd ::= DROP USER user_name", + /* 37 */ "sysinfo_opt ::=", + /* 38 */ "sysinfo_opt ::= SYSINFO NK_INTEGER", + /* 39 */ "cmd ::= GRANT privileges ON priv_level with_opt TO user_name", + /* 40 */ "cmd ::= REVOKE privileges ON priv_level with_opt FROM user_name", + /* 41 */ "privileges ::= ALL", + /* 42 */ "privileges ::= priv_type_list", + /* 43 */ "privileges ::= SUBSCRIBE", + /* 44 */ "priv_type_list ::= priv_type", + /* 45 */ "priv_type_list ::= priv_type_list NK_COMMA priv_type", + /* 46 */ "priv_type ::= READ", + /* 47 */ "priv_type ::= WRITE", + /* 48 */ "priv_type ::= ALTER", + /* 49 */ "priv_level ::= NK_STAR NK_DOT NK_STAR", + /* 50 */ "priv_level ::= db_name NK_DOT NK_STAR", + /* 51 */ "priv_level ::= db_name NK_DOT table_name", + /* 52 */ "priv_level ::= topic_name", + /* 53 */ "with_opt ::=", + /* 54 */ "with_opt ::= WITH search_condition", + /* 55 */ "cmd ::= CREATE ENCRYPT_KEY NK_STRING", + /* 56 */ "cmd ::= CREATE DNODE dnode_endpoint", + /* 57 */ "cmd ::= CREATE DNODE dnode_endpoint PORT NK_INTEGER", + /* 58 */ "cmd ::= DROP DNODE NK_INTEGER force_opt", + /* 59 */ "cmd ::= DROP DNODE dnode_endpoint force_opt", + /* 60 */ "cmd ::= DROP DNODE NK_INTEGER unsafe_opt", + /* 61 */ "cmd ::= DROP DNODE dnode_endpoint unsafe_opt", + /* 62 */ "cmd ::= ALTER DNODE NK_INTEGER NK_STRING", + /* 63 */ "cmd ::= ALTER DNODE NK_INTEGER NK_STRING NK_STRING", + /* 64 */ "cmd ::= ALTER ALL DNODES NK_STRING", + /* 65 */ "cmd ::= ALTER ALL DNODES NK_STRING NK_STRING", + /* 66 */ "cmd ::= RESTORE DNODE NK_INTEGER", + /* 67 */ "dnode_endpoint ::= NK_STRING", + /* 68 */ "dnode_endpoint ::= NK_ID", + /* 69 */ "dnode_endpoint ::= NK_IPTOKEN", + /* 70 */ "force_opt ::=", + /* 71 */ "force_opt ::= FORCE", + /* 72 */ "unsafe_opt ::= UNSAFE", + /* 73 */ "cmd ::= ALTER CLUSTER NK_STRING", + /* 74 */ "cmd ::= ALTER CLUSTER NK_STRING NK_STRING", + /* 75 */ "cmd ::= ALTER LOCAL NK_STRING", + /* 76 */ "cmd ::= ALTER LOCAL NK_STRING NK_STRING", + /* 77 */ "cmd ::= CREATE QNODE ON DNODE NK_INTEGER", + /* 78 */ "cmd ::= DROP QNODE ON DNODE NK_INTEGER", + /* 79 */ "cmd ::= RESTORE QNODE ON DNODE NK_INTEGER", + /* 80 */ "cmd ::= CREATE BNODE ON DNODE NK_INTEGER", + /* 81 */ "cmd ::= DROP BNODE ON DNODE NK_INTEGER", + /* 82 */ "cmd ::= CREATE SNODE ON DNODE NK_INTEGER", + /* 83 */ "cmd ::= DROP SNODE ON DNODE NK_INTEGER", + /* 84 */ "cmd ::= CREATE MNODE ON DNODE NK_INTEGER", + /* 85 */ "cmd ::= DROP MNODE ON DNODE NK_INTEGER", + /* 86 */ "cmd ::= RESTORE MNODE ON DNODE NK_INTEGER", + /* 87 */ "cmd ::= RESTORE VNODE ON DNODE NK_INTEGER", + /* 88 */ "cmd ::= CREATE DATABASE not_exists_opt db_name db_options", + /* 89 */ "cmd ::= DROP DATABASE exists_opt db_name", + /* 90 */ "cmd ::= USE db_name", + /* 91 */ "cmd ::= ALTER DATABASE db_name alter_db_options", + /* 92 */ "cmd ::= FLUSH DATABASE db_name", + /* 93 */ "cmd ::= TRIM DATABASE db_name speed_opt", + /* 94 */ "cmd ::= S3MIGRATE DATABASE db_name", + /* 95 */ "cmd ::= COMPACT DATABASE db_name start_opt end_opt", + /* 96 */ "not_exists_opt ::= IF NOT EXISTS", + /* 97 */ "not_exists_opt ::=", + /* 98 */ "exists_opt ::= IF EXISTS", + /* 99 */ "exists_opt ::=", + /* 100 */ "db_options ::=", + /* 101 */ "db_options ::= db_options BUFFER NK_INTEGER", + /* 102 */ "db_options ::= db_options CACHEMODEL NK_STRING", + /* 103 */ "db_options ::= db_options CACHESIZE NK_INTEGER", + /* 104 */ "db_options ::= db_options COMP NK_INTEGER", + /* 105 */ "db_options ::= db_options DURATION NK_INTEGER", + /* 106 */ "db_options ::= db_options DURATION NK_VARIABLE", + /* 107 */ "db_options ::= db_options MAXROWS NK_INTEGER", + /* 108 */ "db_options ::= db_options MINROWS NK_INTEGER", + /* 109 */ "db_options ::= db_options KEEP integer_list", + /* 110 */ "db_options ::= db_options KEEP variable_list", + /* 111 */ "db_options ::= db_options PAGES NK_INTEGER", + /* 112 */ "db_options ::= db_options PAGESIZE NK_INTEGER", + /* 113 */ "db_options ::= db_options TSDB_PAGESIZE NK_INTEGER", + /* 114 */ "db_options ::= db_options PRECISION NK_STRING", + /* 115 */ "db_options ::= db_options REPLICA NK_INTEGER", + /* 116 */ "db_options ::= db_options VGROUPS NK_INTEGER", + /* 117 */ "db_options ::= db_options SINGLE_STABLE NK_INTEGER", + /* 118 */ "db_options ::= db_options RETENTIONS retention_list", + /* 119 */ "db_options ::= db_options SCHEMALESS NK_INTEGER", + /* 120 */ "db_options ::= db_options WAL_LEVEL NK_INTEGER", + /* 121 */ "db_options ::= db_options WAL_FSYNC_PERIOD NK_INTEGER", + /* 122 */ "db_options ::= db_options WAL_RETENTION_PERIOD NK_INTEGER", + /* 123 */ "db_options ::= db_options WAL_RETENTION_PERIOD NK_MINUS NK_INTEGER", + /* 124 */ "db_options ::= db_options WAL_RETENTION_SIZE NK_INTEGER", + /* 125 */ "db_options ::= db_options WAL_RETENTION_SIZE NK_MINUS NK_INTEGER", + /* 126 */ "db_options ::= db_options WAL_ROLL_PERIOD NK_INTEGER", + /* 127 */ "db_options ::= db_options WAL_SEGMENT_SIZE NK_INTEGER", + /* 128 */ "db_options ::= db_options STT_TRIGGER NK_INTEGER", + /* 129 */ "db_options ::= db_options TABLE_PREFIX signed", + /* 130 */ "db_options ::= db_options TABLE_SUFFIX signed", + /* 131 */ "db_options ::= db_options S3_CHUNKSIZE NK_INTEGER", + /* 132 */ "db_options ::= db_options S3_KEEPLOCAL NK_INTEGER", + /* 133 */ "db_options ::= db_options S3_KEEPLOCAL NK_VARIABLE", + /* 134 */ "db_options ::= db_options S3_COMPACT NK_INTEGER", + /* 135 */ "db_options ::= db_options KEEP_TIME_OFFSET NK_INTEGER", + /* 136 */ "db_options ::= db_options ENCRYPT_ALGORITHM NK_STRING", + /* 137 */ "alter_db_options ::= alter_db_option", + /* 138 */ "alter_db_options ::= alter_db_options alter_db_option", + /* 139 */ "alter_db_option ::= BUFFER NK_INTEGER", + /* 140 */ "alter_db_option ::= CACHEMODEL NK_STRING", + /* 141 */ "alter_db_option ::= CACHESIZE NK_INTEGER", + /* 142 */ "alter_db_option ::= WAL_FSYNC_PERIOD NK_INTEGER", + /* 143 */ "alter_db_option ::= KEEP integer_list", + /* 144 */ "alter_db_option ::= KEEP variable_list", + /* 145 */ "alter_db_option ::= PAGES NK_INTEGER", + /* 146 */ "alter_db_option ::= REPLICA NK_INTEGER", + /* 147 */ "alter_db_option ::= WAL_LEVEL NK_INTEGER", + /* 148 */ "alter_db_option ::= STT_TRIGGER NK_INTEGER", + /* 149 */ "alter_db_option ::= MINROWS NK_INTEGER", + /* 150 */ "alter_db_option ::= WAL_RETENTION_PERIOD NK_INTEGER", + /* 151 */ "alter_db_option ::= WAL_RETENTION_PERIOD NK_MINUS NK_INTEGER", + /* 152 */ "alter_db_option ::= WAL_RETENTION_SIZE NK_INTEGER", + /* 153 */ "alter_db_option ::= WAL_RETENTION_SIZE NK_MINUS NK_INTEGER", + /* 154 */ "alter_db_option ::= S3_KEEPLOCAL NK_INTEGER", + /* 155 */ "alter_db_option ::= S3_KEEPLOCAL NK_VARIABLE", + /* 156 */ "alter_db_option ::= S3_COMPACT NK_INTEGER", + /* 157 */ "alter_db_option ::= KEEP_TIME_OFFSET NK_INTEGER", + /* 158 */ "alter_db_option ::= ENCRYPT_ALGORITHM NK_STRING", + /* 159 */ "integer_list ::= NK_INTEGER", + /* 160 */ "integer_list ::= integer_list NK_COMMA NK_INTEGER", + /* 161 */ "variable_list ::= NK_VARIABLE", + /* 162 */ "variable_list ::= variable_list NK_COMMA NK_VARIABLE", + /* 163 */ "retention_list ::= retention", + /* 164 */ "retention_list ::= retention_list NK_COMMA retention", + /* 165 */ "retention ::= NK_VARIABLE NK_COLON NK_VARIABLE", + /* 166 */ "retention ::= NK_MINUS NK_COLON NK_VARIABLE", + /* 167 */ "speed_opt ::=", + /* 168 */ "speed_opt ::= BWLIMIT NK_INTEGER", + /* 169 */ "start_opt ::=", + /* 170 */ "start_opt ::= START WITH NK_INTEGER", + /* 171 */ "start_opt ::= START WITH NK_STRING", + /* 172 */ "start_opt ::= START WITH TIMESTAMP NK_STRING", + /* 173 */ "end_opt ::=", + /* 174 */ "end_opt ::= END WITH NK_INTEGER", + /* 175 */ "end_opt ::= END WITH NK_STRING", + /* 176 */ "end_opt ::= END WITH TIMESTAMP NK_STRING", + /* 177 */ "cmd ::= CREATE TABLE not_exists_opt full_table_name NK_LP column_def_list NK_RP tags_def_opt table_options", + /* 178 */ "cmd ::= CREATE TABLE multi_create_clause", + /* 179 */ "cmd ::= CREATE STABLE not_exists_opt full_table_name NK_LP column_def_list NK_RP tags_def table_options", + /* 180 */ "cmd ::= DROP TABLE multi_drop_clause", + /* 181 */ "cmd ::= DROP STABLE exists_opt full_table_name", + /* 182 */ "cmd ::= ALTER TABLE alter_table_clause", + /* 183 */ "cmd ::= ALTER STABLE alter_table_clause", + /* 184 */ "alter_table_clause ::= full_table_name alter_table_options", + /* 185 */ "alter_table_clause ::= full_table_name ADD COLUMN column_name type_name", + /* 186 */ "alter_table_clause ::= full_table_name DROP COLUMN column_name", + /* 187 */ "alter_table_clause ::= full_table_name MODIFY COLUMN column_name type_name", + /* 188 */ "alter_table_clause ::= full_table_name MODIFY COLUMN column_name column_options", + /* 189 */ "alter_table_clause ::= full_table_name RENAME COLUMN column_name column_name", + /* 190 */ "alter_table_clause ::= full_table_name ADD TAG column_name type_name", + /* 191 */ "alter_table_clause ::= full_table_name DROP TAG column_name", + /* 192 */ "alter_table_clause ::= full_table_name MODIFY TAG column_name type_name", + /* 193 */ "alter_table_clause ::= full_table_name RENAME TAG column_name column_name", + /* 194 */ "alter_table_clause ::= full_table_name SET TAG column_name NK_EQ tags_literal", + /* 195 */ "multi_create_clause ::= create_subtable_clause", + /* 196 */ "multi_create_clause ::= multi_create_clause create_subtable_clause", + /* 197 */ "create_subtable_clause ::= not_exists_opt full_table_name USING full_table_name specific_cols_opt TAGS NK_LP tags_literal_list NK_RP table_options", + /* 198 */ "multi_drop_clause ::= drop_table_clause", + /* 199 */ "multi_drop_clause ::= multi_drop_clause NK_COMMA drop_table_clause", + /* 200 */ "drop_table_clause ::= exists_opt full_table_name", + /* 201 */ "specific_cols_opt ::=", + /* 202 */ "specific_cols_opt ::= NK_LP col_name_list NK_RP", + /* 203 */ "full_table_name ::= table_name", + /* 204 */ "full_table_name ::= db_name NK_DOT table_name", + /* 205 */ "tag_def_list ::= tag_def", + /* 206 */ "tag_def_list ::= tag_def_list NK_COMMA tag_def", + /* 207 */ "tag_def ::= column_name type_name", + /* 208 */ "column_def_list ::= column_def", + /* 209 */ "column_def_list ::= column_def_list NK_COMMA column_def", + /* 210 */ "column_def ::= column_name type_name column_options", + /* 211 */ "type_name ::= BOOL", + /* 212 */ "type_name ::= TINYINT", + /* 213 */ "type_name ::= SMALLINT", + /* 214 */ "type_name ::= INT", + /* 215 */ "type_name ::= INTEGER", + /* 216 */ "type_name ::= BIGINT", + /* 217 */ "type_name ::= FLOAT", + /* 218 */ "type_name ::= DOUBLE", + /* 219 */ "type_name ::= BINARY NK_LP NK_INTEGER NK_RP", + /* 220 */ "type_name ::= TIMESTAMP", + /* 221 */ "type_name ::= NCHAR NK_LP NK_INTEGER NK_RP", + /* 222 */ "type_name ::= TINYINT UNSIGNED", + /* 223 */ "type_name ::= SMALLINT UNSIGNED", + /* 224 */ "type_name ::= INT UNSIGNED", + /* 225 */ "type_name ::= BIGINT UNSIGNED", + /* 226 */ "type_name ::= JSON", + /* 227 */ "type_name ::= VARCHAR NK_LP NK_INTEGER NK_RP", + /* 228 */ "type_name ::= MEDIUMBLOB", + /* 229 */ "type_name ::= BLOB", + /* 230 */ "type_name ::= VARBINARY NK_LP NK_INTEGER NK_RP", + /* 231 */ "type_name ::= GEOMETRY NK_LP NK_INTEGER NK_RP", + /* 232 */ "type_name ::= DECIMAL", + /* 233 */ "type_name ::= DECIMAL NK_LP NK_INTEGER NK_RP", + /* 234 */ "type_name ::= DECIMAL NK_LP NK_INTEGER NK_COMMA NK_INTEGER NK_RP", + /* 235 */ "type_name_default_len ::= BINARY", + /* 236 */ "type_name_default_len ::= NCHAR", + /* 237 */ "type_name_default_len ::= VARCHAR", + /* 238 */ "type_name_default_len ::= VARBINARY", + /* 239 */ "tags_def_opt ::=", + /* 240 */ "tags_def_opt ::= tags_def", + /* 241 */ "tags_def ::= TAGS NK_LP tag_def_list NK_RP", + /* 242 */ "table_options ::=", + /* 243 */ "table_options ::= table_options COMMENT NK_STRING", + /* 244 */ "table_options ::= table_options MAX_DELAY duration_list", + /* 245 */ "table_options ::= table_options WATERMARK duration_list", + /* 246 */ "table_options ::= table_options ROLLUP NK_LP rollup_func_list NK_RP", + /* 247 */ "table_options ::= table_options TTL NK_INTEGER", + /* 248 */ "table_options ::= table_options SMA NK_LP col_name_list NK_RP", + /* 249 */ "table_options ::= table_options DELETE_MARK duration_list", + /* 250 */ "alter_table_options ::= alter_table_option", + /* 251 */ "alter_table_options ::= alter_table_options alter_table_option", + /* 252 */ "alter_table_option ::= COMMENT NK_STRING", + /* 253 */ "alter_table_option ::= TTL NK_INTEGER", + /* 254 */ "duration_list ::= duration_literal", + /* 255 */ "duration_list ::= duration_list NK_COMMA duration_literal", + /* 256 */ "rollup_func_list ::= rollup_func_name", + /* 257 */ "rollup_func_list ::= rollup_func_list NK_COMMA rollup_func_name", + /* 258 */ "rollup_func_name ::= function_name", + /* 259 */ "rollup_func_name ::= FIRST", + /* 260 */ "rollup_func_name ::= LAST", + /* 261 */ "col_name_list ::= col_name", + /* 262 */ "col_name_list ::= col_name_list NK_COMMA col_name", + /* 263 */ "col_name ::= column_name", + /* 264 */ "cmd ::= SHOW DNODES", + /* 265 */ "cmd ::= SHOW USERS", + /* 266 */ "cmd ::= SHOW USER PRIVILEGES", + /* 267 */ "cmd ::= SHOW db_kind_opt DATABASES", + /* 268 */ "cmd ::= SHOW table_kind_db_name_cond_opt TABLES like_pattern_opt", + /* 269 */ "cmd ::= SHOW db_name_cond_opt STABLES like_pattern_opt", + /* 270 */ "cmd ::= SHOW db_name_cond_opt VGROUPS", + /* 271 */ "cmd ::= SHOW MNODES", + /* 272 */ "cmd ::= SHOW QNODES", + /* 273 */ "cmd ::= SHOW ARBGROUPS", + /* 274 */ "cmd ::= SHOW FUNCTIONS", + /* 275 */ "cmd ::= SHOW INDEXES FROM table_name_cond from_db_opt", + /* 276 */ "cmd ::= SHOW INDEXES FROM db_name NK_DOT table_name", + /* 277 */ "cmd ::= SHOW STREAMS", + /* 278 */ "cmd ::= SHOW ACCOUNTS", + /* 279 */ "cmd ::= SHOW APPS", + /* 280 */ "cmd ::= SHOW CONNECTIONS", + /* 281 */ "cmd ::= SHOW LICENCES", + /* 282 */ "cmd ::= SHOW GRANTS", + /* 283 */ "cmd ::= SHOW GRANTS FULL", + /* 284 */ "cmd ::= SHOW GRANTS LOGS", + /* 285 */ "cmd ::= SHOW CLUSTER MACHINES", + /* 286 */ "cmd ::= SHOW CREATE DATABASE db_name", + /* 287 */ "cmd ::= SHOW CREATE TABLE full_table_name", + /* 288 */ "cmd ::= SHOW CREATE STABLE full_table_name", + /* 289 */ "cmd ::= SHOW ENCRYPTIONS", + /* 290 */ "cmd ::= SHOW QUERIES", + /* 291 */ "cmd ::= SHOW SCORES", + /* 292 */ "cmd ::= SHOW TOPICS", + /* 293 */ "cmd ::= SHOW VARIABLES", + /* 294 */ "cmd ::= SHOW CLUSTER VARIABLES", + /* 295 */ "cmd ::= SHOW LOCAL VARIABLES", + /* 296 */ "cmd ::= SHOW DNODE NK_INTEGER VARIABLES like_pattern_opt", + /* 297 */ "cmd ::= SHOW BNODES", + /* 298 */ "cmd ::= SHOW SNODES", + /* 299 */ "cmd ::= SHOW CLUSTER", + /* 300 */ "cmd ::= SHOW TRANSACTIONS", + /* 301 */ "cmd ::= SHOW TABLE DISTRIBUTED full_table_name", + /* 302 */ "cmd ::= SHOW CONSUMERS", + /* 303 */ "cmd ::= SHOW SUBSCRIPTIONS", + /* 304 */ "cmd ::= SHOW TAGS FROM table_name_cond from_db_opt", + /* 305 */ "cmd ::= SHOW TAGS FROM db_name NK_DOT table_name", + /* 306 */ "cmd ::= SHOW TABLE TAGS tag_list_opt FROM table_name_cond from_db_opt", + /* 307 */ "cmd ::= SHOW TABLE TAGS tag_list_opt FROM db_name NK_DOT table_name", + /* 308 */ "cmd ::= SHOW VNODES ON DNODE NK_INTEGER", + /* 309 */ "cmd ::= SHOW VNODES", + /* 310 */ "cmd ::= SHOW db_name_cond_opt ALIVE", + /* 311 */ "cmd ::= SHOW CLUSTER ALIVE", + /* 312 */ "cmd ::= SHOW db_name_cond_opt VIEWS like_pattern_opt", + /* 313 */ "cmd ::= SHOW CREATE VIEW full_table_name", + /* 314 */ "cmd ::= SHOW COMPACTS", + /* 315 */ "cmd ::= SHOW COMPACT NK_INTEGER", + /* 316 */ "table_kind_db_name_cond_opt ::=", + /* 317 */ "table_kind_db_name_cond_opt ::= table_kind", + /* 318 */ "table_kind_db_name_cond_opt ::= db_name NK_DOT", + /* 319 */ "table_kind_db_name_cond_opt ::= table_kind db_name NK_DOT", + /* 320 */ "table_kind ::= NORMAL", + /* 321 */ "table_kind ::= CHILD", + /* 322 */ "db_name_cond_opt ::=", + /* 323 */ "db_name_cond_opt ::= db_name NK_DOT", + /* 324 */ "like_pattern_opt ::=", + /* 325 */ "like_pattern_opt ::= LIKE NK_STRING", + /* 326 */ "table_name_cond ::= table_name", + /* 327 */ "from_db_opt ::=", + /* 328 */ "from_db_opt ::= FROM db_name", + /* 329 */ "tag_list_opt ::=", + /* 330 */ "tag_list_opt ::= tag_item", + /* 331 */ "tag_list_opt ::= tag_list_opt NK_COMMA tag_item", + /* 332 */ "tag_item ::= TBNAME", + /* 333 */ "tag_item ::= QTAGS", + /* 334 */ "tag_item ::= column_name", + /* 335 */ "tag_item ::= column_name column_alias", + /* 336 */ "tag_item ::= column_name AS column_alias", + /* 337 */ "db_kind_opt ::=", + /* 338 */ "db_kind_opt ::= USER", + /* 339 */ "db_kind_opt ::= SYSTEM", + /* 340 */ "cmd ::= CREATE TSMA not_exists_opt tsma_name ON full_table_name tsma_func_list INTERVAL NK_LP duration_literal NK_RP", + /* 341 */ "cmd ::= CREATE RECURSIVE TSMA not_exists_opt tsma_name ON full_table_name INTERVAL NK_LP duration_literal NK_RP", + /* 342 */ "cmd ::= DROP TSMA exists_opt full_tsma_name", + /* 343 */ "cmd ::= SHOW db_name_cond_opt TSMAS", + /* 344 */ "full_tsma_name ::= tsma_name", + /* 345 */ "full_tsma_name ::= db_name NK_DOT tsma_name", + /* 346 */ "tsma_func_list ::= FUNCTION NK_LP func_list NK_RP", + /* 347 */ "cmd ::= CREATE SMA INDEX not_exists_opt col_name ON full_table_name index_options", + /* 348 */ "cmd ::= CREATE INDEX not_exists_opt col_name ON full_table_name NK_LP col_name_list NK_RP", + /* 349 */ "cmd ::= DROP INDEX exists_opt full_index_name", + /* 350 */ "full_index_name ::= index_name", + /* 351 */ "full_index_name ::= db_name NK_DOT index_name", + /* 352 */ "index_options ::= FUNCTION NK_LP func_list NK_RP INTERVAL NK_LP duration_literal NK_RP sliding_opt sma_stream_opt", + /* 353 */ "index_options ::= FUNCTION NK_LP func_list NK_RP INTERVAL NK_LP duration_literal NK_COMMA duration_literal NK_RP sliding_opt sma_stream_opt", + /* 354 */ "func_list ::= func", + /* 355 */ "func_list ::= func_list NK_COMMA func", + /* 356 */ "func ::= sma_func_name NK_LP expression_list NK_RP", + /* 357 */ "sma_func_name ::= function_name", + /* 358 */ "sma_func_name ::= COUNT", + /* 359 */ "sma_func_name ::= FIRST", + /* 360 */ "sma_func_name ::= LAST", + /* 361 */ "sma_func_name ::= LAST_ROW", + /* 362 */ "sma_stream_opt ::=", + /* 363 */ "sma_stream_opt ::= sma_stream_opt WATERMARK duration_literal", + /* 364 */ "sma_stream_opt ::= sma_stream_opt MAX_DELAY duration_literal", + /* 365 */ "sma_stream_opt ::= sma_stream_opt DELETE_MARK duration_literal", + /* 366 */ "with_meta ::= AS", + /* 367 */ "with_meta ::= WITH META AS", + /* 368 */ "with_meta ::= ONLY META AS", + /* 369 */ "cmd ::= CREATE TOPIC not_exists_opt topic_name AS query_or_subquery", + /* 370 */ "cmd ::= CREATE TOPIC not_exists_opt topic_name with_meta DATABASE db_name", + /* 371 */ "cmd ::= CREATE TOPIC not_exists_opt topic_name with_meta STABLE full_table_name where_clause_opt", + /* 372 */ "cmd ::= DROP TOPIC exists_opt topic_name", + /* 373 */ "cmd ::= DROP CONSUMER GROUP exists_opt cgroup_name ON topic_name", + /* 374 */ "cmd ::= DESC full_table_name", + /* 375 */ "cmd ::= DESCRIBE full_table_name", + /* 376 */ "cmd ::= RESET QUERY CACHE", + /* 377 */ "cmd ::= EXPLAIN analyze_opt explain_options query_or_subquery", + /* 378 */ "cmd ::= EXPLAIN analyze_opt explain_options insert_query", + /* 379 */ "analyze_opt ::=", + /* 380 */ "analyze_opt ::= ANALYZE", + /* 381 */ "explain_options ::=", + /* 382 */ "explain_options ::= explain_options VERBOSE NK_BOOL", + /* 383 */ "explain_options ::= explain_options RATIO NK_FLOAT", + /* 384 */ "cmd ::= CREATE or_replace_opt agg_func_opt FUNCTION not_exists_opt function_name AS NK_STRING OUTPUTTYPE type_name bufsize_opt language_opt", + /* 385 */ "cmd ::= DROP FUNCTION exists_opt function_name", + /* 386 */ "agg_func_opt ::=", + /* 387 */ "agg_func_opt ::= AGGREGATE", + /* 388 */ "bufsize_opt ::=", + /* 389 */ "bufsize_opt ::= BUFSIZE NK_INTEGER", + /* 390 */ "language_opt ::=", + /* 391 */ "language_opt ::= LANGUAGE NK_STRING", + /* 392 */ "or_replace_opt ::=", + /* 393 */ "or_replace_opt ::= OR REPLACE", + /* 394 */ "cmd ::= CREATE or_replace_opt VIEW full_view_name AS query_or_subquery", + /* 395 */ "cmd ::= DROP VIEW exists_opt full_view_name", + /* 396 */ "full_view_name ::= view_name", + /* 397 */ "full_view_name ::= db_name NK_DOT view_name", + /* 398 */ "cmd ::= CREATE STREAM not_exists_opt stream_name stream_options INTO full_table_name col_list_opt tag_def_or_ref_opt subtable_opt AS query_or_subquery", + /* 399 */ "cmd ::= DROP STREAM exists_opt stream_name", + /* 400 */ "cmd ::= PAUSE STREAM exists_opt stream_name", + /* 401 */ "cmd ::= RESUME STREAM exists_opt ignore_opt stream_name", + /* 402 */ "col_list_opt ::=", + /* 403 */ "col_list_opt ::= NK_LP column_stream_def_list NK_RP", + /* 404 */ "column_stream_def_list ::= column_stream_def", + /* 405 */ "column_stream_def_list ::= column_stream_def_list NK_COMMA column_stream_def", + /* 406 */ "column_stream_def ::= column_name stream_col_options", + /* 407 */ "stream_col_options ::=", + /* 408 */ "stream_col_options ::= stream_col_options PRIMARY KEY", + /* 409 */ "tag_def_or_ref_opt ::=", + /* 410 */ "tag_def_or_ref_opt ::= tags_def", + /* 411 */ "tag_def_or_ref_opt ::= TAGS NK_LP column_stream_def_list NK_RP", + /* 412 */ "stream_options ::=", + /* 413 */ "stream_options ::= stream_options TRIGGER AT_ONCE", + /* 414 */ "stream_options ::= stream_options TRIGGER WINDOW_CLOSE", + /* 415 */ "stream_options ::= stream_options TRIGGER MAX_DELAY duration_literal", + /* 416 */ "stream_options ::= stream_options WATERMARK duration_literal", + /* 417 */ "stream_options ::= stream_options IGNORE EXPIRED NK_INTEGER", + /* 418 */ "stream_options ::= stream_options FILL_HISTORY NK_INTEGER", + /* 419 */ "stream_options ::= stream_options DELETE_MARK duration_literal", + /* 420 */ "stream_options ::= stream_options IGNORE UPDATE NK_INTEGER", + /* 421 */ "subtable_opt ::=", + /* 422 */ "subtable_opt ::= SUBTABLE NK_LP expression NK_RP", + /* 423 */ "ignore_opt ::=", + /* 424 */ "ignore_opt ::= IGNORE UNTREATED", + /* 425 */ "cmd ::= KILL CONNECTION NK_INTEGER", + /* 426 */ "cmd ::= KILL QUERY NK_STRING", + /* 427 */ "cmd ::= KILL TRANSACTION NK_INTEGER", + /* 428 */ "cmd ::= KILL COMPACT NK_INTEGER", + /* 429 */ "cmd ::= BALANCE VGROUP", + /* 430 */ "cmd ::= BALANCE VGROUP LEADER on_vgroup_id", + /* 431 */ "cmd ::= BALANCE VGROUP LEADER DATABASE db_name", + /* 432 */ "cmd ::= MERGE VGROUP NK_INTEGER NK_INTEGER", + /* 433 */ "cmd ::= REDISTRIBUTE VGROUP NK_INTEGER dnode_list", + /* 434 */ "cmd ::= SPLIT VGROUP NK_INTEGER", + /* 435 */ "on_vgroup_id ::=", + /* 436 */ "on_vgroup_id ::= ON NK_INTEGER", + /* 437 */ "dnode_list ::= DNODE NK_INTEGER", + /* 438 */ "dnode_list ::= dnode_list DNODE NK_INTEGER", + /* 439 */ "cmd ::= DELETE FROM full_table_name where_clause_opt", + /* 440 */ "cmd ::= query_or_subquery", + /* 441 */ "cmd ::= insert_query", + /* 442 */ "insert_query ::= INSERT INTO full_table_name NK_LP col_name_list NK_RP query_or_subquery", + /* 443 */ "insert_query ::= INSERT INTO full_table_name query_or_subquery", + /* 444 */ "tags_literal ::= NK_INTEGER", + /* 445 */ "tags_literal ::= NK_INTEGER NK_PLUS duration_literal", + /* 446 */ "tags_literal ::= NK_INTEGER NK_MINUS duration_literal", + /* 447 */ "tags_literal ::= NK_PLUS NK_INTEGER", + /* 448 */ "tags_literal ::= NK_PLUS NK_INTEGER NK_PLUS duration_literal", + /* 449 */ "tags_literal ::= NK_PLUS NK_INTEGER NK_MINUS duration_literal", + /* 450 */ "tags_literal ::= NK_MINUS NK_INTEGER", + /* 451 */ "tags_literal ::= NK_MINUS NK_INTEGER NK_PLUS duration_literal", + /* 452 */ "tags_literal ::= NK_MINUS NK_INTEGER NK_MINUS duration_literal", + /* 453 */ "tags_literal ::= NK_FLOAT", + /* 454 */ "tags_literal ::= NK_PLUS NK_FLOAT", + /* 455 */ "tags_literal ::= NK_MINUS NK_FLOAT", + /* 456 */ "tags_literal ::= NK_BIN", + /* 457 */ "tags_literal ::= NK_BIN NK_PLUS duration_literal", + /* 458 */ "tags_literal ::= NK_BIN NK_MINUS duration_literal", + /* 459 */ "tags_literal ::= NK_PLUS NK_BIN", + /* 460 */ "tags_literal ::= NK_PLUS NK_BIN NK_PLUS duration_literal", + /* 461 */ "tags_literal ::= NK_PLUS NK_BIN NK_MINUS duration_literal", + /* 462 */ "tags_literal ::= NK_MINUS NK_BIN", + /* 463 */ "tags_literal ::= NK_MINUS NK_BIN NK_PLUS duration_literal", + /* 464 */ "tags_literal ::= NK_MINUS NK_BIN NK_MINUS duration_literal", + /* 465 */ "tags_literal ::= NK_HEX", + /* 466 */ "tags_literal ::= NK_HEX NK_PLUS duration_literal", + /* 467 */ "tags_literal ::= NK_HEX NK_MINUS duration_literal", + /* 468 */ "tags_literal ::= NK_PLUS NK_HEX", + /* 469 */ "tags_literal ::= NK_PLUS NK_HEX NK_PLUS duration_literal", + /* 470 */ "tags_literal ::= NK_PLUS NK_HEX NK_MINUS duration_literal", + /* 471 */ "tags_literal ::= NK_MINUS NK_HEX", + /* 472 */ "tags_literal ::= NK_MINUS NK_HEX NK_PLUS duration_literal", + /* 473 */ "tags_literal ::= NK_MINUS NK_HEX NK_MINUS duration_literal", + /* 474 */ "tags_literal ::= NK_STRING", + /* 475 */ "tags_literal ::= NK_STRING NK_PLUS duration_literal", + /* 476 */ "tags_literal ::= NK_STRING NK_MINUS duration_literal", + /* 477 */ "tags_literal ::= NK_BOOL", + /* 478 */ "tags_literal ::= NULL", + /* 479 */ "tags_literal ::= literal_func", + /* 480 */ "tags_literal ::= literal_func NK_PLUS duration_literal", + /* 481 */ "tags_literal ::= literal_func NK_MINUS duration_literal", + /* 482 */ "tags_literal_list ::= tags_literal", + /* 483 */ "tags_literal_list ::= tags_literal_list NK_COMMA tags_literal", + /* 484 */ "literal ::= NK_INTEGER", + /* 485 */ "literal ::= NK_FLOAT", + /* 486 */ "literal ::= NK_STRING", + /* 487 */ "literal ::= NK_BOOL", + /* 488 */ "literal ::= TIMESTAMP NK_STRING", + /* 489 */ "literal ::= duration_literal", + /* 490 */ "literal ::= NULL", + /* 491 */ "literal ::= NK_QUESTION", + /* 492 */ "duration_literal ::= NK_VARIABLE", + /* 493 */ "signed ::= NK_INTEGER", + /* 494 */ "signed ::= NK_PLUS NK_INTEGER", + /* 495 */ "signed ::= NK_MINUS NK_INTEGER", + /* 496 */ "signed ::= NK_FLOAT", + /* 497 */ "signed ::= NK_PLUS NK_FLOAT", + /* 498 */ "signed ::= NK_MINUS NK_FLOAT", + /* 499 */ "signed_literal ::= signed", + /* 500 */ "signed_literal ::= NK_STRING", + /* 501 */ "signed_literal ::= NK_BOOL", + /* 502 */ "signed_literal ::= TIMESTAMP NK_STRING", + /* 503 */ "signed_literal ::= duration_literal", + /* 504 */ "signed_literal ::= NULL", + /* 505 */ "signed_literal ::= literal_func", + /* 506 */ "signed_literal ::= NK_QUESTION", + /* 507 */ "literal_list ::= signed_literal", + /* 508 */ "literal_list ::= literal_list NK_COMMA signed_literal", + /* 509 */ "db_name ::= NK_ID", + /* 510 */ "table_name ::= NK_ID", + /* 511 */ "column_name ::= NK_ID", + /* 512 */ "function_name ::= NK_ID", + /* 513 */ "view_name ::= NK_ID", + /* 514 */ "table_alias ::= NK_ID", + /* 515 */ "column_alias ::= NK_ID", + /* 516 */ "column_alias ::= NK_ALIAS", + /* 517 */ "user_name ::= NK_ID", + /* 518 */ "topic_name ::= NK_ID", + /* 519 */ "stream_name ::= NK_ID", + /* 520 */ "cgroup_name ::= NK_ID", + /* 521 */ "index_name ::= NK_ID", + /* 522 */ "tsma_name ::= NK_ID", + /* 523 */ "expr_or_subquery ::= expression", + /* 524 */ "expression ::= literal", + /* 525 */ "expression ::= pseudo_column", + /* 526 */ "expression ::= column_reference", + /* 527 */ "expression ::= function_expression", + /* 528 */ "expression ::= case_when_expression", + /* 529 */ "expression ::= NK_LP expression NK_RP", + /* 530 */ "expression ::= NK_PLUS expr_or_subquery", + /* 531 */ "expression ::= NK_MINUS expr_or_subquery", + /* 532 */ "expression ::= expr_or_subquery NK_PLUS expr_or_subquery", + /* 533 */ "expression ::= expr_or_subquery NK_MINUS expr_or_subquery", + /* 534 */ "expression ::= expr_or_subquery NK_STAR expr_or_subquery", + /* 535 */ "expression ::= expr_or_subquery NK_SLASH expr_or_subquery", + /* 536 */ "expression ::= expr_or_subquery NK_REM expr_or_subquery", + /* 537 */ "expression ::= column_reference NK_ARROW NK_STRING", + /* 538 */ "expression ::= expr_or_subquery NK_BITAND expr_or_subquery", + /* 539 */ "expression ::= expr_or_subquery NK_BITOR expr_or_subquery", + /* 540 */ "expression_list ::= expr_or_subquery", + /* 541 */ "expression_list ::= expression_list NK_COMMA expr_or_subquery", + /* 542 */ "column_reference ::= column_name", + /* 543 */ "column_reference ::= table_name NK_DOT column_name", + /* 544 */ "column_reference ::= NK_ALIAS", + /* 545 */ "column_reference ::= table_name NK_DOT NK_ALIAS", + /* 546 */ "pseudo_column ::= ROWTS", + /* 547 */ "pseudo_column ::= TBNAME", + /* 548 */ "pseudo_column ::= table_name NK_DOT TBNAME", + /* 549 */ "pseudo_column ::= QSTART", + /* 550 */ "pseudo_column ::= QEND", + /* 551 */ "pseudo_column ::= QDURATION", + /* 552 */ "pseudo_column ::= WSTART", + /* 553 */ "pseudo_column ::= WEND", + /* 554 */ "pseudo_column ::= WDURATION", + /* 555 */ "pseudo_column ::= IROWTS", + /* 556 */ "pseudo_column ::= ISFILLED", + /* 557 */ "pseudo_column ::= QTAGS", + /* 558 */ "function_expression ::= function_name NK_LP expression_list NK_RP", + /* 559 */ "function_expression ::= star_func NK_LP star_func_para_list NK_RP", + /* 560 */ "function_expression ::= CAST NK_LP expr_or_subquery AS type_name NK_RP", + /* 561 */ "function_expression ::= CAST NK_LP expr_or_subquery AS type_name_default_len NK_RP", + /* 562 */ "function_expression ::= literal_func", + /* 563 */ "literal_func ::= noarg_func NK_LP NK_RP", + /* 564 */ "literal_func ::= NOW", + /* 565 */ "literal_func ::= TODAY", + /* 566 */ "noarg_func ::= NOW", + /* 567 */ "noarg_func ::= TODAY", + /* 568 */ "noarg_func ::= TIMEZONE", + /* 569 */ "noarg_func ::= DATABASE", + /* 570 */ "noarg_func ::= CLIENT_VERSION", + /* 571 */ "noarg_func ::= SERVER_VERSION", + /* 572 */ "noarg_func ::= SERVER_STATUS", + /* 573 */ "noarg_func ::= CURRENT_USER", + /* 574 */ "noarg_func ::= USER", + /* 575 */ "star_func ::= COUNT", + /* 576 */ "star_func ::= FIRST", + /* 577 */ "star_func ::= LAST", + /* 578 */ "star_func ::= LAST_ROW", + /* 579 */ "star_func_para_list ::= NK_STAR", + /* 580 */ "star_func_para_list ::= other_para_list", + /* 581 */ "other_para_list ::= star_func_para", + /* 582 */ "other_para_list ::= other_para_list NK_COMMA star_func_para", + /* 583 */ "star_func_para ::= expr_or_subquery", + /* 584 */ "star_func_para ::= table_name NK_DOT NK_STAR", + /* 585 */ "case_when_expression ::= CASE when_then_list case_when_else_opt END", + /* 586 */ "case_when_expression ::= CASE common_expression when_then_list case_when_else_opt END", + /* 587 */ "when_then_list ::= when_then_expr", + /* 588 */ "when_then_list ::= when_then_list when_then_expr", + /* 589 */ "when_then_expr ::= WHEN common_expression THEN common_expression", + /* 590 */ "case_when_else_opt ::=", + /* 591 */ "case_when_else_opt ::= ELSE common_expression", + /* 592 */ "predicate ::= expr_or_subquery compare_op expr_or_subquery", + /* 593 */ "predicate ::= expr_or_subquery BETWEEN expr_or_subquery AND expr_or_subquery", + /* 594 */ "predicate ::= expr_or_subquery NOT BETWEEN expr_or_subquery AND expr_or_subquery", + /* 595 */ "predicate ::= expr_or_subquery IS NULL", + /* 596 */ "predicate ::= expr_or_subquery IS NOT NULL", + /* 597 */ "predicate ::= expr_or_subquery in_op in_predicate_value", + /* 598 */ "compare_op ::= NK_LT", + /* 599 */ "compare_op ::= NK_GT", + /* 600 */ "compare_op ::= NK_LE", + /* 601 */ "compare_op ::= NK_GE", + /* 602 */ "compare_op ::= NK_NE", + /* 603 */ "compare_op ::= NK_EQ", + /* 604 */ "compare_op ::= LIKE", + /* 605 */ "compare_op ::= NOT LIKE", + /* 606 */ "compare_op ::= MATCH", + /* 607 */ "compare_op ::= NMATCH", + /* 608 */ "compare_op ::= CONTAINS", + /* 609 */ "in_op ::= IN", + /* 610 */ "in_op ::= NOT IN", + /* 611 */ "in_predicate_value ::= NK_LP literal_list NK_RP", + /* 612 */ "boolean_value_expression ::= boolean_primary", + /* 613 */ "boolean_value_expression ::= NOT boolean_primary", + /* 614 */ "boolean_value_expression ::= boolean_value_expression OR boolean_value_expression", + /* 615 */ "boolean_value_expression ::= boolean_value_expression AND boolean_value_expression", + /* 616 */ "boolean_primary ::= predicate", + /* 617 */ "boolean_primary ::= NK_LP boolean_value_expression NK_RP", + /* 618 */ "common_expression ::= expr_or_subquery", + /* 619 */ "common_expression ::= boolean_value_expression", + /* 620 */ "from_clause_opt ::=", + /* 621 */ "from_clause_opt ::= FROM table_reference_list", + /* 622 */ "table_reference_list ::= table_reference", + /* 623 */ "table_reference_list ::= table_reference_list NK_COMMA table_reference", + /* 624 */ "table_reference ::= table_primary", + /* 625 */ "table_reference ::= joined_table", + /* 626 */ "table_primary ::= table_name alias_opt", + /* 627 */ "table_primary ::= db_name NK_DOT table_name alias_opt", + /* 628 */ "table_primary ::= subquery alias_opt", + /* 629 */ "table_primary ::= parenthesized_joined_table", + /* 630 */ "alias_opt ::=", + /* 631 */ "alias_opt ::= table_alias", + /* 632 */ "alias_opt ::= AS table_alias", + /* 633 */ "parenthesized_joined_table ::= NK_LP joined_table NK_RP", + /* 634 */ "parenthesized_joined_table ::= NK_LP parenthesized_joined_table NK_RP", + /* 635 */ "joined_table ::= table_reference join_type join_subtype JOIN table_reference join_on_clause_opt window_offset_clause_opt jlimit_clause_opt", + /* 636 */ "join_type ::=", + /* 637 */ "join_type ::= INNER", + /* 638 */ "join_type ::= LEFT", + /* 639 */ "join_type ::= RIGHT", + /* 640 */ "join_type ::= FULL", + /* 641 */ "join_subtype ::=", + /* 642 */ "join_subtype ::= OUTER", + /* 643 */ "join_subtype ::= SEMI", + /* 644 */ "join_subtype ::= ANTI", + /* 645 */ "join_subtype ::= ASOF", + /* 646 */ "join_subtype ::= WINDOW", + /* 647 */ "join_on_clause_opt ::=", + /* 648 */ "join_on_clause_opt ::= ON search_condition", + /* 649 */ "window_offset_clause_opt ::=", + /* 650 */ "window_offset_clause_opt ::= WINDOW_OFFSET NK_LP window_offset_literal NK_COMMA window_offset_literal NK_RP", + /* 651 */ "window_offset_literal ::= NK_VARIABLE", + /* 652 */ "window_offset_literal ::= NK_MINUS NK_VARIABLE", + /* 653 */ "jlimit_clause_opt ::=", + /* 654 */ "jlimit_clause_opt ::= JLIMIT NK_INTEGER", + /* 655 */ "query_specification ::= SELECT hint_list set_quantifier_opt tag_mode_opt select_list from_clause_opt where_clause_opt partition_by_clause_opt range_opt every_opt fill_opt twindow_clause_opt group_by_clause_opt having_clause_opt", + /* 656 */ "hint_list ::=", + /* 657 */ "hint_list ::= NK_HINT", + /* 658 */ "tag_mode_opt ::=", + /* 659 */ "tag_mode_opt ::= TAGS", + /* 660 */ "set_quantifier_opt ::=", + /* 661 */ "set_quantifier_opt ::= DISTINCT", + /* 662 */ "set_quantifier_opt ::= ALL", + /* 663 */ "select_list ::= select_item", + /* 664 */ "select_list ::= select_list NK_COMMA select_item", + /* 665 */ "select_item ::= NK_STAR", + /* 666 */ "select_item ::= common_expression", + /* 667 */ "select_item ::= common_expression column_alias", + /* 668 */ "select_item ::= common_expression AS column_alias", + /* 669 */ "select_item ::= table_name NK_DOT NK_STAR", + /* 670 */ "where_clause_opt ::=", + /* 671 */ "where_clause_opt ::= WHERE search_condition", + /* 672 */ "partition_by_clause_opt ::=", + /* 673 */ "partition_by_clause_opt ::= PARTITION BY partition_list", + /* 674 */ "partition_list ::= partition_item", + /* 675 */ "partition_list ::= partition_list NK_COMMA partition_item", + /* 676 */ "partition_item ::= expr_or_subquery", + /* 677 */ "partition_item ::= expr_or_subquery column_alias", + /* 678 */ "partition_item ::= expr_or_subquery AS column_alias", + /* 679 */ "twindow_clause_opt ::=", + /* 680 */ "twindow_clause_opt ::= SESSION NK_LP column_reference NK_COMMA interval_sliding_duration_literal NK_RP", + /* 681 */ "twindow_clause_opt ::= STATE_WINDOW NK_LP expr_or_subquery NK_RP", + /* 682 */ "twindow_clause_opt ::= INTERVAL NK_LP interval_sliding_duration_literal NK_RP sliding_opt fill_opt", + /* 683 */ "twindow_clause_opt ::= INTERVAL NK_LP interval_sliding_duration_literal NK_COMMA interval_sliding_duration_literal NK_RP sliding_opt fill_opt", + /* 684 */ "twindow_clause_opt ::= EVENT_WINDOW START WITH search_condition END WITH search_condition", + /* 685 */ "twindow_clause_opt ::= COUNT_WINDOW NK_LP NK_INTEGER NK_RP", + /* 686 */ "twindow_clause_opt ::= COUNT_WINDOW NK_LP NK_INTEGER NK_COMMA NK_INTEGER NK_RP", + /* 687 */ "sliding_opt ::=", + /* 688 */ "sliding_opt ::= SLIDING NK_LP interval_sliding_duration_literal NK_RP", + /* 689 */ "interval_sliding_duration_literal ::= NK_VARIABLE", + /* 690 */ "interval_sliding_duration_literal ::= NK_STRING", + /* 691 */ "interval_sliding_duration_literal ::= NK_INTEGER", + /* 692 */ "fill_opt ::=", + /* 693 */ "fill_opt ::= FILL NK_LP fill_mode NK_RP", + /* 694 */ "fill_opt ::= FILL NK_LP VALUE NK_COMMA expression_list NK_RP", + /* 695 */ "fill_opt ::= FILL NK_LP VALUE_F NK_COMMA expression_list NK_RP", + /* 696 */ "fill_mode ::= NONE", + /* 697 */ "fill_mode ::= PREV", + /* 698 */ "fill_mode ::= NULL", + /* 699 */ "fill_mode ::= NULL_F", + /* 700 */ "fill_mode ::= LINEAR", + /* 701 */ "fill_mode ::= NEXT", + /* 702 */ "group_by_clause_opt ::=", + /* 703 */ "group_by_clause_opt ::= GROUP BY group_by_list", + /* 704 */ "group_by_list ::= expr_or_subquery", + /* 705 */ "group_by_list ::= group_by_list NK_COMMA expr_or_subquery", + /* 706 */ "having_clause_opt ::=", + /* 707 */ "having_clause_opt ::= HAVING search_condition", + /* 708 */ "range_opt ::=", + /* 709 */ "range_opt ::= RANGE NK_LP expr_or_subquery NK_COMMA expr_or_subquery NK_RP", + /* 710 */ "range_opt ::= RANGE NK_LP expr_or_subquery NK_RP", + /* 711 */ "every_opt ::=", + /* 712 */ "every_opt ::= EVERY NK_LP duration_literal NK_RP", + /* 713 */ "query_expression ::= query_simple order_by_clause_opt slimit_clause_opt limit_clause_opt", + /* 714 */ "query_simple ::= query_specification", + /* 715 */ "query_simple ::= union_query_expression", + /* 716 */ "union_query_expression ::= query_simple_or_subquery UNION ALL query_simple_or_subquery", + /* 717 */ "union_query_expression ::= query_simple_or_subquery UNION query_simple_or_subquery", + /* 718 */ "query_simple_or_subquery ::= query_simple", + /* 719 */ "query_simple_or_subquery ::= subquery", + /* 720 */ "query_or_subquery ::= query_expression", + /* 721 */ "query_or_subquery ::= subquery", + /* 722 */ "order_by_clause_opt ::=", + /* 723 */ "order_by_clause_opt ::= ORDER BY sort_specification_list", + /* 724 */ "slimit_clause_opt ::=", + /* 725 */ "slimit_clause_opt ::= SLIMIT NK_INTEGER", + /* 726 */ "slimit_clause_opt ::= SLIMIT NK_INTEGER SOFFSET NK_INTEGER", + /* 727 */ "slimit_clause_opt ::= SLIMIT NK_INTEGER NK_COMMA NK_INTEGER", + /* 728 */ "limit_clause_opt ::=", + /* 729 */ "limit_clause_opt ::= LIMIT NK_INTEGER", + /* 730 */ "limit_clause_opt ::= LIMIT NK_INTEGER OFFSET NK_INTEGER", + /* 731 */ "limit_clause_opt ::= LIMIT NK_INTEGER NK_COMMA NK_INTEGER", + /* 732 */ "subquery ::= NK_LP query_expression NK_RP", + /* 733 */ "subquery ::= NK_LP subquery NK_RP", + /* 734 */ "search_condition ::= common_expression", + /* 735 */ "sort_specification_list ::= sort_specification", + /* 736 */ "sort_specification_list ::= sort_specification_list NK_COMMA sort_specification", + /* 737 */ "sort_specification ::= expr_or_subquery ordering_specification_opt null_ordering_opt", + /* 738 */ "ordering_specification_opt ::=", + /* 739 */ "ordering_specification_opt ::= ASC", + /* 740 */ "ordering_specification_opt ::= DESC", + /* 741 */ "null_ordering_opt ::=", + /* 742 */ "null_ordering_opt ::= NULLS FIRST", + /* 743 */ "null_ordering_opt ::= NULLS LAST", + /* 744 */ "column_options ::=", + /* 745 */ "column_options ::= column_options PRIMARY KEY", + /* 746 */ "column_options ::= column_options ENCODE NK_STRING", + /* 747 */ "column_options ::= column_options COMPRESS NK_STRING", + /* 748 */ "column_options ::= column_options LEVEL NK_STRING", }; #endif /* NDEBUG */ @@ -3446,256 +3086,256 @@ static void yy_destructor( */ /********* Begin destructor definitions ***************************************/ /* Default NON-TERMINAL Destructor */ - case 376: /* cmd */ - case 379: /* literal */ - case 388: /* with_opt */ - case 394: /* search_condition */ - case 399: /* db_options */ - case 401: /* alter_db_options */ - case 403: /* start_opt */ - case 404: /* end_opt */ - case 408: /* signed */ - case 410: /* retention */ - case 411: /* full_table_name */ - case 414: /* table_options */ - case 418: /* alter_table_clause */ - case 419: /* alter_table_options */ - case 422: /* column_options */ - case 423: /* tags_literal */ - case 424: /* create_subtable_clause */ - case 427: /* drop_table_clause */ - case 430: /* tag_def */ - case 431: /* column_def */ - case 436: /* duration_literal */ - case 437: /* rollup_func_name */ - case 439: /* col_name */ - case 442: /* like_pattern_opt */ - case 443: /* db_name_cond_opt */ - case 444: /* table_name_cond */ - case 445: /* from_db_opt */ - case 448: /* tag_item */ - case 452: /* full_tsma_name */ - case 454: /* index_options */ - case 455: /* full_index_name */ - case 457: /* sliding_opt */ - case 458: /* sma_stream_opt */ - case 459: /* func */ - case 463: /* query_or_subquery */ - case 464: /* where_clause_opt */ - case 467: /* explain_options */ - case 468: /* insert_query */ - case 473: /* full_view_name */ - case 476: /* stream_options */ - case 479: /* subtable_opt */ - case 482: /* column_stream_def */ - case 483: /* stream_col_options */ - case 484: /* expression */ - case 487: /* literal_func */ - case 488: /* signed_literal */ - case 491: /* expr_or_subquery */ - case 492: /* pseudo_column */ - case 493: /* column_reference */ - case 494: /* function_expression */ - case 495: /* case_when_expression */ - case 500: /* star_func_para */ - case 502: /* case_when_else_opt */ - case 503: /* common_expression */ - case 504: /* when_then_expr */ - case 505: /* predicate */ - case 508: /* in_predicate_value */ - case 509: /* boolean_value_expression */ - case 510: /* boolean_primary */ - case 511: /* from_clause_opt */ - case 512: /* table_reference_list */ - case 513: /* table_reference */ - case 514: /* table_primary */ - case 515: /* joined_table */ - case 517: /* subquery */ - case 518: /* parenthesized_joined_table */ - case 521: /* join_on_clause_opt */ - case 522: /* window_offset_clause_opt */ - case 523: /* jlimit_clause_opt */ - case 524: /* window_offset_literal */ - case 525: /* query_specification */ - case 531: /* range_opt */ - case 532: /* every_opt */ - case 533: /* fill_opt */ - case 534: /* twindow_clause_opt */ - case 536: /* having_clause_opt */ - case 537: /* select_item */ - case 539: /* partition_item */ - case 540: /* interval_sliding_duration_literal */ - case 543: /* query_expression */ - case 544: /* query_simple */ - case 546: /* slimit_clause_opt */ - case 547: /* limit_clause_opt */ - case 548: /* union_query_expression */ - case 549: /* query_simple_or_subquery */ - case 551: /* sort_specification */ + case 377: /* cmd */ + case 380: /* literal */ + case 389: /* with_opt */ + case 395: /* search_condition */ + case 400: /* db_options */ + case 402: /* alter_db_options */ + case 404: /* start_opt */ + case 405: /* end_opt */ + case 409: /* signed */ + case 411: /* retention */ + case 412: /* full_table_name */ + case 415: /* table_options */ + case 419: /* alter_table_clause */ + case 420: /* alter_table_options */ + case 423: /* column_options */ + case 424: /* tags_literal */ + case 425: /* create_subtable_clause */ + case 428: /* drop_table_clause */ + case 431: /* tag_def */ + case 432: /* column_def */ + case 437: /* duration_literal */ + case 438: /* rollup_func_name */ + case 440: /* col_name */ + case 443: /* like_pattern_opt */ + case 444: /* db_name_cond_opt */ + case 445: /* table_name_cond */ + case 446: /* from_db_opt */ + case 449: /* tag_item */ + case 453: /* full_tsma_name */ + case 455: /* index_options */ + case 456: /* full_index_name */ + case 458: /* sliding_opt */ + case 459: /* sma_stream_opt */ + case 460: /* func */ + case 464: /* query_or_subquery */ + case 465: /* where_clause_opt */ + case 468: /* explain_options */ + case 469: /* insert_query */ + case 474: /* full_view_name */ + case 477: /* stream_options */ + case 480: /* subtable_opt */ + case 483: /* column_stream_def */ + case 484: /* stream_col_options */ + case 485: /* expression */ + case 488: /* literal_func */ + case 489: /* signed_literal */ + case 492: /* expr_or_subquery */ + case 493: /* pseudo_column */ + case 494: /* column_reference */ + case 495: /* function_expression */ + case 496: /* case_when_expression */ + case 501: /* star_func_para */ + case 503: /* case_when_else_opt */ + case 504: /* common_expression */ + case 505: /* when_then_expr */ + case 506: /* predicate */ + case 509: /* in_predicate_value */ + case 510: /* boolean_value_expression */ + case 511: /* boolean_primary */ + case 512: /* from_clause_opt */ + case 513: /* table_reference_list */ + case 514: /* table_reference */ + case 515: /* table_primary */ + case 516: /* joined_table */ + case 518: /* subquery */ + case 519: /* parenthesized_joined_table */ + case 522: /* join_on_clause_opt */ + case 523: /* window_offset_clause_opt */ + case 524: /* jlimit_clause_opt */ + case 525: /* window_offset_literal */ + case 526: /* query_specification */ + case 532: /* range_opt */ + case 533: /* every_opt */ + case 534: /* fill_opt */ + case 535: /* twindow_clause_opt */ + case 537: /* having_clause_opt */ + case 538: /* select_item */ + case 540: /* partition_item */ + case 541: /* interval_sliding_duration_literal */ + case 544: /* query_expression */ + case 545: /* query_simple */ + case 547: /* slimit_clause_opt */ + case 548: /* limit_clause_opt */ + case 549: /* union_query_expression */ + case 550: /* query_simple_or_subquery */ + case 552: /* sort_specification */ { - nodesDestroyNode((yypminor->yy600)); + nodesDestroyNode((yypminor->yy452)); } break; - case 377: /* account_options */ - case 378: /* alter_account_options */ - case 380: /* alter_account_option */ - case 402: /* speed_opt */ - case 462: /* with_meta */ - case 471: /* bufsize_opt */ + case 378: /* account_options */ + case 379: /* alter_account_options */ + case 381: /* alter_account_option */ + case 403: /* speed_opt */ + case 463: /* with_meta */ + case 472: /* bufsize_opt */ { } break; - case 381: /* ip_range_list */ - case 382: /* white_list */ - case 383: /* white_list_opt */ - case 405: /* integer_list */ - case 406: /* variable_list */ - case 407: /* retention_list */ - case 412: /* column_def_list */ - case 413: /* tags_def_opt */ - case 415: /* multi_create_clause */ - case 416: /* tags_def */ - case 417: /* multi_drop_clause */ - case 425: /* specific_cols_opt */ - case 426: /* tags_literal_list */ - case 428: /* col_name_list */ - case 429: /* tag_def_list */ - case 433: /* duration_list */ - case 434: /* rollup_func_list */ - case 446: /* tag_list_opt */ - case 453: /* func_list */ - case 461: /* expression_list */ - case 477: /* col_list_opt */ - case 478: /* tag_def_or_ref_opt */ - case 481: /* column_stream_def_list */ - case 486: /* dnode_list */ - case 489: /* literal_list */ - case 497: /* star_func_para_list */ - case 499: /* other_para_list */ - case 501: /* when_then_list */ - case 526: /* hint_list */ - case 529: /* select_list */ - case 530: /* partition_by_clause_opt */ - case 535: /* group_by_clause_opt */ - case 538: /* partition_list */ - case 542: /* group_by_list */ - case 545: /* order_by_clause_opt */ - case 550: /* sort_specification_list */ + case 382: /* ip_range_list */ + case 383: /* white_list */ + case 384: /* white_list_opt */ + case 406: /* integer_list */ + case 407: /* variable_list */ + case 408: /* retention_list */ + case 413: /* column_def_list */ + case 414: /* tags_def_opt */ + case 416: /* multi_create_clause */ + case 417: /* tags_def */ + case 418: /* multi_drop_clause */ + case 426: /* specific_cols_opt */ + case 427: /* tags_literal_list */ + case 429: /* col_name_list */ + case 430: /* tag_def_list */ + case 434: /* duration_list */ + case 435: /* rollup_func_list */ + case 447: /* tag_list_opt */ + case 454: /* func_list */ + case 462: /* expression_list */ + case 478: /* col_list_opt */ + case 479: /* tag_def_or_ref_opt */ + case 482: /* column_stream_def_list */ + case 487: /* dnode_list */ + case 490: /* literal_list */ + case 498: /* star_func_para_list */ + case 500: /* other_para_list */ + case 502: /* when_then_list */ + case 527: /* hint_list */ + case 530: /* select_list */ + case 531: /* partition_by_clause_opt */ + case 536: /* group_by_clause_opt */ + case 539: /* partition_list */ + case 543: /* group_by_list */ + case 546: /* order_by_clause_opt */ + case 551: /* sort_specification_list */ { - nodesDestroyList((yypminor->yy748)); + nodesDestroyList((yypminor->yy34)); } break; - case 384: /* user_name */ - case 391: /* db_name */ - case 392: /* table_name */ - case 393: /* topic_name */ - case 395: /* dnode_endpoint */ - case 420: /* column_name */ - case 438: /* function_name */ - case 449: /* column_alias */ - case 450: /* tsma_name */ - case 456: /* index_name */ - case 460: /* sma_func_name */ - case 465: /* cgroup_name */ - case 472: /* language_opt */ - case 474: /* view_name */ - case 475: /* stream_name */ - case 485: /* on_vgroup_id */ - case 490: /* table_alias */ - case 496: /* star_func */ - case 498: /* noarg_func */ - case 516: /* alias_opt */ + case 385: /* user_name */ + case 392: /* db_name */ + case 393: /* table_name */ + case 394: /* topic_name */ + case 396: /* dnode_endpoint */ + case 421: /* column_name */ + case 439: /* function_name */ + case 450: /* column_alias */ + case 451: /* tsma_name */ + case 457: /* index_name */ + case 461: /* sma_func_name */ + case 466: /* cgroup_name */ + case 473: /* language_opt */ + case 475: /* view_name */ + case 476: /* stream_name */ + case 486: /* on_vgroup_id */ + case 491: /* table_alias */ + case 497: /* star_func */ + case 499: /* noarg_func */ + case 517: /* alias_opt */ { } break; - case 385: /* sysinfo_opt */ + case 386: /* sysinfo_opt */ { } break; - case 386: /* privileges */ - case 389: /* priv_type_list */ - case 390: /* priv_type */ + case 387: /* privileges */ + case 390: /* priv_type_list */ + case 391: /* priv_type */ { } break; - case 387: /* priv_level */ + case 388: /* priv_level */ { } break; - case 396: /* force_opt */ - case 397: /* unsafe_opt */ - case 398: /* not_exists_opt */ - case 400: /* exists_opt */ - case 466: /* analyze_opt */ - case 469: /* or_replace_opt */ - case 470: /* agg_func_opt */ - case 480: /* ignore_opt */ - case 527: /* set_quantifier_opt */ - case 528: /* tag_mode_opt */ + case 397: /* force_opt */ + case 398: /* unsafe_opt */ + case 399: /* not_exists_opt */ + case 401: /* exists_opt */ + case 467: /* analyze_opt */ + case 470: /* or_replace_opt */ + case 471: /* agg_func_opt */ + case 481: /* ignore_opt */ + case 528: /* set_quantifier_opt */ + case 529: /* tag_mode_opt */ { } break; - case 409: /* alter_db_option */ - case 435: /* alter_table_option */ + case 410: /* alter_db_option */ + case 436: /* alter_table_option */ { } break; - case 421: /* type_name */ - case 432: /* type_name_default_len */ + case 422: /* type_name */ + case 433: /* type_name_default_len */ { } break; - case 440: /* db_kind_opt */ - case 447: /* table_kind */ + case 441: /* db_kind_opt */ + case 448: /* table_kind */ { } break; - case 441: /* table_kind_db_name_cond_opt */ + case 442: /* table_kind_db_name_cond_opt */ { } break; - case 451: /* tsma_func_list */ + case 452: /* tsma_func_list */ { - nodesDestroyNode((yypminor->yy600)); + nodesDestroyNode((yypminor->yy452)); } break; - case 506: /* compare_op */ - case 507: /* in_op */ + case 507: /* compare_op */ + case 508: /* in_op */ { } break; - case 519: /* join_type */ + case 520: /* join_type */ { } break; - case 520: /* join_subtype */ + case 521: /* join_subtype */ { } break; - case 541: /* fill_mode */ + case 542: /* fill_mode */ { } break; - case 552: /* ordering_specification_opt */ + case 553: /* ordering_specification_opt */ { } break; - case 553: /* null_ordering_opt */ + case 554: /* null_ordering_opt */ { } @@ -3864,7 +3504,7 @@ static YYACTIONTYPE yy_find_shift_action( #endif /* YYWILDCARD */ return yy_default[stateno]; }else{ - assert( i>=0 && i<(int)(sizeof(yy_action)/sizeof(yy_action[0])) ); + assert( i>=0 && iyytos; +#ifndef NDEBUG + if( yyTraceFILE && yyruleno<(int)(sizeof(yyRuleName)/sizeof(yyRuleName[0])) ){ + yysize = yyRuleInfoNRhs[yyruleno]; + if( yysize ){ + fprintf(yyTraceFILE, "%sReduce %d [%s]%s, pop back to state %d.\n", + yyTracePrompt, + yyruleno, yyRuleName[yyruleno], + yyrulenoyytos - yypParser->yystack)>yypParser->yyhwm ){ + yypParser->yyhwm++; + assert( yypParser->yyhwm == (int)(yypParser->yytos - yypParser->yystack)); + } +#endif +#if YYSTACKDEPTH>0 + if( yypParser->yytos>=yypParser->yystackEnd ){ + yyStackOverflow(yypParser); + /* The call to yyStackOverflow() above pops the stack until it is + ** empty, causing the main parser loop to exit. So the return value + ** is never used and does not matter. */ + return 0; + } +#else + if( yypParser->yytos>=&yypParser->yystack[yypParser->yystksz-1] ){ + if( yyGrowStack(yypParser) ){ + yyStackOverflow(yypParser); + /* The call to yyStackOverflow() above pops the stack until it is + ** empty, causing the main parser loop to exit. So the return value + ** is never used and does not matter. */ + return 0; + } + yymsp = yypParser->yytos; + } +#endif + } switch( yyruleno ){ /* Beginning here are the reduction cases. A typical example @@ -5530,11 +5220,11 @@ static YYACTIONTYPE yy_reduce( YYMINORTYPE yylhsminor; case 0: /* cmd ::= CREATE ACCOUNT NK_ID PASS NK_STRING account_options */ { pCxt->errCode = generateSyntaxErrMsg(&pCxt->msgBuf, TSDB_CODE_PAR_EXPRIE_STATEMENT); } - yy_destructor(yypParser,377,&yymsp[0].minor); + yy_destructor(yypParser,378,&yymsp[0].minor); break; case 1: /* cmd ::= ALTER ACCOUNT NK_ID alter_account_options */ { pCxt->errCode = generateSyntaxErrMsg(&pCxt->msgBuf, TSDB_CODE_PAR_EXPRIE_STATEMENT); } - yy_destructor(yypParser,378,&yymsp[0].minor); + yy_destructor(yypParser,379,&yymsp[0].minor); break; case 2: /* account_options ::= */ { } @@ -5548,20 +5238,20 @@ static YYACTIONTYPE yy_reduce( case 9: /* account_options ::= account_options USERS literal */ yytestcase(yyruleno==9); case 10: /* account_options ::= account_options CONNS literal */ yytestcase(yyruleno==10); case 11: /* account_options ::= account_options STATE literal */ yytestcase(yyruleno==11); -{ yy_destructor(yypParser,377,&yymsp[-2].minor); +{ yy_destructor(yypParser,378,&yymsp[-2].minor); { } - yy_destructor(yypParser,379,&yymsp[0].minor); + yy_destructor(yypParser,380,&yymsp[0].minor); } break; case 12: /* alter_account_options ::= alter_account_option */ -{ yy_destructor(yypParser,380,&yymsp[0].minor); +{ yy_destructor(yypParser,381,&yymsp[0].minor); { } } break; case 13: /* alter_account_options ::= alter_account_options alter_account_option */ -{ yy_destructor(yypParser,378,&yymsp[-1].minor); +{ yy_destructor(yypParser,379,&yymsp[-1].minor); { } - yy_destructor(yypParser,380,&yymsp[0].minor); + yy_destructor(yypParser,381,&yymsp[0].minor); } break; case 14: /* alter_account_option ::= PASS literal */ @@ -5575,2050 +5265,2053 @@ static YYACTIONTYPE yy_reduce( case 22: /* alter_account_option ::= CONNS literal */ yytestcase(yyruleno==22); case 23: /* alter_account_option ::= STATE literal */ yytestcase(yyruleno==23); { } - yy_destructor(yypParser,379,&yymsp[0].minor); + yy_destructor(yypParser,380,&yymsp[0].minor); break; case 24: /* ip_range_list ::= NK_STRING */ -{ yylhsminor.yy748 = createNodeList(pCxt, createValueNode(pCxt, TSDB_DATA_TYPE_BINARY, &yymsp[0].minor.yy0)); } - yymsp[0].minor.yy748 = yylhsminor.yy748; +{ yylhsminor.yy34 = createNodeList(pCxt, createValueNode(pCxt, TSDB_DATA_TYPE_BINARY, &yymsp[0].minor.yy0)); } + yymsp[0].minor.yy34 = yylhsminor.yy34; break; case 25: /* ip_range_list ::= ip_range_list NK_COMMA NK_STRING */ -{ yylhsminor.yy748 = addNodeToList(pCxt, yymsp[-2].minor.yy748, createValueNode(pCxt, TSDB_DATA_TYPE_BINARY, &yymsp[0].minor.yy0)); } - yymsp[-2].minor.yy748 = yylhsminor.yy748; +{ yylhsminor.yy34 = addNodeToList(pCxt, yymsp[-2].minor.yy34, createValueNode(pCxt, TSDB_DATA_TYPE_BINARY, &yymsp[0].minor.yy0)); } + yymsp[-2].minor.yy34 = yylhsminor.yy34; break; case 26: /* white_list ::= HOST ip_range_list */ -{ yymsp[-1].minor.yy748 = yymsp[0].minor.yy748; } +{ yymsp[-1].minor.yy34 = yymsp[0].minor.yy34; } break; case 27: /* white_list_opt ::= */ - case 200: /* specific_cols_opt ::= */ yytestcase(yyruleno==200); - case 238: /* tags_def_opt ::= */ yytestcase(yyruleno==238); - case 328: /* tag_list_opt ::= */ yytestcase(yyruleno==328); - case 401: /* col_list_opt ::= */ yytestcase(yyruleno==401); - case 408: /* tag_def_or_ref_opt ::= */ yytestcase(yyruleno==408); - case 671: /* partition_by_clause_opt ::= */ yytestcase(yyruleno==671); - case 701: /* group_by_clause_opt ::= */ yytestcase(yyruleno==701); - case 721: /* order_by_clause_opt ::= */ yytestcase(yyruleno==721); -{ yymsp[1].minor.yy748 = NULL; } + case 201: /* specific_cols_opt ::= */ yytestcase(yyruleno==201); + case 239: /* tags_def_opt ::= */ yytestcase(yyruleno==239); + case 329: /* tag_list_opt ::= */ yytestcase(yyruleno==329); + case 402: /* col_list_opt ::= */ yytestcase(yyruleno==402); + case 409: /* tag_def_or_ref_opt ::= */ yytestcase(yyruleno==409); + case 672: /* partition_by_clause_opt ::= */ yytestcase(yyruleno==672); + case 702: /* group_by_clause_opt ::= */ yytestcase(yyruleno==702); + case 722: /* order_by_clause_opt ::= */ yytestcase(yyruleno==722); +{ yymsp[1].minor.yy34 = NULL; } break; case 28: /* white_list_opt ::= white_list */ - case 239: /* tags_def_opt ::= tags_def */ yytestcase(yyruleno==239); - case 409: /* tag_def_or_ref_opt ::= tags_def */ yytestcase(yyruleno==409); - case 579: /* star_func_para_list ::= other_para_list */ yytestcase(yyruleno==579); -{ yylhsminor.yy748 = yymsp[0].minor.yy748; } - yymsp[0].minor.yy748 = yylhsminor.yy748; + case 240: /* tags_def_opt ::= tags_def */ yytestcase(yyruleno==240); + case 410: /* tag_def_or_ref_opt ::= tags_def */ yytestcase(yyruleno==410); + case 580: /* star_func_para_list ::= other_para_list */ yytestcase(yyruleno==580); +{ yylhsminor.yy34 = yymsp[0].minor.yy34; } + yymsp[0].minor.yy34 = yylhsminor.yy34; break; case 29: /* cmd ::= CREATE USER user_name PASS NK_STRING sysinfo_opt white_list_opt */ { - pCxt->pRootNode = createCreateUserStmt(pCxt, &yymsp[-4].minor.yy649, &yymsp[-2].minor.yy0, yymsp[-1].minor.yy663); - pCxt->pRootNode = addCreateUserStmtWhiteList(pCxt, pCxt->pRootNode, yymsp[0].minor.yy748); + pCxt->pRootNode = createCreateUserStmt(pCxt, &yymsp[-4].minor.yy479, &yymsp[-2].minor.yy0, yymsp[-1].minor.yy323); + pCxt->pRootNode = addCreateUserStmtWhiteList(pCxt, pCxt->pRootNode, yymsp[0].minor.yy34); } break; case 30: /* cmd ::= ALTER USER user_name PASS NK_STRING */ -{ pCxt->pRootNode = createAlterUserStmt(pCxt, &yymsp[-2].minor.yy649, TSDB_ALTER_USER_PASSWD, &yymsp[0].minor.yy0); } +{ pCxt->pRootNode = createAlterUserStmt(pCxt, &yymsp[-2].minor.yy479, TSDB_ALTER_USER_PASSWD, &yymsp[0].minor.yy0); } break; case 31: /* cmd ::= ALTER USER user_name ENABLE NK_INTEGER */ -{ pCxt->pRootNode = createAlterUserStmt(pCxt, &yymsp[-2].minor.yy649, TSDB_ALTER_USER_ENABLE, &yymsp[0].minor.yy0); } +{ pCxt->pRootNode = createAlterUserStmt(pCxt, &yymsp[-2].minor.yy479, TSDB_ALTER_USER_ENABLE, &yymsp[0].minor.yy0); } break; case 32: /* cmd ::= ALTER USER user_name SYSINFO NK_INTEGER */ -{ pCxt->pRootNode = createAlterUserStmt(pCxt, &yymsp[-2].minor.yy649, TSDB_ALTER_USER_SYSINFO, &yymsp[0].minor.yy0); } +{ pCxt->pRootNode = createAlterUserStmt(pCxt, &yymsp[-2].minor.yy479, TSDB_ALTER_USER_SYSINFO, &yymsp[0].minor.yy0); } break; - case 33: /* cmd ::= ALTER USER user_name ADD white_list */ -{ pCxt->pRootNode = createAlterUserStmt(pCxt, &yymsp[-2].minor.yy649, TSDB_ALTER_USER_ADD_WHITE_LIST, yymsp[0].minor.yy748); } + case 33: /* cmd ::= ALTER USER user_name CREATEDB NK_INTEGER */ +{ pCxt->pRootNode = createAlterUserStmt(pCxt, &yymsp[-2].minor.yy479, TSDB_ALTER_USER_CREATEDB, &yymsp[0].minor.yy0); } break; - case 34: /* cmd ::= ALTER USER user_name DROP white_list */ -{ pCxt->pRootNode = createAlterUserStmt(pCxt, &yymsp[-2].minor.yy649, TSDB_ALTER_USER_DROP_WHITE_LIST, yymsp[0].minor.yy748); } + case 34: /* cmd ::= ALTER USER user_name ADD white_list */ +{ pCxt->pRootNode = createAlterUserStmt(pCxt, &yymsp[-2].minor.yy479, TSDB_ALTER_USER_ADD_WHITE_LIST, yymsp[0].minor.yy34); } break; - case 35: /* cmd ::= DROP USER user_name */ -{ pCxt->pRootNode = createDropUserStmt(pCxt, &yymsp[0].minor.yy649); } + case 35: /* cmd ::= ALTER USER user_name DROP white_list */ +{ pCxt->pRootNode = createAlterUserStmt(pCxt, &yymsp[-2].minor.yy479, TSDB_ALTER_USER_DROP_WHITE_LIST, yymsp[0].minor.yy34); } break; - case 36: /* sysinfo_opt ::= */ -{ yymsp[1].minor.yy663 = 1; } + case 36: /* cmd ::= DROP USER user_name */ +{ pCxt->pRootNode = createDropUserStmt(pCxt, &yymsp[0].minor.yy479); } break; - case 37: /* sysinfo_opt ::= SYSINFO NK_INTEGER */ -{ yymsp[-1].minor.yy663 = taosStr2Int8(yymsp[0].minor.yy0.z, NULL, 10); } + case 37: /* sysinfo_opt ::= */ +{ yymsp[1].minor.yy323 = 1; } break; - case 38: /* cmd ::= GRANT privileges ON priv_level with_opt TO user_name */ -{ pCxt->pRootNode = createGrantStmt(pCxt, yymsp[-5].minor.yy941, &yymsp[-3].minor.yy781, &yymsp[0].minor.yy649, yymsp[-2].minor.yy600); } + case 38: /* sysinfo_opt ::= SYSINFO NK_INTEGER */ +{ yymsp[-1].minor.yy323 = taosStr2Int8(yymsp[0].minor.yy0.z, NULL, 10); } break; - case 39: /* cmd ::= REVOKE privileges ON priv_level with_opt FROM user_name */ -{ pCxt->pRootNode = createRevokeStmt(pCxt, yymsp[-5].minor.yy941, &yymsp[-3].minor.yy781, &yymsp[0].minor.yy649, yymsp[-2].minor.yy600); } + case 39: /* cmd ::= GRANT privileges ON priv_level with_opt TO user_name */ +{ pCxt->pRootNode = createGrantStmt(pCxt, yymsp[-5].minor.yy579, &yymsp[-3].minor.yy687, &yymsp[0].minor.yy479, yymsp[-2].minor.yy452); } break; - case 40: /* privileges ::= ALL */ -{ yymsp[0].minor.yy941 = PRIVILEGE_TYPE_ALL; } + case 40: /* cmd ::= REVOKE privileges ON priv_level with_opt FROM user_name */ +{ pCxt->pRootNode = createRevokeStmt(pCxt, yymsp[-5].minor.yy579, &yymsp[-3].minor.yy687, &yymsp[0].minor.yy479, yymsp[-2].minor.yy452); } break; - case 41: /* privileges ::= priv_type_list */ - case 43: /* priv_type_list ::= priv_type */ yytestcase(yyruleno==43); -{ yylhsminor.yy941 = yymsp[0].minor.yy941; } - yymsp[0].minor.yy941 = yylhsminor.yy941; + case 41: /* privileges ::= ALL */ +{ yymsp[0].minor.yy579 = PRIVILEGE_TYPE_ALL; } break; - case 42: /* privileges ::= SUBSCRIBE */ -{ yymsp[0].minor.yy941 = PRIVILEGE_TYPE_SUBSCRIBE; } + case 42: /* privileges ::= priv_type_list */ + case 44: /* priv_type_list ::= priv_type */ yytestcase(yyruleno==44); +{ yylhsminor.yy579 = yymsp[0].minor.yy579; } + yymsp[0].minor.yy579 = yylhsminor.yy579; break; - case 44: /* priv_type_list ::= priv_type_list NK_COMMA priv_type */ -{ yylhsminor.yy941 = yymsp[-2].minor.yy941 | yymsp[0].minor.yy941; } - yymsp[-2].minor.yy941 = yylhsminor.yy941; + case 43: /* privileges ::= SUBSCRIBE */ +{ yymsp[0].minor.yy579 = PRIVILEGE_TYPE_SUBSCRIBE; } break; - case 45: /* priv_type ::= READ */ -{ yymsp[0].minor.yy941 = PRIVILEGE_TYPE_READ; } + case 45: /* priv_type_list ::= priv_type_list NK_COMMA priv_type */ +{ yylhsminor.yy579 = yymsp[-2].minor.yy579 | yymsp[0].minor.yy579; } + yymsp[-2].minor.yy579 = yylhsminor.yy579; break; - case 46: /* priv_type ::= WRITE */ -{ yymsp[0].minor.yy941 = PRIVILEGE_TYPE_WRITE; } + case 46: /* priv_type ::= READ */ +{ yymsp[0].minor.yy579 = PRIVILEGE_TYPE_READ; } break; - case 47: /* priv_type ::= ALTER */ -{ yymsp[0].minor.yy941 = PRIVILEGE_TYPE_ALTER; } + case 47: /* priv_type ::= WRITE */ +{ yymsp[0].minor.yy579 = PRIVILEGE_TYPE_WRITE; } break; - case 48: /* priv_level ::= NK_STAR NK_DOT NK_STAR */ -{ yylhsminor.yy781.first = yymsp[-2].minor.yy0; yylhsminor.yy781.second = yymsp[0].minor.yy0; } - yymsp[-2].minor.yy781 = yylhsminor.yy781; + case 48: /* priv_type ::= ALTER */ +{ yymsp[0].minor.yy579 = PRIVILEGE_TYPE_ALTER; } break; - case 49: /* priv_level ::= db_name NK_DOT NK_STAR */ -{ yylhsminor.yy781.first = yymsp[-2].minor.yy649; yylhsminor.yy781.second = yymsp[0].minor.yy0; } - yymsp[-2].minor.yy781 = yylhsminor.yy781; + case 49: /* priv_level ::= NK_STAR NK_DOT NK_STAR */ +{ yylhsminor.yy687.first = yymsp[-2].minor.yy0; yylhsminor.yy687.second = yymsp[0].minor.yy0; } + yymsp[-2].minor.yy687 = yylhsminor.yy687; break; - case 50: /* priv_level ::= db_name NK_DOT table_name */ -{ yylhsminor.yy781.first = yymsp[-2].minor.yy649; yylhsminor.yy781.second = yymsp[0].minor.yy649; } - yymsp[-2].minor.yy781 = yylhsminor.yy781; + case 50: /* priv_level ::= db_name NK_DOT NK_STAR */ +{ yylhsminor.yy687.first = yymsp[-2].minor.yy479; yylhsminor.yy687.second = yymsp[0].minor.yy0; } + yymsp[-2].minor.yy687 = yylhsminor.yy687; break; - case 51: /* priv_level ::= topic_name */ -{ yylhsminor.yy781.first = yymsp[0].minor.yy649; yylhsminor.yy781.second = nil_token; } - yymsp[0].minor.yy781 = yylhsminor.yy781; + case 51: /* priv_level ::= db_name NK_DOT table_name */ +{ yylhsminor.yy687.first = yymsp[-2].minor.yy479; yylhsminor.yy687.second = yymsp[0].minor.yy479; } + yymsp[-2].minor.yy687 = yylhsminor.yy687; break; - case 52: /* with_opt ::= */ - case 168: /* start_opt ::= */ yytestcase(yyruleno==168); - case 172: /* end_opt ::= */ yytestcase(yyruleno==172); - case 323: /* like_pattern_opt ::= */ yytestcase(yyruleno==323); - case 420: /* subtable_opt ::= */ yytestcase(yyruleno==420); - case 589: /* case_when_else_opt ::= */ yytestcase(yyruleno==589); - case 619: /* from_clause_opt ::= */ yytestcase(yyruleno==619); - case 646: /* join_on_clause_opt ::= */ yytestcase(yyruleno==646); - case 648: /* window_offset_clause_opt ::= */ yytestcase(yyruleno==648); - case 652: /* jlimit_clause_opt ::= */ yytestcase(yyruleno==652); - case 669: /* where_clause_opt ::= */ yytestcase(yyruleno==669); - case 678: /* twindow_clause_opt ::= */ yytestcase(yyruleno==678); - case 686: /* sliding_opt ::= */ yytestcase(yyruleno==686); - case 691: /* fill_opt ::= */ yytestcase(yyruleno==691); - case 705: /* having_clause_opt ::= */ yytestcase(yyruleno==705); - case 707: /* range_opt ::= */ yytestcase(yyruleno==707); - case 710: /* every_opt ::= */ yytestcase(yyruleno==710); - case 723: /* slimit_clause_opt ::= */ yytestcase(yyruleno==723); - case 727: /* limit_clause_opt ::= */ yytestcase(yyruleno==727); -{ yymsp[1].minor.yy600 = NULL; } + case 52: /* priv_level ::= topic_name */ +{ yylhsminor.yy687.first = yymsp[0].minor.yy479; yylhsminor.yy687.second = nil_token; } + yymsp[0].minor.yy687 = yylhsminor.yy687; break; - case 53: /* with_opt ::= WITH search_condition */ - case 620: /* from_clause_opt ::= FROM table_reference_list */ yytestcase(yyruleno==620); - case 647: /* join_on_clause_opt ::= ON search_condition */ yytestcase(yyruleno==647); - case 670: /* where_clause_opt ::= WHERE search_condition */ yytestcase(yyruleno==670); - case 706: /* having_clause_opt ::= HAVING search_condition */ yytestcase(yyruleno==706); -{ yymsp[-1].minor.yy600 = yymsp[0].minor.yy600; } + case 53: /* with_opt ::= */ + case 169: /* start_opt ::= */ yytestcase(yyruleno==169); + case 173: /* end_opt ::= */ yytestcase(yyruleno==173); + case 324: /* like_pattern_opt ::= */ yytestcase(yyruleno==324); + case 421: /* subtable_opt ::= */ yytestcase(yyruleno==421); + case 590: /* case_when_else_opt ::= */ yytestcase(yyruleno==590); + case 620: /* from_clause_opt ::= */ yytestcase(yyruleno==620); + case 647: /* join_on_clause_opt ::= */ yytestcase(yyruleno==647); + case 649: /* window_offset_clause_opt ::= */ yytestcase(yyruleno==649); + case 653: /* jlimit_clause_opt ::= */ yytestcase(yyruleno==653); + case 670: /* where_clause_opt ::= */ yytestcase(yyruleno==670); + case 679: /* twindow_clause_opt ::= */ yytestcase(yyruleno==679); + case 687: /* sliding_opt ::= */ yytestcase(yyruleno==687); + case 692: /* fill_opt ::= */ yytestcase(yyruleno==692); + case 706: /* having_clause_opt ::= */ yytestcase(yyruleno==706); + case 708: /* range_opt ::= */ yytestcase(yyruleno==708); + case 711: /* every_opt ::= */ yytestcase(yyruleno==711); + case 724: /* slimit_clause_opt ::= */ yytestcase(yyruleno==724); + case 728: /* limit_clause_opt ::= */ yytestcase(yyruleno==728); +{ yymsp[1].minor.yy452 = NULL; } break; - case 54: /* cmd ::= CREATE ENCRYPT_KEY NK_STRING */ + case 54: /* with_opt ::= WITH search_condition */ + case 621: /* from_clause_opt ::= FROM table_reference_list */ yytestcase(yyruleno==621); + case 648: /* join_on_clause_opt ::= ON search_condition */ yytestcase(yyruleno==648); + case 671: /* where_clause_opt ::= WHERE search_condition */ yytestcase(yyruleno==671); + case 707: /* having_clause_opt ::= HAVING search_condition */ yytestcase(yyruleno==707); +{ yymsp[-1].minor.yy452 = yymsp[0].minor.yy452; } + break; + case 55: /* cmd ::= CREATE ENCRYPT_KEY NK_STRING */ { pCxt->pRootNode = createEncryptKeyStmt(pCxt, &yymsp[0].minor.yy0); } break; - case 55: /* cmd ::= CREATE DNODE dnode_endpoint */ -{ pCxt->pRootNode = createCreateDnodeStmt(pCxt, &yymsp[0].minor.yy649, NULL); } + case 56: /* cmd ::= CREATE DNODE dnode_endpoint */ +{ pCxt->pRootNode = createCreateDnodeStmt(pCxt, &yymsp[0].minor.yy479, NULL); } break; - case 56: /* cmd ::= CREATE DNODE dnode_endpoint PORT NK_INTEGER */ -{ pCxt->pRootNode = createCreateDnodeStmt(pCxt, &yymsp[-2].minor.yy649, &yymsp[0].minor.yy0); } + case 57: /* cmd ::= CREATE DNODE dnode_endpoint PORT NK_INTEGER */ +{ pCxt->pRootNode = createCreateDnodeStmt(pCxt, &yymsp[-2].minor.yy479, &yymsp[0].minor.yy0); } break; - case 57: /* cmd ::= DROP DNODE NK_INTEGER force_opt */ -{ pCxt->pRootNode = createDropDnodeStmt(pCxt, &yymsp[-1].minor.yy0, yymsp[0].minor.yy705, false); } + case 58: /* cmd ::= DROP DNODE NK_INTEGER force_opt */ +{ pCxt->pRootNode = createDropDnodeStmt(pCxt, &yymsp[-1].minor.yy0, yymsp[0].minor.yy437, false); } break; - case 58: /* cmd ::= DROP DNODE dnode_endpoint force_opt */ -{ pCxt->pRootNode = createDropDnodeStmt(pCxt, &yymsp[-1].minor.yy649, yymsp[0].minor.yy705, false); } + case 59: /* cmd ::= DROP DNODE dnode_endpoint force_opt */ +{ pCxt->pRootNode = createDropDnodeStmt(pCxt, &yymsp[-1].minor.yy479, yymsp[0].minor.yy437, false); } break; - case 59: /* cmd ::= DROP DNODE NK_INTEGER unsafe_opt */ -{ pCxt->pRootNode = createDropDnodeStmt(pCxt, &yymsp[-1].minor.yy0, false, yymsp[0].minor.yy705); } + case 60: /* cmd ::= DROP DNODE NK_INTEGER unsafe_opt */ +{ pCxt->pRootNode = createDropDnodeStmt(pCxt, &yymsp[-1].minor.yy0, false, yymsp[0].minor.yy437); } break; - case 60: /* cmd ::= DROP DNODE dnode_endpoint unsafe_opt */ -{ pCxt->pRootNode = createDropDnodeStmt(pCxt, &yymsp[-1].minor.yy649, false, yymsp[0].minor.yy705); } + case 61: /* cmd ::= DROP DNODE dnode_endpoint unsafe_opt */ +{ pCxt->pRootNode = createDropDnodeStmt(pCxt, &yymsp[-1].minor.yy479, false, yymsp[0].minor.yy437); } break; - case 61: /* cmd ::= ALTER DNODE NK_INTEGER NK_STRING */ + case 62: /* cmd ::= ALTER DNODE NK_INTEGER NK_STRING */ { pCxt->pRootNode = createAlterDnodeStmt(pCxt, &yymsp[-1].minor.yy0, &yymsp[0].minor.yy0, NULL); } break; - case 62: /* cmd ::= ALTER DNODE NK_INTEGER NK_STRING NK_STRING */ + case 63: /* cmd ::= ALTER DNODE NK_INTEGER NK_STRING NK_STRING */ { pCxt->pRootNode = createAlterDnodeStmt(pCxt, &yymsp[-2].minor.yy0, &yymsp[-1].minor.yy0, &yymsp[0].minor.yy0); } break; - case 63: /* cmd ::= ALTER ALL DNODES NK_STRING */ + case 64: /* cmd ::= ALTER ALL DNODES NK_STRING */ { pCxt->pRootNode = createAlterDnodeStmt(pCxt, NULL, &yymsp[0].minor.yy0, NULL); } break; - case 64: /* cmd ::= ALTER ALL DNODES NK_STRING NK_STRING */ + case 65: /* cmd ::= ALTER ALL DNODES NK_STRING NK_STRING */ { pCxt->pRootNode = createAlterDnodeStmt(pCxt, NULL, &yymsp[-1].minor.yy0, &yymsp[0].minor.yy0); } break; - case 65: /* cmd ::= RESTORE DNODE NK_INTEGER */ + case 66: /* cmd ::= RESTORE DNODE NK_INTEGER */ { pCxt->pRootNode = createRestoreComponentNodeStmt(pCxt, QUERY_NODE_RESTORE_DNODE_STMT, &yymsp[0].minor.yy0); } break; - case 66: /* dnode_endpoint ::= NK_STRING */ - case 67: /* dnode_endpoint ::= NK_ID */ yytestcase(yyruleno==67); - case 68: /* dnode_endpoint ::= NK_IPTOKEN */ yytestcase(yyruleno==68); - case 357: /* sma_func_name ::= COUNT */ yytestcase(yyruleno==357); - case 358: /* sma_func_name ::= FIRST */ yytestcase(yyruleno==358); - case 359: /* sma_func_name ::= LAST */ yytestcase(yyruleno==359); - case 360: /* sma_func_name ::= LAST_ROW */ yytestcase(yyruleno==360); - case 508: /* db_name ::= NK_ID */ yytestcase(yyruleno==508); - case 509: /* table_name ::= NK_ID */ yytestcase(yyruleno==509); - case 510: /* column_name ::= NK_ID */ yytestcase(yyruleno==510); - case 511: /* function_name ::= NK_ID */ yytestcase(yyruleno==511); - case 512: /* view_name ::= NK_ID */ yytestcase(yyruleno==512); - case 513: /* table_alias ::= NK_ID */ yytestcase(yyruleno==513); - case 514: /* column_alias ::= NK_ID */ yytestcase(yyruleno==514); - case 515: /* column_alias ::= NK_ALIAS */ yytestcase(yyruleno==515); - case 516: /* user_name ::= NK_ID */ yytestcase(yyruleno==516); - case 517: /* topic_name ::= NK_ID */ yytestcase(yyruleno==517); - case 518: /* stream_name ::= NK_ID */ yytestcase(yyruleno==518); - case 519: /* cgroup_name ::= NK_ID */ yytestcase(yyruleno==519); - case 520: /* index_name ::= NK_ID */ yytestcase(yyruleno==520); - case 521: /* tsma_name ::= NK_ID */ yytestcase(yyruleno==521); - case 565: /* noarg_func ::= NOW */ yytestcase(yyruleno==565); - case 566: /* noarg_func ::= TODAY */ yytestcase(yyruleno==566); - case 567: /* noarg_func ::= TIMEZONE */ yytestcase(yyruleno==567); - case 568: /* noarg_func ::= DATABASE */ yytestcase(yyruleno==568); - case 569: /* noarg_func ::= CLIENT_VERSION */ yytestcase(yyruleno==569); - case 570: /* noarg_func ::= SERVER_VERSION */ yytestcase(yyruleno==570); - case 571: /* noarg_func ::= SERVER_STATUS */ yytestcase(yyruleno==571); - case 572: /* noarg_func ::= CURRENT_USER */ yytestcase(yyruleno==572); - case 573: /* noarg_func ::= USER */ yytestcase(yyruleno==573); - case 574: /* star_func ::= COUNT */ yytestcase(yyruleno==574); - case 575: /* star_func ::= FIRST */ yytestcase(yyruleno==575); - case 576: /* star_func ::= LAST */ yytestcase(yyruleno==576); - case 577: /* star_func ::= LAST_ROW */ yytestcase(yyruleno==577); -{ yylhsminor.yy649 = yymsp[0].minor.yy0; } - yymsp[0].minor.yy649 = yylhsminor.yy649; + case 67: /* dnode_endpoint ::= NK_STRING */ + case 68: /* dnode_endpoint ::= NK_ID */ yytestcase(yyruleno==68); + case 69: /* dnode_endpoint ::= NK_IPTOKEN */ yytestcase(yyruleno==69); + case 358: /* sma_func_name ::= COUNT */ yytestcase(yyruleno==358); + case 359: /* sma_func_name ::= FIRST */ yytestcase(yyruleno==359); + case 360: /* sma_func_name ::= LAST */ yytestcase(yyruleno==360); + case 361: /* sma_func_name ::= LAST_ROW */ yytestcase(yyruleno==361); + case 509: /* db_name ::= NK_ID */ yytestcase(yyruleno==509); + case 510: /* table_name ::= NK_ID */ yytestcase(yyruleno==510); + case 511: /* column_name ::= NK_ID */ yytestcase(yyruleno==511); + case 512: /* function_name ::= NK_ID */ yytestcase(yyruleno==512); + case 513: /* view_name ::= NK_ID */ yytestcase(yyruleno==513); + case 514: /* table_alias ::= NK_ID */ yytestcase(yyruleno==514); + case 515: /* column_alias ::= NK_ID */ yytestcase(yyruleno==515); + case 516: /* column_alias ::= NK_ALIAS */ yytestcase(yyruleno==516); + case 517: /* user_name ::= NK_ID */ yytestcase(yyruleno==517); + case 518: /* topic_name ::= NK_ID */ yytestcase(yyruleno==518); + case 519: /* stream_name ::= NK_ID */ yytestcase(yyruleno==519); + case 520: /* cgroup_name ::= NK_ID */ yytestcase(yyruleno==520); + case 521: /* index_name ::= NK_ID */ yytestcase(yyruleno==521); + case 522: /* tsma_name ::= NK_ID */ yytestcase(yyruleno==522); + case 566: /* noarg_func ::= NOW */ yytestcase(yyruleno==566); + case 567: /* noarg_func ::= TODAY */ yytestcase(yyruleno==567); + case 568: /* noarg_func ::= TIMEZONE */ yytestcase(yyruleno==568); + case 569: /* noarg_func ::= DATABASE */ yytestcase(yyruleno==569); + case 570: /* noarg_func ::= CLIENT_VERSION */ yytestcase(yyruleno==570); + case 571: /* noarg_func ::= SERVER_VERSION */ yytestcase(yyruleno==571); + case 572: /* noarg_func ::= SERVER_STATUS */ yytestcase(yyruleno==572); + case 573: /* noarg_func ::= CURRENT_USER */ yytestcase(yyruleno==573); + case 574: /* noarg_func ::= USER */ yytestcase(yyruleno==574); + case 575: /* star_func ::= COUNT */ yytestcase(yyruleno==575); + case 576: /* star_func ::= FIRST */ yytestcase(yyruleno==576); + case 577: /* star_func ::= LAST */ yytestcase(yyruleno==577); + case 578: /* star_func ::= LAST_ROW */ yytestcase(yyruleno==578); +{ yylhsminor.yy479 = yymsp[0].minor.yy0; } + yymsp[0].minor.yy479 = yylhsminor.yy479; break; - case 69: /* force_opt ::= */ - case 96: /* not_exists_opt ::= */ yytestcase(yyruleno==96); - case 98: /* exists_opt ::= */ yytestcase(yyruleno==98); - case 378: /* analyze_opt ::= */ yytestcase(yyruleno==378); - case 385: /* agg_func_opt ::= */ yytestcase(yyruleno==385); - case 391: /* or_replace_opt ::= */ yytestcase(yyruleno==391); - case 422: /* ignore_opt ::= */ yytestcase(yyruleno==422); - case 657: /* tag_mode_opt ::= */ yytestcase(yyruleno==657); - case 659: /* set_quantifier_opt ::= */ yytestcase(yyruleno==659); -{ yymsp[1].minor.yy705 = false; } + case 70: /* force_opt ::= */ + case 97: /* not_exists_opt ::= */ yytestcase(yyruleno==97); + case 99: /* exists_opt ::= */ yytestcase(yyruleno==99); + case 379: /* analyze_opt ::= */ yytestcase(yyruleno==379); + case 386: /* agg_func_opt ::= */ yytestcase(yyruleno==386); + case 392: /* or_replace_opt ::= */ yytestcase(yyruleno==392); + case 423: /* ignore_opt ::= */ yytestcase(yyruleno==423); + case 658: /* tag_mode_opt ::= */ yytestcase(yyruleno==658); + case 660: /* set_quantifier_opt ::= */ yytestcase(yyruleno==660); +{ yymsp[1].minor.yy437 = false; } break; - case 70: /* force_opt ::= FORCE */ - case 71: /* unsafe_opt ::= UNSAFE */ yytestcase(yyruleno==71); - case 379: /* analyze_opt ::= ANALYZE */ yytestcase(yyruleno==379); - case 386: /* agg_func_opt ::= AGGREGATE */ yytestcase(yyruleno==386); - case 658: /* tag_mode_opt ::= TAGS */ yytestcase(yyruleno==658); - case 660: /* set_quantifier_opt ::= DISTINCT */ yytestcase(yyruleno==660); -{ yymsp[0].minor.yy705 = true; } + case 71: /* force_opt ::= FORCE */ + case 72: /* unsafe_opt ::= UNSAFE */ yytestcase(yyruleno==72); + case 380: /* analyze_opt ::= ANALYZE */ yytestcase(yyruleno==380); + case 387: /* agg_func_opt ::= AGGREGATE */ yytestcase(yyruleno==387); + case 659: /* tag_mode_opt ::= TAGS */ yytestcase(yyruleno==659); + case 661: /* set_quantifier_opt ::= DISTINCT */ yytestcase(yyruleno==661); +{ yymsp[0].minor.yy437 = true; } break; - case 72: /* cmd ::= ALTER CLUSTER NK_STRING */ + case 73: /* cmd ::= ALTER CLUSTER NK_STRING */ { pCxt->pRootNode = createAlterClusterStmt(pCxt, &yymsp[0].minor.yy0, NULL); } break; - case 73: /* cmd ::= ALTER CLUSTER NK_STRING NK_STRING */ + case 74: /* cmd ::= ALTER CLUSTER NK_STRING NK_STRING */ { pCxt->pRootNode = createAlterClusterStmt(pCxt, &yymsp[-1].minor.yy0, &yymsp[0].minor.yy0); } break; - case 74: /* cmd ::= ALTER LOCAL NK_STRING */ + case 75: /* cmd ::= ALTER LOCAL NK_STRING */ { pCxt->pRootNode = createAlterLocalStmt(pCxt, &yymsp[0].minor.yy0, NULL); } break; - case 75: /* cmd ::= ALTER LOCAL NK_STRING NK_STRING */ + case 76: /* cmd ::= ALTER LOCAL NK_STRING NK_STRING */ { pCxt->pRootNode = createAlterLocalStmt(pCxt, &yymsp[-1].minor.yy0, &yymsp[0].minor.yy0); } break; - case 76: /* cmd ::= CREATE QNODE ON DNODE NK_INTEGER */ + case 77: /* cmd ::= CREATE QNODE ON DNODE NK_INTEGER */ { pCxt->pRootNode = createCreateComponentNodeStmt(pCxt, QUERY_NODE_CREATE_QNODE_STMT, &yymsp[0].minor.yy0); } break; - case 77: /* cmd ::= DROP QNODE ON DNODE NK_INTEGER */ + case 78: /* cmd ::= DROP QNODE ON DNODE NK_INTEGER */ { pCxt->pRootNode = createDropComponentNodeStmt(pCxt, QUERY_NODE_DROP_QNODE_STMT, &yymsp[0].minor.yy0); } break; - case 78: /* cmd ::= RESTORE QNODE ON DNODE NK_INTEGER */ + case 79: /* cmd ::= RESTORE QNODE ON DNODE NK_INTEGER */ { pCxt->pRootNode = createRestoreComponentNodeStmt(pCxt, QUERY_NODE_RESTORE_QNODE_STMT, &yymsp[0].minor.yy0); } break; - case 79: /* cmd ::= CREATE BNODE ON DNODE NK_INTEGER */ + case 80: /* cmd ::= CREATE BNODE ON DNODE NK_INTEGER */ { pCxt->pRootNode = createCreateComponentNodeStmt(pCxt, QUERY_NODE_CREATE_BNODE_STMT, &yymsp[0].minor.yy0); } break; - case 80: /* cmd ::= DROP BNODE ON DNODE NK_INTEGER */ + case 81: /* cmd ::= DROP BNODE ON DNODE NK_INTEGER */ { pCxt->pRootNode = createDropComponentNodeStmt(pCxt, QUERY_NODE_DROP_BNODE_STMT, &yymsp[0].minor.yy0); } break; - case 81: /* cmd ::= CREATE SNODE ON DNODE NK_INTEGER */ + case 82: /* cmd ::= CREATE SNODE ON DNODE NK_INTEGER */ { pCxt->pRootNode = createCreateComponentNodeStmt(pCxt, QUERY_NODE_CREATE_SNODE_STMT, &yymsp[0].minor.yy0); } break; - case 82: /* cmd ::= DROP SNODE ON DNODE NK_INTEGER */ + case 83: /* cmd ::= DROP SNODE ON DNODE NK_INTEGER */ { pCxt->pRootNode = createDropComponentNodeStmt(pCxt, QUERY_NODE_DROP_SNODE_STMT, &yymsp[0].minor.yy0); } break; - case 83: /* cmd ::= CREATE MNODE ON DNODE NK_INTEGER */ + case 84: /* cmd ::= CREATE MNODE ON DNODE NK_INTEGER */ { pCxt->pRootNode = createCreateComponentNodeStmt(pCxt, QUERY_NODE_CREATE_MNODE_STMT, &yymsp[0].minor.yy0); } break; - case 84: /* cmd ::= DROP MNODE ON DNODE NK_INTEGER */ + case 85: /* cmd ::= DROP MNODE ON DNODE NK_INTEGER */ { pCxt->pRootNode = createDropComponentNodeStmt(pCxt, QUERY_NODE_DROP_MNODE_STMT, &yymsp[0].minor.yy0); } break; - case 85: /* cmd ::= RESTORE MNODE ON DNODE NK_INTEGER */ + case 86: /* cmd ::= RESTORE MNODE ON DNODE NK_INTEGER */ { pCxt->pRootNode = createRestoreComponentNodeStmt(pCxt, QUERY_NODE_RESTORE_MNODE_STMT, &yymsp[0].minor.yy0); } break; - case 86: /* cmd ::= RESTORE VNODE ON DNODE NK_INTEGER */ + case 87: /* cmd ::= RESTORE VNODE ON DNODE NK_INTEGER */ { pCxt->pRootNode = createRestoreComponentNodeStmt(pCxt, QUERY_NODE_RESTORE_VNODE_STMT, &yymsp[0].minor.yy0); } break; - case 87: /* cmd ::= CREATE DATABASE not_exists_opt db_name db_options */ -{ pCxt->pRootNode = createCreateDatabaseStmt(pCxt, yymsp[-2].minor.yy705, &yymsp[-1].minor.yy649, yymsp[0].minor.yy600); } + case 88: /* cmd ::= CREATE DATABASE not_exists_opt db_name db_options */ +{ pCxt->pRootNode = createCreateDatabaseStmt(pCxt, yymsp[-2].minor.yy437, &yymsp[-1].minor.yy479, yymsp[0].minor.yy452); } break; - case 88: /* cmd ::= DROP DATABASE exists_opt db_name */ -{ pCxt->pRootNode = createDropDatabaseStmt(pCxt, yymsp[-1].minor.yy705, &yymsp[0].minor.yy649); } + case 89: /* cmd ::= DROP DATABASE exists_opt db_name */ +{ pCxt->pRootNode = createDropDatabaseStmt(pCxt, yymsp[-1].minor.yy437, &yymsp[0].minor.yy479); } break; - case 89: /* cmd ::= USE db_name */ -{ pCxt->pRootNode = createUseDatabaseStmt(pCxt, &yymsp[0].minor.yy649); } + case 90: /* cmd ::= USE db_name */ +{ pCxt->pRootNode = createUseDatabaseStmt(pCxt, &yymsp[0].minor.yy479); } break; - case 90: /* cmd ::= ALTER DATABASE db_name alter_db_options */ -{ pCxt->pRootNode = createAlterDatabaseStmt(pCxt, &yymsp[-1].minor.yy649, yymsp[0].minor.yy600); } + case 91: /* cmd ::= ALTER DATABASE db_name alter_db_options */ +{ pCxt->pRootNode = createAlterDatabaseStmt(pCxt, &yymsp[-1].minor.yy479, yymsp[0].minor.yy452); } break; - case 91: /* cmd ::= FLUSH DATABASE db_name */ -{ pCxt->pRootNode = createFlushDatabaseStmt(pCxt, &yymsp[0].minor.yy649); } + case 92: /* cmd ::= FLUSH DATABASE db_name */ +{ pCxt->pRootNode = createFlushDatabaseStmt(pCxt, &yymsp[0].minor.yy479); } break; - case 92: /* cmd ::= TRIM DATABASE db_name speed_opt */ -{ pCxt->pRootNode = createTrimDatabaseStmt(pCxt, &yymsp[-1].minor.yy649, yymsp[0].minor.yy756); } + case 93: /* cmd ::= TRIM DATABASE db_name speed_opt */ +{ pCxt->pRootNode = createTrimDatabaseStmt(pCxt, &yymsp[-1].minor.yy479, yymsp[0].minor.yy100); } break; - case 93: /* cmd ::= S3MIGRATE DATABASE db_name */ -{ pCxt->pRootNode = createS3MigrateDatabaseStmt(pCxt, &yymsp[0].minor.yy649); } + case 94: /* cmd ::= S3MIGRATE DATABASE db_name */ +{ pCxt->pRootNode = createS3MigrateDatabaseStmt(pCxt, &yymsp[0].minor.yy479); } break; - case 94: /* cmd ::= COMPACT DATABASE db_name start_opt end_opt */ -{ pCxt->pRootNode = createCompactStmt(pCxt, &yymsp[-2].minor.yy649, yymsp[-1].minor.yy600, yymsp[0].minor.yy600); } + case 95: /* cmd ::= COMPACT DATABASE db_name start_opt end_opt */ +{ pCxt->pRootNode = createCompactStmt(pCxt, &yymsp[-2].minor.yy479, yymsp[-1].minor.yy452, yymsp[0].minor.yy452); } break; - case 95: /* not_exists_opt ::= IF NOT EXISTS */ -{ yymsp[-2].minor.yy705 = true; } + case 96: /* not_exists_opt ::= IF NOT EXISTS */ +{ yymsp[-2].minor.yy437 = true; } break; - case 97: /* exists_opt ::= IF EXISTS */ - case 392: /* or_replace_opt ::= OR REPLACE */ yytestcase(yyruleno==392); - case 423: /* ignore_opt ::= IGNORE UNTREATED */ yytestcase(yyruleno==423); -{ yymsp[-1].minor.yy705 = true; } + case 98: /* exists_opt ::= IF EXISTS */ + case 393: /* or_replace_opt ::= OR REPLACE */ yytestcase(yyruleno==393); + case 424: /* ignore_opt ::= IGNORE UNTREATED */ yytestcase(yyruleno==424); +{ yymsp[-1].minor.yy437 = true; } break; - case 99: /* db_options ::= */ -{ yymsp[1].minor.yy600 = createDefaultDatabaseOptions(pCxt); } + case 100: /* db_options ::= */ +{ yymsp[1].minor.yy452 = createDefaultDatabaseOptions(pCxt); } break; - case 100: /* db_options ::= db_options BUFFER NK_INTEGER */ -{ yylhsminor.yy600 = setDatabaseOption(pCxt, yymsp[-2].minor.yy600, DB_OPTION_BUFFER, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy600 = yylhsminor.yy600; + case 101: /* db_options ::= db_options BUFFER NK_INTEGER */ +{ yylhsminor.yy452 = setDatabaseOption(pCxt, yymsp[-2].minor.yy452, DB_OPTION_BUFFER, &yymsp[0].minor.yy0); } + yymsp[-2].minor.yy452 = yylhsminor.yy452; break; - case 101: /* db_options ::= db_options CACHEMODEL NK_STRING */ -{ yylhsminor.yy600 = setDatabaseOption(pCxt, yymsp[-2].minor.yy600, DB_OPTION_CACHEMODEL, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy600 = yylhsminor.yy600; + case 102: /* db_options ::= db_options CACHEMODEL NK_STRING */ +{ yylhsminor.yy452 = setDatabaseOption(pCxt, yymsp[-2].minor.yy452, DB_OPTION_CACHEMODEL, &yymsp[0].minor.yy0); } + yymsp[-2].minor.yy452 = yylhsminor.yy452; break; - case 102: /* db_options ::= db_options CACHESIZE NK_INTEGER */ -{ yylhsminor.yy600 = setDatabaseOption(pCxt, yymsp[-2].minor.yy600, DB_OPTION_CACHESIZE, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy600 = yylhsminor.yy600; + case 103: /* db_options ::= db_options CACHESIZE NK_INTEGER */ +{ yylhsminor.yy452 = setDatabaseOption(pCxt, yymsp[-2].minor.yy452, DB_OPTION_CACHESIZE, &yymsp[0].minor.yy0); } + yymsp[-2].minor.yy452 = yylhsminor.yy452; break; - case 103: /* db_options ::= db_options COMP NK_INTEGER */ -{ yylhsminor.yy600 = setDatabaseOption(pCxt, yymsp[-2].minor.yy600, DB_OPTION_COMP, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy600 = yylhsminor.yy600; + case 104: /* db_options ::= db_options COMP NK_INTEGER */ +{ yylhsminor.yy452 = setDatabaseOption(pCxt, yymsp[-2].minor.yy452, DB_OPTION_COMP, &yymsp[0].minor.yy0); } + yymsp[-2].minor.yy452 = yylhsminor.yy452; break; - case 104: /* db_options ::= db_options DURATION NK_INTEGER */ - case 105: /* db_options ::= db_options DURATION NK_VARIABLE */ yytestcase(yyruleno==105); -{ yylhsminor.yy600 = setDatabaseOption(pCxt, yymsp[-2].minor.yy600, DB_OPTION_DAYS, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy600 = yylhsminor.yy600; + case 105: /* db_options ::= db_options DURATION NK_INTEGER */ + case 106: /* db_options ::= db_options DURATION NK_VARIABLE */ yytestcase(yyruleno==106); +{ yylhsminor.yy452 = setDatabaseOption(pCxt, yymsp[-2].minor.yy452, DB_OPTION_DAYS, &yymsp[0].minor.yy0); } + yymsp[-2].minor.yy452 = yylhsminor.yy452; break; - case 106: /* db_options ::= db_options MAXROWS NK_INTEGER */ -{ yylhsminor.yy600 = setDatabaseOption(pCxt, yymsp[-2].minor.yy600, DB_OPTION_MAXROWS, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy600 = yylhsminor.yy600; + case 107: /* db_options ::= db_options MAXROWS NK_INTEGER */ +{ yylhsminor.yy452 = setDatabaseOption(pCxt, yymsp[-2].minor.yy452, DB_OPTION_MAXROWS, &yymsp[0].minor.yy0); } + yymsp[-2].minor.yy452 = yylhsminor.yy452; break; - case 107: /* db_options ::= db_options MINROWS NK_INTEGER */ -{ yylhsminor.yy600 = setDatabaseOption(pCxt, yymsp[-2].minor.yy600, DB_OPTION_MINROWS, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy600 = yylhsminor.yy600; + case 108: /* db_options ::= db_options MINROWS NK_INTEGER */ +{ yylhsminor.yy452 = setDatabaseOption(pCxt, yymsp[-2].minor.yy452, DB_OPTION_MINROWS, &yymsp[0].minor.yy0); } + yymsp[-2].minor.yy452 = yylhsminor.yy452; break; - case 108: /* db_options ::= db_options KEEP integer_list */ - case 109: /* db_options ::= db_options KEEP variable_list */ yytestcase(yyruleno==109); -{ yylhsminor.yy600 = setDatabaseOption(pCxt, yymsp[-2].minor.yy600, DB_OPTION_KEEP, yymsp[0].minor.yy748); } - yymsp[-2].minor.yy600 = yylhsminor.yy600; + case 109: /* db_options ::= db_options KEEP integer_list */ + case 110: /* db_options ::= db_options KEEP variable_list */ yytestcase(yyruleno==110); +{ yylhsminor.yy452 = setDatabaseOption(pCxt, yymsp[-2].minor.yy452, DB_OPTION_KEEP, yymsp[0].minor.yy34); } + yymsp[-2].minor.yy452 = yylhsminor.yy452; break; - case 110: /* db_options ::= db_options PAGES NK_INTEGER */ -{ yylhsminor.yy600 = setDatabaseOption(pCxt, yymsp[-2].minor.yy600, DB_OPTION_PAGES, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy600 = yylhsminor.yy600; + case 111: /* db_options ::= db_options PAGES NK_INTEGER */ +{ yylhsminor.yy452 = setDatabaseOption(pCxt, yymsp[-2].minor.yy452, DB_OPTION_PAGES, &yymsp[0].minor.yy0); } + yymsp[-2].minor.yy452 = yylhsminor.yy452; break; - case 111: /* db_options ::= db_options PAGESIZE NK_INTEGER */ -{ yylhsminor.yy600 = setDatabaseOption(pCxt, yymsp[-2].minor.yy600, DB_OPTION_PAGESIZE, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy600 = yylhsminor.yy600; + case 112: /* db_options ::= db_options PAGESIZE NK_INTEGER */ +{ yylhsminor.yy452 = setDatabaseOption(pCxt, yymsp[-2].minor.yy452, DB_OPTION_PAGESIZE, &yymsp[0].minor.yy0); } + yymsp[-2].minor.yy452 = yylhsminor.yy452; break; - case 112: /* db_options ::= db_options TSDB_PAGESIZE NK_INTEGER */ -{ yylhsminor.yy600 = setDatabaseOption(pCxt, yymsp[-2].minor.yy600, DB_OPTION_TSDB_PAGESIZE, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy600 = yylhsminor.yy600; + case 113: /* db_options ::= db_options TSDB_PAGESIZE NK_INTEGER */ +{ yylhsminor.yy452 = setDatabaseOption(pCxt, yymsp[-2].minor.yy452, DB_OPTION_TSDB_PAGESIZE, &yymsp[0].minor.yy0); } + yymsp[-2].minor.yy452 = yylhsminor.yy452; break; - case 113: /* db_options ::= db_options PRECISION NK_STRING */ -{ yylhsminor.yy600 = setDatabaseOption(pCxt, yymsp[-2].minor.yy600, DB_OPTION_PRECISION, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy600 = yylhsminor.yy600; + case 114: /* db_options ::= db_options PRECISION NK_STRING */ +{ yylhsminor.yy452 = setDatabaseOption(pCxt, yymsp[-2].minor.yy452, DB_OPTION_PRECISION, &yymsp[0].minor.yy0); } + yymsp[-2].minor.yy452 = yylhsminor.yy452; break; - case 114: /* db_options ::= db_options REPLICA NK_INTEGER */ -{ yylhsminor.yy600 = setDatabaseOption(pCxt, yymsp[-2].minor.yy600, DB_OPTION_REPLICA, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy600 = yylhsminor.yy600; + case 115: /* db_options ::= db_options REPLICA NK_INTEGER */ +{ yylhsminor.yy452 = setDatabaseOption(pCxt, yymsp[-2].minor.yy452, DB_OPTION_REPLICA, &yymsp[0].minor.yy0); } + yymsp[-2].minor.yy452 = yylhsminor.yy452; break; - case 115: /* db_options ::= db_options VGROUPS NK_INTEGER */ -{ yylhsminor.yy600 = setDatabaseOption(pCxt, yymsp[-2].minor.yy600, DB_OPTION_VGROUPS, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy600 = yylhsminor.yy600; + case 116: /* db_options ::= db_options VGROUPS NK_INTEGER */ +{ yylhsminor.yy452 = setDatabaseOption(pCxt, yymsp[-2].minor.yy452, DB_OPTION_VGROUPS, &yymsp[0].minor.yy0); } + yymsp[-2].minor.yy452 = yylhsminor.yy452; break; - case 116: /* db_options ::= db_options SINGLE_STABLE NK_INTEGER */ -{ yylhsminor.yy600 = setDatabaseOption(pCxt, yymsp[-2].minor.yy600, DB_OPTION_SINGLE_STABLE, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy600 = yylhsminor.yy600; + case 117: /* db_options ::= db_options SINGLE_STABLE NK_INTEGER */ +{ yylhsminor.yy452 = setDatabaseOption(pCxt, yymsp[-2].minor.yy452, DB_OPTION_SINGLE_STABLE, &yymsp[0].minor.yy0); } + yymsp[-2].minor.yy452 = yylhsminor.yy452; break; - case 117: /* db_options ::= db_options RETENTIONS retention_list */ -{ yylhsminor.yy600 = setDatabaseOption(pCxt, yymsp[-2].minor.yy600, DB_OPTION_RETENTIONS, yymsp[0].minor.yy748); } - yymsp[-2].minor.yy600 = yylhsminor.yy600; + case 118: /* db_options ::= db_options RETENTIONS retention_list */ +{ yylhsminor.yy452 = setDatabaseOption(pCxt, yymsp[-2].minor.yy452, DB_OPTION_RETENTIONS, yymsp[0].minor.yy34); } + yymsp[-2].minor.yy452 = yylhsminor.yy452; break; - case 118: /* db_options ::= db_options SCHEMALESS NK_INTEGER */ -{ yylhsminor.yy600 = setDatabaseOption(pCxt, yymsp[-2].minor.yy600, DB_OPTION_SCHEMALESS, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy600 = yylhsminor.yy600; + case 119: /* db_options ::= db_options SCHEMALESS NK_INTEGER */ +{ yylhsminor.yy452 = setDatabaseOption(pCxt, yymsp[-2].minor.yy452, DB_OPTION_SCHEMALESS, &yymsp[0].minor.yy0); } + yymsp[-2].minor.yy452 = yylhsminor.yy452; break; - case 119: /* db_options ::= db_options WAL_LEVEL NK_INTEGER */ -{ yylhsminor.yy600 = setDatabaseOption(pCxt, yymsp[-2].minor.yy600, DB_OPTION_WAL, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy600 = yylhsminor.yy600; + case 120: /* db_options ::= db_options WAL_LEVEL NK_INTEGER */ +{ yylhsminor.yy452 = setDatabaseOption(pCxt, yymsp[-2].minor.yy452, DB_OPTION_WAL, &yymsp[0].minor.yy0); } + yymsp[-2].minor.yy452 = yylhsminor.yy452; break; - case 120: /* db_options ::= db_options WAL_FSYNC_PERIOD NK_INTEGER */ -{ yylhsminor.yy600 = setDatabaseOption(pCxt, yymsp[-2].minor.yy600, DB_OPTION_FSYNC, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy600 = yylhsminor.yy600; + case 121: /* db_options ::= db_options WAL_FSYNC_PERIOD NK_INTEGER */ +{ yylhsminor.yy452 = setDatabaseOption(pCxt, yymsp[-2].minor.yy452, DB_OPTION_FSYNC, &yymsp[0].minor.yy0); } + yymsp[-2].minor.yy452 = yylhsminor.yy452; break; - case 121: /* db_options ::= db_options WAL_RETENTION_PERIOD NK_INTEGER */ -{ yylhsminor.yy600 = setDatabaseOption(pCxt, yymsp[-2].minor.yy600, DB_OPTION_WAL_RETENTION_PERIOD, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy600 = yylhsminor.yy600; + case 122: /* db_options ::= db_options WAL_RETENTION_PERIOD NK_INTEGER */ +{ yylhsminor.yy452 = setDatabaseOption(pCxt, yymsp[-2].minor.yy452, DB_OPTION_WAL_RETENTION_PERIOD, &yymsp[0].minor.yy0); } + yymsp[-2].minor.yy452 = yylhsminor.yy452; break; - case 122: /* db_options ::= db_options WAL_RETENTION_PERIOD NK_MINUS NK_INTEGER */ + case 123: /* db_options ::= db_options WAL_RETENTION_PERIOD NK_MINUS NK_INTEGER */ { SToken t = yymsp[-1].minor.yy0; t.n = (yymsp[0].minor.yy0.z + yymsp[0].minor.yy0.n) - yymsp[-1].minor.yy0.z; - yylhsminor.yy600 = setDatabaseOption(pCxt, yymsp[-3].minor.yy600, DB_OPTION_WAL_RETENTION_PERIOD, &t); + yylhsminor.yy452 = setDatabaseOption(pCxt, yymsp[-3].minor.yy452, DB_OPTION_WAL_RETENTION_PERIOD, &t); } - yymsp[-3].minor.yy600 = yylhsminor.yy600; + yymsp[-3].minor.yy452 = yylhsminor.yy452; break; - case 123: /* db_options ::= db_options WAL_RETENTION_SIZE NK_INTEGER */ -{ yylhsminor.yy600 = setDatabaseOption(pCxt, yymsp[-2].minor.yy600, DB_OPTION_WAL_RETENTION_SIZE, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy600 = yylhsminor.yy600; + case 124: /* db_options ::= db_options WAL_RETENTION_SIZE NK_INTEGER */ +{ yylhsminor.yy452 = setDatabaseOption(pCxt, yymsp[-2].minor.yy452, DB_OPTION_WAL_RETENTION_SIZE, &yymsp[0].minor.yy0); } + yymsp[-2].minor.yy452 = yylhsminor.yy452; break; - case 124: /* db_options ::= db_options WAL_RETENTION_SIZE NK_MINUS NK_INTEGER */ + case 125: /* db_options ::= db_options WAL_RETENTION_SIZE NK_MINUS NK_INTEGER */ { SToken t = yymsp[-1].minor.yy0; t.n = (yymsp[0].minor.yy0.z + yymsp[0].minor.yy0.n) - yymsp[-1].minor.yy0.z; - yylhsminor.yy600 = setDatabaseOption(pCxt, yymsp[-3].minor.yy600, DB_OPTION_WAL_RETENTION_SIZE, &t); + yylhsminor.yy452 = setDatabaseOption(pCxt, yymsp[-3].minor.yy452, DB_OPTION_WAL_RETENTION_SIZE, &t); } - yymsp[-3].minor.yy600 = yylhsminor.yy600; + yymsp[-3].minor.yy452 = yylhsminor.yy452; break; - case 125: /* db_options ::= db_options WAL_ROLL_PERIOD NK_INTEGER */ -{ yylhsminor.yy600 = setDatabaseOption(pCxt, yymsp[-2].minor.yy600, DB_OPTION_WAL_ROLL_PERIOD, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy600 = yylhsminor.yy600; + case 126: /* db_options ::= db_options WAL_ROLL_PERIOD NK_INTEGER */ +{ yylhsminor.yy452 = setDatabaseOption(pCxt, yymsp[-2].minor.yy452, DB_OPTION_WAL_ROLL_PERIOD, &yymsp[0].minor.yy0); } + yymsp[-2].minor.yy452 = yylhsminor.yy452; break; - case 126: /* db_options ::= db_options WAL_SEGMENT_SIZE NK_INTEGER */ -{ yylhsminor.yy600 = setDatabaseOption(pCxt, yymsp[-2].minor.yy600, DB_OPTION_WAL_SEGMENT_SIZE, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy600 = yylhsminor.yy600; + case 127: /* db_options ::= db_options WAL_SEGMENT_SIZE NK_INTEGER */ +{ yylhsminor.yy452 = setDatabaseOption(pCxt, yymsp[-2].minor.yy452, DB_OPTION_WAL_SEGMENT_SIZE, &yymsp[0].minor.yy0); } + yymsp[-2].minor.yy452 = yylhsminor.yy452; break; - case 127: /* db_options ::= db_options STT_TRIGGER NK_INTEGER */ -{ yylhsminor.yy600 = setDatabaseOption(pCxt, yymsp[-2].minor.yy600, DB_OPTION_STT_TRIGGER, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy600 = yylhsminor.yy600; + case 128: /* db_options ::= db_options STT_TRIGGER NK_INTEGER */ +{ yylhsminor.yy452 = setDatabaseOption(pCxt, yymsp[-2].minor.yy452, DB_OPTION_STT_TRIGGER, &yymsp[0].minor.yy0); } + yymsp[-2].minor.yy452 = yylhsminor.yy452; break; - case 128: /* db_options ::= db_options TABLE_PREFIX signed */ -{ yylhsminor.yy600 = setDatabaseOption(pCxt, yymsp[-2].minor.yy600, DB_OPTION_TABLE_PREFIX, yymsp[0].minor.yy600); } - yymsp[-2].minor.yy600 = yylhsminor.yy600; + case 129: /* db_options ::= db_options TABLE_PREFIX signed */ +{ yylhsminor.yy452 = setDatabaseOption(pCxt, yymsp[-2].minor.yy452, DB_OPTION_TABLE_PREFIX, yymsp[0].minor.yy452); } + yymsp[-2].minor.yy452 = yylhsminor.yy452; break; - case 129: /* db_options ::= db_options TABLE_SUFFIX signed */ -{ yylhsminor.yy600 = setDatabaseOption(pCxt, yymsp[-2].minor.yy600, DB_OPTION_TABLE_SUFFIX, yymsp[0].minor.yy600); } - yymsp[-2].minor.yy600 = yylhsminor.yy600; + case 130: /* db_options ::= db_options TABLE_SUFFIX signed */ +{ yylhsminor.yy452 = setDatabaseOption(pCxt, yymsp[-2].minor.yy452, DB_OPTION_TABLE_SUFFIX, yymsp[0].minor.yy452); } + yymsp[-2].minor.yy452 = yylhsminor.yy452; break; - case 130: /* db_options ::= db_options S3_CHUNKSIZE NK_INTEGER */ -{ yylhsminor.yy600 = setDatabaseOption(pCxt, yymsp[-2].minor.yy600, DB_OPTION_S3_CHUNKSIZE, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy600 = yylhsminor.yy600; + case 131: /* db_options ::= db_options S3_CHUNKSIZE NK_INTEGER */ +{ yylhsminor.yy452 = setDatabaseOption(pCxt, yymsp[-2].minor.yy452, DB_OPTION_S3_CHUNKSIZE, &yymsp[0].minor.yy0); } + yymsp[-2].minor.yy452 = yylhsminor.yy452; break; - case 131: /* db_options ::= db_options S3_KEEPLOCAL NK_INTEGER */ - case 132: /* db_options ::= db_options S3_KEEPLOCAL NK_VARIABLE */ yytestcase(yyruleno==132); -{ yylhsminor.yy600 = setDatabaseOption(pCxt, yymsp[-2].minor.yy600, DB_OPTION_S3_KEEPLOCAL, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy600 = yylhsminor.yy600; + case 132: /* db_options ::= db_options S3_KEEPLOCAL NK_INTEGER */ + case 133: /* db_options ::= db_options S3_KEEPLOCAL NK_VARIABLE */ yytestcase(yyruleno==133); +{ yylhsminor.yy452 = setDatabaseOption(pCxt, yymsp[-2].minor.yy452, DB_OPTION_S3_KEEPLOCAL, &yymsp[0].minor.yy0); } + yymsp[-2].minor.yy452 = yylhsminor.yy452; break; - case 133: /* db_options ::= db_options S3_COMPACT NK_INTEGER */ -{ yylhsminor.yy600 = setDatabaseOption(pCxt, yymsp[-2].minor.yy600, DB_OPTION_S3_COMPACT, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy600 = yylhsminor.yy600; + case 134: /* db_options ::= db_options S3_COMPACT NK_INTEGER */ +{ yylhsminor.yy452 = setDatabaseOption(pCxt, yymsp[-2].minor.yy452, DB_OPTION_S3_COMPACT, &yymsp[0].minor.yy0); } + yymsp[-2].minor.yy452 = yylhsminor.yy452; break; - case 134: /* db_options ::= db_options KEEP_TIME_OFFSET NK_INTEGER */ -{ yylhsminor.yy600 = setDatabaseOption(pCxt, yymsp[-2].minor.yy600, DB_OPTION_KEEP_TIME_OFFSET, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy600 = yylhsminor.yy600; + case 135: /* db_options ::= db_options KEEP_TIME_OFFSET NK_INTEGER */ +{ yylhsminor.yy452 = setDatabaseOption(pCxt, yymsp[-2].minor.yy452, DB_OPTION_KEEP_TIME_OFFSET, &yymsp[0].minor.yy0); } + yymsp[-2].minor.yy452 = yylhsminor.yy452; break; - case 135: /* db_options ::= db_options ENCRYPT_ALGORITHM NK_STRING */ -{ yylhsminor.yy600 = setDatabaseOption(pCxt, yymsp[-2].minor.yy600, DB_OPTION_ENCRYPT_ALGORITHM, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy600 = yylhsminor.yy600; + case 136: /* db_options ::= db_options ENCRYPT_ALGORITHM NK_STRING */ +{ yylhsminor.yy452 = setDatabaseOption(pCxt, yymsp[-2].minor.yy452, DB_OPTION_ENCRYPT_ALGORITHM, &yymsp[0].minor.yy0); } + yymsp[-2].minor.yy452 = yylhsminor.yy452; break; - case 136: /* alter_db_options ::= alter_db_option */ -{ yylhsminor.yy600 = createAlterDatabaseOptions(pCxt); yylhsminor.yy600 = setAlterDatabaseOption(pCxt, yylhsminor.yy600, &yymsp[0].minor.yy145); } - yymsp[0].minor.yy600 = yylhsminor.yy600; + case 137: /* alter_db_options ::= alter_db_option */ +{ yylhsminor.yy452 = createAlterDatabaseOptions(pCxt); yylhsminor.yy452 = setAlterDatabaseOption(pCxt, yylhsminor.yy452, &yymsp[0].minor.yy455); } + yymsp[0].minor.yy452 = yylhsminor.yy452; break; - case 137: /* alter_db_options ::= alter_db_options alter_db_option */ -{ yylhsminor.yy600 = setAlterDatabaseOption(pCxt, yymsp[-1].minor.yy600, &yymsp[0].minor.yy145); } - yymsp[-1].minor.yy600 = yylhsminor.yy600; + case 138: /* alter_db_options ::= alter_db_options alter_db_option */ +{ yylhsminor.yy452 = setAlterDatabaseOption(pCxt, yymsp[-1].minor.yy452, &yymsp[0].minor.yy455); } + yymsp[-1].minor.yy452 = yylhsminor.yy452; break; - case 138: /* alter_db_option ::= BUFFER NK_INTEGER */ -{ yymsp[-1].minor.yy145.type = DB_OPTION_BUFFER; yymsp[-1].minor.yy145.val = yymsp[0].minor.yy0; } + case 139: /* alter_db_option ::= BUFFER NK_INTEGER */ +{ yymsp[-1].minor.yy455.type = DB_OPTION_BUFFER; yymsp[-1].minor.yy455.val = yymsp[0].minor.yy0; } break; - case 139: /* alter_db_option ::= CACHEMODEL NK_STRING */ -{ yymsp[-1].minor.yy145.type = DB_OPTION_CACHEMODEL; yymsp[-1].minor.yy145.val = yymsp[0].minor.yy0; } + case 140: /* alter_db_option ::= CACHEMODEL NK_STRING */ +{ yymsp[-1].minor.yy455.type = DB_OPTION_CACHEMODEL; yymsp[-1].minor.yy455.val = yymsp[0].minor.yy0; } break; - case 140: /* alter_db_option ::= CACHESIZE NK_INTEGER */ -{ yymsp[-1].minor.yy145.type = DB_OPTION_CACHESIZE; yymsp[-1].minor.yy145.val = yymsp[0].minor.yy0; } + case 141: /* alter_db_option ::= CACHESIZE NK_INTEGER */ +{ yymsp[-1].minor.yy455.type = DB_OPTION_CACHESIZE; yymsp[-1].minor.yy455.val = yymsp[0].minor.yy0; } break; - case 141: /* alter_db_option ::= WAL_FSYNC_PERIOD NK_INTEGER */ -{ yymsp[-1].minor.yy145.type = DB_OPTION_FSYNC; yymsp[-1].minor.yy145.val = yymsp[0].minor.yy0; } + case 142: /* alter_db_option ::= WAL_FSYNC_PERIOD NK_INTEGER */ +{ yymsp[-1].minor.yy455.type = DB_OPTION_FSYNC; yymsp[-1].minor.yy455.val = yymsp[0].minor.yy0; } break; - case 142: /* alter_db_option ::= KEEP integer_list */ - case 143: /* alter_db_option ::= KEEP variable_list */ yytestcase(yyruleno==143); -{ yymsp[-1].minor.yy145.type = DB_OPTION_KEEP; yymsp[-1].minor.yy145.pList = yymsp[0].minor.yy748; } + case 143: /* alter_db_option ::= KEEP integer_list */ + case 144: /* alter_db_option ::= KEEP variable_list */ yytestcase(yyruleno==144); +{ yymsp[-1].minor.yy455.type = DB_OPTION_KEEP; yymsp[-1].minor.yy455.pList = yymsp[0].minor.yy34; } break; - case 144: /* alter_db_option ::= PAGES NK_INTEGER */ -{ yymsp[-1].minor.yy145.type = DB_OPTION_PAGES; yymsp[-1].minor.yy145.val = yymsp[0].minor.yy0; } + case 145: /* alter_db_option ::= PAGES NK_INTEGER */ +{ yymsp[-1].minor.yy455.type = DB_OPTION_PAGES; yymsp[-1].minor.yy455.val = yymsp[0].minor.yy0; } break; - case 145: /* alter_db_option ::= REPLICA NK_INTEGER */ -{ yymsp[-1].minor.yy145.type = DB_OPTION_REPLICA; yymsp[-1].minor.yy145.val = yymsp[0].minor.yy0; } + case 146: /* alter_db_option ::= REPLICA NK_INTEGER */ +{ yymsp[-1].minor.yy455.type = DB_OPTION_REPLICA; yymsp[-1].minor.yy455.val = yymsp[0].minor.yy0; } break; - case 146: /* alter_db_option ::= WAL_LEVEL NK_INTEGER */ -{ yymsp[-1].minor.yy145.type = DB_OPTION_WAL; yymsp[-1].minor.yy145.val = yymsp[0].minor.yy0; } + case 147: /* alter_db_option ::= WAL_LEVEL NK_INTEGER */ +{ yymsp[-1].minor.yy455.type = DB_OPTION_WAL; yymsp[-1].minor.yy455.val = yymsp[0].minor.yy0; } break; - case 147: /* alter_db_option ::= STT_TRIGGER NK_INTEGER */ -{ yymsp[-1].minor.yy145.type = DB_OPTION_STT_TRIGGER; yymsp[-1].minor.yy145.val = yymsp[0].minor.yy0; } + case 148: /* alter_db_option ::= STT_TRIGGER NK_INTEGER */ +{ yymsp[-1].minor.yy455.type = DB_OPTION_STT_TRIGGER; yymsp[-1].minor.yy455.val = yymsp[0].minor.yy0; } break; - case 148: /* alter_db_option ::= MINROWS NK_INTEGER */ -{ yymsp[-1].minor.yy145.type = DB_OPTION_MINROWS; yymsp[-1].minor.yy145.val = yymsp[0].minor.yy0; } + case 149: /* alter_db_option ::= MINROWS NK_INTEGER */ +{ yymsp[-1].minor.yy455.type = DB_OPTION_MINROWS; yymsp[-1].minor.yy455.val = yymsp[0].minor.yy0; } break; - case 149: /* alter_db_option ::= WAL_RETENTION_PERIOD NK_INTEGER */ -{ yymsp[-1].minor.yy145.type = DB_OPTION_WAL_RETENTION_PERIOD; yymsp[-1].minor.yy145.val = yymsp[0].minor.yy0; } + case 150: /* alter_db_option ::= WAL_RETENTION_PERIOD NK_INTEGER */ +{ yymsp[-1].minor.yy455.type = DB_OPTION_WAL_RETENTION_PERIOD; yymsp[-1].minor.yy455.val = yymsp[0].minor.yy0; } break; - case 150: /* alter_db_option ::= WAL_RETENTION_PERIOD NK_MINUS NK_INTEGER */ + case 151: /* alter_db_option ::= WAL_RETENTION_PERIOD NK_MINUS NK_INTEGER */ { SToken t = yymsp[-1].minor.yy0; t.n = (yymsp[0].minor.yy0.z + yymsp[0].minor.yy0.n) - yymsp[-1].minor.yy0.z; - yymsp[-2].minor.yy145.type = DB_OPTION_WAL_RETENTION_PERIOD; yymsp[-2].minor.yy145.val = t; + yymsp[-2].minor.yy455.type = DB_OPTION_WAL_RETENTION_PERIOD; yymsp[-2].minor.yy455.val = t; } break; - case 151: /* alter_db_option ::= WAL_RETENTION_SIZE NK_INTEGER */ -{ yymsp[-1].minor.yy145.type = DB_OPTION_WAL_RETENTION_SIZE; yymsp[-1].minor.yy145.val = yymsp[0].minor.yy0; } + case 152: /* alter_db_option ::= WAL_RETENTION_SIZE NK_INTEGER */ +{ yymsp[-1].minor.yy455.type = DB_OPTION_WAL_RETENTION_SIZE; yymsp[-1].minor.yy455.val = yymsp[0].minor.yy0; } break; - case 152: /* alter_db_option ::= WAL_RETENTION_SIZE NK_MINUS NK_INTEGER */ + case 153: /* alter_db_option ::= WAL_RETENTION_SIZE NK_MINUS NK_INTEGER */ { SToken t = yymsp[-1].minor.yy0; t.n = (yymsp[0].minor.yy0.z + yymsp[0].minor.yy0.n) - yymsp[-1].minor.yy0.z; - yymsp[-2].minor.yy145.type = DB_OPTION_WAL_RETENTION_SIZE; yymsp[-2].minor.yy145.val = t; + yymsp[-2].minor.yy455.type = DB_OPTION_WAL_RETENTION_SIZE; yymsp[-2].minor.yy455.val = t; } break; - case 153: /* alter_db_option ::= S3_KEEPLOCAL NK_INTEGER */ - case 154: /* alter_db_option ::= S3_KEEPLOCAL NK_VARIABLE */ yytestcase(yyruleno==154); -{ yymsp[-1].minor.yy145.type = DB_OPTION_S3_KEEPLOCAL; yymsp[-1].minor.yy145.val = yymsp[0].minor.yy0; } - break; - case 155: /* alter_db_option ::= S3_COMPACT NK_INTEGER */ -{ yymsp[-1].minor.yy145.type = DB_OPTION_S3_COMPACT, yymsp[-1].minor.yy145.val = yymsp[0].minor.yy0; } - break; - case 156: /* alter_db_option ::= KEEP_TIME_OFFSET NK_INTEGER */ -{ yymsp[-1].minor.yy145.type = DB_OPTION_KEEP_TIME_OFFSET; yymsp[-1].minor.yy145.val = yymsp[0].minor.yy0; } - break; - case 157: /* alter_db_option ::= ENCRYPT_ALGORITHM NK_STRING */ -{ yymsp[-1].minor.yy145.type = DB_OPTION_ENCRYPT_ALGORITHM; yymsp[-1].minor.yy145.val = yymsp[0].minor.yy0; } - break; - case 158: /* integer_list ::= NK_INTEGER */ -{ yylhsminor.yy748 = createNodeList(pCxt, createValueNode(pCxt, TSDB_DATA_TYPE_BIGINT, &yymsp[0].minor.yy0)); } - yymsp[0].minor.yy748 = yylhsminor.yy748; - break; - case 159: /* integer_list ::= integer_list NK_COMMA NK_INTEGER */ - case 437: /* dnode_list ::= dnode_list DNODE NK_INTEGER */ yytestcase(yyruleno==437); -{ yylhsminor.yy748 = addNodeToList(pCxt, yymsp[-2].minor.yy748, createValueNode(pCxt, TSDB_DATA_TYPE_BIGINT, &yymsp[0].minor.yy0)); } - yymsp[-2].minor.yy748 = yylhsminor.yy748; - break; - case 160: /* variable_list ::= NK_VARIABLE */ -{ yylhsminor.yy748 = createNodeList(pCxt, createDurationValueNode(pCxt, &yymsp[0].minor.yy0)); } - yymsp[0].minor.yy748 = yylhsminor.yy748; - break; - case 161: /* variable_list ::= variable_list NK_COMMA NK_VARIABLE */ -{ yylhsminor.yy748 = addNodeToList(pCxt, yymsp[-2].minor.yy748, createDurationValueNode(pCxt, &yymsp[0].minor.yy0)); } - yymsp[-2].minor.yy748 = yylhsminor.yy748; - break; - case 162: /* retention_list ::= retention */ - case 194: /* multi_create_clause ::= create_subtable_clause */ yytestcase(yyruleno==194); - case 197: /* multi_drop_clause ::= drop_table_clause */ yytestcase(yyruleno==197); - case 204: /* tag_def_list ::= tag_def */ yytestcase(yyruleno==204); - case 207: /* column_def_list ::= column_def */ yytestcase(yyruleno==207); - case 255: /* rollup_func_list ::= rollup_func_name */ yytestcase(yyruleno==255); - case 260: /* col_name_list ::= col_name */ yytestcase(yyruleno==260); - case 329: /* tag_list_opt ::= tag_item */ yytestcase(yyruleno==329); - case 353: /* func_list ::= func */ yytestcase(yyruleno==353); - case 403: /* column_stream_def_list ::= column_stream_def */ yytestcase(yyruleno==403); - case 481: /* tags_literal_list ::= tags_literal */ yytestcase(yyruleno==481); - case 506: /* literal_list ::= signed_literal */ yytestcase(yyruleno==506); - case 580: /* other_para_list ::= star_func_para */ yytestcase(yyruleno==580); - case 586: /* when_then_list ::= when_then_expr */ yytestcase(yyruleno==586); - case 662: /* select_list ::= select_item */ yytestcase(yyruleno==662); - case 673: /* partition_list ::= partition_item */ yytestcase(yyruleno==673); - case 734: /* sort_specification_list ::= sort_specification */ yytestcase(yyruleno==734); -{ yylhsminor.yy748 = createNodeList(pCxt, yymsp[0].minor.yy600); } - yymsp[0].minor.yy748 = yylhsminor.yy748; - break; - case 163: /* retention_list ::= retention_list NK_COMMA retention */ - case 198: /* multi_drop_clause ::= multi_drop_clause NK_COMMA drop_table_clause */ yytestcase(yyruleno==198); - case 205: /* tag_def_list ::= tag_def_list NK_COMMA tag_def */ yytestcase(yyruleno==205); - case 208: /* column_def_list ::= column_def_list NK_COMMA column_def */ yytestcase(yyruleno==208); - case 256: /* rollup_func_list ::= rollup_func_list NK_COMMA rollup_func_name */ yytestcase(yyruleno==256); - case 261: /* col_name_list ::= col_name_list NK_COMMA col_name */ yytestcase(yyruleno==261); - case 330: /* tag_list_opt ::= tag_list_opt NK_COMMA tag_item */ yytestcase(yyruleno==330); - case 354: /* func_list ::= func_list NK_COMMA func */ yytestcase(yyruleno==354); - case 404: /* column_stream_def_list ::= column_stream_def_list NK_COMMA column_stream_def */ yytestcase(yyruleno==404); - case 482: /* tags_literal_list ::= tags_literal_list NK_COMMA tags_literal */ yytestcase(yyruleno==482); - case 507: /* literal_list ::= literal_list NK_COMMA signed_literal */ yytestcase(yyruleno==507); - case 581: /* other_para_list ::= other_para_list NK_COMMA star_func_para */ yytestcase(yyruleno==581); - case 663: /* select_list ::= select_list NK_COMMA select_item */ yytestcase(yyruleno==663); - case 674: /* partition_list ::= partition_list NK_COMMA partition_item */ yytestcase(yyruleno==674); - case 735: /* sort_specification_list ::= sort_specification_list NK_COMMA sort_specification */ yytestcase(yyruleno==735); -{ yylhsminor.yy748 = addNodeToList(pCxt, yymsp[-2].minor.yy748, yymsp[0].minor.yy600); } - yymsp[-2].minor.yy748 = yylhsminor.yy748; - break; - case 164: /* retention ::= NK_VARIABLE NK_COLON NK_VARIABLE */ - case 165: /* retention ::= NK_MINUS NK_COLON NK_VARIABLE */ yytestcase(yyruleno==165); -{ yylhsminor.yy600 = createNodeListNodeEx(pCxt, createDurationValueNode(pCxt, &yymsp[-2].minor.yy0), createDurationValueNode(pCxt, &yymsp[0].minor.yy0)); } - yymsp[-2].minor.yy600 = yylhsminor.yy600; - break; - case 166: /* speed_opt ::= */ - case 387: /* bufsize_opt ::= */ yytestcase(yyruleno==387); -{ yymsp[1].minor.yy756 = 0; } - break; - case 167: /* speed_opt ::= BWLIMIT NK_INTEGER */ - case 388: /* bufsize_opt ::= BUFSIZE NK_INTEGER */ yytestcase(yyruleno==388); -{ yymsp[-1].minor.yy756 = taosStr2Int32(yymsp[0].minor.yy0.z, NULL, 10); } - break; - case 169: /* start_opt ::= START WITH NK_INTEGER */ - case 173: /* end_opt ::= END WITH NK_INTEGER */ yytestcase(yyruleno==173); -{ yymsp[-2].minor.yy600 = createValueNode(pCxt, TSDB_DATA_TYPE_BIGINT, &yymsp[0].minor.yy0); } - break; - case 170: /* start_opt ::= START WITH NK_STRING */ - case 174: /* end_opt ::= END WITH NK_STRING */ yytestcase(yyruleno==174); -{ yymsp[-2].minor.yy600 = createValueNode(pCxt, TSDB_DATA_TYPE_TIMESTAMP, &yymsp[0].minor.yy0); } - break; - case 171: /* start_opt ::= START WITH TIMESTAMP NK_STRING */ - case 175: /* end_opt ::= END WITH TIMESTAMP NK_STRING */ yytestcase(yyruleno==175); -{ yymsp[-3].minor.yy600 = createValueNode(pCxt, TSDB_DATA_TYPE_TIMESTAMP, &yymsp[0].minor.yy0); } - break; - case 176: /* cmd ::= CREATE TABLE not_exists_opt full_table_name NK_LP column_def_list NK_RP tags_def_opt table_options */ - case 178: /* cmd ::= CREATE STABLE not_exists_opt full_table_name NK_LP column_def_list NK_RP tags_def table_options */ yytestcase(yyruleno==178); -{ pCxt->pRootNode = createCreateTableStmt(pCxt, yymsp[-6].minor.yy705, yymsp[-5].minor.yy600, yymsp[-3].minor.yy748, yymsp[-1].minor.yy748, yymsp[0].minor.yy600); } - break; - case 177: /* cmd ::= CREATE TABLE multi_create_clause */ -{ pCxt->pRootNode = createCreateMultiTableStmt(pCxt, yymsp[0].minor.yy748); } - break; - case 179: /* cmd ::= DROP TABLE multi_drop_clause */ -{ pCxt->pRootNode = createDropTableStmt(pCxt, yymsp[0].minor.yy748); } - break; - case 180: /* cmd ::= DROP STABLE exists_opt full_table_name */ -{ pCxt->pRootNode = createDropSuperTableStmt(pCxt, yymsp[-1].minor.yy705, yymsp[0].minor.yy600); } - break; - case 181: /* cmd ::= ALTER TABLE alter_table_clause */ - case 439: /* cmd ::= query_or_subquery */ yytestcase(yyruleno==439); - case 440: /* cmd ::= insert_query */ yytestcase(yyruleno==440); -{ pCxt->pRootNode = yymsp[0].minor.yy600; } - break; - case 182: /* cmd ::= ALTER STABLE alter_table_clause */ -{ pCxt->pRootNode = setAlterSuperTableType(yymsp[0].minor.yy600); } - break; - case 183: /* alter_table_clause ::= full_table_name alter_table_options */ -{ yylhsminor.yy600 = createAlterTableModifyOptions(pCxt, yymsp[-1].minor.yy600, yymsp[0].minor.yy600); } - yymsp[-1].minor.yy600 = yylhsminor.yy600; - break; - case 184: /* alter_table_clause ::= full_table_name ADD COLUMN column_name type_name */ -{ yylhsminor.yy600 = createAlterTableAddModifyCol(pCxt, yymsp[-4].minor.yy600, TSDB_ALTER_TABLE_ADD_COLUMN, &yymsp[-1].minor.yy649, yymsp[0].minor.yy400); } - yymsp[-4].minor.yy600 = yylhsminor.yy600; - break; - case 185: /* alter_table_clause ::= full_table_name DROP COLUMN column_name */ -{ yylhsminor.yy600 = createAlterTableDropCol(pCxt, yymsp[-3].minor.yy600, TSDB_ALTER_TABLE_DROP_COLUMN, &yymsp[0].minor.yy649); } - yymsp[-3].minor.yy600 = yylhsminor.yy600; - break; - case 186: /* alter_table_clause ::= full_table_name MODIFY COLUMN column_name type_name */ -{ yylhsminor.yy600 = createAlterTableAddModifyCol(pCxt, yymsp[-4].minor.yy600, TSDB_ALTER_TABLE_UPDATE_COLUMN_BYTES, &yymsp[-1].minor.yy649, yymsp[0].minor.yy400); } - yymsp[-4].minor.yy600 = yylhsminor.yy600; - break; - case 187: /* alter_table_clause ::= full_table_name MODIFY COLUMN column_name column_options */ -{ yylhsminor.yy600 = createAlterTableAddModifyColOptions(pCxt, yymsp[-4].minor.yy600, TSDB_ALTER_TABLE_UPDATE_COLUMN_COMPRESS, &yymsp[-1].minor.yy649, yymsp[0].minor.yy600); } - yymsp[-4].minor.yy600 = yylhsminor.yy600; - break; - case 188: /* alter_table_clause ::= full_table_name RENAME COLUMN column_name column_name */ -{ yylhsminor.yy600 = createAlterTableRenameCol(pCxt, yymsp[-4].minor.yy600, TSDB_ALTER_TABLE_UPDATE_COLUMN_NAME, &yymsp[-1].minor.yy649, &yymsp[0].minor.yy649); } - yymsp[-4].minor.yy600 = yylhsminor.yy600; - break; - case 189: /* alter_table_clause ::= full_table_name ADD TAG column_name type_name */ -{ yylhsminor.yy600 = createAlterTableAddModifyCol(pCxt, yymsp[-4].minor.yy600, TSDB_ALTER_TABLE_ADD_TAG, &yymsp[-1].minor.yy649, yymsp[0].minor.yy400); } - yymsp[-4].minor.yy600 = yylhsminor.yy600; - break; - case 190: /* alter_table_clause ::= full_table_name DROP TAG column_name */ -{ yylhsminor.yy600 = createAlterTableDropCol(pCxt, yymsp[-3].minor.yy600, TSDB_ALTER_TABLE_DROP_TAG, &yymsp[0].minor.yy649); } - yymsp[-3].minor.yy600 = yylhsminor.yy600; + case 154: /* alter_db_option ::= S3_KEEPLOCAL NK_INTEGER */ + case 155: /* alter_db_option ::= S3_KEEPLOCAL NK_VARIABLE */ yytestcase(yyruleno==155); +{ yymsp[-1].minor.yy455.type = DB_OPTION_S3_KEEPLOCAL; yymsp[-1].minor.yy455.val = yymsp[0].minor.yy0; } + break; + case 156: /* alter_db_option ::= S3_COMPACT NK_INTEGER */ +{ yymsp[-1].minor.yy455.type = DB_OPTION_S3_COMPACT, yymsp[-1].minor.yy455.val = yymsp[0].minor.yy0; } + break; + case 157: /* alter_db_option ::= KEEP_TIME_OFFSET NK_INTEGER */ +{ yymsp[-1].minor.yy455.type = DB_OPTION_KEEP_TIME_OFFSET; yymsp[-1].minor.yy455.val = yymsp[0].minor.yy0; } + break; + case 158: /* alter_db_option ::= ENCRYPT_ALGORITHM NK_STRING */ +{ yymsp[-1].minor.yy455.type = DB_OPTION_ENCRYPT_ALGORITHM; yymsp[-1].minor.yy455.val = yymsp[0].minor.yy0; } + break; + case 159: /* integer_list ::= NK_INTEGER */ +{ yylhsminor.yy34 = createNodeList(pCxt, createValueNode(pCxt, TSDB_DATA_TYPE_BIGINT, &yymsp[0].minor.yy0)); } + yymsp[0].minor.yy34 = yylhsminor.yy34; + break; + case 160: /* integer_list ::= integer_list NK_COMMA NK_INTEGER */ + case 438: /* dnode_list ::= dnode_list DNODE NK_INTEGER */ yytestcase(yyruleno==438); +{ yylhsminor.yy34 = addNodeToList(pCxt, yymsp[-2].minor.yy34, createValueNode(pCxt, TSDB_DATA_TYPE_BIGINT, &yymsp[0].minor.yy0)); } + yymsp[-2].minor.yy34 = yylhsminor.yy34; + break; + case 161: /* variable_list ::= NK_VARIABLE */ +{ yylhsminor.yy34 = createNodeList(pCxt, createDurationValueNode(pCxt, &yymsp[0].minor.yy0)); } + yymsp[0].minor.yy34 = yylhsminor.yy34; + break; + case 162: /* variable_list ::= variable_list NK_COMMA NK_VARIABLE */ +{ yylhsminor.yy34 = addNodeToList(pCxt, yymsp[-2].minor.yy34, createDurationValueNode(pCxt, &yymsp[0].minor.yy0)); } + yymsp[-2].minor.yy34 = yylhsminor.yy34; + break; + case 163: /* retention_list ::= retention */ + case 195: /* multi_create_clause ::= create_subtable_clause */ yytestcase(yyruleno==195); + case 198: /* multi_drop_clause ::= drop_table_clause */ yytestcase(yyruleno==198); + case 205: /* tag_def_list ::= tag_def */ yytestcase(yyruleno==205); + case 208: /* column_def_list ::= column_def */ yytestcase(yyruleno==208); + case 256: /* rollup_func_list ::= rollup_func_name */ yytestcase(yyruleno==256); + case 261: /* col_name_list ::= col_name */ yytestcase(yyruleno==261); + case 330: /* tag_list_opt ::= tag_item */ yytestcase(yyruleno==330); + case 354: /* func_list ::= func */ yytestcase(yyruleno==354); + case 404: /* column_stream_def_list ::= column_stream_def */ yytestcase(yyruleno==404); + case 482: /* tags_literal_list ::= tags_literal */ yytestcase(yyruleno==482); + case 507: /* literal_list ::= signed_literal */ yytestcase(yyruleno==507); + case 581: /* other_para_list ::= star_func_para */ yytestcase(yyruleno==581); + case 587: /* when_then_list ::= when_then_expr */ yytestcase(yyruleno==587); + case 663: /* select_list ::= select_item */ yytestcase(yyruleno==663); + case 674: /* partition_list ::= partition_item */ yytestcase(yyruleno==674); + case 735: /* sort_specification_list ::= sort_specification */ yytestcase(yyruleno==735); +{ yylhsminor.yy34 = createNodeList(pCxt, yymsp[0].minor.yy452); } + yymsp[0].minor.yy34 = yylhsminor.yy34; + break; + case 164: /* retention_list ::= retention_list NK_COMMA retention */ + case 199: /* multi_drop_clause ::= multi_drop_clause NK_COMMA drop_table_clause */ yytestcase(yyruleno==199); + case 206: /* tag_def_list ::= tag_def_list NK_COMMA tag_def */ yytestcase(yyruleno==206); + case 209: /* column_def_list ::= column_def_list NK_COMMA column_def */ yytestcase(yyruleno==209); + case 257: /* rollup_func_list ::= rollup_func_list NK_COMMA rollup_func_name */ yytestcase(yyruleno==257); + case 262: /* col_name_list ::= col_name_list NK_COMMA col_name */ yytestcase(yyruleno==262); + case 331: /* tag_list_opt ::= tag_list_opt NK_COMMA tag_item */ yytestcase(yyruleno==331); + case 355: /* func_list ::= func_list NK_COMMA func */ yytestcase(yyruleno==355); + case 405: /* column_stream_def_list ::= column_stream_def_list NK_COMMA column_stream_def */ yytestcase(yyruleno==405); + case 483: /* tags_literal_list ::= tags_literal_list NK_COMMA tags_literal */ yytestcase(yyruleno==483); + case 508: /* literal_list ::= literal_list NK_COMMA signed_literal */ yytestcase(yyruleno==508); + case 582: /* other_para_list ::= other_para_list NK_COMMA star_func_para */ yytestcase(yyruleno==582); + case 664: /* select_list ::= select_list NK_COMMA select_item */ yytestcase(yyruleno==664); + case 675: /* partition_list ::= partition_list NK_COMMA partition_item */ yytestcase(yyruleno==675); + case 736: /* sort_specification_list ::= sort_specification_list NK_COMMA sort_specification */ yytestcase(yyruleno==736); +{ yylhsminor.yy34 = addNodeToList(pCxt, yymsp[-2].minor.yy34, yymsp[0].minor.yy452); } + yymsp[-2].minor.yy34 = yylhsminor.yy34; + break; + case 165: /* retention ::= NK_VARIABLE NK_COLON NK_VARIABLE */ + case 166: /* retention ::= NK_MINUS NK_COLON NK_VARIABLE */ yytestcase(yyruleno==166); +{ yylhsminor.yy452 = createNodeListNodeEx(pCxt, createDurationValueNode(pCxt, &yymsp[-2].minor.yy0), createDurationValueNode(pCxt, &yymsp[0].minor.yy0)); } + yymsp[-2].minor.yy452 = yylhsminor.yy452; + break; + case 167: /* speed_opt ::= */ + case 388: /* bufsize_opt ::= */ yytestcase(yyruleno==388); +{ yymsp[1].minor.yy100 = 0; } + break; + case 168: /* speed_opt ::= BWLIMIT NK_INTEGER */ + case 389: /* bufsize_opt ::= BUFSIZE NK_INTEGER */ yytestcase(yyruleno==389); +{ yymsp[-1].minor.yy100 = taosStr2Int32(yymsp[0].minor.yy0.z, NULL, 10); } + break; + case 170: /* start_opt ::= START WITH NK_INTEGER */ + case 174: /* end_opt ::= END WITH NK_INTEGER */ yytestcase(yyruleno==174); +{ yymsp[-2].minor.yy452 = createValueNode(pCxt, TSDB_DATA_TYPE_BIGINT, &yymsp[0].minor.yy0); } + break; + case 171: /* start_opt ::= START WITH NK_STRING */ + case 175: /* end_opt ::= END WITH NK_STRING */ yytestcase(yyruleno==175); +{ yymsp[-2].minor.yy452 = createValueNode(pCxt, TSDB_DATA_TYPE_TIMESTAMP, &yymsp[0].minor.yy0); } + break; + case 172: /* start_opt ::= START WITH TIMESTAMP NK_STRING */ + case 176: /* end_opt ::= END WITH TIMESTAMP NK_STRING */ yytestcase(yyruleno==176); +{ yymsp[-3].minor.yy452 = createValueNode(pCxt, TSDB_DATA_TYPE_TIMESTAMP, &yymsp[0].minor.yy0); } + break; + case 177: /* cmd ::= CREATE TABLE not_exists_opt full_table_name NK_LP column_def_list NK_RP tags_def_opt table_options */ + case 179: /* cmd ::= CREATE STABLE not_exists_opt full_table_name NK_LP column_def_list NK_RP tags_def table_options */ yytestcase(yyruleno==179); +{ pCxt->pRootNode = createCreateTableStmt(pCxt, yymsp[-6].minor.yy437, yymsp[-5].minor.yy452, yymsp[-3].minor.yy34, yymsp[-1].minor.yy34, yymsp[0].minor.yy452); } + break; + case 178: /* cmd ::= CREATE TABLE multi_create_clause */ +{ pCxt->pRootNode = createCreateMultiTableStmt(pCxt, yymsp[0].minor.yy34); } + break; + case 180: /* cmd ::= DROP TABLE multi_drop_clause */ +{ pCxt->pRootNode = createDropTableStmt(pCxt, yymsp[0].minor.yy34); } + break; + case 181: /* cmd ::= DROP STABLE exists_opt full_table_name */ +{ pCxt->pRootNode = createDropSuperTableStmt(pCxt, yymsp[-1].minor.yy437, yymsp[0].minor.yy452); } + break; + case 182: /* cmd ::= ALTER TABLE alter_table_clause */ + case 440: /* cmd ::= query_or_subquery */ yytestcase(yyruleno==440); + case 441: /* cmd ::= insert_query */ yytestcase(yyruleno==441); +{ pCxt->pRootNode = yymsp[0].minor.yy452; } + break; + case 183: /* cmd ::= ALTER STABLE alter_table_clause */ +{ pCxt->pRootNode = setAlterSuperTableType(yymsp[0].minor.yy452); } + break; + case 184: /* alter_table_clause ::= full_table_name alter_table_options */ +{ yylhsminor.yy452 = createAlterTableModifyOptions(pCxt, yymsp[-1].minor.yy452, yymsp[0].minor.yy452); } + yymsp[-1].minor.yy452 = yylhsminor.yy452; + break; + case 185: /* alter_table_clause ::= full_table_name ADD COLUMN column_name type_name */ +{ yylhsminor.yy452 = createAlterTableAddModifyCol(pCxt, yymsp[-4].minor.yy452, TSDB_ALTER_TABLE_ADD_COLUMN, &yymsp[-1].minor.yy479, yymsp[0].minor.yy874); } + yymsp[-4].minor.yy452 = yylhsminor.yy452; + break; + case 186: /* alter_table_clause ::= full_table_name DROP COLUMN column_name */ +{ yylhsminor.yy452 = createAlterTableDropCol(pCxt, yymsp[-3].minor.yy452, TSDB_ALTER_TABLE_DROP_COLUMN, &yymsp[0].minor.yy479); } + yymsp[-3].minor.yy452 = yylhsminor.yy452; + break; + case 187: /* alter_table_clause ::= full_table_name MODIFY COLUMN column_name type_name */ +{ yylhsminor.yy452 = createAlterTableAddModifyCol(pCxt, yymsp[-4].minor.yy452, TSDB_ALTER_TABLE_UPDATE_COLUMN_BYTES, &yymsp[-1].minor.yy479, yymsp[0].minor.yy874); } + yymsp[-4].minor.yy452 = yylhsminor.yy452; + break; + case 188: /* alter_table_clause ::= full_table_name MODIFY COLUMN column_name column_options */ +{ yylhsminor.yy452 = createAlterTableAddModifyColOptions(pCxt, yymsp[-4].minor.yy452, TSDB_ALTER_TABLE_UPDATE_COLUMN_COMPRESS, &yymsp[-1].minor.yy479, yymsp[0].minor.yy452); } + yymsp[-4].minor.yy452 = yylhsminor.yy452; + break; + case 189: /* alter_table_clause ::= full_table_name RENAME COLUMN column_name column_name */ +{ yylhsminor.yy452 = createAlterTableRenameCol(pCxt, yymsp[-4].minor.yy452, TSDB_ALTER_TABLE_UPDATE_COLUMN_NAME, &yymsp[-1].minor.yy479, &yymsp[0].minor.yy479); } + yymsp[-4].minor.yy452 = yylhsminor.yy452; + break; + case 190: /* alter_table_clause ::= full_table_name ADD TAG column_name type_name */ +{ yylhsminor.yy452 = createAlterTableAddModifyCol(pCxt, yymsp[-4].minor.yy452, TSDB_ALTER_TABLE_ADD_TAG, &yymsp[-1].minor.yy479, yymsp[0].minor.yy874); } + yymsp[-4].minor.yy452 = yylhsminor.yy452; + break; + case 191: /* alter_table_clause ::= full_table_name DROP TAG column_name */ +{ yylhsminor.yy452 = createAlterTableDropCol(pCxt, yymsp[-3].minor.yy452, TSDB_ALTER_TABLE_DROP_TAG, &yymsp[0].minor.yy479); } + yymsp[-3].minor.yy452 = yylhsminor.yy452; break; - case 191: /* alter_table_clause ::= full_table_name MODIFY TAG column_name type_name */ -{ yylhsminor.yy600 = createAlterTableAddModifyCol(pCxt, yymsp[-4].minor.yy600, TSDB_ALTER_TABLE_UPDATE_TAG_BYTES, &yymsp[-1].minor.yy649, yymsp[0].minor.yy400); } - yymsp[-4].minor.yy600 = yylhsminor.yy600; + case 192: /* alter_table_clause ::= full_table_name MODIFY TAG column_name type_name */ +{ yylhsminor.yy452 = createAlterTableAddModifyCol(pCxt, yymsp[-4].minor.yy452, TSDB_ALTER_TABLE_UPDATE_TAG_BYTES, &yymsp[-1].minor.yy479, yymsp[0].minor.yy874); } + yymsp[-4].minor.yy452 = yylhsminor.yy452; break; - case 192: /* alter_table_clause ::= full_table_name RENAME TAG column_name column_name */ -{ yylhsminor.yy600 = createAlterTableRenameCol(pCxt, yymsp[-4].minor.yy600, TSDB_ALTER_TABLE_UPDATE_TAG_NAME, &yymsp[-1].minor.yy649, &yymsp[0].minor.yy649); } - yymsp[-4].minor.yy600 = yylhsminor.yy600; + case 193: /* alter_table_clause ::= full_table_name RENAME TAG column_name column_name */ +{ yylhsminor.yy452 = createAlterTableRenameCol(pCxt, yymsp[-4].minor.yy452, TSDB_ALTER_TABLE_UPDATE_TAG_NAME, &yymsp[-1].minor.yy479, &yymsp[0].minor.yy479); } + yymsp[-4].minor.yy452 = yylhsminor.yy452; break; - case 193: /* alter_table_clause ::= full_table_name SET TAG column_name NK_EQ tags_literal */ -{ yylhsminor.yy600 = createAlterTableSetTag(pCxt, yymsp[-5].minor.yy600, &yymsp[-2].minor.yy649, yymsp[0].minor.yy600); } - yymsp[-5].minor.yy600 = yylhsminor.yy600; + case 194: /* alter_table_clause ::= full_table_name SET TAG column_name NK_EQ tags_literal */ +{ yylhsminor.yy452 = createAlterTableSetTag(pCxt, yymsp[-5].minor.yy452, &yymsp[-2].minor.yy479, yymsp[0].minor.yy452); } + yymsp[-5].minor.yy452 = yylhsminor.yy452; break; - case 195: /* multi_create_clause ::= multi_create_clause create_subtable_clause */ - case 587: /* when_then_list ::= when_then_list when_then_expr */ yytestcase(yyruleno==587); -{ yylhsminor.yy748 = addNodeToList(pCxt, yymsp[-1].minor.yy748, yymsp[0].minor.yy600); } - yymsp[-1].minor.yy748 = yylhsminor.yy748; + case 196: /* multi_create_clause ::= multi_create_clause create_subtable_clause */ + case 588: /* when_then_list ::= when_then_list when_then_expr */ yytestcase(yyruleno==588); +{ yylhsminor.yy34 = addNodeToList(pCxt, yymsp[-1].minor.yy34, yymsp[0].minor.yy452); } + yymsp[-1].minor.yy34 = yylhsminor.yy34; break; - case 196: /* create_subtable_clause ::= not_exists_opt full_table_name USING full_table_name specific_cols_opt TAGS NK_LP tags_literal_list NK_RP table_options */ -{ yylhsminor.yy600 = createCreateSubTableClause(pCxt, yymsp[-9].minor.yy705, yymsp[-8].minor.yy600, yymsp[-6].minor.yy600, yymsp[-5].minor.yy748, yymsp[-2].minor.yy748, yymsp[0].minor.yy600); } - yymsp[-9].minor.yy600 = yylhsminor.yy600; + case 197: /* create_subtable_clause ::= not_exists_opt full_table_name USING full_table_name specific_cols_opt TAGS NK_LP tags_literal_list NK_RP table_options */ +{ yylhsminor.yy452 = createCreateSubTableClause(pCxt, yymsp[-9].minor.yy437, yymsp[-8].minor.yy452, yymsp[-6].minor.yy452, yymsp[-5].minor.yy34, yymsp[-2].minor.yy34, yymsp[0].minor.yy452); } + yymsp[-9].minor.yy452 = yylhsminor.yy452; break; - case 199: /* drop_table_clause ::= exists_opt full_table_name */ -{ yylhsminor.yy600 = createDropTableClause(pCxt, yymsp[-1].minor.yy705, yymsp[0].minor.yy600); } - yymsp[-1].minor.yy600 = yylhsminor.yy600; + case 200: /* drop_table_clause ::= exists_opt full_table_name */ +{ yylhsminor.yy452 = createDropTableClause(pCxt, yymsp[-1].minor.yy437, yymsp[0].minor.yy452); } + yymsp[-1].minor.yy452 = yylhsminor.yy452; break; - case 201: /* specific_cols_opt ::= NK_LP col_name_list NK_RP */ - case 402: /* col_list_opt ::= NK_LP column_stream_def_list NK_RP */ yytestcase(yyruleno==402); -{ yymsp[-2].minor.yy748 = yymsp[-1].minor.yy748; } + case 202: /* specific_cols_opt ::= NK_LP col_name_list NK_RP */ + case 403: /* col_list_opt ::= NK_LP column_stream_def_list NK_RP */ yytestcase(yyruleno==403); +{ yymsp[-2].minor.yy34 = yymsp[-1].minor.yy34; } break; - case 202: /* full_table_name ::= table_name */ - case 343: /* full_tsma_name ::= tsma_name */ yytestcase(yyruleno==343); -{ yylhsminor.yy600 = createRealTableNode(pCxt, NULL, &yymsp[0].minor.yy649, NULL); } - yymsp[0].minor.yy600 = yylhsminor.yy600; + case 203: /* full_table_name ::= table_name */ + case 344: /* full_tsma_name ::= tsma_name */ yytestcase(yyruleno==344); +{ yylhsminor.yy452 = createRealTableNode(pCxt, NULL, &yymsp[0].minor.yy479, NULL); } + yymsp[0].minor.yy452 = yylhsminor.yy452; break; - case 203: /* full_table_name ::= db_name NK_DOT table_name */ - case 344: /* full_tsma_name ::= db_name NK_DOT tsma_name */ yytestcase(yyruleno==344); -{ yylhsminor.yy600 = createRealTableNode(pCxt, &yymsp[-2].minor.yy649, &yymsp[0].minor.yy649, NULL); } - yymsp[-2].minor.yy600 = yylhsminor.yy600; + case 204: /* full_table_name ::= db_name NK_DOT table_name */ + case 345: /* full_tsma_name ::= db_name NK_DOT tsma_name */ yytestcase(yyruleno==345); +{ yylhsminor.yy452 = createRealTableNode(pCxt, &yymsp[-2].minor.yy479, &yymsp[0].minor.yy479, NULL); } + yymsp[-2].minor.yy452 = yylhsminor.yy452; break; - case 206: /* tag_def ::= column_name type_name */ -{ yylhsminor.yy600 = createColumnDefNode(pCxt, &yymsp[-1].minor.yy649, yymsp[0].minor.yy400, NULL); } - yymsp[-1].minor.yy600 = yylhsminor.yy600; + case 207: /* tag_def ::= column_name type_name */ +{ yylhsminor.yy452 = createColumnDefNode(pCxt, &yymsp[-1].minor.yy479, yymsp[0].minor.yy874, NULL); } + yymsp[-1].minor.yy452 = yylhsminor.yy452; break; - case 209: /* column_def ::= column_name type_name column_options */ -{ yylhsminor.yy600 = createColumnDefNode(pCxt, &yymsp[-2].minor.yy649, yymsp[-1].minor.yy400, yymsp[0].minor.yy600); } - yymsp[-2].minor.yy600 = yylhsminor.yy600; + case 210: /* column_def ::= column_name type_name column_options */ +{ yylhsminor.yy452 = createColumnDefNode(pCxt, &yymsp[-2].minor.yy479, yymsp[-1].minor.yy874, yymsp[0].minor.yy452); } + yymsp[-2].minor.yy452 = yylhsminor.yy452; break; - case 210: /* type_name ::= BOOL */ -{ yymsp[0].minor.yy400 = createDataType(TSDB_DATA_TYPE_BOOL); } + case 211: /* type_name ::= BOOL */ +{ yymsp[0].minor.yy874 = createDataType(TSDB_DATA_TYPE_BOOL); } break; - case 211: /* type_name ::= TINYINT */ -{ yymsp[0].minor.yy400 = createDataType(TSDB_DATA_TYPE_TINYINT); } + case 212: /* type_name ::= TINYINT */ +{ yymsp[0].minor.yy874 = createDataType(TSDB_DATA_TYPE_TINYINT); } break; - case 212: /* type_name ::= SMALLINT */ -{ yymsp[0].minor.yy400 = createDataType(TSDB_DATA_TYPE_SMALLINT); } + case 213: /* type_name ::= SMALLINT */ +{ yymsp[0].minor.yy874 = createDataType(TSDB_DATA_TYPE_SMALLINT); } break; - case 213: /* type_name ::= INT */ - case 214: /* type_name ::= INTEGER */ yytestcase(yyruleno==214); -{ yymsp[0].minor.yy400 = createDataType(TSDB_DATA_TYPE_INT); } + case 214: /* type_name ::= INT */ + case 215: /* type_name ::= INTEGER */ yytestcase(yyruleno==215); +{ yymsp[0].minor.yy874 = createDataType(TSDB_DATA_TYPE_INT); } break; - case 215: /* type_name ::= BIGINT */ -{ yymsp[0].minor.yy400 = createDataType(TSDB_DATA_TYPE_BIGINT); } + case 216: /* type_name ::= BIGINT */ +{ yymsp[0].minor.yy874 = createDataType(TSDB_DATA_TYPE_BIGINT); } break; - case 216: /* type_name ::= FLOAT */ -{ yymsp[0].minor.yy400 = createDataType(TSDB_DATA_TYPE_FLOAT); } + case 217: /* type_name ::= FLOAT */ +{ yymsp[0].minor.yy874 = createDataType(TSDB_DATA_TYPE_FLOAT); } break; - case 217: /* type_name ::= DOUBLE */ -{ yymsp[0].minor.yy400 = createDataType(TSDB_DATA_TYPE_DOUBLE); } + case 218: /* type_name ::= DOUBLE */ +{ yymsp[0].minor.yy874 = createDataType(TSDB_DATA_TYPE_DOUBLE); } break; - case 218: /* type_name ::= BINARY NK_LP NK_INTEGER NK_RP */ -{ yymsp[-3].minor.yy400 = createVarLenDataType(TSDB_DATA_TYPE_BINARY, &yymsp[-1].minor.yy0); } + case 219: /* type_name ::= BINARY NK_LP NK_INTEGER NK_RP */ +{ yymsp[-3].minor.yy874 = createVarLenDataType(TSDB_DATA_TYPE_BINARY, &yymsp[-1].minor.yy0); } break; - case 219: /* type_name ::= TIMESTAMP */ -{ yymsp[0].minor.yy400 = createDataType(TSDB_DATA_TYPE_TIMESTAMP); } + case 220: /* type_name ::= TIMESTAMP */ +{ yymsp[0].minor.yy874 = createDataType(TSDB_DATA_TYPE_TIMESTAMP); } break; - case 220: /* type_name ::= NCHAR NK_LP NK_INTEGER NK_RP */ -{ yymsp[-3].minor.yy400 = createVarLenDataType(TSDB_DATA_TYPE_NCHAR, &yymsp[-1].minor.yy0); } + case 221: /* type_name ::= NCHAR NK_LP NK_INTEGER NK_RP */ +{ yymsp[-3].minor.yy874 = createVarLenDataType(TSDB_DATA_TYPE_NCHAR, &yymsp[-1].minor.yy0); } break; - case 221: /* type_name ::= TINYINT UNSIGNED */ -{ yymsp[-1].minor.yy400 = createDataType(TSDB_DATA_TYPE_UTINYINT); } + case 222: /* type_name ::= TINYINT UNSIGNED */ +{ yymsp[-1].minor.yy874 = createDataType(TSDB_DATA_TYPE_UTINYINT); } break; - case 222: /* type_name ::= SMALLINT UNSIGNED */ -{ yymsp[-1].minor.yy400 = createDataType(TSDB_DATA_TYPE_USMALLINT); } + case 223: /* type_name ::= SMALLINT UNSIGNED */ +{ yymsp[-1].minor.yy874 = createDataType(TSDB_DATA_TYPE_USMALLINT); } break; - case 223: /* type_name ::= INT UNSIGNED */ -{ yymsp[-1].minor.yy400 = createDataType(TSDB_DATA_TYPE_UINT); } + case 224: /* type_name ::= INT UNSIGNED */ +{ yymsp[-1].minor.yy874 = createDataType(TSDB_DATA_TYPE_UINT); } break; - case 224: /* type_name ::= BIGINT UNSIGNED */ -{ yymsp[-1].minor.yy400 = createDataType(TSDB_DATA_TYPE_UBIGINT); } + case 225: /* type_name ::= BIGINT UNSIGNED */ +{ yymsp[-1].minor.yy874 = createDataType(TSDB_DATA_TYPE_UBIGINT); } break; - case 225: /* type_name ::= JSON */ -{ yymsp[0].minor.yy400 = createDataType(TSDB_DATA_TYPE_JSON); } + case 226: /* type_name ::= JSON */ +{ yymsp[0].minor.yy874 = createDataType(TSDB_DATA_TYPE_JSON); } break; - case 226: /* type_name ::= VARCHAR NK_LP NK_INTEGER NK_RP */ -{ yymsp[-3].minor.yy400 = createVarLenDataType(TSDB_DATA_TYPE_VARCHAR, &yymsp[-1].minor.yy0); } + case 227: /* type_name ::= VARCHAR NK_LP NK_INTEGER NK_RP */ +{ yymsp[-3].minor.yy874 = createVarLenDataType(TSDB_DATA_TYPE_VARCHAR, &yymsp[-1].minor.yy0); } break; - case 227: /* type_name ::= MEDIUMBLOB */ -{ yymsp[0].minor.yy400 = createDataType(TSDB_DATA_TYPE_MEDIUMBLOB); } + case 228: /* type_name ::= MEDIUMBLOB */ +{ yymsp[0].minor.yy874 = createDataType(TSDB_DATA_TYPE_MEDIUMBLOB); } break; - case 228: /* type_name ::= BLOB */ -{ yymsp[0].minor.yy400 = createDataType(TSDB_DATA_TYPE_BLOB); } + case 229: /* type_name ::= BLOB */ +{ yymsp[0].minor.yy874 = createDataType(TSDB_DATA_TYPE_BLOB); } break; - case 229: /* type_name ::= VARBINARY NK_LP NK_INTEGER NK_RP */ -{ yymsp[-3].minor.yy400 = createVarLenDataType(TSDB_DATA_TYPE_VARBINARY, &yymsp[-1].minor.yy0); } + case 230: /* type_name ::= VARBINARY NK_LP NK_INTEGER NK_RP */ +{ yymsp[-3].minor.yy874 = createVarLenDataType(TSDB_DATA_TYPE_VARBINARY, &yymsp[-1].minor.yy0); } break; - case 230: /* type_name ::= GEOMETRY NK_LP NK_INTEGER NK_RP */ -{ yymsp[-3].minor.yy400 = createVarLenDataType(TSDB_DATA_TYPE_GEOMETRY, &yymsp[-1].minor.yy0); } + case 231: /* type_name ::= GEOMETRY NK_LP NK_INTEGER NK_RP */ +{ yymsp[-3].minor.yy874 = createVarLenDataType(TSDB_DATA_TYPE_GEOMETRY, &yymsp[-1].minor.yy0); } break; - case 231: /* type_name ::= DECIMAL */ -{ yymsp[0].minor.yy400 = createDataType(TSDB_DATA_TYPE_DECIMAL); } + case 232: /* type_name ::= DECIMAL */ +{ yymsp[0].minor.yy874 = createDataType(TSDB_DATA_TYPE_DECIMAL); } break; - case 232: /* type_name ::= DECIMAL NK_LP NK_INTEGER NK_RP */ -{ yymsp[-3].minor.yy400 = createDataType(TSDB_DATA_TYPE_DECIMAL); } + case 233: /* type_name ::= DECIMAL NK_LP NK_INTEGER NK_RP */ +{ yymsp[-3].minor.yy874 = createDataType(TSDB_DATA_TYPE_DECIMAL); } break; - case 233: /* type_name ::= DECIMAL NK_LP NK_INTEGER NK_COMMA NK_INTEGER NK_RP */ -{ yymsp[-5].minor.yy400 = createDataType(TSDB_DATA_TYPE_DECIMAL); } + case 234: /* type_name ::= DECIMAL NK_LP NK_INTEGER NK_COMMA NK_INTEGER NK_RP */ +{ yymsp[-5].minor.yy874 = createDataType(TSDB_DATA_TYPE_DECIMAL); } break; - case 234: /* type_name_default_len ::= BINARY */ -{ yymsp[0].minor.yy400 = createVarLenDataType(TSDB_DATA_TYPE_BINARY, NULL); } + case 235: /* type_name_default_len ::= BINARY */ +{ yymsp[0].minor.yy874 = createVarLenDataType(TSDB_DATA_TYPE_BINARY, NULL); } break; - case 235: /* type_name_default_len ::= NCHAR */ -{ yymsp[0].minor.yy400 = createVarLenDataType(TSDB_DATA_TYPE_NCHAR, NULL); } + case 236: /* type_name_default_len ::= NCHAR */ +{ yymsp[0].minor.yy874 = createVarLenDataType(TSDB_DATA_TYPE_NCHAR, NULL); } break; - case 236: /* type_name_default_len ::= VARCHAR */ -{ yymsp[0].minor.yy400 = createVarLenDataType(TSDB_DATA_TYPE_VARCHAR, NULL); } + case 237: /* type_name_default_len ::= VARCHAR */ +{ yymsp[0].minor.yy874 = createVarLenDataType(TSDB_DATA_TYPE_VARCHAR, NULL); } break; - case 237: /* type_name_default_len ::= VARBINARY */ -{ yymsp[0].minor.yy400 = createVarLenDataType(TSDB_DATA_TYPE_VARBINARY, NULL); } + case 238: /* type_name_default_len ::= VARBINARY */ +{ yymsp[0].minor.yy874 = createVarLenDataType(TSDB_DATA_TYPE_VARBINARY, NULL); } break; - case 240: /* tags_def ::= TAGS NK_LP tag_def_list NK_RP */ - case 410: /* tag_def_or_ref_opt ::= TAGS NK_LP column_stream_def_list NK_RP */ yytestcase(yyruleno==410); -{ yymsp[-3].minor.yy748 = yymsp[-1].minor.yy748; } + case 241: /* tags_def ::= TAGS NK_LP tag_def_list NK_RP */ + case 411: /* tag_def_or_ref_opt ::= TAGS NK_LP column_stream_def_list NK_RP */ yytestcase(yyruleno==411); +{ yymsp[-3].minor.yy34 = yymsp[-1].minor.yy34; } break; - case 241: /* table_options ::= */ -{ yymsp[1].minor.yy600 = createDefaultTableOptions(pCxt); } + case 242: /* table_options ::= */ +{ yymsp[1].minor.yy452 = createDefaultTableOptions(pCxt); } break; - case 242: /* table_options ::= table_options COMMENT NK_STRING */ -{ yylhsminor.yy600 = setTableOption(pCxt, yymsp[-2].minor.yy600, TABLE_OPTION_COMMENT, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy600 = yylhsminor.yy600; + case 243: /* table_options ::= table_options COMMENT NK_STRING */ +{ yylhsminor.yy452 = setTableOption(pCxt, yymsp[-2].minor.yy452, TABLE_OPTION_COMMENT, &yymsp[0].minor.yy0); } + yymsp[-2].minor.yy452 = yylhsminor.yy452; break; - case 243: /* table_options ::= table_options MAX_DELAY duration_list */ -{ yylhsminor.yy600 = setTableOption(pCxt, yymsp[-2].minor.yy600, TABLE_OPTION_MAXDELAY, yymsp[0].minor.yy748); } - yymsp[-2].minor.yy600 = yylhsminor.yy600; + case 244: /* table_options ::= table_options MAX_DELAY duration_list */ +{ yylhsminor.yy452 = setTableOption(pCxt, yymsp[-2].minor.yy452, TABLE_OPTION_MAXDELAY, yymsp[0].minor.yy34); } + yymsp[-2].minor.yy452 = yylhsminor.yy452; break; - case 244: /* table_options ::= table_options WATERMARK duration_list */ -{ yylhsminor.yy600 = setTableOption(pCxt, yymsp[-2].minor.yy600, TABLE_OPTION_WATERMARK, yymsp[0].minor.yy748); } - yymsp[-2].minor.yy600 = yylhsminor.yy600; + case 245: /* table_options ::= table_options WATERMARK duration_list */ +{ yylhsminor.yy452 = setTableOption(pCxt, yymsp[-2].minor.yy452, TABLE_OPTION_WATERMARK, yymsp[0].minor.yy34); } + yymsp[-2].minor.yy452 = yylhsminor.yy452; break; - case 245: /* table_options ::= table_options ROLLUP NK_LP rollup_func_list NK_RP */ -{ yylhsminor.yy600 = setTableOption(pCxt, yymsp[-4].minor.yy600, TABLE_OPTION_ROLLUP, yymsp[-1].minor.yy748); } - yymsp[-4].minor.yy600 = yylhsminor.yy600; + case 246: /* table_options ::= table_options ROLLUP NK_LP rollup_func_list NK_RP */ +{ yylhsminor.yy452 = setTableOption(pCxt, yymsp[-4].minor.yy452, TABLE_OPTION_ROLLUP, yymsp[-1].minor.yy34); } + yymsp[-4].minor.yy452 = yylhsminor.yy452; break; - case 246: /* table_options ::= table_options TTL NK_INTEGER */ -{ yylhsminor.yy600 = setTableOption(pCxt, yymsp[-2].minor.yy600, TABLE_OPTION_TTL, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy600 = yylhsminor.yy600; + case 247: /* table_options ::= table_options TTL NK_INTEGER */ +{ yylhsminor.yy452 = setTableOption(pCxt, yymsp[-2].minor.yy452, TABLE_OPTION_TTL, &yymsp[0].minor.yy0); } + yymsp[-2].minor.yy452 = yylhsminor.yy452; break; - case 247: /* table_options ::= table_options SMA NK_LP col_name_list NK_RP */ -{ yylhsminor.yy600 = setTableOption(pCxt, yymsp[-4].minor.yy600, TABLE_OPTION_SMA, yymsp[-1].minor.yy748); } - yymsp[-4].minor.yy600 = yylhsminor.yy600; + case 248: /* table_options ::= table_options SMA NK_LP col_name_list NK_RP */ +{ yylhsminor.yy452 = setTableOption(pCxt, yymsp[-4].minor.yy452, TABLE_OPTION_SMA, yymsp[-1].minor.yy34); } + yymsp[-4].minor.yy452 = yylhsminor.yy452; break; - case 248: /* table_options ::= table_options DELETE_MARK duration_list */ -{ yylhsminor.yy600 = setTableOption(pCxt, yymsp[-2].minor.yy600, TABLE_OPTION_DELETE_MARK, yymsp[0].minor.yy748); } - yymsp[-2].minor.yy600 = yylhsminor.yy600; + case 249: /* table_options ::= table_options DELETE_MARK duration_list */ +{ yylhsminor.yy452 = setTableOption(pCxt, yymsp[-2].minor.yy452, TABLE_OPTION_DELETE_MARK, yymsp[0].minor.yy34); } + yymsp[-2].minor.yy452 = yylhsminor.yy452; break; - case 249: /* alter_table_options ::= alter_table_option */ -{ yylhsminor.yy600 = createAlterTableOptions(pCxt); yylhsminor.yy600 = setTableOption(pCxt, yylhsminor.yy600, yymsp[0].minor.yy145.type, &yymsp[0].minor.yy145.val); } - yymsp[0].minor.yy600 = yylhsminor.yy600; + case 250: /* alter_table_options ::= alter_table_option */ +{ yylhsminor.yy452 = createAlterTableOptions(pCxt); yylhsminor.yy452 = setTableOption(pCxt, yylhsminor.yy452, yymsp[0].minor.yy455.type, &yymsp[0].minor.yy455.val); } + yymsp[0].minor.yy452 = yylhsminor.yy452; break; - case 250: /* alter_table_options ::= alter_table_options alter_table_option */ -{ yylhsminor.yy600 = setTableOption(pCxt, yymsp[-1].minor.yy600, yymsp[0].minor.yy145.type, &yymsp[0].minor.yy145.val); } - yymsp[-1].minor.yy600 = yylhsminor.yy600; + case 251: /* alter_table_options ::= alter_table_options alter_table_option */ +{ yylhsminor.yy452 = setTableOption(pCxt, yymsp[-1].minor.yy452, yymsp[0].minor.yy455.type, &yymsp[0].minor.yy455.val); } + yymsp[-1].minor.yy452 = yylhsminor.yy452; break; - case 251: /* alter_table_option ::= COMMENT NK_STRING */ -{ yymsp[-1].minor.yy145.type = TABLE_OPTION_COMMENT; yymsp[-1].minor.yy145.val = yymsp[0].minor.yy0; } + case 252: /* alter_table_option ::= COMMENT NK_STRING */ +{ yymsp[-1].minor.yy455.type = TABLE_OPTION_COMMENT; yymsp[-1].minor.yy455.val = yymsp[0].minor.yy0; } break; - case 252: /* alter_table_option ::= TTL NK_INTEGER */ -{ yymsp[-1].minor.yy145.type = TABLE_OPTION_TTL; yymsp[-1].minor.yy145.val = yymsp[0].minor.yy0; } + case 253: /* alter_table_option ::= TTL NK_INTEGER */ +{ yymsp[-1].minor.yy455.type = TABLE_OPTION_TTL; yymsp[-1].minor.yy455.val = yymsp[0].minor.yy0; } break; - case 253: /* duration_list ::= duration_literal */ - case 539: /* expression_list ::= expr_or_subquery */ yytestcase(yyruleno==539); -{ yylhsminor.yy748 = createNodeList(pCxt, releaseRawExprNode(pCxt, yymsp[0].minor.yy600)); } - yymsp[0].minor.yy748 = yylhsminor.yy748; + case 254: /* duration_list ::= duration_literal */ + case 540: /* expression_list ::= expr_or_subquery */ yytestcase(yyruleno==540); +{ yylhsminor.yy34 = createNodeList(pCxt, releaseRawExprNode(pCxt, yymsp[0].minor.yy452)); } + yymsp[0].minor.yy34 = yylhsminor.yy34; break; - case 254: /* duration_list ::= duration_list NK_COMMA duration_literal */ - case 540: /* expression_list ::= expression_list NK_COMMA expr_or_subquery */ yytestcase(yyruleno==540); -{ yylhsminor.yy748 = addNodeToList(pCxt, yymsp[-2].minor.yy748, releaseRawExprNode(pCxt, yymsp[0].minor.yy600)); } - yymsp[-2].minor.yy748 = yylhsminor.yy748; + case 255: /* duration_list ::= duration_list NK_COMMA duration_literal */ + case 541: /* expression_list ::= expression_list NK_COMMA expr_or_subquery */ yytestcase(yyruleno==541); +{ yylhsminor.yy34 = addNodeToList(pCxt, yymsp[-2].minor.yy34, releaseRawExprNode(pCxt, yymsp[0].minor.yy452)); } + yymsp[-2].minor.yy34 = yylhsminor.yy34; break; - case 257: /* rollup_func_name ::= function_name */ -{ yylhsminor.yy600 = createFunctionNode(pCxt, &yymsp[0].minor.yy649, NULL); } - yymsp[0].minor.yy600 = yylhsminor.yy600; + case 258: /* rollup_func_name ::= function_name */ +{ yylhsminor.yy452 = createFunctionNode(pCxt, &yymsp[0].minor.yy479, NULL); } + yymsp[0].minor.yy452 = yylhsminor.yy452; break; - case 258: /* rollup_func_name ::= FIRST */ - case 259: /* rollup_func_name ::= LAST */ yytestcase(yyruleno==259); - case 332: /* tag_item ::= QTAGS */ yytestcase(yyruleno==332); -{ yylhsminor.yy600 = createFunctionNode(pCxt, &yymsp[0].minor.yy0, NULL); } - yymsp[0].minor.yy600 = yylhsminor.yy600; + case 259: /* rollup_func_name ::= FIRST */ + case 260: /* rollup_func_name ::= LAST */ yytestcase(yyruleno==260); + case 333: /* tag_item ::= QTAGS */ yytestcase(yyruleno==333); +{ yylhsminor.yy452 = createFunctionNode(pCxt, &yymsp[0].minor.yy0, NULL); } + yymsp[0].minor.yy452 = yylhsminor.yy452; break; - case 262: /* col_name ::= column_name */ - case 333: /* tag_item ::= column_name */ yytestcase(yyruleno==333); -{ yylhsminor.yy600 = createColumnNode(pCxt, NULL, &yymsp[0].minor.yy649); } - yymsp[0].minor.yy600 = yylhsminor.yy600; + case 263: /* col_name ::= column_name */ + case 334: /* tag_item ::= column_name */ yytestcase(yyruleno==334); +{ yylhsminor.yy452 = createColumnNode(pCxt, NULL, &yymsp[0].minor.yy479); } + yymsp[0].minor.yy452 = yylhsminor.yy452; break; - case 263: /* cmd ::= SHOW DNODES */ + case 264: /* cmd ::= SHOW DNODES */ { pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_DNODES_STMT); } break; - case 264: /* cmd ::= SHOW USERS */ + case 265: /* cmd ::= SHOW USERS */ { pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_USERS_STMT); } break; - case 265: /* cmd ::= SHOW USER PRIVILEGES */ + case 266: /* cmd ::= SHOW USER PRIVILEGES */ { pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_USER_PRIVILEGES_STMT); } break; - case 266: /* cmd ::= SHOW db_kind_opt DATABASES */ + case 267: /* cmd ::= SHOW db_kind_opt DATABASES */ { pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_DATABASES_STMT); - setShowKind(pCxt, pCxt->pRootNode, yymsp[-1].minor.yy245); + setShowKind(pCxt, pCxt->pRootNode, yymsp[-1].minor.yy39); } break; - case 267: /* cmd ::= SHOW table_kind_db_name_cond_opt TABLES like_pattern_opt */ + case 268: /* cmd ::= SHOW table_kind_db_name_cond_opt TABLES like_pattern_opt */ { - pCxt->pRootNode = createShowTablesStmt(pCxt, yymsp[-2].minor.yy125, yymsp[0].minor.yy600, OP_TYPE_LIKE); + pCxt->pRootNode = createShowTablesStmt(pCxt, yymsp[-2].minor.yy397, yymsp[0].minor.yy452, OP_TYPE_LIKE); } break; - case 268: /* cmd ::= SHOW db_name_cond_opt STABLES like_pattern_opt */ -{ pCxt->pRootNode = createShowStmtWithCond(pCxt, QUERY_NODE_SHOW_STABLES_STMT, yymsp[-2].minor.yy600, yymsp[0].minor.yy600, OP_TYPE_LIKE); } + case 269: /* cmd ::= SHOW db_name_cond_opt STABLES like_pattern_opt */ +{ pCxt->pRootNode = createShowStmtWithCond(pCxt, QUERY_NODE_SHOW_STABLES_STMT, yymsp[-2].minor.yy452, yymsp[0].minor.yy452, OP_TYPE_LIKE); } break; - case 269: /* cmd ::= SHOW db_name_cond_opt VGROUPS */ -{ pCxt->pRootNode = createShowStmtWithCond(pCxt, QUERY_NODE_SHOW_VGROUPS_STMT, yymsp[-1].minor.yy600, NULL, OP_TYPE_LIKE); } + case 270: /* cmd ::= SHOW db_name_cond_opt VGROUPS */ +{ pCxt->pRootNode = createShowStmtWithCond(pCxt, QUERY_NODE_SHOW_VGROUPS_STMT, yymsp[-1].minor.yy452, NULL, OP_TYPE_LIKE); } break; - case 270: /* cmd ::= SHOW MNODES */ + case 271: /* cmd ::= SHOW MNODES */ { pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_MNODES_STMT); } break; - case 271: /* cmd ::= SHOW QNODES */ + case 272: /* cmd ::= SHOW QNODES */ { pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_QNODES_STMT); } break; - case 272: /* cmd ::= SHOW ARBGROUPS */ + case 273: /* cmd ::= SHOW ARBGROUPS */ { pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_ARBGROUPS_STMT); } break; - case 273: /* cmd ::= SHOW FUNCTIONS */ + case 274: /* cmd ::= SHOW FUNCTIONS */ { pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_FUNCTIONS_STMT); } break; - case 274: /* cmd ::= SHOW INDEXES FROM table_name_cond from_db_opt */ -{ pCxt->pRootNode = createShowStmtWithCond(pCxt, QUERY_NODE_SHOW_INDEXES_STMT, yymsp[0].minor.yy600, yymsp[-1].minor.yy600, OP_TYPE_EQUAL); } + case 275: /* cmd ::= SHOW INDEXES FROM table_name_cond from_db_opt */ +{ pCxt->pRootNode = createShowStmtWithCond(pCxt, QUERY_NODE_SHOW_INDEXES_STMT, yymsp[0].minor.yy452, yymsp[-1].minor.yy452, OP_TYPE_EQUAL); } break; - case 275: /* cmd ::= SHOW INDEXES FROM db_name NK_DOT table_name */ -{ pCxt->pRootNode = createShowStmtWithCond(pCxt, QUERY_NODE_SHOW_INDEXES_STMT, createIdentifierValueNode(pCxt, &yymsp[-2].minor.yy649), createIdentifierValueNode(pCxt, &yymsp[0].minor.yy649), OP_TYPE_EQUAL); } + case 276: /* cmd ::= SHOW INDEXES FROM db_name NK_DOT table_name */ +{ pCxt->pRootNode = createShowStmtWithCond(pCxt, QUERY_NODE_SHOW_INDEXES_STMT, createIdentifierValueNode(pCxt, &yymsp[-2].minor.yy479), createIdentifierValueNode(pCxt, &yymsp[0].minor.yy479), OP_TYPE_EQUAL); } break; - case 276: /* cmd ::= SHOW STREAMS */ + case 277: /* cmd ::= SHOW STREAMS */ { pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_STREAMS_STMT); } break; - case 277: /* cmd ::= SHOW ACCOUNTS */ + case 278: /* cmd ::= SHOW ACCOUNTS */ { pCxt->errCode = generateSyntaxErrMsg(&pCxt->msgBuf, TSDB_CODE_PAR_EXPRIE_STATEMENT); } break; - case 278: /* cmd ::= SHOW APPS */ + case 279: /* cmd ::= SHOW APPS */ { pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_APPS_STMT); } break; - case 279: /* cmd ::= SHOW CONNECTIONS */ + case 280: /* cmd ::= SHOW CONNECTIONS */ { pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_CONNECTIONS_STMT); } break; - case 280: /* cmd ::= SHOW LICENCES */ - case 281: /* cmd ::= SHOW GRANTS */ yytestcase(yyruleno==281); + case 281: /* cmd ::= SHOW LICENCES */ + case 282: /* cmd ::= SHOW GRANTS */ yytestcase(yyruleno==282); { pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_LICENCES_STMT); } break; - case 282: /* cmd ::= SHOW GRANTS FULL */ + case 283: /* cmd ::= SHOW GRANTS FULL */ { pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_GRANTS_FULL_STMT); } break; - case 283: /* cmd ::= SHOW GRANTS LOGS */ + case 284: /* cmd ::= SHOW GRANTS LOGS */ { pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_GRANTS_LOGS_STMT); } break; - case 284: /* cmd ::= SHOW CLUSTER MACHINES */ + case 285: /* cmd ::= SHOW CLUSTER MACHINES */ { pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_CLUSTER_MACHINES_STMT); } break; - case 285: /* cmd ::= SHOW CREATE DATABASE db_name */ -{ pCxt->pRootNode = createShowCreateDatabaseStmt(pCxt, &yymsp[0].minor.yy649); } + case 286: /* cmd ::= SHOW CREATE DATABASE db_name */ +{ pCxt->pRootNode = createShowCreateDatabaseStmt(pCxt, &yymsp[0].minor.yy479); } break; - case 286: /* cmd ::= SHOW CREATE TABLE full_table_name */ -{ pCxt->pRootNode = createShowCreateTableStmt(pCxt, QUERY_NODE_SHOW_CREATE_TABLE_STMT, yymsp[0].minor.yy600); } + case 287: /* cmd ::= SHOW CREATE TABLE full_table_name */ +{ pCxt->pRootNode = createShowCreateTableStmt(pCxt, QUERY_NODE_SHOW_CREATE_TABLE_STMT, yymsp[0].minor.yy452); } break; - case 287: /* cmd ::= SHOW CREATE STABLE full_table_name */ + case 288: /* cmd ::= SHOW CREATE STABLE full_table_name */ { pCxt->pRootNode = createShowCreateTableStmt(pCxt, QUERY_NODE_SHOW_CREATE_STABLE_STMT, -yymsp[0].minor.yy600); } +yymsp[0].minor.yy452); } break; - case 288: /* cmd ::= SHOW ENCRYPTIONS */ + case 289: /* cmd ::= SHOW ENCRYPTIONS */ { pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_ENCRYPTIONS_STMT); } break; - case 289: /* cmd ::= SHOW QUERIES */ + case 290: /* cmd ::= SHOW QUERIES */ { pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_QUERIES_STMT); } break; - case 290: /* cmd ::= SHOW SCORES */ + case 291: /* cmd ::= SHOW SCORES */ { pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_SCORES_STMT); } break; - case 291: /* cmd ::= SHOW TOPICS */ + case 292: /* cmd ::= SHOW TOPICS */ { pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_TOPICS_STMT); } break; - case 292: /* cmd ::= SHOW VARIABLES */ - case 293: /* cmd ::= SHOW CLUSTER VARIABLES */ yytestcase(yyruleno==293); + case 293: /* cmd ::= SHOW VARIABLES */ + case 294: /* cmd ::= SHOW CLUSTER VARIABLES */ yytestcase(yyruleno==294); { pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_VARIABLES_STMT); } break; - case 294: /* cmd ::= SHOW LOCAL VARIABLES */ + case 295: /* cmd ::= SHOW LOCAL VARIABLES */ { pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_LOCAL_VARIABLES_STMT); } break; - case 295: /* cmd ::= SHOW DNODE NK_INTEGER VARIABLES like_pattern_opt */ -{ pCxt->pRootNode = createShowDnodeVariablesStmt(pCxt, createValueNode(pCxt, TSDB_DATA_TYPE_BIGINT, &yymsp[-2].minor.yy0), yymsp[0].minor.yy600); } + case 296: /* cmd ::= SHOW DNODE NK_INTEGER VARIABLES like_pattern_opt */ +{ pCxt->pRootNode = createShowDnodeVariablesStmt(pCxt, createValueNode(pCxt, TSDB_DATA_TYPE_BIGINT, &yymsp[-2].minor.yy0), yymsp[0].minor.yy452); } break; - case 296: /* cmd ::= SHOW BNODES */ + case 297: /* cmd ::= SHOW BNODES */ { pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_BNODES_STMT); } break; - case 297: /* cmd ::= SHOW SNODES */ + case 298: /* cmd ::= SHOW SNODES */ { pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_SNODES_STMT); } break; - case 298: /* cmd ::= SHOW CLUSTER */ + case 299: /* cmd ::= SHOW CLUSTER */ { pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_CLUSTER_STMT); } break; - case 299: /* cmd ::= SHOW TRANSACTIONS */ + case 300: /* cmd ::= SHOW TRANSACTIONS */ { pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_TRANSACTIONS_STMT); } break; - case 300: /* cmd ::= SHOW TABLE DISTRIBUTED full_table_name */ -{ pCxt->pRootNode = createShowTableDistributedStmt(pCxt, yymsp[0].minor.yy600); } + case 301: /* cmd ::= SHOW TABLE DISTRIBUTED full_table_name */ +{ pCxt->pRootNode = createShowTableDistributedStmt(pCxt, yymsp[0].minor.yy452); } break; - case 301: /* cmd ::= SHOW CONSUMERS */ + case 302: /* cmd ::= SHOW CONSUMERS */ { pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_CONSUMERS_STMT); } break; - case 302: /* cmd ::= SHOW SUBSCRIPTIONS */ + case 303: /* cmd ::= SHOW SUBSCRIPTIONS */ { pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_SUBSCRIPTIONS_STMT); } break; - case 303: /* cmd ::= SHOW TAGS FROM table_name_cond from_db_opt */ -{ pCxt->pRootNode = createShowStmtWithCond(pCxt, QUERY_NODE_SHOW_TAGS_STMT, yymsp[0].minor.yy600, yymsp[-1].minor.yy600, OP_TYPE_EQUAL); } + case 304: /* cmd ::= SHOW TAGS FROM table_name_cond from_db_opt */ +{ pCxt->pRootNode = createShowStmtWithCond(pCxt, QUERY_NODE_SHOW_TAGS_STMT, yymsp[0].minor.yy452, yymsp[-1].minor.yy452, OP_TYPE_EQUAL); } break; - case 304: /* cmd ::= SHOW TAGS FROM db_name NK_DOT table_name */ -{ pCxt->pRootNode = createShowStmtWithCond(pCxt, QUERY_NODE_SHOW_TAGS_STMT, createIdentifierValueNode(pCxt, &yymsp[-2].minor.yy649), createIdentifierValueNode(pCxt, &yymsp[0].minor.yy649), OP_TYPE_EQUAL); } + case 305: /* cmd ::= SHOW TAGS FROM db_name NK_DOT table_name */ +{ pCxt->pRootNode = createShowStmtWithCond(pCxt, QUERY_NODE_SHOW_TAGS_STMT, createIdentifierValueNode(pCxt, &yymsp[-2].minor.yy479), createIdentifierValueNode(pCxt, &yymsp[0].minor.yy479), OP_TYPE_EQUAL); } break; - case 305: /* cmd ::= SHOW TABLE TAGS tag_list_opt FROM table_name_cond from_db_opt */ -{ pCxt->pRootNode = createShowTableTagsStmt(pCxt, yymsp[-1].minor.yy600, yymsp[0].minor.yy600, yymsp[-3].minor.yy748); } + case 306: /* cmd ::= SHOW TABLE TAGS tag_list_opt FROM table_name_cond from_db_opt */ +{ pCxt->pRootNode = createShowTableTagsStmt(pCxt, yymsp[-1].minor.yy452, yymsp[0].minor.yy452, yymsp[-3].minor.yy34); } break; - case 306: /* cmd ::= SHOW TABLE TAGS tag_list_opt FROM db_name NK_DOT table_name */ -{ pCxt->pRootNode = createShowTableTagsStmt(pCxt, createIdentifierValueNode(pCxt, &yymsp[0].minor.yy649), createIdentifierValueNode(pCxt, &yymsp[-2].minor.yy649), yymsp[-4].minor.yy748); } + case 307: /* cmd ::= SHOW TABLE TAGS tag_list_opt FROM db_name NK_DOT table_name */ +{ pCxt->pRootNode = createShowTableTagsStmt(pCxt, createIdentifierValueNode(pCxt, &yymsp[0].minor.yy479), createIdentifierValueNode(pCxt, &yymsp[-2].minor.yy479), yymsp[-4].minor.yy34); } break; - case 307: /* cmd ::= SHOW VNODES ON DNODE NK_INTEGER */ + case 308: /* cmd ::= SHOW VNODES ON DNODE NK_INTEGER */ { pCxt->pRootNode = createShowVnodesStmt(pCxt, createValueNode(pCxt, TSDB_DATA_TYPE_BIGINT, &yymsp[0].minor.yy0), NULL); } break; - case 308: /* cmd ::= SHOW VNODES */ + case 309: /* cmd ::= SHOW VNODES */ { pCxt->pRootNode = createShowVnodesStmt(pCxt, NULL, NULL); } break; - case 309: /* cmd ::= SHOW db_name_cond_opt ALIVE */ -{ pCxt->pRootNode = createShowAliveStmt(pCxt, yymsp[-1].minor.yy600, QUERY_NODE_SHOW_DB_ALIVE_STMT); } + case 310: /* cmd ::= SHOW db_name_cond_opt ALIVE */ +{ pCxt->pRootNode = createShowAliveStmt(pCxt, yymsp[-1].minor.yy452, QUERY_NODE_SHOW_DB_ALIVE_STMT); } break; - case 310: /* cmd ::= SHOW CLUSTER ALIVE */ + case 311: /* cmd ::= SHOW CLUSTER ALIVE */ { pCxt->pRootNode = createShowAliveStmt(pCxt, NULL, QUERY_NODE_SHOW_CLUSTER_ALIVE_STMT); } break; - case 311: /* cmd ::= SHOW db_name_cond_opt VIEWS like_pattern_opt */ -{ pCxt->pRootNode = createShowStmtWithCond(pCxt, QUERY_NODE_SHOW_VIEWS_STMT, yymsp[-2].minor.yy600, yymsp[0].minor.yy600, OP_TYPE_LIKE); } + case 312: /* cmd ::= SHOW db_name_cond_opt VIEWS like_pattern_opt */ +{ pCxt->pRootNode = createShowStmtWithCond(pCxt, QUERY_NODE_SHOW_VIEWS_STMT, yymsp[-2].minor.yy452, yymsp[0].minor.yy452, OP_TYPE_LIKE); } break; - case 312: /* cmd ::= SHOW CREATE VIEW full_table_name */ -{ pCxt->pRootNode = createShowCreateViewStmt(pCxt, QUERY_NODE_SHOW_CREATE_VIEW_STMT, yymsp[0].minor.yy600); } + case 313: /* cmd ::= SHOW CREATE VIEW full_table_name */ +{ pCxt->pRootNode = createShowCreateViewStmt(pCxt, QUERY_NODE_SHOW_CREATE_VIEW_STMT, yymsp[0].minor.yy452); } break; - case 313: /* cmd ::= SHOW COMPACTS */ + case 314: /* cmd ::= SHOW COMPACTS */ { pCxt->pRootNode = createShowCompactsStmt(pCxt, QUERY_NODE_SHOW_COMPACTS_STMT); } break; - case 314: /* cmd ::= SHOW COMPACT NK_INTEGER */ + case 315: /* cmd ::= SHOW COMPACT NK_INTEGER */ { pCxt->pRootNode = createShowCompactDetailsStmt(pCxt, createValueNode(pCxt, TSDB_DATA_TYPE_BIGINT, &yymsp[0].minor.yy0)); } break; - case 315: /* table_kind_db_name_cond_opt ::= */ -{ yymsp[1].minor.yy125.kind = SHOW_KIND_ALL; yymsp[1].minor.yy125.dbName = nil_token; } + case 316: /* table_kind_db_name_cond_opt ::= */ +{ yymsp[1].minor.yy397.kind = SHOW_KIND_ALL; yymsp[1].minor.yy397.dbName = nil_token; } break; - case 316: /* table_kind_db_name_cond_opt ::= table_kind */ -{ yylhsminor.yy125.kind = yymsp[0].minor.yy245; yylhsminor.yy125.dbName = nil_token; } - yymsp[0].minor.yy125 = yylhsminor.yy125; + case 317: /* table_kind_db_name_cond_opt ::= table_kind */ +{ yylhsminor.yy397.kind = yymsp[0].minor.yy39; yylhsminor.yy397.dbName = nil_token; } + yymsp[0].minor.yy397 = yylhsminor.yy397; break; - case 317: /* table_kind_db_name_cond_opt ::= db_name NK_DOT */ -{ yylhsminor.yy125.kind = SHOW_KIND_ALL; yylhsminor.yy125.dbName = yymsp[-1].minor.yy649; } - yymsp[-1].minor.yy125 = yylhsminor.yy125; + case 318: /* table_kind_db_name_cond_opt ::= db_name NK_DOT */ +{ yylhsminor.yy397.kind = SHOW_KIND_ALL; yylhsminor.yy397.dbName = yymsp[-1].minor.yy479; } + yymsp[-1].minor.yy397 = yylhsminor.yy397; break; - case 318: /* table_kind_db_name_cond_opt ::= table_kind db_name NK_DOT */ -{ yylhsminor.yy125.kind = yymsp[-2].minor.yy245; yylhsminor.yy125.dbName = yymsp[-1].minor.yy649; } - yymsp[-2].minor.yy125 = yylhsminor.yy125; + case 319: /* table_kind_db_name_cond_opt ::= table_kind db_name NK_DOT */ +{ yylhsminor.yy397.kind = yymsp[-2].minor.yy39; yylhsminor.yy397.dbName = yymsp[-1].minor.yy479; } + yymsp[-2].minor.yy397 = yylhsminor.yy397; break; - case 319: /* table_kind ::= NORMAL */ -{ yymsp[0].minor.yy245 = SHOW_KIND_TABLES_NORMAL; } + case 320: /* table_kind ::= NORMAL */ +{ yymsp[0].minor.yy39 = SHOW_KIND_TABLES_NORMAL; } break; - case 320: /* table_kind ::= CHILD */ -{ yymsp[0].minor.yy245 = SHOW_KIND_TABLES_CHILD; } + case 321: /* table_kind ::= CHILD */ +{ yymsp[0].minor.yy39 = SHOW_KIND_TABLES_CHILD; } break; - case 321: /* db_name_cond_opt ::= */ - case 326: /* from_db_opt ::= */ yytestcase(yyruleno==326); -{ yymsp[1].minor.yy600 = createDefaultDatabaseCondValue(pCxt); } + case 322: /* db_name_cond_opt ::= */ + case 327: /* from_db_opt ::= */ yytestcase(yyruleno==327); +{ yymsp[1].minor.yy452 = createDefaultDatabaseCondValue(pCxt); } break; - case 322: /* db_name_cond_opt ::= db_name NK_DOT */ -{ yylhsminor.yy600 = createIdentifierValueNode(pCxt, &yymsp[-1].minor.yy649); } - yymsp[-1].minor.yy600 = yylhsminor.yy600; + case 323: /* db_name_cond_opt ::= db_name NK_DOT */ +{ yylhsminor.yy452 = createIdentifierValueNode(pCxt, &yymsp[-1].minor.yy479); } + yymsp[-1].minor.yy452 = yylhsminor.yy452; break; - case 324: /* like_pattern_opt ::= LIKE NK_STRING */ -{ yymsp[-1].minor.yy600 = createValueNode(pCxt, TSDB_DATA_TYPE_BINARY, &yymsp[0].minor.yy0); } + case 325: /* like_pattern_opt ::= LIKE NK_STRING */ +{ yymsp[-1].minor.yy452 = createValueNode(pCxt, TSDB_DATA_TYPE_BINARY, &yymsp[0].minor.yy0); } break; - case 325: /* table_name_cond ::= table_name */ -{ yylhsminor.yy600 = createIdentifierValueNode(pCxt, &yymsp[0].minor.yy649); } - yymsp[0].minor.yy600 = yylhsminor.yy600; + case 326: /* table_name_cond ::= table_name */ +{ yylhsminor.yy452 = createIdentifierValueNode(pCxt, &yymsp[0].minor.yy479); } + yymsp[0].minor.yy452 = yylhsminor.yy452; break; - case 327: /* from_db_opt ::= FROM db_name */ -{ yymsp[-1].minor.yy600 = createIdentifierValueNode(pCxt, &yymsp[0].minor.yy649); } + case 328: /* from_db_opt ::= FROM db_name */ +{ yymsp[-1].minor.yy452 = createIdentifierValueNode(pCxt, &yymsp[0].minor.yy479); } break; - case 331: /* tag_item ::= TBNAME */ -{ yylhsminor.yy600 = setProjectionAlias(pCxt, createFunctionNode(pCxt, &yymsp[0].minor.yy0, NULL), &yymsp[0].minor.yy0); } - yymsp[0].minor.yy600 = yylhsminor.yy600; + case 332: /* tag_item ::= TBNAME */ +{ yylhsminor.yy452 = setProjectionAlias(pCxt, createFunctionNode(pCxt, &yymsp[0].minor.yy0, NULL), &yymsp[0].minor.yy0); } + yymsp[0].minor.yy452 = yylhsminor.yy452; break; - case 334: /* tag_item ::= column_name column_alias */ -{ yylhsminor.yy600 = setProjectionAlias(pCxt, createColumnNode(pCxt, NULL, &yymsp[-1].minor.yy649), &yymsp[0].minor.yy649); } - yymsp[-1].minor.yy600 = yylhsminor.yy600; + case 335: /* tag_item ::= column_name column_alias */ +{ yylhsminor.yy452 = setProjectionAlias(pCxt, createColumnNode(pCxt, NULL, &yymsp[-1].minor.yy479), &yymsp[0].minor.yy479); } + yymsp[-1].minor.yy452 = yylhsminor.yy452; break; - case 335: /* tag_item ::= column_name AS column_alias */ -{ yylhsminor.yy600 = setProjectionAlias(pCxt, createColumnNode(pCxt, NULL, &yymsp[-2].minor.yy649), &yymsp[0].minor.yy649); } - yymsp[-2].minor.yy600 = yylhsminor.yy600; + case 336: /* tag_item ::= column_name AS column_alias */ +{ yylhsminor.yy452 = setProjectionAlias(pCxt, createColumnNode(pCxt, NULL, &yymsp[-2].minor.yy479), &yymsp[0].minor.yy479); } + yymsp[-2].minor.yy452 = yylhsminor.yy452; break; - case 336: /* db_kind_opt ::= */ -{ yymsp[1].minor.yy245 = SHOW_KIND_ALL; } + case 337: /* db_kind_opt ::= */ +{ yymsp[1].minor.yy39 = SHOW_KIND_ALL; } break; - case 337: /* db_kind_opt ::= USER */ -{ yymsp[0].minor.yy245 = SHOW_KIND_DATABASES_USER; } + case 338: /* db_kind_opt ::= USER */ +{ yymsp[0].minor.yy39 = SHOW_KIND_DATABASES_USER; } break; - case 338: /* db_kind_opt ::= SYSTEM */ -{ yymsp[0].minor.yy245 = SHOW_KIND_DATABASES_SYSTEM; } + case 339: /* db_kind_opt ::= SYSTEM */ +{ yymsp[0].minor.yy39 = SHOW_KIND_DATABASES_SYSTEM; } break; - case 339: /* cmd ::= CREATE TSMA not_exists_opt tsma_name ON full_table_name tsma_func_list INTERVAL NK_LP duration_literal NK_RP */ -{ pCxt->pRootNode = createCreateTSMAStmt(pCxt, yymsp[-8].minor.yy705, &yymsp[-7].minor.yy649, yymsp[-4].minor.yy600, yymsp[-5].minor.yy600, releaseRawExprNode(pCxt, yymsp[-1].minor.yy600)); } + case 340: /* cmd ::= CREATE TSMA not_exists_opt tsma_name ON full_table_name tsma_func_list INTERVAL NK_LP duration_literal NK_RP */ +{ pCxt->pRootNode = createCreateTSMAStmt(pCxt, yymsp[-8].minor.yy437, &yymsp[-7].minor.yy479, yymsp[-4].minor.yy452, yymsp[-5].minor.yy452, releaseRawExprNode(pCxt, yymsp[-1].minor.yy452)); } break; - case 340: /* cmd ::= CREATE RECURSIVE TSMA not_exists_opt tsma_name ON full_table_name INTERVAL NK_LP duration_literal NK_RP */ -{ pCxt->pRootNode = createCreateTSMAStmt(pCxt, yymsp[-7].minor.yy705, &yymsp[-6].minor.yy649, NULL, yymsp[-4].minor.yy600, releaseRawExprNode(pCxt, yymsp[-1].minor.yy600)); } + case 341: /* cmd ::= CREATE RECURSIVE TSMA not_exists_opt tsma_name ON full_table_name INTERVAL NK_LP duration_literal NK_RP */ +{ pCxt->pRootNode = createCreateTSMAStmt(pCxt, yymsp[-7].minor.yy437, &yymsp[-6].minor.yy479, NULL, yymsp[-4].minor.yy452, releaseRawExprNode(pCxt, yymsp[-1].minor.yy452)); } break; - case 341: /* cmd ::= DROP TSMA exists_opt full_tsma_name */ -{ pCxt->pRootNode = createDropTSMAStmt(pCxt, yymsp[-1].minor.yy705, yymsp[0].minor.yy600); } + case 342: /* cmd ::= DROP TSMA exists_opt full_tsma_name */ +{ pCxt->pRootNode = createDropTSMAStmt(pCxt, yymsp[-1].minor.yy437, yymsp[0].minor.yy452); } break; - case 342: /* cmd ::= SHOW db_name_cond_opt TSMAS */ -{ pCxt->pRootNode = createShowTSMASStmt(pCxt, yymsp[-1].minor.yy600); } + case 343: /* cmd ::= SHOW db_name_cond_opt TSMAS */ +{ pCxt->pRootNode = createShowTSMASStmt(pCxt, yymsp[-1].minor.yy452); } break; - case 345: /* tsma_func_list ::= FUNCTION NK_LP func_list NK_RP */ -{ yymsp[-3].minor.yy600 = createTSMAOptions(pCxt, yymsp[-1].minor.yy748); } + case 346: /* tsma_func_list ::= FUNCTION NK_LP func_list NK_RP */ +{ yymsp[-3].minor.yy452 = createTSMAOptions(pCxt, yymsp[-1].minor.yy34); } break; - case 346: /* cmd ::= CREATE SMA INDEX not_exists_opt col_name ON full_table_name index_options */ -{ pCxt->pRootNode = createCreateIndexStmt(pCxt, INDEX_TYPE_SMA, yymsp[-4].minor.yy705, yymsp[-3].minor.yy600, yymsp[-1].minor.yy600, NULL, yymsp[0].minor.yy600); } + case 347: /* cmd ::= CREATE SMA INDEX not_exists_opt col_name ON full_table_name index_options */ +{ pCxt->pRootNode = createCreateIndexStmt(pCxt, INDEX_TYPE_SMA, yymsp[-4].minor.yy437, yymsp[-3].minor.yy452, yymsp[-1].minor.yy452, NULL, yymsp[0].minor.yy452); } break; - case 347: /* cmd ::= CREATE INDEX not_exists_opt col_name ON full_table_name NK_LP col_name_list NK_RP */ -{ pCxt->pRootNode = createCreateIndexStmt(pCxt, INDEX_TYPE_NORMAL, yymsp[-6].minor.yy705, yymsp[-5].minor.yy600, yymsp[-3].minor.yy600, yymsp[-1].minor.yy748, NULL); } + case 348: /* cmd ::= CREATE INDEX not_exists_opt col_name ON full_table_name NK_LP col_name_list NK_RP */ +{ pCxt->pRootNode = createCreateIndexStmt(pCxt, INDEX_TYPE_NORMAL, yymsp[-6].minor.yy437, yymsp[-5].minor.yy452, yymsp[-3].minor.yy452, yymsp[-1].minor.yy34, NULL); } break; - case 348: /* cmd ::= DROP INDEX exists_opt full_index_name */ -{ pCxt->pRootNode = createDropIndexStmt(pCxt, yymsp[-1].minor.yy705, yymsp[0].minor.yy600); } + case 349: /* cmd ::= DROP INDEX exists_opt full_index_name */ +{ pCxt->pRootNode = createDropIndexStmt(pCxt, yymsp[-1].minor.yy437, yymsp[0].minor.yy452); } break; - case 349: /* full_index_name ::= index_name */ -{ yylhsminor.yy600 = createRealTableNodeForIndexName(pCxt, NULL, &yymsp[0].minor.yy649); } - yymsp[0].minor.yy600 = yylhsminor.yy600; + case 350: /* full_index_name ::= index_name */ +{ yylhsminor.yy452 = createRealTableNodeForIndexName(pCxt, NULL, &yymsp[0].minor.yy479); } + yymsp[0].minor.yy452 = yylhsminor.yy452; break; - case 350: /* full_index_name ::= db_name NK_DOT index_name */ -{ yylhsminor.yy600 = createRealTableNodeForIndexName(pCxt, &yymsp[-2].minor.yy649, &yymsp[0].minor.yy649); } - yymsp[-2].minor.yy600 = yylhsminor.yy600; + case 351: /* full_index_name ::= db_name NK_DOT index_name */ +{ yylhsminor.yy452 = createRealTableNodeForIndexName(pCxt, &yymsp[-2].minor.yy479, &yymsp[0].minor.yy479); } + yymsp[-2].minor.yy452 = yylhsminor.yy452; break; - case 351: /* index_options ::= FUNCTION NK_LP func_list NK_RP INTERVAL NK_LP duration_literal NK_RP sliding_opt sma_stream_opt */ -{ yymsp[-9].minor.yy600 = createIndexOption(pCxt, yymsp[-7].minor.yy748, releaseRawExprNode(pCxt, yymsp[-3].minor.yy600), NULL, yymsp[-1].minor.yy600, yymsp[0].minor.yy600); } + case 352: /* index_options ::= FUNCTION NK_LP func_list NK_RP INTERVAL NK_LP duration_literal NK_RP sliding_opt sma_stream_opt */ +{ yymsp[-9].minor.yy452 = createIndexOption(pCxt, yymsp[-7].minor.yy34, releaseRawExprNode(pCxt, yymsp[-3].minor.yy452), NULL, yymsp[-1].minor.yy452, yymsp[0].minor.yy452); } break; - case 352: /* index_options ::= FUNCTION NK_LP func_list NK_RP INTERVAL NK_LP duration_literal NK_COMMA duration_literal NK_RP sliding_opt sma_stream_opt */ -{ yymsp[-11].minor.yy600 = createIndexOption(pCxt, yymsp[-9].minor.yy748, releaseRawExprNode(pCxt, yymsp[-5].minor.yy600), releaseRawExprNode(pCxt, yymsp[-3].minor.yy600), yymsp[-1].minor.yy600, yymsp[0].minor.yy600); } + case 353: /* index_options ::= FUNCTION NK_LP func_list NK_RP INTERVAL NK_LP duration_literal NK_COMMA duration_literal NK_RP sliding_opt sma_stream_opt */ +{ yymsp[-11].minor.yy452 = createIndexOption(pCxt, yymsp[-9].minor.yy34, releaseRawExprNode(pCxt, yymsp[-5].minor.yy452), releaseRawExprNode(pCxt, yymsp[-3].minor.yy452), yymsp[-1].minor.yy452, yymsp[0].minor.yy452); } break; - case 355: /* func ::= sma_func_name NK_LP expression_list NK_RP */ -{ yylhsminor.yy600 = createFunctionNode(pCxt, &yymsp[-3].minor.yy649, yymsp[-1].minor.yy748); } - yymsp[-3].minor.yy600 = yylhsminor.yy600; + case 356: /* func ::= sma_func_name NK_LP expression_list NK_RP */ +{ yylhsminor.yy452 = createFunctionNode(pCxt, &yymsp[-3].minor.yy479, yymsp[-1].minor.yy34); } + yymsp[-3].minor.yy452 = yylhsminor.yy452; break; - case 356: /* sma_func_name ::= function_name */ - case 630: /* alias_opt ::= table_alias */ yytestcase(yyruleno==630); -{ yylhsminor.yy649 = yymsp[0].minor.yy649; } - yymsp[0].minor.yy649 = yylhsminor.yy649; + case 357: /* sma_func_name ::= function_name */ + case 631: /* alias_opt ::= table_alias */ yytestcase(yyruleno==631); +{ yylhsminor.yy479 = yymsp[0].minor.yy479; } + yymsp[0].minor.yy479 = yylhsminor.yy479; break; - case 361: /* sma_stream_opt ::= */ - case 411: /* stream_options ::= */ yytestcase(yyruleno==411); -{ yymsp[1].minor.yy600 = createStreamOptions(pCxt); } + case 362: /* sma_stream_opt ::= */ + case 412: /* stream_options ::= */ yytestcase(yyruleno==412); +{ yymsp[1].minor.yy452 = createStreamOptions(pCxt); } break; - case 362: /* sma_stream_opt ::= sma_stream_opt WATERMARK duration_literal */ -{ ((SStreamOptions*)yymsp[-2].minor.yy600)->pWatermark = releaseRawExprNode(pCxt, yymsp[0].minor.yy600); yylhsminor.yy600 = yymsp[-2].minor.yy600; } - yymsp[-2].minor.yy600 = yylhsminor.yy600; + case 363: /* sma_stream_opt ::= sma_stream_opt WATERMARK duration_literal */ +{ ((SStreamOptions*)yymsp[-2].minor.yy452)->pWatermark = releaseRawExprNode(pCxt, yymsp[0].minor.yy452); yylhsminor.yy452 = yymsp[-2].minor.yy452; } + yymsp[-2].minor.yy452 = yylhsminor.yy452; break; - case 363: /* sma_stream_opt ::= sma_stream_opt MAX_DELAY duration_literal */ -{ ((SStreamOptions*)yymsp[-2].minor.yy600)->pDelay = releaseRawExprNode(pCxt, yymsp[0].minor.yy600); yylhsminor.yy600 = yymsp[-2].minor.yy600; } - yymsp[-2].minor.yy600 = yylhsminor.yy600; + case 364: /* sma_stream_opt ::= sma_stream_opt MAX_DELAY duration_literal */ +{ ((SStreamOptions*)yymsp[-2].minor.yy452)->pDelay = releaseRawExprNode(pCxt, yymsp[0].minor.yy452); yylhsminor.yy452 = yymsp[-2].minor.yy452; } + yymsp[-2].minor.yy452 = yylhsminor.yy452; break; - case 364: /* sma_stream_opt ::= sma_stream_opt DELETE_MARK duration_literal */ -{ ((SStreamOptions*)yymsp[-2].minor.yy600)->pDeleteMark = releaseRawExprNode(pCxt, yymsp[0].minor.yy600); yylhsminor.yy600 = yymsp[-2].minor.yy600; } - yymsp[-2].minor.yy600 = yylhsminor.yy600; + case 365: /* sma_stream_opt ::= sma_stream_opt DELETE_MARK duration_literal */ +{ ((SStreamOptions*)yymsp[-2].minor.yy452)->pDeleteMark = releaseRawExprNode(pCxt, yymsp[0].minor.yy452); yylhsminor.yy452 = yymsp[-2].minor.yy452; } + yymsp[-2].minor.yy452 = yylhsminor.yy452; break; - case 365: /* with_meta ::= AS */ -{ yymsp[0].minor.yy756 = 0; } + case 366: /* with_meta ::= AS */ +{ yymsp[0].minor.yy100 = 0; } break; - case 366: /* with_meta ::= WITH META AS */ -{ yymsp[-2].minor.yy756 = 1; } + case 367: /* with_meta ::= WITH META AS */ +{ yymsp[-2].minor.yy100 = 1; } break; - case 367: /* with_meta ::= ONLY META AS */ -{ yymsp[-2].minor.yy756 = 2; } + case 368: /* with_meta ::= ONLY META AS */ +{ yymsp[-2].minor.yy100 = 2; } break; - case 368: /* cmd ::= CREATE TOPIC not_exists_opt topic_name AS query_or_subquery */ -{ pCxt->pRootNode = createCreateTopicStmtUseQuery(pCxt, yymsp[-3].minor.yy705, &yymsp[-2].minor.yy649, yymsp[0].minor.yy600); } + case 369: /* cmd ::= CREATE TOPIC not_exists_opt topic_name AS query_or_subquery */ +{ pCxt->pRootNode = createCreateTopicStmtUseQuery(pCxt, yymsp[-3].minor.yy437, &yymsp[-2].minor.yy479, yymsp[0].minor.yy452); } break; - case 369: /* cmd ::= CREATE TOPIC not_exists_opt topic_name with_meta DATABASE db_name */ -{ pCxt->pRootNode = createCreateTopicStmtUseDb(pCxt, yymsp[-4].minor.yy705, &yymsp[-3].minor.yy649, &yymsp[0].minor.yy649, yymsp[-2].minor.yy756); } + case 370: /* cmd ::= CREATE TOPIC not_exists_opt topic_name with_meta DATABASE db_name */ +{ pCxt->pRootNode = createCreateTopicStmtUseDb(pCxt, yymsp[-4].minor.yy437, &yymsp[-3].minor.yy479, &yymsp[0].minor.yy479, yymsp[-2].minor.yy100); } break; - case 370: /* cmd ::= CREATE TOPIC not_exists_opt topic_name with_meta STABLE full_table_name where_clause_opt */ -{ pCxt->pRootNode = createCreateTopicStmtUseTable(pCxt, yymsp[-5].minor.yy705, &yymsp[-4].minor.yy649, yymsp[-1].minor.yy600, yymsp[-3].minor.yy756, yymsp[0].minor.yy600); } + case 371: /* cmd ::= CREATE TOPIC not_exists_opt topic_name with_meta STABLE full_table_name where_clause_opt */ +{ pCxt->pRootNode = createCreateTopicStmtUseTable(pCxt, yymsp[-5].minor.yy437, &yymsp[-4].minor.yy479, yymsp[-1].minor.yy452, yymsp[-3].minor.yy100, yymsp[0].minor.yy452); } break; - case 371: /* cmd ::= DROP TOPIC exists_opt topic_name */ -{ pCxt->pRootNode = createDropTopicStmt(pCxt, yymsp[-1].minor.yy705, &yymsp[0].minor.yy649); } + case 372: /* cmd ::= DROP TOPIC exists_opt topic_name */ +{ pCxt->pRootNode = createDropTopicStmt(pCxt, yymsp[-1].minor.yy437, &yymsp[0].minor.yy479); } break; - case 372: /* cmd ::= DROP CONSUMER GROUP exists_opt cgroup_name ON topic_name */ -{ pCxt->pRootNode = createDropCGroupStmt(pCxt, yymsp[-3].minor.yy705, &yymsp[-2].minor.yy649, &yymsp[0].minor.yy649); } + case 373: /* cmd ::= DROP CONSUMER GROUP exists_opt cgroup_name ON topic_name */ +{ pCxt->pRootNode = createDropCGroupStmt(pCxt, yymsp[-3].minor.yy437, &yymsp[-2].minor.yy479, &yymsp[0].minor.yy479); } break; - case 373: /* cmd ::= DESC full_table_name */ - case 374: /* cmd ::= DESCRIBE full_table_name */ yytestcase(yyruleno==374); -{ pCxt->pRootNode = createDescribeStmt(pCxt, yymsp[0].minor.yy600); } + case 374: /* cmd ::= DESC full_table_name */ + case 375: /* cmd ::= DESCRIBE full_table_name */ yytestcase(yyruleno==375); +{ pCxt->pRootNode = createDescribeStmt(pCxt, yymsp[0].minor.yy452); } break; - case 375: /* cmd ::= RESET QUERY CACHE */ + case 376: /* cmd ::= RESET QUERY CACHE */ { pCxt->pRootNode = createResetQueryCacheStmt(pCxt); } break; - case 376: /* cmd ::= EXPLAIN analyze_opt explain_options query_or_subquery */ - case 377: /* cmd ::= EXPLAIN analyze_opt explain_options insert_query */ yytestcase(yyruleno==377); -{ pCxt->pRootNode = createExplainStmt(pCxt, yymsp[-2].minor.yy705, yymsp[-1].minor.yy600, yymsp[0].minor.yy600); } + case 377: /* cmd ::= EXPLAIN analyze_opt explain_options query_or_subquery */ + case 378: /* cmd ::= EXPLAIN analyze_opt explain_options insert_query */ yytestcase(yyruleno==378); +{ pCxt->pRootNode = createExplainStmt(pCxt, yymsp[-2].minor.yy437, yymsp[-1].minor.yy452, yymsp[0].minor.yy452); } break; - case 380: /* explain_options ::= */ -{ yymsp[1].minor.yy600 = createDefaultExplainOptions(pCxt); } + case 381: /* explain_options ::= */ +{ yymsp[1].minor.yy452 = createDefaultExplainOptions(pCxt); } break; - case 381: /* explain_options ::= explain_options VERBOSE NK_BOOL */ -{ yylhsminor.yy600 = setExplainVerbose(pCxt, yymsp[-2].minor.yy600, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy600 = yylhsminor.yy600; + case 382: /* explain_options ::= explain_options VERBOSE NK_BOOL */ +{ yylhsminor.yy452 = setExplainVerbose(pCxt, yymsp[-2].minor.yy452, &yymsp[0].minor.yy0); } + yymsp[-2].minor.yy452 = yylhsminor.yy452; break; - case 382: /* explain_options ::= explain_options RATIO NK_FLOAT */ -{ yylhsminor.yy600 = setExplainRatio(pCxt, yymsp[-2].minor.yy600, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy600 = yylhsminor.yy600; + case 383: /* explain_options ::= explain_options RATIO NK_FLOAT */ +{ yylhsminor.yy452 = setExplainRatio(pCxt, yymsp[-2].minor.yy452, &yymsp[0].minor.yy0); } + yymsp[-2].minor.yy452 = yylhsminor.yy452; break; - case 383: /* cmd ::= CREATE or_replace_opt agg_func_opt FUNCTION not_exists_opt function_name AS NK_STRING OUTPUTTYPE type_name bufsize_opt language_opt */ -{ pCxt->pRootNode = createCreateFunctionStmt(pCxt, yymsp[-7].minor.yy705, yymsp[-9].minor.yy705, &yymsp[-6].minor.yy649, &yymsp[-4].minor.yy0, yymsp[-2].minor.yy400, yymsp[-1].minor.yy756, &yymsp[0].minor.yy649, yymsp[-10].minor.yy705); } + case 384: /* cmd ::= CREATE or_replace_opt agg_func_opt FUNCTION not_exists_opt function_name AS NK_STRING OUTPUTTYPE type_name bufsize_opt language_opt */ +{ pCxt->pRootNode = createCreateFunctionStmt(pCxt, yymsp[-7].minor.yy437, yymsp[-9].minor.yy437, &yymsp[-6].minor.yy479, &yymsp[-4].minor.yy0, yymsp[-2].minor.yy874, yymsp[-1].minor.yy100, &yymsp[0].minor.yy479, yymsp[-10].minor.yy437); } break; - case 384: /* cmd ::= DROP FUNCTION exists_opt function_name */ -{ pCxt->pRootNode = createDropFunctionStmt(pCxt, yymsp[-1].minor.yy705, &yymsp[0].minor.yy649); } + case 385: /* cmd ::= DROP FUNCTION exists_opt function_name */ +{ pCxt->pRootNode = createDropFunctionStmt(pCxt, yymsp[-1].minor.yy437, &yymsp[0].minor.yy479); } break; - case 389: /* language_opt ::= */ - case 434: /* on_vgroup_id ::= */ yytestcase(yyruleno==434); -{ yymsp[1].minor.yy649 = nil_token; } + case 390: /* language_opt ::= */ + case 435: /* on_vgroup_id ::= */ yytestcase(yyruleno==435); +{ yymsp[1].minor.yy479 = nil_token; } break; - case 390: /* language_opt ::= LANGUAGE NK_STRING */ - case 435: /* on_vgroup_id ::= ON NK_INTEGER */ yytestcase(yyruleno==435); -{ yymsp[-1].minor.yy649 = yymsp[0].minor.yy0; } + case 391: /* language_opt ::= LANGUAGE NK_STRING */ + case 436: /* on_vgroup_id ::= ON NK_INTEGER */ yytestcase(yyruleno==436); +{ yymsp[-1].minor.yy479 = yymsp[0].minor.yy0; } break; - case 393: /* cmd ::= CREATE or_replace_opt VIEW full_view_name AS query_or_subquery */ -{ pCxt->pRootNode = createCreateViewStmt(pCxt, yymsp[-4].minor.yy705, yymsp[-2].minor.yy600, &yymsp[-1].minor.yy0, yymsp[0].minor.yy600); } + case 394: /* cmd ::= CREATE or_replace_opt VIEW full_view_name AS query_or_subquery */ +{ pCxt->pRootNode = createCreateViewStmt(pCxt, yymsp[-4].minor.yy437, yymsp[-2].minor.yy452, &yymsp[-1].minor.yy0, yymsp[0].minor.yy452); } break; - case 394: /* cmd ::= DROP VIEW exists_opt full_view_name */ -{ pCxt->pRootNode = createDropViewStmt(pCxt, yymsp[-1].minor.yy705, yymsp[0].minor.yy600); } + case 395: /* cmd ::= DROP VIEW exists_opt full_view_name */ +{ pCxt->pRootNode = createDropViewStmt(pCxt, yymsp[-1].minor.yy437, yymsp[0].minor.yy452); } break; - case 395: /* full_view_name ::= view_name */ -{ yylhsminor.yy600 = createViewNode(pCxt, NULL, &yymsp[0].minor.yy649); } - yymsp[0].minor.yy600 = yylhsminor.yy600; + case 396: /* full_view_name ::= view_name */ +{ yylhsminor.yy452 = createViewNode(pCxt, NULL, &yymsp[0].minor.yy479); } + yymsp[0].minor.yy452 = yylhsminor.yy452; break; - case 396: /* full_view_name ::= db_name NK_DOT view_name */ -{ yylhsminor.yy600 = createViewNode(pCxt, &yymsp[-2].minor.yy649, &yymsp[0].minor.yy649); } - yymsp[-2].minor.yy600 = yylhsminor.yy600; + case 397: /* full_view_name ::= db_name NK_DOT view_name */ +{ yylhsminor.yy452 = createViewNode(pCxt, &yymsp[-2].minor.yy479, &yymsp[0].minor.yy479); } + yymsp[-2].minor.yy452 = yylhsminor.yy452; break; - case 397: /* cmd ::= CREATE STREAM not_exists_opt stream_name stream_options INTO full_table_name col_list_opt tag_def_or_ref_opt subtable_opt AS query_or_subquery */ -{ pCxt->pRootNode = createCreateStreamStmt(pCxt, yymsp[-9].minor.yy705, &yymsp[-8].minor.yy649, yymsp[-5].minor.yy600, yymsp[-7].minor.yy600, yymsp[-3].minor.yy748, yymsp[-2].minor.yy600, yymsp[0].minor.yy600, yymsp[-4].minor.yy748); } + case 398: /* cmd ::= CREATE STREAM not_exists_opt stream_name stream_options INTO full_table_name col_list_opt tag_def_or_ref_opt subtable_opt AS query_or_subquery */ +{ pCxt->pRootNode = createCreateStreamStmt(pCxt, yymsp[-9].minor.yy437, &yymsp[-8].minor.yy479, yymsp[-5].minor.yy452, yymsp[-7].minor.yy452, yymsp[-3].minor.yy34, yymsp[-2].minor.yy452, yymsp[0].minor.yy452, yymsp[-4].minor.yy34); } break; - case 398: /* cmd ::= DROP STREAM exists_opt stream_name */ -{ pCxt->pRootNode = createDropStreamStmt(pCxt, yymsp[-1].minor.yy705, &yymsp[0].minor.yy649); } + case 399: /* cmd ::= DROP STREAM exists_opt stream_name */ +{ pCxt->pRootNode = createDropStreamStmt(pCxt, yymsp[-1].minor.yy437, &yymsp[0].minor.yy479); } break; - case 399: /* cmd ::= PAUSE STREAM exists_opt stream_name */ -{ pCxt->pRootNode = createPauseStreamStmt(pCxt, yymsp[-1].minor.yy705, &yymsp[0].minor.yy649); } + case 400: /* cmd ::= PAUSE STREAM exists_opt stream_name */ +{ pCxt->pRootNode = createPauseStreamStmt(pCxt, yymsp[-1].minor.yy437, &yymsp[0].minor.yy479); } break; - case 400: /* cmd ::= RESUME STREAM exists_opt ignore_opt stream_name */ -{ pCxt->pRootNode = createResumeStreamStmt(pCxt, yymsp[-2].minor.yy705, yymsp[-1].minor.yy705, &yymsp[0].minor.yy649); } + case 401: /* cmd ::= RESUME STREAM exists_opt ignore_opt stream_name */ +{ pCxt->pRootNode = createResumeStreamStmt(pCxt, yymsp[-2].minor.yy437, yymsp[-1].minor.yy437, &yymsp[0].minor.yy479); } break; - case 405: /* column_stream_def ::= column_name stream_col_options */ -{ yylhsminor.yy600 = createColumnDefNode(pCxt, &yymsp[-1].minor.yy649, createDataType(TSDB_DATA_TYPE_NULL), yymsp[0].minor.yy600); } - yymsp[-1].minor.yy600 = yylhsminor.yy600; + case 406: /* column_stream_def ::= column_name stream_col_options */ +{ yylhsminor.yy452 = createColumnDefNode(pCxt, &yymsp[-1].minor.yy479, createDataType(TSDB_DATA_TYPE_NULL), yymsp[0].minor.yy452); } + yymsp[-1].minor.yy452 = yylhsminor.yy452; break; - case 406: /* stream_col_options ::= */ - case 743: /* column_options ::= */ yytestcase(yyruleno==743); -{ yymsp[1].minor.yy600 = createDefaultColumnOptions(pCxt); } + case 407: /* stream_col_options ::= */ + case 744: /* column_options ::= */ yytestcase(yyruleno==744); +{ yymsp[1].minor.yy452 = createDefaultColumnOptions(pCxt); } break; - case 407: /* stream_col_options ::= stream_col_options PRIMARY KEY */ - case 744: /* column_options ::= column_options PRIMARY KEY */ yytestcase(yyruleno==744); -{ yylhsminor.yy600 = setColumnOptions(pCxt, yymsp[-2].minor.yy600, COLUMN_OPTION_PRIMARYKEY, NULL); } - yymsp[-2].minor.yy600 = yylhsminor.yy600; + case 408: /* stream_col_options ::= stream_col_options PRIMARY KEY */ + case 745: /* column_options ::= column_options PRIMARY KEY */ yytestcase(yyruleno==745); +{ yylhsminor.yy452 = setColumnOptions(pCxt, yymsp[-2].minor.yy452, COLUMN_OPTION_PRIMARYKEY, NULL); } + yymsp[-2].minor.yy452 = yylhsminor.yy452; break; - case 412: /* stream_options ::= stream_options TRIGGER AT_ONCE */ - case 413: /* stream_options ::= stream_options TRIGGER WINDOW_CLOSE */ yytestcase(yyruleno==413); -{ yylhsminor.yy600 = setStreamOptions(pCxt, yymsp[-2].minor.yy600, SOPT_TRIGGER_TYPE_SET, &yymsp[0].minor.yy0, NULL); } - yymsp[-2].minor.yy600 = yylhsminor.yy600; + case 413: /* stream_options ::= stream_options TRIGGER AT_ONCE */ + case 414: /* stream_options ::= stream_options TRIGGER WINDOW_CLOSE */ yytestcase(yyruleno==414); +{ yylhsminor.yy452 = setStreamOptions(pCxt, yymsp[-2].minor.yy452, SOPT_TRIGGER_TYPE_SET, &yymsp[0].minor.yy0, NULL); } + yymsp[-2].minor.yy452 = yylhsminor.yy452; break; - case 414: /* stream_options ::= stream_options TRIGGER MAX_DELAY duration_literal */ -{ yylhsminor.yy600 = setStreamOptions(pCxt, yymsp[-3].minor.yy600, SOPT_TRIGGER_TYPE_SET, &yymsp[-1].minor.yy0, releaseRawExprNode(pCxt, yymsp[0].minor.yy600)); } - yymsp[-3].minor.yy600 = yylhsminor.yy600; + case 415: /* stream_options ::= stream_options TRIGGER MAX_DELAY duration_literal */ +{ yylhsminor.yy452 = setStreamOptions(pCxt, yymsp[-3].minor.yy452, SOPT_TRIGGER_TYPE_SET, &yymsp[-1].minor.yy0, releaseRawExprNode(pCxt, yymsp[0].minor.yy452)); } + yymsp[-3].minor.yy452 = yylhsminor.yy452; break; - case 415: /* stream_options ::= stream_options WATERMARK duration_literal */ -{ yylhsminor.yy600 = setStreamOptions(pCxt, yymsp[-2].minor.yy600, SOPT_WATERMARK_SET, NULL, releaseRawExprNode(pCxt, yymsp[0].minor.yy600)); } - yymsp[-2].minor.yy600 = yylhsminor.yy600; + case 416: /* stream_options ::= stream_options WATERMARK duration_literal */ +{ yylhsminor.yy452 = setStreamOptions(pCxt, yymsp[-2].minor.yy452, SOPT_WATERMARK_SET, NULL, releaseRawExprNode(pCxt, yymsp[0].minor.yy452)); } + yymsp[-2].minor.yy452 = yylhsminor.yy452; break; - case 416: /* stream_options ::= stream_options IGNORE EXPIRED NK_INTEGER */ -{ yylhsminor.yy600 = setStreamOptions(pCxt, yymsp[-3].minor.yy600, SOPT_IGNORE_EXPIRED_SET, &yymsp[0].minor.yy0, NULL); } - yymsp[-3].minor.yy600 = yylhsminor.yy600; + case 417: /* stream_options ::= stream_options IGNORE EXPIRED NK_INTEGER */ +{ yylhsminor.yy452 = setStreamOptions(pCxt, yymsp[-3].minor.yy452, SOPT_IGNORE_EXPIRED_SET, &yymsp[0].minor.yy0, NULL); } + yymsp[-3].minor.yy452 = yylhsminor.yy452; break; - case 417: /* stream_options ::= stream_options FILL_HISTORY NK_INTEGER */ -{ yylhsminor.yy600 = setStreamOptions(pCxt, yymsp[-2].minor.yy600, SOPT_FILL_HISTORY_SET, &yymsp[0].minor.yy0, NULL); } - yymsp[-2].minor.yy600 = yylhsminor.yy600; + case 418: /* stream_options ::= stream_options FILL_HISTORY NK_INTEGER */ +{ yylhsminor.yy452 = setStreamOptions(pCxt, yymsp[-2].minor.yy452, SOPT_FILL_HISTORY_SET, &yymsp[0].minor.yy0, NULL); } + yymsp[-2].minor.yy452 = yylhsminor.yy452; break; - case 418: /* stream_options ::= stream_options DELETE_MARK duration_literal */ -{ yylhsminor.yy600 = setStreamOptions(pCxt, yymsp[-2].minor.yy600, SOPT_DELETE_MARK_SET, NULL, releaseRawExprNode(pCxt, yymsp[0].minor.yy600)); } - yymsp[-2].minor.yy600 = yylhsminor.yy600; + case 419: /* stream_options ::= stream_options DELETE_MARK duration_literal */ +{ yylhsminor.yy452 = setStreamOptions(pCxt, yymsp[-2].minor.yy452, SOPT_DELETE_MARK_SET, NULL, releaseRawExprNode(pCxt, yymsp[0].minor.yy452)); } + yymsp[-2].minor.yy452 = yylhsminor.yy452; break; - case 419: /* stream_options ::= stream_options IGNORE UPDATE NK_INTEGER */ -{ yylhsminor.yy600 = setStreamOptions(pCxt, yymsp[-3].minor.yy600, SOPT_IGNORE_UPDATE_SET, &yymsp[0].minor.yy0, NULL); } - yymsp[-3].minor.yy600 = yylhsminor.yy600; + case 420: /* stream_options ::= stream_options IGNORE UPDATE NK_INTEGER */ +{ yylhsminor.yy452 = setStreamOptions(pCxt, yymsp[-3].minor.yy452, SOPT_IGNORE_UPDATE_SET, &yymsp[0].minor.yy0, NULL); } + yymsp[-3].minor.yy452 = yylhsminor.yy452; break; - case 421: /* subtable_opt ::= SUBTABLE NK_LP expression NK_RP */ - case 687: /* sliding_opt ::= SLIDING NK_LP interval_sliding_duration_literal NK_RP */ yytestcase(yyruleno==687); - case 711: /* every_opt ::= EVERY NK_LP duration_literal NK_RP */ yytestcase(yyruleno==711); -{ yymsp[-3].minor.yy600 = releaseRawExprNode(pCxt, yymsp[-1].minor.yy600); } + case 422: /* subtable_opt ::= SUBTABLE NK_LP expression NK_RP */ + case 688: /* sliding_opt ::= SLIDING NK_LP interval_sliding_duration_literal NK_RP */ yytestcase(yyruleno==688); + case 712: /* every_opt ::= EVERY NK_LP duration_literal NK_RP */ yytestcase(yyruleno==712); +{ yymsp[-3].minor.yy452 = releaseRawExprNode(pCxt, yymsp[-1].minor.yy452); } break; - case 424: /* cmd ::= KILL CONNECTION NK_INTEGER */ + case 425: /* cmd ::= KILL CONNECTION NK_INTEGER */ { pCxt->pRootNode = createKillStmt(pCxt, QUERY_NODE_KILL_CONNECTION_STMT, &yymsp[0].minor.yy0); } break; - case 425: /* cmd ::= KILL QUERY NK_STRING */ + case 426: /* cmd ::= KILL QUERY NK_STRING */ { pCxt->pRootNode = createKillQueryStmt(pCxt, &yymsp[0].minor.yy0); } break; - case 426: /* cmd ::= KILL TRANSACTION NK_INTEGER */ + case 427: /* cmd ::= KILL TRANSACTION NK_INTEGER */ { pCxt->pRootNode = createKillStmt(pCxt, QUERY_NODE_KILL_TRANSACTION_STMT, &yymsp[0].minor.yy0); } break; - case 427: /* cmd ::= KILL COMPACT NK_INTEGER */ + case 428: /* cmd ::= KILL COMPACT NK_INTEGER */ { pCxt->pRootNode = createKillStmt(pCxt, QUERY_NODE_KILL_COMPACT_STMT, &yymsp[0].minor.yy0); } break; - case 428: /* cmd ::= BALANCE VGROUP */ + case 429: /* cmd ::= BALANCE VGROUP */ { pCxt->pRootNode = createBalanceVgroupStmt(pCxt); } break; - case 429: /* cmd ::= BALANCE VGROUP LEADER on_vgroup_id */ -{ pCxt->pRootNode = createBalanceVgroupLeaderStmt(pCxt, &yymsp[0].minor.yy649); } + case 430: /* cmd ::= BALANCE VGROUP LEADER on_vgroup_id */ +{ pCxt->pRootNode = createBalanceVgroupLeaderStmt(pCxt, &yymsp[0].minor.yy479); } break; - case 430: /* cmd ::= BALANCE VGROUP LEADER DATABASE db_name */ -{ pCxt->pRootNode = createBalanceVgroupLeaderDBNameStmt(pCxt, &yymsp[0].minor.yy649); } + case 431: /* cmd ::= BALANCE VGROUP LEADER DATABASE db_name */ +{ pCxt->pRootNode = createBalanceVgroupLeaderDBNameStmt(pCxt, &yymsp[0].minor.yy479); } break; - case 431: /* cmd ::= MERGE VGROUP NK_INTEGER NK_INTEGER */ + case 432: /* cmd ::= MERGE VGROUP NK_INTEGER NK_INTEGER */ { pCxt->pRootNode = createMergeVgroupStmt(pCxt, &yymsp[-1].minor.yy0, &yymsp[0].minor.yy0); } break; - case 432: /* cmd ::= REDISTRIBUTE VGROUP NK_INTEGER dnode_list */ -{ pCxt->pRootNode = createRedistributeVgroupStmt(pCxt, &yymsp[-1].minor.yy0, yymsp[0].minor.yy748); } + case 433: /* cmd ::= REDISTRIBUTE VGROUP NK_INTEGER dnode_list */ +{ pCxt->pRootNode = createRedistributeVgroupStmt(pCxt, &yymsp[-1].minor.yy0, yymsp[0].minor.yy34); } break; - case 433: /* cmd ::= SPLIT VGROUP NK_INTEGER */ + case 434: /* cmd ::= SPLIT VGROUP NK_INTEGER */ { pCxt->pRootNode = createSplitVgroupStmt(pCxt, &yymsp[0].minor.yy0); } break; - case 436: /* dnode_list ::= DNODE NK_INTEGER */ -{ yymsp[-1].minor.yy748 = createNodeList(pCxt, createValueNode(pCxt, TSDB_DATA_TYPE_BIGINT, &yymsp[0].minor.yy0)); } + case 437: /* dnode_list ::= DNODE NK_INTEGER */ +{ yymsp[-1].minor.yy34 = createNodeList(pCxt, createValueNode(pCxt, TSDB_DATA_TYPE_BIGINT, &yymsp[0].minor.yy0)); } break; - case 438: /* cmd ::= DELETE FROM full_table_name where_clause_opt */ -{ pCxt->pRootNode = createDeleteStmt(pCxt, yymsp[-1].minor.yy600, yymsp[0].minor.yy600); } + case 439: /* cmd ::= DELETE FROM full_table_name where_clause_opt */ +{ pCxt->pRootNode = createDeleteStmt(pCxt, yymsp[-1].minor.yy452, yymsp[0].minor.yy452); } break; - case 441: /* insert_query ::= INSERT INTO full_table_name NK_LP col_name_list NK_RP query_or_subquery */ -{ yymsp[-6].minor.yy600 = createInsertStmt(pCxt, yymsp[-4].minor.yy600, yymsp[-2].minor.yy748, yymsp[0].minor.yy600); } + case 442: /* insert_query ::= INSERT INTO full_table_name NK_LP col_name_list NK_RP query_or_subquery */ +{ yymsp[-6].minor.yy452 = createInsertStmt(pCxt, yymsp[-4].minor.yy452, yymsp[-2].minor.yy34, yymsp[0].minor.yy452); } break; - case 442: /* insert_query ::= INSERT INTO full_table_name query_or_subquery */ -{ yymsp[-3].minor.yy600 = createInsertStmt(pCxt, yymsp[-1].minor.yy600, NULL, yymsp[0].minor.yy600); } + case 443: /* insert_query ::= INSERT INTO full_table_name query_or_subquery */ +{ yymsp[-3].minor.yy452 = createInsertStmt(pCxt, yymsp[-1].minor.yy452, NULL, yymsp[0].minor.yy452); } break; - case 443: /* tags_literal ::= NK_INTEGER */ - case 455: /* tags_literal ::= NK_BIN */ yytestcase(yyruleno==455); - case 464: /* tags_literal ::= NK_HEX */ yytestcase(yyruleno==464); -{ yylhsminor.yy600 = createRawValueNode(pCxt, TSDB_DATA_TYPE_UBIGINT, &yymsp[0].minor.yy0, NULL); } - yymsp[0].minor.yy600 = yylhsminor.yy600; + case 444: /* tags_literal ::= NK_INTEGER */ + case 456: /* tags_literal ::= NK_BIN */ yytestcase(yyruleno==456); + case 465: /* tags_literal ::= NK_HEX */ yytestcase(yyruleno==465); +{ yylhsminor.yy452 = createRawValueNode(pCxt, TSDB_DATA_TYPE_UBIGINT, &yymsp[0].minor.yy0, NULL); } + yymsp[0].minor.yy452 = yylhsminor.yy452; break; - case 444: /* tags_literal ::= NK_INTEGER NK_PLUS duration_literal */ - case 445: /* tags_literal ::= NK_INTEGER NK_MINUS duration_literal */ yytestcase(yyruleno==445); - case 456: /* tags_literal ::= NK_BIN NK_PLUS duration_literal */ yytestcase(yyruleno==456); - case 457: /* tags_literal ::= NK_BIN NK_MINUS duration_literal */ yytestcase(yyruleno==457); - case 465: /* tags_literal ::= NK_HEX NK_PLUS duration_literal */ yytestcase(yyruleno==465); - case 466: /* tags_literal ::= NK_HEX NK_MINUS duration_literal */ yytestcase(yyruleno==466); - case 474: /* tags_literal ::= NK_STRING NK_PLUS duration_literal */ yytestcase(yyruleno==474); - case 475: /* tags_literal ::= NK_STRING NK_MINUS duration_literal */ yytestcase(yyruleno==475); + case 445: /* tags_literal ::= NK_INTEGER NK_PLUS duration_literal */ + case 446: /* tags_literal ::= NK_INTEGER NK_MINUS duration_literal */ yytestcase(yyruleno==446); + case 457: /* tags_literal ::= NK_BIN NK_PLUS duration_literal */ yytestcase(yyruleno==457); + case 458: /* tags_literal ::= NK_BIN NK_MINUS duration_literal */ yytestcase(yyruleno==458); + case 466: /* tags_literal ::= NK_HEX NK_PLUS duration_literal */ yytestcase(yyruleno==466); + case 467: /* tags_literal ::= NK_HEX NK_MINUS duration_literal */ yytestcase(yyruleno==467); + case 475: /* tags_literal ::= NK_STRING NK_PLUS duration_literal */ yytestcase(yyruleno==475); + case 476: /* tags_literal ::= NK_STRING NK_MINUS duration_literal */ yytestcase(yyruleno==476); { SToken l = yymsp[-2].minor.yy0; - SToken r = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy600); + SToken r = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy452); l.n = (r.z + r.n) - l.z; - yylhsminor.yy600 = createRawValueNodeExt(pCxt, TSDB_DATA_TYPE_BINARY, &l, NULL, yymsp[0].minor.yy600); + yylhsminor.yy452 = createRawValueNodeExt(pCxt, TSDB_DATA_TYPE_BINARY, &l, NULL, yymsp[0].minor.yy452); } - yymsp[-2].minor.yy600 = yylhsminor.yy600; + yymsp[-2].minor.yy452 = yylhsminor.yy452; break; - case 446: /* tags_literal ::= NK_PLUS NK_INTEGER */ - case 449: /* tags_literal ::= NK_MINUS NK_INTEGER */ yytestcase(yyruleno==449); - case 458: /* tags_literal ::= NK_PLUS NK_BIN */ yytestcase(yyruleno==458); - case 461: /* tags_literal ::= NK_MINUS NK_BIN */ yytestcase(yyruleno==461); - case 467: /* tags_literal ::= NK_PLUS NK_HEX */ yytestcase(yyruleno==467); - case 470: /* tags_literal ::= NK_MINUS NK_HEX */ yytestcase(yyruleno==470); + case 447: /* tags_literal ::= NK_PLUS NK_INTEGER */ + case 450: /* tags_literal ::= NK_MINUS NK_INTEGER */ yytestcase(yyruleno==450); + case 459: /* tags_literal ::= NK_PLUS NK_BIN */ yytestcase(yyruleno==459); + case 462: /* tags_literal ::= NK_MINUS NK_BIN */ yytestcase(yyruleno==462); + case 468: /* tags_literal ::= NK_PLUS NK_HEX */ yytestcase(yyruleno==468); + case 471: /* tags_literal ::= NK_MINUS NK_HEX */ yytestcase(yyruleno==471); { SToken t = yymsp[-1].minor.yy0; t.n = (yymsp[0].minor.yy0.z + yymsp[0].minor.yy0.n) - yymsp[-1].minor.yy0.z; - yylhsminor.yy600 = createRawValueNode(pCxt, TSDB_DATA_TYPE_UBIGINT, &t, NULL); + yylhsminor.yy452 = createRawValueNode(pCxt, TSDB_DATA_TYPE_UBIGINT, &t, NULL); } - yymsp[-1].minor.yy600 = yylhsminor.yy600; + yymsp[-1].minor.yy452 = yylhsminor.yy452; break; - case 447: /* tags_literal ::= NK_PLUS NK_INTEGER NK_PLUS duration_literal */ - case 448: /* tags_literal ::= NK_PLUS NK_INTEGER NK_MINUS duration_literal */ yytestcase(yyruleno==448); - case 450: /* tags_literal ::= NK_MINUS NK_INTEGER NK_PLUS duration_literal */ yytestcase(yyruleno==450); - case 451: /* tags_literal ::= NK_MINUS NK_INTEGER NK_MINUS duration_literal */ yytestcase(yyruleno==451); - case 459: /* tags_literal ::= NK_PLUS NK_BIN NK_PLUS duration_literal */ yytestcase(yyruleno==459); - case 460: /* tags_literal ::= NK_PLUS NK_BIN NK_MINUS duration_literal */ yytestcase(yyruleno==460); - case 462: /* tags_literal ::= NK_MINUS NK_BIN NK_PLUS duration_literal */ yytestcase(yyruleno==462); - case 463: /* tags_literal ::= NK_MINUS NK_BIN NK_MINUS duration_literal */ yytestcase(yyruleno==463); - case 468: /* tags_literal ::= NK_PLUS NK_HEX NK_PLUS duration_literal */ yytestcase(yyruleno==468); - case 469: /* tags_literal ::= NK_PLUS NK_HEX NK_MINUS duration_literal */ yytestcase(yyruleno==469); - case 471: /* tags_literal ::= NK_MINUS NK_HEX NK_PLUS duration_literal */ yytestcase(yyruleno==471); - case 472: /* tags_literal ::= NK_MINUS NK_HEX NK_MINUS duration_literal */ yytestcase(yyruleno==472); + case 448: /* tags_literal ::= NK_PLUS NK_INTEGER NK_PLUS duration_literal */ + case 449: /* tags_literal ::= NK_PLUS NK_INTEGER NK_MINUS duration_literal */ yytestcase(yyruleno==449); + case 451: /* tags_literal ::= NK_MINUS NK_INTEGER NK_PLUS duration_literal */ yytestcase(yyruleno==451); + case 452: /* tags_literal ::= NK_MINUS NK_INTEGER NK_MINUS duration_literal */ yytestcase(yyruleno==452); + case 460: /* tags_literal ::= NK_PLUS NK_BIN NK_PLUS duration_literal */ yytestcase(yyruleno==460); + case 461: /* tags_literal ::= NK_PLUS NK_BIN NK_MINUS duration_literal */ yytestcase(yyruleno==461); + case 463: /* tags_literal ::= NK_MINUS NK_BIN NK_PLUS duration_literal */ yytestcase(yyruleno==463); + case 464: /* tags_literal ::= NK_MINUS NK_BIN NK_MINUS duration_literal */ yytestcase(yyruleno==464); + case 469: /* tags_literal ::= NK_PLUS NK_HEX NK_PLUS duration_literal */ yytestcase(yyruleno==469); + case 470: /* tags_literal ::= NK_PLUS NK_HEX NK_MINUS duration_literal */ yytestcase(yyruleno==470); + case 472: /* tags_literal ::= NK_MINUS NK_HEX NK_PLUS duration_literal */ yytestcase(yyruleno==472); + case 473: /* tags_literal ::= NK_MINUS NK_HEX NK_MINUS duration_literal */ yytestcase(yyruleno==473); { SToken l = yymsp[-3].minor.yy0; - SToken r = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy600); + SToken r = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy452); l.n = (r.z + r.n) - l.z; - yylhsminor.yy600 = createRawValueNodeExt(pCxt, TSDB_DATA_TYPE_BINARY, &l, NULL, yymsp[0].minor.yy600); + yylhsminor.yy452 = createRawValueNodeExt(pCxt, TSDB_DATA_TYPE_BINARY, &l, NULL, yymsp[0].minor.yy452); } - yymsp[-3].minor.yy600 = yylhsminor.yy600; + yymsp[-3].minor.yy452 = yylhsminor.yy452; break; - case 452: /* tags_literal ::= NK_FLOAT */ -{ yylhsminor.yy600 = createRawValueNode(pCxt, TSDB_DATA_TYPE_DOUBLE, &yymsp[0].minor.yy0, NULL); } - yymsp[0].minor.yy600 = yylhsminor.yy600; + case 453: /* tags_literal ::= NK_FLOAT */ +{ yylhsminor.yy452 = createRawValueNode(pCxt, TSDB_DATA_TYPE_DOUBLE, &yymsp[0].minor.yy0, NULL); } + yymsp[0].minor.yy452 = yylhsminor.yy452; break; - case 453: /* tags_literal ::= NK_PLUS NK_FLOAT */ - case 454: /* tags_literal ::= NK_MINUS NK_FLOAT */ yytestcase(yyruleno==454); + case 454: /* tags_literal ::= NK_PLUS NK_FLOAT */ + case 455: /* tags_literal ::= NK_MINUS NK_FLOAT */ yytestcase(yyruleno==455); { SToken t = yymsp[-1].minor.yy0; t.n = (yymsp[0].minor.yy0.z + yymsp[0].minor.yy0.n) - yymsp[-1].minor.yy0.z; - yylhsminor.yy600 = createRawValueNode(pCxt, TSDB_DATA_TYPE_DOUBLE, &t, NULL); + yylhsminor.yy452 = createRawValueNode(pCxt, TSDB_DATA_TYPE_DOUBLE, &t, NULL); } - yymsp[-1].minor.yy600 = yylhsminor.yy600; + yymsp[-1].minor.yy452 = yylhsminor.yy452; break; - case 473: /* tags_literal ::= NK_STRING */ -{ yylhsminor.yy600 = createRawValueNode(pCxt, TSDB_DATA_TYPE_BINARY, &yymsp[0].minor.yy0, NULL); } - yymsp[0].minor.yy600 = yylhsminor.yy600; + case 474: /* tags_literal ::= NK_STRING */ +{ yylhsminor.yy452 = createRawValueNode(pCxt, TSDB_DATA_TYPE_BINARY, &yymsp[0].minor.yy0, NULL); } + yymsp[0].minor.yy452 = yylhsminor.yy452; break; - case 476: /* tags_literal ::= NK_BOOL */ -{ yylhsminor.yy600 = createRawValueNode(pCxt, TSDB_DATA_TYPE_BOOL, &yymsp[0].minor.yy0, NULL); } - yymsp[0].minor.yy600 = yylhsminor.yy600; + case 477: /* tags_literal ::= NK_BOOL */ +{ yylhsminor.yy452 = createRawValueNode(pCxt, TSDB_DATA_TYPE_BOOL, &yymsp[0].minor.yy0, NULL); } + yymsp[0].minor.yy452 = yylhsminor.yy452; break; - case 477: /* tags_literal ::= NULL */ -{ yylhsminor.yy600 = createRawValueNode(pCxt, TSDB_DATA_TYPE_NULL, &yymsp[0].minor.yy0, NULL); } - yymsp[0].minor.yy600 = yylhsminor.yy600; + case 478: /* tags_literal ::= NULL */ +{ yylhsminor.yy452 = createRawValueNode(pCxt, TSDB_DATA_TYPE_NULL, &yymsp[0].minor.yy0, NULL); } + yymsp[0].minor.yy452 = yylhsminor.yy452; break; - case 478: /* tags_literal ::= literal_func */ -{ yylhsminor.yy600 = createRawValueNode(pCxt, TSDB_DATA_TYPE_BINARY, NULL, yymsp[0].minor.yy600); } - yymsp[0].minor.yy600 = yylhsminor.yy600; + case 479: /* tags_literal ::= literal_func */ +{ yylhsminor.yy452 = createRawValueNode(pCxt, TSDB_DATA_TYPE_BINARY, NULL, yymsp[0].minor.yy452); } + yymsp[0].minor.yy452 = yylhsminor.yy452; break; - case 479: /* tags_literal ::= literal_func NK_PLUS duration_literal */ - case 480: /* tags_literal ::= literal_func NK_MINUS duration_literal */ yytestcase(yyruleno==480); + case 480: /* tags_literal ::= literal_func NK_PLUS duration_literal */ + case 481: /* tags_literal ::= literal_func NK_MINUS duration_literal */ yytestcase(yyruleno==481); { - SToken l = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy600); - SToken r = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy600); + SToken l = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy452); + SToken r = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy452); l.n = (r.z + r.n) - l.z; - yylhsminor.yy600 = createRawValueNodeExt(pCxt, TSDB_DATA_TYPE_BINARY, &l, yymsp[-2].minor.yy600, yymsp[0].minor.yy600); + yylhsminor.yy452 = createRawValueNodeExt(pCxt, TSDB_DATA_TYPE_BINARY, &l, yymsp[-2].minor.yy452, yymsp[0].minor.yy452); } - yymsp[-2].minor.yy600 = yylhsminor.yy600; + yymsp[-2].minor.yy452 = yylhsminor.yy452; break; - case 483: /* literal ::= NK_INTEGER */ -{ yylhsminor.yy600 = createRawExprNode(pCxt, &yymsp[0].minor.yy0, createValueNode(pCxt, TSDB_DATA_TYPE_UBIGINT, &yymsp[0].minor.yy0)); } - yymsp[0].minor.yy600 = yylhsminor.yy600; + case 484: /* literal ::= NK_INTEGER */ +{ yylhsminor.yy452 = createRawExprNode(pCxt, &yymsp[0].minor.yy0, createValueNode(pCxt, TSDB_DATA_TYPE_UBIGINT, &yymsp[0].minor.yy0)); } + yymsp[0].minor.yy452 = yylhsminor.yy452; break; - case 484: /* literal ::= NK_FLOAT */ -{ yylhsminor.yy600 = createRawExprNode(pCxt, &yymsp[0].minor.yy0, createValueNode(pCxt, TSDB_DATA_TYPE_DOUBLE, &yymsp[0].minor.yy0)); } - yymsp[0].minor.yy600 = yylhsminor.yy600; + case 485: /* literal ::= NK_FLOAT */ +{ yylhsminor.yy452 = createRawExprNode(pCxt, &yymsp[0].minor.yy0, createValueNode(pCxt, TSDB_DATA_TYPE_DOUBLE, &yymsp[0].minor.yy0)); } + yymsp[0].minor.yy452 = yylhsminor.yy452; break; - case 485: /* literal ::= NK_STRING */ -{ yylhsminor.yy600 = createRawExprNode(pCxt, &yymsp[0].minor.yy0, createValueNode(pCxt, TSDB_DATA_TYPE_BINARY, &yymsp[0].minor.yy0)); } - yymsp[0].minor.yy600 = yylhsminor.yy600; + case 486: /* literal ::= NK_STRING */ +{ yylhsminor.yy452 = createRawExprNode(pCxt, &yymsp[0].minor.yy0, createValueNode(pCxt, TSDB_DATA_TYPE_BINARY, &yymsp[0].minor.yy0)); } + yymsp[0].minor.yy452 = yylhsminor.yy452; break; - case 486: /* literal ::= NK_BOOL */ -{ yylhsminor.yy600 = createRawExprNode(pCxt, &yymsp[0].minor.yy0, createValueNode(pCxt, TSDB_DATA_TYPE_BOOL, &yymsp[0].minor.yy0)); } - yymsp[0].minor.yy600 = yylhsminor.yy600; + case 487: /* literal ::= NK_BOOL */ +{ yylhsminor.yy452 = createRawExprNode(pCxt, &yymsp[0].minor.yy0, createValueNode(pCxt, TSDB_DATA_TYPE_BOOL, &yymsp[0].minor.yy0)); } + yymsp[0].minor.yy452 = yylhsminor.yy452; break; - case 487: /* literal ::= TIMESTAMP NK_STRING */ -{ yylhsminor.yy600 = createRawExprNodeExt(pCxt, &yymsp[-1].minor.yy0, &yymsp[0].minor.yy0, createValueNode(pCxt, TSDB_DATA_TYPE_TIMESTAMP, &yymsp[0].minor.yy0)); } - yymsp[-1].minor.yy600 = yylhsminor.yy600; + case 488: /* literal ::= TIMESTAMP NK_STRING */ +{ yylhsminor.yy452 = createRawExprNodeExt(pCxt, &yymsp[-1].minor.yy0, &yymsp[0].minor.yy0, createValueNode(pCxt, TSDB_DATA_TYPE_TIMESTAMP, &yymsp[0].minor.yy0)); } + yymsp[-1].minor.yy452 = yylhsminor.yy452; break; - case 488: /* literal ::= duration_literal */ - case 498: /* signed_literal ::= signed */ yytestcase(yyruleno==498); - case 522: /* expr_or_subquery ::= expression */ yytestcase(yyruleno==522); - case 523: /* expression ::= literal */ yytestcase(yyruleno==523); - case 525: /* expression ::= column_reference */ yytestcase(yyruleno==525); - case 526: /* expression ::= function_expression */ yytestcase(yyruleno==526); - case 527: /* expression ::= case_when_expression */ yytestcase(yyruleno==527); - case 561: /* function_expression ::= literal_func */ yytestcase(yyruleno==561); - case 611: /* boolean_value_expression ::= boolean_primary */ yytestcase(yyruleno==611); - case 615: /* boolean_primary ::= predicate */ yytestcase(yyruleno==615); - case 617: /* common_expression ::= expr_or_subquery */ yytestcase(yyruleno==617); - case 618: /* common_expression ::= boolean_value_expression */ yytestcase(yyruleno==618); - case 621: /* table_reference_list ::= table_reference */ yytestcase(yyruleno==621); - case 623: /* table_reference ::= table_primary */ yytestcase(yyruleno==623); - case 624: /* table_reference ::= joined_table */ yytestcase(yyruleno==624); - case 628: /* table_primary ::= parenthesized_joined_table */ yytestcase(yyruleno==628); - case 713: /* query_simple ::= query_specification */ yytestcase(yyruleno==713); - case 714: /* query_simple ::= union_query_expression */ yytestcase(yyruleno==714); - case 717: /* query_simple_or_subquery ::= query_simple */ yytestcase(yyruleno==717); - case 719: /* query_or_subquery ::= query_expression */ yytestcase(yyruleno==719); -{ yylhsminor.yy600 = yymsp[0].minor.yy600; } - yymsp[0].minor.yy600 = yylhsminor.yy600; + case 489: /* literal ::= duration_literal */ + case 499: /* signed_literal ::= signed */ yytestcase(yyruleno==499); + case 523: /* expr_or_subquery ::= expression */ yytestcase(yyruleno==523); + case 524: /* expression ::= literal */ yytestcase(yyruleno==524); + case 526: /* expression ::= column_reference */ yytestcase(yyruleno==526); + case 527: /* expression ::= function_expression */ yytestcase(yyruleno==527); + case 528: /* expression ::= case_when_expression */ yytestcase(yyruleno==528); + case 562: /* function_expression ::= literal_func */ yytestcase(yyruleno==562); + case 612: /* boolean_value_expression ::= boolean_primary */ yytestcase(yyruleno==612); + case 616: /* boolean_primary ::= predicate */ yytestcase(yyruleno==616); + case 618: /* common_expression ::= expr_or_subquery */ yytestcase(yyruleno==618); + case 619: /* common_expression ::= boolean_value_expression */ yytestcase(yyruleno==619); + case 622: /* table_reference_list ::= table_reference */ yytestcase(yyruleno==622); + case 624: /* table_reference ::= table_primary */ yytestcase(yyruleno==624); + case 625: /* table_reference ::= joined_table */ yytestcase(yyruleno==625); + case 629: /* table_primary ::= parenthesized_joined_table */ yytestcase(yyruleno==629); + case 714: /* query_simple ::= query_specification */ yytestcase(yyruleno==714); + case 715: /* query_simple ::= union_query_expression */ yytestcase(yyruleno==715); + case 718: /* query_simple_or_subquery ::= query_simple */ yytestcase(yyruleno==718); + case 720: /* query_or_subquery ::= query_expression */ yytestcase(yyruleno==720); +{ yylhsminor.yy452 = yymsp[0].minor.yy452; } + yymsp[0].minor.yy452 = yylhsminor.yy452; break; - case 489: /* literal ::= NULL */ -{ yylhsminor.yy600 = createRawExprNode(pCxt, &yymsp[0].minor.yy0, createValueNode(pCxt, TSDB_DATA_TYPE_NULL, &yymsp[0].minor.yy0)); } - yymsp[0].minor.yy600 = yylhsminor.yy600; + case 490: /* literal ::= NULL */ +{ yylhsminor.yy452 = createRawExprNode(pCxt, &yymsp[0].minor.yy0, createValueNode(pCxt, TSDB_DATA_TYPE_NULL, &yymsp[0].minor.yy0)); } + yymsp[0].minor.yy452 = yylhsminor.yy452; break; - case 490: /* literal ::= NK_QUESTION */ -{ yylhsminor.yy600 = createRawExprNode(pCxt, &yymsp[0].minor.yy0, createPlaceholderValueNode(pCxt, &yymsp[0].minor.yy0)); } - yymsp[0].minor.yy600 = yylhsminor.yy600; + case 491: /* literal ::= NK_QUESTION */ +{ yylhsminor.yy452 = createRawExprNode(pCxt, &yymsp[0].minor.yy0, createPlaceholderValueNode(pCxt, &yymsp[0].minor.yy0)); } + yymsp[0].minor.yy452 = yylhsminor.yy452; break; - case 491: /* duration_literal ::= NK_VARIABLE */ - case 688: /* interval_sliding_duration_literal ::= NK_VARIABLE */ yytestcase(yyruleno==688); - case 689: /* interval_sliding_duration_literal ::= NK_STRING */ yytestcase(yyruleno==689); - case 690: /* interval_sliding_duration_literal ::= NK_INTEGER */ yytestcase(yyruleno==690); -{ yylhsminor.yy600 = createRawExprNode(pCxt, &yymsp[0].minor.yy0, createDurationValueNode(pCxt, &yymsp[0].minor.yy0)); } - yymsp[0].minor.yy600 = yylhsminor.yy600; + case 492: /* duration_literal ::= NK_VARIABLE */ + case 689: /* interval_sliding_duration_literal ::= NK_VARIABLE */ yytestcase(yyruleno==689); + case 690: /* interval_sliding_duration_literal ::= NK_STRING */ yytestcase(yyruleno==690); + case 691: /* interval_sliding_duration_literal ::= NK_INTEGER */ yytestcase(yyruleno==691); +{ yylhsminor.yy452 = createRawExprNode(pCxt, &yymsp[0].minor.yy0, createDurationValueNode(pCxt, &yymsp[0].minor.yy0)); } + yymsp[0].minor.yy452 = yylhsminor.yy452; break; - case 492: /* signed ::= NK_INTEGER */ -{ yylhsminor.yy600 = createValueNode(pCxt, TSDB_DATA_TYPE_UBIGINT, &yymsp[0].minor.yy0); } - yymsp[0].minor.yy600 = yylhsminor.yy600; + case 493: /* signed ::= NK_INTEGER */ +{ yylhsminor.yy452 = createValueNode(pCxt, TSDB_DATA_TYPE_UBIGINT, &yymsp[0].minor.yy0); } + yymsp[0].minor.yy452 = yylhsminor.yy452; break; - case 493: /* signed ::= NK_PLUS NK_INTEGER */ -{ yymsp[-1].minor.yy600 = createValueNode(pCxt, TSDB_DATA_TYPE_UBIGINT, &yymsp[0].minor.yy0); } + case 494: /* signed ::= NK_PLUS NK_INTEGER */ +{ yymsp[-1].minor.yy452 = createValueNode(pCxt, TSDB_DATA_TYPE_UBIGINT, &yymsp[0].minor.yy0); } break; - case 494: /* signed ::= NK_MINUS NK_INTEGER */ + case 495: /* signed ::= NK_MINUS NK_INTEGER */ { SToken t = yymsp[-1].minor.yy0; t.n = (yymsp[0].minor.yy0.z + yymsp[0].minor.yy0.n) - yymsp[-1].minor.yy0.z; - yylhsminor.yy600 = createValueNode(pCxt, TSDB_DATA_TYPE_BIGINT, &t); + yylhsminor.yy452 = createValueNode(pCxt, TSDB_DATA_TYPE_BIGINT, &t); } - yymsp[-1].minor.yy600 = yylhsminor.yy600; + yymsp[-1].minor.yy452 = yylhsminor.yy452; break; - case 495: /* signed ::= NK_FLOAT */ -{ yylhsminor.yy600 = createValueNode(pCxt, TSDB_DATA_TYPE_DOUBLE, &yymsp[0].minor.yy0); } - yymsp[0].minor.yy600 = yylhsminor.yy600; + case 496: /* signed ::= NK_FLOAT */ +{ yylhsminor.yy452 = createValueNode(pCxt, TSDB_DATA_TYPE_DOUBLE, &yymsp[0].minor.yy0); } + yymsp[0].minor.yy452 = yylhsminor.yy452; break; - case 496: /* signed ::= NK_PLUS NK_FLOAT */ -{ yymsp[-1].minor.yy600 = createValueNode(pCxt, TSDB_DATA_TYPE_DOUBLE, &yymsp[0].minor.yy0); } + case 497: /* signed ::= NK_PLUS NK_FLOAT */ +{ yymsp[-1].minor.yy452 = createValueNode(pCxt, TSDB_DATA_TYPE_DOUBLE, &yymsp[0].minor.yy0); } break; - case 497: /* signed ::= NK_MINUS NK_FLOAT */ + case 498: /* signed ::= NK_MINUS NK_FLOAT */ { SToken t = yymsp[-1].minor.yy0; t.n = (yymsp[0].minor.yy0.z + yymsp[0].minor.yy0.n) - yymsp[-1].minor.yy0.z; - yylhsminor.yy600 = createValueNode(pCxt, TSDB_DATA_TYPE_DOUBLE, &t); + yylhsminor.yy452 = createValueNode(pCxt, TSDB_DATA_TYPE_DOUBLE, &t); } - yymsp[-1].minor.yy600 = yylhsminor.yy600; + yymsp[-1].minor.yy452 = yylhsminor.yy452; break; - case 499: /* signed_literal ::= NK_STRING */ -{ yylhsminor.yy600 = createValueNode(pCxt, TSDB_DATA_TYPE_BINARY, &yymsp[0].minor.yy0); } - yymsp[0].minor.yy600 = yylhsminor.yy600; + case 500: /* signed_literal ::= NK_STRING */ +{ yylhsminor.yy452 = createValueNode(pCxt, TSDB_DATA_TYPE_BINARY, &yymsp[0].minor.yy0); } + yymsp[0].minor.yy452 = yylhsminor.yy452; break; - case 500: /* signed_literal ::= NK_BOOL */ -{ yylhsminor.yy600 = createValueNode(pCxt, TSDB_DATA_TYPE_BOOL, &yymsp[0].minor.yy0); } - yymsp[0].minor.yy600 = yylhsminor.yy600; + case 501: /* signed_literal ::= NK_BOOL */ +{ yylhsminor.yy452 = createValueNode(pCxt, TSDB_DATA_TYPE_BOOL, &yymsp[0].minor.yy0); } + yymsp[0].minor.yy452 = yylhsminor.yy452; break; - case 501: /* signed_literal ::= TIMESTAMP NK_STRING */ -{ yymsp[-1].minor.yy600 = createValueNode(pCxt, TSDB_DATA_TYPE_TIMESTAMP, &yymsp[0].minor.yy0); } + case 502: /* signed_literal ::= TIMESTAMP NK_STRING */ +{ yymsp[-1].minor.yy452 = createValueNode(pCxt, TSDB_DATA_TYPE_TIMESTAMP, &yymsp[0].minor.yy0); } break; - case 502: /* signed_literal ::= duration_literal */ - case 504: /* signed_literal ::= literal_func */ yytestcase(yyruleno==504); - case 582: /* star_func_para ::= expr_or_subquery */ yytestcase(yyruleno==582); - case 665: /* select_item ::= common_expression */ yytestcase(yyruleno==665); - case 675: /* partition_item ::= expr_or_subquery */ yytestcase(yyruleno==675); - case 718: /* query_simple_or_subquery ::= subquery */ yytestcase(yyruleno==718); - case 720: /* query_or_subquery ::= subquery */ yytestcase(yyruleno==720); - case 733: /* search_condition ::= common_expression */ yytestcase(yyruleno==733); -{ yylhsminor.yy600 = releaseRawExprNode(pCxt, yymsp[0].minor.yy600); } - yymsp[0].minor.yy600 = yylhsminor.yy600; + case 503: /* signed_literal ::= duration_literal */ + case 505: /* signed_literal ::= literal_func */ yytestcase(yyruleno==505); + case 583: /* star_func_para ::= expr_or_subquery */ yytestcase(yyruleno==583); + case 666: /* select_item ::= common_expression */ yytestcase(yyruleno==666); + case 676: /* partition_item ::= expr_or_subquery */ yytestcase(yyruleno==676); + case 719: /* query_simple_or_subquery ::= subquery */ yytestcase(yyruleno==719); + case 721: /* query_or_subquery ::= subquery */ yytestcase(yyruleno==721); + case 734: /* search_condition ::= common_expression */ yytestcase(yyruleno==734); +{ yylhsminor.yy452 = releaseRawExprNode(pCxt, yymsp[0].minor.yy452); } + yymsp[0].minor.yy452 = yylhsminor.yy452; break; - case 503: /* signed_literal ::= NULL */ -{ yylhsminor.yy600 = createValueNode(pCxt, TSDB_DATA_TYPE_NULL, &yymsp[0].minor.yy0); } - yymsp[0].minor.yy600 = yylhsminor.yy600; + case 504: /* signed_literal ::= NULL */ +{ yylhsminor.yy452 = createValueNode(pCxt, TSDB_DATA_TYPE_NULL, &yymsp[0].minor.yy0); } + yymsp[0].minor.yy452 = yylhsminor.yy452; break; - case 505: /* signed_literal ::= NK_QUESTION */ -{ yylhsminor.yy600 = createPlaceholderValueNode(pCxt, &yymsp[0].minor.yy0); } - yymsp[0].minor.yy600 = yylhsminor.yy600; + case 506: /* signed_literal ::= NK_QUESTION */ +{ yylhsminor.yy452 = createPlaceholderValueNode(pCxt, &yymsp[0].minor.yy0); } + yymsp[0].minor.yy452 = yylhsminor.yy452; break; - case 524: /* expression ::= pseudo_column */ -{ yylhsminor.yy600 = yymsp[0].minor.yy600; setRawExprNodeIsPseudoColumn(pCxt, yylhsminor.yy600, true); } - yymsp[0].minor.yy600 = yylhsminor.yy600; + case 525: /* expression ::= pseudo_column */ +{ yylhsminor.yy452 = yymsp[0].minor.yy452; setRawExprNodeIsPseudoColumn(pCxt, yylhsminor.yy452, true); } + yymsp[0].minor.yy452 = yylhsminor.yy452; break; - case 528: /* expression ::= NK_LP expression NK_RP */ - case 616: /* boolean_primary ::= NK_LP boolean_value_expression NK_RP */ yytestcase(yyruleno==616); - case 732: /* subquery ::= NK_LP subquery NK_RP */ yytestcase(yyruleno==732); -{ yylhsminor.yy600 = createRawExprNodeExt(pCxt, &yymsp[-2].minor.yy0, &yymsp[0].minor.yy0, releaseRawExprNode(pCxt, yymsp[-1].minor.yy600)); } - yymsp[-2].minor.yy600 = yylhsminor.yy600; + case 529: /* expression ::= NK_LP expression NK_RP */ + case 617: /* boolean_primary ::= NK_LP boolean_value_expression NK_RP */ yytestcase(yyruleno==617); + case 733: /* subquery ::= NK_LP subquery NK_RP */ yytestcase(yyruleno==733); +{ yylhsminor.yy452 = createRawExprNodeExt(pCxt, &yymsp[-2].minor.yy0, &yymsp[0].minor.yy0, releaseRawExprNode(pCxt, yymsp[-1].minor.yy452)); } + yymsp[-2].minor.yy452 = yylhsminor.yy452; break; - case 529: /* expression ::= NK_PLUS expr_or_subquery */ + case 530: /* expression ::= NK_PLUS expr_or_subquery */ { - SToken t = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy600); - yylhsminor.yy600 = createRawExprNodeExt(pCxt, &yymsp[-1].minor.yy0, &t, releaseRawExprNode(pCxt, yymsp[0].minor.yy600)); + SToken t = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy452); + yylhsminor.yy452 = createRawExprNodeExt(pCxt, &yymsp[-1].minor.yy0, &t, releaseRawExprNode(pCxt, yymsp[0].minor.yy452)); } - yymsp[-1].minor.yy600 = yylhsminor.yy600; + yymsp[-1].minor.yy452 = yylhsminor.yy452; break; - case 530: /* expression ::= NK_MINUS expr_or_subquery */ + case 531: /* expression ::= NK_MINUS expr_or_subquery */ { - SToken t = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy600); - yylhsminor.yy600 = createRawExprNodeExt(pCxt, &yymsp[-1].minor.yy0, &t, createOperatorNode(pCxt, OP_TYPE_MINUS, releaseRawExprNode(pCxt, yymsp[0].minor.yy600), NULL)); + SToken t = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy452); + yylhsminor.yy452 = createRawExprNodeExt(pCxt, &yymsp[-1].minor.yy0, &t, createOperatorNode(pCxt, OP_TYPE_MINUS, releaseRawExprNode(pCxt, yymsp[0].minor.yy452), NULL)); } - yymsp[-1].minor.yy600 = yylhsminor.yy600; + yymsp[-1].minor.yy452 = yylhsminor.yy452; break; - case 531: /* expression ::= expr_or_subquery NK_PLUS expr_or_subquery */ + case 532: /* expression ::= expr_or_subquery NK_PLUS expr_or_subquery */ { - SToken s = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy600); - SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy600); - yylhsminor.yy600 = createRawExprNodeExt(pCxt, &s, &e, createOperatorNode(pCxt, OP_TYPE_ADD, releaseRawExprNode(pCxt, yymsp[-2].minor.yy600), releaseRawExprNode(pCxt, yymsp[0].minor.yy600))); + SToken s = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy452); + SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy452); + yylhsminor.yy452 = createRawExprNodeExt(pCxt, &s, &e, createOperatorNode(pCxt, OP_TYPE_ADD, releaseRawExprNode(pCxt, yymsp[-2].minor.yy452), releaseRawExprNode(pCxt, yymsp[0].minor.yy452))); } - yymsp[-2].minor.yy600 = yylhsminor.yy600; + yymsp[-2].minor.yy452 = yylhsminor.yy452; break; - case 532: /* expression ::= expr_or_subquery NK_MINUS expr_or_subquery */ + case 533: /* expression ::= expr_or_subquery NK_MINUS expr_or_subquery */ { - SToken s = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy600); - SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy600); - yylhsminor.yy600 = createRawExprNodeExt(pCxt, &s, &e, createOperatorNode(pCxt, OP_TYPE_SUB, releaseRawExprNode(pCxt, yymsp[-2].minor.yy600), releaseRawExprNode(pCxt, yymsp[0].minor.yy600))); + SToken s = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy452); + SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy452); + yylhsminor.yy452 = createRawExprNodeExt(pCxt, &s, &e, createOperatorNode(pCxt, OP_TYPE_SUB, releaseRawExprNode(pCxt, yymsp[-2].minor.yy452), releaseRawExprNode(pCxt, yymsp[0].minor.yy452))); } - yymsp[-2].minor.yy600 = yylhsminor.yy600; + yymsp[-2].minor.yy452 = yylhsminor.yy452; break; - case 533: /* expression ::= expr_or_subquery NK_STAR expr_or_subquery */ + case 534: /* expression ::= expr_or_subquery NK_STAR expr_or_subquery */ { - SToken s = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy600); - SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy600); - yylhsminor.yy600 = createRawExprNodeExt(pCxt, &s, &e, createOperatorNode(pCxt, OP_TYPE_MULTI, releaseRawExprNode(pCxt, yymsp[-2].minor.yy600), releaseRawExprNode(pCxt, yymsp[0].minor.yy600))); + SToken s = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy452); + SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy452); + yylhsminor.yy452 = createRawExprNodeExt(pCxt, &s, &e, createOperatorNode(pCxt, OP_TYPE_MULTI, releaseRawExprNode(pCxt, yymsp[-2].minor.yy452), releaseRawExprNode(pCxt, yymsp[0].minor.yy452))); } - yymsp[-2].minor.yy600 = yylhsminor.yy600; + yymsp[-2].minor.yy452 = yylhsminor.yy452; break; - case 534: /* expression ::= expr_or_subquery NK_SLASH expr_or_subquery */ + case 535: /* expression ::= expr_or_subquery NK_SLASH expr_or_subquery */ { - SToken s = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy600); - SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy600); - yylhsminor.yy600 = createRawExprNodeExt(pCxt, &s, &e, createOperatorNode(pCxt, OP_TYPE_DIV, releaseRawExprNode(pCxt, yymsp[-2].minor.yy600), releaseRawExprNode(pCxt, yymsp[0].minor.yy600))); + SToken s = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy452); + SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy452); + yylhsminor.yy452 = createRawExprNodeExt(pCxt, &s, &e, createOperatorNode(pCxt, OP_TYPE_DIV, releaseRawExprNode(pCxt, yymsp[-2].minor.yy452), releaseRawExprNode(pCxt, yymsp[0].minor.yy452))); } - yymsp[-2].minor.yy600 = yylhsminor.yy600; + yymsp[-2].minor.yy452 = yylhsminor.yy452; break; - case 535: /* expression ::= expr_or_subquery NK_REM expr_or_subquery */ + case 536: /* expression ::= expr_or_subquery NK_REM expr_or_subquery */ { - SToken s = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy600); - SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy600); - yylhsminor.yy600 = createRawExprNodeExt(pCxt, &s, &e, createOperatorNode(pCxt, OP_TYPE_REM, releaseRawExprNode(pCxt, yymsp[-2].minor.yy600), releaseRawExprNode(pCxt, yymsp[0].minor.yy600))); + SToken s = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy452); + SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy452); + yylhsminor.yy452 = createRawExprNodeExt(pCxt, &s, &e, createOperatorNode(pCxt, OP_TYPE_REM, releaseRawExprNode(pCxt, yymsp[-2].minor.yy452), releaseRawExprNode(pCxt, yymsp[0].minor.yy452))); } - yymsp[-2].minor.yy600 = yylhsminor.yy600; + yymsp[-2].minor.yy452 = yylhsminor.yy452; break; - case 536: /* expression ::= column_reference NK_ARROW NK_STRING */ + case 537: /* expression ::= column_reference NK_ARROW NK_STRING */ { - SToken s = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy600); - yylhsminor.yy600 = createRawExprNodeExt(pCxt, &s, &yymsp[0].minor.yy0, createOperatorNode(pCxt, OP_TYPE_JSON_GET_VALUE, releaseRawExprNode(pCxt, yymsp[-2].minor.yy600), createValueNode(pCxt, TSDB_DATA_TYPE_BINARY, &yymsp[0].minor.yy0))); + SToken s = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy452); + yylhsminor.yy452 = createRawExprNodeExt(pCxt, &s, &yymsp[0].minor.yy0, createOperatorNode(pCxt, OP_TYPE_JSON_GET_VALUE, releaseRawExprNode(pCxt, yymsp[-2].minor.yy452), createValueNode(pCxt, TSDB_DATA_TYPE_BINARY, &yymsp[0].minor.yy0))); } - yymsp[-2].minor.yy600 = yylhsminor.yy600; + yymsp[-2].minor.yy452 = yylhsminor.yy452; break; - case 537: /* expression ::= expr_or_subquery NK_BITAND expr_or_subquery */ + case 538: /* expression ::= expr_or_subquery NK_BITAND expr_or_subquery */ { - SToken s = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy600); - SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy600); - yylhsminor.yy600 = createRawExprNodeExt(pCxt, &s, &e, createOperatorNode(pCxt, OP_TYPE_BIT_AND, releaseRawExprNode(pCxt, yymsp[-2].minor.yy600), releaseRawExprNode(pCxt, yymsp[0].minor.yy600))); + SToken s = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy452); + SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy452); + yylhsminor.yy452 = createRawExprNodeExt(pCxt, &s, &e, createOperatorNode(pCxt, OP_TYPE_BIT_AND, releaseRawExprNode(pCxt, yymsp[-2].minor.yy452), releaseRawExprNode(pCxt, yymsp[0].minor.yy452))); } - yymsp[-2].minor.yy600 = yylhsminor.yy600; + yymsp[-2].minor.yy452 = yylhsminor.yy452; break; - case 538: /* expression ::= expr_or_subquery NK_BITOR expr_or_subquery */ + case 539: /* expression ::= expr_or_subquery NK_BITOR expr_or_subquery */ { - SToken s = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy600); - SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy600); - yylhsminor.yy600 = createRawExprNodeExt(pCxt, &s, &e, createOperatorNode(pCxt, OP_TYPE_BIT_OR, releaseRawExprNode(pCxt, yymsp[-2].minor.yy600), releaseRawExprNode(pCxt, yymsp[0].minor.yy600))); + SToken s = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy452); + SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy452); + yylhsminor.yy452 = createRawExprNodeExt(pCxt, &s, &e, createOperatorNode(pCxt, OP_TYPE_BIT_OR, releaseRawExprNode(pCxt, yymsp[-2].minor.yy452), releaseRawExprNode(pCxt, yymsp[0].minor.yy452))); } - yymsp[-2].minor.yy600 = yylhsminor.yy600; + yymsp[-2].minor.yy452 = yylhsminor.yy452; break; - case 541: /* column_reference ::= column_name */ -{ yylhsminor.yy600 = createRawExprNode(pCxt, &yymsp[0].minor.yy649, createColumnNode(pCxt, NULL, &yymsp[0].minor.yy649)); } - yymsp[0].minor.yy600 = yylhsminor.yy600; + case 542: /* column_reference ::= column_name */ +{ yylhsminor.yy452 = createRawExprNode(pCxt, &yymsp[0].minor.yy479, createColumnNode(pCxt, NULL, &yymsp[0].minor.yy479)); } + yymsp[0].minor.yy452 = yylhsminor.yy452; break; - case 542: /* column_reference ::= table_name NK_DOT column_name */ -{ yylhsminor.yy600 = createRawExprNodeExt(pCxt, &yymsp[-2].minor.yy649, &yymsp[0].minor.yy649, createColumnNode(pCxt, &yymsp[-2].minor.yy649, &yymsp[0].minor.yy649)); } - yymsp[-2].minor.yy600 = yylhsminor.yy600; + case 543: /* column_reference ::= table_name NK_DOT column_name */ +{ yylhsminor.yy452 = createRawExprNodeExt(pCxt, &yymsp[-2].minor.yy479, &yymsp[0].minor.yy479, createColumnNode(pCxt, &yymsp[-2].minor.yy479, &yymsp[0].minor.yy479)); } + yymsp[-2].minor.yy452 = yylhsminor.yy452; break; - case 543: /* column_reference ::= NK_ALIAS */ -{ yylhsminor.yy600 = createRawExprNode(pCxt, &yymsp[0].minor.yy0, createColumnNode(pCxt, NULL, &yymsp[0].minor.yy0)); } - yymsp[0].minor.yy600 = yylhsminor.yy600; + case 544: /* column_reference ::= NK_ALIAS */ +{ yylhsminor.yy452 = createRawExprNode(pCxt, &yymsp[0].minor.yy0, createColumnNode(pCxt, NULL, &yymsp[0].minor.yy0)); } + yymsp[0].minor.yy452 = yylhsminor.yy452; break; - case 544: /* column_reference ::= table_name NK_DOT NK_ALIAS */ -{ yylhsminor.yy600 = createRawExprNodeExt(pCxt, &yymsp[-2].minor.yy649, &yymsp[0].minor.yy0, createColumnNode(pCxt, &yymsp[-2].minor.yy649, &yymsp[0].minor.yy0)); } - yymsp[-2].minor.yy600 = yylhsminor.yy600; + case 545: /* column_reference ::= table_name NK_DOT NK_ALIAS */ +{ yylhsminor.yy452 = createRawExprNodeExt(pCxt, &yymsp[-2].minor.yy479, &yymsp[0].minor.yy0, createColumnNode(pCxt, &yymsp[-2].minor.yy479, &yymsp[0].minor.yy0)); } + yymsp[-2].minor.yy452 = yylhsminor.yy452; break; - case 545: /* pseudo_column ::= ROWTS */ - case 546: /* pseudo_column ::= TBNAME */ yytestcase(yyruleno==546); - case 548: /* pseudo_column ::= QSTART */ yytestcase(yyruleno==548); - case 549: /* pseudo_column ::= QEND */ yytestcase(yyruleno==549); - case 550: /* pseudo_column ::= QDURATION */ yytestcase(yyruleno==550); - case 551: /* pseudo_column ::= WSTART */ yytestcase(yyruleno==551); - case 552: /* pseudo_column ::= WEND */ yytestcase(yyruleno==552); - case 553: /* pseudo_column ::= WDURATION */ yytestcase(yyruleno==553); - case 554: /* pseudo_column ::= IROWTS */ yytestcase(yyruleno==554); - case 555: /* pseudo_column ::= ISFILLED */ yytestcase(yyruleno==555); - case 556: /* pseudo_column ::= QTAGS */ yytestcase(yyruleno==556); - case 563: /* literal_func ::= NOW */ yytestcase(yyruleno==563); - case 564: /* literal_func ::= TODAY */ yytestcase(yyruleno==564); -{ yylhsminor.yy600 = createRawExprNode(pCxt, &yymsp[0].minor.yy0, createFunctionNode(pCxt, &yymsp[0].minor.yy0, NULL)); } - yymsp[0].minor.yy600 = yylhsminor.yy600; + case 546: /* pseudo_column ::= ROWTS */ + case 547: /* pseudo_column ::= TBNAME */ yytestcase(yyruleno==547); + case 549: /* pseudo_column ::= QSTART */ yytestcase(yyruleno==549); + case 550: /* pseudo_column ::= QEND */ yytestcase(yyruleno==550); + case 551: /* pseudo_column ::= QDURATION */ yytestcase(yyruleno==551); + case 552: /* pseudo_column ::= WSTART */ yytestcase(yyruleno==552); + case 553: /* pseudo_column ::= WEND */ yytestcase(yyruleno==553); + case 554: /* pseudo_column ::= WDURATION */ yytestcase(yyruleno==554); + case 555: /* pseudo_column ::= IROWTS */ yytestcase(yyruleno==555); + case 556: /* pseudo_column ::= ISFILLED */ yytestcase(yyruleno==556); + case 557: /* pseudo_column ::= QTAGS */ yytestcase(yyruleno==557); + case 564: /* literal_func ::= NOW */ yytestcase(yyruleno==564); + case 565: /* literal_func ::= TODAY */ yytestcase(yyruleno==565); +{ yylhsminor.yy452 = createRawExprNode(pCxt, &yymsp[0].minor.yy0, createFunctionNode(pCxt, &yymsp[0].minor.yy0, NULL)); } + yymsp[0].minor.yy452 = yylhsminor.yy452; break; - case 547: /* pseudo_column ::= table_name NK_DOT TBNAME */ -{ yylhsminor.yy600 = createRawExprNodeExt(pCxt, &yymsp[-2].minor.yy649, &yymsp[0].minor.yy0, createFunctionNode(pCxt, &yymsp[0].minor.yy0, createNodeList(pCxt, createValueNode(pCxt, TSDB_DATA_TYPE_BINARY, &yymsp[-2].minor.yy649)))); } - yymsp[-2].minor.yy600 = yylhsminor.yy600; + case 548: /* pseudo_column ::= table_name NK_DOT TBNAME */ +{ yylhsminor.yy452 = createRawExprNodeExt(pCxt, &yymsp[-2].minor.yy479, &yymsp[0].minor.yy0, createFunctionNode(pCxt, &yymsp[0].minor.yy0, createNodeList(pCxt, createValueNode(pCxt, TSDB_DATA_TYPE_BINARY, &yymsp[-2].minor.yy479)))); } + yymsp[-2].minor.yy452 = yylhsminor.yy452; break; - case 557: /* function_expression ::= function_name NK_LP expression_list NK_RP */ - case 558: /* function_expression ::= star_func NK_LP star_func_para_list NK_RP */ yytestcase(yyruleno==558); -{ yylhsminor.yy600 = createRawExprNodeExt(pCxt, &yymsp[-3].minor.yy649, &yymsp[0].minor.yy0, createFunctionNode(pCxt, &yymsp[-3].minor.yy649, yymsp[-1].minor.yy748)); } - yymsp[-3].minor.yy600 = yylhsminor.yy600; + case 558: /* function_expression ::= function_name NK_LP expression_list NK_RP */ + case 559: /* function_expression ::= star_func NK_LP star_func_para_list NK_RP */ yytestcase(yyruleno==559); +{ yylhsminor.yy452 = createRawExprNodeExt(pCxt, &yymsp[-3].minor.yy479, &yymsp[0].minor.yy0, createFunctionNode(pCxt, &yymsp[-3].minor.yy479, yymsp[-1].minor.yy34)); } + yymsp[-3].minor.yy452 = yylhsminor.yy452; break; - case 559: /* function_expression ::= CAST NK_LP expr_or_subquery AS type_name NK_RP */ - case 560: /* function_expression ::= CAST NK_LP expr_or_subquery AS type_name_default_len NK_RP */ yytestcase(yyruleno==560); -{ yylhsminor.yy600 = createRawExprNodeExt(pCxt, &yymsp[-5].minor.yy0, &yymsp[0].minor.yy0, createCastFunctionNode(pCxt, releaseRawExprNode(pCxt, yymsp[-3].minor.yy600), yymsp[-1].minor.yy400)); } - yymsp[-5].minor.yy600 = yylhsminor.yy600; + case 560: /* function_expression ::= CAST NK_LP expr_or_subquery AS type_name NK_RP */ + case 561: /* function_expression ::= CAST NK_LP expr_or_subquery AS type_name_default_len NK_RP */ yytestcase(yyruleno==561); +{ yylhsminor.yy452 = createRawExprNodeExt(pCxt, &yymsp[-5].minor.yy0, &yymsp[0].minor.yy0, createCastFunctionNode(pCxt, releaseRawExprNode(pCxt, yymsp[-3].minor.yy452), yymsp[-1].minor.yy874)); } + yymsp[-5].minor.yy452 = yylhsminor.yy452; break; - case 562: /* literal_func ::= noarg_func NK_LP NK_RP */ -{ yylhsminor.yy600 = createRawExprNodeExt(pCxt, &yymsp[-2].minor.yy649, &yymsp[0].minor.yy0, createFunctionNode(pCxt, &yymsp[-2].minor.yy649, NULL)); } - yymsp[-2].minor.yy600 = yylhsminor.yy600; + case 563: /* literal_func ::= noarg_func NK_LP NK_RP */ +{ yylhsminor.yy452 = createRawExprNodeExt(pCxt, &yymsp[-2].minor.yy479, &yymsp[0].minor.yy0, createFunctionNode(pCxt, &yymsp[-2].minor.yy479, NULL)); } + yymsp[-2].minor.yy452 = yylhsminor.yy452; break; - case 578: /* star_func_para_list ::= NK_STAR */ -{ yylhsminor.yy748 = createNodeList(pCxt, createColumnNode(pCxt, NULL, &yymsp[0].minor.yy0)); } - yymsp[0].minor.yy748 = yylhsminor.yy748; + case 579: /* star_func_para_list ::= NK_STAR */ +{ yylhsminor.yy34 = createNodeList(pCxt, createColumnNode(pCxt, NULL, &yymsp[0].minor.yy0)); } + yymsp[0].minor.yy34 = yylhsminor.yy34; break; - case 583: /* star_func_para ::= table_name NK_DOT NK_STAR */ - case 668: /* select_item ::= table_name NK_DOT NK_STAR */ yytestcase(yyruleno==668); -{ yylhsminor.yy600 = createColumnNode(pCxt, &yymsp[-2].minor.yy649, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy600 = yylhsminor.yy600; + case 584: /* star_func_para ::= table_name NK_DOT NK_STAR */ + case 669: /* select_item ::= table_name NK_DOT NK_STAR */ yytestcase(yyruleno==669); +{ yylhsminor.yy452 = createColumnNode(pCxt, &yymsp[-2].minor.yy479, &yymsp[0].minor.yy0); } + yymsp[-2].minor.yy452 = yylhsminor.yy452; break; - case 584: /* case_when_expression ::= CASE when_then_list case_when_else_opt END */ -{ yylhsminor.yy600 = createRawExprNodeExt(pCxt, &yymsp[-3].minor.yy0, &yymsp[0].minor.yy0, createCaseWhenNode(pCxt, NULL, yymsp[-2].minor.yy748, yymsp[-1].minor.yy600)); } - yymsp[-3].minor.yy600 = yylhsminor.yy600; + case 585: /* case_when_expression ::= CASE when_then_list case_when_else_opt END */ +{ yylhsminor.yy452 = createRawExprNodeExt(pCxt, &yymsp[-3].minor.yy0, &yymsp[0].minor.yy0, createCaseWhenNode(pCxt, NULL, yymsp[-2].minor.yy34, yymsp[-1].minor.yy452)); } + yymsp[-3].minor.yy452 = yylhsminor.yy452; break; - case 585: /* case_when_expression ::= CASE common_expression when_then_list case_when_else_opt END */ -{ yylhsminor.yy600 = createRawExprNodeExt(pCxt, &yymsp[-4].minor.yy0, &yymsp[0].minor.yy0, createCaseWhenNode(pCxt, releaseRawExprNode(pCxt, yymsp[-3].minor.yy600), yymsp[-2].minor.yy748, yymsp[-1].minor.yy600)); } - yymsp[-4].minor.yy600 = yylhsminor.yy600; + case 586: /* case_when_expression ::= CASE common_expression when_then_list case_when_else_opt END */ +{ yylhsminor.yy452 = createRawExprNodeExt(pCxt, &yymsp[-4].minor.yy0, &yymsp[0].minor.yy0, createCaseWhenNode(pCxt, releaseRawExprNode(pCxt, yymsp[-3].minor.yy452), yymsp[-2].minor.yy34, yymsp[-1].minor.yy452)); } + yymsp[-4].minor.yy452 = yylhsminor.yy452; break; - case 588: /* when_then_expr ::= WHEN common_expression THEN common_expression */ -{ yymsp[-3].minor.yy600 = createWhenThenNode(pCxt, releaseRawExprNode(pCxt, yymsp[-2].minor.yy600), releaseRawExprNode(pCxt, yymsp[0].minor.yy600)); } + case 589: /* when_then_expr ::= WHEN common_expression THEN common_expression */ +{ yymsp[-3].minor.yy452 = createWhenThenNode(pCxt, releaseRawExprNode(pCxt, yymsp[-2].minor.yy452), releaseRawExprNode(pCxt, yymsp[0].minor.yy452)); } break; - case 590: /* case_when_else_opt ::= ELSE common_expression */ -{ yymsp[-1].minor.yy600 = releaseRawExprNode(pCxt, yymsp[0].minor.yy600); } + case 591: /* case_when_else_opt ::= ELSE common_expression */ +{ yymsp[-1].minor.yy452 = releaseRawExprNode(pCxt, yymsp[0].minor.yy452); } break; - case 591: /* predicate ::= expr_or_subquery compare_op expr_or_subquery */ - case 596: /* predicate ::= expr_or_subquery in_op in_predicate_value */ yytestcase(yyruleno==596); + case 592: /* predicate ::= expr_or_subquery compare_op expr_or_subquery */ + case 597: /* predicate ::= expr_or_subquery in_op in_predicate_value */ yytestcase(yyruleno==597); { - SToken s = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy600); - SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy600); - yylhsminor.yy600 = createRawExprNodeExt(pCxt, &s, &e, createOperatorNode(pCxt, yymsp[-1].minor.yy292, releaseRawExprNode(pCxt, yymsp[-2].minor.yy600), releaseRawExprNode(pCxt, yymsp[0].minor.yy600))); + SToken s = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy452); + SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy452); + yylhsminor.yy452 = createRawExprNodeExt(pCxt, &s, &e, createOperatorNode(pCxt, yymsp[-1].minor.yy440, releaseRawExprNode(pCxt, yymsp[-2].minor.yy452), releaseRawExprNode(pCxt, yymsp[0].minor.yy452))); } - yymsp[-2].minor.yy600 = yylhsminor.yy600; + yymsp[-2].minor.yy452 = yylhsminor.yy452; break; - case 592: /* predicate ::= expr_or_subquery BETWEEN expr_or_subquery AND expr_or_subquery */ + case 593: /* predicate ::= expr_or_subquery BETWEEN expr_or_subquery AND expr_or_subquery */ { - SToken s = getTokenFromRawExprNode(pCxt, yymsp[-4].minor.yy600); - SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy600); - yylhsminor.yy600 = createRawExprNodeExt(pCxt, &s, &e, createBetweenAnd(pCxt, releaseRawExprNode(pCxt, yymsp[-4].minor.yy600), releaseRawExprNode(pCxt, yymsp[-2].minor.yy600), releaseRawExprNode(pCxt, yymsp[0].minor.yy600))); + SToken s = getTokenFromRawExprNode(pCxt, yymsp[-4].minor.yy452); + SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy452); + yylhsminor.yy452 = createRawExprNodeExt(pCxt, &s, &e, createBetweenAnd(pCxt, releaseRawExprNode(pCxt, yymsp[-4].minor.yy452), releaseRawExprNode(pCxt, yymsp[-2].minor.yy452), releaseRawExprNode(pCxt, yymsp[0].minor.yy452))); } - yymsp[-4].minor.yy600 = yylhsminor.yy600; + yymsp[-4].minor.yy452 = yylhsminor.yy452; break; - case 593: /* predicate ::= expr_or_subquery NOT BETWEEN expr_or_subquery AND expr_or_subquery */ + case 594: /* predicate ::= expr_or_subquery NOT BETWEEN expr_or_subquery AND expr_or_subquery */ { - SToken s = getTokenFromRawExprNode(pCxt, yymsp[-5].minor.yy600); - SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy600); - yylhsminor.yy600 = createRawExprNodeExt(pCxt, &s, &e, createNotBetweenAnd(pCxt, releaseRawExprNode(pCxt, yymsp[-5].minor.yy600), releaseRawExprNode(pCxt, yymsp[-2].minor.yy600), releaseRawExprNode(pCxt, yymsp[0].minor.yy600))); + SToken s = getTokenFromRawExprNode(pCxt, yymsp[-5].minor.yy452); + SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy452); + yylhsminor.yy452 = createRawExprNodeExt(pCxt, &s, &e, createNotBetweenAnd(pCxt, releaseRawExprNode(pCxt, yymsp[-5].minor.yy452), releaseRawExprNode(pCxt, yymsp[-2].minor.yy452), releaseRawExprNode(pCxt, yymsp[0].minor.yy452))); } - yymsp[-5].minor.yy600 = yylhsminor.yy600; + yymsp[-5].minor.yy452 = yylhsminor.yy452; break; - case 594: /* predicate ::= expr_or_subquery IS NULL */ + case 595: /* predicate ::= expr_or_subquery IS NULL */ { - SToken s = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy600); - yylhsminor.yy600 = createRawExprNodeExt(pCxt, &s, &yymsp[0].minor.yy0, createOperatorNode(pCxt, OP_TYPE_IS_NULL, releaseRawExprNode(pCxt, yymsp[-2].minor.yy600), NULL)); + SToken s = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy452); + yylhsminor.yy452 = createRawExprNodeExt(pCxt, &s, &yymsp[0].minor.yy0, createOperatorNode(pCxt, OP_TYPE_IS_NULL, releaseRawExprNode(pCxt, yymsp[-2].minor.yy452), NULL)); } - yymsp[-2].minor.yy600 = yylhsminor.yy600; + yymsp[-2].minor.yy452 = yylhsminor.yy452; break; - case 595: /* predicate ::= expr_or_subquery IS NOT NULL */ + case 596: /* predicate ::= expr_or_subquery IS NOT NULL */ { - SToken s = getTokenFromRawExprNode(pCxt, yymsp[-3].minor.yy600); - yylhsminor.yy600 = createRawExprNodeExt(pCxt, &s, &yymsp[0].minor.yy0, createOperatorNode(pCxt, OP_TYPE_IS_NOT_NULL, releaseRawExprNode(pCxt, yymsp[-3].minor.yy600), NULL)); + SToken s = getTokenFromRawExprNode(pCxt, yymsp[-3].minor.yy452); + yylhsminor.yy452 = createRawExprNodeExt(pCxt, &s, &yymsp[0].minor.yy0, createOperatorNode(pCxt, OP_TYPE_IS_NOT_NULL, releaseRawExprNode(pCxt, yymsp[-3].minor.yy452), NULL)); } - yymsp[-3].minor.yy600 = yylhsminor.yy600; + yymsp[-3].minor.yy452 = yylhsminor.yy452; break; - case 597: /* compare_op ::= NK_LT */ -{ yymsp[0].minor.yy292 = OP_TYPE_LOWER_THAN; } + case 598: /* compare_op ::= NK_LT */ +{ yymsp[0].minor.yy440 = OP_TYPE_LOWER_THAN; } break; - case 598: /* compare_op ::= NK_GT */ -{ yymsp[0].minor.yy292 = OP_TYPE_GREATER_THAN; } + case 599: /* compare_op ::= NK_GT */ +{ yymsp[0].minor.yy440 = OP_TYPE_GREATER_THAN; } break; - case 599: /* compare_op ::= NK_LE */ -{ yymsp[0].minor.yy292 = OP_TYPE_LOWER_EQUAL; } + case 600: /* compare_op ::= NK_LE */ +{ yymsp[0].minor.yy440 = OP_TYPE_LOWER_EQUAL; } break; - case 600: /* compare_op ::= NK_GE */ -{ yymsp[0].minor.yy292 = OP_TYPE_GREATER_EQUAL; } + case 601: /* compare_op ::= NK_GE */ +{ yymsp[0].minor.yy440 = OP_TYPE_GREATER_EQUAL; } break; - case 601: /* compare_op ::= NK_NE */ -{ yymsp[0].minor.yy292 = OP_TYPE_NOT_EQUAL; } + case 602: /* compare_op ::= NK_NE */ +{ yymsp[0].minor.yy440 = OP_TYPE_NOT_EQUAL; } break; - case 602: /* compare_op ::= NK_EQ */ -{ yymsp[0].minor.yy292 = OP_TYPE_EQUAL; } + case 603: /* compare_op ::= NK_EQ */ +{ yymsp[0].minor.yy440 = OP_TYPE_EQUAL; } break; - case 603: /* compare_op ::= LIKE */ -{ yymsp[0].minor.yy292 = OP_TYPE_LIKE; } + case 604: /* compare_op ::= LIKE */ +{ yymsp[0].minor.yy440 = OP_TYPE_LIKE; } break; - case 604: /* compare_op ::= NOT LIKE */ -{ yymsp[-1].minor.yy292 = OP_TYPE_NOT_LIKE; } + case 605: /* compare_op ::= NOT LIKE */ +{ yymsp[-1].minor.yy440 = OP_TYPE_NOT_LIKE; } break; - case 605: /* compare_op ::= MATCH */ -{ yymsp[0].minor.yy292 = OP_TYPE_MATCH; } + case 606: /* compare_op ::= MATCH */ +{ yymsp[0].minor.yy440 = OP_TYPE_MATCH; } break; - case 606: /* compare_op ::= NMATCH */ -{ yymsp[0].minor.yy292 = OP_TYPE_NMATCH; } + case 607: /* compare_op ::= NMATCH */ +{ yymsp[0].minor.yy440 = OP_TYPE_NMATCH; } break; - case 607: /* compare_op ::= CONTAINS */ -{ yymsp[0].minor.yy292 = OP_TYPE_JSON_CONTAINS; } + case 608: /* compare_op ::= CONTAINS */ +{ yymsp[0].minor.yy440 = OP_TYPE_JSON_CONTAINS; } break; - case 608: /* in_op ::= IN */ -{ yymsp[0].minor.yy292 = OP_TYPE_IN; } + case 609: /* in_op ::= IN */ +{ yymsp[0].minor.yy440 = OP_TYPE_IN; } break; - case 609: /* in_op ::= NOT IN */ -{ yymsp[-1].minor.yy292 = OP_TYPE_NOT_IN; } + case 610: /* in_op ::= NOT IN */ +{ yymsp[-1].minor.yy440 = OP_TYPE_NOT_IN; } break; - case 610: /* in_predicate_value ::= NK_LP literal_list NK_RP */ -{ yylhsminor.yy600 = createRawExprNodeExt(pCxt, &yymsp[-2].minor.yy0, &yymsp[0].minor.yy0, createNodeListNode(pCxt, yymsp[-1].minor.yy748)); } - yymsp[-2].minor.yy600 = yylhsminor.yy600; + case 611: /* in_predicate_value ::= NK_LP literal_list NK_RP */ +{ yylhsminor.yy452 = createRawExprNodeExt(pCxt, &yymsp[-2].minor.yy0, &yymsp[0].minor.yy0, createNodeListNode(pCxt, yymsp[-1].minor.yy34)); } + yymsp[-2].minor.yy452 = yylhsminor.yy452; break; - case 612: /* boolean_value_expression ::= NOT boolean_primary */ + case 613: /* boolean_value_expression ::= NOT boolean_primary */ { - SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy600); - yylhsminor.yy600 = createRawExprNodeExt(pCxt, &yymsp[-1].minor.yy0, &e, createLogicConditionNode(pCxt, LOGIC_COND_TYPE_NOT, releaseRawExprNode(pCxt, yymsp[0].minor.yy600), NULL)); + SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy452); + yylhsminor.yy452 = createRawExprNodeExt(pCxt, &yymsp[-1].minor.yy0, &e, createLogicConditionNode(pCxt, LOGIC_COND_TYPE_NOT, releaseRawExprNode(pCxt, yymsp[0].minor.yy452), NULL)); } - yymsp[-1].minor.yy600 = yylhsminor.yy600; + yymsp[-1].minor.yy452 = yylhsminor.yy452; break; - case 613: /* boolean_value_expression ::= boolean_value_expression OR boolean_value_expression */ + case 614: /* boolean_value_expression ::= boolean_value_expression OR boolean_value_expression */ { - SToken s = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy600); - SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy600); - yylhsminor.yy600 = createRawExprNodeExt(pCxt, &s, &e, createLogicConditionNode(pCxt, LOGIC_COND_TYPE_OR, releaseRawExprNode(pCxt, yymsp[-2].minor.yy600), releaseRawExprNode(pCxt, yymsp[0].minor.yy600))); + SToken s = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy452); + SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy452); + yylhsminor.yy452 = createRawExprNodeExt(pCxt, &s, &e, createLogicConditionNode(pCxt, LOGIC_COND_TYPE_OR, releaseRawExprNode(pCxt, yymsp[-2].minor.yy452), releaseRawExprNode(pCxt, yymsp[0].minor.yy452))); } - yymsp[-2].minor.yy600 = yylhsminor.yy600; + yymsp[-2].minor.yy452 = yylhsminor.yy452; break; - case 614: /* boolean_value_expression ::= boolean_value_expression AND boolean_value_expression */ + case 615: /* boolean_value_expression ::= boolean_value_expression AND boolean_value_expression */ { - SToken s = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy600); - SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy600); - yylhsminor.yy600 = createRawExprNodeExt(pCxt, &s, &e, createLogicConditionNode(pCxt, LOGIC_COND_TYPE_AND, releaseRawExprNode(pCxt, yymsp[-2].minor.yy600), releaseRawExprNode(pCxt, yymsp[0].minor.yy600))); + SToken s = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy452); + SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy452); + yylhsminor.yy452 = createRawExprNodeExt(pCxt, &s, &e, createLogicConditionNode(pCxt, LOGIC_COND_TYPE_AND, releaseRawExprNode(pCxt, yymsp[-2].minor.yy452), releaseRawExprNode(pCxt, yymsp[0].minor.yy452))); } - yymsp[-2].minor.yy600 = yylhsminor.yy600; + yymsp[-2].minor.yy452 = yylhsminor.yy452; break; - case 622: /* table_reference_list ::= table_reference_list NK_COMMA table_reference */ -{ yylhsminor.yy600 = createJoinTableNode(pCxt, JOIN_TYPE_INNER, JOIN_STYPE_NONE, yymsp[-2].minor.yy600, yymsp[0].minor.yy600, NULL); } - yymsp[-2].minor.yy600 = yylhsminor.yy600; + case 623: /* table_reference_list ::= table_reference_list NK_COMMA table_reference */ +{ yylhsminor.yy452 = createJoinTableNode(pCxt, JOIN_TYPE_INNER, JOIN_STYPE_NONE, yymsp[-2].minor.yy452, yymsp[0].minor.yy452, NULL); } + yymsp[-2].minor.yy452 = yylhsminor.yy452; break; - case 625: /* table_primary ::= table_name alias_opt */ -{ yylhsminor.yy600 = createRealTableNode(pCxt, NULL, &yymsp[-1].minor.yy649, &yymsp[0].minor.yy649); } - yymsp[-1].minor.yy600 = yylhsminor.yy600; + case 626: /* table_primary ::= table_name alias_opt */ +{ yylhsminor.yy452 = createRealTableNode(pCxt, NULL, &yymsp[-1].minor.yy479, &yymsp[0].minor.yy479); } + yymsp[-1].minor.yy452 = yylhsminor.yy452; break; - case 626: /* table_primary ::= db_name NK_DOT table_name alias_opt */ -{ yylhsminor.yy600 = createRealTableNode(pCxt, &yymsp[-3].minor.yy649, &yymsp[-1].minor.yy649, &yymsp[0].minor.yy649); } - yymsp[-3].minor.yy600 = yylhsminor.yy600; + case 627: /* table_primary ::= db_name NK_DOT table_name alias_opt */ +{ yylhsminor.yy452 = createRealTableNode(pCxt, &yymsp[-3].minor.yy479, &yymsp[-1].minor.yy479, &yymsp[0].minor.yy479); } + yymsp[-3].minor.yy452 = yylhsminor.yy452; break; - case 627: /* table_primary ::= subquery alias_opt */ -{ yylhsminor.yy600 = createTempTableNode(pCxt, releaseRawExprNode(pCxt, yymsp[-1].minor.yy600), &yymsp[0].minor.yy649); } - yymsp[-1].minor.yy600 = yylhsminor.yy600; + case 628: /* table_primary ::= subquery alias_opt */ +{ yylhsminor.yy452 = createTempTableNode(pCxt, releaseRawExprNode(pCxt, yymsp[-1].minor.yy452), &yymsp[0].minor.yy479); } + yymsp[-1].minor.yy452 = yylhsminor.yy452; break; - case 629: /* alias_opt ::= */ -{ yymsp[1].minor.yy649 = nil_token; } + case 630: /* alias_opt ::= */ +{ yymsp[1].minor.yy479 = nil_token; } break; - case 631: /* alias_opt ::= AS table_alias */ -{ yymsp[-1].minor.yy649 = yymsp[0].minor.yy649; } + case 632: /* alias_opt ::= AS table_alias */ +{ yymsp[-1].minor.yy479 = yymsp[0].minor.yy479; } break; - case 632: /* parenthesized_joined_table ::= NK_LP joined_table NK_RP */ - case 633: /* parenthesized_joined_table ::= NK_LP parenthesized_joined_table NK_RP */ yytestcase(yyruleno==633); -{ yymsp[-2].minor.yy600 = yymsp[-1].minor.yy600; } + case 633: /* parenthesized_joined_table ::= NK_LP joined_table NK_RP */ + case 634: /* parenthesized_joined_table ::= NK_LP parenthesized_joined_table NK_RP */ yytestcase(yyruleno==634); +{ yymsp[-2].minor.yy452 = yymsp[-1].minor.yy452; } break; - case 634: /* joined_table ::= table_reference join_type join_subtype JOIN table_reference join_on_clause_opt window_offset_clause_opt jlimit_clause_opt */ + case 635: /* joined_table ::= table_reference join_type join_subtype JOIN table_reference join_on_clause_opt window_offset_clause_opt jlimit_clause_opt */ { - yylhsminor.yy600 = createJoinTableNode(pCxt, yymsp[-6].minor.yy564, yymsp[-5].minor.yy758, yymsp[-7].minor.yy600, yymsp[-3].minor.yy600, yymsp[-2].minor.yy600); - yylhsminor.yy600 = addWindowOffsetClause(pCxt, yylhsminor.yy600, yymsp[-1].minor.yy600); - yylhsminor.yy600 = addJLimitClause(pCxt, yylhsminor.yy600, yymsp[0].minor.yy600); + yylhsminor.yy452 = createJoinTableNode(pCxt, yymsp[-6].minor.yy162, yymsp[-5].minor.yy444, yymsp[-7].minor.yy452, yymsp[-3].minor.yy452, yymsp[-2].minor.yy452); + yylhsminor.yy452 = addWindowOffsetClause(pCxt, yylhsminor.yy452, yymsp[-1].minor.yy452); + yylhsminor.yy452 = addJLimitClause(pCxt, yylhsminor.yy452, yymsp[0].minor.yy452); } - yymsp[-7].minor.yy600 = yylhsminor.yy600; + yymsp[-7].minor.yy452 = yylhsminor.yy452; break; - case 635: /* join_type ::= */ -{ yymsp[1].minor.yy564 = JOIN_TYPE_INNER; } + case 636: /* join_type ::= */ +{ yymsp[1].minor.yy162 = JOIN_TYPE_INNER; } break; - case 636: /* join_type ::= INNER */ -{ yymsp[0].minor.yy564 = JOIN_TYPE_INNER; } + case 637: /* join_type ::= INNER */ +{ yymsp[0].minor.yy162 = JOIN_TYPE_INNER; } break; - case 637: /* join_type ::= LEFT */ -{ yymsp[0].minor.yy564 = JOIN_TYPE_LEFT; } + case 638: /* join_type ::= LEFT */ +{ yymsp[0].minor.yy162 = JOIN_TYPE_LEFT; } break; - case 638: /* join_type ::= RIGHT */ -{ yymsp[0].minor.yy564 = JOIN_TYPE_RIGHT; } + case 639: /* join_type ::= RIGHT */ +{ yymsp[0].minor.yy162 = JOIN_TYPE_RIGHT; } break; - case 639: /* join_type ::= FULL */ -{ yymsp[0].minor.yy564 = JOIN_TYPE_FULL; } + case 640: /* join_type ::= FULL */ +{ yymsp[0].minor.yy162 = JOIN_TYPE_FULL; } break; - case 640: /* join_subtype ::= */ -{ yymsp[1].minor.yy758 = JOIN_STYPE_NONE; } + case 641: /* join_subtype ::= */ +{ yymsp[1].minor.yy444 = JOIN_STYPE_NONE; } break; - case 641: /* join_subtype ::= OUTER */ -{ yymsp[0].minor.yy758 = JOIN_STYPE_OUTER; } + case 642: /* join_subtype ::= OUTER */ +{ yymsp[0].minor.yy444 = JOIN_STYPE_OUTER; } break; - case 642: /* join_subtype ::= SEMI */ -{ yymsp[0].minor.yy758 = JOIN_STYPE_SEMI; } + case 643: /* join_subtype ::= SEMI */ +{ yymsp[0].minor.yy444 = JOIN_STYPE_SEMI; } break; - case 643: /* join_subtype ::= ANTI */ -{ yymsp[0].minor.yy758 = JOIN_STYPE_ANTI; } + case 644: /* join_subtype ::= ANTI */ +{ yymsp[0].minor.yy444 = JOIN_STYPE_ANTI; } break; - case 644: /* join_subtype ::= ASOF */ -{ yymsp[0].minor.yy758 = JOIN_STYPE_ASOF; } + case 645: /* join_subtype ::= ASOF */ +{ yymsp[0].minor.yy444 = JOIN_STYPE_ASOF; } break; - case 645: /* join_subtype ::= WINDOW */ -{ yymsp[0].minor.yy758 = JOIN_STYPE_WIN; } + case 646: /* join_subtype ::= WINDOW */ +{ yymsp[0].minor.yy444 = JOIN_STYPE_WIN; } break; - case 649: /* window_offset_clause_opt ::= WINDOW_OFFSET NK_LP window_offset_literal NK_COMMA window_offset_literal NK_RP */ -{ yymsp[-5].minor.yy600 = createWindowOffsetNode(pCxt, releaseRawExprNode(pCxt, yymsp[-3].minor.yy600), releaseRawExprNode(pCxt, yymsp[-1].minor.yy600)); } + case 650: /* window_offset_clause_opt ::= WINDOW_OFFSET NK_LP window_offset_literal NK_COMMA window_offset_literal NK_RP */ +{ yymsp[-5].minor.yy452 = createWindowOffsetNode(pCxt, releaseRawExprNode(pCxt, yymsp[-3].minor.yy452), releaseRawExprNode(pCxt, yymsp[-1].minor.yy452)); } break; - case 650: /* window_offset_literal ::= NK_VARIABLE */ -{ yylhsminor.yy600 = createRawExprNode(pCxt, &yymsp[0].minor.yy0, createTimeOffsetValueNode(pCxt, &yymsp[0].minor.yy0)); } - yymsp[0].minor.yy600 = yylhsminor.yy600; + case 651: /* window_offset_literal ::= NK_VARIABLE */ +{ yylhsminor.yy452 = createRawExprNode(pCxt, &yymsp[0].minor.yy0, createTimeOffsetValueNode(pCxt, &yymsp[0].minor.yy0)); } + yymsp[0].minor.yy452 = yylhsminor.yy452; break; - case 651: /* window_offset_literal ::= NK_MINUS NK_VARIABLE */ + case 652: /* window_offset_literal ::= NK_MINUS NK_VARIABLE */ { SToken t = yymsp[-1].minor.yy0; t.n = (yymsp[0].minor.yy0.z + yymsp[0].minor.yy0.n) - yymsp[-1].minor.yy0.z; - yylhsminor.yy600 = createRawExprNode(pCxt, &t, createTimeOffsetValueNode(pCxt, &t)); + yylhsminor.yy452 = createRawExprNode(pCxt, &t, createTimeOffsetValueNode(pCxt, &t)); } - yymsp[-1].minor.yy600 = yylhsminor.yy600; + yymsp[-1].minor.yy452 = yylhsminor.yy452; break; - case 653: /* jlimit_clause_opt ::= JLIMIT NK_INTEGER */ - case 724: /* slimit_clause_opt ::= SLIMIT NK_INTEGER */ yytestcase(yyruleno==724); - case 728: /* limit_clause_opt ::= LIMIT NK_INTEGER */ yytestcase(yyruleno==728); -{ yymsp[-1].minor.yy600 = createLimitNode(pCxt, &yymsp[0].minor.yy0, NULL); } + case 654: /* jlimit_clause_opt ::= JLIMIT NK_INTEGER */ + case 725: /* slimit_clause_opt ::= SLIMIT NK_INTEGER */ yytestcase(yyruleno==725); + case 729: /* limit_clause_opt ::= LIMIT NK_INTEGER */ yytestcase(yyruleno==729); +{ yymsp[-1].minor.yy452 = createLimitNode(pCxt, &yymsp[0].minor.yy0, NULL); } break; - case 654: /* query_specification ::= SELECT hint_list set_quantifier_opt tag_mode_opt select_list from_clause_opt where_clause_opt partition_by_clause_opt range_opt every_opt fill_opt twindow_clause_opt group_by_clause_opt having_clause_opt */ + case 655: /* query_specification ::= SELECT hint_list set_quantifier_opt tag_mode_opt select_list from_clause_opt where_clause_opt partition_by_clause_opt range_opt every_opt fill_opt twindow_clause_opt group_by_clause_opt having_clause_opt */ { - yymsp[-13].minor.yy600 = createSelectStmt(pCxt, yymsp[-11].minor.yy705, yymsp[-9].minor.yy748, yymsp[-8].minor.yy600, yymsp[-12].minor.yy748); - yymsp[-13].minor.yy600 = setSelectStmtTagMode(pCxt, yymsp[-13].minor.yy600, yymsp[-10].minor.yy705); - yymsp[-13].minor.yy600 = addWhereClause(pCxt, yymsp[-13].minor.yy600, yymsp[-7].minor.yy600); - yymsp[-13].minor.yy600 = addPartitionByClause(pCxt, yymsp[-13].minor.yy600, yymsp[-6].minor.yy748); - yymsp[-13].minor.yy600 = addWindowClauseClause(pCxt, yymsp[-13].minor.yy600, yymsp[-2].minor.yy600); - yymsp[-13].minor.yy600 = addGroupByClause(pCxt, yymsp[-13].minor.yy600, yymsp[-1].minor.yy748); - yymsp[-13].minor.yy600 = addHavingClause(pCxt, yymsp[-13].minor.yy600, yymsp[0].minor.yy600); - yymsp[-13].minor.yy600 = addRangeClause(pCxt, yymsp[-13].minor.yy600, yymsp[-5].minor.yy600); - yymsp[-13].minor.yy600 = addEveryClause(pCxt, yymsp[-13].minor.yy600, yymsp[-4].minor.yy600); - yymsp[-13].minor.yy600 = addFillClause(pCxt, yymsp[-13].minor.yy600, yymsp[-3].minor.yy600); + yymsp[-13].minor.yy452 = createSelectStmt(pCxt, yymsp[-11].minor.yy437, yymsp[-9].minor.yy34, yymsp[-8].minor.yy452, yymsp[-12].minor.yy34); + yymsp[-13].minor.yy452 = setSelectStmtTagMode(pCxt, yymsp[-13].minor.yy452, yymsp[-10].minor.yy437); + yymsp[-13].minor.yy452 = addWhereClause(pCxt, yymsp[-13].minor.yy452, yymsp[-7].minor.yy452); + yymsp[-13].minor.yy452 = addPartitionByClause(pCxt, yymsp[-13].minor.yy452, yymsp[-6].minor.yy34); + yymsp[-13].minor.yy452 = addWindowClauseClause(pCxt, yymsp[-13].minor.yy452, yymsp[-2].minor.yy452); + yymsp[-13].minor.yy452 = addGroupByClause(pCxt, yymsp[-13].minor.yy452, yymsp[-1].minor.yy34); + yymsp[-13].minor.yy452 = addHavingClause(pCxt, yymsp[-13].minor.yy452, yymsp[0].minor.yy452); + yymsp[-13].minor.yy452 = addRangeClause(pCxt, yymsp[-13].minor.yy452, yymsp[-5].minor.yy452); + yymsp[-13].minor.yy452 = addEveryClause(pCxt, yymsp[-13].minor.yy452, yymsp[-4].minor.yy452); + yymsp[-13].minor.yy452 = addFillClause(pCxt, yymsp[-13].minor.yy452, yymsp[-3].minor.yy452); } break; - case 655: /* hint_list ::= */ -{ yymsp[1].minor.yy748 = createHintNodeList(pCxt, NULL); } + case 656: /* hint_list ::= */ +{ yymsp[1].minor.yy34 = createHintNodeList(pCxt, NULL); } break; - case 656: /* hint_list ::= NK_HINT */ -{ yylhsminor.yy748 = createHintNodeList(pCxt, &yymsp[0].minor.yy0); } - yymsp[0].minor.yy748 = yylhsminor.yy748; + case 657: /* hint_list ::= NK_HINT */ +{ yylhsminor.yy34 = createHintNodeList(pCxt, &yymsp[0].minor.yy0); } + yymsp[0].minor.yy34 = yylhsminor.yy34; break; - case 661: /* set_quantifier_opt ::= ALL */ -{ yymsp[0].minor.yy705 = false; } + case 662: /* set_quantifier_opt ::= ALL */ +{ yymsp[0].minor.yy437 = false; } break; - case 664: /* select_item ::= NK_STAR */ -{ yylhsminor.yy600 = createColumnNode(pCxt, NULL, &yymsp[0].minor.yy0); } - yymsp[0].minor.yy600 = yylhsminor.yy600; + case 665: /* select_item ::= NK_STAR */ +{ yylhsminor.yy452 = createColumnNode(pCxt, NULL, &yymsp[0].minor.yy0); } + yymsp[0].minor.yy452 = yylhsminor.yy452; break; - case 666: /* select_item ::= common_expression column_alias */ - case 676: /* partition_item ::= expr_or_subquery column_alias */ yytestcase(yyruleno==676); -{ yylhsminor.yy600 = setProjectionAlias(pCxt, releaseRawExprNode(pCxt, yymsp[-1].minor.yy600), &yymsp[0].minor.yy649); } - yymsp[-1].minor.yy600 = yylhsminor.yy600; + case 667: /* select_item ::= common_expression column_alias */ + case 677: /* partition_item ::= expr_or_subquery column_alias */ yytestcase(yyruleno==677); +{ yylhsminor.yy452 = setProjectionAlias(pCxt, releaseRawExprNode(pCxt, yymsp[-1].minor.yy452), &yymsp[0].minor.yy479); } + yymsp[-1].minor.yy452 = yylhsminor.yy452; break; - case 667: /* select_item ::= common_expression AS column_alias */ - case 677: /* partition_item ::= expr_or_subquery AS column_alias */ yytestcase(yyruleno==677); -{ yylhsminor.yy600 = setProjectionAlias(pCxt, releaseRawExprNode(pCxt, yymsp[-2].minor.yy600), &yymsp[0].minor.yy649); } - yymsp[-2].minor.yy600 = yylhsminor.yy600; + case 668: /* select_item ::= common_expression AS column_alias */ + case 678: /* partition_item ::= expr_or_subquery AS column_alias */ yytestcase(yyruleno==678); +{ yylhsminor.yy452 = setProjectionAlias(pCxt, releaseRawExprNode(pCxt, yymsp[-2].minor.yy452), &yymsp[0].minor.yy479); } + yymsp[-2].minor.yy452 = yylhsminor.yy452; break; - case 672: /* partition_by_clause_opt ::= PARTITION BY partition_list */ - case 702: /* group_by_clause_opt ::= GROUP BY group_by_list */ yytestcase(yyruleno==702); - case 722: /* order_by_clause_opt ::= ORDER BY sort_specification_list */ yytestcase(yyruleno==722); -{ yymsp[-2].minor.yy748 = yymsp[0].minor.yy748; } + case 673: /* partition_by_clause_opt ::= PARTITION BY partition_list */ + case 703: /* group_by_clause_opt ::= GROUP BY group_by_list */ yytestcase(yyruleno==703); + case 723: /* order_by_clause_opt ::= ORDER BY sort_specification_list */ yytestcase(yyruleno==723); +{ yymsp[-2].minor.yy34 = yymsp[0].minor.yy34; } break; - case 679: /* twindow_clause_opt ::= SESSION NK_LP column_reference NK_COMMA interval_sliding_duration_literal NK_RP */ -{ yymsp[-5].minor.yy600 = createSessionWindowNode(pCxt, releaseRawExprNode(pCxt, yymsp[-3].minor.yy600), releaseRawExprNode(pCxt, yymsp[-1].minor.yy600)); } + case 680: /* twindow_clause_opt ::= SESSION NK_LP column_reference NK_COMMA interval_sliding_duration_literal NK_RP */ +{ yymsp[-5].minor.yy452 = createSessionWindowNode(pCxt, releaseRawExprNode(pCxt, yymsp[-3].minor.yy452), releaseRawExprNode(pCxt, yymsp[-1].minor.yy452)); } break; - case 680: /* twindow_clause_opt ::= STATE_WINDOW NK_LP expr_or_subquery NK_RP */ -{ yymsp[-3].minor.yy600 = createStateWindowNode(pCxt, releaseRawExprNode(pCxt, yymsp[-1].minor.yy600)); } + case 681: /* twindow_clause_opt ::= STATE_WINDOW NK_LP expr_or_subquery NK_RP */ +{ yymsp[-3].minor.yy452 = createStateWindowNode(pCxt, releaseRawExprNode(pCxt, yymsp[-1].minor.yy452)); } break; - case 681: /* twindow_clause_opt ::= INTERVAL NK_LP interval_sliding_duration_literal NK_RP sliding_opt fill_opt */ -{ yymsp[-5].minor.yy600 = createIntervalWindowNode(pCxt, releaseRawExprNode(pCxt, yymsp[-3].minor.yy600), NULL, yymsp[-1].minor.yy600, yymsp[0].minor.yy600); } + case 682: /* twindow_clause_opt ::= INTERVAL NK_LP interval_sliding_duration_literal NK_RP sliding_opt fill_opt */ +{ yymsp[-5].minor.yy452 = createIntervalWindowNode(pCxt, releaseRawExprNode(pCxt, yymsp[-3].minor.yy452), NULL, yymsp[-1].minor.yy452, yymsp[0].minor.yy452); } break; - case 682: /* twindow_clause_opt ::= INTERVAL NK_LP interval_sliding_duration_literal NK_COMMA interval_sliding_duration_literal NK_RP sliding_opt fill_opt */ -{ yymsp[-7].minor.yy600 = createIntervalWindowNode(pCxt, releaseRawExprNode(pCxt, yymsp[-5].minor.yy600), releaseRawExprNode(pCxt, yymsp[-3].minor.yy600), yymsp[-1].minor.yy600, yymsp[0].minor.yy600); } + case 683: /* twindow_clause_opt ::= INTERVAL NK_LP interval_sliding_duration_literal NK_COMMA interval_sliding_duration_literal NK_RP sliding_opt fill_opt */ +{ yymsp[-7].minor.yy452 = createIntervalWindowNode(pCxt, releaseRawExprNode(pCxt, yymsp[-5].minor.yy452), releaseRawExprNode(pCxt, yymsp[-3].minor.yy452), yymsp[-1].minor.yy452, yymsp[0].minor.yy452); } break; - case 683: /* twindow_clause_opt ::= EVENT_WINDOW START WITH search_condition END WITH search_condition */ -{ yymsp[-6].minor.yy600 = createEventWindowNode(pCxt, yymsp[-3].minor.yy600, yymsp[0].minor.yy600); } + case 684: /* twindow_clause_opt ::= EVENT_WINDOW START WITH search_condition END WITH search_condition */ +{ yymsp[-6].minor.yy452 = createEventWindowNode(pCxt, yymsp[-3].minor.yy452, yymsp[0].minor.yy452); } break; - case 684: /* twindow_clause_opt ::= COUNT_WINDOW NK_LP NK_INTEGER NK_RP */ -{ yymsp[-3].minor.yy600 = createCountWindowNode(pCxt, &yymsp[-1].minor.yy0, &yymsp[-1].minor.yy0); } + case 685: /* twindow_clause_opt ::= COUNT_WINDOW NK_LP NK_INTEGER NK_RP */ +{ yymsp[-3].minor.yy452 = createCountWindowNode(pCxt, &yymsp[-1].minor.yy0, &yymsp[-1].minor.yy0); } break; - case 685: /* twindow_clause_opt ::= COUNT_WINDOW NK_LP NK_INTEGER NK_COMMA NK_INTEGER NK_RP */ -{ yymsp[-5].minor.yy600 = createCountWindowNode(pCxt, &yymsp[-3].minor.yy0, &yymsp[-1].minor.yy0); } + case 686: /* twindow_clause_opt ::= COUNT_WINDOW NK_LP NK_INTEGER NK_COMMA NK_INTEGER NK_RP */ +{ yymsp[-5].minor.yy452 = createCountWindowNode(pCxt, &yymsp[-3].minor.yy0, &yymsp[-1].minor.yy0); } break; - case 692: /* fill_opt ::= FILL NK_LP fill_mode NK_RP */ -{ yymsp[-3].minor.yy600 = createFillNode(pCxt, yymsp[-1].minor.yy6, NULL); } + case 693: /* fill_opt ::= FILL NK_LP fill_mode NK_RP */ +{ yymsp[-3].minor.yy452 = createFillNode(pCxt, yymsp[-1].minor.yy984, NULL); } break; - case 693: /* fill_opt ::= FILL NK_LP VALUE NK_COMMA expression_list NK_RP */ -{ yymsp[-5].minor.yy600 = createFillNode(pCxt, FILL_MODE_VALUE, createNodeListNode(pCxt, yymsp[-1].minor.yy748)); } + case 694: /* fill_opt ::= FILL NK_LP VALUE NK_COMMA expression_list NK_RP */ +{ yymsp[-5].minor.yy452 = createFillNode(pCxt, FILL_MODE_VALUE, createNodeListNode(pCxt, yymsp[-1].minor.yy34)); } break; - case 694: /* fill_opt ::= FILL NK_LP VALUE_F NK_COMMA expression_list NK_RP */ -{ yymsp[-5].minor.yy600 = createFillNode(pCxt, FILL_MODE_VALUE_F, createNodeListNode(pCxt, yymsp[-1].minor.yy748)); } + case 695: /* fill_opt ::= FILL NK_LP VALUE_F NK_COMMA expression_list NK_RP */ +{ yymsp[-5].minor.yy452 = createFillNode(pCxt, FILL_MODE_VALUE_F, createNodeListNode(pCxt, yymsp[-1].minor.yy34)); } break; - case 695: /* fill_mode ::= NONE */ -{ yymsp[0].minor.yy6 = FILL_MODE_NONE; } + case 696: /* fill_mode ::= NONE */ +{ yymsp[0].minor.yy984 = FILL_MODE_NONE; } break; - case 696: /* fill_mode ::= PREV */ -{ yymsp[0].minor.yy6 = FILL_MODE_PREV; } + case 697: /* fill_mode ::= PREV */ +{ yymsp[0].minor.yy984 = FILL_MODE_PREV; } break; - case 697: /* fill_mode ::= NULL */ -{ yymsp[0].minor.yy6 = FILL_MODE_NULL; } + case 698: /* fill_mode ::= NULL */ +{ yymsp[0].minor.yy984 = FILL_MODE_NULL; } break; - case 698: /* fill_mode ::= NULL_F */ -{ yymsp[0].minor.yy6 = FILL_MODE_NULL_F; } + case 699: /* fill_mode ::= NULL_F */ +{ yymsp[0].minor.yy984 = FILL_MODE_NULL_F; } break; - case 699: /* fill_mode ::= LINEAR */ -{ yymsp[0].minor.yy6 = FILL_MODE_LINEAR; } + case 700: /* fill_mode ::= LINEAR */ +{ yymsp[0].minor.yy984 = FILL_MODE_LINEAR; } break; - case 700: /* fill_mode ::= NEXT */ -{ yymsp[0].minor.yy6 = FILL_MODE_NEXT; } + case 701: /* fill_mode ::= NEXT */ +{ yymsp[0].minor.yy984 = FILL_MODE_NEXT; } break; - case 703: /* group_by_list ::= expr_or_subquery */ -{ yylhsminor.yy748 = createNodeList(pCxt, createGroupingSetNode(pCxt, releaseRawExprNode(pCxt, yymsp[0].minor.yy600))); } - yymsp[0].minor.yy748 = yylhsminor.yy748; + case 704: /* group_by_list ::= expr_or_subquery */ +{ yylhsminor.yy34 = createNodeList(pCxt, createGroupingSetNode(pCxt, releaseRawExprNode(pCxt, yymsp[0].minor.yy452))); } + yymsp[0].minor.yy34 = yylhsminor.yy34; break; - case 704: /* group_by_list ::= group_by_list NK_COMMA expr_or_subquery */ -{ yylhsminor.yy748 = addNodeToList(pCxt, yymsp[-2].minor.yy748, createGroupingSetNode(pCxt, releaseRawExprNode(pCxt, yymsp[0].minor.yy600))); } - yymsp[-2].minor.yy748 = yylhsminor.yy748; + case 705: /* group_by_list ::= group_by_list NK_COMMA expr_or_subquery */ +{ yylhsminor.yy34 = addNodeToList(pCxt, yymsp[-2].minor.yy34, createGroupingSetNode(pCxt, releaseRawExprNode(pCxt, yymsp[0].minor.yy452))); } + yymsp[-2].minor.yy34 = yylhsminor.yy34; break; - case 708: /* range_opt ::= RANGE NK_LP expr_or_subquery NK_COMMA expr_or_subquery NK_RP */ -{ yymsp[-5].minor.yy600 = createInterpTimeRange(pCxt, releaseRawExprNode(pCxt, yymsp[-3].minor.yy600), releaseRawExprNode(pCxt, yymsp[-1].minor.yy600)); } + case 709: /* range_opt ::= RANGE NK_LP expr_or_subquery NK_COMMA expr_or_subquery NK_RP */ +{ yymsp[-5].minor.yy452 = createInterpTimeRange(pCxt, releaseRawExprNode(pCxt, yymsp[-3].minor.yy452), releaseRawExprNode(pCxt, yymsp[-1].minor.yy452)); } break; - case 709: /* range_opt ::= RANGE NK_LP expr_or_subquery NK_RP */ -{ yymsp[-3].minor.yy600 = createInterpTimePoint(pCxt, releaseRawExprNode(pCxt, yymsp[-1].minor.yy600)); } + case 710: /* range_opt ::= RANGE NK_LP expr_or_subquery NK_RP */ +{ yymsp[-3].minor.yy452 = createInterpTimePoint(pCxt, releaseRawExprNode(pCxt, yymsp[-1].minor.yy452)); } break; - case 712: /* query_expression ::= query_simple order_by_clause_opt slimit_clause_opt limit_clause_opt */ + case 713: /* query_expression ::= query_simple order_by_clause_opt slimit_clause_opt limit_clause_opt */ { - yylhsminor.yy600 = addOrderByClause(pCxt, yymsp[-3].minor.yy600, yymsp[-2].minor.yy748); - yylhsminor.yy600 = addSlimitClause(pCxt, yylhsminor.yy600, yymsp[-1].minor.yy600); - yylhsminor.yy600 = addLimitClause(pCxt, yylhsminor.yy600, yymsp[0].minor.yy600); + yylhsminor.yy452 = addOrderByClause(pCxt, yymsp[-3].minor.yy452, yymsp[-2].minor.yy34); + yylhsminor.yy452 = addSlimitClause(pCxt, yylhsminor.yy452, yymsp[-1].minor.yy452); + yylhsminor.yy452 = addLimitClause(pCxt, yylhsminor.yy452, yymsp[0].minor.yy452); } - yymsp[-3].minor.yy600 = yylhsminor.yy600; + yymsp[-3].minor.yy452 = yylhsminor.yy452; break; - case 715: /* union_query_expression ::= query_simple_or_subquery UNION ALL query_simple_or_subquery */ -{ yylhsminor.yy600 = createSetOperator(pCxt, SET_OP_TYPE_UNION_ALL, yymsp[-3].minor.yy600, yymsp[0].minor.yy600); } - yymsp[-3].minor.yy600 = yylhsminor.yy600; + case 716: /* union_query_expression ::= query_simple_or_subquery UNION ALL query_simple_or_subquery */ +{ yylhsminor.yy452 = createSetOperator(pCxt, SET_OP_TYPE_UNION_ALL, yymsp[-3].minor.yy452, yymsp[0].minor.yy452); } + yymsp[-3].minor.yy452 = yylhsminor.yy452; break; - case 716: /* union_query_expression ::= query_simple_or_subquery UNION query_simple_or_subquery */ -{ yylhsminor.yy600 = createSetOperator(pCxt, SET_OP_TYPE_UNION, yymsp[-2].minor.yy600, yymsp[0].minor.yy600); } - yymsp[-2].minor.yy600 = yylhsminor.yy600; + case 717: /* union_query_expression ::= query_simple_or_subquery UNION query_simple_or_subquery */ +{ yylhsminor.yy452 = createSetOperator(pCxt, SET_OP_TYPE_UNION, yymsp[-2].minor.yy452, yymsp[0].minor.yy452); } + yymsp[-2].minor.yy452 = yylhsminor.yy452; break; - case 725: /* slimit_clause_opt ::= SLIMIT NK_INTEGER SOFFSET NK_INTEGER */ - case 729: /* limit_clause_opt ::= LIMIT NK_INTEGER OFFSET NK_INTEGER */ yytestcase(yyruleno==729); -{ yymsp[-3].minor.yy600 = createLimitNode(pCxt, &yymsp[-2].minor.yy0, &yymsp[0].minor.yy0); } + case 726: /* slimit_clause_opt ::= SLIMIT NK_INTEGER SOFFSET NK_INTEGER */ + case 730: /* limit_clause_opt ::= LIMIT NK_INTEGER OFFSET NK_INTEGER */ yytestcase(yyruleno==730); +{ yymsp[-3].minor.yy452 = createLimitNode(pCxt, &yymsp[-2].minor.yy0, &yymsp[0].minor.yy0); } break; - case 726: /* slimit_clause_opt ::= SLIMIT NK_INTEGER NK_COMMA NK_INTEGER */ - case 730: /* limit_clause_opt ::= LIMIT NK_INTEGER NK_COMMA NK_INTEGER */ yytestcase(yyruleno==730); -{ yymsp[-3].minor.yy600 = createLimitNode(pCxt, &yymsp[0].minor.yy0, &yymsp[-2].minor.yy0); } + case 727: /* slimit_clause_opt ::= SLIMIT NK_INTEGER NK_COMMA NK_INTEGER */ + case 731: /* limit_clause_opt ::= LIMIT NK_INTEGER NK_COMMA NK_INTEGER */ yytestcase(yyruleno==731); +{ yymsp[-3].minor.yy452 = createLimitNode(pCxt, &yymsp[0].minor.yy0, &yymsp[-2].minor.yy0); } break; - case 731: /* subquery ::= NK_LP query_expression NK_RP */ -{ yylhsminor.yy600 = createRawExprNodeExt(pCxt, &yymsp[-2].minor.yy0, &yymsp[0].minor.yy0, yymsp[-1].minor.yy600); } - yymsp[-2].minor.yy600 = yylhsminor.yy600; + case 732: /* subquery ::= NK_LP query_expression NK_RP */ +{ yylhsminor.yy452 = createRawExprNodeExt(pCxt, &yymsp[-2].minor.yy0, &yymsp[0].minor.yy0, yymsp[-1].minor.yy452); } + yymsp[-2].minor.yy452 = yylhsminor.yy452; break; - case 736: /* sort_specification ::= expr_or_subquery ordering_specification_opt null_ordering_opt */ -{ yylhsminor.yy600 = createOrderByExprNode(pCxt, releaseRawExprNode(pCxt, yymsp[-2].minor.yy600), yymsp[-1].minor.yy1010, yymsp[0].minor.yy273); } - yymsp[-2].minor.yy600 = yylhsminor.yy600; + case 737: /* sort_specification ::= expr_or_subquery ordering_specification_opt null_ordering_opt */ +{ yylhsminor.yy452 = createOrderByExprNode(pCxt, releaseRawExprNode(pCxt, yymsp[-2].minor.yy452), yymsp[-1].minor.yy548, yymsp[0].minor.yy817); } + yymsp[-2].minor.yy452 = yylhsminor.yy452; break; - case 737: /* ordering_specification_opt ::= */ -{ yymsp[1].minor.yy1010 = ORDER_ASC; } + case 738: /* ordering_specification_opt ::= */ +{ yymsp[1].minor.yy548 = ORDER_ASC; } break; - case 738: /* ordering_specification_opt ::= ASC */ -{ yymsp[0].minor.yy1010 = ORDER_ASC; } + case 739: /* ordering_specification_opt ::= ASC */ +{ yymsp[0].minor.yy548 = ORDER_ASC; } break; - case 739: /* ordering_specification_opt ::= DESC */ -{ yymsp[0].minor.yy1010 = ORDER_DESC; } + case 740: /* ordering_specification_opt ::= DESC */ +{ yymsp[0].minor.yy548 = ORDER_DESC; } break; - case 740: /* null_ordering_opt ::= */ -{ yymsp[1].minor.yy273 = NULL_ORDER_DEFAULT; } + case 741: /* null_ordering_opt ::= */ +{ yymsp[1].minor.yy817 = NULL_ORDER_DEFAULT; } break; - case 741: /* null_ordering_opt ::= NULLS FIRST */ -{ yymsp[-1].minor.yy273 = NULL_ORDER_FIRST; } + case 742: /* null_ordering_opt ::= NULLS FIRST */ +{ yymsp[-1].minor.yy817 = NULL_ORDER_FIRST; } break; - case 742: /* null_ordering_opt ::= NULLS LAST */ -{ yymsp[-1].minor.yy273 = NULL_ORDER_LAST; } + case 743: /* null_ordering_opt ::= NULLS LAST */ +{ yymsp[-1].minor.yy817 = NULL_ORDER_LAST; } break; - case 745: /* column_options ::= column_options ENCODE NK_STRING */ -{ yylhsminor.yy600 = setColumnOptions(pCxt, yymsp[-2].minor.yy600, COLUMN_OPTION_ENCODE, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy600 = yylhsminor.yy600; + case 746: /* column_options ::= column_options ENCODE NK_STRING */ +{ yylhsminor.yy452 = setColumnOptions(pCxt, yymsp[-2].minor.yy452, COLUMN_OPTION_ENCODE, &yymsp[0].minor.yy0); } + yymsp[-2].minor.yy452 = yylhsminor.yy452; break; - case 746: /* column_options ::= column_options COMPRESS NK_STRING */ -{ yylhsminor.yy600 = setColumnOptions(pCxt, yymsp[-2].minor.yy600, COLUMN_OPTION_COMPRESS, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy600 = yylhsminor.yy600; + case 747: /* column_options ::= column_options COMPRESS NK_STRING */ +{ yylhsminor.yy452 = setColumnOptions(pCxt, yymsp[-2].minor.yy452, COLUMN_OPTION_COMPRESS, &yymsp[0].minor.yy0); } + yymsp[-2].minor.yy452 = yylhsminor.yy452; break; - case 747: /* column_options ::= column_options LEVEL NK_STRING */ -{ yylhsminor.yy600 = setColumnOptions(pCxt, yymsp[-2].minor.yy600, COLUMN_OPTION_LEVEL, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy600 = yylhsminor.yy600; + case 748: /* column_options ::= column_options LEVEL NK_STRING */ +{ yylhsminor.yy452 = setColumnOptions(pCxt, yymsp[-2].minor.yy452, COLUMN_OPTION_LEVEL, &yymsp[0].minor.yy0); } + yymsp[-2].minor.yy452 = yylhsminor.yy452; break; default: break; @@ -7775,56 +7468,12 @@ void Parse( } #endif - while(1){ /* Exit by "break" */ - assert( yypParser->yytos>=yypParser->yystack ); + do{ assert( yyact==yypParser->yytos->stateno ); yyact = yy_find_shift_action((YYCODETYPE)yymajor,yyact); if( yyact >= YY_MIN_REDUCE ){ - unsigned int yyruleno = yyact - YY_MIN_REDUCE; /* Reduce by this rule */ -#ifndef NDEBUG - assert( yyruleno<(int)(sizeof(yyRuleName)/sizeof(yyRuleName[0])) ); - if( yyTraceFILE ){ - int yysize = yyRuleInfoNRhs[yyruleno]; - if( yysize ){ - fprintf(yyTraceFILE, "%sReduce %d [%s]%s, pop back to state %d.\n", - yyTracePrompt, - yyruleno, yyRuleName[yyruleno], - yyrulenoyytos[yysize].stateno); - }else{ - fprintf(yyTraceFILE, "%sReduce %d [%s]%s.\n", - yyTracePrompt, yyruleno, yyRuleName[yyruleno], - yyrulenoyytos - yypParser->yystack)>yypParser->yyhwm ){ - yypParser->yyhwm++; - assert( yypParser->yyhwm == - (int)(yypParser->yytos - yypParser->yystack)); - } -#endif -#if YYSTACKDEPTH>0 - if( yypParser->yytos>=yypParser->yystackEnd ){ - yyStackOverflow(yypParser); - break; - } -#else - if( yypParser->yytos>=&yypParser->yystack[yypParser->yystksz-1] ){ - if( yyGrowStack(yypParser) ){ - yyStackOverflow(yypParser); - break; - } - } -#endif - } - yyact = yy_reduce(yypParser,yyruleno,yymajor,yyminor ParseCTX_PARAM); + yyact = yy_reduce(yypParser,yyact-YY_MIN_REDUCE,yymajor, + yyminor ParseCTX_PARAM); }else if( yyact <= YY_MAX_SHIFTREDUCE ){ yy_shift(yypParser,yyact,(YYCODETYPE)yymajor,yyminor); #ifndef YYNOERRORRECOVERY @@ -7880,13 +7529,14 @@ void Parse( yy_destructor(yypParser, (YYCODETYPE)yymajor, &yyminorunion); yymajor = YYNOCODE; }else{ - while( yypParser->yytos > yypParser->yystack ){ - yyact = yy_find_reduce_action(yypParser->yytos->stateno, - YYERRORSYMBOL); - if( yyact<=YY_MAX_SHIFTREDUCE ) break; + while( yypParser->yytos >= yypParser->yystack + && (yyact = yy_find_reduce_action( + yypParser->yytos->stateno, + YYERRORSYMBOL)) > YY_MAX_SHIFTREDUCE + ){ yy_pop_parser_stack(yypParser); } - if( yypParser->yytos <= yypParser->yystack || yymajor==0 ){ + if( yypParser->yytos < yypParser->yystack || yymajor==0 ){ yy_destructor(yypParser,(YYCODETYPE)yymajor,&yyminorunion); yy_parse_failed(yypParser); #ifndef YYNOERRORRECOVERY @@ -7936,7 +7586,7 @@ void Parse( break; #endif } - } + }while( yypParser->yytos>yypParser->yystack ); #ifndef NDEBUG if( yyTraceFILE ){ yyStackEntry *i; From 767934ad4afcab5a467b103a25f545ec74c41ffa Mon Sep 17 00:00:00 2001 From: kailixu Date: Fri, 31 May 2024 17:50:57 +0800 Subject: [PATCH 02/12] enh: support createdb permission for user --- include/common/trow.h | 1 - source/client/src/clientEnv.c | 1 + source/dnode/mnode/impl/src/mndDb.c | 7 ++++--- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/include/common/trow.h b/include/common/trow.h index 92713e8e63..e43c67f931 100644 --- a/include/common/trow.h +++ b/include/common/trow.h @@ -289,7 +289,6 @@ int32_t tdGetBitmapValType(const void *pBitmap, int16_t colIdx, TDRowValT *pValT */ static FORCE_INLINE void tdSRowInit(SRowBuilder *pBuilder, int16_t sver) { - pBuilder->rowType = pBuilder->rowType; pBuilder->sver = sver; } int32_t tdSRowSetInfo(SRowBuilder *pBuilder, int32_t nCols, int32_t nBoundCols, int32_t flen); diff --git a/source/client/src/clientEnv.c b/source/client/src/clientEnv.c index 439103e5c4..ce3af827e1 100644 --- a/source/client/src/clientEnv.c +++ b/source/client/src/clientEnv.c @@ -330,6 +330,7 @@ void *createRequest(uint64_t connId, int32_t type, int64_t reqid) { } SSyncQueryParam *interParam = taosMemoryCalloc(1, sizeof(SSyncQueryParam)); if (interParam == NULL) { + releaseTscObj(connId); doDestroyRequest(pRequest); terrno = TSDB_CODE_OUT_OF_MEMORY; return NULL; diff --git a/source/dnode/mnode/impl/src/mndDb.c b/source/dnode/mnode/impl/src/mndDb.c index ad596289de..d12f73cee6 100644 --- a/source/dnode/mnode/impl/src/mndDb.c +++ b/source/dnode/mnode/impl/src/mndDb.c @@ -874,9 +874,6 @@ static int32_t mndProcessCreateDbReq(SRpcMsg *pReq) { } #endif mInfo("db:%s, start to create, vgroups:%d", createReq.db, createReq.numOfVgroups); - if (mndCheckDbPrivilege(pMnode, pReq->info.conn.user, MND_OPER_CREATE_DB, NULL) != 0) { - goto _OVER; - } pDb = mndAcquireDb(pMnode, createReq.db); if (pDb != NULL) { @@ -901,6 +898,10 @@ static int32_t mndProcessCreateDbReq(SRpcMsg *pReq) { } } + if (mndCheckDbPrivilege(pMnode, pReq->info.conn.user, MND_OPER_CREATE_DB, NULL) != 0) { + goto _OVER; + } + if ((terrno = grantCheck(TSDB_GRANT_DB)) != 0) { code = terrno; goto _OVER; From d7b63b9a831b4514598ee9a989aa69152e656388 Mon Sep 17 00:00:00 2001 From: kailixu Date: Tue, 4 Jun 2024 16:50:49 +0800 Subject: [PATCH 03/12] test: adjust test case for createdb --- tests/script/tsim/user/privilege_create_db.sim | 2 ++ tests/system-test/0-others/taosShell.py | 1 + tests/system-test/0-others/view/non_marterial_view/test_view.py | 1 + 3 files changed, 4 insertions(+) diff --git a/tests/script/tsim/user/privilege_create_db.sim b/tests/script/tsim/user/privilege_create_db.sim index f199e2ee9c..42a527ef8b 100644 --- a/tests/script/tsim/user/privilege_create_db.sim +++ b/tests/script/tsim/user/privilege_create_db.sim @@ -6,6 +6,8 @@ sql connect print ========================root user create user sql create user u1 pass "taosdata" sql create user u2 pass "taosdata" +sql alter user u1 createdb 1 +sql alter user u2 createdb 1 sql create database test sql select * from information_schema.ins_user_privileges where user_name == "root" if $rows != 1 then diff --git a/tests/system-test/0-others/taosShell.py b/tests/system-test/0-others/taosShell.py index 1227378799..cc6298da2c 100644 --- a/tests/system-test/0-others/taosShell.py +++ b/tests/system-test/0-others/taosShell.py @@ -133,6 +133,7 @@ class TDTestCase: tdSql.prepare() # time.sleep(2) tdSql.query("create user testpy pass 'testpy'") + tdSql.query("alter user testpy createdb 1") #hostname = socket.gethostname() #tdLog.info ("hostname: %s" % hostname) diff --git a/tests/system-test/0-others/view/non_marterial_view/test_view.py b/tests/system-test/0-others/view/non_marterial_view/test_view.py index 4b829b4049..3b6f774788 100644 --- a/tests/system-test/0-others/view/non_marterial_view/test_view.py +++ b/tests/system-test/0-others/view/non_marterial_view/test_view.py @@ -80,6 +80,7 @@ class TDTestCase: def create_user(self, username, password): tdSql.execute(f"create user {username} pass '{password}';") + tdSql.execute(f"alter user {username} createdb 1;") tdLog.debug("Create user {} with password {} successfully".format(username, password)) def check_permissions(self, username, db_name, permission_dict, view_name=None): From e5bd28752abf3e3efc16ebd3ea29463a0393458c Mon Sep 17 00:00:00 2001 From: kailixu Date: Tue, 4 Jun 2024 18:14:20 +0800 Subject: [PATCH 04/12] test: adjust test case for createdb --- tests/script/tsim/user/basic.sim | 63 +++++++++++++++++++++- tests/system-test/0-others/user_control.py | 32 ++++++++--- 2 files changed, 87 insertions(+), 8 deletions(-) diff --git a/tests/script/tsim/user/basic.sim b/tests/script/tsim/user/basic.sim index 8b91efd5df..6502123b73 100644 --- a/tests/script/tsim/user/basic.sim +++ b/tests/script/tsim/user/basic.sim @@ -14,6 +14,9 @@ endi if $data(root)[3] != 1 then return -1 endi +if $data(root)[4] != 1 then + return -1 +endi sql alter user root pass 'taosdata' @@ -21,6 +24,8 @@ sql_error ALTER USER root SYSINFO 0 sql_error ALTER USER root SYSINFO 1 sql_error ALTER USER root enable 0 sql_error ALTER USER root enable 1 +sql_error ALTER USER root createdb 0 +sql_error ALTER USER root createdb 1 #sql_error create database db vgroups 1; sql_error GRANT read ON db.* to root; @@ -53,6 +58,9 @@ endi if $data(u1)[3] != 0 then return -1 endi +if $data(u1)[4] != 0 then + return -1 +endi sql CREATE USER u2 PASS 'taosdata' SYSINFO 1; sql select * from information_schema.ins_users @@ -68,6 +76,9 @@ endi if $data(u2)[3] != 1 then return -1 endi +if $data(u2)[4] != 0 then + return -1 +endi print =============== step2: sysinfo alter sql ALTER USER u1 SYSINFO 1 @@ -81,6 +92,9 @@ endi if $data(u1)[3] != 1 then return -1 endi +if $data(u1)[4] != 0 then + return -1 +endi sql ALTER USER u1 SYSINFO 0 sql select * from information_schema.ins_users @@ -93,6 +107,9 @@ endi if $data(u1)[3] != 0 then return -1 endi +if $data(u1)[4] != 0 then + return -1 +endi sql ALTER USER u1 SYSINFO 0 sql ALTER USER u1 SYSINFO 0 @@ -118,6 +135,9 @@ endi if $data(u2)[3] != 1 then return -1 endi +if $data(u2)[4] != 0 then + return -1 +endi sql ALTER USER u2 enable 1 sql select * from information_schema.ins_users @@ -130,15 +150,53 @@ endi if $data(u2)[3] != 1 then return -1 endi +if $data(u2)[4] != 0 then + return -1 +endi sql ALTER USER u2 enable 1 sql ALTER USER u2 enable 1 + +print =============== step4: createdb alter +sql ALTER USER u2 createdb 1 +sql select * from information_schema.ins_users +if $rows != 2 then + return -1 +endi +if $data(u2)[1] != 0 then + return -1 +endi +if $data(u2)[2] != 1 then + return -1 +endi +if $data(u2)[3] != 1 then + return -1 +endi +if $data(u2)[4] != 1 then + return -1 +endi + +sql ALTER USER u2 createdb 0 +sql select * from information_schema.ins_users +if $data(u2)[1] != 0 then + return -1 +endi +if $data(u2)[2] != 1 then + return -1 +endi +if $data(u2)[3] != 1 then + return -1 +endi +if $data(u2)[4] != 0 then + return -1 +endi + print =============== restart taosd system sh/exec.sh -n dnode1 -s stop system sh/exec.sh -n dnode1 -s start -print =============== step4: enable privilege +print =============== step5: enable privilege sql select * from information_schema.ins_users if $rows != 2 then return -1 @@ -152,6 +210,9 @@ endi if $data(u2)[3] != 1 then return -1 endi +if $data(u2)[4] != 0 then + return -1 +endi system sh/exec.sh -n dnode1 -s stop -x SIGINT \ No newline at end of file diff --git a/tests/system-test/0-others/user_control.py b/tests/system-test/0-others/user_control.py index 7b5578ba45..7dfc53ca6b 100644 --- a/tests/system-test/0-others/user_control.py +++ b/tests/system-test/0-others/user_control.py @@ -87,21 +87,29 @@ class TDconnect: self.cursor = self._conn.cursor() return self - def error(self, sql): + def error(self, sql, expectErrInfo = None): + caller = inspect.getframeinfo(inspect.stack()[1][0]) expectErrNotOccured = True try: self.cursor.execute(sql) - except BaseException: + except BaseException as e: + tdLog.info("err:%s" % (e)) expectErrNotOccured = False + self.errno = e.errno + error_info = repr(e) + self.error_info = ','.join(error_info[error_info.index('(')+1:-1].split(",")[:-1]).replace("'","") if expectErrNotOccured: - caller = inspect.getframeinfo(inspect.stack()[1][0]) tdLog.exit(f"{caller.filename}({caller.lineno}) failed: sql:{sql}, expect error not occured" ) else: - self.queryRows = 0 - self.queryCols = 0 - self.queryResult = None - tdLog.info(f"sql:{sql}, expect error occured") + if expectErrInfo != None: + if expectErrInfo == self.error_info: + self.queryRows = 0 + self.queryCols = 0 + self.queryResult = None + tdLog.info("sql:%s, expected ErrInfo '%s' occured" % (sql, expectErrInfo)) + else: + tdLog.exit("%s(%d) failed: sql:%s, ErrInfo '%s' occured, but not expected ErrInfo '%s'" % (caller.filename, caller.lineno, sql, self.error_info, expectErrInfo)) def query(self, sql, row_tag=None): # sourcery skip: raise-from-previous-error, raise-specific-error @@ -647,6 +655,16 @@ class TDTestCase: user.error(f"drop user {self.__user_list[0]}") user.error(f"drop user {self.__user_list[1]}") user.error("drop user root") + # 普通用户默认不可创建 db + user.error("create database ordinary_user_db", expectErrInfo='Insufficient privilege for operation') + tdSql.execute(f'alter user {self.__user_list[0]} createdb 1') + tdSql.execute(f'alter user {self.__user_list[0]} createdb 0') + tdSql.execute(f'alter user {self.__user_list[0]} createdb 1') + tdSql.execute(f'alter user {self.__user_list[0]} createdb 1') + user.query("create database ordinary_user_db") + user.query("drop database ordinary_user_db") + tdSql.execute(f'alter user {self.__user_list[0]} createdb 0') + user.error("create database ordinary_user_db", expectErrInfo='Insufficient privilege for operation') tdLog.printNoPrefix("==========step5: enable info") taos1_conn = taos.connect(user=self.__user_list[1], password=f"new{self.__passwd_list[1]}") From 872d986a2cd3ff83f0d5ba972c6ff2ba0298e9aa Mon Sep 17 00:00:00 2001 From: kailixu Date: Wed, 5 Jun 2024 10:10:20 +0800 Subject: [PATCH 05/12] fix: show users for super user when upgrade --- source/dnode/mnode/impl/src/mndUser.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/dnode/mnode/impl/src/mndUser.c b/source/dnode/mnode/impl/src/mndUser.c index 378a90ded9..dee8eba0e1 100644 --- a/source/dnode/mnode/impl/src/mndUser.c +++ b/source/dnode/mnode/impl/src/mndUser.c @@ -2327,7 +2327,7 @@ static int32_t mndRetrieveUsers(SRpcMsg *pReq, SShowObj *pShow, SSDataBlock *pBl colDataSetVal(pColInfo, numOfRows, (const char *)&pUser->sysInfo, false); cols++; - flag = pUser->createdb ? 1 : 0; + flag = (pUser->createdb || pUser->superUser) ? 1 : 0; pColInfo = taosArrayGet(pBlock->pDataBlock, cols); colDataSetVal(pColInfo, numOfRows, (const char *)&flag, false); From d5f8cb66e7b36e9d604dff16b25bc509a3d18a43 Mon Sep 17 00:00:00 2001 From: kailixu Date: Wed, 5 Jun 2024 10:20:24 +0800 Subject: [PATCH 06/12] enh: createdb for default user --- source/dnode/mnode/impl/src/mndUser.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/dnode/mnode/impl/src/mndUser.c b/source/dnode/mnode/impl/src/mndUser.c index dee8eba0e1..67d682eb7a 100644 --- a/source/dnode/mnode/impl/src/mndUser.c +++ b/source/dnode/mnode/impl/src/mndUser.c @@ -644,11 +644,11 @@ static int32_t mndCreateDefaultUser(SMnode *pMnode, char *acct, char *user, char userObj.updateTime = userObj.createdTime; userObj.sysInfo = 1; userObj.enable = 1; - userObj.createdb = 1; userObj.ipWhiteListVer = taosGetTimestampMs(); userObj.pIpWhiteList = createDefaultIpWhiteList(); if (strcmp(user, TSDB_DEFAULT_USER) == 0) { userObj.superUser = 1; + userObj.createdb = 1; } SSdbRaw *pRaw = mndUserActionEncode(&userObj); From 88da4d43761184c5c0b53240c2a927229d0d04c3 Mon Sep 17 00:00:00 2001 From: kailixu Date: Wed, 5 Jun 2024 10:28:13 +0800 Subject: [PATCH 07/12] chore: createdb permission for super user --- source/dnode/mnode/impl/src/mndUser.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/source/dnode/mnode/impl/src/mndUser.c b/source/dnode/mnode/impl/src/mndUser.c index 67d682eb7a..9a85d405ca 100644 --- a/source/dnode/mnode/impl/src/mndUser.c +++ b/source/dnode/mnode/impl/src/mndUser.c @@ -1003,6 +1003,7 @@ static SSdbRow *mndUserActionDecode(SSdbRaw *pRaw) { SDB_GET_INT8(pRaw, dataPos, &pUser->sysInfo, _OVER) SDB_GET_INT8(pRaw, dataPos, &pUser->enable, _OVER) SDB_GET_INT8(pRaw, dataPos, &pUser->flag, _OVER) + if (pUser->superUser) pUser->createdb = 1; SDB_GET_INT32(pRaw, dataPos, &pUser->authVersion, _OVER) if (sver >= 4) { SDB_GET_INT32(pRaw, dataPos, &pUser->passVersion, _OVER) @@ -2327,7 +2328,7 @@ static int32_t mndRetrieveUsers(SRpcMsg *pReq, SShowObj *pShow, SSDataBlock *pBl colDataSetVal(pColInfo, numOfRows, (const char *)&pUser->sysInfo, false); cols++; - flag = (pUser->createdb || pUser->superUser) ? 1 : 0; + flag = pUser->createdb ? 1 : 0; pColInfo = taosArrayGet(pBlock->pDataBlock, cols); colDataSetVal(pColInfo, numOfRows, (const char *)&flag, false); From 8dc092936d36dad4525d6fec20b72b655010422b Mon Sep 17 00:00:00 2001 From: kailixu Date: Wed, 5 Jun 2024 17:10:41 +0800 Subject: [PATCH 08/12] enh: user permission for balance vgroup leader --- source/dnode/mnode/impl/inc/mndDef.h | 1 + 1 file changed, 1 insertion(+) diff --git a/source/dnode/mnode/impl/inc/mndDef.h b/source/dnode/mnode/impl/inc/mndDef.h index 1a8155da26..0bdf5c2640 100644 --- a/source/dnode/mnode/impl/inc/mndDef.h +++ b/source/dnode/mnode/impl/inc/mndDef.h @@ -77,6 +77,7 @@ typedef enum { MND_OPER_CREATE_VIEW, MND_OPER_DROP_VIEW, MND_OPER_CONFIG_CLUSTER, + MND_OPER_BALANCE_VGROUP_LEADER, } EOperType; typedef enum { From 30fe35b61a16ad5bb03f151ee789377057db612c Mon Sep 17 00:00:00 2001 From: kailixu Date: Wed, 5 Jun 2024 17:22:50 +0800 Subject: [PATCH 09/12] test: add test case for balance vgroup leader --- tests/script/tsim/user/privilege_sysinfo.sim | 1 + 1 file changed, 1 insertion(+) diff --git a/tests/script/tsim/user/privilege_sysinfo.sim b/tests/script/tsim/user/privilege_sysinfo.sim index f193e375d9..a402c3f0f1 100644 --- a/tests/script/tsim/user/privilege_sysinfo.sim +++ b/tests/script/tsim/user/privilege_sysinfo.sim @@ -67,6 +67,7 @@ sql_error drop snode on dnode 1 sql_error redistribute vgroup 2 dnode 1 dnode 2 sql_error balance vgroup +sql_error balance vgroup leader sql_error kill transaction 1 sql_error kill connection 1 From 13a01835996841dde24fb0bd7973f8b5701ab098 Mon Sep 17 00:00:00 2001 From: kailixu Date: Fri, 7 Jun 2024 09:04:28 +0800 Subject: [PATCH 10/12] check enable/sysinfo range --- source/libs/parser/src/parTranslater.c | 32 ++++++++++++++++++++++---- 1 file changed, 28 insertions(+), 4 deletions(-) diff --git a/source/libs/parser/src/parTranslater.c b/source/libs/parser/src/parTranslater.c index 47d89558c7..cb5c31183e 100644 --- a/source/libs/parser/src/parTranslater.c +++ b/source/libs/parser/src/parTranslater.c @@ -6581,8 +6581,8 @@ static int32_t checkRangeOption(STranslateContext* pCxt, int32_t code, const cha int64_t maxVal) { if (val >= 0 && (val < minVal || val > maxVal)) { return generateSyntaxErrMsgExt(&pCxt->msgBuf, code, - "Invalid option %s: %" PRId64 " valid range: [%" PRId64 ", %" PRId64 "]", pName, val, - minVal, maxVal); + "Invalid option: %s %" PRId64 ", valid range: [%" PRId64 ", %" PRId64 "]", pName, + val, minVal, maxVal); } return TSDB_CODE_SUCCESS; } @@ -8456,7 +8456,11 @@ static int32_t translateUseDatabase(STranslateContext* pCxt, SUseDatabaseStmt* p } static int32_t translateCreateUser(STranslateContext* pCxt, SCreateUserStmt* pStmt) { + int32_t code = 0; SCreateUserReq createReq = {0}; + if ((code = checkRangeOption(pCxt, TSDB_CODE_INVALID_OPTION, "sysinfo", pStmt->sysinfo, 0, 1))) { + return code; + } strcpy(createReq.user, pStmt->userName); createReq.createType = 0; createReq.superUser = 0; @@ -8469,13 +8473,33 @@ static int32_t translateCreateUser(STranslateContext* pCxt, SCreateUserStmt* pSt createReq.pIpRanges = taosMemoryMalloc(createReq.numIpRanges * sizeof(SIpV4Range)); memcpy(createReq.pIpRanges, pStmt->pIpRanges, sizeof(SIpV4Range) * createReq.numIpRanges); } - int32_t code = buildCmdMsg(pCxt, TDMT_MND_CREATE_USER, (FSerializeFunc)tSerializeSCreateUserReq, &createReq); + code = buildCmdMsg(pCxt, TDMT_MND_CREATE_USER, (FSerializeFunc)tSerializeSCreateUserReq, &createReq); tFreeSCreateUserReq(&createReq); return code; } +static int32_t checkAlterUser(STranslateContext* pCxt, SAlterUserStmt* pStmt) { + int32_t code = 0; + switch (pStmt->alterType) { + case TSDB_ALTER_USER_ENABLE: + code = checkRangeOption(pCxt, TSDB_CODE_INVALID_OPTION, "enable", pStmt->enable, 0, 1); + break; + case TSDB_ALTER_USER_SYSINFO: + code = checkRangeOption(pCxt, TSDB_CODE_INVALID_OPTION, "sysinfo", pStmt->sysinfo, 0, 1); + break; + case TSDB_ALTER_USER_CREATEDB: + code = checkRangeOption(pCxt, TSDB_CODE_INVALID_OPTION, "createdb", pStmt->createdb, 0, 1); + break; + } + return code; +} + static int32_t translateAlterUser(STranslateContext* pCxt, SAlterUserStmt* pStmt) { + int32_t code = 0; SAlterUserReq alterReq = {0}; + if ((code = checkAlterUser(pCxt, pStmt))) { + return code; + } strcpy(alterReq.user, pStmt->userName); alterReq.alterType = pStmt->alterType; alterReq.superUser = 0; @@ -8492,7 +8516,7 @@ static int32_t translateAlterUser(STranslateContext* pCxt, SAlterUserStmt* pStmt alterReq.pIpRanges = taosMemoryMalloc(alterReq.numIpRanges * sizeof(SIpV4Range)); memcpy(alterReq.pIpRanges, pStmt->pIpRanges, sizeof(SIpV4Range) * alterReq.numIpRanges); } - int32_t code = buildCmdMsg(pCxt, TDMT_MND_ALTER_USER, (FSerializeFunc)tSerializeSAlterUserReq, &alterReq); + code = buildCmdMsg(pCxt, TDMT_MND_ALTER_USER, (FSerializeFunc)tSerializeSAlterUserReq, &alterReq); tFreeSAlterUserReq(&alterReq); return code; } From a8788ec3a6f532ab70e2ebe58a2ea45561ec3101 Mon Sep 17 00:00:00 2001 From: kailixu Date: Fri, 7 Jun 2024 13:30:10 +0800 Subject: [PATCH 11/12] enh: check range for user enable/sysinfo/createdb --- source/libs/parser/src/parTranslater.c | 4 ++-- tests/script/tsim/user/basic.sim | 12 ++++++++++++ tests/system-test/0-others/user_control.py | 17 ++++++++++++++++- 3 files changed, 30 insertions(+), 3 deletions(-) diff --git a/source/libs/parser/src/parTranslater.c b/source/libs/parser/src/parTranslater.c index cb5c31183e..e246efc54f 100644 --- a/source/libs/parser/src/parTranslater.c +++ b/source/libs/parser/src/parTranslater.c @@ -6579,9 +6579,9 @@ static int32_t buildCreateDbReq(STranslateContext* pCxt, SCreateDatabaseStmt* pS static int32_t checkRangeOption(STranslateContext* pCxt, int32_t code, const char* pName, int64_t val, int64_t minVal, int64_t maxVal) { - if (val >= 0 && (val < minVal || val > maxVal)) { + if (val < minVal || val > maxVal) { return generateSyntaxErrMsgExt(&pCxt->msgBuf, code, - "Invalid option: %s %" PRId64 ", valid range: [%" PRId64 ", %" PRId64 "]", pName, + "Invalid option %s: %" PRId64 ", valid range: [%" PRId64 ", %" PRId64 "]", pName, val, minVal, maxVal); } return TSDB_CODE_SUCCESS; diff --git a/tests/script/tsim/user/basic.sim b/tests/script/tsim/user/basic.sim index 6502123b73..353e1d080a 100644 --- a/tests/script/tsim/user/basic.sim +++ b/tests/script/tsim/user/basic.sim @@ -214,5 +214,17 @@ if $data(u2)[4] != 0 then return -1 endi +sql_error CREATE USER u100 PASS 'taosdata' SYSINFO -1; +sql_error CREATE USER u101 PASS 'taosdata' SYSINFO 2; +sql_error CREATE USER u102 PASS 'taosdata' SYSINFO 20000; +sql_error ALTER USER u1 enable -1 +sql_error ALTER USER u1 enable 2 +sql_error ALTER USER u1 enable 10000 +sql_error ALTER USER u1 sysinfo -1 +sql_error ALTER USER u1 sysinfo 2 +sql_error ALTER USER u1 sysinfo -20000 +sql_error ALTER USER u1 createdb -1 +sql_error ALTER USER u1 createdb 3 +sql_error ALTER USER u1 createdb 100000 system sh/exec.sh -n dnode1 -s stop -x SIGINT \ No newline at end of file diff --git a/tests/system-test/0-others/user_control.py b/tests/system-test/0-others/user_control.py index 7dfc53ca6b..c29170e112 100644 --- a/tests/system-test/0-others/user_control.py +++ b/tests/system-test/0-others/user_control.py @@ -512,6 +512,17 @@ class TDTestCase: else: tdLog.exit("connect successfully, except error not occrued!") + def test_alter_user(self): + options = ["enable", "sysinfo", "createdb"] + optionErrVals = [-10000, -128, -1, 2, 127, 10000] + for optionErrVal in optionErrVals: + tdSql.error("create user user_alter pass 'taosdata' sysinfo %d" % optionErrVal) + tdSql.execute("create user user_alter pass 'taosdata'") + for option in options: + for optionErrVal in optionErrVals: + tdSql.error("alter user user_alter %s %d" % (option, optionErrVal)) + tdSql.execute("drop user user_alter") + def __drop_user(self, user): return f"DROP USER {user}" @@ -720,8 +731,12 @@ class TDTestCase: else: tdLog.info("taos 4 query except error occured, sysinfo == 0, can not show dnode/vgroups") + # alter 用户测试 + tdLog.printNoPrefix("==========step7: alter ordinary user") + self.test_alter_user() + # root删除用户测试 - tdLog.printNoPrefix("==========step7: super user drop normal user") + tdLog.printNoPrefix("==========step8: super user drop normal user") self.test_drop_user() tdSql.query("show users") From ffa235edbd41b27678a07eb77b3be8f03721c7d2 Mon Sep 17 00:00:00 2001 From: kailixu Date: Fri, 7 Jun 2024 16:10:27 +0800 Subject: [PATCH 12/12] fix: check range option --- source/libs/parser/src/parTranslater.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/libs/parser/src/parTranslater.c b/source/libs/parser/src/parTranslater.c index e246efc54f..7e55f2cfeb 100644 --- a/source/libs/parser/src/parTranslater.c +++ b/source/libs/parser/src/parTranslater.c @@ -6579,7 +6579,7 @@ static int32_t buildCreateDbReq(STranslateContext* pCxt, SCreateDatabaseStmt* pS static int32_t checkRangeOption(STranslateContext* pCxt, int32_t code, const char* pName, int64_t val, int64_t minVal, int64_t maxVal) { - if (val < minVal || val > maxVal) { + if (val >= 0 && (val < minVal || val > maxVal)) { return generateSyntaxErrMsgExt(&pCxt->msgBuf, code, "Invalid option %s: %" PRId64 ", valid range: [%" PRId64 ", %" PRId64 "]", pName, val, minVal, maxVal);