From 72f94210b7c0b517c83d7a239554e6d320b41354 Mon Sep 17 00:00:00 2001 From: dapan1121 <89396746@qq.com> Date: Tue, 9 Mar 2021 16:48:02 +0800 Subject: [PATCH] fix bug --- src/inc/ttokendef.h | 1 + src/query/inc/sql.y | 22 +- src/query/src/sql.c | 475 ++++++++++++++++++++++---------------------- 3 files changed, 252 insertions(+), 246 deletions(-) diff --git a/src/inc/ttokendef.h b/src/inc/ttokendef.h index c7c52de031..88d730ce00 100644 --- a/src/inc/ttokendef.h +++ b/src/inc/ttokendef.h @@ -237,6 +237,7 @@ + #define TK_SPACE 300 #define TK_COMMENT 301 #define TK_ILLEGAL 302 diff --git a/src/query/inc/sql.y b/src/query/inc/sql.y index 379d14eb5f..94ba5dcf9d 100644 --- a/src/query/inc/sql.y +++ b/src/query/inc/sql.y @@ -64,6 +64,7 @@ program ::= cmd. {} //////////////////////////////////THE SHOW STATEMENT/////////////////////////////////////////// cmd ::= SHOW DATABASES. { setShowOptions(pInfo, TSDB_MGMT_TABLE_DB, 0, 0);} +cmd ::= SHOW TOPICS. { setShowOptions(pInfo, TSDB_MGMT_TABLE_TP, 0, 0);} cmd ::= SHOW MNODES. { setShowOptions(pInfo, TSDB_MGMT_TABLE_MNODE, 0, 0);} cmd ::= SHOW DNODES. { setShowOptions(pInfo, TSDB_MGMT_TABLE_DNODE, 0, 0);} cmd ::= SHOW ACCOUNTS. { setShowOptions(pInfo, TSDB_MGMT_TABLE_ACCT, 0, 0);} @@ -131,16 +132,18 @@ cmd ::= SHOW dbPrefix(X) VGROUPS ids(Y). { //drop configure for tables cmd ::= DROP TABLE ifexists(Y) ids(X) cpxName(Z). { X.n += Z.n; - setDropDbTableInfo(pInfo, TSDB_SQL_DROP_TABLE, &X, &Y, -1); + setDropDbTableInfo(pInfo, TSDB_SQL_DROP_TABLE, &X, &Y, -1, -1); } //drop stable cmd ::= DROP STABLE ifexists(Y) ids(X) cpxName(Z). { X.n += Z.n; - setDropDbTableInfo(pInfo, TSDB_SQL_DROP_TABLE, &X, &Y, TSDB_SUPER_TABLE); + setDropDbTableInfo(pInfo, TSDB_SQL_DROP_TABLE, &X, &Y, -1, TSDB_SUPER_TABLE); } -cmd ::= DROP DATABASE ifexists(Y) ids(X). { setDropDbTableInfo(pInfo, TSDB_SQL_DROP_DB, &X, &Y, -1); } +cmd ::= DROP DATABASE ifexists(Y) ids(X). { setDropDbTableInfo(pInfo, TSDB_SQL_DROP_DB, &X, &Y, TSDB_DB_TYPE_DEFAULT, -1); } +cmd ::= DROP TOPIC ifexists(Y) ids(X). { setDropDbTableInfo(pInfo, TSDB_SQL_DROP_DB, &X, &Y, TSDB_DB_TYPE_TOPIC, -1); } + cmd ::= DROP DNODE ids(X). { setDCLSQLElems(pInfo, TSDB_SQL_DROP_DNODE, 1, &X); } cmd ::= DROP USER ids(X). { setDCLSQLElems(pInfo, TSDB_SQL_DROP_USER, 1, &X); } cmd ::= DROP ACCOUNT ids(X). { setDCLSQLElems(pInfo, TSDB_SQL_DROP_ACCT, 1, &X); } @@ -162,6 +165,7 @@ cmd ::= ALTER DNODE ids(X) ids(Y) ids(Z). { setDCLSQLElems(pInfo, TSDB_SQL cmd ::= ALTER LOCAL ids(X). { setDCLSQLElems(pInfo, TSDB_SQL_CFG_LOCAL, 1, &X); } cmd ::= ALTER LOCAL ids(X) ids(Y). { setDCLSQLElems(pInfo, TSDB_SQL_CFG_LOCAL, 2, &X, &Y); } cmd ::= ALTER DATABASE ids(X) alter_db_optr(Y). { SStrToken t = {0}; setCreateDbInfo(pInfo, TSDB_SQL_ALTER_DB, &X, &Y, &t);} +cmd ::= ALTER TOPIC ids(X) alter_topic_optr(Y). { SStrToken t = {0}; setCreateDbInfo(pInfo, TSDB_SQL_ALTER_DB, &X, &Y, &t);} cmd ::= ALTER ACCOUNT ids(X) acct_optr(Z). { setCreateAcctSql(pInfo, TSDB_SQL_ALTER_ACCT, &X, NULL, &Z);} cmd ::= ALTER ACCOUNT ids(X) PASS ids(Y) acct_optr(Z). { setCreateAcctSql(pInfo, TSDB_SQL_ALTER_ACCT, &X, &Y, &Z);} @@ -187,6 +191,7 @@ cmd ::= CREATE DNODE ids(X). { setDCLSQLElems(pInfo, TSDB_SQL_CREATE_DNODE cmd ::= CREATE ACCOUNT ids(X) PASS ids(Y) acct_optr(Z). { setCreateAcctSql(pInfo, TSDB_SQL_CREATE_ACCT, &X, &Y, &Z);} cmd ::= CREATE DATABASE ifnotexists(Z) ids(X) db_optr(Y). { setCreateDbInfo(pInfo, TSDB_SQL_CREATE_DB, &X, &Y, &Z);} +cmd ::= CREATE TOPIC ifnotexists(Z) ids(X) topic_optr(Y). { setCreateDbInfo(pInfo, TSDB_SQL_CREATE_DB, &X, &Y, &Z);} cmd ::= CREATE USER ids(X) PASS ids(Y). { setCreateUserSql(pInfo, &X, &Y);} pps(Y) ::= . { Y.n = 0; } @@ -247,6 +252,7 @@ comp(Y) ::= COMP INTEGER(X). { Y = X; } prec(Y) ::= PRECISION STRING(X). { Y = X; } update(Y) ::= UPDATE INTEGER(X). { Y = X; } cachelast(Y) ::= CACHELAST INTEGER(X). { Y = X; } +partitions(Y) ::= PARTITIONS INTEGER(X). { Y = X; } %type db_optr {SCreateDbInfo} db_optr(Y) ::= . {setDefaultCreateDbOption(&Y);} @@ -267,6 +273,11 @@ db_optr(Y) ::= db_optr(Z) keep(X). { Y = Z; Y.keep = X; } db_optr(Y) ::= db_optr(Z) update(X). { Y = Z; Y.update = strtol(X.z, NULL, 10); } db_optr(Y) ::= db_optr(Z) cachelast(X). { Y = Z; Y.cachelast = strtol(X.z, NULL, 10); } +%type topic_optr {SCreateDbInfo} + +topic_optr(Y) ::= db_optr(Z). { Y = Z; Y.dbType = TSDB_DB_TYPE_TOPIC; } +topic_optr(Y) ::= topic_optr(Z) partitions(X). { Y = Z; Y.partitions = strtol(X.z, NULL, 10); } + %type alter_db_optr {SCreateDbInfo} alter_db_optr(Y) ::= . { setDefaultCreateDbOption(&Y);} @@ -280,6 +291,11 @@ alter_db_optr(Y) ::= alter_db_optr(Z) fsync(X). { Y = Z; Y.fsyncPeriod = s alter_db_optr(Y) ::= alter_db_optr(Z) update(X). { Y = Z; Y.update = strtol(X.z, NULL, 10); } alter_db_optr(Y) ::= alter_db_optr(Z) cachelast(X). { Y = Z; Y.cachelast = strtol(X.z, NULL, 10); } +%type alter_topic_optr {SCreateDbInfo} + +alter_topic_optr(Y) ::= alter_db_optr(Z). { Y = Z; Y.dbType = TSDB_DB_TYPE_TOPIC; } +alter_topic_optr(Y) ::= alter_topic_optr(Z) partitions(X). { Y = Z; Y.partitions = strtol(X.z, NULL, 10); } + %type typename {TAOS_FIELD} typename(A) ::= ids(X). { X.type = 0; diff --git a/src/query/src/sql.c b/src/query/src/sql.c index 6a61800321..ef66300f66 100644 --- a/src/query/src/sql.c +++ b/src/query/src/sql.c @@ -136,11 +136,11 @@ typedef union { #define ParseCTX_FETCH #define ParseCTX_STORE #define YYFALLBACK 1 -#define YYNSTATE 304 +#define YYNSTATE 306 #define YYNRULE 263 #define YYNRULE_WITH_ACTION 263 #define YYNTOKEN 213 -#define YY_MAX_SHIFT 303 +#define YY_MAX_SHIFT 305 #define YY_MIN_SHIFTREDUCE 494 #define YY_MAX_SHIFTREDUCE 756 #define YY_ERROR_ACTION 757 @@ -214,154 +214,149 @@ typedef union { ** yy_default[] Default action for each state. ** *********** Begin parsing tables **********************************************/ -#define YY_ACTTAB_COUNT (718) +#define YY_ACTTAB_COUNT (668) static const YYACTIONTYPE yy_action[] = { - /* 0 */ 174, 541, 174, 195, 301, 1, 816, 620, 869, 542, - /* 10 */ 1004, 202, 1005, 47, 48, 917, 51, 52, 135, 199, - /* 20 */ 207, 41, 174, 50, 251, 55, 53, 57, 54, 196, - /* 30 */ 881, 201, 1005, 46, 45, 277, 276, 44, 43, 42, - /* 40 */ 47, 48, 212, 51, 52, 906, 135, 207, 41, 541, - /* 50 */ 50, 251, 55, 53, 57, 54, 78, 542, 928, 214, - /* 60 */ 46, 45, 758, 303, 44, 43, 42, 866, 906, 854, - /* 70 */ 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, - /* 80 */ 865, 867, 868, 870, 957, 906, 246, 889, 890, 29, - /* 90 */ 893, 218, 297, 495, 496, 497, 498, 499, 500, 501, - /* 100 */ 502, 503, 504, 505, 506, 507, 302, 541, 917, 224, - /* 110 */ 70, 81, 956, 47, 48, 542, 51, 52, 906, 925, - /* 120 */ 207, 41, 234, 50, 251, 55, 53, 57, 54, 44, - /* 130 */ 43, 42, 704, 46, 45, 216, 267, 44, 43, 42, - /* 140 */ 47, 49, 805, 51, 52, 894, 160, 207, 41, 135, - /* 150 */ 50, 251, 55, 53, 57, 54, 287, 130, 30, 220, - /* 160 */ 46, 45, 274, 273, 44, 43, 42, 23, 265, 296, - /* 170 */ 295, 264, 263, 262, 294, 261, 293, 292, 291, 260, - /* 180 */ 290, 289, 23, 265, 296, 295, 264, 263, 262, 294, - /* 190 */ 261, 293, 292, 291, 260, 290, 289, 288, 48, 197, - /* 200 */ 51, 52, 903, 217, 207, 41, 269, 50, 251, 55, - /* 210 */ 53, 57, 54, 248, 135, 75, 17, 46, 45, 239, - /* 220 */ 219, 44, 43, 42, 866, 172, 854, 855, 856, 857, - /* 230 */ 858, 859, 860, 861, 862, 863, 864, 865, 867, 868, - /* 240 */ 51, 52, 814, 252, 207, 41, 160, 50, 251, 55, - /* 250 */ 53, 57, 54, 28, 18, 904, 257, 46, 45, 227, - /* 260 */ 30, 44, 43, 42, 206, 717, 231, 230, 708, 12, - /* 270 */ 711, 183, 714, 80, 892, 145, 69, 184, 1014, 23, - /* 280 */ 76, 296, 295, 114, 113, 182, 294, 806, 293, 292, - /* 290 */ 291, 160, 290, 289, 288, 874, 203, 204, 872, 873, - /* 300 */ 250, 210, 30, 875, 903, 877, 878, 876, 891, 879, - /* 310 */ 880, 882, 206, 717, 24, 710, 708, 713, 711, 900, - /* 320 */ 714, 23, 38, 296, 295, 300, 299, 122, 294, 24, - /* 330 */ 293, 292, 291, 644, 290, 289, 641, 38, 642, 720, - /* 340 */ 643, 128, 101, 233, 203, 204, 902, 287, 874, 38, - /* 350 */ 190, 872, 873, 267, 3, 804, 875, 30, 877, 878, - /* 360 */ 876, 213, 879, 880, 221, 222, 30, 56, 905, 55, - /* 370 */ 53, 57, 54, 660, 77, 685, 686, 46, 45, 919, - /* 380 */ 716, 44, 43, 42, 99, 104, 71, 709, 706, 712, - /* 390 */ 93, 103, 109, 112, 102, 715, 5, 150, 211, 178, - /* 400 */ 106, 903, 33, 149, 88, 83, 87, 270, 30, 30, - /* 410 */ 903, 167, 163, 30, 652, 56, 657, 165, 162, 117, - /* 420 */ 116, 115, 236, 25, 707, 46, 45, 205, 716, 44, - /* 430 */ 43, 42, 237, 672, 676, 677, 31, 132, 60, 20, - /* 440 */ 737, 61, 645, 715, 19, 67, 64, 619, 1001, 271, - /* 450 */ 275, 664, 903, 903, 279, 718, 630, 903, 1000, 19, - /* 460 */ 31, 999, 62, 254, 632, 65, 256, 31, 60, 631, - /* 470 */ 79, 6, 191, 60, 92, 91, 14, 13, 98, 97, - /* 480 */ 192, 16, 15, 648, 646, 649, 647, 111, 110, 127, - /* 490 */ 125, 176, 177, 179, 173, 180, 181, 187, 188, 186, - /* 500 */ 967, 966, 171, 185, 129, 175, 208, 963, 962, 209, - /* 510 */ 278, 927, 934, 39, 936, 131, 144, 949, 948, 146, - /* 520 */ 899, 147, 148, 235, 817, 38, 126, 671, 259, 34, - /* 530 */ 169, 35, 268, 813, 1019, 89, 1018, 1016, 240, 151, - /* 540 */ 272, 1013, 95, 66, 198, 916, 244, 63, 136, 1012, - /* 550 */ 58, 137, 249, 138, 247, 1010, 245, 139, 140, 152, - /* 560 */ 243, 241, 835, 36, 32, 40, 141, 142, 37, 170, - /* 570 */ 802, 105, 800, 107, 100, 280, 108, 281, 798, 797, - /* 580 */ 282, 223, 161, 283, 795, 794, 793, 792, 791, 790, - /* 590 */ 164, 166, 787, 785, 783, 781, 779, 168, 284, 285, - /* 600 */ 238, 72, 73, 950, 286, 298, 756, 193, 215, 226, - /* 610 */ 258, 225, 755, 194, 189, 228, 84, 85, 229, 796, - /* 620 */ 754, 742, 118, 119, 232, 789, 236, 253, 155, 788, - /* 630 */ 154, 836, 153, 156, 157, 159, 158, 120, 121, 780, - /* 640 */ 2, 654, 4, 68, 8, 133, 74, 673, 901, 200, - /* 650 */ 242, 134, 143, 678, 26, 9, 10, 719, 27, 7, - /* 660 */ 11, 721, 21, 22, 255, 82, 583, 579, 80, 577, - /* 670 */ 576, 575, 572, 545, 266, 86, 90, 31, 622, 59, - /* 680 */ 94, 621, 618, 567, 565, 557, 563, 559, 96, 561, - /* 690 */ 555, 553, 586, 585, 584, 582, 581, 580, 578, 574, - /* 700 */ 573, 60, 543, 511, 123, 509, 760, 759, 759, 759, - /* 710 */ 759, 759, 759, 759, 759, 759, 759, 124, + /* 0 */ 176, 541, 176, 197, 303, 17, 135, 620, 174, 542, + /* 10 */ 1004, 204, 1005, 47, 48, 30, 51, 52, 135, 201, + /* 20 */ 209, 41, 176, 50, 253, 55, 53, 57, 54, 758, + /* 30 */ 305, 203, 1005, 46, 45, 279, 278, 44, 43, 42, + /* 40 */ 47, 48, 214, 51, 52, 906, 928, 209, 41, 541, + /* 50 */ 50, 253, 55, 53, 57, 54, 199, 542, 660, 903, + /* 60 */ 46, 45, 216, 135, 44, 43, 42, 48, 906, 51, + /* 70 */ 52, 30, 956, 209, 41, 917, 50, 253, 55, 53, + /* 80 */ 57, 54, 250, 130, 75, 289, 46, 45, 906, 236, + /* 90 */ 44, 43, 42, 495, 496, 497, 498, 499, 500, 501, + /* 100 */ 502, 503, 504, 505, 506, 507, 304, 925, 81, 226, + /* 110 */ 70, 541, 212, 47, 48, 903, 51, 52, 30, 542, + /* 120 */ 209, 41, 24, 50, 253, 55, 53, 57, 54, 957, + /* 130 */ 36, 248, 704, 46, 45, 135, 664, 44, 43, 42, + /* 140 */ 47, 49, 894, 51, 52, 241, 892, 209, 41, 229, + /* 150 */ 50, 253, 55, 53, 57, 54, 233, 232, 101, 213, + /* 160 */ 46, 45, 903, 289, 44, 43, 42, 23, 267, 298, + /* 170 */ 297, 266, 265, 264, 296, 263, 295, 294, 293, 262, + /* 180 */ 292, 291, 866, 30, 854, 855, 856, 857, 858, 859, + /* 190 */ 860, 861, 862, 863, 864, 865, 867, 868, 51, 52, + /* 200 */ 917, 76, 209, 41, 900, 50, 253, 55, 53, 57, + /* 210 */ 54, 299, 18, 180, 198, 46, 45, 30, 269, 44, + /* 220 */ 43, 42, 208, 717, 272, 269, 708, 903, 711, 185, + /* 230 */ 714, 1001, 208, 717, 69, 186, 708, 906, 711, 77, + /* 240 */ 714, 114, 113, 184, 1000, 644, 215, 221, 641, 657, + /* 250 */ 642, 71, 643, 12, 205, 206, 25, 80, 252, 145, + /* 260 */ 23, 902, 298, 297, 205, 206, 891, 296, 999, 295, + /* 270 */ 294, 293, 24, 292, 291, 874, 223, 224, 872, 873, + /* 280 */ 36, 193, 904, 875, 805, 877, 878, 876, 161, 879, + /* 290 */ 880, 55, 53, 57, 54, 67, 220, 619, 814, 46, + /* 300 */ 45, 235, 161, 44, 43, 42, 99, 104, 192, 44, + /* 310 */ 43, 42, 93, 103, 109, 112, 102, 239, 78, 254, + /* 320 */ 218, 31, 106, 5, 151, 56, 1, 149, 194, 33, + /* 330 */ 150, 88, 83, 87, 30, 56, 169, 165, 716, 128, + /* 340 */ 30, 30, 167, 164, 117, 116, 115, 36, 716, 889, + /* 350 */ 890, 29, 893, 715, 645, 806, 46, 45, 1014, 161, + /* 360 */ 44, 43, 42, 715, 222, 685, 686, 276, 275, 302, + /* 370 */ 301, 122, 3, 162, 706, 273, 672, 710, 903, 713, + /* 380 */ 132, 277, 281, 676, 903, 903, 652, 60, 219, 677, + /* 390 */ 207, 271, 737, 20, 238, 718, 19, 61, 709, 19, + /* 400 */ 712, 64, 630, 905, 256, 632, 31, 258, 31, 60, + /* 410 */ 707, 79, 631, 178, 28, 720, 60, 259, 62, 179, + /* 420 */ 65, 92, 91, 111, 110, 14, 13, 98, 97, 16, + /* 430 */ 15, 648, 181, 649, 6, 646, 175, 647, 127, 125, + /* 440 */ 182, 183, 189, 190, 967, 188, 173, 187, 966, 177, + /* 450 */ 210, 963, 962, 211, 280, 129, 919, 927, 39, 949, + /* 460 */ 948, 934, 936, 131, 146, 899, 144, 147, 148, 36, + /* 470 */ 817, 261, 37, 171, 34, 270, 813, 237, 1019, 89, + /* 480 */ 1018, 1016, 126, 152, 274, 1013, 95, 671, 242, 1012, + /* 490 */ 200, 1010, 153, 835, 246, 35, 32, 916, 38, 172, + /* 500 */ 63, 66, 802, 136, 58, 251, 137, 138, 249, 247, + /* 510 */ 105, 800, 107, 245, 108, 243, 40, 798, 139, 797, + /* 520 */ 290, 100, 225, 282, 163, 795, 283, 794, 793, 792, + /* 530 */ 791, 790, 166, 168, 787, 785, 783, 781, 779, 284, + /* 540 */ 170, 286, 240, 72, 73, 950, 285, 287, 288, 300, + /* 550 */ 756, 195, 227, 217, 260, 228, 755, 230, 196, 191, + /* 560 */ 231, 84, 85, 754, 742, 234, 796, 238, 74, 654, + /* 570 */ 673, 118, 789, 156, 119, 155, 836, 154, 157, 158, + /* 580 */ 160, 159, 120, 788, 2, 121, 780, 4, 870, 255, + /* 590 */ 8, 901, 68, 133, 202, 244, 140, 141, 142, 143, + /* 600 */ 882, 678, 134, 26, 27, 9, 10, 719, 7, 11, + /* 610 */ 721, 21, 22, 257, 82, 583, 579, 80, 577, 576, + /* 620 */ 575, 572, 545, 268, 86, 90, 31, 94, 59, 96, + /* 630 */ 622, 621, 618, 567, 565, 557, 563, 559, 561, 555, + /* 640 */ 553, 586, 585, 584, 582, 581, 580, 578, 574, 573, + /* 650 */ 60, 543, 511, 509, 760, 759, 759, 759, 759, 759, + /* 660 */ 759, 759, 759, 759, 759, 759, 123, 124, }; static const YYCODETYPE yy_lookahead[] = { - /* 0 */ 276, 1, 276, 215, 216, 223, 224, 5, 0, 9, - /* 10 */ 286, 285, 286, 13, 14, 259, 16, 17, 216, 235, - /* 20 */ 20, 21, 276, 23, 24, 25, 26, 27, 28, 273, - /* 30 */ 0, 285, 286, 33, 34, 33, 34, 37, 38, 39, + /* 0 */ 276, 1, 276, 215, 216, 276, 216, 5, 276, 9, + /* 10 */ 286, 285, 286, 13, 14, 216, 16, 17, 216, 235, + /* 20 */ 20, 21, 276, 23, 24, 25, 26, 27, 28, 213, + /* 30 */ 214, 285, 286, 33, 34, 33, 34, 37, 38, 39, /* 40 */ 13, 14, 235, 16, 17, 261, 216, 20, 21, 1, - /* 50 */ 23, 24, 25, 26, 27, 28, 222, 9, 216, 235, - /* 60 */ 33, 34, 213, 214, 37, 38, 39, 234, 261, 236, - /* 70 */ 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, - /* 80 */ 247, 248, 249, 250, 282, 261, 284, 253, 254, 255, - /* 90 */ 256, 67, 235, 45, 46, 47, 48, 49, 50, 51, - /* 100 */ 52, 53, 54, 55, 56, 57, 58, 1, 259, 61, - /* 110 */ 110, 222, 282, 13, 14, 9, 16, 17, 261, 277, - /* 120 */ 20, 21, 273, 23, 24, 25, 26, 27, 28, 37, - /* 130 */ 38, 39, 105, 33, 34, 67, 79, 37, 38, 39, - /* 140 */ 13, 14, 221, 16, 17, 256, 225, 20, 21, 216, - /* 150 */ 23, 24, 25, 26, 27, 28, 81, 216, 216, 135, - /* 160 */ 33, 34, 138, 139, 37, 38, 39, 88, 89, 90, + /* 50 */ 23, 24, 25, 26, 27, 28, 257, 9, 37, 260, + /* 60 */ 33, 34, 235, 216, 37, 38, 39, 14, 261, 16, + /* 70 */ 17, 216, 282, 20, 21, 259, 23, 24, 25, 26, + /* 80 */ 27, 28, 280, 216, 282, 81, 33, 34, 261, 273, + /* 90 */ 37, 38, 39, 45, 46, 47, 48, 49, 50, 51, + /* 100 */ 52, 53, 54, 55, 56, 57, 58, 277, 222, 61, + /* 110 */ 110, 1, 257, 13, 14, 260, 16, 17, 216, 9, + /* 120 */ 20, 21, 104, 23, 24, 25, 26, 27, 28, 282, + /* 130 */ 112, 284, 105, 33, 34, 216, 115, 37, 38, 39, + /* 140 */ 13, 14, 256, 16, 17, 278, 0, 20, 21, 134, + /* 150 */ 23, 24, 25, 26, 27, 28, 141, 142, 76, 257, + /* 160 */ 33, 34, 260, 81, 37, 38, 39, 88, 89, 90, /* 170 */ 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, - /* 180 */ 101, 102, 88, 89, 90, 91, 92, 93, 94, 95, - /* 190 */ 96, 97, 98, 99, 100, 101, 102, 103, 14, 257, - /* 200 */ 16, 17, 260, 135, 20, 21, 138, 23, 24, 25, - /* 210 */ 26, 27, 28, 280, 216, 282, 276, 33, 34, 278, - /* 220 */ 216, 37, 38, 39, 234, 276, 236, 237, 238, 239, - /* 230 */ 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, - /* 240 */ 16, 17, 221, 15, 20, 21, 225, 23, 24, 25, - /* 250 */ 26, 27, 28, 104, 44, 251, 107, 33, 34, 134, - /* 260 */ 216, 37, 38, 39, 1, 2, 141, 142, 5, 104, - /* 270 */ 7, 61, 9, 108, 0, 110, 222, 67, 261, 88, - /* 280 */ 282, 90, 91, 73, 74, 75, 95, 221, 97, 98, - /* 290 */ 99, 225, 101, 102, 103, 234, 33, 34, 237, 238, - /* 300 */ 37, 257, 216, 242, 260, 244, 245, 246, 254, 248, - /* 310 */ 249, 250, 1, 2, 104, 5, 5, 7, 7, 216, - /* 320 */ 9, 88, 112, 90, 91, 64, 65, 66, 95, 104, - /* 330 */ 97, 98, 99, 2, 101, 102, 5, 112, 7, 111, - /* 340 */ 9, 104, 76, 133, 33, 34, 260, 81, 234, 112, - /* 350 */ 140, 237, 238, 79, 219, 220, 242, 216, 244, 245, - /* 360 */ 246, 258, 248, 249, 33, 34, 216, 104, 261, 25, - /* 370 */ 26, 27, 28, 37, 262, 123, 124, 33, 34, 259, - /* 380 */ 117, 37, 38, 39, 62, 63, 274, 5, 1, 7, - /* 390 */ 68, 69, 70, 71, 72, 132, 62, 63, 257, 276, - /* 400 */ 78, 260, 68, 69, 70, 71, 72, 257, 216, 216, - /* 410 */ 260, 62, 63, 216, 105, 104, 109, 68, 69, 70, - /* 420 */ 71, 72, 113, 116, 37, 33, 34, 60, 117, 37, - /* 430 */ 38, 39, 105, 105, 105, 105, 109, 109, 109, 109, - /* 440 */ 105, 109, 111, 132, 109, 104, 109, 106, 276, 257, - /* 450 */ 257, 115, 260, 260, 257, 105, 105, 260, 276, 109, - /* 460 */ 109, 276, 130, 105, 105, 128, 105, 109, 109, 105, - /* 470 */ 109, 104, 276, 109, 136, 137, 136, 137, 136, 137, - /* 480 */ 276, 136, 137, 5, 5, 7, 7, 76, 77, 62, - /* 490 */ 63, 276, 276, 276, 276, 276, 276, 276, 276, 276, - /* 500 */ 252, 252, 276, 276, 216, 276, 252, 252, 252, 252, - /* 510 */ 252, 216, 216, 275, 216, 216, 263, 283, 283, 216, - /* 520 */ 216, 216, 216, 259, 216, 112, 60, 117, 216, 216, - /* 530 */ 216, 216, 216, 216, 216, 216, 216, 216, 279, 216, - /* 540 */ 216, 216, 216, 127, 279, 272, 279, 129, 271, 216, - /* 550 */ 126, 270, 121, 269, 125, 216, 120, 268, 267, 216, - /* 560 */ 119, 118, 216, 216, 216, 131, 266, 265, 216, 216, - /* 570 */ 216, 216, 216, 216, 87, 86, 216, 50, 216, 216, - /* 580 */ 83, 216, 216, 85, 216, 216, 216, 216, 216, 216, - /* 590 */ 216, 216, 216, 216, 216, 216, 216, 216, 54, 84, - /* 600 */ 217, 217, 217, 217, 82, 79, 5, 217, 217, 5, - /* 610 */ 217, 143, 5, 217, 217, 143, 222, 222, 5, 217, - /* 620 */ 5, 89, 218, 218, 134, 217, 113, 107, 227, 217, - /* 630 */ 231, 233, 232, 230, 228, 226, 229, 218, 218, 217, - /* 640 */ 223, 105, 219, 114, 104, 104, 109, 105, 259, 1, - /* 650 */ 104, 104, 264, 105, 109, 122, 122, 105, 109, 104, - /* 660 */ 104, 111, 104, 104, 107, 76, 9, 5, 108, 5, - /* 670 */ 5, 5, 5, 80, 15, 76, 137, 109, 5, 16, - /* 680 */ 137, 5, 105, 5, 5, 5, 5, 5, 137, 5, - /* 690 */ 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - /* 700 */ 5, 109, 80, 60, 21, 59, 0, 287, 287, 287, - /* 710 */ 287, 287, 287, 287, 287, 287, 287, 21, 287, 287, + /* 180 */ 101, 102, 234, 216, 236, 237, 238, 239, 240, 241, + /* 190 */ 242, 243, 244, 245, 246, 247, 248, 249, 16, 17, + /* 200 */ 259, 282, 20, 21, 216, 23, 24, 25, 26, 27, + /* 210 */ 28, 235, 44, 276, 273, 33, 34, 216, 79, 37, + /* 220 */ 38, 39, 1, 2, 257, 79, 5, 260, 7, 61, + /* 230 */ 9, 276, 1, 2, 222, 67, 5, 261, 7, 262, + /* 240 */ 9, 73, 74, 75, 276, 2, 258, 216, 5, 109, + /* 250 */ 7, 274, 9, 104, 33, 34, 116, 108, 37, 110, + /* 260 */ 88, 260, 90, 91, 33, 34, 254, 95, 276, 97, + /* 270 */ 98, 99, 104, 101, 102, 234, 33, 34, 237, 238, + /* 280 */ 112, 276, 251, 242, 221, 244, 245, 246, 225, 248, + /* 290 */ 249, 25, 26, 27, 28, 104, 67, 106, 221, 33, + /* 300 */ 34, 133, 225, 37, 38, 39, 62, 63, 140, 37, + /* 310 */ 38, 39, 68, 69, 70, 71, 72, 105, 222, 15, + /* 320 */ 67, 109, 78, 62, 63, 104, 223, 224, 276, 68, + /* 330 */ 69, 70, 71, 72, 216, 104, 62, 63, 117, 104, + /* 340 */ 216, 216, 68, 69, 70, 71, 72, 112, 117, 253, + /* 350 */ 254, 255, 256, 132, 111, 221, 33, 34, 261, 225, + /* 360 */ 37, 38, 39, 132, 135, 123, 124, 138, 139, 64, + /* 370 */ 65, 66, 219, 220, 1, 257, 105, 5, 260, 7, + /* 380 */ 109, 257, 257, 105, 260, 260, 105, 109, 135, 105, + /* 390 */ 60, 138, 105, 109, 113, 105, 109, 109, 5, 109, + /* 400 */ 7, 109, 105, 261, 105, 105, 109, 105, 109, 109, + /* 410 */ 37, 109, 105, 276, 104, 111, 109, 107, 130, 276, + /* 420 */ 128, 136, 137, 76, 77, 136, 137, 136, 137, 136, + /* 430 */ 137, 5, 276, 7, 104, 5, 276, 7, 62, 63, + /* 440 */ 276, 276, 276, 276, 252, 276, 276, 276, 252, 276, + /* 450 */ 252, 252, 252, 252, 252, 216, 259, 216, 275, 283, + /* 460 */ 283, 216, 216, 216, 216, 216, 263, 216, 216, 112, + /* 470 */ 216, 216, 216, 216, 216, 216, 216, 259, 216, 216, + /* 480 */ 216, 216, 60, 216, 216, 216, 216, 117, 279, 216, + /* 490 */ 279, 216, 216, 216, 279, 216, 216, 272, 216, 216, + /* 500 */ 129, 127, 216, 271, 126, 121, 270, 269, 125, 120, + /* 510 */ 216, 216, 216, 119, 216, 118, 131, 216, 268, 216, + /* 520 */ 103, 87, 216, 86, 216, 216, 50, 216, 216, 216, + /* 530 */ 216, 216, 216, 216, 216, 216, 216, 216, 216, 83, + /* 540 */ 216, 54, 217, 217, 217, 217, 85, 84, 82, 79, + /* 550 */ 5, 217, 143, 217, 217, 5, 5, 143, 217, 217, + /* 560 */ 5, 222, 222, 5, 89, 134, 217, 113, 109, 105, + /* 570 */ 105, 218, 217, 227, 218, 231, 233, 232, 230, 228, + /* 580 */ 226, 229, 218, 217, 223, 218, 217, 219, 250, 107, + /* 590 */ 104, 259, 114, 104, 1, 104, 267, 266, 265, 264, + /* 600 */ 250, 105, 104, 109, 109, 122, 122, 105, 104, 104, + /* 610 */ 111, 104, 104, 107, 76, 9, 5, 108, 5, 5, + /* 620 */ 5, 5, 80, 15, 76, 137, 109, 137, 16, 137, + /* 630 */ 5, 5, 105, 5, 5, 5, 5, 5, 5, 5, + /* 640 */ 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, + /* 650 */ 109, 80, 60, 59, 0, 287, 287, 287, 287, 287, + /* 660 */ 287, 287, 287, 287, 287, 287, 21, 21, 287, 287, + /* 670 */ 287, 287, 287, 287, 287, 287, 287, 287, 287, 287, + /* 680 */ 287, 287, 287, 287, 287, 287, 287, 287, 287, 287, + /* 690 */ 287, 287, 287, 287, 287, 287, 287, 287, 287, 287, + /* 700 */ 287, 287, 287, 287, 287, 287, 287, 287, 287, 287, + /* 710 */ 287, 287, 287, 287, 287, 287, 287, 287, 287, 287, /* 720 */ 287, 287, 287, 287, 287, 287, 287, 287, 287, 287, /* 730 */ 287, 287, 287, 287, 287, 287, 287, 287, 287, 287, /* 740 */ 287, 287, 287, 287, 287, 287, 287, 287, 287, 287, @@ -378,77 +373,72 @@ static const YYCODETYPE yy_lookahead[] = { /* 850 */ 287, 287, 287, 287, 287, 287, 287, 287, 287, 287, /* 860 */ 287, 287, 287, 287, 287, 287, 287, 287, 287, 287, /* 870 */ 287, 287, 287, 287, 287, 287, 287, 287, 287, 287, - /* 880 */ 287, 287, 287, 287, 287, 287, 287, 287, 287, 287, - /* 890 */ 287, 287, 287, 287, 287, 287, 287, 287, 287, 287, - /* 900 */ 287, 287, 287, 287, 287, 287, 287, 287, 287, 287, - /* 910 */ 287, 287, 287, 287, 287, 287, 287, 287, 287, 287, - /* 920 */ 287, 287, 287, 287, 287, 287, 287, 287, 287, 287, - /* 930 */ 287, + /* 880 */ 287, }; -#define YY_SHIFT_COUNT (303) +#define YY_SHIFT_COUNT (305) #define YY_SHIFT_MIN (0) -#define YY_SHIFT_MAX (706) +#define YY_SHIFT_MAX (654) static const unsigned short int yy_shift_ofst[] = { - /* 0 */ 210, 94, 79, 191, 233, 57, 263, 311, 106, 106, - /* 10 */ 106, 106, 106, 106, 106, 106, 106, 0, 48, 311, - /* 20 */ 331, 331, 331, 331, 225, 106, 106, 106, 106, 274, - /* 30 */ 106, 106, 266, 57, 8, 75, 75, 30, 718, 311, - /* 40 */ 311, 311, 311, 311, 311, 311, 311, 311, 311, 311, - /* 50 */ 311, 311, 311, 311, 311, 311, 311, 311, 311, 331, - /* 60 */ 331, 2, 2, 2, 2, 2, 2, 2, 237, 106, - /* 70 */ 106, 336, 106, 106, 106, 252, 252, 307, 106, 106, - /* 80 */ 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, - /* 90 */ 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, - /* 100 */ 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, - /* 110 */ 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, - /* 120 */ 106, 106, 106, 106, 106, 106, 106, 106, 413, 466, - /* 130 */ 466, 466, 410, 410, 410, 466, 416, 418, 424, 431, - /* 140 */ 429, 436, 441, 443, 434, 413, 466, 466, 466, 57, - /* 150 */ 57, 466, 466, 487, 489, 527, 497, 498, 544, 515, - /* 160 */ 522, 466, 526, 526, 466, 526, 466, 526, 466, 718, - /* 170 */ 718, 27, 100, 127, 100, 100, 184, 224, 344, 344, - /* 180 */ 344, 344, 322, 334, 349, 392, 392, 392, 392, 24, - /* 190 */ 125, 92, 92, 165, 68, 261, 309, 327, 328, 329, - /* 200 */ 330, 335, 350, 310, 382, 387, 367, 228, 332, 337, - /* 210 */ 351, 358, 359, 361, 364, 149, 338, 340, 342, 341, - /* 220 */ 345, 478, 479, 411, 427, 601, 468, 604, 607, 472, - /* 230 */ 613, 615, 532, 490, 513, 536, 529, 520, 540, 537, - /* 240 */ 542, 541, 648, 546, 548, 547, 545, 533, 549, 534, - /* 250 */ 552, 555, 550, 556, 520, 558, 557, 559, 560, 589, - /* 260 */ 657, 662, 664, 665, 666, 667, 593, 659, 599, 539, - /* 270 */ 568, 568, 663, 543, 551, 568, 673, 676, 577, 568, - /* 280 */ 678, 679, 680, 681, 682, 684, 685, 686, 687, 688, - /* 290 */ 689, 690, 691, 692, 693, 694, 695, 592, 622, 683, - /* 300 */ 696, 643, 646, 706, + /* 0 */ 168, 79, 79, 172, 172, 139, 221, 231, 110, 110, + /* 10 */ 110, 110, 110, 110, 110, 110, 110, 0, 48, 231, + /* 20 */ 243, 243, 243, 243, 18, 110, 110, 110, 110, 146, + /* 30 */ 110, 110, 82, 139, 4, 4, 668, 668, 668, 231, + /* 40 */ 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, + /* 50 */ 231, 231, 231, 231, 231, 231, 231, 231, 231, 243, + /* 60 */ 243, 2, 2, 2, 2, 2, 2, 2, 235, 110, + /* 70 */ 110, 21, 110, 110, 110, 242, 242, 140, 110, 110, + /* 80 */ 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, + /* 90 */ 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, + /* 100 */ 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, + /* 110 */ 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, + /* 120 */ 110, 110, 110, 110, 110, 110, 110, 110, 357, 422, + /* 130 */ 422, 422, 370, 370, 370, 422, 374, 371, 378, 384, + /* 140 */ 383, 389, 394, 397, 385, 357, 422, 422, 422, 417, + /* 150 */ 139, 139, 422, 422, 434, 437, 476, 456, 461, 487, + /* 160 */ 463, 466, 417, 422, 470, 470, 422, 470, 422, 470, + /* 170 */ 422, 668, 668, 27, 100, 127, 100, 100, 53, 182, + /* 180 */ 266, 266, 266, 266, 244, 261, 274, 323, 323, 323, + /* 190 */ 323, 229, 15, 272, 272, 149, 253, 305, 281, 212, + /* 200 */ 271, 278, 284, 287, 290, 372, 393, 373, 330, 304, + /* 210 */ 288, 292, 297, 299, 300, 302, 307, 310, 285, 289, + /* 220 */ 291, 191, 293, 426, 430, 347, 376, 545, 409, 550, + /* 230 */ 551, 414, 555, 558, 475, 431, 454, 464, 478, 482, + /* 240 */ 486, 459, 465, 489, 593, 491, 496, 498, 494, 483, + /* 250 */ 495, 484, 502, 504, 499, 505, 482, 507, 506, 508, + /* 260 */ 509, 538, 606, 611, 613, 614, 615, 616, 542, 608, + /* 270 */ 548, 488, 517, 517, 612, 490, 492, 517, 625, 626, + /* 280 */ 527, 517, 628, 629, 630, 631, 632, 633, 634, 635, + /* 290 */ 636, 637, 638, 639, 640, 641, 642, 643, 644, 541, + /* 300 */ 571, 645, 646, 592, 594, 654, }; -#define YY_REDUCE_COUNT (170) +#define YY_REDUCE_COUNT (172) #define YY_REDUCE_MIN (-276) -#define YY_REDUCE_MAX (423) +#define YY_REDUCE_MAX (369) static const short yy_reduce_ofst[] = { - /* 0 */ -151, -167, -10, 61, 114, -166, -274, -254, -58, -198, - /* 10 */ -67, 44, 141, 150, 192, 193, 197, -158, -212, -276, - /* 20 */ -216, -193, -176, -143, -244, -59, -170, -2, 103, -111, - /* 30 */ 4, 86, -79, 54, -218, 21, 66, 135, 112, -60, - /* 40 */ -51, 123, 172, 182, 185, 196, 204, 215, 216, 217, - /* 50 */ 218, 219, 220, 221, 222, 223, 226, 227, 229, 17, - /* 60 */ 107, 248, 249, 254, 255, 256, 257, 258, 120, 288, - /* 70 */ 295, 238, 296, 298, 299, 234, 235, 253, 303, 304, - /* 80 */ 305, 306, 308, 312, 313, 314, 315, 316, 317, 318, - /* 90 */ 319, 320, 321, 323, 324, 325, 326, 333, 339, 343, - /* 100 */ 346, 347, 348, 352, 353, 354, 355, 356, 357, 360, - /* 110 */ 362, 363, 365, 366, 368, 369, 370, 371, 372, 373, - /* 120 */ 374, 375, 376, 377, 378, 379, 380, 381, 264, 383, - /* 130 */ 384, 385, 259, 265, 267, 386, 273, 277, 281, 284, - /* 140 */ 289, 291, 300, 302, 388, 389, 390, 391, 393, 394, - /* 150 */ 395, 396, 397, 398, 400, 399, 401, 403, 406, 407, - /* 160 */ 409, 402, 404, 405, 408, 419, 412, 420, 422, 417, - /* 170 */ 423, + /* 0 */ -184, -52, -52, 41, 41, 96, -274, -254, -201, -153, + /* 10 */ -198, -145, -98, -33, 118, 124, 125, -170, -212, -276, + /* 20 */ -216, -193, -173, -24, -59, -133, -210, -81, -12, -114, + /* 30 */ 31, 1, 63, 12, 77, 134, -23, 103, 153, -271, + /* 40 */ -268, -63, -45, -32, -8, 5, 52, 137, 143, 156, + /* 50 */ 160, 164, 165, 166, 167, 169, 170, 171, 173, 97, + /* 60 */ 142, 192, 196, 198, 199, 200, 201, 202, 197, 239, + /* 70 */ 241, 183, 245, 246, 247, 176, 177, 203, 248, 249, + /* 80 */ 251, 252, 254, 255, 256, 257, 258, 259, 260, 262, + /* 90 */ 263, 264, 265, 267, 268, 269, 270, 273, 275, 276, + /* 100 */ 277, 279, 280, 282, 283, 286, 294, 295, 296, 298, + /* 110 */ 301, 303, 306, 308, 309, 311, 312, 313, 314, 315, + /* 120 */ 316, 317, 318, 319, 320, 321, 322, 324, 218, 325, + /* 130 */ 326, 327, 209, 211, 215, 328, 225, 232, 236, 238, + /* 140 */ 250, 329, 331, 333, 335, 332, 334, 336, 337, 338, + /* 150 */ 339, 340, 341, 342, 343, 345, 344, 346, 348, 351, + /* 160 */ 352, 354, 350, 349, 353, 356, 355, 364, 366, 367, + /* 170 */ 369, 361, 368, }; static const YYACTIONTYPE yy_default[] = { - /* 0 */ 757, 757, 815, 757, 803, 812, 1007, 1007, 757, 757, + /* 0 */ 757, 869, 815, 881, 803, 812, 1007, 1007, 757, 757, /* 10 */ 757, 757, 757, 757, 757, 757, 757, 929, 776, 1007, /* 20 */ 757, 757, 757, 757, 757, 757, 757, 757, 757, 812, - /* 30 */ 757, 757, 818, 812, 853, 818, 818, 871, 924, 757, + /* 30 */ 757, 757, 818, 812, 818, 818, 924, 853, 871, 757, /* 40 */ 757, 757, 757, 757, 757, 757, 757, 757, 757, 757, /* 50 */ 757, 757, 757, 757, 757, 757, 757, 757, 757, 757, /* 60 */ 757, 757, 757, 757, 757, 757, 757, 757, 757, 757, @@ -459,23 +449,23 @@ static const YYACTIONTYPE yy_default[] = { /* 110 */ 757, 757, 757, 757, 757, 757, 757, 757, 757, 757, /* 120 */ 757, 757, 786, 757, 757, 757, 757, 757, 757, 778, /* 130 */ 778, 778, 757, 757, 757, 778, 960, 964, 958, 946, - /* 140 */ 954, 945, 941, 940, 968, 757, 778, 778, 778, 812, - /* 150 */ 812, 778, 778, 834, 832, 830, 822, 828, 824, 826, - /* 160 */ 820, 778, 810, 810, 778, 810, 778, 810, 778, 853, - /* 170 */ 871, 757, 969, 757, 1006, 959, 996, 995, 1002, 994, - /* 180 */ 993, 992, 757, 757, 757, 988, 989, 991, 990, 757, - /* 190 */ 757, 998, 997, 757, 757, 757, 757, 757, 757, 757, - /* 200 */ 757, 757, 757, 757, 757, 757, 971, 757, 965, 961, - /* 210 */ 757, 757, 757, 757, 757, 757, 757, 757, 757, 883, - /* 220 */ 757, 757, 757, 757, 757, 757, 757, 757, 757, 757, - /* 230 */ 757, 757, 757, 757, 921, 757, 757, 757, 757, 932, - /* 240 */ 757, 757, 757, 757, 757, 757, 955, 757, 947, 757, - /* 250 */ 757, 757, 757, 757, 895, 757, 757, 757, 757, 757, + /* 140 */ 954, 945, 941, 940, 968, 757, 778, 778, 778, 816, + /* 150 */ 812, 812, 778, 778, 834, 832, 830, 822, 828, 824, + /* 160 */ 826, 820, 804, 778, 810, 810, 778, 810, 778, 810, + /* 170 */ 778, 853, 871, 757, 969, 757, 1006, 959, 996, 995, + /* 180 */ 1002, 994, 993, 992, 757, 757, 757, 988, 989, 991, + /* 190 */ 990, 757, 757, 998, 997, 757, 757, 757, 757, 757, + /* 200 */ 757, 757, 757, 757, 757, 757, 757, 757, 971, 757, + /* 210 */ 965, 961, 757, 757, 757, 757, 757, 757, 757, 757, + /* 220 */ 757, 883, 757, 757, 757, 757, 757, 757, 757, 757, + /* 230 */ 757, 757, 757, 757, 757, 757, 921, 757, 757, 757, + /* 240 */ 757, 932, 757, 757, 757, 757, 757, 757, 955, 757, + /* 250 */ 947, 757, 757, 757, 757, 757, 895, 757, 757, 757, /* 260 */ 757, 757, 757, 757, 757, 757, 757, 757, 757, 757, - /* 270 */ 1017, 1015, 757, 757, 757, 1011, 757, 757, 757, 1009, - /* 280 */ 757, 757, 757, 757, 757, 757, 757, 757, 757, 757, - /* 290 */ 757, 757, 757, 757, 757, 757, 757, 837, 757, 784, - /* 300 */ 782, 757, 774, 757, + /* 270 */ 757, 757, 1017, 1015, 757, 757, 757, 1011, 757, 757, + /* 280 */ 757, 1009, 757, 757, 757, 757, 757, 757, 757, 757, + /* 290 */ 757, 757, 757, 757, 757, 757, 757, 757, 757, 837, + /* 300 */ 757, 784, 782, 757, 774, 757, }; /********** End of lemon-generated parsing tables *****************************/ @@ -1198,8 +1188,8 @@ static const char *const yyRuleName[] = { /* 106 */ "db_optr ::= db_optr keep", /* 107 */ "db_optr ::= db_optr update", /* 108 */ "db_optr ::= db_optr cachelast", - /* 109 */ "topic_optr ::=", - /* 110 */ "topic_optr ::= db_optr partitions", + /* 109 */ "topic_optr ::= db_optr", + /* 110 */ "topic_optr ::= topic_optr partitions", /* 111 */ "alter_db_optr ::=", /* 112 */ "alter_db_optr ::= alter_db_optr replica", /* 113 */ "alter_db_optr ::= alter_db_optr quorum", @@ -1210,8 +1200,8 @@ static const char *const yyRuleName[] = { /* 118 */ "alter_db_optr ::= alter_db_optr fsync", /* 119 */ "alter_db_optr ::= alter_db_optr update", /* 120 */ "alter_db_optr ::= alter_db_optr cachelast", - /* 121 */ "alter_topic_optr ::=", - /* 122 */ "alter_topic_optr ::= alter_db_optr partitions", + /* 121 */ "alter_topic_optr ::= alter_db_optr", + /* 122 */ "alter_topic_optr ::= alter_topic_optr partitions", /* 123 */ "typename ::= ids", /* 124 */ "typename ::= ids LP signed RP", /* 125 */ "typename ::= ids UNSIGNED", @@ -1920,8 +1910,8 @@ static const YYCODETYPE yyRuleInfoLhs[] = { 223, /* (106) db_optr ::= db_optr keep */ 223, /* (107) db_optr ::= db_optr update */ 223, /* (108) db_optr ::= db_optr cachelast */ - 224, /* (109) topic_optr ::= */ - 224, /* (110) topic_optr ::= db_optr partitions */ + 224, /* (109) topic_optr ::= db_optr */ + 224, /* (110) topic_optr ::= topic_optr partitions */ 219, /* (111) alter_db_optr ::= */ 219, /* (112) alter_db_optr ::= alter_db_optr replica */ 219, /* (113) alter_db_optr ::= alter_db_optr quorum */ @@ -1932,8 +1922,8 @@ static const YYCODETYPE yyRuleInfoLhs[] = { 219, /* (118) alter_db_optr ::= alter_db_optr fsync */ 219, /* (119) alter_db_optr ::= alter_db_optr update */ 219, /* (120) alter_db_optr ::= alter_db_optr cachelast */ - 220, /* (121) alter_topic_optr ::= */ - 220, /* (122) alter_topic_optr ::= alter_db_optr partitions */ + 220, /* (121) alter_topic_optr ::= alter_db_optr */ + 220, /* (122) alter_topic_optr ::= alter_topic_optr partitions */ 251, /* (123) typename ::= ids */ 251, /* (124) typename ::= ids LP signed RP */ 251, /* (125) typename ::= ids UNSIGNED */ @@ -2188,8 +2178,8 @@ static const signed char yyRuleInfoNRhs[] = { -2, /* (106) db_optr ::= db_optr keep */ -2, /* (107) db_optr ::= db_optr update */ -2, /* (108) db_optr ::= db_optr cachelast */ - 0, /* (109) topic_optr ::= */ - -2, /* (110) topic_optr ::= db_optr partitions */ + -1, /* (109) topic_optr ::= db_optr */ + -2, /* (110) topic_optr ::= topic_optr partitions */ 0, /* (111) alter_db_optr ::= */ -2, /* (112) alter_db_optr ::= alter_db_optr replica */ -2, /* (113) alter_db_optr ::= alter_db_optr quorum */ @@ -2200,8 +2190,8 @@ static const signed char yyRuleInfoNRhs[] = { -2, /* (118) alter_db_optr ::= alter_db_optr fsync */ -2, /* (119) alter_db_optr ::= alter_db_optr update */ -2, /* (120) alter_db_optr ::= alter_db_optr cachelast */ - 0, /* (121) alter_topic_optr ::= */ - -2, /* (122) alter_topic_optr ::= alter_db_optr partitions */ + -1, /* (121) alter_topic_optr ::= alter_db_optr */ + -2, /* (122) alter_topic_optr ::= alter_topic_optr partitions */ -1, /* (123) typename ::= ids */ -4, /* (124) typename ::= ids LP signed RP */ -2, /* (125) typename ::= ids UNSIGNED */ @@ -2545,13 +2535,13 @@ static YYACTIONTYPE yy_reduce( case 28: /* cmd ::= DROP TABLE ifexists ids cpxName */ { yymsp[-1].minor.yy0.n += yymsp[0].minor.yy0.n; - setDropDbTableInfo(pInfo, TSDB_SQL_DROP_TABLE, &yymsp[-1].minor.yy0, &yymsp[-2].minor.yy0, TSDB_DB_TYPE_DEFAULT, -1); + setDropDbTableInfo(pInfo, TSDB_SQL_DROP_TABLE, &yymsp[-1].minor.yy0, &yymsp[-2].minor.yy0, -1, -1); } break; case 29: /* cmd ::= DROP STABLE ifexists ids cpxName */ { yymsp[-1].minor.yy0.n += yymsp[0].minor.yy0.n; - setDropDbTableInfo(pInfo, TSDB_SQL_DROP_TABLE, &yymsp[-1].minor.yy0, &yymsp[-2].minor.yy0, TSDB_DB_TYPE_DEFAULT, TSDB_SUPER_TABLE); + setDropDbTableInfo(pInfo, TSDB_SQL_DROP_TABLE, &yymsp[-1].minor.yy0, &yymsp[-2].minor.yy0, -1, TSDB_SUPER_TABLE); } break; case 30: /* cmd ::= DROP DATABASE ifexists ids */ @@ -2763,20 +2753,19 @@ static YYACTIONTYPE yy_reduce( { yylhsminor.yy100 = yymsp[-1].minor.yy100; yylhsminor.yy100.cachelast = strtol(yymsp[0].minor.yy0.z, NULL, 10); } yymsp[-1].minor.yy100 = yylhsminor.yy100; break; - case 109: /* topic_optr ::= */ -{setDefaultCreateTopicOption(&yymsp[1].minor.yy100);} + case 109: /* topic_optr ::= db_optr */ + case 121: /* alter_topic_optr ::= alter_db_optr */ yytestcase(yyruleno==121); +{ yylhsminor.yy100 = yymsp[0].minor.yy100; yylhsminor.yy100.dbType = TSDB_DB_TYPE_TOPIC; } + yymsp[0].minor.yy100 = yylhsminor.yy100; break; - case 110: /* topic_optr ::= db_optr partitions */ - case 122: /* alter_topic_optr ::= alter_db_optr partitions */ yytestcase(yyruleno==122); + case 110: /* topic_optr ::= topic_optr partitions */ + case 122: /* alter_topic_optr ::= alter_topic_optr partitions */ yytestcase(yyruleno==122); { yylhsminor.yy100 = yymsp[-1].minor.yy100; yylhsminor.yy100.partitions = strtol(yymsp[0].minor.yy0.z, NULL, 10); } yymsp[-1].minor.yy100 = yylhsminor.yy100; break; case 111: /* alter_db_optr ::= */ { setDefaultCreateDbOption(&yymsp[1].minor.yy100);} break; - case 121: /* alter_topic_optr ::= */ -{ setDefaultCreateTopicOption(&yymsp[1].minor.yy100);} - break; case 123: /* typename ::= ids */ { yymsp[0].minor.yy0.type = 0; -- GitLab