State 0: input ::= * cmdlist cmdlist ::= * cmdlist ecmd cmdlist ::= * ecmd ecmd ::= * SEMI ecmd ::= * cmdx SEMI ecmd ::= * explain cmdx SEMI explain ::= * EXPLAIN explain ::= * EXPLAIN QUERY PLAN cmdx ::= * cmd cmd ::= * BEGIN transtype trans_opt cmd ::= * COMMIT|END trans_opt cmd ::= * ROLLBACK trans_opt cmd ::= * SAVEPOINT nm cmd ::= * RELEASE savepoint_opt nm cmd ::= * ROLLBACK trans_opt TO savepoint_opt nm cmd ::= * create_table create_table_args create_table ::= * createkw temp TABLE ifnotexists nm dbnm createkw ::= * CREATE cmd ::= * DROP TABLE ifexists fullname cmd ::= * createkw temp VIEW ifnotexists nm dbnm eidlist_opt AS select cmd ::= * DROP VIEW ifexists fullname cmd ::= * select select ::= * WITH wqlist selectnowith select ::= * WITH RECURSIVE wqlist selectnowith select ::= * selectnowith selectnowith ::= * oneselect selectnowith ::= * selectnowith multiselect_op oneselect oneselect ::= * SELECT distinct selcollist from where_opt groupby_opt having_opt orderby_opt limit_opt oneselect ::= * SELECT distinct selcollist from where_opt groupby_opt having_opt window_clause orderby_opt limit_opt oneselect ::= * values values ::= * VALUES LP nexprlist RP values ::= * values COMMA LP nexprlist RP cmd ::= * with DELETE FROM xfullname indexed_opt where_opt_ret cmd ::= * with UPDATE orconf xfullname indexed_opt SET setlist from where_opt_ret cmd ::= * with insert_cmd INTO xfullname idlist_opt select upsert cmd ::= * with insert_cmd INTO xfullname idlist_opt DEFAULT VALUES returning cmd ::= * createkw uniqueflag INDEX ifnotexists nm dbnm ON nm LP sortlist RP where_opt cmd ::= * DROP INDEX ifexists fullname cmd ::= * VACUUM vinto cmd ::= * VACUUM nm vinto cmd ::= * PRAGMA nm dbnm cmd ::= * PRAGMA nm dbnm EQ nmnum cmd ::= * PRAGMA nm dbnm LP nmnum RP cmd ::= * PRAGMA nm dbnm EQ minus_num cmd ::= * PRAGMA nm dbnm LP minus_num RP cmd ::= * createkw trigger_decl BEGIN trigger_cmd_list END cmd ::= * DROP TRIGGER ifexists fullname cmd ::= * ATTACH database_kw_opt expr AS expr key_opt cmd ::= * DETACH database_kw_opt expr cmd ::= * REINDEX cmd ::= * REINDEX nm dbnm cmd ::= * ANALYZE cmd ::= * ANALYZE nm dbnm cmd ::= * ALTER TABLE fullname RENAME TO nm cmd ::= * ALTER TABLE add_column_fullname ADD kwcolumn_opt columnname carglist cmd ::= * ALTER TABLE fullname DROP kwcolumn_opt nm cmd ::= * ALTER TABLE fullname RENAME kwcolumn_opt nm TO nm cmd ::= * create_vtab cmd ::= * create_vtab LP vtabarglist RP create_vtab ::= * createkw VIRTUAL TABLE ifnotexists nm dbnm USING nm (404) with ::= * with ::= * WITH wqlist with ::= * WITH RECURSIVE wqlist SEMI shift-reduce 345 ecmd ::= SEMI EXPLAIN shift 447 BEGIN shift 288 COMMIT shift 392 END shift 392 ROLLBACK shift 391 SAVEPOINT shift 273 RELEASE shift 389 CREATE shift-reduce 14 createkw ::= CREATE ANALYZE shift 234 ATTACH shift 323 DETACH shift 322 PRAGMA shift 236 VACUUM shift 168 WITH shift 141 REINDEX shift 235 DROP shift 410 SELECT shift 316 VALUES shift 559 ALTER shift 451 input accept cmdlist shift 1 ecmd shift 1 /* because ecmd==cmdlist */ cmdx shift 575 explain shift 2 cmd shift-reduce 2 cmdx ::= cmd create_table shift 317 createkw shift 146 select shift-reduce 84 cmd ::= select selectnowith shift 284 oneselect shift 284 /* because oneselect==selectnowith */ values shift 565 with shift 240 create_vtab shift 448 {default} reduce 404 with ::= State 1: (342) input ::= cmdlist * cmdlist ::= cmdlist * ecmd ecmd ::= * SEMI ecmd ::= * cmdx SEMI ecmd ::= * explain cmdx SEMI explain ::= * EXPLAIN explain ::= * EXPLAIN QUERY PLAN cmdx ::= * cmd cmd ::= * BEGIN transtype trans_opt cmd ::= * COMMIT|END trans_opt cmd ::= * ROLLBACK trans_opt cmd ::= * SAVEPOINT nm cmd ::= * RELEASE savepoint_opt nm cmd ::= * ROLLBACK trans_opt TO savepoint_opt nm cmd ::= * create_table create_table_args create_table ::= * createkw temp TABLE ifnotexists nm dbnm createkw ::= * CREATE cmd ::= * DROP TABLE ifexists fullname cmd ::= * createkw temp VIEW ifnotexists nm dbnm eidlist_opt AS select cmd ::= * DROP VIEW ifexists fullname cmd ::= * select select ::= * WITH wqlist selectnowith select ::= * WITH RECURSIVE wqlist selectnowith select ::= * selectnowith selectnowith ::= * oneselect selectnowith ::= * selectnowith multiselect_op oneselect oneselect ::= * SELECT distinct selcollist from where_opt groupby_opt having_opt orderby_opt limit_opt oneselect ::= * SELECT distinct selcollist from where_opt groupby_opt having_opt window_clause orderby_opt limit_opt oneselect ::= * values values ::= * VALUES LP nexprlist RP values ::= * values COMMA LP nexprlist RP cmd ::= * with DELETE FROM xfullname indexed_opt where_opt_ret cmd ::= * with UPDATE orconf xfullname indexed_opt SET setlist from where_opt_ret cmd ::= * with insert_cmd INTO xfullname idlist_opt select upsert cmd ::= * with insert_cmd INTO xfullname idlist_opt DEFAULT VALUES returning cmd ::= * createkw uniqueflag INDEX ifnotexists nm dbnm ON nm LP sortlist RP where_opt cmd ::= * DROP INDEX ifexists fullname cmd ::= * VACUUM vinto cmd ::= * VACUUM nm vinto cmd ::= * PRAGMA nm dbnm cmd ::= * PRAGMA nm dbnm EQ nmnum cmd ::= * PRAGMA nm dbnm LP nmnum RP cmd ::= * PRAGMA nm dbnm EQ minus_num cmd ::= * PRAGMA nm dbnm LP minus_num RP cmd ::= * createkw trigger_decl BEGIN trigger_cmd_list END cmd ::= * DROP TRIGGER ifexists fullname cmd ::= * ATTACH database_kw_opt expr AS expr key_opt cmd ::= * DETACH database_kw_opt expr cmd ::= * REINDEX cmd ::= * REINDEX nm dbnm cmd ::= * ANALYZE cmd ::= * ANALYZE nm dbnm cmd ::= * ALTER TABLE fullname RENAME TO nm cmd ::= * ALTER TABLE add_column_fullname ADD kwcolumn_opt columnname carglist cmd ::= * ALTER TABLE fullname DROP kwcolumn_opt nm cmd ::= * ALTER TABLE fullname RENAME kwcolumn_opt nm TO nm cmd ::= * create_vtab cmd ::= * create_vtab LP vtabarglist RP create_vtab ::= * createkw VIRTUAL TABLE ifnotexists nm dbnm USING nm (404) with ::= * with ::= * WITH wqlist with ::= * WITH RECURSIVE wqlist $ reduce 342 input ::= cmdlist SEMI shift-reduce 345 ecmd ::= SEMI EXPLAIN shift 447 BEGIN shift 288 COMMIT shift 392 END shift 392 ROLLBACK shift 391 SAVEPOINT shift 273 RELEASE shift 389 CREATE shift-reduce 14 createkw ::= CREATE ANALYZE shift 234 ATTACH shift 323 DETACH shift 322 PRAGMA shift 236 VACUUM shift 168 WITH shift 141 REINDEX shift 235 DROP shift 410 SELECT shift 316 VALUES shift 559 ALTER shift 451 ecmd shift-reduce 343 cmdlist ::= cmdlist ecmd cmdx shift 575 explain shift 2 cmd shift-reduce 2 cmdx ::= cmd create_table shift 317 createkw shift 146 select shift-reduce 84 cmd ::= select selectnowith shift 284 oneselect shift 284 /* because oneselect==selectnowith */ values shift 565 with shift 240 create_vtab shift 448 {default} reduce 404 with ::= State 2: ecmd ::= explain * cmdx SEMI cmdx ::= * cmd cmd ::= * BEGIN transtype trans_opt cmd ::= * COMMIT|END trans_opt cmd ::= * ROLLBACK trans_opt cmd ::= * SAVEPOINT nm cmd ::= * RELEASE savepoint_opt nm cmd ::= * ROLLBACK trans_opt TO savepoint_opt nm cmd ::= * create_table create_table_args create_table ::= * createkw temp TABLE ifnotexists nm dbnm createkw ::= * CREATE cmd ::= * DROP TABLE ifexists fullname cmd ::= * createkw temp VIEW ifnotexists nm dbnm eidlist_opt AS select cmd ::= * DROP VIEW ifexists fullname cmd ::= * select select ::= * WITH wqlist selectnowith select ::= * WITH RECURSIVE wqlist selectnowith select ::= * selectnowith selectnowith ::= * oneselect selectnowith ::= * selectnowith multiselect_op oneselect oneselect ::= * SELECT distinct selcollist from where_opt groupby_opt having_opt orderby_opt limit_opt oneselect ::= * SELECT distinct selcollist from where_opt groupby_opt having_opt window_clause orderby_opt limit_opt oneselect ::= * values values ::= * VALUES LP nexprlist RP values ::= * values COMMA LP nexprlist RP cmd ::= * with DELETE FROM xfullname indexed_opt where_opt_ret cmd ::= * with UPDATE orconf xfullname indexed_opt SET setlist from where_opt_ret cmd ::= * with insert_cmd INTO xfullname idlist_opt select upsert cmd ::= * with insert_cmd INTO xfullname idlist_opt DEFAULT VALUES returning cmd ::= * createkw uniqueflag INDEX ifnotexists nm dbnm ON nm LP sortlist RP where_opt cmd ::= * DROP INDEX ifexists fullname cmd ::= * VACUUM vinto cmd ::= * VACUUM nm vinto cmd ::= * PRAGMA nm dbnm cmd ::= * PRAGMA nm dbnm EQ nmnum cmd ::= * PRAGMA nm dbnm LP nmnum RP cmd ::= * PRAGMA nm dbnm EQ minus_num cmd ::= * PRAGMA nm dbnm LP minus_num RP cmd ::= * createkw trigger_decl BEGIN trigger_cmd_list END cmd ::= * DROP TRIGGER ifexists fullname cmd ::= * ATTACH database_kw_opt expr AS expr key_opt cmd ::= * DETACH database_kw_opt expr cmd ::= * REINDEX cmd ::= * REINDEX nm dbnm cmd ::= * ANALYZE cmd ::= * ANALYZE nm dbnm cmd ::= * ALTER TABLE fullname RENAME TO nm cmd ::= * ALTER TABLE add_column_fullname ADD kwcolumn_opt columnname carglist cmd ::= * ALTER TABLE fullname DROP kwcolumn_opt nm cmd ::= * ALTER TABLE fullname RENAME kwcolumn_opt nm TO nm cmd ::= * create_vtab cmd ::= * create_vtab LP vtabarglist RP create_vtab ::= * createkw VIRTUAL TABLE ifnotexists nm dbnm USING nm (404) with ::= * with ::= * WITH wqlist with ::= * WITH RECURSIVE wqlist BEGIN shift 288 COMMIT shift 392 END shift 392 ROLLBACK shift 391 SAVEPOINT shift 273 RELEASE shift 389 CREATE shift-reduce 14 createkw ::= CREATE ANALYZE shift 234 ATTACH shift 323 DETACH shift 322 PRAGMA shift 236 VACUUM shift 168 WITH shift 141 REINDEX shift 235 DROP shift 410 SELECT shift 316 VALUES shift 559 ALTER shift 451 cmdx shift 574 cmd shift-reduce 2 cmdx ::= cmd create_table shift 317 createkw shift 146 select shift-reduce 84 cmd ::= select selectnowith shift 284 oneselect shift 284 /* because oneselect==selectnowith */ values shift 565 with shift 240 create_vtab shift 448 {default} reduce 404 with ::= State 3: nm ::= * ID|INDEXED nm ::= * STRING nm ::= * JOIN_KW select ::= * WITH wqlist selectnowith select ::= * WITH RECURSIVE wqlist selectnowith select ::= * selectnowith selectnowith ::= * oneselect selectnowith ::= * selectnowith multiselect_op oneselect oneselect ::= * SELECT distinct selcollist from where_opt groupby_opt having_opt orderby_opt limit_opt oneselect ::= * SELECT distinct selcollist from where_opt groupby_opt having_opt window_clause orderby_opt limit_opt oneselect ::= * values values ::= * VALUES LP nexprlist RP values ::= * values COMMA LP nexprlist RP expr ::= * term expr ::= * LP expr RP expr ::= * ID|INDEXED expr ::= * JOIN_KW expr ::= * nm DOT nm expr ::= * nm DOT nm DOT nm term ::= * NULL|FLOAT|BLOB term ::= * STRING term ::= * INTEGER expr ::= * VARIABLE expr ::= * expr COLLATE ID|STRING expr ::= * CAST LP expr AS typetoken RP expr ::= * ID|INDEXED LP distinct exprlist RP expr ::= * ID|INDEXED LP STAR RP expr ::= * ID|INDEXED LP distinct exprlist RP filter_over expr ::= * ID|INDEXED LP STAR RP filter_over term ::= * CTIME_KW expr ::= * LP nexprlist COMMA expr RP expr ::= * expr AND expr expr ::= * expr OR expr expr ::= * expr LT|GT|GE|LE expr expr ::= * expr EQ|NE expr expr ::= * expr BITAND|BITOR|LSHIFT|RSHIFT expr expr ::= * expr PLUS|MINUS expr expr ::= * expr STAR|SLASH|REM expr expr ::= * expr CONCAT expr expr ::= * expr likeop expr expr ::= * expr likeop expr ESCAPE expr expr ::= * expr ISNULL|NOTNULL expr ::= * expr NOT NULL expr ::= * expr IS expr expr ::= * expr IS NOT expr expr ::= * expr IS NOT DISTINCT FROM expr expr ::= * expr IS DISTINCT FROM expr expr ::= * NOT expr expr ::= * BITNOT expr expr ::= * PLUS|MINUS expr expr ::= * expr PTR expr expr ::= * expr between_op expr AND expr expr ::= * expr in_op LP exprlist RP expr ::= expr in_op LP * exprlist RP expr ::= * LP select RP expr ::= * expr in_op LP select RP expr ::= expr in_op LP * select RP expr ::= * expr in_op nm dbnm paren_exprlist expr ::= * EXISTS LP select RP expr ::= * CASE case_operand case_exprlist case_else END exprlist ::= * nexprlist (232) exprlist ::= * nexprlist ::= * nexprlist COMMA expr nexprlist ::= * expr expr ::= * RAISE LP IGNORE RP expr ::= * RAISE LP raisetype COMMA nm RP NOT shift 111 EXISTS shift 560 LP shift 4 CAST shift 563 ID shift 445 RAISE shift 557 WITH shift 142 CTIME_KW shift-reduce 192 term ::= CTIME_KW PLUS shift 109 MINUS shift 109 BITNOT shift 110 INDEXED shift 445 STRING shift 570 JOIN_KW shift 569 NULL shift-reduce 182 term ::= NULL|FLOAT|BLOB SELECT shift 316 VALUES shift 559 FLOAT shift-reduce 182 term ::= NULL|FLOAT|BLOB BLOB shift-reduce 182 term ::= NULL|FLOAT|BLOB INTEGER shift-reduce 184 term ::= INTEGER VARIABLE shift-reduce 185 expr ::= VARIABLE CASE shift 27 nm shift 568 select shift 551 term shift 71 /* because term==expr */ expr shift 71 selectnowith shift 284 oneselect shift 284 /* because oneselect==selectnowith */ values shift 565 nexprlist shift 550 exprlist shift 552 {default} reduce 232 exprlist ::= State 4: nm ::= * ID|INDEXED nm ::= * STRING nm ::= * JOIN_KW select ::= * WITH wqlist selectnowith select ::= * WITH RECURSIVE wqlist selectnowith select ::= * selectnowith selectnowith ::= * oneselect selectnowith ::= * selectnowith multiselect_op oneselect oneselect ::= * SELECT distinct selcollist from where_opt groupby_opt having_opt orderby_opt limit_opt oneselect ::= * SELECT distinct selcollist from where_opt groupby_opt having_opt window_clause orderby_opt limit_opt oneselect ::= * values values ::= * VALUES LP nexprlist RP values ::= * values COMMA LP nexprlist RP expr ::= * term expr ::= * LP expr RP expr ::= LP * expr RP expr ::= * ID|INDEXED expr ::= * JOIN_KW expr ::= * nm DOT nm expr ::= * nm DOT nm DOT nm term ::= * NULL|FLOAT|BLOB term ::= * STRING term ::= * INTEGER expr ::= * VARIABLE expr ::= * expr COLLATE ID|STRING expr ::= * CAST LP expr AS typetoken RP expr ::= * ID|INDEXED LP distinct exprlist RP expr ::= * ID|INDEXED LP STAR RP expr ::= * ID|INDEXED LP distinct exprlist RP filter_over expr ::= * ID|INDEXED LP STAR RP filter_over term ::= * CTIME_KW expr ::= * LP nexprlist COMMA expr RP expr ::= LP * nexprlist COMMA expr RP expr ::= * expr AND expr expr ::= * expr OR expr expr ::= * expr LT|GT|GE|LE expr expr ::= * expr EQ|NE expr expr ::= * expr BITAND|BITOR|LSHIFT|RSHIFT expr expr ::= * expr PLUS|MINUS expr expr ::= * expr STAR|SLASH|REM expr expr ::= * expr CONCAT expr expr ::= * expr likeop expr expr ::= * expr likeop expr ESCAPE expr expr ::= * expr ISNULL|NOTNULL expr ::= * expr NOT NULL expr ::= * expr IS expr expr ::= * expr IS NOT expr expr ::= * expr IS NOT DISTINCT FROM expr expr ::= * expr IS DISTINCT FROM expr expr ::= * NOT expr expr ::= * BITNOT expr expr ::= * PLUS|MINUS expr expr ::= * expr PTR expr expr ::= * expr between_op expr AND expr expr ::= * expr in_op LP exprlist RP expr ::= * LP select RP expr ::= LP * select RP expr ::= * expr in_op LP select RP expr ::= * expr in_op nm dbnm paren_exprlist expr ::= * EXISTS LP select RP expr ::= * CASE case_operand case_exprlist case_else END nexprlist ::= * nexprlist COMMA expr nexprlist ::= * expr expr ::= * RAISE LP IGNORE RP expr ::= * RAISE LP raisetype COMMA nm RP NOT shift 111 EXISTS shift 560 LP shift 4 CAST shift 563 ID shift 445 RAISE shift 557 WITH shift 142 CTIME_KW shift-reduce 192 term ::= CTIME_KW PLUS shift 109 MINUS shift 109 BITNOT shift 110 INDEXED shift 445 STRING shift 570 JOIN_KW shift 569 NULL shift-reduce 182 term ::= NULL|FLOAT|BLOB SELECT shift 316 VALUES shift 559 FLOAT shift-reduce 182 term ::= NULL|FLOAT|BLOB BLOB shift-reduce 182 term ::= NULL|FLOAT|BLOB INTEGER shift-reduce 184 term ::= INTEGER VARIABLE shift-reduce 185 expr ::= VARIABLE CASE shift 27 nm shift 568 select shift 517 term shift 51 /* because term==expr */ expr shift 51 selectnowith shift 284 oneselect shift 284 /* because oneselect==selectnowith */ values shift 565 nexprlist shift 518 State 5: select ::= * WITH wqlist selectnowith select ::= * WITH RECURSIVE wqlist selectnowith select ::= * selectnowith selectnowith ::= * oneselect selectnowith ::= * selectnowith multiselect_op oneselect oneselect ::= * SELECT distinct selcollist from where_opt groupby_opt having_opt orderby_opt limit_opt oneselect ::= * SELECT distinct selcollist from where_opt groupby_opt having_opt window_clause orderby_opt limit_opt oneselect ::= * values values ::= * VALUES LP nexprlist RP values ::= * values COMMA LP nexprlist RP stl_prefix ::= * seltablist joinop (108) stl_prefix ::= * seltablist ::= * stl_prefix nm dbnm as on_using seltablist ::= * stl_prefix nm dbnm as indexed_by on_using seltablist ::= * stl_prefix nm dbnm LP exprlist RP as on_using seltablist ::= * stl_prefix LP select RP as on_using seltablist ::= stl_prefix LP * select RP as on_using seltablist ::= * stl_prefix LP seltablist RP as on_using seltablist ::= stl_prefix LP * seltablist RP as on_using WITH shift 142 SELECT shift 316 VALUES shift 559 select shift 523 selectnowith shift 284 oneselect shift 284 /* because oneselect==selectnowith */ values shift 565 seltablist shift 259 stl_prefix shift 226 {default} reduce 108 stl_prefix ::= State 6: nm ::= * ID|INDEXED nm ::= * STRING nm ::= * JOIN_KW expr ::= * term expr ::= * LP expr RP expr ::= * ID|INDEXED expr ::= * JOIN_KW expr ::= * nm DOT nm expr ::= * nm DOT nm DOT nm term ::= * NULL|FLOAT|BLOB term ::= * STRING term ::= * INTEGER expr ::= * VARIABLE expr ::= * expr COLLATE ID|STRING expr ::= * CAST LP expr AS typetoken RP expr ::= * ID|INDEXED LP distinct exprlist RP expr ::= * ID|INDEXED LP STAR RP expr ::= * ID|INDEXED LP distinct exprlist RP filter_over expr ::= * ID|INDEXED LP STAR RP filter_over term ::= * CTIME_KW expr ::= * LP nexprlist COMMA expr RP expr ::= * expr AND expr expr ::= * expr OR expr expr ::= * expr LT|GT|GE|LE expr expr ::= * expr EQ|NE expr expr ::= * expr BITAND|BITOR|LSHIFT|RSHIFT expr expr ::= * expr PLUS|MINUS expr expr ::= * expr STAR|SLASH|REM expr expr ::= * expr CONCAT expr expr ::= * expr likeop expr expr ::= * expr likeop expr ESCAPE expr expr ::= * expr ISNULL|NOTNULL expr ::= * expr NOT NULL expr ::= * expr IS expr expr ::= * expr IS NOT expr expr ::= * expr IS NOT DISTINCT FROM expr expr ::= * expr IS DISTINCT FROM expr expr ::= * NOT expr expr ::= * BITNOT expr expr ::= * PLUS|MINUS expr expr ::= * expr PTR expr expr ::= * expr between_op expr AND expr expr ::= * expr in_op LP exprlist RP expr ::= * LP select RP expr ::= * expr in_op LP select RP expr ::= * expr in_op nm dbnm paren_exprlist expr ::= * EXISTS LP select RP expr ::= * CASE case_operand case_exprlist case_else END expr ::= * RAISE LP IGNORE RP expr ::= * RAISE LP raisetype COMMA nm RP frame_opt ::= range_or_rows * frame_bound_s frame_exclude_opt frame_opt ::= range_or_rows * BETWEEN frame_bound_s AND frame_bound_e frame_exclude_opt frame_bound_s ::= * frame_bound frame_bound_s ::= * UNBOUNDED PRECEDING frame_bound ::= * expr PRECEDING|FOLLOWING frame_bound ::= * CURRENT ROW NOT shift 111 EXISTS shift 560 LP shift 4 CAST shift 563 BETWEEN shift 8 ID shift 445 RAISE shift 557 CURRENT shift 535 UNBOUNDED shift 534 CTIME_KW shift-reduce 192 term ::= CTIME_KW PLUS shift 109 MINUS shift 109 BITNOT shift 110 INDEXED shift 445 STRING shift 570 JOIN_KW shift 569 NULL shift-reduce 182 term ::= NULL|FLOAT|BLOB FLOAT shift-reduce 182 term ::= NULL|FLOAT|BLOB BLOB shift-reduce 182 term ::= NULL|FLOAT|BLOB INTEGER shift-reduce 184 term ::= INTEGER VARIABLE shift-reduce 185 expr ::= VARIABLE CASE shift 27 nm shift 568 term shift 41 /* because term==expr */ expr shift 41 frame_bound shift-reduce 324 frame_bound_s ::= frame_bound frame_bound_s shift 376 State 7: nm ::= * ID|INDEXED nm ::= * STRING nm ::= * JOIN_KW expr ::= * term expr ::= * LP expr RP expr ::= * ID|INDEXED expr ::= * JOIN_KW expr ::= * nm DOT nm expr ::= * nm DOT nm DOT nm term ::= * NULL|FLOAT|BLOB term ::= * STRING term ::= * INTEGER expr ::= * VARIABLE expr ::= * expr COLLATE ID|STRING expr ::= * CAST LP expr AS typetoken RP expr ::= * ID|INDEXED LP distinct exprlist RP expr ::= * ID|INDEXED LP STAR RP expr ::= * ID|INDEXED LP distinct exprlist RP filter_over expr ::= * ID|INDEXED LP STAR RP filter_over term ::= * CTIME_KW expr ::= * LP nexprlist COMMA expr RP expr ::= * expr AND expr expr ::= * expr OR expr expr ::= * expr LT|GT|GE|LE expr expr ::= * expr EQ|NE expr expr ::= * expr BITAND|BITOR|LSHIFT|RSHIFT expr expr ::= * expr PLUS|MINUS expr expr ::= * expr STAR|SLASH|REM expr expr ::= * expr CONCAT expr expr ::= * expr likeop expr expr ::= * expr likeop expr ESCAPE expr expr ::= * expr ISNULL|NOTNULL expr ::= * expr NOT NULL expr ::= * expr IS expr expr ::= * expr IS NOT expr expr ::= * expr IS NOT DISTINCT FROM expr expr ::= * expr IS DISTINCT FROM expr expr ::= * NOT expr expr ::= * BITNOT expr expr ::= * PLUS|MINUS expr expr ::= * expr PTR expr expr ::= * expr between_op expr AND expr expr ::= * expr in_op LP exprlist RP expr ::= * LP select RP expr ::= * expr in_op LP select RP expr ::= * expr in_op nm dbnm paren_exprlist expr ::= * EXISTS LP select RP expr ::= * CASE case_operand case_exprlist case_else END expr ::= * RAISE LP IGNORE RP expr ::= * RAISE LP raisetype COMMA nm RP frame_opt ::= range_or_rows BETWEEN frame_bound_s AND * frame_bound_e frame_exclude_opt frame_bound_e ::= * frame_bound frame_bound_e ::= * UNBOUNDED FOLLOWING frame_bound ::= * expr PRECEDING|FOLLOWING frame_bound ::= * CURRENT ROW NOT shift 111 EXISTS shift 560 LP shift 4 CAST shift 563 ID shift 445 RAISE shift 557 CURRENT shift 535 UNBOUNDED shift 536 CTIME_KW shift-reduce 192 term ::= CTIME_KW PLUS shift 109 MINUS shift 109 BITNOT shift 110 INDEXED shift 445 STRING shift 570 JOIN_KW shift 569 NULL shift-reduce 182 term ::= NULL|FLOAT|BLOB FLOAT shift-reduce 182 term ::= NULL|FLOAT|BLOB BLOB shift-reduce 182 term ::= NULL|FLOAT|BLOB INTEGER shift-reduce 184 term ::= INTEGER VARIABLE shift-reduce 185 expr ::= VARIABLE CASE shift 27 nm shift 568 term shift 41 /* because term==expr */ expr shift 41 frame_bound shift-reduce 326 frame_bound_e ::= frame_bound frame_bound_e shift 375 State 8: nm ::= * ID|INDEXED nm ::= * STRING nm ::= * JOIN_KW expr ::= * term expr ::= * LP expr RP expr ::= * ID|INDEXED expr ::= * JOIN_KW expr ::= * nm DOT nm expr ::= * nm DOT nm DOT nm term ::= * NULL|FLOAT|BLOB term ::= * STRING term ::= * INTEGER expr ::= * VARIABLE expr ::= * expr COLLATE ID|STRING expr ::= * CAST LP expr AS typetoken RP expr ::= * ID|INDEXED LP distinct exprlist RP expr ::= * ID|INDEXED LP STAR RP expr ::= * ID|INDEXED LP distinct exprlist RP filter_over expr ::= * ID|INDEXED LP STAR RP filter_over term ::= * CTIME_KW expr ::= * LP nexprlist COMMA expr RP expr ::= * expr AND expr expr ::= * expr OR expr expr ::= * expr LT|GT|GE|LE expr expr ::= * expr EQ|NE expr expr ::= * expr BITAND|BITOR|LSHIFT|RSHIFT expr expr ::= * expr PLUS|MINUS expr expr ::= * expr STAR|SLASH|REM expr expr ::= * expr CONCAT expr expr ::= * expr likeop expr expr ::= * expr likeop expr ESCAPE expr expr ::= * expr ISNULL|NOTNULL expr ::= * expr NOT NULL expr ::= * expr IS expr expr ::= * expr IS NOT expr expr ::= * expr IS NOT DISTINCT FROM expr expr ::= * expr IS DISTINCT FROM expr expr ::= * NOT expr expr ::= * BITNOT expr expr ::= * PLUS|MINUS expr expr ::= * expr PTR expr expr ::= * expr between_op expr AND expr expr ::= * expr in_op LP exprlist RP expr ::= * LP select RP expr ::= * expr in_op LP select RP expr ::= * expr in_op nm dbnm paren_exprlist expr ::= * EXISTS LP select RP expr ::= * CASE case_operand case_exprlist case_else END expr ::= * RAISE LP IGNORE RP expr ::= * RAISE LP raisetype COMMA nm RP frame_opt ::= range_or_rows BETWEEN * frame_bound_s AND frame_bound_e frame_exclude_opt frame_bound_s ::= * frame_bound frame_bound_s ::= * UNBOUNDED PRECEDING frame_bound ::= * expr PRECEDING|FOLLOWING frame_bound ::= * CURRENT ROW NOT shift 111 EXISTS shift 560 LP shift 4 CAST shift 563 ID shift 445 RAISE shift 557 CURRENT shift 535 UNBOUNDED shift 534 CTIME_KW shift-reduce 192 term ::= CTIME_KW PLUS shift 109 MINUS shift 109 BITNOT shift 110 INDEXED shift 445 STRING shift 570 JOIN_KW shift 569 NULL shift-reduce 182 term ::= NULL|FLOAT|BLOB FLOAT shift-reduce 182 term ::= NULL|FLOAT|BLOB BLOB shift-reduce 182 term ::= NULL|FLOAT|BLOB INTEGER shift-reduce 184 term ::= INTEGER VARIABLE shift-reduce 185 expr ::= VARIABLE CASE shift 27 nm shift 568 term shift 41 /* because term==expr */ expr shift 41 frame_bound shift-reduce 324 frame_bound_s ::= frame_bound frame_bound_s shift 537 State 9: nm ::= * ID|INDEXED nm ::= * STRING nm ::= * JOIN_KW seltablist ::= stl_prefix nm dbnm LP * exprlist RP as on_using expr ::= * term expr ::= * LP expr RP expr ::= * ID|INDEXED expr ::= * JOIN_KW expr ::= * nm DOT nm expr ::= * nm DOT nm DOT nm term ::= * NULL|FLOAT|BLOB term ::= * STRING term ::= * INTEGER expr ::= * VARIABLE expr ::= * expr COLLATE ID|STRING expr ::= * CAST LP expr AS typetoken RP expr ::= * ID|INDEXED LP distinct exprlist RP expr ::= * ID|INDEXED LP STAR RP expr ::= * ID|INDEXED LP distinct exprlist RP filter_over expr ::= * ID|INDEXED LP STAR RP filter_over term ::= * CTIME_KW expr ::= * LP nexprlist COMMA expr RP expr ::= * expr AND expr expr ::= * expr OR expr expr ::= * expr LT|GT|GE|LE expr expr ::= * expr EQ|NE expr expr ::= * expr BITAND|BITOR|LSHIFT|RSHIFT expr expr ::= * expr PLUS|MINUS expr expr ::= * expr STAR|SLASH|REM expr expr ::= * expr CONCAT expr expr ::= * expr likeop expr expr ::= * expr likeop expr ESCAPE expr expr ::= * expr ISNULL|NOTNULL expr ::= * expr NOT NULL expr ::= * expr IS expr expr ::= * expr IS NOT expr expr ::= * expr IS NOT DISTINCT FROM expr expr ::= * expr IS DISTINCT FROM expr expr ::= * NOT expr expr ::= * BITNOT expr expr ::= * PLUS|MINUS expr expr ::= * expr PTR expr expr ::= * expr between_op expr AND expr expr ::= * expr in_op LP exprlist RP expr ::= * LP select RP expr ::= * expr in_op LP select RP expr ::= * expr in_op nm dbnm paren_exprlist expr ::= * EXISTS LP select RP expr ::= * CASE case_operand case_exprlist case_else END exprlist ::= * nexprlist (232) exprlist ::= * nexprlist ::= * nexprlist COMMA expr nexprlist ::= * expr expr ::= * RAISE LP IGNORE RP expr ::= * RAISE LP raisetype COMMA nm RP NOT shift 111 EXISTS shift 560 LP shift 4 CAST shift 563 ID shift 445 RAISE shift 557 CTIME_KW shift-reduce 192 term ::= CTIME_KW PLUS shift 109 MINUS shift 109 BITNOT shift 110 INDEXED shift 445 STRING shift 570 JOIN_KW shift 569 NULL shift-reduce 182 term ::= NULL|FLOAT|BLOB FLOAT shift-reduce 182 term ::= NULL|FLOAT|BLOB BLOB shift-reduce 182 term ::= NULL|FLOAT|BLOB INTEGER shift-reduce 184 term ::= INTEGER VARIABLE shift-reduce 185 expr ::= VARIABLE CASE shift 27 nm shift 568 term shift 71 /* because term==expr */ expr shift 71 nexprlist shift 550 exprlist shift 524 {default} reduce 232 exprlist ::= State 10: nm ::= * ID|INDEXED nm ::= * STRING nm ::= * JOIN_KW expr ::= * term expr ::= * LP expr RP expr ::= * ID|INDEXED expr ::= * JOIN_KW expr ::= * nm DOT nm expr ::= * nm DOT nm DOT nm term ::= * NULL|FLOAT|BLOB term ::= * STRING term ::= * INTEGER expr ::= * VARIABLE expr ::= * expr COLLATE ID|STRING expr ::= * CAST LP expr AS typetoken RP expr ::= * ID|INDEXED LP distinct exprlist RP expr ::= * ID|INDEXED LP STAR RP expr ::= * ID|INDEXED LP distinct exprlist RP filter_over expr ::= * ID|INDEXED LP STAR RP filter_over term ::= * CTIME_KW expr ::= * LP nexprlist COMMA expr RP expr ::= * expr AND expr expr ::= * expr OR expr expr ::= * expr LT|GT|GE|LE expr expr ::= * expr EQ|NE expr expr ::= * expr BITAND|BITOR|LSHIFT|RSHIFT expr expr ::= * expr PLUS|MINUS expr expr ::= * expr STAR|SLASH|REM expr expr ::= * expr CONCAT expr expr ::= * expr likeop expr expr ::= * expr likeop expr ESCAPE expr expr ::= * expr ISNULL|NOTNULL expr ::= * expr NOT NULL expr ::= * expr IS expr expr ::= * expr IS NOT expr expr ::= * expr IS NOT DISTINCT FROM expr expr ::= * expr IS DISTINCT FROM expr expr ::= * NOT expr expr ::= * BITNOT expr expr ::= * PLUS|MINUS expr expr ::= * expr PTR expr expr ::= * expr between_op expr AND expr expr ::= * expr in_op LP exprlist RP expr ::= * LP select RP expr ::= * expr in_op LP select RP expr ::= * expr in_op nm dbnm paren_exprlist expr ::= * EXISTS LP select RP expr ::= * CASE case_operand case_exprlist case_else END exprlist ::= * nexprlist (232) exprlist ::= * nexprlist ::= * nexprlist COMMA expr nexprlist ::= * expr paren_exprlist ::= LP * exprlist RP expr ::= * RAISE LP IGNORE RP expr ::= * RAISE LP raisetype COMMA nm RP NOT shift 111 EXISTS shift 560 LP shift 4 CAST shift 563 ID shift 445 RAISE shift 557 CTIME_KW shift-reduce 192 term ::= CTIME_KW PLUS shift 109 MINUS shift 109 BITNOT shift 110 INDEXED shift 445 STRING shift 570 JOIN_KW shift 569 NULL shift-reduce 182 term ::= NULL|FLOAT|BLOB FLOAT shift-reduce 182 term ::= NULL|FLOAT|BLOB BLOB shift-reduce 182 term ::= NULL|FLOAT|BLOB INTEGER shift-reduce 184 term ::= INTEGER VARIABLE shift-reduce 185 expr ::= VARIABLE CASE shift 27 nm shift 568 term shift 71 /* because term==expr */ expr shift 71 nexprlist shift 550 exprlist shift 549 {default} reduce 232 exprlist ::= State 11: nm ::= * ID|INDEXED nm ::= * STRING nm ::= * JOIN_KW expr ::= * term expr ::= * LP expr RP expr ::= * ID|INDEXED expr ::= * JOIN_KW expr ::= * nm DOT nm expr ::= * nm DOT nm DOT nm term ::= * NULL|FLOAT|BLOB term ::= * STRING term ::= * INTEGER expr ::= * VARIABLE expr ::= * expr COLLATE ID|STRING expr ::= * CAST LP expr AS typetoken RP expr ::= * ID|INDEXED LP distinct exprlist RP expr ::= ID|INDEXED LP distinct * exprlist RP expr ::= * ID|INDEXED LP STAR RP expr ::= * ID|INDEXED LP distinct exprlist RP filter_over expr ::= ID|INDEXED LP distinct * exprlist RP filter_over expr ::= * ID|INDEXED LP STAR RP filter_over term ::= * CTIME_KW expr ::= * LP nexprlist COMMA expr RP expr ::= * expr AND expr expr ::= * expr OR expr expr ::= * expr LT|GT|GE|LE expr expr ::= * expr EQ|NE expr expr ::= * expr BITAND|BITOR|LSHIFT|RSHIFT expr expr ::= * expr PLUS|MINUS expr expr ::= * expr STAR|SLASH|REM expr expr ::= * expr CONCAT expr expr ::= * expr likeop expr expr ::= * expr likeop expr ESCAPE expr expr ::= * expr ISNULL|NOTNULL expr ::= * expr NOT NULL expr ::= * expr IS expr expr ::= * expr IS NOT expr expr ::= * expr IS NOT DISTINCT FROM expr expr ::= * expr IS DISTINCT FROM expr expr ::= * NOT expr expr ::= * BITNOT expr expr ::= * PLUS|MINUS expr expr ::= * expr PTR expr expr ::= * expr between_op expr AND expr expr ::= * expr in_op LP exprlist RP expr ::= * LP select RP expr ::= * expr in_op LP select RP expr ::= * expr in_op nm dbnm paren_exprlist expr ::= * EXISTS LP select RP expr ::= * CASE case_operand case_exprlist case_else END exprlist ::= * nexprlist (232) exprlist ::= * nexprlist ::= * nexprlist COMMA expr nexprlist ::= * expr expr ::= * RAISE LP IGNORE RP expr ::= * RAISE LP raisetype COMMA nm RP NOT shift 111 EXISTS shift 560 LP shift 4 CAST shift 563 ID shift 445 RAISE shift 557 CTIME_KW shift-reduce 192 term ::= CTIME_KW PLUS shift 109 MINUS shift 109 BITNOT shift 110 INDEXED shift 445 STRING shift 570 JOIN_KW shift 569 NULL shift-reduce 182 term ::= NULL|FLOAT|BLOB FLOAT shift-reduce 182 term ::= NULL|FLOAT|BLOB BLOB shift-reduce 182 term ::= NULL|FLOAT|BLOB INTEGER shift-reduce 184 term ::= INTEGER VARIABLE shift-reduce 185 expr ::= VARIABLE CASE shift 27 nm shift 568 term shift 71 /* because term==expr */ expr shift 71 nexprlist shift 550 exprlist shift 516 {default} reduce 232 exprlist ::= State 12: select ::= * WITH wqlist selectnowith select ::= * WITH RECURSIVE wqlist selectnowith select ::= * selectnowith selectnowith ::= * oneselect selectnowith ::= * selectnowith multiselect_op oneselect oneselect ::= * SELECT distinct selcollist from where_opt groupby_opt having_opt orderby_opt limit_opt oneselect ::= * SELECT distinct selcollist from where_opt groupby_opt having_opt window_clause orderby_opt limit_opt oneselect ::= * values values ::= * VALUES LP nexprlist RP values ::= * values COMMA LP nexprlist RP insert_cmd ::= * INSERT orconf insert_cmd ::= * REPLACE trigger_cmd ::= scanpt * insert_cmd INTO trnm idlist_opt select upsert scanpt trigger_cmd ::= scanpt * select scanpt REPLACE shift-reduce 172 insert_cmd ::= REPLACE WITH shift 142 INSERT shift 340 SELECT shift 316 VALUES shift 559 select shift 399 selectnowith shift 284 oneselect shift 284 /* because oneselect==selectnowith */ values shift 565 insert_cmd shift 472 State 13: sortlist ::= expr * sortorder nulls sortorder ::= * ASC sortorder ::= * DESC (138) sortorder ::= * expr ::= expr * COLLATE ID|STRING expr ::= expr * AND expr expr ::= expr * OR expr expr ::= expr * LT|GT|GE|LE expr expr ::= expr * EQ|NE expr expr ::= expr * BITAND|BITOR|LSHIFT|RSHIFT expr expr ::= expr * PLUS|MINUS expr expr ::= expr * STAR|SLASH|REM expr expr ::= expr * CONCAT expr likeop ::= * LIKE_KW|MATCH likeop ::= * NOT LIKE_KW|MATCH expr ::= expr * likeop expr expr ::= expr * likeop expr ESCAPE expr expr ::= expr * ISNULL|NOTNULL expr ::= expr * NOT NULL expr ::= expr * IS expr expr ::= expr * IS NOT expr expr ::= expr * IS NOT DISTINCT FROM expr expr ::= expr * IS DISTINCT FROM expr expr ::= expr * PTR expr between_op ::= * BETWEEN between_op ::= * NOT BETWEEN expr ::= expr * between_op expr AND expr in_op ::= * IN in_op ::= * NOT IN expr ::= expr * in_op LP exprlist RP expr ::= expr * in_op LP select RP expr ::= expr * in_op nm dbnm paren_exprlist NOT shift 409 ASC shift-reduce 136 sortorder ::= ASC DESC shift-reduce 137 sortorder ::= DESC OR shift 125 AND shift 126 IS shift 80 MATCH shift-reduce 382 likeop ::= LIKE_KW|MATCH LIKE_KW shift-reduce 382 likeop ::= LIKE_KW|MATCH BETWEEN shift-reduce 215 between_op ::= BETWEEN IN shift-reduce 218 in_op ::= IN ISNULL shift-reduce 205 expr ::= expr ISNULL|NOTNULL NOTNULL shift-reduce 205 expr ::= expr ISNULL|NOTNULL NE shift 123 EQ shift 123 GT shift 124 LE shift 124 LT shift 124 GE shift 124 BITAND shift 122 BITOR shift 122 LSHIFT shift 122 RSHIFT shift 122 PLUS shift 121 MINUS shift 121 STAR shift 120 SLASH shift 120 REM shift 120 CONCAT shift 119 PTR shift 116 COLLATE shift 444 sortorder shift 377 likeop shift 118 between_op shift 115 in_op shift 229 {default} reduce 138 sortorder ::= State 14: sortlist ::= sortlist COMMA expr * sortorder nulls sortorder ::= * ASC sortorder ::= * DESC (138) sortorder ::= * expr ::= expr * COLLATE ID|STRING expr ::= expr * AND expr expr ::= expr * OR expr expr ::= expr * LT|GT|GE|LE expr expr ::= expr * EQ|NE expr expr ::= expr * BITAND|BITOR|LSHIFT|RSHIFT expr expr ::= expr * PLUS|MINUS expr expr ::= expr * STAR|SLASH|REM expr expr ::= expr * CONCAT expr likeop ::= * LIKE_KW|MATCH likeop ::= * NOT LIKE_KW|MATCH expr ::= expr * likeop expr expr ::= expr * likeop expr ESCAPE expr expr ::= expr * ISNULL|NOTNULL expr ::= expr * NOT NULL expr ::= expr * IS expr expr ::= expr * IS NOT expr expr ::= expr * IS NOT DISTINCT FROM expr expr ::= expr * IS DISTINCT FROM expr expr ::= expr * PTR expr between_op ::= * BETWEEN between_op ::= * NOT BETWEEN expr ::= expr * between_op expr AND expr in_op ::= * IN in_op ::= * NOT IN expr ::= expr * in_op LP exprlist RP expr ::= expr * in_op LP select RP expr ::= expr * in_op nm dbnm paren_exprlist NOT shift 409 ASC shift-reduce 136 sortorder ::= ASC DESC shift-reduce 137 sortorder ::= DESC OR shift 125 AND shift 126 IS shift 80 MATCH shift-reduce 382 likeop ::= LIKE_KW|MATCH LIKE_KW shift-reduce 382 likeop ::= LIKE_KW|MATCH BETWEEN shift-reduce 215 between_op ::= BETWEEN IN shift-reduce 218 in_op ::= IN ISNULL shift-reduce 205 expr ::= expr ISNULL|NOTNULL NOTNULL shift-reduce 205 expr ::= expr ISNULL|NOTNULL NE shift 123 EQ shift 123 GT shift 124 LE shift 124 LT shift 124 GE shift 124 BITAND shift 122 BITOR shift 122 LSHIFT shift 122 RSHIFT shift 122 PLUS shift 121 MINUS shift 121 STAR shift 120 SLASH shift 120 REM shift 120 CONCAT shift 119 PTR shift 116 COLLATE shift 444 sortorder shift 378 likeop shift 118 between_op shift 115 in_op shift 229 {default} reduce 138 sortorder ::= State 15: expr ::= expr * COLLATE ID|STRING expr ::= expr * AND expr expr ::= expr * OR expr expr ::= expr * LT|GT|GE|LE expr expr ::= expr * EQ|NE expr expr ::= expr * BITAND|BITOR|LSHIFT|RSHIFT expr expr ::= expr * PLUS|MINUS expr expr ::= expr * STAR|SLASH|REM expr expr ::= expr * CONCAT expr likeop ::= * LIKE_KW|MATCH likeop ::= * NOT LIKE_KW|MATCH expr ::= expr * likeop expr expr ::= expr * likeop expr ESCAPE expr expr ::= expr * ISNULL|NOTNULL expr ::= expr * NOT NULL expr ::= expr * IS expr expr ::= expr * IS NOT expr expr ::= expr * IS NOT DISTINCT FROM expr expr ::= expr * IS DISTINCT FROM expr expr ::= expr * PTR expr between_op ::= * BETWEEN between_op ::= * NOT BETWEEN expr ::= expr * between_op expr AND expr in_op ::= * IN in_op ::= * NOT IN expr ::= expr * in_op LP exprlist RP expr ::= expr * in_op LP select RP expr ::= expr * in_op nm dbnm paren_exprlist cmd ::= ATTACH database_kw_opt expr AS expr * key_opt (285) key_opt ::= * key_opt ::= * KEY expr NOT shift 409 OR shift 125 AND shift 126 IS shift 80 MATCH shift-reduce 382 likeop ::= LIKE_KW|MATCH LIKE_KW shift-reduce 382 likeop ::= LIKE_KW|MATCH BETWEEN shift-reduce 215 between_op ::= BETWEEN IN shift-reduce 218 in_op ::= IN ISNULL shift-reduce 205 expr ::= expr ISNULL|NOTNULL NOTNULL shift-reduce 205 expr ::= expr ISNULL|NOTNULL NE shift 123 EQ shift 123 GT shift 124 LE shift 124 LT shift 124 GE shift 124 KEY shift 82 BITAND shift 122 BITOR shift 122 LSHIFT shift 122 RSHIFT shift 122 PLUS shift 121 MINUS shift 121 STAR shift 120 SLASH shift 120 REM shift 120 CONCAT shift 119 PTR shift 116 COLLATE shift 444 likeop shift 118 between_op shift 115 in_op shift 229 key_opt shift-reduce 283 cmd ::= ATTACH database_kw_opt expr AS expr key_opt {default} reduce 285 key_opt ::= State 16: (30) scanpt ::= * selcollist ::= sclp scanpt expr * scanpt as expr ::= expr * COLLATE ID|STRING expr ::= expr * AND expr expr ::= expr * OR expr expr ::= expr * LT|GT|GE|LE expr expr ::= expr * EQ|NE expr expr ::= expr * BITAND|BITOR|LSHIFT|RSHIFT expr expr ::= expr * PLUS|MINUS expr expr ::= expr * STAR|SLASH|REM expr expr ::= expr * CONCAT expr likeop ::= * LIKE_KW|MATCH likeop ::= * NOT LIKE_KW|MATCH expr ::= expr * likeop expr expr ::= expr * likeop expr ESCAPE expr expr ::= expr * ISNULL|NOTNULL expr ::= expr * NOT NULL expr ::= expr * IS expr expr ::= expr * IS NOT expr expr ::= expr * IS NOT DISTINCT FROM expr expr ::= expr * IS DISTINCT FROM expr expr ::= expr * PTR expr between_op ::= * BETWEEN between_op ::= * NOT BETWEEN expr ::= expr * between_op expr AND expr in_op ::= * IN in_op ::= * NOT IN expr ::= expr * in_op LP exprlist RP expr ::= expr * in_op LP select RP expr ::= expr * in_op nm dbnm paren_exprlist NOT shift 409 OR shift 125 AND shift 126 IS shift 80 MATCH shift-reduce 382 likeop ::= LIKE_KW|MATCH LIKE_KW shift-reduce 382 likeop ::= LIKE_KW|MATCH BETWEEN shift-reduce 215 between_op ::= BETWEEN IN shift-reduce 218 in_op ::= IN ISNULL shift-reduce 205 expr ::= expr ISNULL|NOTNULL NOTNULL shift-reduce 205 expr ::= expr ISNULL|NOTNULL NE shift 123 EQ shift 123 GT shift 124 LE shift 124 LT shift 124 GE shift 124 BITAND shift 122 BITOR shift 122 LSHIFT shift 122 RSHIFT shift 122 PLUS shift 121 MINUS shift 121 STAR shift 120 SLASH shift 120 REM shift 120 CONCAT shift 119 PTR shift 116 COLLATE shift 444 scanpt shift 279 likeop shift 118 between_op shift 115 in_op shift 229 {default} reduce 30 scanpt ::= State 17: nm ::= * ID|INDEXED nm ::= * STRING nm ::= * JOIN_KW sortlist ::= * sortlist COMMA expr sortorder nulls sortlist ::= * expr sortorder nulls upsert ::= ON CONFLICT LP * sortlist RP where_opt DO UPDATE SET setlist where_opt upsert upsert ::= ON CONFLICT LP * sortlist RP where_opt DO NOTHING upsert expr ::= * term expr ::= * LP expr RP expr ::= * ID|INDEXED expr ::= * JOIN_KW expr ::= * nm DOT nm expr ::= * nm DOT nm DOT nm term ::= * NULL|FLOAT|BLOB term ::= * STRING term ::= * INTEGER expr ::= * VARIABLE expr ::= * expr COLLATE ID|STRING expr ::= * CAST LP expr AS typetoken RP expr ::= * ID|INDEXED LP distinct exprlist RP expr ::= * ID|INDEXED LP STAR RP expr ::= * ID|INDEXED LP distinct exprlist RP filter_over expr ::= * ID|INDEXED LP STAR RP filter_over term ::= * CTIME_KW expr ::= * LP nexprlist COMMA expr RP expr ::= * expr AND expr expr ::= * expr OR expr expr ::= * expr LT|GT|GE|LE expr expr ::= * expr EQ|NE expr expr ::= * expr BITAND|BITOR|LSHIFT|RSHIFT expr expr ::= * expr PLUS|MINUS expr expr ::= * expr STAR|SLASH|REM expr expr ::= * expr CONCAT expr expr ::= * expr likeop expr expr ::= * expr likeop expr ESCAPE expr expr ::= * expr ISNULL|NOTNULL expr ::= * expr NOT NULL expr ::= * expr IS expr expr ::= * expr IS NOT expr expr ::= * expr IS NOT DISTINCT FROM expr expr ::= * expr IS DISTINCT FROM expr expr ::= * NOT expr expr ::= * BITNOT expr expr ::= * PLUS|MINUS expr expr ::= * expr PTR expr expr ::= * expr between_op expr AND expr expr ::= * expr in_op LP exprlist RP expr ::= * LP select RP expr ::= * expr in_op LP select RP expr ::= * expr in_op nm dbnm paren_exprlist expr ::= * EXISTS LP select RP expr ::= * CASE case_operand case_exprlist case_else END expr ::= * RAISE LP IGNORE RP expr ::= * RAISE LP raisetype COMMA nm RP NOT shift 111 EXISTS shift 560 LP shift 4 CAST shift 563 ID shift 445 RAISE shift 557 CTIME_KW shift-reduce 192 term ::= CTIME_KW PLUS shift 109 MINUS shift 109 BITNOT shift 110 INDEXED shift 445 STRING shift 570 JOIN_KW shift 569 NULL shift-reduce 182 term ::= NULL|FLOAT|BLOB FLOAT shift-reduce 182 term ::= NULL|FLOAT|BLOB BLOB shift-reduce 182 term ::= NULL|FLOAT|BLOB INTEGER shift-reduce 184 term ::= INTEGER VARIABLE shift-reduce 185 expr ::= VARIABLE CASE shift 27 nm shift 568 term shift 13 /* because term==expr */ expr shift 13 sortlist shift 422 State 18: nm ::= * ID|INDEXED nm ::= * STRING nm ::= * JOIN_KW sortlist ::= * sortlist COMMA expr sortorder nulls sortlist ::= * expr sortorder nulls expr ::= * term expr ::= * LP expr RP expr ::= * ID|INDEXED expr ::= * JOIN_KW expr ::= * nm DOT nm expr ::= * nm DOT nm DOT nm term ::= * NULL|FLOAT|BLOB term ::= * STRING term ::= * INTEGER expr ::= * VARIABLE expr ::= * expr COLLATE ID|STRING expr ::= * CAST LP expr AS typetoken RP expr ::= * ID|INDEXED LP distinct exprlist RP expr ::= * ID|INDEXED LP STAR RP expr ::= * ID|INDEXED LP distinct exprlist RP filter_over expr ::= * ID|INDEXED LP STAR RP filter_over term ::= * CTIME_KW expr ::= * LP nexprlist COMMA expr RP expr ::= * expr AND expr expr ::= * expr OR expr expr ::= * expr LT|GT|GE|LE expr expr ::= * expr EQ|NE expr expr ::= * expr BITAND|BITOR|LSHIFT|RSHIFT expr expr ::= * expr PLUS|MINUS expr expr ::= * expr STAR|SLASH|REM expr expr ::= * expr CONCAT expr expr ::= * expr likeop expr expr ::= * expr likeop expr ESCAPE expr expr ::= * expr ISNULL|NOTNULL expr ::= * expr NOT NULL expr ::= * expr IS expr expr ::= * expr IS NOT expr expr ::= * expr IS NOT DISTINCT FROM expr expr ::= * expr IS DISTINCT FROM expr expr ::= * NOT expr expr ::= * BITNOT expr expr ::= * PLUS|MINUS expr expr ::= * expr PTR expr expr ::= * expr between_op expr AND expr expr ::= * expr in_op LP exprlist RP expr ::= * LP select RP expr ::= * expr in_op LP select RP expr ::= * expr in_op nm dbnm paren_exprlist expr ::= * EXISTS LP select RP expr ::= * CASE case_operand case_exprlist case_else END cmd ::= createkw uniqueflag INDEX ifnotexists nm dbnm ON nm LP * sortlist RP where_opt expr ::= * RAISE LP IGNORE RP expr ::= * RAISE LP raisetype COMMA nm RP NOT shift 111 EXISTS shift 560 LP shift 4 CAST shift 563 ID shift 445 RAISE shift 557 CTIME_KW shift-reduce 192 term ::= CTIME_KW PLUS shift 109 MINUS shift 109 BITNOT shift 110 INDEXED shift 445 STRING shift 570 JOIN_KW shift 569 NULL shift-reduce 182 term ::= NULL|FLOAT|BLOB FLOAT shift-reduce 182 term ::= NULL|FLOAT|BLOB BLOB shift-reduce 182 term ::= NULL|FLOAT|BLOB INTEGER shift-reduce 184 term ::= INTEGER VARIABLE shift-reduce 185 expr ::= VARIABLE CASE shift 27 nm shift 568 term shift 13 /* because term==expr */ expr shift 13 sortlist shift 427 State 19: nm ::= * ID|INDEXED nm ::= * STRING nm ::= * JOIN_KW tcons ::= UNIQUE LP * sortlist RP onconf sortlist ::= * sortlist COMMA expr sortorder nulls sortlist ::= * expr sortorder nulls expr ::= * term expr ::= * LP expr RP expr ::= * ID|INDEXED expr ::= * JOIN_KW expr ::= * nm DOT nm expr ::= * nm DOT nm DOT nm term ::= * NULL|FLOAT|BLOB term ::= * STRING term ::= * INTEGER expr ::= * VARIABLE expr ::= * expr COLLATE ID|STRING expr ::= * CAST LP expr AS typetoken RP expr ::= * ID|INDEXED LP distinct exprlist RP expr ::= * ID|INDEXED LP STAR RP expr ::= * ID|INDEXED LP distinct exprlist RP filter_over expr ::= * ID|INDEXED LP STAR RP filter_over term ::= * CTIME_KW expr ::= * LP nexprlist COMMA expr RP expr ::= * expr AND expr expr ::= * expr OR expr expr ::= * expr LT|GT|GE|LE expr expr ::= * expr EQ|NE expr expr ::= * expr BITAND|BITOR|LSHIFT|RSHIFT expr expr ::= * expr PLUS|MINUS expr expr ::= * expr STAR|SLASH|REM expr expr ::= * expr CONCAT expr expr ::= * expr likeop expr expr ::= * expr likeop expr ESCAPE expr expr ::= * expr ISNULL|NOTNULL expr ::= * expr NOT NULL expr ::= * expr IS expr expr ::= * expr IS NOT expr expr ::= * expr IS NOT DISTINCT FROM expr expr ::= * expr IS DISTINCT FROM expr expr ::= * NOT expr expr ::= * BITNOT expr expr ::= * PLUS|MINUS expr expr ::= * expr PTR expr expr ::= * expr between_op expr AND expr expr ::= * expr in_op LP exprlist RP expr ::= * LP select RP expr ::= * expr in_op LP select RP expr ::= * expr in_op nm dbnm paren_exprlist expr ::= * EXISTS LP select RP expr ::= * CASE case_operand case_exprlist case_else END expr ::= * RAISE LP IGNORE RP expr ::= * RAISE LP raisetype COMMA nm RP NOT shift 111 EXISTS shift 560 LP shift 4 CAST shift 563 ID shift 445 RAISE shift 557 CTIME_KW shift-reduce 192 term ::= CTIME_KW PLUS shift 109 MINUS shift 109 BITNOT shift 110 INDEXED shift 445 STRING shift 570 JOIN_KW shift 569 NULL shift-reduce 182 term ::= NULL|FLOAT|BLOB FLOAT shift-reduce 182 term ::= NULL|FLOAT|BLOB BLOB shift-reduce 182 term ::= NULL|FLOAT|BLOB INTEGER shift-reduce 184 term ::= INTEGER VARIABLE shift-reduce 185 expr ::= VARIABLE CASE shift 27 nm shift 568 term shift 13 /* because term==expr */ expr shift 13 sortlist shift 429 State 20: nm ::= * ID|INDEXED nm ::= * STRING nm ::= * JOIN_KW tcons ::= PRIMARY KEY LP * sortlist autoinc RP onconf sortlist ::= * sortlist COMMA expr sortorder nulls sortlist ::= * expr sortorder nulls expr ::= * term expr ::= * LP expr RP expr ::= * ID|INDEXED expr ::= * JOIN_KW expr ::= * nm DOT nm expr ::= * nm DOT nm DOT nm term ::= * NULL|FLOAT|BLOB term ::= * STRING term ::= * INTEGER expr ::= * VARIABLE expr ::= * expr COLLATE ID|STRING expr ::= * CAST LP expr AS typetoken RP expr ::= * ID|INDEXED LP distinct exprlist RP expr ::= * ID|INDEXED LP STAR RP expr ::= * ID|INDEXED LP distinct exprlist RP filter_over expr ::= * ID|INDEXED LP STAR RP filter_over term ::= * CTIME_KW expr ::= * LP nexprlist COMMA expr RP expr ::= * expr AND expr expr ::= * expr OR expr expr ::= * expr LT|GT|GE|LE expr expr ::= * expr EQ|NE expr expr ::= * expr BITAND|BITOR|LSHIFT|RSHIFT expr expr ::= * expr PLUS|MINUS expr expr ::= * expr STAR|SLASH|REM expr expr ::= * expr CONCAT expr expr ::= * expr likeop expr expr ::= * expr likeop expr ESCAPE expr expr ::= * expr ISNULL|NOTNULL expr ::= * expr NOT NULL expr ::= * expr IS expr expr ::= * expr IS NOT expr expr ::= * expr IS NOT DISTINCT FROM expr expr ::= * expr IS DISTINCT FROM expr expr ::= * NOT expr expr ::= * BITNOT expr expr ::= * PLUS|MINUS expr expr ::= * expr PTR expr expr ::= * expr between_op expr AND expr expr ::= * expr in_op LP exprlist RP expr ::= * LP select RP expr ::= * expr in_op LP select RP expr ::= * expr in_op nm dbnm paren_exprlist expr ::= * EXISTS LP select RP expr ::= * CASE case_operand case_exprlist case_else END expr ::= * RAISE LP IGNORE RP expr ::= * RAISE LP raisetype COMMA nm RP NOT shift 111 EXISTS shift 560 LP shift 4 CAST shift 563 ID shift 445 RAISE shift 557 CTIME_KW shift-reduce 192 term ::= CTIME_KW PLUS shift 109 MINUS shift 109 BITNOT shift 110 INDEXED shift 445 STRING shift 570 JOIN_KW shift 569 NULL shift-reduce 182 term ::= NULL|FLOAT|BLOB FLOAT shift-reduce 182 term ::= NULL|FLOAT|BLOB BLOB shift-reduce 182 term ::= NULL|FLOAT|BLOB INTEGER shift-reduce 184 term ::= INTEGER VARIABLE shift-reduce 185 expr ::= VARIABLE CASE shift 27 nm shift 568 term shift 13 /* because term==expr */ expr shift 13 sortlist shift 302 State 21: nm ::= * ID|INDEXED nm ::= * STRING nm ::= * JOIN_KW groupby_opt ::= GROUP BY * nexprlist expr ::= * term expr ::= * LP expr RP expr ::= * ID|INDEXED expr ::= * JOIN_KW expr ::= * nm DOT nm expr ::= * nm DOT nm DOT nm term ::= * NULL|FLOAT|BLOB term ::= * STRING term ::= * INTEGER expr ::= * VARIABLE expr ::= * expr COLLATE ID|STRING expr ::= * CAST LP expr AS typetoken RP expr ::= * ID|INDEXED LP distinct exprlist RP expr ::= * ID|INDEXED LP STAR RP expr ::= * ID|INDEXED LP distinct exprlist RP filter_over expr ::= * ID|INDEXED LP STAR RP filter_over term ::= * CTIME_KW expr ::= * LP nexprlist COMMA expr RP expr ::= * expr AND expr expr ::= * expr OR expr expr ::= * expr LT|GT|GE|LE expr expr ::= * expr EQ|NE expr expr ::= * expr BITAND|BITOR|LSHIFT|RSHIFT expr expr ::= * expr PLUS|MINUS expr expr ::= * expr STAR|SLASH|REM expr expr ::= * expr CONCAT expr expr ::= * expr likeop expr expr ::= * expr likeop expr ESCAPE expr expr ::= * expr ISNULL|NOTNULL expr ::= * expr NOT NULL expr ::= * expr IS expr expr ::= * expr IS NOT expr expr ::= * expr IS NOT DISTINCT FROM expr expr ::= * expr IS DISTINCT FROM expr expr ::= * NOT expr expr ::= * BITNOT expr expr ::= * PLUS|MINUS expr expr ::= * expr PTR expr expr ::= * expr between_op expr AND expr expr ::= * expr in_op LP exprlist RP expr ::= * LP select RP expr ::= * expr in_op LP select RP expr ::= * expr in_op nm dbnm paren_exprlist expr ::= * EXISTS LP select RP expr ::= * CASE case_operand case_exprlist case_else END nexprlist ::= * nexprlist COMMA expr nexprlist ::= * expr expr ::= * RAISE LP IGNORE RP expr ::= * RAISE LP raisetype COMMA nm RP NOT shift 111 EXISTS shift 560 LP shift 4 CAST shift 563 ID shift 445 RAISE shift 557 CTIME_KW shift-reduce 192 term ::= CTIME_KW PLUS shift 109 MINUS shift 109 BITNOT shift 110 INDEXED shift 445 STRING shift 570 JOIN_KW shift 569 NULL shift-reduce 182 term ::= NULL|FLOAT|BLOB FLOAT shift-reduce 182 term ::= NULL|FLOAT|BLOB BLOB shift-reduce 182 term ::= NULL|FLOAT|BLOB INTEGER shift-reduce 184 term ::= INTEGER VARIABLE shift-reduce 185 expr ::= VARIABLE CASE shift 27 nm shift 568 term shift 71 /* because term==expr */ expr shift 71 nexprlist shift 529 State 22: nm ::= * ID|INDEXED nm ::= * STRING nm ::= * JOIN_KW sortlist ::= * sortlist COMMA expr sortorder nulls sortlist ::= * expr sortorder nulls expr ::= * term expr ::= * LP expr RP expr ::= * ID|INDEXED expr ::= * JOIN_KW expr ::= * nm DOT nm expr ::= * nm DOT nm DOT nm term ::= * NULL|FLOAT|BLOB term ::= * STRING term ::= * INTEGER expr ::= * VARIABLE expr ::= * expr COLLATE ID|STRING expr ::= * CAST LP expr AS typetoken RP expr ::= * ID|INDEXED LP distinct exprlist RP expr ::= * ID|INDEXED LP STAR RP expr ::= * ID|INDEXED LP distinct exprlist RP filter_over expr ::= * ID|INDEXED LP STAR RP filter_over term ::= * CTIME_KW expr ::= * LP nexprlist COMMA expr RP expr ::= * expr AND expr expr ::= * expr OR expr expr ::= * expr LT|GT|GE|LE expr expr ::= * expr EQ|NE expr expr ::= * expr BITAND|BITOR|LSHIFT|RSHIFT expr expr ::= * expr PLUS|MINUS expr expr ::= * expr STAR|SLASH|REM expr expr ::= * expr CONCAT expr expr ::= * expr likeop expr expr ::= * expr likeop expr ESCAPE expr expr ::= * expr ISNULL|NOTNULL expr ::= * expr NOT NULL expr ::= * expr IS expr expr ::= * expr IS NOT expr expr ::= * expr IS NOT DISTINCT FROM expr expr ::= * expr IS DISTINCT FROM expr expr ::= * NOT expr expr ::= * BITNOT expr expr ::= * PLUS|MINUS expr expr ::= * expr PTR expr expr ::= * expr between_op expr AND expr expr ::= * expr in_op LP exprlist RP expr ::= * LP select RP expr ::= * expr in_op LP select RP expr ::= * expr in_op nm dbnm paren_exprlist expr ::= * EXISTS LP select RP expr ::= * CASE case_operand case_exprlist case_else END expr ::= * RAISE LP IGNORE RP expr ::= * RAISE LP raisetype COMMA nm RP window ::= ORDER BY * sortlist frame_opt NOT shift 111 EXISTS shift 560 LP shift 4 CAST shift 563 ID shift 445 RAISE shift 557 CTIME_KW shift-reduce 192 term ::= CTIME_KW PLUS shift 109 MINUS shift 109 BITNOT shift 110 INDEXED shift 445 STRING shift 570 JOIN_KW shift 569 NULL shift-reduce 182 term ::= NULL|FLOAT|BLOB FLOAT shift-reduce 182 term ::= NULL|FLOAT|BLOB BLOB shift-reduce 182 term ::= NULL|FLOAT|BLOB INTEGER shift-reduce 184 term ::= INTEGER VARIABLE shift-reduce 185 expr ::= VARIABLE CASE shift 27 nm shift 568 term shift 13 /* because term==expr */ expr shift 13 sortlist shift 200 State 23: nm ::= * ID|INDEXED nm ::= * STRING nm ::= * JOIN_KW sortlist ::= * sortlist COMMA expr sortorder nulls sortlist ::= * expr sortorder nulls expr ::= * term expr ::= * LP expr RP expr ::= * ID|INDEXED expr ::= * JOIN_KW expr ::= * nm DOT nm expr ::= * nm DOT nm DOT nm term ::= * NULL|FLOAT|BLOB term ::= * STRING term ::= * INTEGER expr ::= * VARIABLE expr ::= * expr COLLATE ID|STRING expr ::= * CAST LP expr AS typetoken RP expr ::= * ID|INDEXED LP distinct exprlist RP expr ::= * ID|INDEXED LP STAR RP expr ::= * ID|INDEXED LP distinct exprlist RP filter_over expr ::= * ID|INDEXED LP STAR RP filter_over term ::= * CTIME_KW expr ::= * LP nexprlist COMMA expr RP expr ::= * expr AND expr expr ::= * expr OR expr expr ::= * expr LT|GT|GE|LE expr expr ::= * expr EQ|NE expr expr ::= * expr BITAND|BITOR|LSHIFT|RSHIFT expr expr ::= * expr PLUS|MINUS expr expr ::= * expr STAR|SLASH|REM expr expr ::= * expr CONCAT expr expr ::= * expr likeop expr expr ::= * expr likeop expr ESCAPE expr expr ::= * expr ISNULL|NOTNULL expr ::= * expr NOT NULL expr ::= * expr IS expr expr ::= * expr IS NOT expr expr ::= * expr IS NOT DISTINCT FROM expr expr ::= * expr IS DISTINCT FROM expr expr ::= * NOT expr expr ::= * BITNOT expr expr ::= * PLUS|MINUS expr expr ::= * expr PTR expr expr ::= * expr between_op expr AND expr expr ::= * expr in_op LP exprlist RP expr ::= * LP select RP expr ::= * expr in_op LP select RP expr ::= * expr in_op nm dbnm paren_exprlist expr ::= * EXISTS LP select RP expr ::= * CASE case_operand case_exprlist case_else END expr ::= * RAISE LP IGNORE RP expr ::= * RAISE LP raisetype COMMA nm RP window ::= nm ORDER BY * sortlist frame_opt NOT shift 111 EXISTS shift 560 LP shift 4 CAST shift 563 ID shift 445 RAISE shift 557 CTIME_KW shift-reduce 192 term ::= CTIME_KW PLUS shift 109 MINUS shift 109 BITNOT shift 110 INDEXED shift 445 STRING shift 570 JOIN_KW shift 569 NULL shift-reduce 182 term ::= NULL|FLOAT|BLOB FLOAT shift-reduce 182 term ::= NULL|FLOAT|BLOB BLOB shift-reduce 182 term ::= NULL|FLOAT|BLOB INTEGER shift-reduce 184 term ::= INTEGER VARIABLE shift-reduce 185 expr ::= VARIABLE CASE shift 27 nm shift 568 term shift 13 /* because term==expr */ expr shift 13 sortlist shift 201 State 24: nm ::= * ID|INDEXED nm ::= * STRING nm ::= * JOIN_KW expr ::= * term expr ::= * LP expr RP expr ::= * ID|INDEXED expr ::= * JOIN_KW expr ::= * nm DOT nm expr ::= * nm DOT nm DOT nm term ::= * NULL|FLOAT|BLOB term ::= * STRING term ::= * INTEGER expr ::= * VARIABLE expr ::= * expr COLLATE ID|STRING expr ::= * CAST LP expr AS typetoken RP expr ::= * ID|INDEXED LP distinct exprlist RP expr ::= * ID|INDEXED LP STAR RP expr ::= * ID|INDEXED LP distinct exprlist RP filter_over expr ::= * ID|INDEXED LP STAR RP filter_over term ::= * CTIME_KW expr ::= * LP nexprlist COMMA expr RP expr ::= * expr AND expr expr ::= * expr OR expr expr ::= * expr LT|GT|GE|LE expr expr ::= * expr EQ|NE expr expr ::= * expr BITAND|BITOR|LSHIFT|RSHIFT expr expr ::= * expr PLUS|MINUS expr expr ::= * expr STAR|SLASH|REM expr expr ::= * expr CONCAT expr expr ::= * expr likeop expr expr ::= * expr likeop expr ESCAPE expr expr ::= * expr ISNULL|NOTNULL expr ::= * expr NOT NULL expr ::= * expr IS expr expr ::= * expr IS NOT expr expr ::= * expr IS NOT DISTINCT FROM expr expr ::= * expr IS DISTINCT FROM expr expr ::= * NOT expr expr ::= * BITNOT expr expr ::= * PLUS|MINUS expr expr ::= * expr PTR expr expr ::= * expr between_op expr AND expr expr ::= * expr in_op LP exprlist RP expr ::= * LP select RP expr ::= * expr in_op LP select RP expr ::= * expr in_op nm dbnm paren_exprlist expr ::= * EXISTS LP select RP expr ::= * CASE case_operand case_exprlist case_else END nexprlist ::= * nexprlist COMMA expr nexprlist ::= * expr expr ::= * RAISE LP IGNORE RP expr ::= * RAISE LP raisetype COMMA nm RP window ::= nm PARTITION BY * nexprlist orderby_opt frame_opt NOT shift 111 EXISTS shift 560 LP shift 4 CAST shift 563 ID shift 445 RAISE shift 557 CTIME_KW shift-reduce 192 term ::= CTIME_KW PLUS shift 109 MINUS shift 109 BITNOT shift 110 INDEXED shift 445 STRING shift 570 JOIN_KW shift 569 NULL shift-reduce 182 term ::= NULL|FLOAT|BLOB FLOAT shift-reduce 182 term ::= NULL|FLOAT|BLOB BLOB shift-reduce 182 term ::= NULL|FLOAT|BLOB INTEGER shift-reduce 184 term ::= INTEGER VARIABLE shift-reduce 185 expr ::= VARIABLE CASE shift 27 nm shift 568 term shift 71 /* because term==expr */ expr shift 71 nexprlist shift 312 State 25: nm ::= * ID|INDEXED nm ::= * STRING nm ::= * JOIN_KW expr ::= * term expr ::= * LP expr RP expr ::= * ID|INDEXED expr ::= * JOIN_KW expr ::= * nm DOT nm expr ::= * nm DOT nm DOT nm term ::= * NULL|FLOAT|BLOB term ::= * STRING term ::= * INTEGER expr ::= * VARIABLE expr ::= * expr COLLATE ID|STRING expr ::= * CAST LP expr AS typetoken RP expr ::= * ID|INDEXED LP distinct exprlist RP expr ::= * ID|INDEXED LP STAR RP expr ::= * ID|INDEXED LP distinct exprlist RP filter_over expr ::= * ID|INDEXED LP STAR RP filter_over term ::= * CTIME_KW expr ::= * LP nexprlist COMMA expr RP expr ::= * expr AND expr expr ::= * expr OR expr expr ::= * expr LT|GT|GE|LE expr expr ::= * expr EQ|NE expr expr ::= * expr BITAND|BITOR|LSHIFT|RSHIFT expr expr ::= * expr PLUS|MINUS expr expr ::= * expr STAR|SLASH|REM expr expr ::= * expr CONCAT expr expr ::= * expr likeop expr expr ::= * expr likeop expr ESCAPE expr expr ::= * expr ISNULL|NOTNULL expr ::= * expr NOT NULL expr ::= * expr IS expr expr ::= * expr IS NOT expr expr ::= * expr IS NOT DISTINCT FROM expr expr ::= * expr IS DISTINCT FROM expr expr ::= * NOT expr expr ::= * BITNOT expr expr ::= * PLUS|MINUS expr expr ::= * expr PTR expr expr ::= * expr between_op expr AND expr expr ::= * expr in_op LP exprlist RP expr ::= * LP select RP expr ::= * expr in_op LP select RP expr ::= * expr in_op nm dbnm paren_exprlist expr ::= * EXISTS LP select RP expr ::= * CASE case_operand case_exprlist case_else END nexprlist ::= * nexprlist COMMA expr nexprlist ::= * expr expr ::= * RAISE LP IGNORE RP expr ::= * RAISE LP raisetype COMMA nm RP window ::= PARTITION BY * nexprlist orderby_opt frame_opt NOT shift 111 EXISTS shift 560 LP shift 4 CAST shift 563 ID shift 445 RAISE shift 557 CTIME_KW shift-reduce 192 term ::= CTIME_KW PLUS shift 109 MINUS shift 109 BITNOT shift 110 INDEXED shift 445 STRING shift 570 JOIN_KW shift 569 NULL shift-reduce 182 term ::= NULL|FLOAT|BLOB FLOAT shift-reduce 182 term ::= NULL|FLOAT|BLOB BLOB shift-reduce 182 term ::= NULL|FLOAT|BLOB INTEGER shift-reduce 184 term ::= INTEGER VARIABLE shift-reduce 185 expr ::= VARIABLE CASE shift 27 nm shift 568 term shift 71 /* because term==expr */ expr shift 71 nexprlist shift 313 State 26: nm ::= * ID|INDEXED nm ::= * STRING nm ::= * JOIN_KW orderby_opt ::= ORDER BY * sortlist sortlist ::= * sortlist COMMA expr sortorder nulls sortlist ::= * expr sortorder nulls expr ::= * term expr ::= * LP expr RP expr ::= * ID|INDEXED expr ::= * JOIN_KW expr ::= * nm DOT nm expr ::= * nm DOT nm DOT nm term ::= * NULL|FLOAT|BLOB term ::= * STRING term ::= * INTEGER expr ::= * VARIABLE expr ::= * expr COLLATE ID|STRING expr ::= * CAST LP expr AS typetoken RP expr ::= * ID|INDEXED LP distinct exprlist RP expr ::= * ID|INDEXED LP STAR RP expr ::= * ID|INDEXED LP distinct exprlist RP filter_over expr ::= * ID|INDEXED LP STAR RP filter_over term ::= * CTIME_KW expr ::= * LP nexprlist COMMA expr RP expr ::= * expr AND expr expr ::= * expr OR expr expr ::= * expr LT|GT|GE|LE expr expr ::= * expr EQ|NE expr expr ::= * expr BITAND|BITOR|LSHIFT|RSHIFT expr expr ::= * expr PLUS|MINUS expr expr ::= * expr STAR|SLASH|REM expr expr ::= * expr CONCAT expr expr ::= * expr likeop expr expr ::= * expr likeop expr ESCAPE expr expr ::= * expr ISNULL|NOTNULL expr ::= * expr NOT NULL expr ::= * expr IS expr expr ::= * expr IS NOT expr expr ::= * expr IS NOT DISTINCT FROM expr expr ::= * expr IS DISTINCT FROM expr expr ::= * NOT expr expr ::= * BITNOT expr expr ::= * PLUS|MINUS expr expr ::= * expr PTR expr expr ::= * expr between_op expr AND expr expr ::= * expr in_op LP exprlist RP expr ::= * LP select RP expr ::= * expr in_op LP select RP expr ::= * expr in_op nm dbnm paren_exprlist expr ::= * EXISTS LP select RP expr ::= * CASE case_operand case_exprlist case_else END expr ::= * RAISE LP IGNORE RP expr ::= * RAISE LP raisetype COMMA nm RP NOT shift 111 EXISTS shift 560 LP shift 4 CAST shift 563 ID shift 445 RAISE shift 557 CTIME_KW shift-reduce 192 term ::= CTIME_KW PLUS shift 109 MINUS shift 109 BITNOT shift 110 INDEXED shift 445 STRING shift 570 JOIN_KW shift 569 NULL shift-reduce 182 term ::= NULL|FLOAT|BLOB FLOAT shift-reduce 182 term ::= NULL|FLOAT|BLOB BLOB shift-reduce 182 term ::= NULL|FLOAT|BLOB INTEGER shift-reduce 184 term ::= INTEGER VARIABLE shift-reduce 185 expr ::= VARIABLE CASE shift 27 nm shift 568 term shift 13 /* because term==expr */ expr shift 13 sortlist shift 545 State 27: nm ::= * ID|INDEXED nm ::= * STRING nm ::= * JOIN_KW expr ::= * term expr ::= * LP expr RP expr ::= * ID|INDEXED expr ::= * JOIN_KW expr ::= * nm DOT nm expr ::= * nm DOT nm DOT nm term ::= * NULL|FLOAT|BLOB term ::= * STRING term ::= * INTEGER expr ::= * VARIABLE expr ::= * expr COLLATE ID|STRING expr ::= * CAST LP expr AS typetoken RP expr ::= * ID|INDEXED LP distinct exprlist RP expr ::= * ID|INDEXED LP STAR RP expr ::= * ID|INDEXED LP distinct exprlist RP filter_over expr ::= * ID|INDEXED LP STAR RP filter_over term ::= * CTIME_KW expr ::= * LP nexprlist COMMA expr RP expr ::= * expr AND expr expr ::= * expr OR expr expr ::= * expr LT|GT|GE|LE expr expr ::= * expr EQ|NE expr expr ::= * expr BITAND|BITOR|LSHIFT|RSHIFT expr expr ::= * expr PLUS|MINUS expr expr ::= * expr STAR|SLASH|REM expr expr ::= * expr CONCAT expr expr ::= * expr likeop expr expr ::= * expr likeop expr ESCAPE expr expr ::= * expr ISNULL|NOTNULL expr ::= * expr NOT NULL expr ::= * expr IS expr expr ::= * expr IS NOT expr expr ::= * expr IS NOT DISTINCT FROM expr expr ::= * expr IS DISTINCT FROM expr expr ::= * NOT expr expr ::= * BITNOT expr expr ::= * PLUS|MINUS expr expr ::= * expr PTR expr expr ::= * expr between_op expr AND expr expr ::= * expr in_op LP exprlist RP expr ::= * LP select RP expr ::= * expr in_op LP select RP expr ::= * expr in_op nm dbnm paren_exprlist expr ::= * EXISTS LP select RP expr ::= * CASE case_operand case_exprlist case_else END expr ::= CASE * case_operand case_exprlist case_else END case_operand ::= * expr (231) case_operand ::= * expr ::= * RAISE LP IGNORE RP expr ::= * RAISE LP raisetype COMMA nm RP NOT shift 111 EXISTS shift 560 LP shift 4 CAST shift 563 ID shift 445 RAISE shift 557 CTIME_KW shift-reduce 192 term ::= CTIME_KW PLUS shift 109 MINUS shift 109 BITNOT shift 110 INDEXED shift 445 STRING shift 570 JOIN_KW shift 569 NULL shift-reduce 182 term ::= NULL|FLOAT|BLOB FLOAT shift-reduce 182 term ::= NULL|FLOAT|BLOB BLOB shift-reduce 182 term ::= NULL|FLOAT|BLOB INTEGER shift-reduce 184 term ::= INTEGER VARIABLE shift-reduce 185 expr ::= VARIABLE CASE shift 27 nm shift 568 term shift 70 /* because term==expr */ expr shift 70 case_operand shift 383 {default} reduce 231 case_operand ::= State 28: nm ::= * ID|INDEXED nm ::= * STRING nm ::= * JOIN_KW values ::= VALUES LP * nexprlist RP expr ::= * term expr ::= * LP expr RP expr ::= * ID|INDEXED expr ::= * JOIN_KW expr ::= * nm DOT nm expr ::= * nm DOT nm DOT nm term ::= * NULL|FLOAT|BLOB term ::= * STRING term ::= * INTEGER expr ::= * VARIABLE expr ::= * expr COLLATE ID|STRING expr ::= * CAST LP expr AS typetoken RP expr ::= * ID|INDEXED LP distinct exprlist RP expr ::= * ID|INDEXED LP STAR RP expr ::= * ID|INDEXED LP distinct exprlist RP filter_over expr ::= * ID|INDEXED LP STAR RP filter_over term ::= * CTIME_KW expr ::= * LP nexprlist COMMA expr RP expr ::= * expr AND expr expr ::= * expr OR expr expr ::= * expr LT|GT|GE|LE expr expr ::= * expr EQ|NE expr expr ::= * expr BITAND|BITOR|LSHIFT|RSHIFT expr expr ::= * expr PLUS|MINUS expr expr ::= * expr STAR|SLASH|REM expr expr ::= * expr CONCAT expr expr ::= * expr likeop expr expr ::= * expr likeop expr ESCAPE expr expr ::= * expr ISNULL|NOTNULL expr ::= * expr NOT NULL expr ::= * expr IS expr expr ::= * expr IS NOT expr expr ::= * expr IS NOT DISTINCT FROM expr expr ::= * expr IS DISTINCT FROM expr expr ::= * NOT expr expr ::= * BITNOT expr expr ::= * PLUS|MINUS expr expr ::= * expr PTR expr expr ::= * expr between_op expr AND expr expr ::= * expr in_op LP exprlist RP expr ::= * LP select RP expr ::= * expr in_op LP select RP expr ::= * expr in_op nm dbnm paren_exprlist expr ::= * EXISTS LP select RP expr ::= * CASE case_operand case_exprlist case_else END nexprlist ::= * nexprlist COMMA expr nexprlist ::= * expr expr ::= * RAISE LP IGNORE RP expr ::= * RAISE LP raisetype COMMA nm RP NOT shift 111 EXISTS shift 560 LP shift 4 CAST shift 563 ID shift 445 RAISE shift 557 CTIME_KW shift-reduce 192 term ::= CTIME_KW PLUS shift 109 MINUS shift 109 BITNOT shift 110 INDEXED shift 445 STRING shift 570 JOIN_KW shift 569 NULL shift-reduce 182 term ::= NULL|FLOAT|BLOB FLOAT shift-reduce 182 term ::= NULL|FLOAT|BLOB BLOB shift-reduce 182 term ::= NULL|FLOAT|BLOB INTEGER shift-reduce 184 term ::= INTEGER VARIABLE shift-reduce 185 expr ::= VARIABLE CASE shift 27 nm shift 568 term shift 71 /* because term==expr */ expr shift 71 nexprlist shift 439 State 29: nm ::= * ID|INDEXED nm ::= * STRING nm ::= * JOIN_KW values ::= values COMMA LP * nexprlist RP expr ::= * term expr ::= * LP expr RP expr ::= * ID|INDEXED expr ::= * JOIN_KW expr ::= * nm DOT nm expr ::= * nm DOT nm DOT nm term ::= * NULL|FLOAT|BLOB term ::= * STRING term ::= * INTEGER expr ::= * VARIABLE expr ::= * expr COLLATE ID|STRING expr ::= * CAST LP expr AS typetoken RP expr ::= * ID|INDEXED LP distinct exprlist RP expr ::= * ID|INDEXED LP STAR RP expr ::= * ID|INDEXED LP distinct exprlist RP filter_over expr ::= * ID|INDEXED LP STAR RP filter_over term ::= * CTIME_KW expr ::= * LP nexprlist COMMA expr RP expr ::= * expr AND expr expr ::= * expr OR expr expr ::= * expr LT|GT|GE|LE expr expr ::= * expr EQ|NE expr expr ::= * expr BITAND|BITOR|LSHIFT|RSHIFT expr expr ::= * expr PLUS|MINUS expr expr ::= * expr STAR|SLASH|REM expr expr ::= * expr CONCAT expr expr ::= * expr likeop expr expr ::= * expr likeop expr ESCAPE expr expr ::= * expr ISNULL|NOTNULL expr ::= * expr NOT NULL expr ::= * expr IS expr expr ::= * expr IS NOT expr expr ::= * expr IS NOT DISTINCT FROM expr expr ::= * expr IS DISTINCT FROM expr expr ::= * NOT expr expr ::= * BITNOT expr expr ::= * PLUS|MINUS expr expr ::= * expr PTR expr expr ::= * expr between_op expr AND expr expr ::= * expr in_op LP exprlist RP expr ::= * LP select RP expr ::= * expr in_op LP select RP expr ::= * expr in_op nm dbnm paren_exprlist expr ::= * EXISTS LP select RP expr ::= * CASE case_operand case_exprlist case_else END nexprlist ::= * nexprlist COMMA expr nexprlist ::= * expr expr ::= * RAISE LP IGNORE RP expr ::= * RAISE LP raisetype COMMA nm RP NOT shift 111 EXISTS shift 560 LP shift 4 CAST shift 563 ID shift 445 RAISE shift 557 CTIME_KW shift-reduce 192 term ::= CTIME_KW PLUS shift 109 MINUS shift 109 BITNOT shift 110 INDEXED shift 445 STRING shift 570 JOIN_KW shift 569 NULL shift-reduce 182 term ::= NULL|FLOAT|BLOB FLOAT shift-reduce 182 term ::= NULL|FLOAT|BLOB BLOB shift-reduce 182 term ::= NULL|FLOAT|BLOB INTEGER shift-reduce 184 term ::= INTEGER VARIABLE shift-reduce 185 expr ::= VARIABLE CASE shift 27 nm shift 568 term shift 71 /* because term==expr */ expr shift 71 nexprlist shift 443 State 30: nm ::= * ID|INDEXED nm ::= * STRING nm ::= * JOIN_KW cmd ::= PRAGMA nm dbnm LP * nmnum RP cmd ::= PRAGMA nm dbnm LP * minus_num RP nmnum ::= * plus_num nmnum ::= * nm nmnum ::= * ON nmnum ::= * DELETE nmnum ::= * DEFAULT plus_num ::= * PLUS INTEGER|FLOAT plus_num ::= * INTEGER|FLOAT minus_num ::= * MINUS INTEGER|FLOAT ID shift-reduce 357 nm ::= ID|INDEXED PLUS shift 441 MINUS shift 440 ON shift-reduce 386 nmnum ::= ON INDEXED shift-reduce 357 nm ::= ID|INDEXED STRING shift-reduce 358 nm ::= STRING JOIN_KW shift-reduce 359 nm ::= JOIN_KW DEFAULT shift-reduce 388 nmnum ::= DEFAULT DELETE shift-reduce 387 nmnum ::= DELETE FLOAT shift-reduce 389 plus_num ::= INTEGER|FLOAT INTEGER shift-reduce 389 plus_num ::= INTEGER|FLOAT nm shift 453 /* because nm==nmnum */ plus_num shift 453 /* because plus_num==nmnum */ minus_num shift 452 nmnum shift 453 State 31: nm ::= * ID|INDEXED nm ::= * STRING nm ::= * JOIN_KW cmd ::= PRAGMA nm dbnm EQ * nmnum cmd ::= PRAGMA nm dbnm EQ * minus_num nmnum ::= * plus_num nmnum ::= * nm nmnum ::= * ON nmnum ::= * DELETE nmnum ::= * DEFAULT plus_num ::= * PLUS INTEGER|FLOAT plus_num ::= * INTEGER|FLOAT minus_num ::= * MINUS INTEGER|FLOAT ID shift-reduce 357 nm ::= ID|INDEXED PLUS shift 441 MINUS shift 440 ON shift-reduce 386 nmnum ::= ON INDEXED shift-reduce 357 nm ::= ID|INDEXED STRING shift-reduce 358 nm ::= STRING JOIN_KW shift-reduce 359 nm ::= JOIN_KW DEFAULT shift-reduce 388 nmnum ::= DEFAULT DELETE shift-reduce 387 nmnum ::= DELETE FLOAT shift-reduce 389 plus_num ::= INTEGER|FLOAT INTEGER shift-reduce 389 plus_num ::= INTEGER|FLOAT nm shift-reduce 252 cmd ::= PRAGMA nm dbnm EQ nmnum /* because nm==nmnum */ plus_num shift-reduce 252 cmd ::= PRAGMA nm dbnm EQ nmnum /* because plus_num==nmnum */ minus_num shift-reduce 254 cmd ::= PRAGMA nm dbnm EQ minus_num nmnum shift-reduce 252 cmd ::= PRAGMA nm dbnm EQ nmnum State 32: nm ::= * ID|INDEXED nm ::= * STRING nm ::= * JOIN_KW window ::= * PARTITION BY nexprlist orderby_opt frame_opt window ::= * nm PARTITION BY nexprlist orderby_opt frame_opt window ::= * ORDER BY sortlist frame_opt window ::= * nm ORDER BY sortlist frame_opt window ::= * frame_opt window ::= * nm frame_opt (320) frame_opt ::= * frame_opt ::= * range_or_rows frame_bound_s frame_exclude_opt frame_opt ::= * range_or_rows BETWEEN frame_bound_s AND frame_bound_e frame_exclude_opt range_or_rows ::= * RANGE|ROWS|GROUPS over_clause ::= OVER LP * window RP ID shift-reduce 357 nm ::= ID|INDEXED ROWS shift-reduce 323 range_or_rows ::= RANGE|ROWS|GROUPS PARTITION shift 540 RANGE shift-reduce 323 range_or_rows ::= RANGE|ROWS|GROUPS GROUPS shift-reduce 323 range_or_rows ::= RANGE|ROWS|GROUPS INDEXED shift-reduce 357 nm ::= ID|INDEXED STRING shift-reduce 358 nm ::= STRING JOIN_KW shift-reduce 359 nm ::= JOIN_KW ORDER shift 531 nm shift 175 window shift 515 frame_opt shift-reduce 318 window ::= frame_opt range_or_rows shift 6 {default} reduce 320 frame_opt ::= State 33: nm ::= * ID|INDEXED nm ::= * STRING nm ::= * JOIN_KW windowdefn ::= nm AS LP * window RP window ::= * PARTITION BY nexprlist orderby_opt frame_opt window ::= * nm PARTITION BY nexprlist orderby_opt frame_opt window ::= * ORDER BY sortlist frame_opt window ::= * nm ORDER BY sortlist frame_opt window ::= * frame_opt window ::= * nm frame_opt (320) frame_opt ::= * frame_opt ::= * range_or_rows frame_bound_s frame_exclude_opt frame_opt ::= * range_or_rows BETWEEN frame_bound_s AND frame_bound_e frame_exclude_opt range_or_rows ::= * RANGE|ROWS|GROUPS ID shift-reduce 357 nm ::= ID|INDEXED ROWS shift-reduce 323 range_or_rows ::= RANGE|ROWS|GROUPS PARTITION shift 540 RANGE shift-reduce 323 range_or_rows ::= RANGE|ROWS|GROUPS GROUPS shift-reduce 323 range_or_rows ::= RANGE|ROWS|GROUPS INDEXED shift-reduce 357 nm ::= ID|INDEXED STRING shift-reduce 358 nm ::= STRING JOIN_KW shift-reduce 359 nm ::= JOIN_KW ORDER shift 531 nm shift 175 window shift 541 frame_opt shift-reduce 318 window ::= frame_opt range_or_rows shift 6 {default} reduce 320 frame_opt ::= State 34: columnlist ::= columnlist COMMA * columnname carglist columnname ::= * nm typetoken nm ::= * ID|INDEXED nm ::= * STRING nm ::= * JOIN_KW conslist_opt ::= COMMA * conslist conslist ::= * conslist tconscomma tcons conslist ::= * tcons tcons ::= * CONSTRAINT nm tcons ::= * PRIMARY KEY LP sortlist autoinc RP onconf tcons ::= * UNIQUE LP sortlist RP onconf tcons ::= * CHECK LP expr RP onconf tcons ::= * FOREIGN KEY LP eidlist RP REFERENCES nm eidlist_opt refargs defer_subclause_opt ID shift-reduce 357 nm ::= ID|INDEXED INDEXED shift-reduce 357 nm ::= ID|INDEXED STRING shift-reduce 358 nm ::= STRING JOIN_KW shift-reduce 359 nm ::= JOIN_KW CONSTRAINT shift 252 PRIMARY shift 504 UNIQUE shift 501 CHECK shift 500 FOREIGN shift 499 nm shift 208 columnname shift 408 conslist shift 303 tcons shift 303 /* because tcons==conslist */ State 35: select ::= * WITH wqlist selectnowith select ::= * WITH RECURSIVE wqlist selectnowith select ::= * selectnowith selectnowith ::= * oneselect selectnowith ::= * selectnowith multiselect_op oneselect oneselect ::= * SELECT distinct selcollist from where_opt groupby_opt having_opt orderby_opt limit_opt oneselect ::= * SELECT distinct selcollist from where_opt groupby_opt having_opt window_clause orderby_opt limit_opt oneselect ::= * values values ::= * VALUES LP nexprlist RP values ::= * values COMMA LP nexprlist RP cmd ::= with insert_cmd INTO xfullname idlist_opt * select upsert cmd ::= with insert_cmd INTO xfullname idlist_opt * DEFAULT VALUES returning WITH shift 142 DEFAULT shift 454 SELECT shift 316 VALUES shift 559 select shift 290 selectnowith shift 284 oneselect shift 284 /* because oneselect==selectnowith */ values shift 565 State 36: select ::= * WITH wqlist selectnowith select ::= * WITH RECURSIVE wqlist selectnowith select ::= * selectnowith selectnowith ::= * oneselect selectnowith ::= * selectnowith multiselect_op oneselect oneselect ::= * SELECT distinct selcollist from where_opt groupby_opt having_opt orderby_opt limit_opt oneselect ::= * SELECT distinct selcollist from where_opt groupby_opt having_opt window_clause orderby_opt limit_opt oneselect ::= * values values ::= * VALUES LP nexprlist RP values ::= * values COMMA LP nexprlist RP trigger_cmd ::= scanpt insert_cmd INTO trnm idlist_opt * select upsert scanpt WITH shift 142 SELECT shift 316 VALUES shift 559 select shift 299 selectnowith shift 284 oneselect shift 284 /* because oneselect==selectnowith */ values shift 565 State 37: cmd ::= createkw temp VIEW ifnotexists nm dbnm eidlist_opt AS * select select ::= * WITH wqlist selectnowith select ::= * WITH RECURSIVE wqlist selectnowith select ::= * selectnowith selectnowith ::= * oneselect selectnowith ::= * selectnowith multiselect_op oneselect oneselect ::= * SELECT distinct selcollist from where_opt groupby_opt having_opt orderby_opt limit_opt oneselect ::= * SELECT distinct selcollist from where_opt groupby_opt having_opt window_clause orderby_opt limit_opt oneselect ::= * values values ::= * VALUES LP nexprlist RP values ::= * values COMMA LP nexprlist RP WITH shift 142 SELECT shift 316 VALUES shift 559 select shift-reduce 82 cmd ::= createkw temp VIEW ifnotexists nm dbnm eidlist_opt AS select selectnowith shift 284 oneselect shift 284 /* because oneselect==selectnowith */ values shift 565 State 38: create_table_args ::= AS * select select ::= * WITH wqlist selectnowith select ::= * WITH RECURSIVE wqlist selectnowith select ::= * selectnowith selectnowith ::= * oneselect selectnowith ::= * selectnowith multiselect_op oneselect oneselect ::= * SELECT distinct selcollist from where_opt groupby_opt having_opt orderby_opt limit_opt oneselect ::= * SELECT distinct selcollist from where_opt groupby_opt having_opt window_clause orderby_opt limit_opt oneselect ::= * values values ::= * VALUES LP nexprlist RP values ::= * values COMMA LP nexprlist RP WITH shift 142 SELECT shift 316 VALUES shift 559 select shift-reduce 20 create_table_args ::= AS select selectnowith shift 284 oneselect shift 284 /* because oneselect==selectnowith */ values shift 565 State 39: select ::= * WITH wqlist selectnowith select ::= * WITH RECURSIVE wqlist selectnowith select ::= * selectnowith selectnowith ::= * oneselect selectnowith ::= * selectnowith multiselect_op oneselect oneselect ::= * SELECT distinct selcollist from where_opt groupby_opt having_opt orderby_opt limit_opt oneselect ::= * SELECT distinct selcollist from where_opt groupby_opt having_opt window_clause orderby_opt limit_opt oneselect ::= * values values ::= * VALUES LP nexprlist RP values ::= * values COMMA LP nexprlist RP wqitem ::= nm eidlist_opt wqas LP * select RP WITH shift 142 SELECT shift 316 VALUES shift 559 select shift 519 selectnowith shift 284 oneselect shift 284 /* because oneselect==selectnowith */ values shift 565 State 40: select ::= * WITH wqlist selectnowith select ::= * WITH RECURSIVE wqlist selectnowith select ::= * selectnowith selectnowith ::= * oneselect selectnowith ::= * selectnowith multiselect_op oneselect oneselect ::= * SELECT distinct selcollist from where_opt groupby_opt having_opt orderby_opt limit_opt oneselect ::= * SELECT distinct selcollist from where_opt groupby_opt having_opt window_clause orderby_opt limit_opt oneselect ::= * values values ::= * VALUES LP nexprlist RP values ::= * values COMMA LP nexprlist RP expr ::= EXISTS LP * select RP WITH shift 142 SELECT shift 316 VALUES shift 559 select shift 553 selectnowith shift 284 oneselect shift 284 /* because oneselect==selectnowith */ values shift 565 State 41: expr ::= expr * COLLATE ID|STRING expr ::= expr * AND expr expr ::= expr * OR expr expr ::= expr * LT|GT|GE|LE expr expr ::= expr * EQ|NE expr expr ::= expr * BITAND|BITOR|LSHIFT|RSHIFT expr expr ::= expr * PLUS|MINUS expr expr ::= expr * STAR|SLASH|REM expr expr ::= expr * CONCAT expr likeop ::= * LIKE_KW|MATCH likeop ::= * NOT LIKE_KW|MATCH expr ::= expr * likeop expr expr ::= expr * likeop expr ESCAPE expr expr ::= expr * ISNULL|NOTNULL expr ::= expr * NOT NULL expr ::= expr * IS expr expr ::= expr * IS NOT expr expr ::= expr * IS NOT DISTINCT FROM expr expr ::= expr * IS DISTINCT FROM expr expr ::= expr * PTR expr between_op ::= * BETWEEN between_op ::= * NOT BETWEEN expr ::= expr * between_op expr AND expr in_op ::= * IN in_op ::= * NOT IN expr ::= expr * in_op LP exprlist RP expr ::= expr * in_op LP select RP expr ::= expr * in_op nm dbnm paren_exprlist frame_bound ::= expr * PRECEDING|FOLLOWING NOT shift 409 OR shift 125 AND shift 126 IS shift 80 MATCH shift-reduce 382 likeop ::= LIKE_KW|MATCH LIKE_KW shift-reduce 382 likeop ::= LIKE_KW|MATCH BETWEEN shift-reduce 215 between_op ::= BETWEEN IN shift-reduce 218 in_op ::= IN ISNULL shift-reduce 205 expr ::= expr ISNULL|NOTNULL NOTNULL shift-reduce 205 expr ::= expr ISNULL|NOTNULL NE shift 123 EQ shift 123 GT shift 124 LE shift 124 LT shift 124 GE shift 124 FOLLOWING shift-reduce 328 frame_bound ::= expr PRECEDING|FOLLOWING PRECEDING shift-reduce 328 frame_bound ::= expr PRECEDING|FOLLOWING BITAND shift 122 BITOR shift 122 LSHIFT shift 122 RSHIFT shift 122 PLUS shift 121 MINUS shift 121 STAR shift 120 SLASH shift 120 REM shift 120 CONCAT shift 119 PTR shift 116 COLLATE shift 444 likeop shift 118 between_op shift 115 in_op shift 229 State 42: (147) limit_opt ::= LIMIT expr * limit_opt ::= LIMIT expr * OFFSET expr limit_opt ::= LIMIT expr * COMMA expr expr ::= expr * COLLATE ID|STRING expr ::= expr * AND expr expr ::= expr * OR expr expr ::= expr * LT|GT|GE|LE expr expr ::= expr * EQ|NE expr expr ::= expr * BITAND|BITOR|LSHIFT|RSHIFT expr expr ::= expr * PLUS|MINUS expr expr ::= expr * STAR|SLASH|REM expr expr ::= expr * CONCAT expr likeop ::= * LIKE_KW|MATCH likeop ::= * NOT LIKE_KW|MATCH expr ::= expr * likeop expr expr ::= expr * likeop expr ESCAPE expr expr ::= expr * ISNULL|NOTNULL expr ::= expr * NOT NULL expr ::= expr * IS expr expr ::= expr * IS NOT expr expr ::= expr * IS NOT DISTINCT FROM expr expr ::= expr * IS DISTINCT FROM expr expr ::= expr * PTR expr between_op ::= * BETWEEN between_op ::= * NOT BETWEEN expr ::= expr * between_op expr AND expr in_op ::= * IN in_op ::= * NOT IN expr ::= expr * in_op LP exprlist RP expr ::= expr * in_op LP select RP expr ::= expr * in_op nm dbnm paren_exprlist NOT shift 409 COMMA shift 101 OR shift 125 AND shift 126 IS shift 80 MATCH shift-reduce 382 likeop ::= LIKE_KW|MATCH LIKE_KW shift-reduce 382 likeop ::= LIKE_KW|MATCH BETWEEN shift-reduce 215 between_op ::= BETWEEN IN shift-reduce 218 in_op ::= IN ISNULL shift-reduce 205 expr ::= expr ISNULL|NOTNULL NOTNULL shift-reduce 205 expr ::= expr ISNULL|NOTNULL NE shift 123 EQ shift 123 GT shift 124 LE shift 124 LT shift 124 GE shift 124 OFFSET shift 127 BITAND shift 122 BITOR shift 122 LSHIFT shift 122 RSHIFT shift 122 PLUS shift 121 MINUS shift 121 STAR shift 120 SLASH shift 120 REM shift 120 CONCAT shift 119 PTR shift 116 COLLATE shift 444 likeop shift 118 between_op shift 115 in_op shift 229 {default} reduce 147 limit_opt ::= LIMIT expr State 43: expr ::= expr * COLLATE ID|STRING expr ::= expr * AND expr expr ::= expr * OR expr expr ::= expr * LT|GT|GE|LE expr expr ::= expr * EQ|NE expr expr ::= expr * BITAND|BITOR|LSHIFT|RSHIFT expr expr ::= expr * PLUS|MINUS expr expr ::= expr * STAR|SLASH|REM expr expr ::= expr * CONCAT expr likeop ::= * LIKE_KW|MATCH likeop ::= * NOT LIKE_KW|MATCH expr ::= expr * likeop expr expr ::= expr * likeop expr ESCAPE expr expr ::= expr * ISNULL|NOTNULL expr ::= expr * NOT NULL expr ::= expr * IS expr expr ::= expr * IS NOT expr expr ::= expr * IS NOT DISTINCT FROM expr expr ::= expr * IS DISTINCT FROM expr expr ::= expr * PTR expr between_op ::= * BETWEEN between_op ::= * NOT BETWEEN expr ::= expr * between_op expr AND expr in_op ::= * IN in_op ::= * NOT IN expr ::= expr * in_op LP exprlist RP expr ::= expr * in_op LP select RP expr ::= expr * in_op nm dbnm paren_exprlist cmd ::= ATTACH database_kw_opt expr * AS expr key_opt NOT shift 409 AS shift 83 OR shift 125 AND shift 126 IS shift 80 MATCH shift-reduce 382 likeop ::= LIKE_KW|MATCH LIKE_KW shift-reduce 382 likeop ::= LIKE_KW|MATCH BETWEEN shift-reduce 215 between_op ::= BETWEEN IN shift-reduce 218 in_op ::= IN ISNULL shift-reduce 205 expr ::= expr ISNULL|NOTNULL NOTNULL shift-reduce 205 expr ::= expr ISNULL|NOTNULL NE shift 123 EQ shift 123 GT shift 124 LE shift 124 LT shift 124 GE shift 124 BITAND shift 122 BITOR shift 122 LSHIFT shift 122 RSHIFT shift 122 PLUS shift 121 MINUS shift 121 STAR shift 120 SLASH shift 120 REM shift 120 CONCAT shift 119 PTR shift 116 COLLATE shift 444 likeop shift 118 between_op shift 115 in_op shift 229 State 44: (154) where_opt_ret ::= WHERE expr * where_opt_ret ::= WHERE expr * RETURNING selcollist expr ::= expr * COLLATE ID|STRING expr ::= expr * AND expr expr ::= expr * OR expr expr ::= expr * LT|GT|GE|LE expr expr ::= expr * EQ|NE expr expr ::= expr * BITAND|BITOR|LSHIFT|RSHIFT expr expr ::= expr * PLUS|MINUS expr expr ::= expr * STAR|SLASH|REM expr expr ::= expr * CONCAT expr likeop ::= * LIKE_KW|MATCH likeop ::= * NOT LIKE_KW|MATCH expr ::= expr * likeop expr expr ::= expr * likeop expr ESCAPE expr expr ::= expr * ISNULL|NOTNULL expr ::= expr * NOT NULL expr ::= expr * IS expr expr ::= expr * IS NOT expr expr ::= expr * IS NOT DISTINCT FROM expr expr ::= expr * IS DISTINCT FROM expr expr ::= expr * PTR expr between_op ::= * BETWEEN between_op ::= * NOT BETWEEN expr ::= expr * between_op expr AND expr in_op ::= * IN in_op ::= * NOT IN expr ::= expr * in_op LP exprlist RP expr ::= expr * in_op LP select RP expr ::= expr * in_op nm dbnm paren_exprlist NOT shift 409 OR shift 125 AND shift 126 IS shift 80 MATCH shift-reduce 382 likeop ::= LIKE_KW|MATCH LIKE_KW shift-reduce 382 likeop ::= LIKE_KW|MATCH BETWEEN shift-reduce 215 between_op ::= BETWEEN IN shift-reduce 218 in_op ::= IN ISNULL shift-reduce 205 expr ::= expr ISNULL|NOTNULL NOTNULL shift-reduce 205 expr ::= expr ISNULL|NOTNULL NE shift 123 EQ shift 123 GT shift 124 LE shift 124 LT shift 124 GE shift 124 BITAND shift 122 BITOR shift 122 LSHIFT shift 122 RSHIFT shift 122 PLUS shift 121 MINUS shift 121 STAR shift 120 SLASH shift 120 REM shift 120 CONCAT shift 119 PTR shift 116 COLLATE shift 444 RETURNING shift 214 likeop shift 118 between_op shift 115 in_op shift 229 {default} reduce 154 where_opt_ret ::= WHERE expr State 45: tcons ::= CHECK LP expr * RP onconf expr ::= expr * COLLATE ID|STRING expr ::= expr * AND expr expr ::= expr * OR expr expr ::= expr * LT|GT|GE|LE expr expr ::= expr * EQ|NE expr expr ::= expr * BITAND|BITOR|LSHIFT|RSHIFT expr expr ::= expr * PLUS|MINUS expr expr ::= expr * STAR|SLASH|REM expr expr ::= expr * CONCAT expr likeop ::= * LIKE_KW|MATCH likeop ::= * NOT LIKE_KW|MATCH expr ::= expr * likeop expr expr ::= expr * likeop expr ESCAPE expr expr ::= expr * ISNULL|NOTNULL expr ::= expr * NOT NULL expr ::= expr * IS expr expr ::= expr * IS NOT expr expr ::= expr * IS NOT DISTINCT FROM expr expr ::= expr * IS DISTINCT FROM expr expr ::= expr * PTR expr between_op ::= * BETWEEN between_op ::= * NOT BETWEEN expr ::= expr * between_op expr AND expr in_op ::= * IN in_op ::= * NOT IN expr ::= expr * in_op LP exprlist RP expr ::= expr * in_op LP select RP expr ::= expr * in_op nm dbnm paren_exprlist NOT shift 409 RP shift 356 OR shift 125 AND shift 126 IS shift 80 MATCH shift-reduce 382 likeop ::= LIKE_KW|MATCH LIKE_KW shift-reduce 382 likeop ::= LIKE_KW|MATCH BETWEEN shift-reduce 215 between_op ::= BETWEEN IN shift-reduce 218 in_op ::= IN ISNULL shift-reduce 205 expr ::= expr ISNULL|NOTNULL NOTNULL shift-reduce 205 expr ::= expr ISNULL|NOTNULL NE shift 123 EQ shift 123 GT shift 124 LE shift 124 LT shift 124 GE shift 124 BITAND shift 122 BITOR shift 122 LSHIFT shift 122 RSHIFT shift 122 PLUS shift 121 MINUS shift 121 STAR shift 120 SLASH shift 120 REM shift 120 CONCAT shift 119 PTR shift 116 COLLATE shift 444 likeop shift 118 between_op shift 115 in_op shift 229 State 46: generated ::= LP expr * RP generated ::= LP expr * RP ID expr ::= expr * COLLATE ID|STRING expr ::= expr * AND expr expr ::= expr * OR expr expr ::= expr * LT|GT|GE|LE expr expr ::= expr * EQ|NE expr expr ::= expr * BITAND|BITOR|LSHIFT|RSHIFT expr expr ::= expr * PLUS|MINUS expr expr ::= expr * STAR|SLASH|REM expr expr ::= expr * CONCAT expr likeop ::= * LIKE_KW|MATCH likeop ::= * NOT LIKE_KW|MATCH expr ::= expr * likeop expr expr ::= expr * likeop expr ESCAPE expr expr ::= expr * ISNULL|NOTNULL expr ::= expr * NOT NULL expr ::= expr * IS expr expr ::= expr * IS NOT expr expr ::= expr * IS NOT DISTINCT FROM expr expr ::= expr * IS DISTINCT FROM expr expr ::= expr * PTR expr between_op ::= * BETWEEN between_op ::= * NOT BETWEEN expr ::= expr * between_op expr AND expr in_op ::= * IN in_op ::= * NOT IN expr ::= expr * in_op LP exprlist RP expr ::= expr * in_op LP select RP expr ::= expr * in_op nm dbnm paren_exprlist NOT shift 409 RP shift 505 OR shift 125 AND shift 126 IS shift 80 MATCH shift-reduce 382 likeop ::= LIKE_KW|MATCH LIKE_KW shift-reduce 382 likeop ::= LIKE_KW|MATCH BETWEEN shift-reduce 215 between_op ::= BETWEEN IN shift-reduce 218 in_op ::= IN ISNULL shift-reduce 205 expr ::= expr ISNULL|NOTNULL NOTNULL shift-reduce 205 expr ::= expr ISNULL|NOTNULL NE shift 123 EQ shift 123 GT shift 124 LE shift 124 LT shift 124 GE shift 124 BITAND shift 122 BITOR shift 122 LSHIFT shift 122 RSHIFT shift 122 PLUS shift 121 MINUS shift 121 STAR shift 120 SLASH shift 120 REM shift 120 CONCAT shift 119 PTR shift 116 COLLATE shift 444 likeop shift 118 between_op shift 115 in_op shift 229 State 47: ccons ::= CHECK LP expr * RP expr ::= expr * COLLATE ID|STRING expr ::= expr * AND expr expr ::= expr * OR expr expr ::= expr * LT|GT|GE|LE expr expr ::= expr * EQ|NE expr expr ::= expr * BITAND|BITOR|LSHIFT|RSHIFT expr expr ::= expr * PLUS|MINUS expr expr ::= expr * STAR|SLASH|REM expr expr ::= expr * CONCAT expr likeop ::= * LIKE_KW|MATCH likeop ::= * NOT LIKE_KW|MATCH expr ::= expr * likeop expr expr ::= expr * likeop expr ESCAPE expr expr ::= expr * ISNULL|NOTNULL expr ::= expr * NOT NULL expr ::= expr * IS expr expr ::= expr * IS NOT expr expr ::= expr * IS NOT DISTINCT FROM expr expr ::= expr * IS DISTINCT FROM expr expr ::= expr * PTR expr between_op ::= * BETWEEN between_op ::= * NOT BETWEEN expr ::= expr * between_op expr AND expr in_op ::= * IN in_op ::= * NOT IN expr ::= expr * in_op LP exprlist RP expr ::= expr * in_op LP select RP expr ::= expr * in_op nm dbnm paren_exprlist NOT shift 409 RP shift-reduce 41 ccons ::= CHECK LP expr RP OR shift 125 AND shift 126 IS shift 80 MATCH shift-reduce 382 likeop ::= LIKE_KW|MATCH LIKE_KW shift-reduce 382 likeop ::= LIKE_KW|MATCH BETWEEN shift-reduce 215 between_op ::= BETWEEN IN shift-reduce 218 in_op ::= IN ISNULL shift-reduce 205 expr ::= expr ISNULL|NOTNULL NOTNULL shift-reduce 205 expr ::= expr ISNULL|NOTNULL NE shift 123 EQ shift 123 GT shift 124 LE shift 124 LT shift 124 GE shift 124 BITAND shift 122 BITOR shift 122 LSHIFT shift 122 RSHIFT shift 122 PLUS shift 121 MINUS shift 121 STAR shift 120 SLASH shift 120 REM shift 120 CONCAT shift 119 PTR shift 116 COLLATE shift 444 likeop shift 118 between_op shift 115 in_op shift 229 State 48: ccons ::= DEFAULT LP expr * RP expr ::= expr * COLLATE ID|STRING expr ::= expr * AND expr expr ::= expr * OR expr expr ::= expr * LT|GT|GE|LE expr expr ::= expr * EQ|NE expr expr ::= expr * BITAND|BITOR|LSHIFT|RSHIFT expr expr ::= expr * PLUS|MINUS expr expr ::= expr * STAR|SLASH|REM expr expr ::= expr * CONCAT expr likeop ::= * LIKE_KW|MATCH likeop ::= * NOT LIKE_KW|MATCH expr ::= expr * likeop expr expr ::= expr * likeop expr ESCAPE expr expr ::= expr * ISNULL|NOTNULL expr ::= expr * NOT NULL expr ::= expr * IS expr expr ::= expr * IS NOT expr expr ::= expr * IS NOT DISTINCT FROM expr expr ::= expr * IS DISTINCT FROM expr expr ::= expr * PTR expr between_op ::= * BETWEEN between_op ::= * NOT BETWEEN expr ::= expr * between_op expr AND expr in_op ::= * IN in_op ::= * NOT IN expr ::= expr * in_op LP exprlist RP expr ::= expr * in_op LP select RP expr ::= expr * in_op nm dbnm paren_exprlist NOT shift 409 RP shift-reduce 34 ccons ::= DEFAULT LP expr RP OR shift 125 AND shift 126 IS shift 80 MATCH shift-reduce 382 likeop ::= LIKE_KW|MATCH LIKE_KW shift-reduce 382 likeop ::= LIKE_KW|MATCH BETWEEN shift-reduce 215 between_op ::= BETWEEN IN shift-reduce 218 in_op ::= IN ISNULL shift-reduce 205 expr ::= expr ISNULL|NOTNULL NOTNULL shift-reduce 205 expr ::= expr ISNULL|NOTNULL NE shift 123 EQ shift 123 GT shift 124 LE shift 124 LT shift 124 GE shift 124 BITAND shift 122 BITOR shift 122 LSHIFT shift 122 RSHIFT shift 122 PLUS shift 121 MINUS shift 121 STAR shift 120 SLASH shift 120 REM shift 120 CONCAT shift 119 PTR shift 116 COLLATE shift 444 likeop shift 118 between_op shift 115 in_op shift 229 State 49: expr ::= expr * COLLATE ID|STRING expr ::= expr * AND expr expr ::= expr * OR expr expr ::= expr * LT|GT|GE|LE expr expr ::= expr * EQ|NE expr expr ::= expr * BITAND|BITOR|LSHIFT|RSHIFT expr expr ::= expr * PLUS|MINUS expr expr ::= expr * STAR|SLASH|REM expr expr ::= expr * CONCAT expr likeop ::= * LIKE_KW|MATCH likeop ::= * NOT LIKE_KW|MATCH expr ::= expr * likeop expr expr ::= expr * likeop expr ESCAPE expr expr ::= expr * ISNULL|NOTNULL expr ::= expr * NOT NULL expr ::= expr * IS expr expr ::= expr * IS NOT expr expr ::= expr * IS NOT DISTINCT FROM expr expr ::= expr * IS DISTINCT FROM expr expr ::= expr * PTR expr between_op ::= * BETWEEN between_op ::= * NOT BETWEEN expr ::= expr * between_op expr AND expr in_op ::= * IN in_op ::= * NOT IN expr ::= expr * in_op LP exprlist RP expr ::= expr * in_op LP select RP expr ::= expr * in_op nm dbnm paren_exprlist filter_clause ::= FILTER LP WHERE expr * RP NOT shift 409 RP shift-reduce 341 filter_clause ::= FILTER LP WHERE expr RP OR shift 125 AND shift 126 IS shift 80 MATCH shift-reduce 382 likeop ::= LIKE_KW|MATCH LIKE_KW shift-reduce 382 likeop ::= LIKE_KW|MATCH BETWEEN shift-reduce 215 between_op ::= BETWEEN IN shift-reduce 218 in_op ::= IN ISNULL shift-reduce 205 expr ::= expr ISNULL|NOTNULL NOTNULL shift-reduce 205 expr ::= expr ISNULL|NOTNULL NE shift 123 EQ shift 123 GT shift 124 LE shift 124 LT shift 124 GE shift 124 BITAND shift 122 BITOR shift 122 LSHIFT shift 122 RSHIFT shift 122 PLUS shift 121 MINUS shift 121 STAR shift 120 SLASH shift 120 REM shift 120 CONCAT shift 119 PTR shift 116 COLLATE shift 444 likeop shift 118 between_op shift 115 in_op shift 229 State 50: expr ::= expr * COLLATE ID|STRING expr ::= LP nexprlist COMMA expr * RP expr ::= expr * AND expr expr ::= expr * OR expr expr ::= expr * LT|GT|GE|LE expr expr ::= expr * EQ|NE expr expr ::= expr * BITAND|BITOR|LSHIFT|RSHIFT expr expr ::= expr * PLUS|MINUS expr expr ::= expr * STAR|SLASH|REM expr expr ::= expr * CONCAT expr likeop ::= * LIKE_KW|MATCH likeop ::= * NOT LIKE_KW|MATCH expr ::= expr * likeop expr expr ::= expr * likeop expr ESCAPE expr expr ::= expr * ISNULL|NOTNULL expr ::= expr * NOT NULL expr ::= expr * IS expr expr ::= expr * IS NOT expr expr ::= expr * IS NOT DISTINCT FROM expr expr ::= expr * IS DISTINCT FROM expr expr ::= expr * PTR expr between_op ::= * BETWEEN between_op ::= * NOT BETWEEN expr ::= expr * between_op expr AND expr in_op ::= * IN in_op ::= * NOT IN expr ::= expr * in_op LP exprlist RP expr ::= expr * in_op LP select RP expr ::= expr * in_op nm dbnm paren_exprlist (233) nexprlist ::= nexprlist COMMA expr * NOT shift 409 RP shift-reduce 193 expr ::= LP nexprlist COMMA expr RP OR shift 125 AND shift 126 IS shift 80 MATCH shift-reduce 382 likeop ::= LIKE_KW|MATCH LIKE_KW shift-reduce 382 likeop ::= LIKE_KW|MATCH BETWEEN shift-reduce 215 between_op ::= BETWEEN IN shift-reduce 218 in_op ::= IN ISNULL shift-reduce 205 expr ::= expr ISNULL|NOTNULL NOTNULL shift-reduce 205 expr ::= expr ISNULL|NOTNULL NE shift 123 EQ shift 123 GT shift 124 LE shift 124 LT shift 124 GE shift 124 BITAND shift 122 BITOR shift 122 LSHIFT shift 122 RSHIFT shift 122 PLUS shift 121 MINUS shift 121 STAR shift 120 SLASH shift 120 REM shift 120 CONCAT shift 119 PTR shift 116 COLLATE shift 444 likeop shift 118 between_op shift 115 in_op shift 229 {default} reduce 233 nexprlist ::= nexprlist COMMA expr State 51: expr ::= LP expr * RP expr ::= expr * COLLATE ID|STRING expr ::= expr * AND expr expr ::= expr * OR expr expr ::= expr * LT|GT|GE|LE expr expr ::= expr * EQ|NE expr expr ::= expr * BITAND|BITOR|LSHIFT|RSHIFT expr expr ::= expr * PLUS|MINUS expr expr ::= expr * STAR|SLASH|REM expr expr ::= expr * CONCAT expr likeop ::= * LIKE_KW|MATCH likeop ::= * NOT LIKE_KW|MATCH expr ::= expr * likeop expr expr ::= expr * likeop expr ESCAPE expr expr ::= expr * ISNULL|NOTNULL expr ::= expr * NOT NULL expr ::= expr * IS expr expr ::= expr * IS NOT expr expr ::= expr * IS NOT DISTINCT FROM expr expr ::= expr * IS DISTINCT FROM expr expr ::= expr * PTR expr between_op ::= * BETWEEN between_op ::= * NOT BETWEEN expr ::= expr * between_op expr AND expr in_op ::= * IN in_op ::= * NOT IN expr ::= expr * in_op LP exprlist RP expr ::= expr * in_op LP select RP expr ::= expr * in_op nm dbnm paren_exprlist (234) nexprlist ::= expr * NOT shift 409 RP shift-reduce 177 expr ::= LP expr RP OR shift 125 AND shift 126 IS shift 80 MATCH shift-reduce 382 likeop ::= LIKE_KW|MATCH LIKE_KW shift-reduce 382 likeop ::= LIKE_KW|MATCH BETWEEN shift-reduce 215 between_op ::= BETWEEN IN shift-reduce 218 in_op ::= IN ISNULL shift-reduce 205 expr ::= expr ISNULL|NOTNULL NOTNULL shift-reduce 205 expr ::= expr ISNULL|NOTNULL NE shift 123 EQ shift 123 GT shift 124 LE shift 124 LT shift 124 GE shift 124 BITAND shift 122 BITOR shift 122 LSHIFT shift 122 RSHIFT shift 122 PLUS shift 121 MINUS shift 121 STAR shift 120 SLASH shift 120 REM shift 120 CONCAT shift 119 PTR shift 116 COLLATE shift 444 likeop shift 118 between_op shift 115 in_op shift 229 {default} reduce 234 nexprlist ::= expr State 52: expr ::= expr * COLLATE ID|STRING expr ::= expr * AND expr expr ::= expr * OR expr expr ::= expr * LT|GT|GE|LE expr expr ::= expr * EQ|NE expr expr ::= expr * BITAND|BITOR|LSHIFT|RSHIFT expr expr ::= expr * PLUS|MINUS expr expr ::= expr * STAR|SLASH|REM expr expr ::= expr * CONCAT expr likeop ::= * LIKE_KW|MATCH likeop ::= * NOT LIKE_KW|MATCH expr ::= expr * likeop expr expr ::= expr * likeop expr ESCAPE expr expr ::= expr * ISNULL|NOTNULL expr ::= expr * NOT NULL expr ::= expr * IS expr expr ::= expr * IS NOT expr expr ::= expr * IS NOT DISTINCT FROM expr expr ::= expr * IS DISTINCT FROM expr expr ::= expr * PTR expr between_op ::= * BETWEEN between_op ::= * NOT BETWEEN expr ::= expr * between_op expr AND expr in_op ::= * IN in_op ::= * NOT IN expr ::= expr * in_op LP exprlist RP expr ::= expr * in_op LP select RP expr ::= expr * in_op nm dbnm paren_exprlist case_exprlist ::= WHEN expr * THEN expr NOT shift 409 OR shift 125 AND shift 126 IS shift 80 MATCH shift-reduce 382 likeop ::= LIKE_KW|MATCH LIKE_KW shift-reduce 382 likeop ::= LIKE_KW|MATCH BETWEEN shift-reduce 215 between_op ::= BETWEEN IN shift-reduce 218 in_op ::= IN ISNULL shift-reduce 205 expr ::= expr ISNULL|NOTNULL NOTNULL shift-reduce 205 expr ::= expr ISNULL|NOTNULL NE shift 123 EQ shift 123 GT shift 124 LE shift 124 LT shift 124 GE shift 124 BITAND shift 122 BITOR shift 122 LSHIFT shift 122 RSHIFT shift 122 PLUS shift 121 MINUS shift 121 STAR shift 120 SLASH shift 120 REM shift 120 CONCAT shift 119 PTR shift 116 COLLATE shift 444 THEN shift 104 likeop shift 118 between_op shift 115 in_op shift 229 State 53: expr ::= expr * COLLATE ID|STRING expr ::= expr * AND expr expr ::= expr * OR expr expr ::= expr * LT|GT|GE|LE expr expr ::= expr * EQ|NE expr expr ::= expr * BITAND|BITOR|LSHIFT|RSHIFT expr expr ::= expr * PLUS|MINUS expr expr ::= expr * STAR|SLASH|REM expr expr ::= expr * CONCAT expr likeop ::= * LIKE_KW|MATCH likeop ::= * NOT LIKE_KW|MATCH expr ::= expr * likeop expr expr ::= expr * likeop expr ESCAPE expr expr ::= expr * ISNULL|NOTNULL expr ::= expr * NOT NULL expr ::= expr * IS expr expr ::= expr * IS NOT expr expr ::= expr * IS NOT DISTINCT FROM expr expr ::= expr * IS DISTINCT FROM expr expr ::= expr * PTR expr between_op ::= * BETWEEN between_op ::= * NOT BETWEEN expr ::= expr * between_op expr AND expr in_op ::= * IN in_op ::= * NOT IN expr ::= expr * in_op LP exprlist RP expr ::= expr * in_op LP select RP expr ::= expr * in_op nm dbnm paren_exprlist case_exprlist ::= case_exprlist WHEN expr * THEN expr NOT shift 409 OR shift 125 AND shift 126 IS shift 80 MATCH shift-reduce 382 likeop ::= LIKE_KW|MATCH LIKE_KW shift-reduce 382 likeop ::= LIKE_KW|MATCH BETWEEN shift-reduce 215 between_op ::= BETWEEN IN shift-reduce 218 in_op ::= IN ISNULL shift-reduce 205 expr ::= expr ISNULL|NOTNULL NOTNULL shift-reduce 205 expr ::= expr ISNULL|NOTNULL NE shift 123 EQ shift 123 GT shift 124 LE shift 124 LT shift 124 GE shift 124 BITAND shift 122 BITOR shift 122 LSHIFT shift 122 RSHIFT shift 122 PLUS shift 121 MINUS shift 121 STAR shift 120 SLASH shift 120 REM shift 120 CONCAT shift 119 PTR shift 116 COLLATE shift 444 THEN shift 107 likeop shift 118 between_op shift 115 in_op shift 229 State 54: expr ::= expr * COLLATE ID|STRING expr ::= CAST LP expr * AS typetoken RP expr ::= expr * AND expr expr ::= expr * OR expr expr ::= expr * LT|GT|GE|LE expr expr ::= expr * EQ|NE expr expr ::= expr * BITAND|BITOR|LSHIFT|RSHIFT expr expr ::= expr * PLUS|MINUS expr expr ::= expr * STAR|SLASH|REM expr expr ::= expr * CONCAT expr likeop ::= * LIKE_KW|MATCH likeop ::= * NOT LIKE_KW|MATCH expr ::= expr * likeop expr expr ::= expr * likeop expr ESCAPE expr expr ::= expr * ISNULL|NOTNULL expr ::= expr * NOT NULL expr ::= expr * IS expr expr ::= expr * IS NOT expr expr ::= expr * IS NOT DISTINCT FROM expr expr ::= expr * IS DISTINCT FROM expr expr ::= expr * PTR expr between_op ::= * BETWEEN between_op ::= * NOT BETWEEN expr ::= expr * between_op expr AND expr in_op ::= * IN in_op ::= * NOT IN expr ::= expr * in_op LP exprlist RP expr ::= expr * in_op LP select RP expr ::= expr * in_op nm dbnm paren_exprlist NOT shift 409 AS shift 209 OR shift 125 AND shift 126 IS shift 80 MATCH shift-reduce 382 likeop ::= LIKE_KW|MATCH LIKE_KW shift-reduce 382 likeop ::= LIKE_KW|MATCH BETWEEN shift-reduce 215 between_op ::= BETWEEN IN shift-reduce 218 in_op ::= IN ISNULL shift-reduce 205 expr ::= expr ISNULL|NOTNULL NOTNULL shift-reduce 205 expr ::= expr ISNULL|NOTNULL NE shift 123 EQ shift 123 GT shift 124 LE shift 124 LT shift 124 GE shift 124 BITAND shift 122 BITOR shift 122 LSHIFT shift 122 RSHIFT shift 122 PLUS shift 121 MINUS shift 121 STAR shift 120 SLASH shift 120 REM shift 120 CONCAT shift 119 PTR shift 116 COLLATE shift 444 likeop shift 118 between_op shift 115 in_op shift 229 State 55: expr ::= expr * COLLATE ID|STRING expr ::= expr * AND expr expr ::= expr * OR expr expr ::= expr * LT|GT|GE|LE expr expr ::= expr * EQ|NE expr expr ::= expr * BITAND|BITOR|LSHIFT|RSHIFT expr expr ::= expr * PLUS|MINUS expr expr ::= expr * STAR|SLASH|REM expr expr ::= expr * CONCAT expr likeop ::= * LIKE_KW|MATCH likeop ::= * NOT LIKE_KW|MATCH expr ::= expr * likeop expr expr ::= expr * likeop expr ESCAPE expr expr ::= expr * ISNULL|NOTNULL expr ::= expr * NOT NULL expr ::= expr * IS expr expr ::= expr * IS NOT expr expr ::= expr * IS NOT DISTINCT FROM expr expr ::= expr * IS DISTINCT FROM expr expr ::= expr * PTR expr between_op ::= * BETWEEN between_op ::= * NOT BETWEEN expr ::= expr * between_op expr AND expr in_op ::= * IN in_op ::= * NOT IN expr ::= expr * in_op LP exprlist RP expr ::= expr * in_op LP select RP expr ::= expr * in_op nm dbnm paren_exprlist (284) cmd ::= DETACH database_kw_opt expr * NOT shift 409 OR shift 125 AND shift 126 IS shift 80 MATCH shift-reduce 382 likeop ::= LIKE_KW|MATCH LIKE_KW shift-reduce 382 likeop ::= LIKE_KW|MATCH BETWEEN shift-reduce 215 between_op ::= BETWEEN IN shift-reduce 218 in_op ::= IN ISNULL shift-reduce 205 expr ::= expr ISNULL|NOTNULL NOTNULL shift-reduce 205 expr ::= expr ISNULL|NOTNULL NE shift 123 EQ shift 123 GT shift 124 LE shift 124 LT shift 124 GE shift 124 BITAND shift 122 BITOR shift 122 LSHIFT shift 122 RSHIFT shift 122 PLUS shift 121 MINUS shift 121 STAR shift 120 SLASH shift 120 REM shift 120 CONCAT shift 119 PTR shift 116 COLLATE shift 444 likeop shift 118 between_op shift 115 in_op shift 229 {default} reduce 284 cmd ::= DETACH database_kw_opt expr State 56: expr ::= expr * COLLATE ID|STRING expr ::= expr * AND expr expr ::= expr * OR expr expr ::= expr * LT|GT|GE|LE expr expr ::= expr * EQ|NE expr expr ::= expr * BITAND|BITOR|LSHIFT|RSHIFT expr expr ::= expr * PLUS|MINUS expr expr ::= expr * STAR|SLASH|REM expr expr ::= expr * CONCAT expr likeop ::= * LIKE_KW|MATCH likeop ::= * NOT LIKE_KW|MATCH expr ::= expr * likeop expr expr ::= expr * likeop expr ESCAPE expr expr ::= expr * ISNULL|NOTNULL expr ::= expr * NOT NULL expr ::= expr * IS expr expr ::= expr * IS NOT expr expr ::= expr * IS NOT DISTINCT FROM expr expr ::= expr * IS DISTINCT FROM expr expr ::= expr * PTR expr between_op ::= * BETWEEN between_op ::= * NOT BETWEEN expr ::= expr * between_op expr AND expr in_op ::= * IN in_op ::= * NOT IN expr ::= expr * in_op LP exprlist RP expr ::= expr * in_op LP select RP expr ::= expr * in_op nm dbnm paren_exprlist (286) key_opt ::= KEY expr * NOT shift 409 OR shift 125 AND shift 126 IS shift 80 MATCH shift-reduce 382 likeop ::= LIKE_KW|MATCH LIKE_KW shift-reduce 382 likeop ::= LIKE_KW|MATCH BETWEEN shift-reduce 215 between_op ::= BETWEEN IN shift-reduce 218 in_op ::= IN ISNULL shift-reduce 205 expr ::= expr ISNULL|NOTNULL NOTNULL shift-reduce 205 expr ::= expr ISNULL|NOTNULL NE shift 123 EQ shift 123 GT shift 124 LE shift 124 LT shift 124 GE shift 124 BITAND shift 122 BITOR shift 122 LSHIFT shift 122 RSHIFT shift 122 PLUS shift 121 MINUS shift 121 STAR shift 120 SLASH shift 120 REM shift 120 CONCAT shift 119 PTR shift 116 COLLATE shift 444 likeop shift 118 between_op shift 115 in_op shift 229 {default} reduce 286 key_opt ::= KEY expr State 57: expr ::= expr * COLLATE ID|STRING expr ::= expr * AND expr expr ::= expr * OR expr expr ::= expr * LT|GT|GE|LE expr expr ::= expr * EQ|NE expr expr ::= expr * BITAND|BITOR|LSHIFT|RSHIFT expr expr ::= expr * PLUS|MINUS expr expr ::= expr * STAR|SLASH|REM expr expr ::= expr * CONCAT expr likeop ::= * LIKE_KW|MATCH likeop ::= * NOT LIKE_KW|MATCH expr ::= expr * likeop expr expr ::= expr * likeop expr ESCAPE expr expr ::= expr * ISNULL|NOTNULL expr ::= expr * NOT NULL expr ::= expr * IS expr expr ::= expr * IS NOT expr expr ::= expr * IS NOT DISTINCT FROM expr expr ::= expr * IS DISTINCT FROM expr expr ::= expr * PTR expr between_op ::= * BETWEEN between_op ::= * NOT BETWEEN expr ::= expr * between_op expr AND expr in_op ::= * IN in_op ::= * NOT IN expr ::= expr * in_op LP exprlist RP expr ::= expr * in_op LP select RP expr ::= expr * in_op nm dbnm paren_exprlist (249) vinto ::= INTO expr * NOT shift 409 OR shift 125 AND shift 126 IS shift 80 MATCH shift-reduce 382 likeop ::= LIKE_KW|MATCH LIKE_KW shift-reduce 382 likeop ::= LIKE_KW|MATCH BETWEEN shift-reduce 215 between_op ::= BETWEEN IN shift-reduce 218 in_op ::= IN ISNULL shift-reduce 205 expr ::= expr ISNULL|NOTNULL NOTNULL shift-reduce 205 expr ::= expr ISNULL|NOTNULL NE shift 123 EQ shift 123 GT shift 124 LE shift 124 LT shift 124 GE shift 124 BITAND shift 122 BITOR shift 122 LSHIFT shift 122 RSHIFT shift 122 PLUS shift 121 MINUS shift 121 STAR shift 120 SLASH shift 120 REM shift 120 CONCAT shift 119 PTR shift 116 COLLATE shift 444 likeop shift 118 between_op shift 115 in_op shift 229 {default} reduce 249 vinto ::= INTO expr State 58: (161) setlist ::= LP idlist RP EQ expr * expr ::= expr * COLLATE ID|STRING expr ::= expr * AND expr expr ::= expr * OR expr expr ::= expr * LT|GT|GE|LE expr expr ::= expr * EQ|NE expr expr ::= expr * BITAND|BITOR|LSHIFT|RSHIFT expr expr ::= expr * PLUS|MINUS expr expr ::= expr * STAR|SLASH|REM expr expr ::= expr * CONCAT expr likeop ::= * LIKE_KW|MATCH likeop ::= * NOT LIKE_KW|MATCH expr ::= expr * likeop expr expr ::= expr * likeop expr ESCAPE expr expr ::= expr * ISNULL|NOTNULL expr ::= expr * NOT NULL expr ::= expr * IS expr expr ::= expr * IS NOT expr expr ::= expr * IS NOT DISTINCT FROM expr expr ::= expr * IS DISTINCT FROM expr expr ::= expr * PTR expr between_op ::= * BETWEEN between_op ::= * NOT BETWEEN expr ::= expr * between_op expr AND expr in_op ::= * IN in_op ::= * NOT IN expr ::= expr * in_op LP exprlist RP expr ::= expr * in_op LP select RP expr ::= expr * in_op nm dbnm paren_exprlist NOT shift 409 OR shift 125 AND shift 126 IS shift 80 MATCH shift-reduce 382 likeop ::= LIKE_KW|MATCH LIKE_KW shift-reduce 382 likeop ::= LIKE_KW|MATCH BETWEEN shift-reduce 215 between_op ::= BETWEEN IN shift-reduce 218 in_op ::= IN ISNULL shift-reduce 205 expr ::= expr ISNULL|NOTNULL NOTNULL shift-reduce 205 expr ::= expr ISNULL|NOTNULL NE shift 123 EQ shift 123 GT shift 124 LE shift 124 LT shift 124 GE shift 124 BITAND shift 122 BITOR shift 122 LSHIFT shift 122 RSHIFT shift 122 PLUS shift 121 MINUS shift 121 STAR shift 120 SLASH shift 120 REM shift 120 CONCAT shift 119 PTR shift 116 COLLATE shift 444 likeop shift 118 between_op shift 115 in_op shift 229 {default} reduce 161 setlist ::= LP idlist RP EQ expr State 59: (160) setlist ::= nm EQ expr * expr ::= expr * COLLATE ID|STRING expr ::= expr * AND expr expr ::= expr * OR expr expr ::= expr * LT|GT|GE|LE expr expr ::= expr * EQ|NE expr expr ::= expr * BITAND|BITOR|LSHIFT|RSHIFT expr expr ::= expr * PLUS|MINUS expr expr ::= expr * STAR|SLASH|REM expr expr ::= expr * CONCAT expr likeop ::= * LIKE_KW|MATCH likeop ::= * NOT LIKE_KW|MATCH expr ::= expr * likeop expr expr ::= expr * likeop expr ESCAPE expr expr ::= expr * ISNULL|NOTNULL expr ::= expr * NOT NULL expr ::= expr * IS expr expr ::= expr * IS NOT expr expr ::= expr * IS NOT DISTINCT FROM expr expr ::= expr * IS DISTINCT FROM expr expr ::= expr * PTR expr between_op ::= * BETWEEN between_op ::= * NOT BETWEEN expr ::= expr * between_op expr AND expr in_op ::= * IN in_op ::= * NOT IN expr ::= expr * in_op LP exprlist RP expr ::= expr * in_op LP select RP expr ::= expr * in_op nm dbnm paren_exprlist NOT shift 409 OR shift 125 AND shift 126 IS shift 80 MATCH shift-reduce 382 likeop ::= LIKE_KW|MATCH LIKE_KW shift-reduce 382 likeop ::= LIKE_KW|MATCH BETWEEN shift-reduce 215 between_op ::= BETWEEN IN shift-reduce 218 in_op ::= IN ISNULL shift-reduce 205 expr ::= expr ISNULL|NOTNULL NOTNULL shift-reduce 205 expr ::= expr ISNULL|NOTNULL NE shift 123 EQ shift 123 GT shift 124 LE shift 124 LT shift 124 GE shift 124 BITAND shift 122 BITOR shift 122 LSHIFT shift 122 RSHIFT shift 122 PLUS shift 121 MINUS shift 121 STAR shift 120 SLASH shift 120 REM shift 120 CONCAT shift 119 PTR shift 116 COLLATE shift 444 likeop shift 118 between_op shift 115 in_op shift 229 {default} reduce 160 setlist ::= nm EQ expr State 60: (159) setlist ::= setlist COMMA LP idlist RP EQ expr * expr ::= expr * COLLATE ID|STRING expr ::= expr * AND expr expr ::= expr * OR expr expr ::= expr * LT|GT|GE|LE expr expr ::= expr * EQ|NE expr expr ::= expr * BITAND|BITOR|LSHIFT|RSHIFT expr expr ::= expr * PLUS|MINUS expr expr ::= expr * STAR|SLASH|REM expr expr ::= expr * CONCAT expr likeop ::= * LIKE_KW|MATCH likeop ::= * NOT LIKE_KW|MATCH expr ::= expr * likeop expr expr ::= expr * likeop expr ESCAPE expr expr ::= expr * ISNULL|NOTNULL expr ::= expr * NOT NULL expr ::= expr * IS expr expr ::= expr * IS NOT expr expr ::= expr * IS NOT DISTINCT FROM expr expr ::= expr * IS DISTINCT FROM expr expr ::= expr * PTR expr between_op ::= * BETWEEN between_op ::= * NOT BETWEEN expr ::= expr * between_op expr AND expr in_op ::= * IN in_op ::= * NOT IN expr ::= expr * in_op LP exprlist RP expr ::= expr * in_op LP select RP expr ::= expr * in_op nm dbnm paren_exprlist NOT shift 409 OR shift 125 AND shift 126 IS shift 80 MATCH shift-reduce 382 likeop ::= LIKE_KW|MATCH LIKE_KW shift-reduce 382 likeop ::= LIKE_KW|MATCH BETWEEN shift-reduce 215 between_op ::= BETWEEN IN shift-reduce 218 in_op ::= IN ISNULL shift-reduce 205 expr ::= expr ISNULL|NOTNULL NOTNULL shift-reduce 205 expr ::= expr ISNULL|NOTNULL NE shift 123 EQ shift 123 GT shift 124 LE shift 124 LT shift 124 GE shift 124 BITAND shift 122 BITOR shift 122 LSHIFT shift 122 RSHIFT shift 122 PLUS shift 121 MINUS shift 121 STAR shift 120 SLASH shift 120 REM shift 120 CONCAT shift 119 PTR shift 116 COLLATE shift 444 likeop shift 118 between_op shift 115 in_op shift 229 {default} reduce 159 setlist ::= setlist COMMA LP idlist RP EQ expr State 61: (158) setlist ::= setlist COMMA nm EQ expr * expr ::= expr * COLLATE ID|STRING expr ::= expr * AND expr expr ::= expr * OR expr expr ::= expr * LT|GT|GE|LE expr expr ::= expr * EQ|NE expr expr ::= expr * BITAND|BITOR|LSHIFT|RSHIFT expr expr ::= expr * PLUS|MINUS expr expr ::= expr * STAR|SLASH|REM expr expr ::= expr * CONCAT expr likeop ::= * LIKE_KW|MATCH likeop ::= * NOT LIKE_KW|MATCH expr ::= expr * likeop expr expr ::= expr * likeop expr ESCAPE expr expr ::= expr * ISNULL|NOTNULL expr ::= expr * NOT NULL expr ::= expr * IS expr expr ::= expr * IS NOT expr expr ::= expr * IS NOT DISTINCT FROM expr expr ::= expr * IS DISTINCT FROM expr expr ::= expr * PTR expr between_op ::= * BETWEEN between_op ::= * NOT BETWEEN expr ::= expr * between_op expr AND expr in_op ::= * IN in_op ::= * NOT IN expr ::= expr * in_op LP exprlist RP expr ::= expr * in_op LP select RP expr ::= expr * in_op nm dbnm paren_exprlist NOT shift 409 OR shift 125 AND shift 126 IS shift 80 MATCH shift-reduce 382 likeop ::= LIKE_KW|MATCH LIKE_KW shift-reduce 382 likeop ::= LIKE_KW|MATCH BETWEEN shift-reduce 215 between_op ::= BETWEEN IN shift-reduce 218 in_op ::= IN ISNULL shift-reduce 205 expr ::= expr ISNULL|NOTNULL NOTNULL shift-reduce 205 expr ::= expr ISNULL|NOTNULL NE shift 123 EQ shift 123 GT shift 124 LE shift 124 LT shift 124 GE shift 124 BITAND shift 122 BITOR shift 122 LSHIFT shift 122 RSHIFT shift 122 PLUS shift 121 MINUS shift 121 STAR shift 120 SLASH shift 120 REM shift 120 CONCAT shift 119 PTR shift 116 COLLATE shift 444 likeop shift 118 between_op shift 115 in_op shift 229 {default} reduce 158 setlist ::= setlist COMMA nm EQ expr State 62: expr ::= expr * COLLATE ID|STRING expr ::= expr * AND expr expr ::= expr * OR expr expr ::= expr * LT|GT|GE|LE expr expr ::= expr * EQ|NE expr expr ::= expr * BITAND|BITOR|LSHIFT|RSHIFT expr expr ::= expr * PLUS|MINUS expr expr ::= expr * STAR|SLASH|REM expr expr ::= expr * CONCAT expr likeop ::= * LIKE_KW|MATCH likeop ::= * NOT LIKE_KW|MATCH expr ::= expr * likeop expr expr ::= expr * likeop expr ESCAPE expr expr ::= expr * ISNULL|NOTNULL expr ::= expr * NOT NULL expr ::= expr * IS expr expr ::= expr * IS NOT expr expr ::= expr * IS NOT DISTINCT FROM expr expr ::= expr * IS DISTINCT FROM expr expr ::= expr * PTR expr between_op ::= * BETWEEN between_op ::= * NOT BETWEEN expr ::= expr * between_op expr AND expr in_op ::= * IN in_op ::= * NOT IN expr ::= expr * in_op LP exprlist RP expr ::= expr * in_op LP select RP expr ::= expr * in_op nm dbnm paren_exprlist (267) when_clause ::= WHEN expr * NOT shift 409 OR shift 125 AND shift 126 IS shift 80 MATCH shift-reduce 382 likeop ::= LIKE_KW|MATCH LIKE_KW shift-reduce 382 likeop ::= LIKE_KW|MATCH BETWEEN shift-reduce 215 between_op ::= BETWEEN IN shift-reduce 218 in_op ::= IN ISNULL shift-reduce 205 expr ::= expr ISNULL|NOTNULL NOTNULL shift-reduce 205 expr ::= expr ISNULL|NOTNULL NE shift 123 EQ shift 123 GT shift 124 LE shift 124 LT shift 124 GE shift 124 BITAND shift 122 BITOR shift 122 LSHIFT shift 122 RSHIFT shift 122 PLUS shift 121 MINUS shift 121 STAR shift 120 SLASH shift 120 REM shift 120 CONCAT shift 119 PTR shift 116 COLLATE shift 444 likeop shift 118 between_op shift 115 in_op shift 229 {default} reduce 267 when_clause ::= WHEN expr State 63: (126) on_using ::= ON expr * expr ::= expr * COLLATE ID|STRING expr ::= expr * AND expr expr ::= expr * OR expr expr ::= expr * LT|GT|GE|LE expr expr ::= expr * EQ|NE expr expr ::= expr * BITAND|BITOR|LSHIFT|RSHIFT expr expr ::= expr * PLUS|MINUS expr expr ::= expr * STAR|SLASH|REM expr expr ::= expr * CONCAT expr likeop ::= * LIKE_KW|MATCH likeop ::= * NOT LIKE_KW|MATCH expr ::= expr * likeop expr expr ::= expr * likeop expr ESCAPE expr expr ::= expr * ISNULL|NOTNULL expr ::= expr * NOT NULL expr ::= expr * IS expr expr ::= expr * IS NOT expr expr ::= expr * IS NOT DISTINCT FROM expr expr ::= expr * IS DISTINCT FROM expr expr ::= expr * PTR expr between_op ::= * BETWEEN between_op ::= * NOT BETWEEN expr ::= expr * between_op expr AND expr in_op ::= * IN in_op ::= * NOT IN expr ::= expr * in_op LP exprlist RP expr ::= expr * in_op LP select RP expr ::= expr * in_op nm dbnm paren_exprlist NOT shift 409 OR shift 125 AND shift 126 IS shift 80 MATCH shift-reduce 382 likeop ::= LIKE_KW|MATCH LIKE_KW shift-reduce 382 likeop ::= LIKE_KW|MATCH BETWEEN shift-reduce 215 between_op ::= BETWEEN IN shift-reduce 218 in_op ::= IN ISNULL shift-reduce 205 expr ::= expr ISNULL|NOTNULL NOTNULL shift-reduce 205 expr ::= expr ISNULL|NOTNULL NE shift 123 EQ shift 123 GT shift 124 LE shift 124 LT shift 124 GE shift 124 BITAND shift 122 BITOR shift 122 LSHIFT shift 122 RSHIFT shift 122 PLUS shift 121 MINUS shift 121 STAR shift 120 SLASH shift 120 REM shift 120 CONCAT shift 119 PTR shift 116 COLLATE shift 444 likeop shift 118 between_op shift 115 in_op shift 229 {default} reduce 126 on_using ::= ON expr State 64: (152) where_opt ::= WHERE expr * expr ::= expr * COLLATE ID|STRING expr ::= expr * AND expr expr ::= expr * OR expr expr ::= expr * LT|GT|GE|LE expr expr ::= expr * EQ|NE expr expr ::= expr * BITAND|BITOR|LSHIFT|RSHIFT expr expr ::= expr * PLUS|MINUS expr expr ::= expr * STAR|SLASH|REM expr expr ::= expr * CONCAT expr likeop ::= * LIKE_KW|MATCH likeop ::= * NOT LIKE_KW|MATCH expr ::= expr * likeop expr expr ::= expr * likeop expr ESCAPE expr expr ::= expr * ISNULL|NOTNULL expr ::= expr * NOT NULL expr ::= expr * IS expr expr ::= expr * IS NOT expr expr ::= expr * IS NOT DISTINCT FROM expr expr ::= expr * IS DISTINCT FROM expr expr ::= expr * PTR expr between_op ::= * BETWEEN between_op ::= * NOT BETWEEN expr ::= expr * between_op expr AND expr in_op ::= * IN in_op ::= * NOT IN expr ::= expr * in_op LP exprlist RP expr ::= expr * in_op LP select RP expr ::= expr * in_op nm dbnm paren_exprlist NOT shift 409 OR shift 125 AND shift 126 IS shift 80 MATCH shift-reduce 382 likeop ::= LIKE_KW|MATCH LIKE_KW shift-reduce 382 likeop ::= LIKE_KW|MATCH BETWEEN shift-reduce 215 between_op ::= BETWEEN IN shift-reduce 218 in_op ::= IN ISNULL shift-reduce 205 expr ::= expr ISNULL|NOTNULL NOTNULL shift-reduce 205 expr ::= expr ISNULL|NOTNULL NE shift 123 EQ shift 123 GT shift 124 LE shift 124 LT shift 124 GE shift 124 BITAND shift 122 BITOR shift 122 LSHIFT shift 122 RSHIFT shift 122 PLUS shift 121 MINUS shift 121 STAR shift 120 SLASH shift 120 REM shift 120 CONCAT shift 119 PTR shift 116 COLLATE shift 444 likeop shift 118 between_op shift 115 in_op shift 229 {default} reduce 152 where_opt ::= WHERE expr State 65: (145) having_opt ::= HAVING expr * expr ::= expr * COLLATE ID|STRING expr ::= expr * AND expr expr ::= expr * OR expr expr ::= expr * LT|GT|GE|LE expr expr ::= expr * EQ|NE expr expr ::= expr * BITAND|BITOR|LSHIFT|RSHIFT expr expr ::= expr * PLUS|MINUS expr expr ::= expr * STAR|SLASH|REM expr expr ::= expr * CONCAT expr likeop ::= * LIKE_KW|MATCH likeop ::= * NOT LIKE_KW|MATCH expr ::= expr * likeop expr expr ::= expr * likeop expr ESCAPE expr expr ::= expr * ISNULL|NOTNULL expr ::= expr * NOT NULL expr ::= expr * IS expr expr ::= expr * IS NOT expr expr ::= expr * IS NOT DISTINCT FROM expr expr ::= expr * IS DISTINCT FROM expr expr ::= expr * PTR expr between_op ::= * BETWEEN between_op ::= * NOT BETWEEN expr ::= expr * between_op expr AND expr in_op ::= * IN in_op ::= * NOT IN expr ::= expr * in_op LP exprlist RP expr ::= expr * in_op LP select RP expr ::= expr * in_op nm dbnm paren_exprlist NOT shift 409 OR shift 125 AND shift 126 IS shift 80 MATCH shift-reduce 382 likeop ::= LIKE_KW|MATCH LIKE_KW shift-reduce 382 likeop ::= LIKE_KW|MATCH BETWEEN shift-reduce 215 between_op ::= BETWEEN IN shift-reduce 218 in_op ::= IN ISNULL shift-reduce 205 expr ::= expr ISNULL|NOTNULL NOTNULL shift-reduce 205 expr ::= expr ISNULL|NOTNULL NE shift 123 EQ shift 123 GT shift 124 LE shift 124 LT shift 124 GE shift 124 BITAND shift 122 BITOR shift 122 LSHIFT shift 122 RSHIFT shift 122 PLUS shift 121 MINUS shift 121 STAR shift 120 SLASH shift 120 REM shift 120 CONCAT shift 119 PTR shift 116 COLLATE shift 444 likeop shift 118 between_op shift 115 in_op shift 229 {default} reduce 145 having_opt ::= HAVING expr State 66: (149) limit_opt ::= LIMIT expr COMMA expr * expr ::= expr * COLLATE ID|STRING expr ::= expr * AND expr expr ::= expr * OR expr expr ::= expr * LT|GT|GE|LE expr expr ::= expr * EQ|NE expr expr ::= expr * BITAND|BITOR|LSHIFT|RSHIFT expr expr ::= expr * PLUS|MINUS expr expr ::= expr * STAR|SLASH|REM expr expr ::= expr * CONCAT expr likeop ::= * LIKE_KW|MATCH likeop ::= * NOT LIKE_KW|MATCH expr ::= expr * likeop expr expr ::= expr * likeop expr ESCAPE expr expr ::= expr * ISNULL|NOTNULL expr ::= expr * NOT NULL expr ::= expr * IS expr expr ::= expr * IS NOT expr expr ::= expr * IS NOT DISTINCT FROM expr expr ::= expr * IS DISTINCT FROM expr expr ::= expr * PTR expr between_op ::= * BETWEEN between_op ::= * NOT BETWEEN expr ::= expr * between_op expr AND expr in_op ::= * IN in_op ::= * NOT IN expr ::= expr * in_op LP exprlist RP expr ::= expr * in_op LP select RP expr ::= expr * in_op nm dbnm paren_exprlist NOT shift 409 OR shift 125 AND shift 126 IS shift 80 MATCH shift-reduce 382 likeop ::= LIKE_KW|MATCH LIKE_KW shift-reduce 382 likeop ::= LIKE_KW|MATCH BETWEEN shift-reduce 215 between_op ::= BETWEEN IN shift-reduce 218 in_op ::= IN ISNULL shift-reduce 205 expr ::= expr ISNULL|NOTNULL NOTNULL shift-reduce 205 expr ::= expr ISNULL|NOTNULL NE shift 123 EQ shift 123 GT shift 124 LE shift 124 LT shift 124 GE shift 124 BITAND shift 122 BITOR shift 122 LSHIFT shift 122 RSHIFT shift 122 PLUS shift 121 MINUS shift 121 STAR shift 120 SLASH shift 120 REM shift 120 CONCAT shift 119 PTR shift 116 COLLATE shift 444 likeop shift 118 between_op shift 115 in_op shift 229 {default} reduce 149 limit_opt ::= LIMIT expr COMMA expr State 67: expr ::= expr * COLLATE ID|STRING expr ::= expr * AND expr expr ::= expr * OR expr expr ::= expr * LT|GT|GE|LE expr expr ::= expr * EQ|NE expr expr ::= expr * BITAND|BITOR|LSHIFT|RSHIFT expr expr ::= expr * PLUS|MINUS expr expr ::= expr * STAR|SLASH|REM expr expr ::= expr * CONCAT expr likeop ::= * LIKE_KW|MATCH likeop ::= * NOT LIKE_KW|MATCH expr ::= expr * likeop expr expr ::= expr * likeop expr ESCAPE expr expr ::= expr * ISNULL|NOTNULL expr ::= expr * NOT NULL expr ::= expr * IS expr expr ::= expr * IS NOT expr expr ::= expr * IS NOT DISTINCT FROM expr expr ::= expr * IS DISTINCT FROM expr expr ::= expr * PTR expr between_op ::= * BETWEEN between_op ::= * NOT BETWEEN expr ::= expr * between_op expr AND expr in_op ::= * IN in_op ::= * NOT IN expr ::= expr * in_op LP exprlist RP expr ::= expr * in_op LP select RP expr ::= expr * in_op nm dbnm paren_exprlist (227) case_exprlist ::= WHEN expr THEN expr * NOT shift 409 OR shift 125 AND shift 126 IS shift 80 MATCH shift-reduce 382 likeop ::= LIKE_KW|MATCH LIKE_KW shift-reduce 382 likeop ::= LIKE_KW|MATCH BETWEEN shift-reduce 215 between_op ::= BETWEEN IN shift-reduce 218 in_op ::= IN ISNULL shift-reduce 205 expr ::= expr ISNULL|NOTNULL NOTNULL shift-reduce 205 expr ::= expr ISNULL|NOTNULL NE shift 123 EQ shift 123 GT shift 124 LE shift 124 LT shift 124 GE shift 124 BITAND shift 122 BITOR shift 122 LSHIFT shift 122 RSHIFT shift 122 PLUS shift 121 MINUS shift 121 STAR shift 120 SLASH shift 120 REM shift 120 CONCAT shift 119 PTR shift 116 COLLATE shift 444 likeop shift 118 between_op shift 115 in_op shift 229 {default} reduce 227 case_exprlist ::= WHEN expr THEN expr State 68: expr ::= expr * COLLATE ID|STRING expr ::= expr * AND expr expr ::= expr * OR expr expr ::= expr * LT|GT|GE|LE expr expr ::= expr * EQ|NE expr expr ::= expr * BITAND|BITOR|LSHIFT|RSHIFT expr expr ::= expr * PLUS|MINUS expr expr ::= expr * STAR|SLASH|REM expr expr ::= expr * CONCAT expr likeop ::= * LIKE_KW|MATCH likeop ::= * NOT LIKE_KW|MATCH expr ::= expr * likeop expr expr ::= expr * likeop expr ESCAPE expr expr ::= expr * ISNULL|NOTNULL expr ::= expr * NOT NULL expr ::= expr * IS expr expr ::= expr * IS NOT expr expr ::= expr * IS NOT DISTINCT FROM expr expr ::= expr * IS DISTINCT FROM expr expr ::= expr * PTR expr between_op ::= * BETWEEN between_op ::= * NOT BETWEEN expr ::= expr * between_op expr AND expr in_op ::= * IN in_op ::= * NOT IN expr ::= expr * in_op LP exprlist RP expr ::= expr * in_op LP select RP expr ::= expr * in_op nm dbnm paren_exprlist (228) case_else ::= ELSE expr * NOT shift 409 OR shift 125 AND shift 126 IS shift 80 MATCH shift-reduce 382 likeop ::= LIKE_KW|MATCH LIKE_KW shift-reduce 382 likeop ::= LIKE_KW|MATCH BETWEEN shift-reduce 215 between_op ::= BETWEEN IN shift-reduce 218 in_op ::= IN ISNULL shift-reduce 205 expr ::= expr ISNULL|NOTNULL NOTNULL shift-reduce 205 expr ::= expr ISNULL|NOTNULL NE shift 123 EQ shift 123 GT shift 124 LE shift 124 LT shift 124 GE shift 124 BITAND shift 122 BITOR shift 122 LSHIFT shift 122 RSHIFT shift 122 PLUS shift 121 MINUS shift 121 STAR shift 120 SLASH shift 120 REM shift 120 CONCAT shift 119 PTR shift 116 COLLATE shift 444 likeop shift 118 between_op shift 115 in_op shift 229 {default} reduce 228 case_else ::= ELSE expr State 69: expr ::= expr * COLLATE ID|STRING expr ::= expr * AND expr expr ::= expr * OR expr expr ::= expr * LT|GT|GE|LE expr expr ::= expr * EQ|NE expr expr ::= expr * BITAND|BITOR|LSHIFT|RSHIFT expr expr ::= expr * PLUS|MINUS expr expr ::= expr * STAR|SLASH|REM expr expr ::= expr * CONCAT expr likeop ::= * LIKE_KW|MATCH likeop ::= * NOT LIKE_KW|MATCH expr ::= expr * likeop expr expr ::= expr * likeop expr ESCAPE expr expr ::= expr * ISNULL|NOTNULL expr ::= expr * NOT NULL expr ::= expr * IS expr expr ::= expr * IS NOT expr expr ::= expr * IS NOT DISTINCT FROM expr expr ::= expr * IS DISTINCT FROM expr expr ::= expr * PTR expr between_op ::= * BETWEEN between_op ::= * NOT BETWEEN expr ::= expr * between_op expr AND expr in_op ::= * IN in_op ::= * NOT IN expr ::= expr * in_op LP exprlist RP expr ::= expr * in_op LP select RP expr ::= expr * in_op nm dbnm paren_exprlist (226) case_exprlist ::= case_exprlist WHEN expr THEN expr * NOT shift 409 OR shift 125 AND shift 126 IS shift 80 MATCH shift-reduce 382 likeop ::= LIKE_KW|MATCH LIKE_KW shift-reduce 382 likeop ::= LIKE_KW|MATCH BETWEEN shift-reduce 215 between_op ::= BETWEEN IN shift-reduce 218 in_op ::= IN ISNULL shift-reduce 205 expr ::= expr ISNULL|NOTNULL NOTNULL shift-reduce 205 expr ::= expr ISNULL|NOTNULL NE shift 123 EQ shift 123 GT shift 124 LE shift 124 LT shift 124 GE shift 124 BITAND shift 122 BITOR shift 122 LSHIFT shift 122 RSHIFT shift 122 PLUS shift 121 MINUS shift 121 STAR shift 120 SLASH shift 120 REM shift 120 CONCAT shift 119 PTR shift 116 COLLATE shift 444 likeop shift 118 between_op shift 115 in_op shift 229 {default} reduce 226 case_exprlist ::= case_exprlist WHEN expr THEN expr State 70: expr ::= expr * COLLATE ID|STRING expr ::= expr * AND expr expr ::= expr * OR expr expr ::= expr * LT|GT|GE|LE expr expr ::= expr * EQ|NE expr expr ::= expr * BITAND|BITOR|LSHIFT|RSHIFT expr expr ::= expr * PLUS|MINUS expr expr ::= expr * STAR|SLASH|REM expr expr ::= expr * CONCAT expr likeop ::= * LIKE_KW|MATCH likeop ::= * NOT LIKE_KW|MATCH expr ::= expr * likeop expr expr ::= expr * likeop expr ESCAPE expr expr ::= expr * ISNULL|NOTNULL expr ::= expr * NOT NULL expr ::= expr * IS expr expr ::= expr * IS NOT expr expr ::= expr * IS NOT DISTINCT FROM expr expr ::= expr * IS DISTINCT FROM expr expr ::= expr * PTR expr between_op ::= * BETWEEN between_op ::= * NOT BETWEEN expr ::= expr * between_op expr AND expr in_op ::= * IN in_op ::= * NOT IN expr ::= expr * in_op LP exprlist RP expr ::= expr * in_op LP select RP expr ::= expr * in_op nm dbnm paren_exprlist (230) case_operand ::= expr * NOT shift 409 OR shift 125 AND shift 126 IS shift 80 MATCH shift-reduce 382 likeop ::= LIKE_KW|MATCH LIKE_KW shift-reduce 382 likeop ::= LIKE_KW|MATCH BETWEEN shift-reduce 215 between_op ::= BETWEEN IN shift-reduce 218 in_op ::= IN ISNULL shift-reduce 205 expr ::= expr ISNULL|NOTNULL NOTNULL shift-reduce 205 expr ::= expr ISNULL|NOTNULL NE shift 123 EQ shift 123 GT shift 124 LE shift 124 LT shift 124 GE shift 124 BITAND shift 122 BITOR shift 122 LSHIFT shift 122 RSHIFT shift 122 PLUS shift 121 MINUS shift 121 STAR shift 120 SLASH shift 120 REM shift 120 CONCAT shift 119 PTR shift 116 COLLATE shift 444 likeop shift 118 between_op shift 115 in_op shift 229 {default} reduce 230 case_operand ::= expr State 71: expr ::= expr * COLLATE ID|STRING expr ::= expr * AND expr expr ::= expr * OR expr expr ::= expr * LT|GT|GE|LE expr expr ::= expr * EQ|NE expr expr ::= expr * BITAND|BITOR|LSHIFT|RSHIFT expr expr ::= expr * PLUS|MINUS expr expr ::= expr * STAR|SLASH|REM expr expr ::= expr * CONCAT expr likeop ::= * LIKE_KW|MATCH likeop ::= * NOT LIKE_KW|MATCH expr ::= expr * likeop expr expr ::= expr * likeop expr ESCAPE expr expr ::= expr * ISNULL|NOTNULL expr ::= expr * NOT NULL expr ::= expr * IS expr expr ::= expr * IS NOT expr expr ::= expr * IS NOT DISTINCT FROM expr expr ::= expr * IS DISTINCT FROM expr expr ::= expr * PTR expr between_op ::= * BETWEEN between_op ::= * NOT BETWEEN expr ::= expr * between_op expr AND expr in_op ::= * IN in_op ::= * NOT IN expr ::= expr * in_op LP exprlist RP expr ::= expr * in_op LP select RP expr ::= expr * in_op nm dbnm paren_exprlist (234) nexprlist ::= expr * NOT shift 409 OR shift 125 AND shift 126 IS shift 80 MATCH shift-reduce 382 likeop ::= LIKE_KW|MATCH LIKE_KW shift-reduce 382 likeop ::= LIKE_KW|MATCH BETWEEN shift-reduce 215 between_op ::= BETWEEN IN shift-reduce 218 in_op ::= IN ISNULL shift-reduce 205 expr ::= expr ISNULL|NOTNULL NOTNULL shift-reduce 205 expr ::= expr ISNULL|NOTNULL NE shift 123 EQ shift 123 GT shift 124 LE shift 124 LT shift 124 GE shift 124 BITAND shift 122 BITOR shift 122 LSHIFT shift 122 RSHIFT shift 122 PLUS shift 121 MINUS shift 121 STAR shift 120 SLASH shift 120 REM shift 120 CONCAT shift 119 PTR shift 116 COLLATE shift 444 likeop shift 118 between_op shift 115 in_op shift 229 {default} reduce 234 nexprlist ::= expr State 72: expr ::= expr * COLLATE ID|STRING expr ::= expr * AND expr expr ::= expr * OR expr expr ::= expr * LT|GT|GE|LE expr expr ::= expr * EQ|NE expr expr ::= expr * BITAND|BITOR|LSHIFT|RSHIFT expr expr ::= expr * PLUS|MINUS expr expr ::= expr * STAR|SLASH|REM expr expr ::= expr * CONCAT expr likeop ::= * LIKE_KW|MATCH likeop ::= * NOT LIKE_KW|MATCH expr ::= expr * likeop expr expr ::= expr * likeop expr ESCAPE expr expr ::= expr * ISNULL|NOTNULL expr ::= expr * NOT NULL expr ::= expr * IS expr expr ::= expr * IS NOT expr expr ::= expr * IS NOT DISTINCT FROM expr expr ::= expr * IS DISTINCT FROM expr expr ::= expr * PTR expr between_op ::= * BETWEEN between_op ::= * NOT BETWEEN expr ::= expr * between_op expr AND expr in_op ::= * IN in_op ::= * NOT IN expr ::= expr * in_op LP exprlist RP expr ::= expr * in_op LP select RP expr ::= expr * in_op nm dbnm paren_exprlist (233) nexprlist ::= nexprlist COMMA expr * NOT shift 409 OR shift 125 AND shift 126 IS shift 80 MATCH shift-reduce 382 likeop ::= LIKE_KW|MATCH LIKE_KW shift-reduce 382 likeop ::= LIKE_KW|MATCH BETWEEN shift-reduce 215 between_op ::= BETWEEN IN shift-reduce 218 in_op ::= IN ISNULL shift-reduce 205 expr ::= expr ISNULL|NOTNULL NOTNULL shift-reduce 205 expr ::= expr ISNULL|NOTNULL NE shift 123 EQ shift 123 GT shift 124 LE shift 124 LT shift 124 GE shift 124 BITAND shift 122 BITOR shift 122 LSHIFT shift 122 RSHIFT shift 122 PLUS shift 121 MINUS shift 121 STAR shift 120 SLASH shift 120 REM shift 120 CONCAT shift 119 PTR shift 116 COLLATE shift 444 likeop shift 118 between_op shift 115 in_op shift 229 {default} reduce 233 nexprlist ::= nexprlist COMMA expr State 73: expr ::= expr * COLLATE ID|STRING expr ::= expr * AND expr expr ::= expr * OR expr expr ::= expr * LT|GT|GE|LE expr expr ::= expr * EQ|NE expr expr ::= expr * BITAND|BITOR|LSHIFT|RSHIFT expr expr ::= expr * PLUS|MINUS expr expr ::= expr * STAR|SLASH|REM expr expr ::= expr * CONCAT expr likeop ::= * LIKE_KW|MATCH likeop ::= * NOT LIKE_KW|MATCH expr ::= expr * likeop expr expr ::= expr * likeop expr ESCAPE expr expr ::= expr * ISNULL|NOTNULL expr ::= expr * NOT NULL expr ::= expr * IS expr expr ::= expr * IS NOT expr expr ::= expr * IS NOT DISTINCT FROM expr expr ::= expr * IS DISTINCT FROM expr expr ::= expr * PTR expr between_op ::= * BETWEEN between_op ::= * NOT BETWEEN expr ::= expr * between_op expr AND expr expr ::= expr between_op expr * AND expr in_op ::= * IN in_op ::= * NOT IN expr ::= expr * in_op LP exprlist RP expr ::= expr * in_op LP select RP expr ::= expr * in_op nm dbnm paren_exprlist NOT shift 409 OR shift 125 AND shift 114 IS shift 80 MATCH shift-reduce 382 likeop ::= LIKE_KW|MATCH LIKE_KW shift-reduce 382 likeop ::= LIKE_KW|MATCH BETWEEN shift-reduce 215 between_op ::= BETWEEN IN shift-reduce 218 in_op ::= IN ISNULL shift-reduce 205 expr ::= expr ISNULL|NOTNULL NOTNULL shift-reduce 205 expr ::= expr ISNULL|NOTNULL NE shift 123 EQ shift 123 GT shift 124 LE shift 124 LT shift 124 GE shift 124 BITAND shift 122 BITOR shift 122 LSHIFT shift 122 RSHIFT shift 122 PLUS shift 121 MINUS shift 121 STAR shift 120 SLASH shift 120 REM shift 120 CONCAT shift 119 PTR shift 116 COLLATE shift 444 likeop shift 118 between_op shift 115 in_op shift 229 State 74: (148) limit_opt ::= LIMIT expr OFFSET expr * expr ::= expr * COLLATE ID|STRING expr ::= expr * AND expr expr ::= expr * OR expr expr ::= expr * LT|GT|GE|LE expr expr ::= expr * EQ|NE expr expr ::= expr * BITAND|BITOR|LSHIFT|RSHIFT expr expr ::= expr * PLUS|MINUS expr expr ::= expr * STAR|SLASH|REM expr expr ::= expr * CONCAT expr likeop ::= * LIKE_KW|MATCH likeop ::= * NOT LIKE_KW|MATCH expr ::= expr * likeop expr expr ::= expr * likeop expr ESCAPE expr expr ::= expr * ISNULL|NOTNULL expr ::= expr * NOT NULL expr ::= expr * IS expr expr ::= expr * IS NOT expr expr ::= expr * IS NOT DISTINCT FROM expr expr ::= expr * IS DISTINCT FROM expr expr ::= expr * PTR expr between_op ::= * BETWEEN between_op ::= * NOT BETWEEN expr ::= expr * between_op expr AND expr in_op ::= * IN in_op ::= * NOT IN expr ::= expr * in_op LP exprlist RP expr ::= expr * in_op LP select RP expr ::= expr * in_op nm dbnm paren_exprlist NOT shift 409 OR shift 125 AND shift 126 IS shift 80 MATCH shift-reduce 382 likeop ::= LIKE_KW|MATCH LIKE_KW shift-reduce 382 likeop ::= LIKE_KW|MATCH BETWEEN shift-reduce 215 between_op ::= BETWEEN IN shift-reduce 218 in_op ::= IN ISNULL shift-reduce 205 expr ::= expr ISNULL|NOTNULL NOTNULL shift-reduce 205 expr ::= expr ISNULL|NOTNULL NE shift 123 EQ shift 123 GT shift 124 LE shift 124 LT shift 124 GE shift 124 BITAND shift 122 BITOR shift 122 LSHIFT shift 122 RSHIFT shift 122 PLUS shift 121 MINUS shift 121 STAR shift 120 SLASH shift 120 REM shift 120 CONCAT shift 119 PTR shift 116 COLLATE shift 444 likeop shift 118 between_op shift 115 in_op shift 229 {default} reduce 148 limit_opt ::= LIMIT expr OFFSET expr State 75: expr ::= expr * COLLATE ID|STRING expr ::= expr * AND expr expr ::= expr * OR expr (195) expr ::= expr OR expr * expr ::= expr * LT|GT|GE|LE expr expr ::= expr * EQ|NE expr expr ::= expr * BITAND|BITOR|LSHIFT|RSHIFT expr expr ::= expr * PLUS|MINUS expr expr ::= expr * STAR|SLASH|REM expr expr ::= expr * CONCAT expr likeop ::= * LIKE_KW|MATCH likeop ::= * NOT LIKE_KW|MATCH expr ::= expr * likeop expr expr ::= expr * likeop expr ESCAPE expr expr ::= expr * ISNULL|NOTNULL expr ::= expr * NOT NULL expr ::= expr * IS expr expr ::= expr * IS NOT expr expr ::= expr * IS NOT DISTINCT FROM expr expr ::= expr * IS DISTINCT FROM expr expr ::= expr * PTR expr between_op ::= * BETWEEN between_op ::= * NOT BETWEEN expr ::= expr * between_op expr AND expr in_op ::= * IN in_op ::= * NOT IN expr ::= expr * in_op LP exprlist RP expr ::= expr * in_op LP select RP expr ::= expr * in_op nm dbnm paren_exprlist NOT shift 409 AND shift 126 IS shift 80 MATCH shift-reduce 382 likeop ::= LIKE_KW|MATCH LIKE_KW shift-reduce 382 likeop ::= LIKE_KW|MATCH BETWEEN shift-reduce 215 between_op ::= BETWEEN IN shift-reduce 218 in_op ::= IN ISNULL shift-reduce 205 expr ::= expr ISNULL|NOTNULL NOTNULL shift-reduce 205 expr ::= expr ISNULL|NOTNULL NE shift 123 EQ shift 123 GT shift 124 LE shift 124 LT shift 124 GE shift 124 BITAND shift 122 BITOR shift 122 LSHIFT shift 122 RSHIFT shift 122 PLUS shift 121 MINUS shift 121 STAR shift 120 SLASH shift 120 REM shift 120 CONCAT shift 119 PTR shift 116 COLLATE shift 444 likeop shift 118 between_op shift 115 in_op shift 229 {default} reduce 195 expr ::= expr OR expr State 76: expr ::= expr * COLLATE ID|STRING expr ::= expr * AND expr expr ::= expr * OR expr expr ::= expr * LT|GT|GE|LE expr expr ::= expr * EQ|NE expr expr ::= expr * BITAND|BITOR|LSHIFT|RSHIFT expr expr ::= expr * PLUS|MINUS expr expr ::= expr * STAR|SLASH|REM expr expr ::= expr * CONCAT expr likeop ::= * LIKE_KW|MATCH likeop ::= * NOT LIKE_KW|MATCH expr ::= expr * likeop expr expr ::= expr * likeop expr ESCAPE expr expr ::= expr * ISNULL|NOTNULL expr ::= expr * NOT NULL expr ::= expr * IS expr expr ::= expr * IS NOT expr expr ::= expr * IS NOT DISTINCT FROM expr expr ::= expr * IS DISTINCT FROM expr (211) expr ::= NOT expr * expr ::= expr * PTR expr between_op ::= * BETWEEN between_op ::= * NOT BETWEEN expr ::= expr * between_op expr AND expr in_op ::= * IN in_op ::= * NOT IN expr ::= expr * in_op LP exprlist RP expr ::= expr * in_op LP select RP expr ::= expr * in_op nm dbnm paren_exprlist NOT shift 409 IS shift 80 MATCH shift-reduce 382 likeop ::= LIKE_KW|MATCH LIKE_KW shift-reduce 382 likeop ::= LIKE_KW|MATCH BETWEEN shift-reduce 215 between_op ::= BETWEEN IN shift-reduce 218 in_op ::= IN ISNULL shift-reduce 205 expr ::= expr ISNULL|NOTNULL NOTNULL shift-reduce 205 expr ::= expr ISNULL|NOTNULL NE shift 123 EQ shift 123 GT shift 124 LE shift 124 LT shift 124 GE shift 124 BITAND shift 122 BITOR shift 122 LSHIFT shift 122 RSHIFT shift 122 PLUS shift 121 MINUS shift 121 STAR shift 120 SLASH shift 120 REM shift 120 CONCAT shift 119 PTR shift 116 COLLATE shift 444 likeop shift 118 between_op shift 115 in_op shift 229 {default} reduce 211 expr ::= NOT expr State 77: expr ::= expr * COLLATE ID|STRING expr ::= expr * AND expr (194) expr ::= expr AND expr * expr ::= expr * OR expr expr ::= expr * LT|GT|GE|LE expr expr ::= expr * EQ|NE expr expr ::= expr * BITAND|BITOR|LSHIFT|RSHIFT expr expr ::= expr * PLUS|MINUS expr expr ::= expr * STAR|SLASH|REM expr expr ::= expr * CONCAT expr likeop ::= * LIKE_KW|MATCH likeop ::= * NOT LIKE_KW|MATCH expr ::= expr * likeop expr expr ::= expr * likeop expr ESCAPE expr expr ::= expr * ISNULL|NOTNULL expr ::= expr * NOT NULL expr ::= expr * IS expr expr ::= expr * IS NOT expr expr ::= expr * IS NOT DISTINCT FROM expr expr ::= expr * IS DISTINCT FROM expr expr ::= expr * PTR expr between_op ::= * BETWEEN between_op ::= * NOT BETWEEN expr ::= expr * between_op expr AND expr in_op ::= * IN in_op ::= * NOT IN expr ::= expr * in_op LP exprlist RP expr ::= expr * in_op LP select RP expr ::= expr * in_op nm dbnm paren_exprlist NOT shift 409 IS shift 80 MATCH shift-reduce 382 likeop ::= LIKE_KW|MATCH LIKE_KW shift-reduce 382 likeop ::= LIKE_KW|MATCH BETWEEN shift-reduce 215 between_op ::= BETWEEN IN shift-reduce 218 in_op ::= IN ISNULL shift-reduce 205 expr ::= expr ISNULL|NOTNULL NOTNULL shift-reduce 205 expr ::= expr ISNULL|NOTNULL NE shift 123 EQ shift 123 GT shift 124 LE shift 124 LT shift 124 GE shift 124 BITAND shift 122 BITOR shift 122 LSHIFT shift 122 RSHIFT shift 122 PLUS shift 121 MINUS shift 121 STAR shift 120 SLASH shift 120 REM shift 120 CONCAT shift 119 PTR shift 116 COLLATE shift 444 likeop shift 118 between_op shift 115 in_op shift 229 {default} reduce 194 expr ::= expr AND expr State 78: nm ::= * ID|INDEXED nm ::= * STRING nm ::= * JOIN_KW selcollist ::= sclp scanpt * expr scanpt as selcollist ::= sclp scanpt * STAR selcollist ::= sclp scanpt * nm DOT STAR expr ::= * term expr ::= * LP expr RP expr ::= * ID|INDEXED expr ::= * JOIN_KW expr ::= * nm DOT nm expr ::= * nm DOT nm DOT nm term ::= * NULL|FLOAT|BLOB term ::= * STRING term ::= * INTEGER expr ::= * VARIABLE expr ::= * expr COLLATE ID|STRING expr ::= * CAST LP expr AS typetoken RP expr ::= * ID|INDEXED LP distinct exprlist RP expr ::= * ID|INDEXED LP STAR RP expr ::= * ID|INDEXED LP distinct exprlist RP filter_over expr ::= * ID|INDEXED LP STAR RP filter_over term ::= * CTIME_KW expr ::= * LP nexprlist COMMA expr RP expr ::= * expr AND expr expr ::= * expr OR expr expr ::= * expr LT|GT|GE|LE expr expr ::= * expr EQ|NE expr expr ::= * expr BITAND|BITOR|LSHIFT|RSHIFT expr expr ::= * expr PLUS|MINUS expr expr ::= * expr STAR|SLASH|REM expr expr ::= * expr CONCAT expr expr ::= * expr likeop expr expr ::= * expr likeop expr ESCAPE expr expr ::= * expr ISNULL|NOTNULL expr ::= * expr NOT NULL expr ::= * expr IS expr expr ::= * expr IS NOT expr expr ::= * expr IS NOT DISTINCT FROM expr expr ::= * expr IS DISTINCT FROM expr expr ::= * NOT expr expr ::= * BITNOT expr expr ::= * PLUS|MINUS expr expr ::= * expr PTR expr expr ::= * expr between_op expr AND expr expr ::= * expr in_op LP exprlist RP expr ::= * LP select RP expr ::= * expr in_op LP select RP expr ::= * expr in_op nm dbnm paren_exprlist expr ::= * EXISTS LP select RP expr ::= * CASE case_operand case_exprlist case_else END expr ::= * RAISE LP IGNORE RP expr ::= * RAISE LP raisetype COMMA nm RP NOT shift 111 EXISTS shift 560 LP shift 4 CAST shift 563 ID shift 445 RAISE shift 557 CTIME_KW shift-reduce 192 term ::= CTIME_KW PLUS shift 109 MINUS shift 109 STAR shift-reduce 101 selcollist ::= sclp scanpt STAR BITNOT shift 110 INDEXED shift 445 STRING shift 570 JOIN_KW shift 569 NULL shift-reduce 182 term ::= NULL|FLOAT|BLOB FLOAT shift-reduce 182 term ::= NULL|FLOAT|BLOB BLOB shift-reduce 182 term ::= NULL|FLOAT|BLOB INTEGER shift-reduce 184 term ::= INTEGER VARIABLE shift-reduce 185 expr ::= VARIABLE CASE shift 27 nm shift 522 term shift 16 /* because term==expr */ expr shift 16 State 79: nm ::= * ID|INDEXED nm ::= * STRING nm ::= * JOIN_KW expr ::= * term expr ::= * LP expr RP expr ::= * ID|INDEXED expr ::= * JOIN_KW expr ::= * nm DOT nm expr ::= * nm DOT nm DOT nm term ::= * NULL|FLOAT|BLOB term ::= * STRING term ::= * INTEGER expr ::= * VARIABLE expr ::= * expr COLLATE ID|STRING expr ::= * CAST LP expr AS typetoken RP expr ::= * ID|INDEXED LP distinct exprlist RP expr ::= * ID|INDEXED LP STAR RP expr ::= * ID|INDEXED LP distinct exprlist RP filter_over expr ::= * ID|INDEXED LP STAR RP filter_over term ::= * CTIME_KW expr ::= * LP nexprlist COMMA expr RP expr ::= * expr AND expr expr ::= * expr OR expr expr ::= * expr LT|GT|GE|LE expr expr ::= * expr EQ|NE expr expr ::= * expr BITAND|BITOR|LSHIFT|RSHIFT expr expr ::= * expr PLUS|MINUS expr expr ::= * expr STAR|SLASH|REM expr expr ::= * expr CONCAT expr expr ::= * expr likeop expr expr ::= * expr likeop expr ESCAPE expr expr ::= * expr ISNULL|NOTNULL expr ::= * expr NOT NULL expr ::= * expr IS expr expr ::= * expr IS NOT expr expr ::= expr IS NOT * expr expr ::= * expr IS NOT DISTINCT FROM expr expr ::= expr IS NOT * DISTINCT FROM expr expr ::= * expr IS DISTINCT FROM expr expr ::= * NOT expr expr ::= NOT * expr expr ::= * BITNOT expr expr ::= * PLUS|MINUS expr expr ::= * expr PTR expr expr ::= * expr between_op expr AND expr expr ::= * expr in_op LP exprlist RP expr ::= * LP select RP expr ::= * expr in_op LP select RP expr ::= * expr in_op nm dbnm paren_exprlist expr ::= * EXISTS LP select RP expr ::= * CASE case_operand case_exprlist case_else END expr ::= * RAISE LP IGNORE RP expr ::= * RAISE LP raisetype COMMA nm RP NOT shift 111 EXISTS shift 560 LP shift 4 CAST shift 563 ID shift 445 RAISE shift 557 CTIME_KW shift-reduce 192 term ::= CTIME_KW PLUS shift 109 MINUS shift 109 BITNOT shift 110 INDEXED shift 445 STRING shift 570 JOIN_KW shift 569 NULL shift-reduce 182 term ::= NULL|FLOAT|BLOB DISTINCT shift 548 FLOAT shift-reduce 182 term ::= NULL|FLOAT|BLOB BLOB shift-reduce 182 term ::= NULL|FLOAT|BLOB INTEGER shift-reduce 184 term ::= INTEGER VARIABLE shift-reduce 185 expr ::= VARIABLE CASE shift 27 nm shift 568 term shift 133 /* because term==expr */ expr shift 133 State 80: nm ::= * ID|INDEXED nm ::= * STRING nm ::= * JOIN_KW expr ::= * term expr ::= * LP expr RP expr ::= * ID|INDEXED expr ::= * JOIN_KW expr ::= * nm DOT nm expr ::= * nm DOT nm DOT nm term ::= * NULL|FLOAT|BLOB term ::= * STRING term ::= * INTEGER expr ::= * VARIABLE expr ::= * expr COLLATE ID|STRING expr ::= * CAST LP expr AS typetoken RP expr ::= * ID|INDEXED LP distinct exprlist RP expr ::= * ID|INDEXED LP STAR RP expr ::= * ID|INDEXED LP distinct exprlist RP filter_over expr ::= * ID|INDEXED LP STAR RP filter_over term ::= * CTIME_KW expr ::= * LP nexprlist COMMA expr RP expr ::= * expr AND expr expr ::= * expr OR expr expr ::= * expr LT|GT|GE|LE expr expr ::= * expr EQ|NE expr expr ::= * expr BITAND|BITOR|LSHIFT|RSHIFT expr expr ::= * expr PLUS|MINUS expr expr ::= * expr STAR|SLASH|REM expr expr ::= * expr CONCAT expr expr ::= * expr likeop expr expr ::= * expr likeop expr ESCAPE expr expr ::= * expr ISNULL|NOTNULL expr ::= * expr NOT NULL expr ::= * expr IS expr expr ::= expr IS * expr expr ::= * expr IS NOT expr expr ::= expr IS * NOT expr expr ::= * expr IS NOT DISTINCT FROM expr expr ::= expr IS * NOT DISTINCT FROM expr expr ::= * expr IS DISTINCT FROM expr expr ::= expr IS * DISTINCT FROM expr expr ::= * NOT expr expr ::= * BITNOT expr expr ::= * PLUS|MINUS expr expr ::= * expr PTR expr expr ::= * expr between_op expr AND expr expr ::= * expr in_op LP exprlist RP expr ::= * LP select RP expr ::= * expr in_op LP select RP expr ::= * expr in_op nm dbnm paren_exprlist expr ::= * EXISTS LP select RP expr ::= * CASE case_operand case_exprlist case_else END expr ::= * RAISE LP IGNORE RP expr ::= * RAISE LP raisetype COMMA nm RP NOT shift 79 EXISTS shift 560 LP shift 4 CAST shift 563 ID shift 445 RAISE shift 557 CTIME_KW shift-reduce 192 term ::= CTIME_KW PLUS shift 109 MINUS shift 109 BITNOT shift 110 INDEXED shift 445 STRING shift 570 JOIN_KW shift 569 NULL shift-reduce 182 term ::= NULL|FLOAT|BLOB DISTINCT shift 547 FLOAT shift-reduce 182 term ::= NULL|FLOAT|BLOB BLOB shift-reduce 182 term ::= NULL|FLOAT|BLOB INTEGER shift-reduce 184 term ::= INTEGER VARIABLE shift-reduce 185 expr ::= VARIABLE CASE shift 27 nm shift 568 term shift 135 /* because term==expr */ expr shift 135 State 81: nm ::= * ID|INDEXED nm ::= * STRING nm ::= * JOIN_KW expr ::= * term expr ::= * LP expr RP expr ::= * ID|INDEXED expr ::= * JOIN_KW expr ::= * nm DOT nm expr ::= * nm DOT nm DOT nm term ::= * NULL|FLOAT|BLOB term ::= * STRING term ::= * INTEGER expr ::= * VARIABLE expr ::= * expr COLLATE ID|STRING expr ::= * CAST LP expr AS typetoken RP expr ::= * ID|INDEXED LP distinct exprlist RP expr ::= * ID|INDEXED LP STAR RP expr ::= * ID|INDEXED LP distinct exprlist RP filter_over expr ::= * ID|INDEXED LP STAR RP filter_over term ::= * CTIME_KW expr ::= * LP nexprlist COMMA expr RP expr ::= * expr AND expr expr ::= * expr OR expr expr ::= * expr LT|GT|GE|LE expr expr ::= * expr EQ|NE expr expr ::= * expr BITAND|BITOR|LSHIFT|RSHIFT expr expr ::= * expr PLUS|MINUS expr expr ::= * expr STAR|SLASH|REM expr expr ::= * expr CONCAT expr expr ::= * expr likeop expr expr ::= * expr likeop expr ESCAPE expr expr ::= * expr ISNULL|NOTNULL expr ::= * expr NOT NULL expr ::= * expr IS expr expr ::= * expr IS NOT expr expr ::= * expr IS NOT DISTINCT FROM expr expr ::= * expr IS DISTINCT FROM expr expr ::= * NOT expr expr ::= * BITNOT expr expr ::= * PLUS|MINUS expr expr ::= * expr PTR expr expr ::= * expr between_op expr AND expr expr ::= * expr in_op LP exprlist RP expr ::= * LP select RP expr ::= * expr in_op LP select RP expr ::= * expr in_op nm dbnm paren_exprlist expr ::= * EXISTS LP select RP expr ::= * CASE case_operand case_exprlist case_else END expr ::= * RAISE LP IGNORE RP expr ::= * RAISE LP raisetype COMMA nm RP cmd ::= DETACH database_kw_opt * expr NOT shift 111 EXISTS shift 560 LP shift 4 CAST shift 563 ID shift 445 RAISE shift 557 CTIME_KW shift-reduce 192 term ::= CTIME_KW PLUS shift 109 MINUS shift 109 BITNOT shift 110 INDEXED shift 445 STRING shift 570 JOIN_KW shift 569 NULL shift-reduce 182 term ::= NULL|FLOAT|BLOB FLOAT shift-reduce 182 term ::= NULL|FLOAT|BLOB BLOB shift-reduce 182 term ::= NULL|FLOAT|BLOB INTEGER shift-reduce 184 term ::= INTEGER VARIABLE shift-reduce 185 expr ::= VARIABLE CASE shift 27 nm shift 568 term shift 55 /* because term==expr */ expr shift 55 State 82: nm ::= * ID|INDEXED nm ::= * STRING nm ::= * JOIN_KW expr ::= * term expr ::= * LP expr RP expr ::= * ID|INDEXED expr ::= * JOIN_KW expr ::= * nm DOT nm expr ::= * nm DOT nm DOT nm term ::= * NULL|FLOAT|BLOB term ::= * STRING term ::= * INTEGER expr ::= * VARIABLE expr ::= * expr COLLATE ID|STRING expr ::= * CAST LP expr AS typetoken RP expr ::= * ID|INDEXED LP distinct exprlist RP expr ::= * ID|INDEXED LP STAR RP expr ::= * ID|INDEXED LP distinct exprlist RP filter_over expr ::= * ID|INDEXED LP STAR RP filter_over term ::= * CTIME_KW expr ::= * LP nexprlist COMMA expr RP expr ::= * expr AND expr expr ::= * expr OR expr expr ::= * expr LT|GT|GE|LE expr expr ::= * expr EQ|NE expr expr ::= * expr BITAND|BITOR|LSHIFT|RSHIFT expr expr ::= * expr PLUS|MINUS expr expr ::= * expr STAR|SLASH|REM expr expr ::= * expr CONCAT expr expr ::= * expr likeop expr expr ::= * expr likeop expr ESCAPE expr expr ::= * expr ISNULL|NOTNULL expr ::= * expr NOT NULL expr ::= * expr IS expr expr ::= * expr IS NOT expr expr ::= * expr IS NOT DISTINCT FROM expr expr ::= * expr IS DISTINCT FROM expr expr ::= * NOT expr expr ::= * BITNOT expr expr ::= * PLUS|MINUS expr expr ::= * expr PTR expr expr ::= * expr between_op expr AND expr expr ::= * expr in_op LP exprlist RP expr ::= * LP select RP expr ::= * expr in_op LP select RP expr ::= * expr in_op nm dbnm paren_exprlist expr ::= * EXISTS LP select RP expr ::= * CASE case_operand case_exprlist case_else END expr ::= * RAISE LP IGNORE RP expr ::= * RAISE LP raisetype COMMA nm RP key_opt ::= KEY * expr NOT shift 111 EXISTS shift 560 LP shift 4 CAST shift 563 ID shift 445 RAISE shift 557 CTIME_KW shift-reduce 192 term ::= CTIME_KW PLUS shift 109 MINUS shift 109 BITNOT shift 110 INDEXED shift 445 STRING shift 570 JOIN_KW shift 569 NULL shift-reduce 182 term ::= NULL|FLOAT|BLOB FLOAT shift-reduce 182 term ::= NULL|FLOAT|BLOB BLOB shift-reduce 182 term ::= NULL|FLOAT|BLOB INTEGER shift-reduce 184 term ::= INTEGER VARIABLE shift-reduce 185 expr ::= VARIABLE CASE shift 27 nm shift 568 term shift 56 /* because term==expr */ expr shift 56 State 83: nm ::= * ID|INDEXED nm ::= * STRING nm ::= * JOIN_KW expr ::= * term expr ::= * LP expr RP expr ::= * ID|INDEXED expr ::= * JOIN_KW expr ::= * nm DOT nm expr ::= * nm DOT nm DOT nm term ::= * NULL|FLOAT|BLOB term ::= * STRING term ::= * INTEGER expr ::= * VARIABLE expr ::= * expr COLLATE ID|STRING expr ::= * CAST LP expr AS typetoken RP expr ::= * ID|INDEXED LP distinct exprlist RP expr ::= * ID|INDEXED LP STAR RP expr ::= * ID|INDEXED LP distinct exprlist RP filter_over expr ::= * ID|INDEXED LP STAR RP filter_over term ::= * CTIME_KW expr ::= * LP nexprlist COMMA expr RP expr ::= * expr AND expr expr ::= * expr OR expr expr ::= * expr LT|GT|GE|LE expr expr ::= * expr EQ|NE expr expr ::= * expr BITAND|BITOR|LSHIFT|RSHIFT expr expr ::= * expr PLUS|MINUS expr expr ::= * expr STAR|SLASH|REM expr expr ::= * expr CONCAT expr expr ::= * expr likeop expr expr ::= * expr likeop expr ESCAPE expr expr ::= * expr ISNULL|NOTNULL expr ::= * expr NOT NULL expr ::= * expr IS expr expr ::= * expr IS NOT expr expr ::= * expr IS NOT DISTINCT FROM expr expr ::= * expr IS DISTINCT FROM expr expr ::= * NOT expr expr ::= * BITNOT expr expr ::= * PLUS|MINUS expr expr ::= * expr PTR expr expr ::= * expr between_op expr AND expr expr ::= * expr in_op LP exprlist RP expr ::= * LP select RP expr ::= * expr in_op LP select RP expr ::= * expr in_op nm dbnm paren_exprlist expr ::= * EXISTS LP select RP expr ::= * CASE case_operand case_exprlist case_else END expr ::= * RAISE LP IGNORE RP expr ::= * RAISE LP raisetype COMMA nm RP cmd ::= ATTACH database_kw_opt expr AS * expr key_opt NOT shift 111 EXISTS shift 560 LP shift 4 CAST shift 563 ID shift 445 RAISE shift 557 CTIME_KW shift-reduce 192 term ::= CTIME_KW PLUS shift 109 MINUS shift 109 BITNOT shift 110 INDEXED shift 445 STRING shift 570 JOIN_KW shift 569 NULL shift-reduce 182 term ::= NULL|FLOAT|BLOB FLOAT shift-reduce 182 term ::= NULL|FLOAT|BLOB BLOB shift-reduce 182 term ::= NULL|FLOAT|BLOB INTEGER shift-reduce 184 term ::= INTEGER VARIABLE shift-reduce 185 expr ::= VARIABLE CASE shift 27 nm shift 568 term shift 15 /* because term==expr */ expr shift 15 State 84: nm ::= * ID|INDEXED nm ::= * STRING nm ::= * JOIN_KW expr ::= * term expr ::= * LP expr RP expr ::= * ID|INDEXED expr ::= * JOIN_KW expr ::= * nm DOT nm expr ::= * nm DOT nm DOT nm term ::= * NULL|FLOAT|BLOB term ::= * STRING term ::= * INTEGER expr ::= * VARIABLE expr ::= * expr COLLATE ID|STRING expr ::= * CAST LP expr AS typetoken RP expr ::= * ID|INDEXED LP distinct exprlist RP expr ::= * ID|INDEXED LP STAR RP expr ::= * ID|INDEXED LP distinct exprlist RP filter_over expr ::= * ID|INDEXED LP STAR RP filter_over term ::= * CTIME_KW expr ::= * LP nexprlist COMMA expr RP expr ::= * expr AND expr expr ::= * expr OR expr expr ::= * expr LT|GT|GE|LE expr expr ::= * expr EQ|NE expr expr ::= * expr BITAND|BITOR|LSHIFT|RSHIFT expr expr ::= * expr PLUS|MINUS expr expr ::= * expr STAR|SLASH|REM expr expr ::= * expr CONCAT expr expr ::= * expr likeop expr expr ::= * expr likeop expr ESCAPE expr expr ::= * expr ISNULL|NOTNULL expr ::= * expr NOT NULL expr ::= * expr IS expr expr ::= * expr IS NOT expr expr ::= * expr IS NOT DISTINCT FROM expr expr ::= * expr IS DISTINCT FROM expr expr ::= * NOT expr expr ::= * BITNOT expr expr ::= * PLUS|MINUS expr expr ::= * expr PTR expr expr ::= * expr between_op expr AND expr expr ::= * expr in_op LP exprlist RP expr ::= * LP select RP expr ::= * expr in_op LP select RP expr ::= * expr in_op nm dbnm paren_exprlist expr ::= * EXISTS LP select RP expr ::= * CASE case_operand case_exprlist case_else END expr ::= * RAISE LP IGNORE RP expr ::= * RAISE LP raisetype COMMA nm RP cmd ::= ATTACH database_kw_opt * expr AS expr key_opt NOT shift 111 EXISTS shift 560 LP shift 4 CAST shift 563 ID shift 445 RAISE shift 557 CTIME_KW shift-reduce 192 term ::= CTIME_KW PLUS shift 109 MINUS shift 109 BITNOT shift 110 INDEXED shift 445 STRING shift 570 JOIN_KW shift 569 NULL shift-reduce 182 term ::= NULL|FLOAT|BLOB FLOAT shift-reduce 182 term ::= NULL|FLOAT|BLOB BLOB shift-reduce 182 term ::= NULL|FLOAT|BLOB INTEGER shift-reduce 184 term ::= INTEGER VARIABLE shift-reduce 185 expr ::= VARIABLE CASE shift 27 nm shift 568 term shift 43 /* because term==expr */ expr shift 43 State 85: nm ::= * ID|INDEXED nm ::= * STRING nm ::= * JOIN_KW expr ::= * term expr ::= * LP expr RP expr ::= * ID|INDEXED expr ::= * JOIN_KW expr ::= * nm DOT nm expr ::= * nm DOT nm DOT nm term ::= * NULL|FLOAT|BLOB term ::= * STRING term ::= * INTEGER expr ::= * VARIABLE expr ::= * expr COLLATE ID|STRING expr ::= * CAST LP expr AS typetoken RP expr ::= * ID|INDEXED LP distinct exprlist RP expr ::= * ID|INDEXED LP STAR RP expr ::= * ID|INDEXED LP distinct exprlist RP filter_over expr ::= * ID|INDEXED LP STAR RP filter_over term ::= * CTIME_KW expr ::= * LP nexprlist COMMA expr RP expr ::= * expr AND expr expr ::= * expr OR expr expr ::= * expr LT|GT|GE|LE expr expr ::= * expr EQ|NE expr expr ::= * expr BITAND|BITOR|LSHIFT|RSHIFT expr expr ::= * expr PLUS|MINUS expr expr ::= * expr STAR|SLASH|REM expr expr ::= * expr CONCAT expr expr ::= * expr likeop expr expr ::= * expr likeop expr ESCAPE expr expr ::= * expr ISNULL|NOTNULL expr ::= * expr NOT NULL expr ::= * expr IS expr expr ::= * expr IS NOT expr expr ::= * expr IS NOT DISTINCT FROM expr expr ::= * expr IS DISTINCT FROM expr expr ::= * NOT expr expr ::= * BITNOT expr expr ::= * PLUS|MINUS expr expr ::= * expr PTR expr expr ::= * expr between_op expr AND expr expr ::= * expr in_op LP exprlist RP expr ::= * LP select RP expr ::= * expr in_op LP select RP expr ::= * expr in_op nm dbnm paren_exprlist expr ::= * EXISTS LP select RP expr ::= * CASE case_operand case_exprlist case_else END vinto ::= INTO * expr expr ::= * RAISE LP IGNORE RP expr ::= * RAISE LP raisetype COMMA nm RP NOT shift 111 EXISTS shift 560 LP shift 4 CAST shift 563 ID shift 445 RAISE shift 557 CTIME_KW shift-reduce 192 term ::= CTIME_KW PLUS shift 109 MINUS shift 109 BITNOT shift 110 INDEXED shift 445 STRING shift 570 JOIN_KW shift 569 NULL shift-reduce 182 term ::= NULL|FLOAT|BLOB FLOAT shift-reduce 182 term ::= NULL|FLOAT|BLOB BLOB shift-reduce 182 term ::= NULL|FLOAT|BLOB INTEGER shift-reduce 184 term ::= INTEGER VARIABLE shift-reduce 185 expr ::= VARIABLE CASE shift 27 nm shift 568 term shift 57 /* because term==expr */ expr shift 57 State 86: nm ::= * ID|INDEXED nm ::= * STRING nm ::= * JOIN_KW where_opt_ret ::= WHERE * expr where_opt_ret ::= WHERE * expr RETURNING selcollist expr ::= * term expr ::= * LP expr RP expr ::= * ID|INDEXED expr ::= * JOIN_KW expr ::= * nm DOT nm expr ::= * nm DOT nm DOT nm term ::= * NULL|FLOAT|BLOB term ::= * STRING term ::= * INTEGER expr ::= * VARIABLE expr ::= * expr COLLATE ID|STRING expr ::= * CAST LP expr AS typetoken RP expr ::= * ID|INDEXED LP distinct exprlist RP expr ::= * ID|INDEXED LP STAR RP expr ::= * ID|INDEXED LP distinct exprlist RP filter_over expr ::= * ID|INDEXED LP STAR RP filter_over term ::= * CTIME_KW expr ::= * LP nexprlist COMMA expr RP expr ::= * expr AND expr expr ::= * expr OR expr expr ::= * expr LT|GT|GE|LE expr expr ::= * expr EQ|NE expr expr ::= * expr BITAND|BITOR|LSHIFT|RSHIFT expr expr ::= * expr PLUS|MINUS expr expr ::= * expr STAR|SLASH|REM expr expr ::= * expr CONCAT expr expr ::= * expr likeop expr expr ::= * expr likeop expr ESCAPE expr expr ::= * expr ISNULL|NOTNULL expr ::= * expr NOT NULL expr ::= * expr IS expr expr ::= * expr IS NOT expr expr ::= * expr IS NOT DISTINCT FROM expr expr ::= * expr IS DISTINCT FROM expr expr ::= * NOT expr expr ::= * BITNOT expr expr ::= * PLUS|MINUS expr expr ::= * expr PTR expr expr ::= * expr between_op expr AND expr expr ::= * expr in_op LP exprlist RP expr ::= * LP select RP expr ::= * expr in_op LP select RP expr ::= * expr in_op nm dbnm paren_exprlist expr ::= * EXISTS LP select RP expr ::= * CASE case_operand case_exprlist case_else END expr ::= * RAISE LP IGNORE RP expr ::= * RAISE LP raisetype COMMA nm RP NOT shift 111 EXISTS shift 560 LP shift 4 CAST shift 563 ID shift 445 RAISE shift 557 CTIME_KW shift-reduce 192 term ::= CTIME_KW PLUS shift 109 MINUS shift 109 BITNOT shift 110 INDEXED shift 445 STRING shift 570 JOIN_KW shift 569 NULL shift-reduce 182 term ::= NULL|FLOAT|BLOB FLOAT shift-reduce 182 term ::= NULL|FLOAT|BLOB BLOB shift-reduce 182 term ::= NULL|FLOAT|BLOB INTEGER shift-reduce 184 term ::= INTEGER VARIABLE shift-reduce 185 expr ::= VARIABLE CASE shift 27 nm shift 568 term shift 44 /* because term==expr */ expr shift 44 State 87: nm ::= * ID|INDEXED nm ::= * STRING nm ::= * JOIN_KW setlist ::= LP idlist RP EQ * expr expr ::= * term expr ::= * LP expr RP expr ::= * ID|INDEXED expr ::= * JOIN_KW expr ::= * nm DOT nm expr ::= * nm DOT nm DOT nm term ::= * NULL|FLOAT|BLOB term ::= * STRING term ::= * INTEGER expr ::= * VARIABLE expr ::= * expr COLLATE ID|STRING expr ::= * CAST LP expr AS typetoken RP expr ::= * ID|INDEXED LP distinct exprlist RP expr ::= * ID|INDEXED LP STAR RP expr ::= * ID|INDEXED LP distinct exprlist RP filter_over expr ::= * ID|INDEXED LP STAR RP filter_over term ::= * CTIME_KW expr ::= * LP nexprlist COMMA expr RP expr ::= * expr AND expr expr ::= * expr OR expr expr ::= * expr LT|GT|GE|LE expr expr ::= * expr EQ|NE expr expr ::= * expr BITAND|BITOR|LSHIFT|RSHIFT expr expr ::= * expr PLUS|MINUS expr expr ::= * expr STAR|SLASH|REM expr expr ::= * expr CONCAT expr expr ::= * expr likeop expr expr ::= * expr likeop expr ESCAPE expr expr ::= * expr ISNULL|NOTNULL expr ::= * expr NOT NULL expr ::= * expr IS expr expr ::= * expr IS NOT expr expr ::= * expr IS NOT DISTINCT FROM expr expr ::= * expr IS DISTINCT FROM expr expr ::= * NOT expr expr ::= * BITNOT expr expr ::= * PLUS|MINUS expr expr ::= * expr PTR expr expr ::= * expr between_op expr AND expr expr ::= * expr in_op LP exprlist RP expr ::= * LP select RP expr ::= * expr in_op LP select RP expr ::= * expr in_op nm dbnm paren_exprlist expr ::= * EXISTS LP select RP expr ::= * CASE case_operand case_exprlist case_else END expr ::= * RAISE LP IGNORE RP expr ::= * RAISE LP raisetype COMMA nm RP NOT shift 111 EXISTS shift 560 LP shift 4 CAST shift 563 ID shift 445 RAISE shift 557 CTIME_KW shift-reduce 192 term ::= CTIME_KW PLUS shift 109 MINUS shift 109 BITNOT shift 110 INDEXED shift 445 STRING shift 570 JOIN_KW shift 569 NULL shift-reduce 182 term ::= NULL|FLOAT|BLOB FLOAT shift-reduce 182 term ::= NULL|FLOAT|BLOB BLOB shift-reduce 182 term ::= NULL|FLOAT|BLOB INTEGER shift-reduce 184 term ::= INTEGER VARIABLE shift-reduce 185 expr ::= VARIABLE CASE shift 27 nm shift 568 term shift 58 /* because term==expr */ expr shift 58 State 88: nm ::= * ID|INDEXED nm ::= * STRING nm ::= * JOIN_KW setlist ::= nm EQ * expr expr ::= * term expr ::= * LP expr RP expr ::= * ID|INDEXED expr ::= * JOIN_KW expr ::= * nm DOT nm expr ::= * nm DOT nm DOT nm term ::= * NULL|FLOAT|BLOB term ::= * STRING term ::= * INTEGER expr ::= * VARIABLE expr ::= * expr COLLATE ID|STRING expr ::= * CAST LP expr AS typetoken RP expr ::= * ID|INDEXED LP distinct exprlist RP expr ::= * ID|INDEXED LP STAR RP expr ::= * ID|INDEXED LP distinct exprlist RP filter_over expr ::= * ID|INDEXED LP STAR RP filter_over term ::= * CTIME_KW expr ::= * LP nexprlist COMMA expr RP expr ::= * expr AND expr expr ::= * expr OR expr expr ::= * expr LT|GT|GE|LE expr expr ::= * expr EQ|NE expr expr ::= * expr BITAND|BITOR|LSHIFT|RSHIFT expr expr ::= * expr PLUS|MINUS expr expr ::= * expr STAR|SLASH|REM expr expr ::= * expr CONCAT expr expr ::= * expr likeop expr expr ::= * expr likeop expr ESCAPE expr expr ::= * expr ISNULL|NOTNULL expr ::= * expr NOT NULL expr ::= * expr IS expr expr ::= * expr IS NOT expr expr ::= * expr IS NOT DISTINCT FROM expr expr ::= * expr IS DISTINCT FROM expr expr ::= * NOT expr expr ::= * BITNOT expr expr ::= * PLUS|MINUS expr expr ::= * expr PTR expr expr ::= * expr between_op expr AND expr expr ::= * expr in_op LP exprlist RP expr ::= * LP select RP expr ::= * expr in_op LP select RP expr ::= * expr in_op nm dbnm paren_exprlist expr ::= * EXISTS LP select RP expr ::= * CASE case_operand case_exprlist case_else END expr ::= * RAISE LP IGNORE RP expr ::= * RAISE LP raisetype COMMA nm RP NOT shift 111 EXISTS shift 560 LP shift 4 CAST shift 563 ID shift 445 RAISE shift 557 CTIME_KW shift-reduce 192 term ::= CTIME_KW PLUS shift 109 MINUS shift 109 BITNOT shift 110 INDEXED shift 445 STRING shift 570 JOIN_KW shift 569 NULL shift-reduce 182 term ::= NULL|FLOAT|BLOB FLOAT shift-reduce 182 term ::= NULL|FLOAT|BLOB BLOB shift-reduce 182 term ::= NULL|FLOAT|BLOB INTEGER shift-reduce 184 term ::= INTEGER VARIABLE shift-reduce 185 expr ::= VARIABLE CASE shift 27 nm shift 568 term shift 59 /* because term==expr */ expr shift 59 State 89: nm ::= * ID|INDEXED nm ::= * STRING nm ::= * JOIN_KW setlist ::= setlist COMMA LP idlist RP EQ * expr expr ::= * term expr ::= * LP expr RP expr ::= * ID|INDEXED expr ::= * JOIN_KW expr ::= * nm DOT nm expr ::= * nm DOT nm DOT nm term ::= * NULL|FLOAT|BLOB term ::= * STRING term ::= * INTEGER expr ::= * VARIABLE expr ::= * expr COLLATE ID|STRING expr ::= * CAST LP expr AS typetoken RP expr ::= * ID|INDEXED LP distinct exprlist RP expr ::= * ID|INDEXED LP STAR RP expr ::= * ID|INDEXED LP distinct exprlist RP filter_over expr ::= * ID|INDEXED LP STAR RP filter_over term ::= * CTIME_KW expr ::= * LP nexprlist COMMA expr RP expr ::= * expr AND expr expr ::= * expr OR expr expr ::= * expr LT|GT|GE|LE expr expr ::= * expr EQ|NE expr expr ::= * expr BITAND|BITOR|LSHIFT|RSHIFT expr expr ::= * expr PLUS|MINUS expr expr ::= * expr STAR|SLASH|REM expr expr ::= * expr CONCAT expr expr ::= * expr likeop expr expr ::= * expr likeop expr ESCAPE expr expr ::= * expr ISNULL|NOTNULL expr ::= * expr NOT NULL expr ::= * expr IS expr expr ::= * expr IS NOT expr expr ::= * expr IS NOT DISTINCT FROM expr expr ::= * expr IS DISTINCT FROM expr expr ::= * NOT expr expr ::= * BITNOT expr expr ::= * PLUS|MINUS expr expr ::= * expr PTR expr expr ::= * expr between_op expr AND expr expr ::= * expr in_op LP exprlist RP expr ::= * LP select RP expr ::= * expr in_op LP select RP expr ::= * expr in_op nm dbnm paren_exprlist expr ::= * EXISTS LP select RP expr ::= * CASE case_operand case_exprlist case_else END expr ::= * RAISE LP IGNORE RP expr ::= * RAISE LP raisetype COMMA nm RP NOT shift 111 EXISTS shift 560 LP shift 4 CAST shift 563 ID shift 445 RAISE shift 557 CTIME_KW shift-reduce 192 term ::= CTIME_KW PLUS shift 109 MINUS shift 109 BITNOT shift 110 INDEXED shift 445 STRING shift 570 JOIN_KW shift 569 NULL shift-reduce 182 term ::= NULL|FLOAT|BLOB FLOAT shift-reduce 182 term ::= NULL|FLOAT|BLOB BLOB shift-reduce 182 term ::= NULL|FLOAT|BLOB INTEGER shift-reduce 184 term ::= INTEGER VARIABLE shift-reduce 185 expr ::= VARIABLE CASE shift 27 nm shift 568 term shift 60 /* because term==expr */ expr shift 60 State 90: nm ::= * ID|INDEXED nm ::= * STRING nm ::= * JOIN_KW setlist ::= setlist COMMA nm EQ * expr expr ::= * term expr ::= * LP expr RP expr ::= * ID|INDEXED expr ::= * JOIN_KW expr ::= * nm DOT nm expr ::= * nm DOT nm DOT nm term ::= * NULL|FLOAT|BLOB term ::= * STRING term ::= * INTEGER expr ::= * VARIABLE expr ::= * expr COLLATE ID|STRING expr ::= * CAST LP expr AS typetoken RP expr ::= * ID|INDEXED LP distinct exprlist RP expr ::= * ID|INDEXED LP STAR RP expr ::= * ID|INDEXED LP distinct exprlist RP filter_over expr ::= * ID|INDEXED LP STAR RP filter_over term ::= * CTIME_KW expr ::= * LP nexprlist COMMA expr RP expr ::= * expr AND expr expr ::= * expr OR expr expr ::= * expr LT|GT|GE|LE expr expr ::= * expr EQ|NE expr expr ::= * expr BITAND|BITOR|LSHIFT|RSHIFT expr expr ::= * expr PLUS|MINUS expr expr ::= * expr STAR|SLASH|REM expr expr ::= * expr CONCAT expr expr ::= * expr likeop expr expr ::= * expr likeop expr ESCAPE expr expr ::= * expr ISNULL|NOTNULL expr ::= * expr NOT NULL expr ::= * expr IS expr expr ::= * expr IS NOT expr expr ::= * expr IS NOT DISTINCT FROM expr expr ::= * expr IS DISTINCT FROM expr expr ::= * NOT expr expr ::= * BITNOT expr expr ::= * PLUS|MINUS expr expr ::= * expr PTR expr expr ::= * expr between_op expr AND expr expr ::= * expr in_op LP exprlist RP expr ::= * LP select RP expr ::= * expr in_op LP select RP expr ::= * expr in_op nm dbnm paren_exprlist expr ::= * EXISTS LP select RP expr ::= * CASE case_operand case_exprlist case_else END expr ::= * RAISE LP IGNORE RP expr ::= * RAISE LP raisetype COMMA nm RP NOT shift 111 EXISTS shift 560 LP shift 4 CAST shift 563 ID shift 445 RAISE shift 557 CTIME_KW shift-reduce 192 term ::= CTIME_KW PLUS shift 109 MINUS shift 109 BITNOT shift 110 INDEXED shift 445 STRING shift 570 JOIN_KW shift 569 NULL shift-reduce 182 term ::= NULL|FLOAT|BLOB FLOAT shift-reduce 182 term ::= NULL|FLOAT|BLOB BLOB shift-reduce 182 term ::= NULL|FLOAT|BLOB INTEGER shift-reduce 184 term ::= INTEGER VARIABLE shift-reduce 185 expr ::= VARIABLE CASE shift 27 nm shift 568 term shift 61 /* because term==expr */ expr shift 61 State 91: nm ::= * ID|INDEXED nm ::= * STRING nm ::= * JOIN_KW expr ::= * term expr ::= * LP expr RP expr ::= * ID|INDEXED expr ::= * JOIN_KW expr ::= * nm DOT nm expr ::= * nm DOT nm DOT nm term ::= * NULL|FLOAT|BLOB term ::= * STRING term ::= * INTEGER expr ::= * VARIABLE expr ::= * expr COLLATE ID|STRING expr ::= * CAST LP expr AS typetoken RP expr ::= * ID|INDEXED LP distinct exprlist RP expr ::= * ID|INDEXED LP STAR RP expr ::= * ID|INDEXED LP distinct exprlist RP filter_over expr ::= * ID|INDEXED LP STAR RP filter_over term ::= * CTIME_KW expr ::= * LP nexprlist COMMA expr RP expr ::= * expr AND expr expr ::= * expr OR expr expr ::= * expr LT|GT|GE|LE expr expr ::= * expr EQ|NE expr expr ::= * expr BITAND|BITOR|LSHIFT|RSHIFT expr expr ::= * expr PLUS|MINUS expr expr ::= * expr STAR|SLASH|REM expr expr ::= * expr CONCAT expr expr ::= * expr likeop expr expr ::= * expr likeop expr ESCAPE expr expr ::= * expr ISNULL|NOTNULL expr ::= * expr NOT NULL expr ::= * expr IS expr expr ::= * expr IS NOT expr expr ::= * expr IS NOT DISTINCT FROM expr expr ::= * expr IS DISTINCT FROM expr expr ::= * NOT expr expr ::= * BITNOT expr expr ::= * PLUS|MINUS expr expr ::= * expr PTR expr expr ::= * expr between_op expr AND expr expr ::= * expr in_op LP exprlist RP expr ::= * LP select RP expr ::= * expr in_op LP select RP expr ::= * expr in_op nm dbnm paren_exprlist expr ::= * EXISTS LP select RP expr ::= * CASE case_operand case_exprlist case_else END when_clause ::= WHEN * expr expr ::= * RAISE LP IGNORE RP expr ::= * RAISE LP raisetype COMMA nm RP NOT shift 111 EXISTS shift 560 LP shift 4 CAST shift 563 ID shift 445 RAISE shift 557 CTIME_KW shift-reduce 192 term ::= CTIME_KW PLUS shift 109 MINUS shift 109 BITNOT shift 110 INDEXED shift 445 STRING shift 570 JOIN_KW shift 569 NULL shift-reduce 182 term ::= NULL|FLOAT|BLOB FLOAT shift-reduce 182 term ::= NULL|FLOAT|BLOB BLOB shift-reduce 182 term ::= NULL|FLOAT|BLOB INTEGER shift-reduce 184 term ::= INTEGER VARIABLE shift-reduce 185 expr ::= VARIABLE CASE shift 27 nm shift 568 term shift 62 /* because term==expr */ expr shift 62 State 92: nm ::= * ID|INDEXED nm ::= * STRING nm ::= * JOIN_KW tcons ::= CHECK LP * expr RP onconf expr ::= * term expr ::= * LP expr RP expr ::= * ID|INDEXED expr ::= * JOIN_KW expr ::= * nm DOT nm expr ::= * nm DOT nm DOT nm term ::= * NULL|FLOAT|BLOB term ::= * STRING term ::= * INTEGER expr ::= * VARIABLE expr ::= * expr COLLATE ID|STRING expr ::= * CAST LP expr AS typetoken RP expr ::= * ID|INDEXED LP distinct exprlist RP expr ::= * ID|INDEXED LP STAR RP expr ::= * ID|INDEXED LP distinct exprlist RP filter_over expr ::= * ID|INDEXED LP STAR RP filter_over term ::= * CTIME_KW expr ::= * LP nexprlist COMMA expr RP expr ::= * expr AND expr expr ::= * expr OR expr expr ::= * expr LT|GT|GE|LE expr expr ::= * expr EQ|NE expr expr ::= * expr BITAND|BITOR|LSHIFT|RSHIFT expr expr ::= * expr PLUS|MINUS expr expr ::= * expr STAR|SLASH|REM expr expr ::= * expr CONCAT expr expr ::= * expr likeop expr expr ::= * expr likeop expr ESCAPE expr expr ::= * expr ISNULL|NOTNULL expr ::= * expr NOT NULL expr ::= * expr IS expr expr ::= * expr IS NOT expr expr ::= * expr IS NOT DISTINCT FROM expr expr ::= * expr IS DISTINCT FROM expr expr ::= * NOT expr expr ::= * BITNOT expr expr ::= * PLUS|MINUS expr expr ::= * expr PTR expr expr ::= * expr between_op expr AND expr expr ::= * expr in_op LP exprlist RP expr ::= * LP select RP expr ::= * expr in_op LP select RP expr ::= * expr in_op nm dbnm paren_exprlist expr ::= * EXISTS LP select RP expr ::= * CASE case_operand case_exprlist case_else END expr ::= * RAISE LP IGNORE RP expr ::= * RAISE LP raisetype COMMA nm RP NOT shift 111 EXISTS shift 560 LP shift 4 CAST shift 563 ID shift 445 RAISE shift 557 CTIME_KW shift-reduce 192 term ::= CTIME_KW PLUS shift 109 MINUS shift 109 BITNOT shift 110 INDEXED shift 445 STRING shift 570 JOIN_KW shift 569 NULL shift-reduce 182 term ::= NULL|FLOAT|BLOB FLOAT shift-reduce 182 term ::= NULL|FLOAT|BLOB BLOB shift-reduce 182 term ::= NULL|FLOAT|BLOB INTEGER shift-reduce 184 term ::= INTEGER VARIABLE shift-reduce 185 expr ::= VARIABLE CASE shift 27 nm shift 568 term shift 45 /* because term==expr */ expr shift 45 State 93: nm ::= * ID|INDEXED nm ::= * STRING nm ::= * JOIN_KW generated ::= LP * expr RP generated ::= LP * expr RP ID expr ::= * term expr ::= * LP expr RP expr ::= * ID|INDEXED expr ::= * JOIN_KW expr ::= * nm DOT nm expr ::= * nm DOT nm DOT nm term ::= * NULL|FLOAT|BLOB term ::= * STRING term ::= * INTEGER expr ::= * VARIABLE expr ::= * expr COLLATE ID|STRING expr ::= * CAST LP expr AS typetoken RP expr ::= * ID|INDEXED LP distinct exprlist RP expr ::= * ID|INDEXED LP STAR RP expr ::= * ID|INDEXED LP distinct exprlist RP filter_over expr ::= * ID|INDEXED LP STAR RP filter_over term ::= * CTIME_KW expr ::= * LP nexprlist COMMA expr RP expr ::= * expr AND expr expr ::= * expr OR expr expr ::= * expr LT|GT|GE|LE expr expr ::= * expr EQ|NE expr expr ::= * expr BITAND|BITOR|LSHIFT|RSHIFT expr expr ::= * expr PLUS|MINUS expr expr ::= * expr STAR|SLASH|REM expr expr ::= * expr CONCAT expr expr ::= * expr likeop expr expr ::= * expr likeop expr ESCAPE expr expr ::= * expr ISNULL|NOTNULL expr ::= * expr NOT NULL expr ::= * expr IS expr expr ::= * expr IS NOT expr expr ::= * expr IS NOT DISTINCT FROM expr expr ::= * expr IS DISTINCT FROM expr expr ::= * NOT expr expr ::= * BITNOT expr expr ::= * PLUS|MINUS expr expr ::= * expr PTR expr expr ::= * expr between_op expr AND expr expr ::= * expr in_op LP exprlist RP expr ::= * LP select RP expr ::= * expr in_op LP select RP expr ::= * expr in_op nm dbnm paren_exprlist expr ::= * EXISTS LP select RP expr ::= * CASE case_operand case_exprlist case_else END expr ::= * RAISE LP IGNORE RP expr ::= * RAISE LP raisetype COMMA nm RP NOT shift 111 EXISTS shift 560 LP shift 4 CAST shift 563 ID shift 445 RAISE shift 557 CTIME_KW shift-reduce 192 term ::= CTIME_KW PLUS shift 109 MINUS shift 109 BITNOT shift 110 INDEXED shift 445 STRING shift 570 JOIN_KW shift 569 NULL shift-reduce 182 term ::= NULL|FLOAT|BLOB FLOAT shift-reduce 182 term ::= NULL|FLOAT|BLOB BLOB shift-reduce 182 term ::= NULL|FLOAT|BLOB INTEGER shift-reduce 184 term ::= INTEGER VARIABLE shift-reduce 185 expr ::= VARIABLE CASE shift 27 nm shift 568 term shift 46 /* because term==expr */ expr shift 46 State 94: nm ::= * ID|INDEXED nm ::= * STRING nm ::= * JOIN_KW ccons ::= CHECK LP * expr RP expr ::= * term expr ::= * LP expr RP expr ::= * ID|INDEXED expr ::= * JOIN_KW expr ::= * nm DOT nm expr ::= * nm DOT nm DOT nm term ::= * NULL|FLOAT|BLOB term ::= * STRING term ::= * INTEGER expr ::= * VARIABLE expr ::= * expr COLLATE ID|STRING expr ::= * CAST LP expr AS typetoken RP expr ::= * ID|INDEXED LP distinct exprlist RP expr ::= * ID|INDEXED LP STAR RP expr ::= * ID|INDEXED LP distinct exprlist RP filter_over expr ::= * ID|INDEXED LP STAR RP filter_over term ::= * CTIME_KW expr ::= * LP nexprlist COMMA expr RP expr ::= * expr AND expr expr ::= * expr OR expr expr ::= * expr LT|GT|GE|LE expr expr ::= * expr EQ|NE expr expr ::= * expr BITAND|BITOR|LSHIFT|RSHIFT expr expr ::= * expr PLUS|MINUS expr expr ::= * expr STAR|SLASH|REM expr expr ::= * expr CONCAT expr expr ::= * expr likeop expr expr ::= * expr likeop expr ESCAPE expr expr ::= * expr ISNULL|NOTNULL expr ::= * expr NOT NULL expr ::= * expr IS expr expr ::= * expr IS NOT expr expr ::= * expr IS NOT DISTINCT FROM expr expr ::= * expr IS DISTINCT FROM expr expr ::= * NOT expr expr ::= * BITNOT expr expr ::= * PLUS|MINUS expr expr ::= * expr PTR expr expr ::= * expr between_op expr AND expr expr ::= * expr in_op LP exprlist RP expr ::= * LP select RP expr ::= * expr in_op LP select RP expr ::= * expr in_op nm dbnm paren_exprlist expr ::= * EXISTS LP select RP expr ::= * CASE case_operand case_exprlist case_else END expr ::= * RAISE LP IGNORE RP expr ::= * RAISE LP raisetype COMMA nm RP NOT shift 111 EXISTS shift 560 LP shift 4 CAST shift 563 ID shift 445 RAISE shift 557 CTIME_KW shift-reduce 192 term ::= CTIME_KW PLUS shift 109 MINUS shift 109 BITNOT shift 110 INDEXED shift 445 STRING shift 570 JOIN_KW shift 569 NULL shift-reduce 182 term ::= NULL|FLOAT|BLOB FLOAT shift-reduce 182 term ::= NULL|FLOAT|BLOB BLOB shift-reduce 182 term ::= NULL|FLOAT|BLOB INTEGER shift-reduce 184 term ::= INTEGER VARIABLE shift-reduce 185 expr ::= VARIABLE CASE shift 27 nm shift 568 term shift 47 /* because term==expr */ expr shift 47 State 95: nm ::= * ID|INDEXED nm ::= * STRING nm ::= * JOIN_KW expr ::= * term expr ::= * LP expr RP expr ::= * ID|INDEXED expr ::= * JOIN_KW expr ::= * nm DOT nm expr ::= * nm DOT nm DOT nm term ::= * NULL|FLOAT|BLOB term ::= * STRING term ::= * INTEGER expr ::= * VARIABLE expr ::= * expr COLLATE ID|STRING expr ::= * CAST LP expr AS typetoken RP expr ::= * ID|INDEXED LP distinct exprlist RP expr ::= * ID|INDEXED LP STAR RP expr ::= * ID|INDEXED LP distinct exprlist RP filter_over expr ::= * ID|INDEXED LP STAR RP filter_over term ::= * CTIME_KW expr ::= * LP nexprlist COMMA expr RP expr ::= * expr AND expr expr ::= * expr OR expr expr ::= * expr LT|GT|GE|LE expr expr ::= * expr EQ|NE expr expr ::= * expr BITAND|BITOR|LSHIFT|RSHIFT expr expr ::= * expr PLUS|MINUS expr expr ::= * expr STAR|SLASH|REM expr expr ::= * expr CONCAT expr expr ::= * expr likeop expr expr ::= * expr likeop expr ESCAPE expr expr ::= * expr ISNULL|NOTNULL expr ::= * expr NOT NULL expr ::= * expr IS expr expr ::= * expr IS NOT expr expr ::= * expr IS NOT DISTINCT FROM expr expr ::= * expr IS DISTINCT FROM expr expr ::= * NOT expr expr ::= * BITNOT expr expr ::= * PLUS|MINUS expr expr ::= * expr PTR expr expr ::= * expr between_op expr AND expr expr ::= * expr in_op LP exprlist RP expr ::= * LP select RP expr ::= * expr in_op LP select RP expr ::= * expr in_op nm dbnm paren_exprlist expr ::= * EXISTS LP select RP expr ::= * CASE case_operand case_exprlist case_else END expr ::= * RAISE LP IGNORE RP expr ::= * RAISE LP raisetype COMMA nm RP filter_clause ::= FILTER LP WHERE * expr RP NOT shift 111 EXISTS shift 560 LP shift 4 CAST shift 563 ID shift 445 RAISE shift 557 CTIME_KW shift-reduce 192 term ::= CTIME_KW PLUS shift 109 MINUS shift 109 BITNOT shift 110 INDEXED shift 445 STRING shift 570 JOIN_KW shift 569 NULL shift-reduce 182 term ::= NULL|FLOAT|BLOB FLOAT shift-reduce 182 term ::= NULL|FLOAT|BLOB BLOB shift-reduce 182 term ::= NULL|FLOAT|BLOB INTEGER shift-reduce 184 term ::= INTEGER VARIABLE shift-reduce 185 expr ::= VARIABLE CASE shift 27 nm shift 568 term shift 49 /* because term==expr */ expr shift 49 State 96: nm ::= * ID|INDEXED nm ::= * STRING nm ::= * JOIN_KW expr ::= * term expr ::= * LP expr RP expr ::= * ID|INDEXED expr ::= * JOIN_KW expr ::= * nm DOT nm expr ::= * nm DOT nm DOT nm term ::= * NULL|FLOAT|BLOB term ::= * STRING term ::= * INTEGER expr ::= * VARIABLE expr ::= * expr COLLATE ID|STRING expr ::= * CAST LP expr AS typetoken RP expr ::= * ID|INDEXED LP distinct exprlist RP expr ::= * ID|INDEXED LP STAR RP expr ::= * ID|INDEXED LP distinct exprlist RP filter_over expr ::= * ID|INDEXED LP STAR RP filter_over term ::= * CTIME_KW expr ::= * LP nexprlist COMMA expr RP expr ::= LP nexprlist COMMA * expr RP expr ::= * expr AND expr expr ::= * expr OR expr expr ::= * expr LT|GT|GE|LE expr expr ::= * expr EQ|NE expr expr ::= * expr BITAND|BITOR|LSHIFT|RSHIFT expr expr ::= * expr PLUS|MINUS expr expr ::= * expr STAR|SLASH|REM expr expr ::= * expr CONCAT expr expr ::= * expr likeop expr expr ::= * expr likeop expr ESCAPE expr expr ::= * expr ISNULL|NOTNULL expr ::= * expr NOT NULL expr ::= * expr IS expr expr ::= * expr IS NOT expr expr ::= * expr IS NOT DISTINCT FROM expr expr ::= * expr IS DISTINCT FROM expr expr ::= * NOT expr expr ::= * BITNOT expr expr ::= * PLUS|MINUS expr expr ::= * expr PTR expr expr ::= * expr between_op expr AND expr expr ::= * expr in_op LP exprlist RP expr ::= * LP select RP expr ::= * expr in_op LP select RP expr ::= * expr in_op nm dbnm paren_exprlist expr ::= * EXISTS LP select RP expr ::= * CASE case_operand case_exprlist case_else END nexprlist ::= nexprlist COMMA * expr expr ::= * RAISE LP IGNORE RP expr ::= * RAISE LP raisetype COMMA nm RP NOT shift 111 EXISTS shift 560 LP shift 4 CAST shift 563 ID shift 445 RAISE shift 557 CTIME_KW shift-reduce 192 term ::= CTIME_KW PLUS shift 109 MINUS shift 109 BITNOT shift 110 INDEXED shift 445 STRING shift 570 JOIN_KW shift 569 NULL shift-reduce 182 term ::= NULL|FLOAT|BLOB FLOAT shift-reduce 182 term ::= NULL|FLOAT|BLOB BLOB shift-reduce 182 term ::= NULL|FLOAT|BLOB INTEGER shift-reduce 184 term ::= INTEGER VARIABLE shift-reduce 185 expr ::= VARIABLE CASE shift 27 nm shift 568 term shift 50 /* because term==expr */ expr shift 50 State 97: nm ::= * ID|INDEXED nm ::= * STRING nm ::= * JOIN_KW on_using ::= ON * expr expr ::= * term expr ::= * LP expr RP expr ::= * ID|INDEXED expr ::= * JOIN_KW expr ::= * nm DOT nm expr ::= * nm DOT nm DOT nm term ::= * NULL|FLOAT|BLOB term ::= * STRING term ::= * INTEGER expr ::= * VARIABLE expr ::= * expr COLLATE ID|STRING expr ::= * CAST LP expr AS typetoken RP expr ::= * ID|INDEXED LP distinct exprlist RP expr ::= * ID|INDEXED LP STAR RP expr ::= * ID|INDEXED LP distinct exprlist RP filter_over expr ::= * ID|INDEXED LP STAR RP filter_over term ::= * CTIME_KW expr ::= * LP nexprlist COMMA expr RP expr ::= * expr AND expr expr ::= * expr OR expr expr ::= * expr LT|GT|GE|LE expr expr ::= * expr EQ|NE expr expr ::= * expr BITAND|BITOR|LSHIFT|RSHIFT expr expr ::= * expr PLUS|MINUS expr expr ::= * expr STAR|SLASH|REM expr expr ::= * expr CONCAT expr expr ::= * expr likeop expr expr ::= * expr likeop expr ESCAPE expr expr ::= * expr ISNULL|NOTNULL expr ::= * expr NOT NULL expr ::= * expr IS expr expr ::= * expr IS NOT expr expr ::= * expr IS NOT DISTINCT FROM expr expr ::= * expr IS DISTINCT FROM expr expr ::= * NOT expr expr ::= * BITNOT expr expr ::= * PLUS|MINUS expr expr ::= * expr PTR expr expr ::= * expr between_op expr AND expr expr ::= * expr in_op LP exprlist RP expr ::= * LP select RP expr ::= * expr in_op LP select RP expr ::= * expr in_op nm dbnm paren_exprlist expr ::= * EXISTS LP select RP expr ::= * CASE case_operand case_exprlist case_else END expr ::= * RAISE LP IGNORE RP expr ::= * RAISE LP raisetype COMMA nm RP NOT shift 111 EXISTS shift 560 LP shift 4 CAST shift 563 ID shift 445 RAISE shift 557 CTIME_KW shift-reduce 192 term ::= CTIME_KW PLUS shift 109 MINUS shift 109 BITNOT shift 110 INDEXED shift 445 STRING shift 570 JOIN_KW shift 569 NULL shift-reduce 182 term ::= NULL|FLOAT|BLOB FLOAT shift-reduce 182 term ::= NULL|FLOAT|BLOB BLOB shift-reduce 182 term ::= NULL|FLOAT|BLOB INTEGER shift-reduce 184 term ::= INTEGER VARIABLE shift-reduce 185 expr ::= VARIABLE CASE shift 27 nm shift 568 term shift 63 /* because term==expr */ expr shift 63 State 98: nm ::= * ID|INDEXED nm ::= * STRING nm ::= * JOIN_KW where_opt ::= WHERE * expr expr ::= * term expr ::= * LP expr RP expr ::= * ID|INDEXED expr ::= * JOIN_KW expr ::= * nm DOT nm expr ::= * nm DOT nm DOT nm term ::= * NULL|FLOAT|BLOB term ::= * STRING term ::= * INTEGER expr ::= * VARIABLE expr ::= * expr COLLATE ID|STRING expr ::= * CAST LP expr AS typetoken RP expr ::= * ID|INDEXED LP distinct exprlist RP expr ::= * ID|INDEXED LP STAR RP expr ::= * ID|INDEXED LP distinct exprlist RP filter_over expr ::= * ID|INDEXED LP STAR RP filter_over term ::= * CTIME_KW expr ::= * LP nexprlist COMMA expr RP expr ::= * expr AND expr expr ::= * expr OR expr expr ::= * expr LT|GT|GE|LE expr expr ::= * expr EQ|NE expr expr ::= * expr BITAND|BITOR|LSHIFT|RSHIFT expr expr ::= * expr PLUS|MINUS expr expr ::= * expr STAR|SLASH|REM expr expr ::= * expr CONCAT expr expr ::= * expr likeop expr expr ::= * expr likeop expr ESCAPE expr expr ::= * expr ISNULL|NOTNULL expr ::= * expr NOT NULL expr ::= * expr IS expr expr ::= * expr IS NOT expr expr ::= * expr IS NOT DISTINCT FROM expr expr ::= * expr IS DISTINCT FROM expr expr ::= * NOT expr expr ::= * BITNOT expr expr ::= * PLUS|MINUS expr expr ::= * expr PTR expr expr ::= * expr between_op expr AND expr expr ::= * expr in_op LP exprlist RP expr ::= * LP select RP expr ::= * expr in_op LP select RP expr ::= * expr in_op nm dbnm paren_exprlist expr ::= * EXISTS LP select RP expr ::= * CASE case_operand case_exprlist case_else END expr ::= * RAISE LP IGNORE RP expr ::= * RAISE LP raisetype COMMA nm RP NOT shift 111 EXISTS shift 560 LP shift 4 CAST shift 563 ID shift 445 RAISE shift 557 CTIME_KW shift-reduce 192 term ::= CTIME_KW PLUS shift 109 MINUS shift 109 BITNOT shift 110 INDEXED shift 445 STRING shift 570 JOIN_KW shift 569 NULL shift-reduce 182 term ::= NULL|FLOAT|BLOB FLOAT shift-reduce 182 term ::= NULL|FLOAT|BLOB BLOB shift-reduce 182 term ::= NULL|FLOAT|BLOB INTEGER shift-reduce 184 term ::= INTEGER VARIABLE shift-reduce 185 expr ::= VARIABLE CASE shift 27 nm shift 568 term shift 64 /* because term==expr */ expr shift 64 State 99: nm ::= * ID|INDEXED nm ::= * STRING nm ::= * JOIN_KW having_opt ::= HAVING * expr expr ::= * term expr ::= * LP expr RP expr ::= * ID|INDEXED expr ::= * JOIN_KW expr ::= * nm DOT nm expr ::= * nm DOT nm DOT nm term ::= * NULL|FLOAT|BLOB term ::= * STRING term ::= * INTEGER expr ::= * VARIABLE expr ::= * expr COLLATE ID|STRING expr ::= * CAST LP expr AS typetoken RP expr ::= * ID|INDEXED LP distinct exprlist RP expr ::= * ID|INDEXED LP STAR RP expr ::= * ID|INDEXED LP distinct exprlist RP filter_over expr ::= * ID|INDEXED LP STAR RP filter_over term ::= * CTIME_KW expr ::= * LP nexprlist COMMA expr RP expr ::= * expr AND expr expr ::= * expr OR expr expr ::= * expr LT|GT|GE|LE expr expr ::= * expr EQ|NE expr expr ::= * expr BITAND|BITOR|LSHIFT|RSHIFT expr expr ::= * expr PLUS|MINUS expr expr ::= * expr STAR|SLASH|REM expr expr ::= * expr CONCAT expr expr ::= * expr likeop expr expr ::= * expr likeop expr ESCAPE expr expr ::= * expr ISNULL|NOTNULL expr ::= * expr NOT NULL expr ::= * expr IS expr expr ::= * expr IS NOT expr expr ::= * expr IS NOT DISTINCT FROM expr expr ::= * expr IS DISTINCT FROM expr expr ::= * NOT expr expr ::= * BITNOT expr expr ::= * PLUS|MINUS expr expr ::= * expr PTR expr expr ::= * expr between_op expr AND expr expr ::= * expr in_op LP exprlist RP expr ::= * LP select RP expr ::= * expr in_op LP select RP expr ::= * expr in_op nm dbnm paren_exprlist expr ::= * EXISTS LP select RP expr ::= * CASE case_operand case_exprlist case_else END expr ::= * RAISE LP IGNORE RP expr ::= * RAISE LP raisetype COMMA nm RP NOT shift 111 EXISTS shift 560 LP shift 4 CAST shift 563 ID shift 445 RAISE shift 557 CTIME_KW shift-reduce 192 term ::= CTIME_KW PLUS shift 109 MINUS shift 109 BITNOT shift 110 INDEXED shift 445 STRING shift 570 JOIN_KW shift 569 NULL shift-reduce 182 term ::= NULL|FLOAT|BLOB FLOAT shift-reduce 182 term ::= NULL|FLOAT|BLOB BLOB shift-reduce 182 term ::= NULL|FLOAT|BLOB INTEGER shift-reduce 184 term ::= INTEGER VARIABLE shift-reduce 185 expr ::= VARIABLE CASE shift 27 nm shift 568 term shift 65 /* because term==expr */ expr shift 65 State 100: nm ::= * ID|INDEXED nm ::= * STRING nm ::= * JOIN_KW sortlist ::= sortlist COMMA * expr sortorder nulls expr ::= * term expr ::= * LP expr RP expr ::= * ID|INDEXED expr ::= * JOIN_KW expr ::= * nm DOT nm expr ::= * nm DOT nm DOT nm term ::= * NULL|FLOAT|BLOB term ::= * STRING term ::= * INTEGER expr ::= * VARIABLE expr ::= * expr COLLATE ID|STRING expr ::= * CAST LP expr AS typetoken RP expr ::= * ID|INDEXED LP distinct exprlist RP expr ::= * ID|INDEXED LP STAR RP expr ::= * ID|INDEXED LP distinct exprlist RP filter_over expr ::= * ID|INDEXED LP STAR RP filter_over term ::= * CTIME_KW expr ::= * LP nexprlist COMMA expr RP expr ::= * expr AND expr expr ::= * expr OR expr expr ::= * expr LT|GT|GE|LE expr expr ::= * expr EQ|NE expr expr ::= * expr BITAND|BITOR|LSHIFT|RSHIFT expr expr ::= * expr PLUS|MINUS expr expr ::= * expr STAR|SLASH|REM expr expr ::= * expr CONCAT expr expr ::= * expr likeop expr expr ::= * expr likeop expr ESCAPE expr expr ::= * expr ISNULL|NOTNULL expr ::= * expr NOT NULL expr ::= * expr IS expr expr ::= * expr IS NOT expr expr ::= * expr IS NOT DISTINCT FROM expr expr ::= * expr IS DISTINCT FROM expr expr ::= * NOT expr expr ::= * BITNOT expr expr ::= * PLUS|MINUS expr expr ::= * expr PTR expr expr ::= * expr between_op expr AND expr expr ::= * expr in_op LP exprlist RP expr ::= * LP select RP expr ::= * expr in_op LP select RP expr ::= * expr in_op nm dbnm paren_exprlist expr ::= * EXISTS LP select RP expr ::= * CASE case_operand case_exprlist case_else END expr ::= * RAISE LP IGNORE RP expr ::= * RAISE LP raisetype COMMA nm RP NOT shift 111 EXISTS shift 560 LP shift 4 CAST shift 563 ID shift 445 RAISE shift 557 CTIME_KW shift-reduce 192 term ::= CTIME_KW PLUS shift 109 MINUS shift 109 BITNOT shift 110 INDEXED shift 445 STRING shift 570 JOIN_KW shift 569 NULL shift-reduce 182 term ::= NULL|FLOAT|BLOB FLOAT shift-reduce 182 term ::= NULL|FLOAT|BLOB BLOB shift-reduce 182 term ::= NULL|FLOAT|BLOB INTEGER shift-reduce 184 term ::= INTEGER VARIABLE shift-reduce 185 expr ::= VARIABLE CASE shift 27 nm shift 568 term shift 14 /* because term==expr */ expr shift 14 State 101: nm ::= * ID|INDEXED nm ::= * STRING nm ::= * JOIN_KW limit_opt ::= LIMIT expr COMMA * expr expr ::= * term expr ::= * LP expr RP expr ::= * ID|INDEXED expr ::= * JOIN_KW expr ::= * nm DOT nm expr ::= * nm DOT nm DOT nm term ::= * NULL|FLOAT|BLOB term ::= * STRING term ::= * INTEGER expr ::= * VARIABLE expr ::= * expr COLLATE ID|STRING expr ::= * CAST LP expr AS typetoken RP expr ::= * ID|INDEXED LP distinct exprlist RP expr ::= * ID|INDEXED LP STAR RP expr ::= * ID|INDEXED LP distinct exprlist RP filter_over expr ::= * ID|INDEXED LP STAR RP filter_over term ::= * CTIME_KW expr ::= * LP nexprlist COMMA expr RP expr ::= * expr AND expr expr ::= * expr OR expr expr ::= * expr LT|GT|GE|LE expr expr ::= * expr EQ|NE expr expr ::= * expr BITAND|BITOR|LSHIFT|RSHIFT expr expr ::= * expr PLUS|MINUS expr expr ::= * expr STAR|SLASH|REM expr expr ::= * expr CONCAT expr expr ::= * expr likeop expr expr ::= * expr likeop expr ESCAPE expr expr ::= * expr ISNULL|NOTNULL expr ::= * expr NOT NULL expr ::= * expr IS expr expr ::= * expr IS NOT expr expr ::= * expr IS NOT DISTINCT FROM expr expr ::= * expr IS DISTINCT FROM expr expr ::= * NOT expr expr ::= * BITNOT expr expr ::= * PLUS|MINUS expr expr ::= * expr PTR expr expr ::= * expr between_op expr AND expr expr ::= * expr in_op LP exprlist RP expr ::= * LP select RP expr ::= * expr in_op LP select RP expr ::= * expr in_op nm dbnm paren_exprlist expr ::= * EXISTS LP select RP expr ::= * CASE case_operand case_exprlist case_else END expr ::= * RAISE LP IGNORE RP expr ::= * RAISE LP raisetype COMMA nm RP NOT shift 111 EXISTS shift 560 LP shift 4 CAST shift 563 ID shift 445 RAISE shift 557 CTIME_KW shift-reduce 192 term ::= CTIME_KW PLUS shift 109 MINUS shift 109 BITNOT shift 110 INDEXED shift 445 STRING shift 570 JOIN_KW shift 569 NULL shift-reduce 182 term ::= NULL|FLOAT|BLOB FLOAT shift-reduce 182 term ::= NULL|FLOAT|BLOB BLOB shift-reduce 182 term ::= NULL|FLOAT|BLOB INTEGER shift-reduce 184 term ::= INTEGER VARIABLE shift-reduce 185 expr ::= VARIABLE CASE shift 27 nm shift 568 term shift 66 /* because term==expr */ expr shift 66 State 102: nm ::= * ID|INDEXED nm ::= * STRING nm ::= * JOIN_KW expr ::= * term expr ::= * LP expr RP expr ::= * ID|INDEXED expr ::= * JOIN_KW expr ::= * nm DOT nm expr ::= * nm DOT nm DOT nm term ::= * NULL|FLOAT|BLOB term ::= * STRING term ::= * INTEGER expr ::= * VARIABLE expr ::= * expr COLLATE ID|STRING expr ::= * CAST LP expr AS typetoken RP expr ::= * ID|INDEXED LP distinct exprlist RP expr ::= * ID|INDEXED LP STAR RP expr ::= * ID|INDEXED LP distinct exprlist RP filter_over expr ::= * ID|INDEXED LP STAR RP filter_over term ::= * CTIME_KW expr ::= * LP nexprlist COMMA expr RP expr ::= * expr AND expr expr ::= * expr OR expr expr ::= * expr LT|GT|GE|LE expr expr ::= * expr EQ|NE expr expr ::= * expr BITAND|BITOR|LSHIFT|RSHIFT expr expr ::= * expr PLUS|MINUS expr expr ::= * expr STAR|SLASH|REM expr expr ::= * expr CONCAT expr expr ::= * expr likeop expr expr ::= * expr likeop expr ESCAPE expr expr ::= * expr ISNULL|NOTNULL expr ::= * expr NOT NULL expr ::= * expr IS expr expr ::= * expr IS NOT expr expr ::= * expr IS NOT DISTINCT FROM expr expr ::= * expr IS DISTINCT FROM expr expr ::= expr IS DISTINCT FROM * expr expr ::= * NOT expr expr ::= * BITNOT expr expr ::= * PLUS|MINUS expr expr ::= * expr PTR expr expr ::= * expr between_op expr AND expr expr ::= * expr in_op LP exprlist RP expr ::= * LP select RP expr ::= * expr in_op LP select RP expr ::= * expr in_op nm dbnm paren_exprlist expr ::= * EXISTS LP select RP expr ::= * CASE case_operand case_exprlist case_else END expr ::= * RAISE LP IGNORE RP expr ::= * RAISE LP raisetype COMMA nm RP NOT shift 111 EXISTS shift 560 LP shift 4 CAST shift 563 ID shift 445 RAISE shift 557 CTIME_KW shift-reduce 192 term ::= CTIME_KW PLUS shift 109 MINUS shift 109 BITNOT shift 110 INDEXED shift 445 STRING shift 570 JOIN_KW shift 569 NULL shift-reduce 182 term ::= NULL|FLOAT|BLOB FLOAT shift-reduce 182 term ::= NULL|FLOAT|BLOB BLOB shift-reduce 182 term ::= NULL|FLOAT|BLOB INTEGER shift-reduce 184 term ::= INTEGER VARIABLE shift-reduce 185 expr ::= VARIABLE CASE shift 27 nm shift 568 term shift 131 /* because term==expr */ expr shift 131 State 103: nm ::= * ID|INDEXED nm ::= * STRING nm ::= * JOIN_KW expr ::= * term expr ::= * LP expr RP expr ::= * ID|INDEXED expr ::= * JOIN_KW expr ::= * nm DOT nm expr ::= * nm DOT nm DOT nm term ::= * NULL|FLOAT|BLOB term ::= * STRING term ::= * INTEGER expr ::= * VARIABLE expr ::= * expr COLLATE ID|STRING expr ::= * CAST LP expr AS typetoken RP expr ::= * ID|INDEXED LP distinct exprlist RP expr ::= * ID|INDEXED LP STAR RP expr ::= * ID|INDEXED LP distinct exprlist RP filter_over expr ::= * ID|INDEXED LP STAR RP filter_over term ::= * CTIME_KW expr ::= * LP nexprlist COMMA expr RP expr ::= * expr AND expr expr ::= * expr OR expr expr ::= * expr LT|GT|GE|LE expr expr ::= * expr EQ|NE expr expr ::= * expr BITAND|BITOR|LSHIFT|RSHIFT expr expr ::= * expr PLUS|MINUS expr expr ::= * expr STAR|SLASH|REM expr expr ::= * expr CONCAT expr expr ::= * expr likeop expr expr ::= * expr likeop expr ESCAPE expr expr ::= * expr ISNULL|NOTNULL expr ::= * expr NOT NULL expr ::= * expr IS expr expr ::= * expr IS NOT expr expr ::= * expr IS NOT DISTINCT FROM expr expr ::= expr IS NOT DISTINCT FROM * expr expr ::= * expr IS DISTINCT FROM expr expr ::= * NOT expr expr ::= * BITNOT expr expr ::= * PLUS|MINUS expr expr ::= * expr PTR expr expr ::= * expr between_op expr AND expr expr ::= * expr in_op LP exprlist RP expr ::= * LP select RP expr ::= * expr in_op LP select RP expr ::= * expr in_op nm dbnm paren_exprlist expr ::= * EXISTS LP select RP expr ::= * CASE case_operand case_exprlist case_else END expr ::= * RAISE LP IGNORE RP expr ::= * RAISE LP raisetype COMMA nm RP NOT shift 111 EXISTS shift 560 LP shift 4 CAST shift 563 ID shift 445 RAISE shift 557 CTIME_KW shift-reduce 192 term ::= CTIME_KW PLUS shift 109 MINUS shift 109 BITNOT shift 110 INDEXED shift 445 STRING shift 570 JOIN_KW shift 569 NULL shift-reduce 182 term ::= NULL|FLOAT|BLOB FLOAT shift-reduce 182 term ::= NULL|FLOAT|BLOB BLOB shift-reduce 182 term ::= NULL|FLOAT|BLOB INTEGER shift-reduce 184 term ::= INTEGER VARIABLE shift-reduce 185 expr ::= VARIABLE CASE shift 27 nm shift 568 term shift 132 /* because term==expr */ expr shift 132 State 104: nm ::= * ID|INDEXED nm ::= * STRING nm ::= * JOIN_KW expr ::= * term expr ::= * LP expr RP expr ::= * ID|INDEXED expr ::= * JOIN_KW expr ::= * nm DOT nm expr ::= * nm DOT nm DOT nm term ::= * NULL|FLOAT|BLOB term ::= * STRING term ::= * INTEGER expr ::= * VARIABLE expr ::= * expr COLLATE ID|STRING expr ::= * CAST LP expr AS typetoken RP expr ::= * ID|INDEXED LP distinct exprlist RP expr ::= * ID|INDEXED LP STAR RP expr ::= * ID|INDEXED LP distinct exprlist RP filter_over expr ::= * ID|INDEXED LP STAR RP filter_over term ::= * CTIME_KW expr ::= * LP nexprlist COMMA expr RP expr ::= * expr AND expr expr ::= * expr OR expr expr ::= * expr LT|GT|GE|LE expr expr ::= * expr EQ|NE expr expr ::= * expr BITAND|BITOR|LSHIFT|RSHIFT expr expr ::= * expr PLUS|MINUS expr expr ::= * expr STAR|SLASH|REM expr expr ::= * expr CONCAT expr expr ::= * expr likeop expr expr ::= * expr likeop expr ESCAPE expr expr ::= * expr ISNULL|NOTNULL expr ::= * expr NOT NULL expr ::= * expr IS expr expr ::= * expr IS NOT expr expr ::= * expr IS NOT DISTINCT FROM expr expr ::= * expr IS DISTINCT FROM expr expr ::= * NOT expr expr ::= * BITNOT expr expr ::= * PLUS|MINUS expr expr ::= * expr PTR expr expr ::= * expr between_op expr AND expr expr ::= * expr in_op LP exprlist RP expr ::= * LP select RP expr ::= * expr in_op LP select RP expr ::= * expr in_op nm dbnm paren_exprlist expr ::= * EXISTS LP select RP expr ::= * CASE case_operand case_exprlist case_else END case_exprlist ::= WHEN expr THEN * expr expr ::= * RAISE LP IGNORE RP expr ::= * RAISE LP raisetype COMMA nm RP NOT shift 111 EXISTS shift 560 LP shift 4 CAST shift 563 ID shift 445 RAISE shift 557 CTIME_KW shift-reduce 192 term ::= CTIME_KW PLUS shift 109 MINUS shift 109 BITNOT shift 110 INDEXED shift 445 STRING shift 570 JOIN_KW shift 569 NULL shift-reduce 182 term ::= NULL|FLOAT|BLOB FLOAT shift-reduce 182 term ::= NULL|FLOAT|BLOB BLOB shift-reduce 182 term ::= NULL|FLOAT|BLOB INTEGER shift-reduce 184 term ::= INTEGER VARIABLE shift-reduce 185 expr ::= VARIABLE CASE shift 27 nm shift 568 term shift 67 /* because term==expr */ expr shift 67 State 105: nm ::= * ID|INDEXED nm ::= * STRING nm ::= * JOIN_KW expr ::= * term expr ::= * LP expr RP expr ::= * ID|INDEXED expr ::= * JOIN_KW expr ::= * nm DOT nm expr ::= * nm DOT nm DOT nm term ::= * NULL|FLOAT|BLOB term ::= * STRING term ::= * INTEGER expr ::= * VARIABLE expr ::= * expr COLLATE ID|STRING expr ::= * CAST LP expr AS typetoken RP expr ::= * ID|INDEXED LP distinct exprlist RP expr ::= * ID|INDEXED LP STAR RP expr ::= * ID|INDEXED LP distinct exprlist RP filter_over expr ::= * ID|INDEXED LP STAR RP filter_over term ::= * CTIME_KW expr ::= * LP nexprlist COMMA expr RP expr ::= * expr AND expr expr ::= * expr OR expr expr ::= * expr LT|GT|GE|LE expr expr ::= * expr EQ|NE expr expr ::= * expr BITAND|BITOR|LSHIFT|RSHIFT expr expr ::= * expr PLUS|MINUS expr expr ::= * expr STAR|SLASH|REM expr expr ::= * expr CONCAT expr expr ::= * expr likeop expr expr ::= * expr likeop expr ESCAPE expr expr ::= * expr ISNULL|NOTNULL expr ::= * expr NOT NULL expr ::= * expr IS expr expr ::= * expr IS NOT expr expr ::= * expr IS NOT DISTINCT FROM expr expr ::= * expr IS DISTINCT FROM expr expr ::= * NOT expr expr ::= * BITNOT expr expr ::= * PLUS|MINUS expr expr ::= * expr PTR expr expr ::= * expr between_op expr AND expr expr ::= * expr in_op LP exprlist RP expr ::= * LP select RP expr ::= * expr in_op LP select RP expr ::= * expr in_op nm dbnm paren_exprlist expr ::= * EXISTS LP select RP expr ::= * CASE case_operand case_exprlist case_else END case_exprlist ::= WHEN * expr THEN expr expr ::= * RAISE LP IGNORE RP expr ::= * RAISE LP raisetype COMMA nm RP NOT shift 111 EXISTS shift 560 LP shift 4 CAST shift 563 ID shift 445 RAISE shift 557 CTIME_KW shift-reduce 192 term ::= CTIME_KW PLUS shift 109 MINUS shift 109 BITNOT shift 110 INDEXED shift 445 STRING shift 570 JOIN_KW shift 569 NULL shift-reduce 182 term ::= NULL|FLOAT|BLOB FLOAT shift-reduce 182 term ::= NULL|FLOAT|BLOB BLOB shift-reduce 182 term ::= NULL|FLOAT|BLOB INTEGER shift-reduce 184 term ::= INTEGER VARIABLE shift-reduce 185 expr ::= VARIABLE CASE shift 27 nm shift 568 term shift 52 /* because term==expr */ expr shift 52 State 106: nm ::= * ID|INDEXED nm ::= * STRING nm ::= * JOIN_KW expr ::= * term expr ::= * LP expr RP expr ::= * ID|INDEXED expr ::= * JOIN_KW expr ::= * nm DOT nm expr ::= * nm DOT nm DOT nm term ::= * NULL|FLOAT|BLOB term ::= * STRING term ::= * INTEGER expr ::= * VARIABLE expr ::= * expr COLLATE ID|STRING expr ::= * CAST LP expr AS typetoken RP expr ::= * ID|INDEXED LP distinct exprlist RP expr ::= * ID|INDEXED LP STAR RP expr ::= * ID|INDEXED LP distinct exprlist RP filter_over expr ::= * ID|INDEXED LP STAR RP filter_over term ::= * CTIME_KW expr ::= * LP nexprlist COMMA expr RP expr ::= * expr AND expr expr ::= * expr OR expr expr ::= * expr LT|GT|GE|LE expr expr ::= * expr EQ|NE expr expr ::= * expr BITAND|BITOR|LSHIFT|RSHIFT expr expr ::= * expr PLUS|MINUS expr expr ::= * expr STAR|SLASH|REM expr expr ::= * expr CONCAT expr expr ::= * expr likeop expr expr ::= * expr likeop expr ESCAPE expr expr ::= * expr ISNULL|NOTNULL expr ::= * expr NOT NULL expr ::= * expr IS expr expr ::= * expr IS NOT expr expr ::= * expr IS NOT DISTINCT FROM expr expr ::= * expr IS DISTINCT FROM expr expr ::= * NOT expr expr ::= * BITNOT expr expr ::= * PLUS|MINUS expr expr ::= * expr PTR expr expr ::= * expr between_op expr AND expr expr ::= * expr in_op LP exprlist RP expr ::= * LP select RP expr ::= * expr in_op LP select RP expr ::= * expr in_op nm dbnm paren_exprlist expr ::= * EXISTS LP select RP expr ::= * CASE case_operand case_exprlist case_else END case_else ::= ELSE * expr expr ::= * RAISE LP IGNORE RP expr ::= * RAISE LP raisetype COMMA nm RP NOT shift 111 EXISTS shift 560 LP shift 4 CAST shift 563 ID shift 445 RAISE shift 557 CTIME_KW shift-reduce 192 term ::= CTIME_KW PLUS shift 109 MINUS shift 109 BITNOT shift 110 INDEXED shift 445 STRING shift 570 JOIN_KW shift 569 NULL shift-reduce 182 term ::= NULL|FLOAT|BLOB FLOAT shift-reduce 182 term ::= NULL|FLOAT|BLOB BLOB shift-reduce 182 term ::= NULL|FLOAT|BLOB INTEGER shift-reduce 184 term ::= INTEGER VARIABLE shift-reduce 185 expr ::= VARIABLE CASE shift 27 nm shift 568 term shift 68 /* because term==expr */ expr shift 68 State 107: nm ::= * ID|INDEXED nm ::= * STRING nm ::= * JOIN_KW expr ::= * term expr ::= * LP expr RP expr ::= * ID|INDEXED expr ::= * JOIN_KW expr ::= * nm DOT nm expr ::= * nm DOT nm DOT nm term ::= * NULL|FLOAT|BLOB term ::= * STRING term ::= * INTEGER expr ::= * VARIABLE expr ::= * expr COLLATE ID|STRING expr ::= * CAST LP expr AS typetoken RP expr ::= * ID|INDEXED LP distinct exprlist RP expr ::= * ID|INDEXED LP STAR RP expr ::= * ID|INDEXED LP distinct exprlist RP filter_over expr ::= * ID|INDEXED LP STAR RP filter_over term ::= * CTIME_KW expr ::= * LP nexprlist COMMA expr RP expr ::= * expr AND expr expr ::= * expr OR expr expr ::= * expr LT|GT|GE|LE expr expr ::= * expr EQ|NE expr expr ::= * expr BITAND|BITOR|LSHIFT|RSHIFT expr expr ::= * expr PLUS|MINUS expr expr ::= * expr STAR|SLASH|REM expr expr ::= * expr CONCAT expr expr ::= * expr likeop expr expr ::= * expr likeop expr ESCAPE expr expr ::= * expr ISNULL|NOTNULL expr ::= * expr NOT NULL expr ::= * expr IS expr expr ::= * expr IS NOT expr expr ::= * expr IS NOT DISTINCT FROM expr expr ::= * expr IS DISTINCT FROM expr expr ::= * NOT expr expr ::= * BITNOT expr expr ::= * PLUS|MINUS expr expr ::= * expr PTR expr expr ::= * expr between_op expr AND expr expr ::= * expr in_op LP exprlist RP expr ::= * LP select RP expr ::= * expr in_op LP select RP expr ::= * expr in_op nm dbnm paren_exprlist expr ::= * EXISTS LP select RP expr ::= * CASE case_operand case_exprlist case_else END case_exprlist ::= case_exprlist WHEN expr THEN * expr expr ::= * RAISE LP IGNORE RP expr ::= * RAISE LP raisetype COMMA nm RP NOT shift 111 EXISTS shift 560 LP shift 4 CAST shift 563 ID shift 445 RAISE shift 557 CTIME_KW shift-reduce 192 term ::= CTIME_KW PLUS shift 109 MINUS shift 109 BITNOT shift 110 INDEXED shift 445 STRING shift 570 JOIN_KW shift 569 NULL shift-reduce 182 term ::= NULL|FLOAT|BLOB FLOAT shift-reduce 182 term ::= NULL|FLOAT|BLOB BLOB shift-reduce 182 term ::= NULL|FLOAT|BLOB INTEGER shift-reduce 184 term ::= INTEGER VARIABLE shift-reduce 185 expr ::= VARIABLE CASE shift 27 nm shift 568 term shift 69 /* because term==expr */ expr shift 69 State 108: nm ::= * ID|INDEXED nm ::= * STRING nm ::= * JOIN_KW expr ::= * term expr ::= * LP expr RP expr ::= * ID|INDEXED expr ::= * JOIN_KW expr ::= * nm DOT nm expr ::= * nm DOT nm DOT nm term ::= * NULL|FLOAT|BLOB term ::= * STRING term ::= * INTEGER expr ::= * VARIABLE expr ::= * expr COLLATE ID|STRING expr ::= * CAST LP expr AS typetoken RP expr ::= * ID|INDEXED LP distinct exprlist RP expr ::= * ID|INDEXED LP STAR RP expr ::= * ID|INDEXED LP distinct exprlist RP filter_over expr ::= * ID|INDEXED LP STAR RP filter_over term ::= * CTIME_KW expr ::= * LP nexprlist COMMA expr RP expr ::= * expr AND expr expr ::= * expr OR expr expr ::= * expr LT|GT|GE|LE expr expr ::= * expr EQ|NE expr expr ::= * expr BITAND|BITOR|LSHIFT|RSHIFT expr expr ::= * expr PLUS|MINUS expr expr ::= * expr STAR|SLASH|REM expr expr ::= * expr CONCAT expr expr ::= * expr likeop expr expr ::= * expr likeop expr ESCAPE expr expr ::= * expr ISNULL|NOTNULL expr ::= * expr NOT NULL expr ::= * expr IS expr expr ::= * expr IS NOT expr expr ::= * expr IS NOT DISTINCT FROM expr expr ::= * expr IS DISTINCT FROM expr expr ::= * NOT expr expr ::= * BITNOT expr expr ::= * PLUS|MINUS expr expr ::= * expr PTR expr expr ::= * expr between_op expr AND expr expr ::= * expr in_op LP exprlist RP expr ::= * LP select RP expr ::= * expr in_op LP select RP expr ::= * expr in_op nm dbnm paren_exprlist expr ::= * EXISTS LP select RP expr ::= * CASE case_operand case_exprlist case_else END case_exprlist ::= case_exprlist WHEN * expr THEN expr expr ::= * RAISE LP IGNORE RP expr ::= * RAISE LP raisetype COMMA nm RP NOT shift 111 EXISTS shift 560 LP shift 4 CAST shift 563 ID shift 445 RAISE shift 557 CTIME_KW shift-reduce 192 term ::= CTIME_KW PLUS shift 109 MINUS shift 109 BITNOT shift 110 INDEXED shift 445 STRING shift 570 JOIN_KW shift 569 NULL shift-reduce 182 term ::= NULL|FLOAT|BLOB FLOAT shift-reduce 182 term ::= NULL|FLOAT|BLOB BLOB shift-reduce 182 term ::= NULL|FLOAT|BLOB INTEGER shift-reduce 184 term ::= INTEGER VARIABLE shift-reduce 185 expr ::= VARIABLE CASE shift 27 nm shift 568 term shift 53 /* because term==expr */ expr shift 53 State 109: nm ::= * ID|INDEXED nm ::= * STRING nm ::= * JOIN_KW expr ::= * term expr ::= * LP expr RP expr ::= * ID|INDEXED expr ::= * JOIN_KW expr ::= * nm DOT nm expr ::= * nm DOT nm DOT nm term ::= * NULL|FLOAT|BLOB term ::= * STRING term ::= * INTEGER expr ::= * VARIABLE expr ::= * expr COLLATE ID|STRING expr ::= * CAST LP expr AS typetoken RP expr ::= * ID|INDEXED LP distinct exprlist RP expr ::= * ID|INDEXED LP STAR RP expr ::= * ID|INDEXED LP distinct exprlist RP filter_over expr ::= * ID|INDEXED LP STAR RP filter_over term ::= * CTIME_KW expr ::= * LP nexprlist COMMA expr RP expr ::= * expr AND expr expr ::= * expr OR expr expr ::= * expr LT|GT|GE|LE expr expr ::= * expr EQ|NE expr expr ::= * expr BITAND|BITOR|LSHIFT|RSHIFT expr expr ::= * expr PLUS|MINUS expr expr ::= * expr STAR|SLASH|REM expr expr ::= * expr CONCAT expr expr ::= * expr likeop expr expr ::= * expr likeop expr ESCAPE expr expr ::= * expr ISNULL|NOTNULL expr ::= * expr NOT NULL expr ::= * expr IS expr expr ::= * expr IS NOT expr expr ::= * expr IS NOT DISTINCT FROM expr expr ::= * expr IS DISTINCT FROM expr expr ::= * NOT expr expr ::= * BITNOT expr expr ::= * PLUS|MINUS expr expr ::= PLUS|MINUS * expr expr ::= * expr PTR expr expr ::= * expr between_op expr AND expr expr ::= * expr in_op LP exprlist RP expr ::= * LP select RP expr ::= * expr in_op LP select RP expr ::= * expr in_op nm dbnm paren_exprlist expr ::= * EXISTS LP select RP expr ::= * CASE case_operand case_exprlist case_else END expr ::= * RAISE LP IGNORE RP expr ::= * RAISE LP raisetype COMMA nm RP NOT shift 111 EXISTS shift 560 LP shift 4 CAST shift 563 ID shift 445 RAISE shift 557 CTIME_KW shift-reduce 192 term ::= CTIME_KW PLUS shift 109 MINUS shift 109 BITNOT shift 110 INDEXED shift 445 STRING shift 570 JOIN_KW shift 569 NULL shift-reduce 182 term ::= NULL|FLOAT|BLOB FLOAT shift-reduce 182 term ::= NULL|FLOAT|BLOB BLOB shift-reduce 182 term ::= NULL|FLOAT|BLOB INTEGER shift-reduce 184 term ::= INTEGER VARIABLE shift-reduce 185 expr ::= VARIABLE CASE shift 27 nm shift 568 term shift 163 /* because term==expr */ expr shift 163 State 110: nm ::= * ID|INDEXED nm ::= * STRING nm ::= * JOIN_KW expr ::= * term expr ::= * LP expr RP expr ::= * ID|INDEXED expr ::= * JOIN_KW expr ::= * nm DOT nm expr ::= * nm DOT nm DOT nm term ::= * NULL|FLOAT|BLOB term ::= * STRING term ::= * INTEGER expr ::= * VARIABLE expr ::= * expr COLLATE ID|STRING expr ::= * CAST LP expr AS typetoken RP expr ::= * ID|INDEXED LP distinct exprlist RP expr ::= * ID|INDEXED LP STAR RP expr ::= * ID|INDEXED LP distinct exprlist RP filter_over expr ::= * ID|INDEXED LP STAR RP filter_over term ::= * CTIME_KW expr ::= * LP nexprlist COMMA expr RP expr ::= * expr AND expr expr ::= * expr OR expr expr ::= * expr LT|GT|GE|LE expr expr ::= * expr EQ|NE expr expr ::= * expr BITAND|BITOR|LSHIFT|RSHIFT expr expr ::= * expr PLUS|MINUS expr expr ::= * expr STAR|SLASH|REM expr expr ::= * expr CONCAT expr expr ::= * expr likeop expr expr ::= * expr likeop expr ESCAPE expr expr ::= * expr ISNULL|NOTNULL expr ::= * expr NOT NULL expr ::= * expr IS expr expr ::= * expr IS NOT expr expr ::= * expr IS NOT DISTINCT FROM expr expr ::= * expr IS DISTINCT FROM expr expr ::= * NOT expr expr ::= * BITNOT expr expr ::= BITNOT * expr expr ::= * PLUS|MINUS expr expr ::= * expr PTR expr expr ::= * expr between_op expr AND expr expr ::= * expr in_op LP exprlist RP expr ::= * LP select RP expr ::= * expr in_op LP select RP expr ::= * expr in_op nm dbnm paren_exprlist expr ::= * EXISTS LP select RP expr ::= * CASE case_operand case_exprlist case_else END expr ::= * RAISE LP IGNORE RP expr ::= * RAISE LP raisetype COMMA nm RP NOT shift 111 EXISTS shift 560 LP shift 4 CAST shift 563 ID shift 445 RAISE shift 557 CTIME_KW shift-reduce 192 term ::= CTIME_KW PLUS shift 109 MINUS shift 109 BITNOT shift 110 INDEXED shift 445 STRING shift 570 JOIN_KW shift 569 NULL shift-reduce 182 term ::= NULL|FLOAT|BLOB FLOAT shift-reduce 182 term ::= NULL|FLOAT|BLOB BLOB shift-reduce 182 term ::= NULL|FLOAT|BLOB INTEGER shift-reduce 184 term ::= INTEGER VARIABLE shift-reduce 185 expr ::= VARIABLE CASE shift 27 nm shift 568 term shift 164 /* because term==expr */ expr shift 164 State 111: nm ::= * ID|INDEXED nm ::= * STRING nm ::= * JOIN_KW expr ::= * term expr ::= * LP expr RP expr ::= * ID|INDEXED expr ::= * JOIN_KW expr ::= * nm DOT nm expr ::= * nm DOT nm DOT nm term ::= * NULL|FLOAT|BLOB term ::= * STRING term ::= * INTEGER expr ::= * VARIABLE expr ::= * expr COLLATE ID|STRING expr ::= * CAST LP expr AS typetoken RP expr ::= * ID|INDEXED LP distinct exprlist RP expr ::= * ID|INDEXED LP STAR RP expr ::= * ID|INDEXED LP distinct exprlist RP filter_over expr ::= * ID|INDEXED LP STAR RP filter_over term ::= * CTIME_KW expr ::= * LP nexprlist COMMA expr RP expr ::= * expr AND expr expr ::= * expr OR expr expr ::= * expr LT|GT|GE|LE expr expr ::= * expr EQ|NE expr expr ::= * expr BITAND|BITOR|LSHIFT|RSHIFT expr expr ::= * expr PLUS|MINUS expr expr ::= * expr STAR|SLASH|REM expr expr ::= * expr CONCAT expr expr ::= * expr likeop expr expr ::= * expr likeop expr ESCAPE expr expr ::= * expr ISNULL|NOTNULL expr ::= * expr NOT NULL expr ::= * expr IS expr expr ::= * expr IS NOT expr expr ::= * expr IS NOT DISTINCT FROM expr expr ::= * expr IS DISTINCT FROM expr expr ::= * NOT expr expr ::= NOT * expr expr ::= * BITNOT expr expr ::= * PLUS|MINUS expr expr ::= * expr PTR expr expr ::= * expr between_op expr AND expr expr ::= * expr in_op LP exprlist RP expr ::= * LP select RP expr ::= * expr in_op LP select RP expr ::= * expr in_op nm dbnm paren_exprlist expr ::= * EXISTS LP select RP expr ::= * CASE case_operand case_exprlist case_else END expr ::= * RAISE LP IGNORE RP expr ::= * RAISE LP raisetype COMMA nm RP NOT shift 111 EXISTS shift 560 LP shift 4 CAST shift 563 ID shift 445 RAISE shift 557 CTIME_KW shift-reduce 192 term ::= CTIME_KW PLUS shift 109 MINUS shift 109 BITNOT shift 110 INDEXED shift 445 STRING shift 570 JOIN_KW shift 569 NULL shift-reduce 182 term ::= NULL|FLOAT|BLOB FLOAT shift-reduce 182 term ::= NULL|FLOAT|BLOB BLOB shift-reduce 182 term ::= NULL|FLOAT|BLOB INTEGER shift-reduce 184 term ::= INTEGER VARIABLE shift-reduce 185 expr ::= VARIABLE CASE shift 27 nm shift 568 term shift 76 /* because term==expr */ expr shift 76 State 112: nm ::= * ID|INDEXED nm ::= * STRING nm ::= * JOIN_KW expr ::= * term expr ::= * LP expr RP expr ::= * ID|INDEXED expr ::= * JOIN_KW expr ::= * nm DOT nm expr ::= * nm DOT nm DOT nm term ::= * NULL|FLOAT|BLOB term ::= * STRING term ::= * INTEGER expr ::= * VARIABLE expr ::= * expr COLLATE ID|STRING expr ::= * CAST LP expr AS typetoken RP expr ::= CAST LP * expr AS typetoken RP expr ::= * ID|INDEXED LP distinct exprlist RP expr ::= * ID|INDEXED LP STAR RP expr ::= * ID|INDEXED LP distinct exprlist RP filter_over expr ::= * ID|INDEXED LP STAR RP filter_over term ::= * CTIME_KW expr ::= * LP nexprlist COMMA expr RP expr ::= * expr AND expr expr ::= * expr OR expr expr ::= * expr LT|GT|GE|LE expr expr ::= * expr EQ|NE expr expr ::= * expr BITAND|BITOR|LSHIFT|RSHIFT expr expr ::= * expr PLUS|MINUS expr expr ::= * expr STAR|SLASH|REM expr expr ::= * expr CONCAT expr expr ::= * expr likeop expr expr ::= * expr likeop expr ESCAPE expr expr ::= * expr ISNULL|NOTNULL expr ::= * expr NOT NULL expr ::= * expr IS expr expr ::= * expr IS NOT expr expr ::= * expr IS NOT DISTINCT FROM expr expr ::= * expr IS DISTINCT FROM expr expr ::= * NOT expr expr ::= * BITNOT expr expr ::= * PLUS|MINUS expr expr ::= * expr PTR expr expr ::= * expr between_op expr AND expr expr ::= * expr in_op LP exprlist RP expr ::= * LP select RP expr ::= * expr in_op LP select RP expr ::= * expr in_op nm dbnm paren_exprlist expr ::= * EXISTS LP select RP expr ::= * CASE case_operand case_exprlist case_else END expr ::= * RAISE LP IGNORE RP expr ::= * RAISE LP raisetype COMMA nm RP NOT shift 111 EXISTS shift 560 LP shift 4 CAST shift 563 ID shift 445 RAISE shift 557 CTIME_KW shift-reduce 192 term ::= CTIME_KW PLUS shift 109 MINUS shift 109 BITNOT shift 110 INDEXED shift 445 STRING shift 570 JOIN_KW shift 569 NULL shift-reduce 182 term ::= NULL|FLOAT|BLOB FLOAT shift-reduce 182 term ::= NULL|FLOAT|BLOB BLOB shift-reduce 182 term ::= NULL|FLOAT|BLOB INTEGER shift-reduce 184 term ::= INTEGER VARIABLE shift-reduce 185 expr ::= VARIABLE CASE shift 27 nm shift 568 term shift 54 /* because term==expr */ expr shift 54 State 113: nm ::= * ID|INDEXED nm ::= * STRING nm ::= * JOIN_KW expr ::= * term expr ::= * LP expr RP expr ::= * ID|INDEXED expr ::= * JOIN_KW expr ::= * nm DOT nm expr ::= * nm DOT nm DOT nm term ::= * NULL|FLOAT|BLOB term ::= * STRING term ::= * INTEGER expr ::= * VARIABLE expr ::= * expr COLLATE ID|STRING expr ::= * CAST LP expr AS typetoken RP expr ::= * ID|INDEXED LP distinct exprlist RP expr ::= * ID|INDEXED LP STAR RP expr ::= * ID|INDEXED LP distinct exprlist RP filter_over expr ::= * ID|INDEXED LP STAR RP filter_over term ::= * CTIME_KW expr ::= * LP nexprlist COMMA expr RP expr ::= * expr AND expr expr ::= * expr OR expr expr ::= * expr LT|GT|GE|LE expr expr ::= * expr EQ|NE expr expr ::= * expr BITAND|BITOR|LSHIFT|RSHIFT expr expr ::= * expr PLUS|MINUS expr expr ::= * expr STAR|SLASH|REM expr expr ::= * expr CONCAT expr expr ::= * expr likeop expr expr ::= * expr likeop expr ESCAPE expr expr ::= * expr ISNULL|NOTNULL expr ::= * expr NOT NULL expr ::= * expr IS expr expr ::= * expr IS NOT expr expr ::= * expr IS NOT DISTINCT FROM expr expr ::= * expr IS DISTINCT FROM expr expr ::= * NOT expr expr ::= * BITNOT expr expr ::= * PLUS|MINUS expr expr ::= * expr PTR expr expr ::= * expr between_op expr AND expr expr ::= * expr in_op LP exprlist RP expr ::= * LP select RP expr ::= * expr in_op LP select RP expr ::= * expr in_op nm dbnm paren_exprlist expr ::= * EXISTS LP select RP expr ::= * CASE case_operand case_exprlist case_else END nexprlist ::= nexprlist COMMA * expr expr ::= * RAISE LP IGNORE RP expr ::= * RAISE LP raisetype COMMA nm RP NOT shift 111 EXISTS shift 560 LP shift 4 CAST shift 563 ID shift 445 RAISE shift 557 CTIME_KW shift-reduce 192 term ::= CTIME_KW PLUS shift 109 MINUS shift 109 BITNOT shift 110 INDEXED shift 445 STRING shift 570 JOIN_KW shift 569 NULL shift-reduce 182 term ::= NULL|FLOAT|BLOB FLOAT shift-reduce 182 term ::= NULL|FLOAT|BLOB BLOB shift-reduce 182 term ::= NULL|FLOAT|BLOB INTEGER shift-reduce 184 term ::= INTEGER VARIABLE shift-reduce 185 expr ::= VARIABLE CASE shift 27 nm shift 568 term shift 72 /* because term==expr */ expr shift 72 State 114: nm ::= * ID|INDEXED nm ::= * STRING nm ::= * JOIN_KW expr ::= * term expr ::= * LP expr RP expr ::= * ID|INDEXED expr ::= * JOIN_KW expr ::= * nm DOT nm expr ::= * nm DOT nm DOT nm term ::= * NULL|FLOAT|BLOB term ::= * STRING term ::= * INTEGER expr ::= * VARIABLE expr ::= * expr COLLATE ID|STRING expr ::= * CAST LP expr AS typetoken RP expr ::= * ID|INDEXED LP distinct exprlist RP expr ::= * ID|INDEXED LP STAR RP expr ::= * ID|INDEXED LP distinct exprlist RP filter_over expr ::= * ID|INDEXED LP STAR RP filter_over term ::= * CTIME_KW expr ::= * LP nexprlist COMMA expr RP expr ::= * expr AND expr expr ::= expr AND * expr expr ::= * expr OR expr expr ::= * expr LT|GT|GE|LE expr expr ::= * expr EQ|NE expr expr ::= * expr BITAND|BITOR|LSHIFT|RSHIFT expr expr ::= * expr PLUS|MINUS expr expr ::= * expr STAR|SLASH|REM expr expr ::= * expr CONCAT expr expr ::= * expr likeop expr expr ::= * expr likeop expr ESCAPE expr expr ::= * expr ISNULL|NOTNULL expr ::= * expr NOT NULL expr ::= * expr IS expr expr ::= * expr IS NOT expr expr ::= * expr IS NOT DISTINCT FROM expr expr ::= * expr IS DISTINCT FROM expr expr ::= * NOT expr expr ::= * BITNOT expr expr ::= * PLUS|MINUS expr expr ::= * expr PTR expr expr ::= * expr between_op expr AND expr expr ::= expr between_op expr AND * expr expr ::= * expr in_op LP exprlist RP expr ::= * LP select RP expr ::= * expr in_op LP select RP expr ::= * expr in_op nm dbnm paren_exprlist expr ::= * EXISTS LP select RP expr ::= * CASE case_operand case_exprlist case_else END expr ::= * RAISE LP IGNORE RP expr ::= * RAISE LP raisetype COMMA nm RP NOT shift 111 EXISTS shift 560 LP shift 4 CAST shift 563 ID shift 445 RAISE shift 557 CTIME_KW shift-reduce 192 term ::= CTIME_KW PLUS shift 109 MINUS shift 109 BITNOT shift 110 INDEXED shift 445 STRING shift 570 JOIN_KW shift 569 NULL shift-reduce 182 term ::= NULL|FLOAT|BLOB FLOAT shift-reduce 182 term ::= NULL|FLOAT|BLOB BLOB shift-reduce 182 term ::= NULL|FLOAT|BLOB INTEGER shift-reduce 184 term ::= INTEGER VARIABLE shift-reduce 185 expr ::= VARIABLE CASE shift 27 nm shift 568 term shift 134 /* because term==expr */ expr shift 134 State 115: nm ::= * ID|INDEXED nm ::= * STRING nm ::= * JOIN_KW expr ::= * term expr ::= * LP expr RP expr ::= * ID|INDEXED expr ::= * JOIN_KW expr ::= * nm DOT nm expr ::= * nm DOT nm DOT nm term ::= * NULL|FLOAT|BLOB term ::= * STRING term ::= * INTEGER expr ::= * VARIABLE expr ::= * expr COLLATE ID|STRING expr ::= * CAST LP expr AS typetoken RP expr ::= * ID|INDEXED LP distinct exprlist RP expr ::= * ID|INDEXED LP STAR RP expr ::= * ID|INDEXED LP distinct exprlist RP filter_over expr ::= * ID|INDEXED LP STAR RP filter_over term ::= * CTIME_KW expr ::= * LP nexprlist COMMA expr RP expr ::= * expr AND expr expr ::= * expr OR expr expr ::= * expr LT|GT|GE|LE expr expr ::= * expr EQ|NE expr expr ::= * expr BITAND|BITOR|LSHIFT|RSHIFT expr expr ::= * expr PLUS|MINUS expr expr ::= * expr STAR|SLASH|REM expr expr ::= * expr CONCAT expr expr ::= * expr likeop expr expr ::= * expr likeop expr ESCAPE expr expr ::= * expr ISNULL|NOTNULL expr ::= * expr NOT NULL expr ::= * expr IS expr expr ::= * expr IS NOT expr expr ::= * expr IS NOT DISTINCT FROM expr expr ::= * expr IS DISTINCT FROM expr expr ::= * NOT expr expr ::= * BITNOT expr expr ::= * PLUS|MINUS expr expr ::= * expr PTR expr expr ::= * expr between_op expr AND expr expr ::= expr between_op * expr AND expr expr ::= * expr in_op LP exprlist RP expr ::= * LP select RP expr ::= * expr in_op LP select RP expr ::= * expr in_op nm dbnm paren_exprlist expr ::= * EXISTS LP select RP expr ::= * CASE case_operand case_exprlist case_else END expr ::= * RAISE LP IGNORE RP expr ::= * RAISE LP raisetype COMMA nm RP NOT shift 111 EXISTS shift 560 LP shift 4 CAST shift 563 ID shift 445 RAISE shift 557 CTIME_KW shift-reduce 192 term ::= CTIME_KW PLUS shift 109 MINUS shift 109 BITNOT shift 110 INDEXED shift 445 STRING shift 570 JOIN_KW shift 569 NULL shift-reduce 182 term ::= NULL|FLOAT|BLOB FLOAT shift-reduce 182 term ::= NULL|FLOAT|BLOB BLOB shift-reduce 182 term ::= NULL|FLOAT|BLOB INTEGER shift-reduce 184 term ::= INTEGER VARIABLE shift-reduce 185 expr ::= VARIABLE CASE shift 27 nm shift 568 term shift 73 /* because term==expr */ expr shift 73 State 116: nm ::= * ID|INDEXED nm ::= * STRING nm ::= * JOIN_KW expr ::= * term expr ::= * LP expr RP expr ::= * ID|INDEXED expr ::= * JOIN_KW expr ::= * nm DOT nm expr ::= * nm DOT nm DOT nm term ::= * NULL|FLOAT|BLOB term ::= * STRING term ::= * INTEGER expr ::= * VARIABLE expr ::= * expr COLLATE ID|STRING expr ::= * CAST LP expr AS typetoken RP expr ::= * ID|INDEXED LP distinct exprlist RP expr ::= * ID|INDEXED LP STAR RP expr ::= * ID|INDEXED LP distinct exprlist RP filter_over expr ::= * ID|INDEXED LP STAR RP filter_over term ::= * CTIME_KW expr ::= * LP nexprlist COMMA expr RP expr ::= * expr AND expr expr ::= * expr OR expr expr ::= * expr LT|GT|GE|LE expr expr ::= * expr EQ|NE expr expr ::= * expr BITAND|BITOR|LSHIFT|RSHIFT expr expr ::= * expr PLUS|MINUS expr expr ::= * expr STAR|SLASH|REM expr expr ::= * expr CONCAT expr expr ::= * expr likeop expr expr ::= * expr likeop expr ESCAPE expr expr ::= * expr ISNULL|NOTNULL expr ::= * expr NOT NULL expr ::= * expr IS expr expr ::= * expr IS NOT expr expr ::= * expr IS NOT DISTINCT FROM expr expr ::= * expr IS DISTINCT FROM expr expr ::= * NOT expr expr ::= * BITNOT expr expr ::= * PLUS|MINUS expr expr ::= * expr PTR expr expr ::= expr PTR * expr expr ::= * expr between_op expr AND expr expr ::= * expr in_op LP exprlist RP expr ::= * LP select RP expr ::= * expr in_op LP select RP expr ::= * expr in_op nm dbnm paren_exprlist expr ::= * EXISTS LP select RP expr ::= * CASE case_operand case_exprlist case_else END expr ::= * RAISE LP IGNORE RP expr ::= * RAISE LP raisetype COMMA nm RP NOT shift 111 EXISTS shift 560 LP shift 4 CAST shift 563 ID shift 445 RAISE shift 557 CTIME_KW shift-reduce 192 term ::= CTIME_KW PLUS shift 109 MINUS shift 109 BITNOT shift 110 INDEXED shift 445 STRING shift 570 JOIN_KW shift 569 NULL shift-reduce 182 term ::= NULL|FLOAT|BLOB FLOAT shift-reduce 182 term ::= NULL|FLOAT|BLOB BLOB shift-reduce 182 term ::= NULL|FLOAT|BLOB INTEGER shift-reduce 184 term ::= INTEGER VARIABLE shift-reduce 185 expr ::= VARIABLE CASE shift 27 nm shift 568 term shift 161 /* because term==expr */ expr shift 161 State 117: nm ::= * ID|INDEXED nm ::= * STRING nm ::= * JOIN_KW expr ::= * term expr ::= * LP expr RP expr ::= * ID|INDEXED expr ::= * JOIN_KW expr ::= * nm DOT nm expr ::= * nm DOT nm DOT nm term ::= * NULL|FLOAT|BLOB term ::= * STRING term ::= * INTEGER expr ::= * VARIABLE expr ::= * expr COLLATE ID|STRING expr ::= * CAST LP expr AS typetoken RP expr ::= * ID|INDEXED LP distinct exprlist RP expr ::= * ID|INDEXED LP STAR RP expr ::= * ID|INDEXED LP distinct exprlist RP filter_over expr ::= * ID|INDEXED LP STAR RP filter_over term ::= * CTIME_KW expr ::= * LP nexprlist COMMA expr RP expr ::= * expr AND expr expr ::= * expr OR expr expr ::= * expr LT|GT|GE|LE expr expr ::= * expr EQ|NE expr expr ::= * expr BITAND|BITOR|LSHIFT|RSHIFT expr expr ::= * expr PLUS|MINUS expr expr ::= * expr STAR|SLASH|REM expr expr ::= * expr CONCAT expr expr ::= * expr likeop expr expr ::= * expr likeop expr ESCAPE expr expr ::= expr likeop expr ESCAPE * expr expr ::= * expr ISNULL|NOTNULL expr ::= * expr NOT NULL expr ::= * expr IS expr expr ::= * expr IS NOT expr expr ::= * expr IS NOT DISTINCT FROM expr expr ::= * expr IS DISTINCT FROM expr expr ::= * NOT expr expr ::= * BITNOT expr expr ::= * PLUS|MINUS expr expr ::= * expr PTR expr expr ::= * expr between_op expr AND expr expr ::= * expr in_op LP exprlist RP expr ::= * LP select RP expr ::= * expr in_op LP select RP expr ::= * expr in_op nm dbnm paren_exprlist expr ::= * EXISTS LP select RP expr ::= * CASE case_operand case_exprlist case_else END expr ::= * RAISE LP IGNORE RP expr ::= * RAISE LP raisetype COMMA nm RP NOT shift 111 EXISTS shift 560 LP shift 4 CAST shift 563 ID shift 445 RAISE shift 557 CTIME_KW shift-reduce 192 term ::= CTIME_KW PLUS shift 109 MINUS shift 109 BITNOT shift 110 INDEXED shift 445 STRING shift 570 JOIN_KW shift 569 NULL shift-reduce 182 term ::= NULL|FLOAT|BLOB FLOAT shift-reduce 182 term ::= NULL|FLOAT|BLOB BLOB shift-reduce 182 term ::= NULL|FLOAT|BLOB INTEGER shift-reduce 184 term ::= INTEGER VARIABLE shift-reduce 185 expr ::= VARIABLE CASE shift 27 nm shift 568 term shift 136 /* because term==expr */ expr shift 136 State 118: nm ::= * ID|INDEXED nm ::= * STRING nm ::= * JOIN_KW expr ::= * term expr ::= * LP expr RP expr ::= * ID|INDEXED expr ::= * JOIN_KW expr ::= * nm DOT nm expr ::= * nm DOT nm DOT nm term ::= * NULL|FLOAT|BLOB term ::= * STRING term ::= * INTEGER expr ::= * VARIABLE expr ::= * expr COLLATE ID|STRING expr ::= * CAST LP expr AS typetoken RP expr ::= * ID|INDEXED LP distinct exprlist RP expr ::= * ID|INDEXED LP STAR RP expr ::= * ID|INDEXED LP distinct exprlist RP filter_over expr ::= * ID|INDEXED LP STAR RP filter_over term ::= * CTIME_KW expr ::= * LP nexprlist COMMA expr RP expr ::= * expr AND expr expr ::= * expr OR expr expr ::= * expr LT|GT|GE|LE expr expr ::= * expr EQ|NE expr expr ::= * expr BITAND|BITOR|LSHIFT|RSHIFT expr expr ::= * expr PLUS|MINUS expr expr ::= * expr STAR|SLASH|REM expr expr ::= * expr CONCAT expr expr ::= * expr likeop expr expr ::= expr likeop * expr expr ::= * expr likeop expr ESCAPE expr expr ::= expr likeop * expr ESCAPE expr expr ::= * expr ISNULL|NOTNULL expr ::= * expr NOT NULL expr ::= * expr IS expr expr ::= * expr IS NOT expr expr ::= * expr IS NOT DISTINCT FROM expr expr ::= * expr IS DISTINCT FROM expr expr ::= * NOT expr expr ::= * BITNOT expr expr ::= * PLUS|MINUS expr expr ::= * expr PTR expr expr ::= * expr between_op expr AND expr expr ::= * expr in_op LP exprlist RP expr ::= * LP select RP expr ::= * expr in_op LP select RP expr ::= * expr in_op nm dbnm paren_exprlist expr ::= * EXISTS LP select RP expr ::= * CASE case_operand case_exprlist case_else END expr ::= * RAISE LP IGNORE RP expr ::= * RAISE LP raisetype COMMA nm RP NOT shift 111 EXISTS shift 560 LP shift 4 CAST shift 563 ID shift 445 RAISE shift 557 CTIME_KW shift-reduce 192 term ::= CTIME_KW PLUS shift 109 MINUS shift 109 BITNOT shift 110 INDEXED shift 445 STRING shift 570 JOIN_KW shift 569 NULL shift-reduce 182 term ::= NULL|FLOAT|BLOB FLOAT shift-reduce 182 term ::= NULL|FLOAT|BLOB BLOB shift-reduce 182 term ::= NULL|FLOAT|BLOB INTEGER shift-reduce 184 term ::= INTEGER VARIABLE shift-reduce 185 expr ::= VARIABLE CASE shift 27 nm shift 568 term shift 130 /* because term==expr */ expr shift 130 State 119: nm ::= * ID|INDEXED nm ::= * STRING nm ::= * JOIN_KW expr ::= * term expr ::= * LP expr RP expr ::= * ID|INDEXED expr ::= * JOIN_KW expr ::= * nm DOT nm expr ::= * nm DOT nm DOT nm term ::= * NULL|FLOAT|BLOB term ::= * STRING term ::= * INTEGER expr ::= * VARIABLE expr ::= * expr COLLATE ID|STRING expr ::= * CAST LP expr AS typetoken RP expr ::= * ID|INDEXED LP distinct exprlist RP expr ::= * ID|INDEXED LP STAR RP expr ::= * ID|INDEXED LP distinct exprlist RP filter_over expr ::= * ID|INDEXED LP STAR RP filter_over term ::= * CTIME_KW expr ::= * LP nexprlist COMMA expr RP expr ::= * expr AND expr expr ::= * expr OR expr expr ::= * expr LT|GT|GE|LE expr expr ::= * expr EQ|NE expr expr ::= * expr BITAND|BITOR|LSHIFT|RSHIFT expr expr ::= * expr PLUS|MINUS expr expr ::= * expr STAR|SLASH|REM expr expr ::= * expr CONCAT expr expr ::= expr CONCAT * expr expr ::= * expr likeop expr expr ::= * expr likeop expr ESCAPE expr expr ::= * expr ISNULL|NOTNULL expr ::= * expr NOT NULL expr ::= * expr IS expr expr ::= * expr IS NOT expr expr ::= * expr IS NOT DISTINCT FROM expr expr ::= * expr IS DISTINCT FROM expr expr ::= * NOT expr expr ::= * BITNOT expr expr ::= * PLUS|MINUS expr expr ::= * expr PTR expr expr ::= * expr between_op expr AND expr expr ::= * expr in_op LP exprlist RP expr ::= * LP select RP expr ::= * expr in_op LP select RP expr ::= * expr in_op nm dbnm paren_exprlist expr ::= * EXISTS LP select RP expr ::= * CASE case_operand case_exprlist case_else END expr ::= * RAISE LP IGNORE RP expr ::= * RAISE LP raisetype COMMA nm RP NOT shift 111 EXISTS shift 560 LP shift 4 CAST shift 563 ID shift 445 RAISE shift 557 CTIME_KW shift-reduce 192 term ::= CTIME_KW PLUS shift 109 MINUS shift 109 BITNOT shift 110 INDEXED shift 445 STRING shift 570 JOIN_KW shift 569 NULL shift-reduce 182 term ::= NULL|FLOAT|BLOB FLOAT shift-reduce 182 term ::= NULL|FLOAT|BLOB BLOB shift-reduce 182 term ::= NULL|FLOAT|BLOB INTEGER shift-reduce 184 term ::= INTEGER VARIABLE shift-reduce 185 expr ::= VARIABLE CASE shift 27 nm shift 568 term shift 162 /* because term==expr */ expr shift 162 State 120: nm ::= * ID|INDEXED nm ::= * STRING nm ::= * JOIN_KW expr ::= * term expr ::= * LP expr RP expr ::= * ID|INDEXED expr ::= * JOIN_KW expr ::= * nm DOT nm expr ::= * nm DOT nm DOT nm term ::= * NULL|FLOAT|BLOB term ::= * STRING term ::= * INTEGER expr ::= * VARIABLE expr ::= * expr COLLATE ID|STRING expr ::= * CAST LP expr AS typetoken RP expr ::= * ID|INDEXED LP distinct exprlist RP expr ::= * ID|INDEXED LP STAR RP expr ::= * ID|INDEXED LP distinct exprlist RP filter_over expr ::= * ID|INDEXED LP STAR RP filter_over term ::= * CTIME_KW expr ::= * LP nexprlist COMMA expr RP expr ::= * expr AND expr expr ::= * expr OR expr expr ::= * expr LT|GT|GE|LE expr expr ::= * expr EQ|NE expr expr ::= * expr BITAND|BITOR|LSHIFT|RSHIFT expr expr ::= * expr PLUS|MINUS expr expr ::= * expr STAR|SLASH|REM expr expr ::= expr STAR|SLASH|REM * expr expr ::= * expr CONCAT expr expr ::= * expr likeop expr expr ::= * expr likeop expr ESCAPE expr expr ::= * expr ISNULL|NOTNULL expr ::= * expr NOT NULL expr ::= * expr IS expr expr ::= * expr IS NOT expr expr ::= * expr IS NOT DISTINCT FROM expr expr ::= * expr IS DISTINCT FROM expr expr ::= * NOT expr expr ::= * BITNOT expr expr ::= * PLUS|MINUS expr expr ::= * expr PTR expr expr ::= * expr between_op expr AND expr expr ::= * expr in_op LP exprlist RP expr ::= * LP select RP expr ::= * expr in_op LP select RP expr ::= * expr in_op nm dbnm paren_exprlist expr ::= * EXISTS LP select RP expr ::= * CASE case_operand case_exprlist case_else END expr ::= * RAISE LP IGNORE RP expr ::= * RAISE LP raisetype COMMA nm RP NOT shift 111 EXISTS shift 560 LP shift 4 CAST shift 563 ID shift 445 RAISE shift 557 CTIME_KW shift-reduce 192 term ::= CTIME_KW PLUS shift 109 MINUS shift 109 BITNOT shift 110 INDEXED shift 445 STRING shift 570 JOIN_KW shift 569 NULL shift-reduce 182 term ::= NULL|FLOAT|BLOB FLOAT shift-reduce 182 term ::= NULL|FLOAT|BLOB BLOB shift-reduce 182 term ::= NULL|FLOAT|BLOB INTEGER shift-reduce 184 term ::= INTEGER VARIABLE shift-reduce 185 expr ::= VARIABLE CASE shift 27 nm shift 568 term shift 156 /* because term==expr */ expr shift 156 State 121: nm ::= * ID|INDEXED nm ::= * STRING nm ::= * JOIN_KW expr ::= * term expr ::= * LP expr RP expr ::= * ID|INDEXED expr ::= * JOIN_KW expr ::= * nm DOT nm expr ::= * nm DOT nm DOT nm term ::= * NULL|FLOAT|BLOB term ::= * STRING term ::= * INTEGER expr ::= * VARIABLE expr ::= * expr COLLATE ID|STRING expr ::= * CAST LP expr AS typetoken RP expr ::= * ID|INDEXED LP distinct exprlist RP expr ::= * ID|INDEXED LP STAR RP expr ::= * ID|INDEXED LP distinct exprlist RP filter_over expr ::= * ID|INDEXED LP STAR RP filter_over term ::= * CTIME_KW expr ::= * LP nexprlist COMMA expr RP expr ::= * expr AND expr expr ::= * expr OR expr expr ::= * expr LT|GT|GE|LE expr expr ::= * expr EQ|NE expr expr ::= * expr BITAND|BITOR|LSHIFT|RSHIFT expr expr ::= * expr PLUS|MINUS expr expr ::= expr PLUS|MINUS * expr expr ::= * expr STAR|SLASH|REM expr expr ::= * expr CONCAT expr expr ::= * expr likeop expr expr ::= * expr likeop expr ESCAPE expr expr ::= * expr ISNULL|NOTNULL expr ::= * expr NOT NULL expr ::= * expr IS expr expr ::= * expr IS NOT expr expr ::= * expr IS NOT DISTINCT FROM expr expr ::= * expr IS DISTINCT FROM expr expr ::= * NOT expr expr ::= * BITNOT expr expr ::= * PLUS|MINUS expr expr ::= * expr PTR expr expr ::= * expr between_op expr AND expr expr ::= * expr in_op LP exprlist RP expr ::= * LP select RP expr ::= * expr in_op LP select RP expr ::= * expr in_op nm dbnm paren_exprlist expr ::= * EXISTS LP select RP expr ::= * CASE case_operand case_exprlist case_else END expr ::= * RAISE LP IGNORE RP expr ::= * RAISE LP raisetype COMMA nm RP NOT shift 111 EXISTS shift 560 LP shift 4 CAST shift 563 ID shift 445 RAISE shift 557 CTIME_KW shift-reduce 192 term ::= CTIME_KW PLUS shift 109 MINUS shift 109 BITNOT shift 110 INDEXED shift 445 STRING shift 570 JOIN_KW shift 569 NULL shift-reduce 182 term ::= NULL|FLOAT|BLOB FLOAT shift-reduce 182 term ::= NULL|FLOAT|BLOB BLOB shift-reduce 182 term ::= NULL|FLOAT|BLOB INTEGER shift-reduce 184 term ::= INTEGER VARIABLE shift-reduce 185 expr ::= VARIABLE CASE shift 27 nm shift 568 term shift 140 /* because term==expr */ expr shift 140 State 122: nm ::= * ID|INDEXED nm ::= * STRING nm ::= * JOIN_KW expr ::= * term expr ::= * LP expr RP expr ::= * ID|INDEXED expr ::= * JOIN_KW expr ::= * nm DOT nm expr ::= * nm DOT nm DOT nm term ::= * NULL|FLOAT|BLOB term ::= * STRING term ::= * INTEGER expr ::= * VARIABLE expr ::= * expr COLLATE ID|STRING expr ::= * CAST LP expr AS typetoken RP expr ::= * ID|INDEXED LP distinct exprlist RP expr ::= * ID|INDEXED LP STAR RP expr ::= * ID|INDEXED LP distinct exprlist RP filter_over expr ::= * ID|INDEXED LP STAR RP filter_over term ::= * CTIME_KW expr ::= * LP nexprlist COMMA expr RP expr ::= * expr AND expr expr ::= * expr OR expr expr ::= * expr LT|GT|GE|LE expr expr ::= * expr EQ|NE expr expr ::= * expr BITAND|BITOR|LSHIFT|RSHIFT expr expr ::= expr BITAND|BITOR|LSHIFT|RSHIFT * expr expr ::= * expr PLUS|MINUS expr expr ::= * expr STAR|SLASH|REM expr expr ::= * expr CONCAT expr expr ::= * expr likeop expr expr ::= * expr likeop expr ESCAPE expr expr ::= * expr ISNULL|NOTNULL expr ::= * expr NOT NULL expr ::= * expr IS expr expr ::= * expr IS NOT expr expr ::= * expr IS NOT DISTINCT FROM expr expr ::= * expr IS DISTINCT FROM expr expr ::= * NOT expr expr ::= * BITNOT expr expr ::= * PLUS|MINUS expr expr ::= * expr PTR expr expr ::= * expr between_op expr AND expr expr ::= * expr in_op LP exprlist RP expr ::= * LP select RP expr ::= * expr in_op LP select RP expr ::= * expr in_op nm dbnm paren_exprlist expr ::= * EXISTS LP select RP expr ::= * CASE case_operand case_exprlist case_else END expr ::= * RAISE LP IGNORE RP expr ::= * RAISE LP raisetype COMMA nm RP NOT shift 111 EXISTS shift 560 LP shift 4 CAST shift 563 ID shift 445 RAISE shift 557 CTIME_KW shift-reduce 192 term ::= CTIME_KW PLUS shift 109 MINUS shift 109 BITNOT shift 110 INDEXED shift 445 STRING shift 570 JOIN_KW shift 569 NULL shift-reduce 182 term ::= NULL|FLOAT|BLOB FLOAT shift-reduce 182 term ::= NULL|FLOAT|BLOB BLOB shift-reduce 182 term ::= NULL|FLOAT|BLOB INTEGER shift-reduce 184 term ::= INTEGER VARIABLE shift-reduce 185 expr ::= VARIABLE CASE shift 27 nm shift 568 term shift 139 /* because term==expr */ expr shift 139 State 123: nm ::= * ID|INDEXED nm ::= * STRING nm ::= * JOIN_KW expr ::= * term expr ::= * LP expr RP expr ::= * ID|INDEXED expr ::= * JOIN_KW expr ::= * nm DOT nm expr ::= * nm DOT nm DOT nm term ::= * NULL|FLOAT|BLOB term ::= * STRING term ::= * INTEGER expr ::= * VARIABLE expr ::= * expr COLLATE ID|STRING expr ::= * CAST LP expr AS typetoken RP expr ::= * ID|INDEXED LP distinct exprlist RP expr ::= * ID|INDEXED LP STAR RP expr ::= * ID|INDEXED LP distinct exprlist RP filter_over expr ::= * ID|INDEXED LP STAR RP filter_over term ::= * CTIME_KW expr ::= * LP nexprlist COMMA expr RP expr ::= * expr AND expr expr ::= * expr OR expr expr ::= * expr LT|GT|GE|LE expr expr ::= * expr EQ|NE expr expr ::= expr EQ|NE * expr expr ::= * expr BITAND|BITOR|LSHIFT|RSHIFT expr expr ::= * expr PLUS|MINUS expr expr ::= * expr STAR|SLASH|REM expr expr ::= * expr CONCAT expr expr ::= * expr likeop expr expr ::= * expr likeop expr ESCAPE expr expr ::= * expr ISNULL|NOTNULL expr ::= * expr NOT NULL expr ::= * expr IS expr expr ::= * expr IS NOT expr expr ::= * expr IS NOT DISTINCT FROM expr expr ::= * expr IS DISTINCT FROM expr expr ::= * NOT expr expr ::= * BITNOT expr expr ::= * PLUS|MINUS expr expr ::= * expr PTR expr expr ::= * expr between_op expr AND expr expr ::= * expr in_op LP exprlist RP expr ::= * LP select RP expr ::= * expr in_op LP select RP expr ::= * expr in_op nm dbnm paren_exprlist expr ::= * EXISTS LP select RP expr ::= * CASE case_operand case_exprlist case_else END expr ::= * RAISE LP IGNORE RP expr ::= * RAISE LP raisetype COMMA nm RP NOT shift 111 EXISTS shift 560 LP shift 4 CAST shift 563 ID shift 445 RAISE shift 557 CTIME_KW shift-reduce 192 term ::= CTIME_KW PLUS shift 109 MINUS shift 109 BITNOT shift 110 INDEXED shift 445 STRING shift 570 JOIN_KW shift 569 NULL shift-reduce 182 term ::= NULL|FLOAT|BLOB FLOAT shift-reduce 182 term ::= NULL|FLOAT|BLOB BLOB shift-reduce 182 term ::= NULL|FLOAT|BLOB INTEGER shift-reduce 184 term ::= INTEGER VARIABLE shift-reduce 185 expr ::= VARIABLE CASE shift 27 nm shift 568 term shift 137 /* because term==expr */ expr shift 137 State 124: nm ::= * ID|INDEXED nm ::= * STRING nm ::= * JOIN_KW expr ::= * term expr ::= * LP expr RP expr ::= * ID|INDEXED expr ::= * JOIN_KW expr ::= * nm DOT nm expr ::= * nm DOT nm DOT nm term ::= * NULL|FLOAT|BLOB term ::= * STRING term ::= * INTEGER expr ::= * VARIABLE expr ::= * expr COLLATE ID|STRING expr ::= * CAST LP expr AS typetoken RP expr ::= * ID|INDEXED LP distinct exprlist RP expr ::= * ID|INDEXED LP STAR RP expr ::= * ID|INDEXED LP distinct exprlist RP filter_over expr ::= * ID|INDEXED LP STAR RP filter_over term ::= * CTIME_KW expr ::= * LP nexprlist COMMA expr RP expr ::= * expr AND expr expr ::= * expr OR expr expr ::= * expr LT|GT|GE|LE expr expr ::= expr LT|GT|GE|LE * expr expr ::= * expr EQ|NE expr expr ::= * expr BITAND|BITOR|LSHIFT|RSHIFT expr expr ::= * expr PLUS|MINUS expr expr ::= * expr STAR|SLASH|REM expr expr ::= * expr CONCAT expr expr ::= * expr likeop expr expr ::= * expr likeop expr ESCAPE expr expr ::= * expr ISNULL|NOTNULL expr ::= * expr NOT NULL expr ::= * expr IS expr expr ::= * expr IS NOT expr expr ::= * expr IS NOT DISTINCT FROM expr expr ::= * expr IS DISTINCT FROM expr expr ::= * NOT expr expr ::= * BITNOT expr expr ::= * PLUS|MINUS expr expr ::= * expr PTR expr expr ::= * expr between_op expr AND expr expr ::= * expr in_op LP exprlist RP expr ::= * LP select RP expr ::= * expr in_op LP select RP expr ::= * expr in_op nm dbnm paren_exprlist expr ::= * EXISTS LP select RP expr ::= * CASE case_operand case_exprlist case_else END expr ::= * RAISE LP IGNORE RP expr ::= * RAISE LP raisetype COMMA nm RP NOT shift 111 EXISTS shift 560 LP shift 4 CAST shift 563 ID shift 445 RAISE shift 557 CTIME_KW shift-reduce 192 term ::= CTIME_KW PLUS shift 109 MINUS shift 109 BITNOT shift 110 INDEXED shift 445 STRING shift 570 JOIN_KW shift 569 NULL shift-reduce 182 term ::= NULL|FLOAT|BLOB FLOAT shift-reduce 182 term ::= NULL|FLOAT|BLOB BLOB shift-reduce 182 term ::= NULL|FLOAT|BLOB INTEGER shift-reduce 184 term ::= INTEGER VARIABLE shift-reduce 185 expr ::= VARIABLE CASE shift 27 nm shift 568 term shift 138 /* because term==expr */ expr shift 138 State 125: nm ::= * ID|INDEXED nm ::= * STRING nm ::= * JOIN_KW expr ::= * term expr ::= * LP expr RP expr ::= * ID|INDEXED expr ::= * JOIN_KW expr ::= * nm DOT nm expr ::= * nm DOT nm DOT nm term ::= * NULL|FLOAT|BLOB term ::= * STRING term ::= * INTEGER expr ::= * VARIABLE expr ::= * expr COLLATE ID|STRING expr ::= * CAST LP expr AS typetoken RP expr ::= * ID|INDEXED LP distinct exprlist RP expr ::= * ID|INDEXED LP STAR RP expr ::= * ID|INDEXED LP distinct exprlist RP filter_over expr ::= * ID|INDEXED LP STAR RP filter_over term ::= * CTIME_KW expr ::= * LP nexprlist COMMA expr RP expr ::= * expr AND expr expr ::= * expr OR expr expr ::= expr OR * expr expr ::= * expr LT|GT|GE|LE expr expr ::= * expr EQ|NE expr expr ::= * expr BITAND|BITOR|LSHIFT|RSHIFT expr expr ::= * expr PLUS|MINUS expr expr ::= * expr STAR|SLASH|REM expr expr ::= * expr CONCAT expr expr ::= * expr likeop expr expr ::= * expr likeop expr ESCAPE expr expr ::= * expr ISNULL|NOTNULL expr ::= * expr NOT NULL expr ::= * expr IS expr expr ::= * expr IS NOT expr expr ::= * expr IS NOT DISTINCT FROM expr expr ::= * expr IS DISTINCT FROM expr expr ::= * NOT expr expr ::= * BITNOT expr expr ::= * PLUS|MINUS expr expr ::= * expr PTR expr expr ::= * expr between_op expr AND expr expr ::= * expr in_op LP exprlist RP expr ::= * LP select RP expr ::= * expr in_op LP select RP expr ::= * expr in_op nm dbnm paren_exprlist expr ::= * EXISTS LP select RP expr ::= * CASE case_operand case_exprlist case_else END expr ::= * RAISE LP IGNORE RP expr ::= * RAISE LP raisetype COMMA nm RP NOT shift 111 EXISTS shift 560 LP shift 4 CAST shift 563 ID shift 445 RAISE shift 557 CTIME_KW shift-reduce 192 term ::= CTIME_KW PLUS shift 109 MINUS shift 109 BITNOT shift 110 INDEXED shift 445 STRING shift 570 JOIN_KW shift 569 NULL shift-reduce 182 term ::= NULL|FLOAT|BLOB FLOAT shift-reduce 182 term ::= NULL|FLOAT|BLOB BLOB shift-reduce 182 term ::= NULL|FLOAT|BLOB INTEGER shift-reduce 184 term ::= INTEGER VARIABLE shift-reduce 185 expr ::= VARIABLE CASE shift 27 nm shift 568 term shift 75 /* because term==expr */ expr shift 75 State 126: nm ::= * ID|INDEXED nm ::= * STRING nm ::= * JOIN_KW expr ::= * term expr ::= * LP expr RP expr ::= * ID|INDEXED expr ::= * JOIN_KW expr ::= * nm DOT nm expr ::= * nm DOT nm DOT nm term ::= * NULL|FLOAT|BLOB term ::= * STRING term ::= * INTEGER expr ::= * VARIABLE expr ::= * expr COLLATE ID|STRING expr ::= * CAST LP expr AS typetoken RP expr ::= * ID|INDEXED LP distinct exprlist RP expr ::= * ID|INDEXED LP STAR RP expr ::= * ID|INDEXED LP distinct exprlist RP filter_over expr ::= * ID|INDEXED LP STAR RP filter_over term ::= * CTIME_KW expr ::= * LP nexprlist COMMA expr RP expr ::= * expr AND expr expr ::= expr AND * expr expr ::= * expr OR expr expr ::= * expr LT|GT|GE|LE expr expr ::= * expr EQ|NE expr expr ::= * expr BITAND|BITOR|LSHIFT|RSHIFT expr expr ::= * expr PLUS|MINUS expr expr ::= * expr STAR|SLASH|REM expr expr ::= * expr CONCAT expr expr ::= * expr likeop expr expr ::= * expr likeop expr ESCAPE expr expr ::= * expr ISNULL|NOTNULL expr ::= * expr NOT NULL expr ::= * expr IS expr expr ::= * expr IS NOT expr expr ::= * expr IS NOT DISTINCT FROM expr expr ::= * expr IS DISTINCT FROM expr expr ::= * NOT expr expr ::= * BITNOT expr expr ::= * PLUS|MINUS expr expr ::= * expr PTR expr expr ::= * expr between_op expr AND expr expr ::= * expr in_op LP exprlist RP expr ::= * LP select RP expr ::= * expr in_op LP select RP expr ::= * expr in_op nm dbnm paren_exprlist expr ::= * EXISTS LP select RP expr ::= * CASE case_operand case_exprlist case_else END expr ::= * RAISE LP IGNORE RP expr ::= * RAISE LP raisetype COMMA nm RP NOT shift 111 EXISTS shift 560 LP shift 4 CAST shift 563 ID shift 445 RAISE shift 557 CTIME_KW shift-reduce 192 term ::= CTIME_KW PLUS shift 109 MINUS shift 109 BITNOT shift 110 INDEXED shift 445 STRING shift 570 JOIN_KW shift 569 NULL shift-reduce 182 term ::= NULL|FLOAT|BLOB FLOAT shift-reduce 182 term ::= NULL|FLOAT|BLOB BLOB shift-reduce 182 term ::= NULL|FLOAT|BLOB INTEGER shift-reduce 184 term ::= INTEGER VARIABLE shift-reduce 185 expr ::= VARIABLE CASE shift 27 nm shift 568 term shift 77 /* because term==expr */ expr shift 77 State 127: nm ::= * ID|INDEXED nm ::= * STRING nm ::= * JOIN_KW limit_opt ::= LIMIT expr OFFSET * expr expr ::= * term expr ::= * LP expr RP expr ::= * ID|INDEXED expr ::= * JOIN_KW expr ::= * nm DOT nm expr ::= * nm DOT nm DOT nm term ::= * NULL|FLOAT|BLOB term ::= * STRING term ::= * INTEGER expr ::= * VARIABLE expr ::= * expr COLLATE ID|STRING expr ::= * CAST LP expr AS typetoken RP expr ::= * ID|INDEXED LP distinct exprlist RP expr ::= * ID|INDEXED LP STAR RP expr ::= * ID|INDEXED LP distinct exprlist RP filter_over expr ::= * ID|INDEXED LP STAR RP filter_over term ::= * CTIME_KW expr ::= * LP nexprlist COMMA expr RP expr ::= * expr AND expr expr ::= * expr OR expr expr ::= * expr LT|GT|GE|LE expr expr ::= * expr EQ|NE expr expr ::= * expr BITAND|BITOR|LSHIFT|RSHIFT expr expr ::= * expr PLUS|MINUS expr expr ::= * expr STAR|SLASH|REM expr expr ::= * expr CONCAT expr expr ::= * expr likeop expr expr ::= * expr likeop expr ESCAPE expr expr ::= * expr ISNULL|NOTNULL expr ::= * expr NOT NULL expr ::= * expr IS expr expr ::= * expr IS NOT expr expr ::= * expr IS NOT DISTINCT FROM expr expr ::= * expr IS DISTINCT FROM expr expr ::= * NOT expr expr ::= * BITNOT expr expr ::= * PLUS|MINUS expr expr ::= * expr PTR expr expr ::= * expr between_op expr AND expr expr ::= * expr in_op LP exprlist RP expr ::= * LP select RP expr ::= * expr in_op LP select RP expr ::= * expr in_op nm dbnm paren_exprlist expr ::= * EXISTS LP select RP expr ::= * CASE case_operand case_exprlist case_else END expr ::= * RAISE LP IGNORE RP expr ::= * RAISE LP raisetype COMMA nm RP NOT shift 111 EXISTS shift 560 LP shift 4 CAST shift 563 ID shift 445 RAISE shift 557 CTIME_KW shift-reduce 192 term ::= CTIME_KW PLUS shift 109 MINUS shift 109 BITNOT shift 110 INDEXED shift 445 STRING shift 570 JOIN_KW shift 569 NULL shift-reduce 182 term ::= NULL|FLOAT|BLOB FLOAT shift-reduce 182 term ::= NULL|FLOAT|BLOB BLOB shift-reduce 182 term ::= NULL|FLOAT|BLOB INTEGER shift-reduce 184 term ::= INTEGER VARIABLE shift-reduce 185 expr ::= VARIABLE CASE shift 27 nm shift 568 term shift 74 /* because term==expr */ expr shift 74 State 128: nm ::= * ID|INDEXED nm ::= * STRING nm ::= * JOIN_KW limit_opt ::= LIMIT * expr limit_opt ::= LIMIT * expr OFFSET expr limit_opt ::= LIMIT * expr COMMA expr expr ::= * term expr ::= * LP expr RP expr ::= * ID|INDEXED expr ::= * JOIN_KW expr ::= * nm DOT nm expr ::= * nm DOT nm DOT nm term ::= * NULL|FLOAT|BLOB term ::= * STRING term ::= * INTEGER expr ::= * VARIABLE expr ::= * expr COLLATE ID|STRING expr ::= * CAST LP expr AS typetoken RP expr ::= * ID|INDEXED LP distinct exprlist RP expr ::= * ID|INDEXED LP STAR RP expr ::= * ID|INDEXED LP distinct exprlist RP filter_over expr ::= * ID|INDEXED LP STAR RP filter_over term ::= * CTIME_KW expr ::= * LP nexprlist COMMA expr RP expr ::= * expr AND expr expr ::= * expr OR expr expr ::= * expr LT|GT|GE|LE expr expr ::= * expr EQ|NE expr expr ::= * expr BITAND|BITOR|LSHIFT|RSHIFT expr expr ::= * expr PLUS|MINUS expr expr ::= * expr STAR|SLASH|REM expr expr ::= * expr CONCAT expr expr ::= * expr likeop expr expr ::= * expr likeop expr ESCAPE expr expr ::= * expr ISNULL|NOTNULL expr ::= * expr NOT NULL expr ::= * expr IS expr expr ::= * expr IS NOT expr expr ::= * expr IS NOT DISTINCT FROM expr expr ::= * expr IS DISTINCT FROM expr expr ::= * NOT expr expr ::= * BITNOT expr expr ::= * PLUS|MINUS expr expr ::= * expr PTR expr expr ::= * expr between_op expr AND expr expr ::= * expr in_op LP exprlist RP expr ::= * LP select RP expr ::= * expr in_op LP select RP expr ::= * expr in_op nm dbnm paren_exprlist expr ::= * EXISTS LP select RP expr ::= * CASE case_operand case_exprlist case_else END expr ::= * RAISE LP IGNORE RP expr ::= * RAISE LP raisetype COMMA nm RP NOT shift 111 EXISTS shift 560 LP shift 4 CAST shift 563 ID shift 445 RAISE shift 557 CTIME_KW shift-reduce 192 term ::= CTIME_KW PLUS shift 109 MINUS shift 109 BITNOT shift 110 INDEXED shift 445 STRING shift 570 JOIN_KW shift 569 NULL shift-reduce 182 term ::= NULL|FLOAT|BLOB FLOAT shift-reduce 182 term ::= NULL|FLOAT|BLOB BLOB shift-reduce 182 term ::= NULL|FLOAT|BLOB INTEGER shift-reduce 184 term ::= INTEGER VARIABLE shift-reduce 185 expr ::= VARIABLE CASE shift 27 nm shift 568 term shift 42 /* because term==expr */ expr shift 42 State 129: nm ::= * ID|INDEXED nm ::= * STRING nm ::= * JOIN_KW ccons ::= DEFAULT LP * expr RP expr ::= * term expr ::= * LP expr RP expr ::= * ID|INDEXED expr ::= * JOIN_KW expr ::= * nm DOT nm expr ::= * nm DOT nm DOT nm term ::= * NULL|FLOAT|BLOB term ::= * STRING term ::= * INTEGER expr ::= * VARIABLE expr ::= * expr COLLATE ID|STRING expr ::= * CAST LP expr AS typetoken RP expr ::= * ID|INDEXED LP distinct exprlist RP expr ::= * ID|INDEXED LP STAR RP expr ::= * ID|INDEXED LP distinct exprlist RP filter_over expr ::= * ID|INDEXED LP STAR RP filter_over term ::= * CTIME_KW expr ::= * LP nexprlist COMMA expr RP expr ::= * expr AND expr expr ::= * expr OR expr expr ::= * expr LT|GT|GE|LE expr expr ::= * expr EQ|NE expr expr ::= * expr BITAND|BITOR|LSHIFT|RSHIFT expr expr ::= * expr PLUS|MINUS expr expr ::= * expr STAR|SLASH|REM expr expr ::= * expr CONCAT expr expr ::= * expr likeop expr expr ::= * expr likeop expr ESCAPE expr expr ::= * expr ISNULL|NOTNULL expr ::= * expr NOT NULL expr ::= * expr IS expr expr ::= * expr IS NOT expr expr ::= * expr IS NOT DISTINCT FROM expr expr ::= * expr IS DISTINCT FROM expr expr ::= * NOT expr expr ::= * BITNOT expr expr ::= * PLUS|MINUS expr expr ::= * expr PTR expr expr ::= * expr between_op expr AND expr expr ::= * expr in_op LP exprlist RP expr ::= * LP select RP expr ::= * expr in_op LP select RP expr ::= * expr in_op nm dbnm paren_exprlist expr ::= * EXISTS LP select RP expr ::= * CASE case_operand case_exprlist case_else END expr ::= * RAISE LP IGNORE RP expr ::= * RAISE LP raisetype COMMA nm RP NOT shift 111 EXISTS shift 560 LP shift 4 CAST shift 563 ID shift 445 RAISE shift 557 CTIME_KW shift-reduce 192 term ::= CTIME_KW PLUS shift 109 MINUS shift 109 BITNOT shift 110 INDEXED shift 445 STRING shift 570 JOIN_KW shift 569 NULL shift-reduce 182 term ::= NULL|FLOAT|BLOB FLOAT shift-reduce 182 term ::= NULL|FLOAT|BLOB BLOB shift-reduce 182 term ::= NULL|FLOAT|BLOB INTEGER shift-reduce 184 term ::= INTEGER VARIABLE shift-reduce 185 expr ::= VARIABLE CASE shift 27 nm shift 568 term shift 48 /* because term==expr */ expr shift 48 State 130: expr ::= expr * COLLATE ID|STRING expr ::= expr * AND expr expr ::= expr * OR expr expr ::= expr * LT|GT|GE|LE expr expr ::= expr * EQ|NE expr expr ::= expr * BITAND|BITOR|LSHIFT|RSHIFT expr expr ::= expr * PLUS|MINUS expr expr ::= expr * STAR|SLASH|REM expr expr ::= expr * CONCAT expr likeop ::= * LIKE_KW|MATCH likeop ::= * NOT LIKE_KW|MATCH expr ::= expr * likeop expr (203) expr ::= expr likeop expr * expr ::= expr * likeop expr ESCAPE expr expr ::= expr likeop expr * ESCAPE expr expr ::= expr * ISNULL|NOTNULL expr ::= expr * NOT NULL expr ::= expr * IS expr expr ::= expr * IS NOT expr expr ::= expr * IS NOT DISTINCT FROM expr expr ::= expr * IS DISTINCT FROM expr expr ::= expr * PTR expr between_op ::= * BETWEEN between_op ::= * NOT BETWEEN expr ::= expr * between_op expr AND expr in_op ::= * IN in_op ::= * NOT IN expr ::= expr * in_op LP exprlist RP expr ::= expr * in_op LP select RP expr ::= expr * in_op nm dbnm paren_exprlist GT shift 124 LE shift 124 LT shift 124 GE shift 124 ESCAPE shift 117 BITAND shift 122 BITOR shift 122 LSHIFT shift 122 RSHIFT shift 122 PLUS shift 121 MINUS shift 121 STAR shift 120 SLASH shift 120 REM shift 120 CONCAT shift 119 PTR shift 116 COLLATE shift 444 likeop shift 118 between_op shift 115 in_op shift 229 {default} reduce 203 expr ::= expr likeop expr State 131: expr ::= expr * COLLATE ID|STRING expr ::= expr * AND expr expr ::= expr * OR expr expr ::= expr * LT|GT|GE|LE expr expr ::= expr * EQ|NE expr expr ::= expr * BITAND|BITOR|LSHIFT|RSHIFT expr expr ::= expr * PLUS|MINUS expr expr ::= expr * STAR|SLASH|REM expr expr ::= expr * CONCAT expr likeop ::= * LIKE_KW|MATCH likeop ::= * NOT LIKE_KW|MATCH expr ::= expr * likeop expr expr ::= expr * likeop expr ESCAPE expr expr ::= expr * ISNULL|NOTNULL expr ::= expr * NOT NULL expr ::= expr * IS expr expr ::= expr * IS NOT expr expr ::= expr * IS NOT DISTINCT FROM expr expr ::= expr * IS DISTINCT FROM expr (210) expr ::= expr IS DISTINCT FROM expr * expr ::= expr * PTR expr between_op ::= * BETWEEN between_op ::= * NOT BETWEEN expr ::= expr * between_op expr AND expr in_op ::= * IN in_op ::= * NOT IN expr ::= expr * in_op LP exprlist RP expr ::= expr * in_op LP select RP expr ::= expr * in_op nm dbnm paren_exprlist GT shift 124 LE shift 124 LT shift 124 GE shift 124 BITAND shift 122 BITOR shift 122 LSHIFT shift 122 RSHIFT shift 122 PLUS shift 121 MINUS shift 121 STAR shift 120 SLASH shift 120 REM shift 120 CONCAT shift 119 PTR shift 116 COLLATE shift 444 likeop shift 118 between_op shift 115 in_op shift 229 {default} reduce 210 expr ::= expr IS DISTINCT FROM expr State 132: expr ::= expr * COLLATE ID|STRING expr ::= expr * AND expr expr ::= expr * OR expr expr ::= expr * LT|GT|GE|LE expr expr ::= expr * EQ|NE expr expr ::= expr * BITAND|BITOR|LSHIFT|RSHIFT expr expr ::= expr * PLUS|MINUS expr expr ::= expr * STAR|SLASH|REM expr expr ::= expr * CONCAT expr likeop ::= * LIKE_KW|MATCH likeop ::= * NOT LIKE_KW|MATCH expr ::= expr * likeop expr expr ::= expr * likeop expr ESCAPE expr expr ::= expr * ISNULL|NOTNULL expr ::= expr * NOT NULL expr ::= expr * IS expr expr ::= expr * IS NOT expr expr ::= expr * IS NOT DISTINCT FROM expr (209) expr ::= expr IS NOT DISTINCT FROM expr * expr ::= expr * IS DISTINCT FROM expr expr ::= expr * PTR expr between_op ::= * BETWEEN between_op ::= * NOT BETWEEN expr ::= expr * between_op expr AND expr in_op ::= * IN in_op ::= * NOT IN expr ::= expr * in_op LP exprlist RP expr ::= expr * in_op LP select RP expr ::= expr * in_op nm dbnm paren_exprlist GT shift 124 LE shift 124 LT shift 124 GE shift 124 BITAND shift 122 BITOR shift 122 LSHIFT shift 122 RSHIFT shift 122 PLUS shift 121 MINUS shift 121 STAR shift 120 SLASH shift 120 REM shift 120 CONCAT shift 119 PTR shift 116 COLLATE shift 444 likeop shift 118 between_op shift 115 in_op shift 229 {default} reduce 209 expr ::= expr IS NOT DISTINCT FROM expr State 133: expr ::= expr * COLLATE ID|STRING expr ::= expr * AND expr expr ::= expr * OR expr expr ::= expr * LT|GT|GE|LE expr expr ::= expr * EQ|NE expr expr ::= expr * BITAND|BITOR|LSHIFT|RSHIFT expr expr ::= expr * PLUS|MINUS expr expr ::= expr * STAR|SLASH|REM expr expr ::= expr * CONCAT expr likeop ::= * LIKE_KW|MATCH likeop ::= * NOT LIKE_KW|MATCH expr ::= expr * likeop expr expr ::= expr * likeop expr ESCAPE expr expr ::= expr * ISNULL|NOTNULL expr ::= expr * NOT NULL expr ::= expr * IS expr expr ::= expr * IS NOT expr (208) expr ::= expr IS NOT expr * expr ::= expr * IS NOT DISTINCT FROM expr expr ::= expr * IS DISTINCT FROM expr (211) expr ::= NOT expr * expr ::= expr * PTR expr between_op ::= * BETWEEN between_op ::= * NOT BETWEEN expr ::= expr * between_op expr AND expr in_op ::= * IN in_op ::= * NOT IN expr ::= expr * in_op LP exprlist RP expr ::= expr * in_op LP select RP expr ::= expr * in_op nm dbnm paren_exprlist GT shift 124 LE shift 124 LT shift 124 GE shift 124 BITAND shift 122 BITOR shift 122 LSHIFT shift 122 RSHIFT shift 122 PLUS shift 121 MINUS shift 121 STAR shift 120 SLASH shift 120 REM shift 120 CONCAT shift 119 PTR shift 116 COLLATE shift 444 likeop shift 118 between_op shift 115 in_op shift 229 {default} reduce 208 expr ::= expr IS NOT expr State 134: expr ::= expr * COLLATE ID|STRING expr ::= expr * AND expr (194) expr ::= expr AND expr * expr ::= expr * OR expr expr ::= expr * LT|GT|GE|LE expr expr ::= expr * EQ|NE expr expr ::= expr * BITAND|BITOR|LSHIFT|RSHIFT expr expr ::= expr * PLUS|MINUS expr expr ::= expr * STAR|SLASH|REM expr expr ::= expr * CONCAT expr likeop ::= * LIKE_KW|MATCH likeop ::= * NOT LIKE_KW|MATCH expr ::= expr * likeop expr expr ::= expr * likeop expr ESCAPE expr expr ::= expr * ISNULL|NOTNULL expr ::= expr * NOT NULL expr ::= expr * IS expr expr ::= expr * IS NOT expr expr ::= expr * IS NOT DISTINCT FROM expr expr ::= expr * IS DISTINCT FROM expr expr ::= expr * PTR expr between_op ::= * BETWEEN between_op ::= * NOT BETWEEN expr ::= expr * between_op expr AND expr (217) expr ::= expr between_op expr AND expr * in_op ::= * IN in_op ::= * NOT IN expr ::= expr * in_op LP exprlist RP expr ::= expr * in_op LP select RP expr ::= expr * in_op nm dbnm paren_exprlist GT shift 124 LE shift 124 LT shift 124 GE shift 124 BITAND shift 122 BITOR shift 122 LSHIFT shift 122 RSHIFT shift 122 PLUS shift 121 MINUS shift 121 STAR shift 120 SLASH shift 120 REM shift 120 CONCAT shift 119 PTR shift 116 COLLATE shift 444 likeop shift 118 between_op shift 115 in_op shift 229 {default} reduce 217 expr ::= expr between_op expr AND expr State 135: expr ::= expr * COLLATE ID|STRING expr ::= expr * AND expr expr ::= expr * OR expr expr ::= expr * LT|GT|GE|LE expr expr ::= expr * EQ|NE expr expr ::= expr * BITAND|BITOR|LSHIFT|RSHIFT expr expr ::= expr * PLUS|MINUS expr expr ::= expr * STAR|SLASH|REM expr expr ::= expr * CONCAT expr likeop ::= * LIKE_KW|MATCH likeop ::= * NOT LIKE_KW|MATCH expr ::= expr * likeop expr expr ::= expr * likeop expr ESCAPE expr expr ::= expr * ISNULL|NOTNULL expr ::= expr * NOT NULL expr ::= expr * IS expr (207) expr ::= expr IS expr * expr ::= expr * IS NOT expr expr ::= expr * IS NOT DISTINCT FROM expr expr ::= expr * IS DISTINCT FROM expr expr ::= expr * PTR expr between_op ::= * BETWEEN between_op ::= * NOT BETWEEN expr ::= expr * between_op expr AND expr in_op ::= * IN in_op ::= * NOT IN expr ::= expr * in_op LP exprlist RP expr ::= expr * in_op LP select RP expr ::= expr * in_op nm dbnm paren_exprlist GT shift 124 LE shift 124 LT shift 124 GE shift 124 BITAND shift 122 BITOR shift 122 LSHIFT shift 122 RSHIFT shift 122 PLUS shift 121 MINUS shift 121 STAR shift 120 SLASH shift 120 REM shift 120 CONCAT shift 119 PTR shift 116 COLLATE shift 444 likeop shift 118 between_op shift 115 in_op shift 229 {default} reduce 207 expr ::= expr IS expr State 136: expr ::= expr * COLLATE ID|STRING expr ::= expr * AND expr expr ::= expr * OR expr expr ::= expr * LT|GT|GE|LE expr expr ::= expr * EQ|NE expr expr ::= expr * BITAND|BITOR|LSHIFT|RSHIFT expr expr ::= expr * PLUS|MINUS expr expr ::= expr * STAR|SLASH|REM expr expr ::= expr * CONCAT expr likeop ::= * LIKE_KW|MATCH likeop ::= * NOT LIKE_KW|MATCH expr ::= expr * likeop expr expr ::= expr * likeop expr ESCAPE expr (204) expr ::= expr likeop expr ESCAPE expr * expr ::= expr * ISNULL|NOTNULL expr ::= expr * NOT NULL expr ::= expr * IS expr expr ::= expr * IS NOT expr expr ::= expr * IS NOT DISTINCT FROM expr expr ::= expr * IS DISTINCT FROM expr expr ::= expr * PTR expr between_op ::= * BETWEEN between_op ::= * NOT BETWEEN expr ::= expr * between_op expr AND expr in_op ::= * IN in_op ::= * NOT IN expr ::= expr * in_op LP exprlist RP expr ::= expr * in_op LP select RP expr ::= expr * in_op nm dbnm paren_exprlist GT shift 124 LE shift 124 LT shift 124 GE shift 124 BITAND shift 122 BITOR shift 122 LSHIFT shift 122 RSHIFT shift 122 PLUS shift 121 MINUS shift 121 STAR shift 120 SLASH shift 120 REM shift 120 CONCAT shift 119 PTR shift 116 COLLATE shift 444 likeop shift 118 between_op shift 115 in_op shift 229 {default} reduce 204 expr ::= expr likeop expr ESCAPE expr State 137: expr ::= expr * COLLATE ID|STRING expr ::= expr * AND expr expr ::= expr * OR expr expr ::= expr * LT|GT|GE|LE expr expr ::= expr * EQ|NE expr (197) expr ::= expr EQ|NE expr * expr ::= expr * BITAND|BITOR|LSHIFT|RSHIFT expr expr ::= expr * PLUS|MINUS expr expr ::= expr * STAR|SLASH|REM expr expr ::= expr * CONCAT expr likeop ::= * LIKE_KW|MATCH likeop ::= * NOT LIKE_KW|MATCH expr ::= expr * likeop expr expr ::= expr * likeop expr ESCAPE expr expr ::= expr * ISNULL|NOTNULL expr ::= expr * NOT NULL expr ::= expr * IS expr expr ::= expr * IS NOT expr expr ::= expr * IS NOT DISTINCT FROM expr expr ::= expr * IS DISTINCT FROM expr expr ::= expr * PTR expr between_op ::= * BETWEEN between_op ::= * NOT BETWEEN expr ::= expr * between_op expr AND expr in_op ::= * IN in_op ::= * NOT IN expr ::= expr * in_op LP exprlist RP expr ::= expr * in_op LP select RP expr ::= expr * in_op nm dbnm paren_exprlist GT shift 124 LE shift 124 LT shift 124 GE shift 124 BITAND shift 122 BITOR shift 122 LSHIFT shift 122 RSHIFT shift 122 PLUS shift 121 MINUS shift 121 STAR shift 120 SLASH shift 120 REM shift 120 CONCAT shift 119 PTR shift 116 COLLATE shift 444 likeop shift 118 between_op shift 115 in_op shift 229 {default} reduce 197 expr ::= expr EQ|NE expr State 138: expr ::= expr * COLLATE ID|STRING expr ::= expr * AND expr expr ::= expr * OR expr expr ::= expr * LT|GT|GE|LE expr (196) expr ::= expr LT|GT|GE|LE expr * expr ::= expr * EQ|NE expr expr ::= expr * BITAND|BITOR|LSHIFT|RSHIFT expr expr ::= expr * PLUS|MINUS expr expr ::= expr * STAR|SLASH|REM expr expr ::= expr * CONCAT expr likeop ::= * LIKE_KW|MATCH likeop ::= * NOT LIKE_KW|MATCH expr ::= expr * likeop expr expr ::= expr * likeop expr ESCAPE expr expr ::= expr * ISNULL|NOTNULL expr ::= expr * NOT NULL expr ::= expr * IS expr expr ::= expr * IS NOT expr expr ::= expr * IS NOT DISTINCT FROM expr expr ::= expr * IS DISTINCT FROM expr expr ::= expr * PTR expr between_op ::= * BETWEEN between_op ::= * NOT BETWEEN expr ::= expr * between_op expr AND expr in_op ::= * IN in_op ::= * NOT IN expr ::= expr * in_op LP exprlist RP expr ::= expr * in_op LP select RP expr ::= expr * in_op nm dbnm paren_exprlist BITAND shift 122 BITOR shift 122 LSHIFT shift 122 RSHIFT shift 122 PLUS shift 121 MINUS shift 121 STAR shift 120 SLASH shift 120 REM shift 120 CONCAT shift 119 PTR shift 116 COLLATE shift 444 likeop shift 118 between_op shift 115 in_op shift 229 {default} reduce 196 expr ::= expr LT|GT|GE|LE expr State 139: expr ::= expr * COLLATE ID|STRING expr ::= expr * AND expr expr ::= expr * OR expr expr ::= expr * LT|GT|GE|LE expr expr ::= expr * EQ|NE expr expr ::= expr * BITAND|BITOR|LSHIFT|RSHIFT expr (198) expr ::= expr BITAND|BITOR|LSHIFT|RSHIFT expr * expr ::= expr * PLUS|MINUS expr expr ::= expr * STAR|SLASH|REM expr expr ::= expr * CONCAT expr likeop ::= * LIKE_KW|MATCH likeop ::= * NOT LIKE_KW|MATCH expr ::= expr * likeop expr expr ::= expr * likeop expr ESCAPE expr expr ::= expr * ISNULL|NOTNULL expr ::= expr * NOT NULL expr ::= expr * IS expr expr ::= expr * IS NOT expr expr ::= expr * IS NOT DISTINCT FROM expr expr ::= expr * IS DISTINCT FROM expr expr ::= expr * PTR expr between_op ::= * BETWEEN between_op ::= * NOT BETWEEN expr ::= expr * between_op expr AND expr in_op ::= * IN in_op ::= * NOT IN expr ::= expr * in_op LP exprlist RP expr ::= expr * in_op LP select RP expr ::= expr * in_op nm dbnm paren_exprlist PLUS shift 121 MINUS shift 121 STAR shift 120 SLASH shift 120 REM shift 120 CONCAT shift 119 PTR shift 116 COLLATE shift 444 likeop shift 118 between_op shift 115 in_op shift 229 {default} reduce 198 expr ::= expr BITAND|BITOR|LSHIFT|RSHIFT expr State 140: expr ::= expr * COLLATE ID|STRING expr ::= expr * AND expr expr ::= expr * OR expr expr ::= expr * LT|GT|GE|LE expr expr ::= expr * EQ|NE expr expr ::= expr * BITAND|BITOR|LSHIFT|RSHIFT expr expr ::= expr * PLUS|MINUS expr (199) expr ::= expr PLUS|MINUS expr * expr ::= expr * STAR|SLASH|REM expr expr ::= expr * CONCAT expr likeop ::= * LIKE_KW|MATCH likeop ::= * NOT LIKE_KW|MATCH expr ::= expr * likeop expr expr ::= expr * likeop expr ESCAPE expr expr ::= expr * ISNULL|NOTNULL expr ::= expr * NOT NULL expr ::= expr * IS expr expr ::= expr * IS NOT expr expr ::= expr * IS NOT DISTINCT FROM expr expr ::= expr * IS DISTINCT FROM expr expr ::= expr * PTR expr between_op ::= * BETWEEN between_op ::= * NOT BETWEEN expr ::= expr * between_op expr AND expr in_op ::= * IN in_op ::= * NOT IN expr ::= expr * in_op LP exprlist RP expr ::= expr * in_op LP select RP expr ::= expr * in_op nm dbnm paren_exprlist STAR shift 120 SLASH shift 120 REM shift 120 CONCAT shift 119 PTR shift 116 COLLATE shift 444 likeop shift 118 between_op shift 115 in_op shift 229 {default} reduce 199 expr ::= expr PLUS|MINUS expr State 141: nm ::= * ID|INDEXED nm ::= * STRING nm ::= * JOIN_KW select ::= WITH * wqlist selectnowith select ::= WITH * RECURSIVE wqlist selectnowith with ::= WITH * wqlist with ::= WITH * RECURSIVE wqlist wqitem ::= * nm eidlist_opt wqas LP select RP wqlist ::= * wqitem wqlist ::= * wqlist COMMA wqitem ID shift-reduce 357 nm ::= ID|INDEXED RECURSIVE shift 145 INDEXED shift-reduce 357 nm ::= ID|INDEXED STRING shift-reduce 358 nm ::= STRING JOIN_KW shift-reduce 359 nm ::= JOIN_KW nm shift 373 wqlist shift 154 wqitem shift-reduce 309 wqlist ::= wqitem State 142: nm ::= * ID|INDEXED nm ::= * STRING nm ::= * JOIN_KW select ::= WITH * wqlist selectnowith select ::= WITH * RECURSIVE wqlist selectnowith wqitem ::= * nm eidlist_opt wqas LP select RP wqlist ::= * wqitem wqlist ::= * wqlist COMMA wqitem ID shift-reduce 357 nm ::= ID|INDEXED RECURSIVE shift 148 INDEXED shift-reduce 357 nm ::= ID|INDEXED STRING shift-reduce 358 nm ::= STRING JOIN_KW shift-reduce 359 nm ::= JOIN_KW nm shift 373 wqlist shift 157 wqitem shift-reduce 309 wqlist ::= wqitem State 143: create_table_args ::= LP columnlist conslist_opt RP * table_option_set (21) table_option_set ::= * table_option_set ::= * table_option table_option_set ::= * table_option_set COMMA table_option table_option ::= * WITHOUT nm table_option ::= * nm nm ::= * ID|INDEXED nm ::= * STRING nm ::= * JOIN_KW WITHOUT shift 271 ID shift-reduce 357 nm ::= ID|INDEXED INDEXED shift-reduce 357 nm ::= ID|INDEXED STRING shift-reduce 358 nm ::= STRING JOIN_KW shift-reduce 359 nm ::= JOIN_KW nm shift-reduce 24 table_option ::= nm table_option_set shift 571 table_option shift 571 /* because table_option==table_option_set */ {default} reduce 21 table_option_set ::= State 144: nm ::= * ID|INDEXED nm ::= * STRING nm ::= * JOIN_KW fullname ::= * nm fullname ::= * nm DOT nm cmd ::= ALTER TABLE * fullname RENAME TO nm cmd ::= ALTER TABLE * add_column_fullname ADD kwcolumn_opt columnname carglist cmd ::= ALTER TABLE * fullname DROP kwcolumn_opt nm add_column_fullname ::= * fullname cmd ::= ALTER TABLE * fullname RENAME kwcolumn_opt nm TO nm ID shift-reduce 357 nm ::= ID|INDEXED INDEXED shift-reduce 357 nm ::= ID|INDEXED STRING shift-reduce 358 nm ::= STRING JOIN_KW shift-reduce 359 nm ::= JOIN_KW nm shift 491 fullname shift 417 add_column_fullname shift 449 State 145: nm ::= * ID|INDEXED nm ::= * STRING nm ::= * JOIN_KW select ::= WITH RECURSIVE * wqlist selectnowith with ::= WITH RECURSIVE * wqlist wqitem ::= * nm eidlist_opt wqas LP select RP wqlist ::= * wqitem wqlist ::= * wqlist COMMA wqitem ID shift-reduce 357 nm ::= ID|INDEXED INDEXED shift-reduce 357 nm ::= ID|INDEXED STRING shift-reduce 358 nm ::= STRING JOIN_KW shift-reduce 359 nm ::= JOIN_KW nm shift 373 wqlist shift 153 wqitem shift-reduce 309 wqlist ::= wqitem State 146: create_table ::= createkw * temp TABLE ifnotexists nm dbnm temp ::= * TEMP (18) temp ::= * cmd ::= createkw * temp VIEW ifnotexists nm dbnm eidlist_opt AS select cmd ::= createkw * uniqueflag INDEX ifnotexists nm dbnm ON nm LP sortlist RP where_opt uniqueflag ::= * UNIQUE (239) uniqueflag ::= * cmd ::= createkw * trigger_decl BEGIN trigger_cmd_list END trigger_decl ::= * temp TRIGGER ifnotexists nm dbnm trigger_time trigger_event ON fullname foreach_clause when_clause create_vtab ::= createkw * VIRTUAL TABLE ifnotexists nm dbnm USING nm TEMP shift-reduce 17 temp ::= TEMP VIRTUAL shift 463 UNIQUE shift-reduce 238 uniqueflag ::= UNIQUE INDEX reduce 239 uniqueflag ::= temp shift 413 uniqueflag shift 485 trigger_decl shift 482 {default} reduce 18 temp ::= State 147: refargs ::= refargs * refarg refarg ::= * MATCH nm refarg ::= * ON INSERT refact refarg ::= * ON DELETE refact refarg ::= * ON UPDATE refact defer_subclause ::= * NOT DEFERRABLE init_deferred_pred_opt defer_subclause ::= * DEFERRABLE init_deferred_pred_opt tcons ::= FOREIGN KEY LP eidlist RP REFERENCES nm eidlist_opt refargs * defer_subclause_opt (72) defer_subclause_opt ::= * defer_subclause_opt ::= * defer_subclause NOT shift 496 MATCH shift 256 ON shift 414 DEFERRABLE shift 359 defer_subclause shift-reduce 71 tcons ::= FOREIGN KEY LP eidlist RP REFERENCES nm eidlist_opt refargs defer_subclause_opt /* because defer_subclause==defer_subclause_opt */ refarg shift-reduce 50 refargs ::= refargs refarg defer_subclause_opt shift-reduce 71 tcons ::= FOREIGN KEY LP eidlist RP REFERENCES nm eidlist_opt refargs defer_subclause_opt {default} reduce 72 defer_subclause_opt ::= State 148: nm ::= * ID|INDEXED nm ::= * STRING nm ::= * JOIN_KW select ::= WITH RECURSIVE * wqlist selectnowith wqitem ::= * nm eidlist_opt wqas LP select RP wqlist ::= * wqitem wqlist ::= * wqlist COMMA wqitem ID shift-reduce 357 nm ::= ID|INDEXED INDEXED shift-reduce 357 nm ::= ID|INDEXED STRING shift-reduce 358 nm ::= STRING JOIN_KW shift-reduce 359 nm ::= JOIN_KW nm shift 373 wqlist shift 155 wqitem shift-reduce 309 wqlist ::= wqitem State 149: nm ::= * ID|INDEXED nm ::= * STRING nm ::= * JOIN_KW windowdefn_list ::= * windowdefn windowdefn_list ::= * windowdefn_list COMMA windowdefn windowdefn ::= * nm AS LP window RP window_clause ::= WINDOW * windowdefn_list ID shift-reduce 357 nm ::= ID|INDEXED INDEXED shift-reduce 357 nm ::= ID|INDEXED STRING shift-reduce 358 nm ::= STRING JOIN_KW shift-reduce 359 nm ::= JOIN_KW nm shift 543 windowdefn_list shift 544 windowdefn shift-reduce 311 windowdefn_list ::= windowdefn State 150: typetoken ::= typename LP signed COMMA * signed RP signed ::= * plus_num signed ::= * minus_num plus_num ::= * PLUS INTEGER|FLOAT plus_num ::= * INTEGER|FLOAT minus_num ::= * MINUS INTEGER|FLOAT PLUS shift 441 MINUS shift 440 FLOAT shift-reduce 389 plus_num ::= INTEGER|FLOAT INTEGER shift-reduce 389 plus_num ::= INTEGER|FLOAT signed shift 562 plus_num shift 562 /* because plus_num==signed */ minus_num shift 562 /* because minus_num==signed */ State 151: typetoken ::= typename LP * signed RP typetoken ::= typename LP * signed COMMA signed RP signed ::= * plus_num signed ::= * minus_num plus_num ::= * PLUS INTEGER|FLOAT plus_num ::= * INTEGER|FLOAT minus_num ::= * MINUS INTEGER|FLOAT PLUS shift 441 MINUS shift 440 FLOAT shift-reduce 389 plus_num ::= INTEGER|FLOAT INTEGER shift-reduce 389 plus_num ::= INTEGER|FLOAT signed shift 442 plus_num shift 442 /* because plus_num==signed */ minus_num shift 442 /* because minus_num==signed */ State 152: create_table_args ::= LP * columnlist conslist_opt RP table_option_set columnlist ::= * columnlist COMMA columnname carglist columnlist ::= * columnname carglist columnname ::= * nm typetoken nm ::= * ID|INDEXED nm ::= * STRING nm ::= * JOIN_KW ID shift-reduce 357 nm ::= ID|INDEXED INDEXED shift-reduce 357 nm ::= ID|INDEXED STRING shift-reduce 358 nm ::= STRING JOIN_KW shift-reduce 359 nm ::= JOIN_KW nm shift 208 columnlist shift 388 columnname shift 402 State 153: select ::= WITH RECURSIVE wqlist * selectnowith selectnowith ::= * oneselect selectnowith ::= * selectnowith multiselect_op oneselect oneselect ::= * SELECT distinct selcollist from where_opt groupby_opt having_opt orderby_opt limit_opt oneselect ::= * SELECT distinct selcollist from where_opt groupby_opt having_opt window_clause orderby_opt limit_opt oneselect ::= * values values ::= * VALUES LP nexprlist RP values ::= * values COMMA LP nexprlist RP (304) with ::= WITH RECURSIVE wqlist * wqlist ::= wqlist * COMMA wqitem COMMA shift 197 SELECT shift 316 VALUES shift 559 selectnowith shift 278 oneselect shift 278 /* because oneselect==selectnowith */ values shift 565 {default} reduce 304 with ::= WITH RECURSIVE wqlist State 154: select ::= WITH wqlist * selectnowith selectnowith ::= * oneselect selectnowith ::= * selectnowith multiselect_op oneselect oneselect ::= * SELECT distinct selcollist from where_opt groupby_opt having_opt orderby_opt limit_opt oneselect ::= * SELECT distinct selcollist from where_opt groupby_opt having_opt window_clause orderby_opt limit_opt oneselect ::= * values values ::= * VALUES LP nexprlist RP values ::= * values COMMA LP nexprlist RP (303) with ::= WITH wqlist * wqlist ::= wqlist * COMMA wqitem COMMA shift 197 SELECT shift 316 VALUES shift 559 selectnowith shift 285 oneselect shift 285 /* because oneselect==selectnowith */ values shift 565 {default} reduce 303 with ::= WITH wqlist State 155: select ::= WITH RECURSIVE wqlist * selectnowith selectnowith ::= * oneselect selectnowith ::= * selectnowith multiselect_op oneselect oneselect ::= * SELECT distinct selcollist from where_opt groupby_opt having_opt orderby_opt limit_opt oneselect ::= * SELECT distinct selcollist from where_opt groupby_opt having_opt window_clause orderby_opt limit_opt oneselect ::= * values values ::= * VALUES LP nexprlist RP values ::= * values COMMA LP nexprlist RP wqlist ::= wqlist * COMMA wqitem COMMA shift 197 SELECT shift 316 VALUES shift 559 selectnowith shift 278 oneselect shift 278 /* because oneselect==selectnowith */ values shift 565 State 156: expr ::= expr * COLLATE ID|STRING expr ::= expr * AND expr expr ::= expr * OR expr expr ::= expr * LT|GT|GE|LE expr expr ::= expr * EQ|NE expr expr ::= expr * BITAND|BITOR|LSHIFT|RSHIFT expr expr ::= expr * PLUS|MINUS expr expr ::= expr * STAR|SLASH|REM expr (200) expr ::= expr STAR|SLASH|REM expr * expr ::= expr * CONCAT expr likeop ::= * LIKE_KW|MATCH likeop ::= * NOT LIKE_KW|MATCH expr ::= expr * likeop expr expr ::= expr * likeop expr ESCAPE expr expr ::= expr * ISNULL|NOTNULL expr ::= expr * NOT NULL expr ::= expr * IS expr expr ::= expr * IS NOT expr expr ::= expr * IS NOT DISTINCT FROM expr expr ::= expr * IS DISTINCT FROM expr expr ::= expr * PTR expr between_op ::= * BETWEEN between_op ::= * NOT BETWEEN expr ::= expr * between_op expr AND expr in_op ::= * IN in_op ::= * NOT IN expr ::= expr * in_op LP exprlist RP expr ::= expr * in_op LP select RP expr ::= expr * in_op nm dbnm paren_exprlist CONCAT shift 119 PTR shift 116 COLLATE shift 444 likeop shift 118 between_op shift 115 in_op shift 229 {default} reduce 200 expr ::= expr STAR|SLASH|REM expr State 157: select ::= WITH wqlist * selectnowith selectnowith ::= * oneselect selectnowith ::= * selectnowith multiselect_op oneselect oneselect ::= * SELECT distinct selcollist from where_opt groupby_opt having_opt orderby_opt limit_opt oneselect ::= * SELECT distinct selcollist from where_opt groupby_opt having_opt window_clause orderby_opt limit_opt oneselect ::= * values values ::= * VALUES LP nexprlist RP values ::= * values COMMA LP nexprlist RP wqlist ::= wqlist * COMMA wqitem COMMA shift 197 SELECT shift 316 VALUES shift 559 selectnowith shift 285 oneselect shift 285 /* because oneselect==selectnowith */ values shift 565 State 158: (30) scanpt ::= * cmd ::= createkw trigger_decl BEGIN * trigger_cmd_list END trigger_cmd_list ::= * trigger_cmd_list trigger_cmd SEMI trigger_cmd_list ::= * trigger_cmd SEMI trigger_cmd ::= * UPDATE orconf trnm tridxby SET setlist from where_opt scanpt trigger_cmd ::= * scanpt insert_cmd INTO trnm idlist_opt select upsert scanpt trigger_cmd ::= * DELETE FROM trnm tridxby where_opt scanpt trigger_cmd ::= * scanpt select scanpt DELETE shift 465 UPDATE shift 342 scanpt shift 12 trigger_cmd_list shift 203 trigger_cmd shift 464 {default} reduce 30 scanpt ::= State 159: (189) expr ::= ID|INDEXED LP STAR RP * expr ::= ID|INDEXED LP STAR RP * filter_over filter_over ::= * filter_clause over_clause filter_over ::= * over_clause filter_over ::= * filter_clause over_clause ::= * OVER LP window RP over_clause ::= * OVER nm filter_clause ::= * FILTER LP WHERE expr RP OVER shift 224 FILTER shift 514 filter_over shift-reduce 191 expr ::= ID|INDEXED LP STAR RP filter_over filter_clause shift 369 over_clause shift-reduce 337 filter_over ::= over_clause {default} reduce 189 expr ::= ID|INDEXED LP STAR RP State 160: (188) expr ::= ID|INDEXED LP distinct exprlist RP * expr ::= ID|INDEXED LP distinct exprlist RP * filter_over filter_over ::= * filter_clause over_clause filter_over ::= * over_clause filter_over ::= * filter_clause over_clause ::= * OVER LP window RP over_clause ::= * OVER nm filter_clause ::= * FILTER LP WHERE expr RP OVER shift 224 FILTER shift 514 filter_over shift-reduce 190 expr ::= ID|INDEXED LP distinct exprlist RP filter_over filter_clause shift 369 over_clause shift-reduce 337 filter_over ::= over_clause {default} reduce 188 expr ::= ID|INDEXED LP distinct exprlist RP State 161: expr ::= expr * COLLATE ID|STRING expr ::= expr * AND expr expr ::= expr * OR expr expr ::= expr * LT|GT|GE|LE expr expr ::= expr * EQ|NE expr expr ::= expr * BITAND|BITOR|LSHIFT|RSHIFT expr expr ::= expr * PLUS|MINUS expr expr ::= expr * STAR|SLASH|REM expr expr ::= expr * CONCAT expr likeop ::= * LIKE_KW|MATCH likeop ::= * NOT LIKE_KW|MATCH expr ::= expr * likeop expr expr ::= expr * likeop expr ESCAPE expr expr ::= expr * ISNULL|NOTNULL expr ::= expr * NOT NULL expr ::= expr * IS expr expr ::= expr * IS NOT expr expr ::= expr * IS NOT DISTINCT FROM expr expr ::= expr * IS DISTINCT FROM expr expr ::= expr * PTR expr (214) expr ::= expr PTR expr * between_op ::= * BETWEEN between_op ::= * NOT BETWEEN expr ::= expr * between_op expr AND expr in_op ::= * IN in_op ::= * NOT IN expr ::= expr * in_op LP exprlist RP expr ::= expr * in_op LP select RP expr ::= expr * in_op nm dbnm paren_exprlist COLLATE shift 444 likeop shift 118 between_op shift 115 in_op shift 229 {default} reduce 214 expr ::= expr PTR expr State 162: expr ::= expr * COLLATE ID|STRING expr ::= expr * AND expr expr ::= expr * OR expr expr ::= expr * LT|GT|GE|LE expr expr ::= expr * EQ|NE expr expr ::= expr * BITAND|BITOR|LSHIFT|RSHIFT expr expr ::= expr * PLUS|MINUS expr expr ::= expr * STAR|SLASH|REM expr expr ::= expr * CONCAT expr (201) expr ::= expr CONCAT expr * likeop ::= * LIKE_KW|MATCH likeop ::= * NOT LIKE_KW|MATCH expr ::= expr * likeop expr expr ::= expr * likeop expr ESCAPE expr expr ::= expr * ISNULL|NOTNULL expr ::= expr * NOT NULL expr ::= expr * IS expr expr ::= expr * IS NOT expr expr ::= expr * IS NOT DISTINCT FROM expr expr ::= expr * IS DISTINCT FROM expr expr ::= expr * PTR expr between_op ::= * BETWEEN between_op ::= * NOT BETWEEN expr ::= expr * between_op expr AND expr in_op ::= * IN in_op ::= * NOT IN expr ::= expr * in_op LP exprlist RP expr ::= expr * in_op LP select RP expr ::= expr * in_op nm dbnm paren_exprlist COLLATE shift 444 likeop shift 118 between_op shift 115 in_op shift 229 {default} reduce 201 expr ::= expr CONCAT expr State 163: expr ::= expr * COLLATE ID|STRING expr ::= expr * AND expr expr ::= expr * OR expr expr ::= expr * LT|GT|GE|LE expr expr ::= expr * EQ|NE expr expr ::= expr * BITAND|BITOR|LSHIFT|RSHIFT expr expr ::= expr * PLUS|MINUS expr expr ::= expr * STAR|SLASH|REM expr expr ::= expr * CONCAT expr likeop ::= * LIKE_KW|MATCH likeop ::= * NOT LIKE_KW|MATCH expr ::= expr * likeop expr expr ::= expr * likeop expr ESCAPE expr expr ::= expr * ISNULL|NOTNULL expr ::= expr * NOT NULL expr ::= expr * IS expr expr ::= expr * IS NOT expr expr ::= expr * IS NOT DISTINCT FROM expr expr ::= expr * IS DISTINCT FROM expr (213) expr ::= PLUS|MINUS expr * expr ::= expr * PTR expr between_op ::= * BETWEEN between_op ::= * NOT BETWEEN expr ::= expr * between_op expr AND expr in_op ::= * IN in_op ::= * NOT IN expr ::= expr * in_op LP exprlist RP expr ::= expr * in_op LP select RP expr ::= expr * in_op nm dbnm paren_exprlist likeop shift 118 between_op shift 115 in_op shift 229 {default} reduce 213 expr ::= PLUS|MINUS expr State 164: expr ::= expr * COLLATE ID|STRING expr ::= expr * AND expr expr ::= expr * OR expr expr ::= expr * LT|GT|GE|LE expr expr ::= expr * EQ|NE expr expr ::= expr * BITAND|BITOR|LSHIFT|RSHIFT expr expr ::= expr * PLUS|MINUS expr expr ::= expr * STAR|SLASH|REM expr expr ::= expr * CONCAT expr likeop ::= * LIKE_KW|MATCH likeop ::= * NOT LIKE_KW|MATCH expr ::= expr * likeop expr expr ::= expr * likeop expr ESCAPE expr expr ::= expr * ISNULL|NOTNULL expr ::= expr * NOT NULL expr ::= expr * IS expr expr ::= expr * IS NOT expr expr ::= expr * IS NOT DISTINCT FROM expr expr ::= expr * IS DISTINCT FROM expr (212) expr ::= BITNOT expr * expr ::= expr * PTR expr between_op ::= * BETWEEN between_op ::= * NOT BETWEEN expr ::= expr * between_op expr AND expr in_op ::= * IN in_op ::= * NOT IN expr ::= expr * in_op LP exprlist RP expr ::= expr * in_op LP select RP expr ::= expr * in_op nm dbnm paren_exprlist likeop shift 118 between_op shift 115 in_op shift 229 {default} reduce 212 expr ::= BITNOT expr State 165: carglist ::= carglist * ccons ccons ::= * CONSTRAINT nm ccons ::= * DEFAULT scantok term ccons ::= * DEFAULT LP expr RP ccons ::= * DEFAULT PLUS scantok term ccons ::= * DEFAULT MINUS scantok term ccons ::= * DEFAULT scantok ID|INDEXED ccons ::= * NULL onconf ccons ::= * NOT NULL onconf ccons ::= * PRIMARY KEY sortorder onconf autoinc ccons ::= * UNIQUE onconf ccons ::= * CHECK LP expr RP ccons ::= * REFERENCES nm eidlist_opt refargs ccons ::= * defer_subclause ccons ::= * COLLATE ID|STRING ccons ::= * GENERATED ALWAYS AS generated ccons ::= * AS generated defer_subclause ::= * NOT DEFERRABLE init_deferred_pred_opt defer_subclause ::= * DEFERRABLE init_deferred_pred_opt (292) cmd ::= ALTER TABLE add_column_fullname ADD kwcolumn_opt columnname carglist * NOT shift 433 AS shift 360 GENERATED shift 507 COLLATE shift 430 CONSTRAINT shift 270 DEFAULT shift 287 NULL shift 368 PRIMARY shift 510 UNIQUE shift 363 CHECK shift 509 REFERENCES shift 257 DEFERRABLE shift 359 ccons shift-reduce 364 carglist ::= carglist ccons defer_subclause shift-reduce 43 ccons ::= defer_subclause {default} reduce 292 cmd ::= ALTER TABLE add_column_fullname ADD kwcolumn_opt columnname carglist State 166: (356) columnlist ::= columnname carglist * carglist ::= carglist * ccons ccons ::= * CONSTRAINT nm ccons ::= * DEFAULT scantok term ccons ::= * DEFAULT LP expr RP ccons ::= * DEFAULT PLUS scantok term ccons ::= * DEFAULT MINUS scantok term ccons ::= * DEFAULT scantok ID|INDEXED ccons ::= * NULL onconf ccons ::= * NOT NULL onconf ccons ::= * PRIMARY KEY sortorder onconf autoinc ccons ::= * UNIQUE onconf ccons ::= * CHECK LP expr RP ccons ::= * REFERENCES nm eidlist_opt refargs ccons ::= * defer_subclause ccons ::= * COLLATE ID|STRING ccons ::= * GENERATED ALWAYS AS generated ccons ::= * AS generated defer_subclause ::= * NOT DEFERRABLE init_deferred_pred_opt defer_subclause ::= * DEFERRABLE init_deferred_pred_opt NOT shift 433 AS shift 360 GENERATED shift 507 COLLATE shift 430 CONSTRAINT shift 270 DEFAULT shift 287 NULL shift 368 PRIMARY shift 510 UNIQUE shift 363 CHECK shift 509 REFERENCES shift 257 DEFERRABLE shift 359 ccons shift-reduce 364 carglist ::= carglist ccons defer_subclause shift-reduce 43 ccons ::= defer_subclause {default} reduce 356 columnlist ::= columnname carglist State 167: (355) columnlist ::= columnlist COMMA columnname carglist * carglist ::= carglist * ccons ccons ::= * CONSTRAINT nm ccons ::= * DEFAULT scantok term ccons ::= * DEFAULT LP expr RP ccons ::= * DEFAULT PLUS scantok term ccons ::= * DEFAULT MINUS scantok term ccons ::= * DEFAULT scantok ID|INDEXED ccons ::= * NULL onconf ccons ::= * NOT NULL onconf ccons ::= * PRIMARY KEY sortorder onconf autoinc ccons ::= * UNIQUE onconf ccons ::= * CHECK LP expr RP ccons ::= * REFERENCES nm eidlist_opt refargs ccons ::= * defer_subclause ccons ::= * COLLATE ID|STRING ccons ::= * GENERATED ALWAYS AS generated ccons ::= * AS generated defer_subclause ::= * NOT DEFERRABLE init_deferred_pred_opt defer_subclause ::= * DEFERRABLE init_deferred_pred_opt NOT shift 433 AS shift 360 GENERATED shift 507 COLLATE shift 430 CONSTRAINT shift 270 DEFAULT shift 287 NULL shift 368 PRIMARY shift 510 UNIQUE shift 363 CHECK shift 509 REFERENCES shift 257 DEFERRABLE shift 359 ccons shift-reduce 364 carglist ::= carglist ccons defer_subclause shift-reduce 43 ccons ::= defer_subclause {default} reduce 355 columnlist ::= columnlist COMMA columnname carglist State 168: nm ::= * ID|INDEXED nm ::= * STRING nm ::= * JOIN_KW cmd ::= VACUUM * vinto cmd ::= VACUUM * nm vinto vinto ::= * INTO expr (250) vinto ::= * ID shift-reduce 357 nm ::= ID|INDEXED INDEXED shift-reduce 357 nm ::= ID|INDEXED STRING shift-reduce 358 nm ::= STRING JOIN_KW shift-reduce 359 nm ::= JOIN_KW INTO shift 85 nm shift 325 vinto shift-reduce 247 cmd ::= VACUUM vinto {default} reduce 250 vinto ::= State 169: nm ::= * ID|INDEXED nm ::= * STRING nm ::= * JOIN_KW cmd ::= with UPDATE orconf xfullname indexed_opt SET * setlist from where_opt_ret setlist ::= * setlist COMMA nm EQ expr setlist ::= * setlist COMMA LP idlist RP EQ expr setlist ::= * nm EQ expr setlist ::= * LP idlist RP EQ expr LP shift 190 ID shift-reduce 357 nm ::= ID|INDEXED INDEXED shift-reduce 357 nm ::= ID|INDEXED STRING shift-reduce 358 nm ::= STRING JOIN_KW shift-reduce 359 nm ::= JOIN_KW nm shift 474 setlist shift 292 State 170: nm ::= * ID|INDEXED nm ::= * STRING nm ::= * JOIN_KW setlist ::= * setlist COMMA nm EQ expr setlist ::= * setlist COMMA LP idlist RP EQ expr setlist ::= * nm EQ expr setlist ::= * LP idlist RP EQ expr upsert ::= ON CONFLICT DO UPDATE SET * setlist where_opt returning LP shift 190 ID shift-reduce 357 nm ::= ID|INDEXED INDEXED shift-reduce 357 nm ::= ID|INDEXED STRING shift-reduce 358 nm ::= STRING JOIN_KW shift-reduce 359 nm ::= JOIN_KW nm shift 474 setlist shift 295 State 171: nm ::= * ID|INDEXED nm ::= * STRING nm ::= * JOIN_KW setlist ::= * setlist COMMA nm EQ expr setlist ::= * setlist COMMA LP idlist RP EQ expr setlist ::= * nm EQ expr setlist ::= * LP idlist RP EQ expr upsert ::= ON CONFLICT LP sortlist RP where_opt DO UPDATE SET * setlist where_opt upsert LP shift 190 ID shift-reduce 357 nm ::= ID|INDEXED INDEXED shift-reduce 357 nm ::= ID|INDEXED STRING shift-reduce 358 nm ::= STRING JOIN_KW shift-reduce 359 nm ::= JOIN_KW nm shift 474 setlist shift 298 State 172: nm ::= * ID|INDEXED nm ::= * STRING nm ::= * JOIN_KW setlist ::= * setlist COMMA nm EQ expr setlist ::= * setlist COMMA LP idlist RP EQ expr setlist ::= * nm EQ expr setlist ::= * LP idlist RP EQ expr trigger_cmd ::= UPDATE orconf trnm tridxby SET * setlist from where_opt scanpt LP shift 190 ID shift-reduce 357 nm ::= ID|INDEXED INDEXED shift-reduce 357 nm ::= ID|INDEXED STRING shift-reduce 358 nm ::= STRING JOIN_KW shift-reduce 359 nm ::= JOIN_KW nm shift 474 setlist shift 300 State 173: orconf ::= OR * resolvetype resolvetype ::= * raisetype resolvetype ::= * IGNORE resolvetype ::= * REPLACE raisetype ::= * ROLLBACK raisetype ::= * ABORT raisetype ::= * FAIL ROLLBACK shift-reduce 279 raisetype ::= ROLLBACK ABORT shift-reduce 280 raisetype ::= ABORT FAIL shift-reduce 281 raisetype ::= FAIL IGNORE shift-reduce 77 resolvetype ::= IGNORE REPLACE shift-reduce 78 resolvetype ::= REPLACE resolvetype shift-reduce 76 orconf ::= OR resolvetype raisetype shift-reduce 76 orconf ::= OR resolvetype /* because raisetype==resolvetype */ State 174: onconf ::= ON CONFLICT * resolvetype resolvetype ::= * raisetype resolvetype ::= * IGNORE resolvetype ::= * REPLACE raisetype ::= * ROLLBACK raisetype ::= * ABORT raisetype ::= * FAIL ROLLBACK shift-reduce 279 raisetype ::= ROLLBACK ABORT shift-reduce 280 raisetype ::= ABORT FAIL shift-reduce 281 raisetype ::= FAIL IGNORE shift-reduce 77 resolvetype ::= IGNORE REPLACE shift-reduce 78 resolvetype ::= REPLACE resolvetype shift-reduce 74 onconf ::= ON CONFLICT resolvetype raisetype shift-reduce 74 onconf ::= ON CONFLICT resolvetype /* because raisetype==resolvetype */ State 175: window ::= nm * PARTITION BY nexprlist orderby_opt frame_opt window ::= nm * ORDER BY sortlist frame_opt window ::= nm * frame_opt (320) frame_opt ::= * frame_opt ::= * range_or_rows frame_bound_s frame_exclude_opt frame_opt ::= * range_or_rows BETWEEN frame_bound_s AND frame_bound_e frame_exclude_opt range_or_rows ::= * RANGE|ROWS|GROUPS ROWS shift-reduce 323 range_or_rows ::= RANGE|ROWS|GROUPS PARTITION shift 533 RANGE shift-reduce 323 range_or_rows ::= RANGE|ROWS|GROUPS GROUPS shift-reduce 323 range_or_rows ::= RANGE|ROWS|GROUPS ORDER shift 532 frame_opt shift-reduce 319 window ::= nm frame_opt range_or_rows shift 6 {default} reduce 320 frame_opt ::= State 176: table_option_set ::= table_option_set COMMA * table_option table_option ::= * WITHOUT nm table_option ::= * nm nm ::= * ID|INDEXED nm ::= * STRING nm ::= * JOIN_KW WITHOUT shift 271 ID shift-reduce 357 nm ::= ID|INDEXED INDEXED shift-reduce 357 nm ::= ID|INDEXED STRING shift-reduce 358 nm ::= STRING JOIN_KW shift-reduce 359 nm ::= JOIN_KW nm shift-reduce 24 table_option ::= nm table_option shift-reduce 22 table_option_set ::= table_option_set COMMA table_option State 177: (398) vtabarglist ::= vtabarg * vtabarg ::= vtabarg * vtabargtoken vtabargtoken ::= * ANY vtabargtoken ::= * lp anylist RP lp ::= * LP LP shift-reduce 302 lp ::= LP RP reduce 398 vtabarglist ::= vtabarg COMMA reduce 398 vtabarglist ::= vtabarg ANY shift-reduce 300 vtabargtoken ::= ANY vtabargtoken shift-reduce 400 vtabarg ::= vtabarg vtabargtoken lp shift 395 State 178: (399) vtabarglist ::= vtabarglist COMMA vtabarg * vtabarg ::= vtabarg * vtabargtoken vtabargtoken ::= * ANY vtabargtoken ::= * lp anylist RP lp ::= * LP LP shift-reduce 302 lp ::= LP RP reduce 399 vtabarglist ::= vtabarglist COMMA vtabarg COMMA reduce 399 vtabarglist ::= vtabarglist COMMA vtabarg ANY shift-reduce 300 vtabargtoken ::= ANY vtabargtoken shift-reduce 400 vtabarg ::= vtabarg vtabargtoken lp shift 395 State 179: columnname ::= * nm typetoken nm ::= * ID|INDEXED nm ::= * STRING nm ::= * JOIN_KW cmd ::= ALTER TABLE add_column_fullname ADD kwcolumn_opt * columnname carglist ID shift-reduce 357 nm ::= ID|INDEXED INDEXED shift-reduce 357 nm ::= ID|INDEXED STRING shift-reduce 358 nm ::= STRING JOIN_KW shift-reduce 359 nm ::= JOIN_KW nm shift 208 columnname shift 397 State 180: nm ::= * ID|INDEXED nm ::= * STRING nm ::= * JOIN_KW xfullname ::= * nm xfullname ::= * nm DOT nm xfullname ::= * nm DOT nm AS nm xfullname ::= * nm AS nm cmd ::= with insert_cmd INTO * xfullname idlist_opt select upsert cmd ::= with insert_cmd INTO * xfullname idlist_opt DEFAULT VALUES returning ID shift-reduce 357 nm ::= ID|INDEXED INDEXED shift-reduce 357 nm ::= ID|INDEXED STRING shift-reduce 358 nm ::= STRING JOIN_KW shift-reduce 359 nm ::= JOIN_KW nm shift 419 xfullname shift 327 State 181: nm ::= * ID|INDEXED nm ::= * STRING nm ::= * JOIN_KW xfullname ::= * nm xfullname ::= * nm DOT nm xfullname ::= * nm DOT nm AS nm xfullname ::= * nm AS nm cmd ::= with UPDATE orconf * xfullname indexed_opt SET setlist from where_opt_ret ID shift-reduce 357 nm ::= ID|INDEXED INDEXED shift-reduce 357 nm ::= ID|INDEXED STRING shift-reduce 358 nm ::= STRING JOIN_KW shift-reduce 359 nm ::= JOIN_KW nm shift 419 xfullname shift 206 State 182: nm ::= * ID|INDEXED nm ::= * STRING nm ::= * JOIN_KW xfullname ::= * nm xfullname ::= * nm DOT nm xfullname ::= * nm DOT nm AS nm xfullname ::= * nm AS nm cmd ::= with DELETE FROM * xfullname indexed_opt where_opt_ret ID shift-reduce 357 nm ::= ID|INDEXED INDEXED shift-reduce 357 nm ::= ID|INDEXED STRING shift-reduce 358 nm ::= STRING JOIN_KW shift-reduce 359 nm ::= JOIN_KW nm shift 419 xfullname shift 207 State 183: nm ::= * ID|INDEXED nm ::= * STRING nm ::= * JOIN_KW fullname ::= * nm fullname ::= * nm DOT nm cmd ::= DROP TRIGGER ifexists * fullname ID shift-reduce 357 nm ::= ID|INDEXED INDEXED shift-reduce 357 nm ::= ID|INDEXED STRING shift-reduce 358 nm ::= STRING JOIN_KW shift-reduce 359 nm ::= JOIN_KW nm shift 491 fullname shift-reduce 282 cmd ::= DROP TRIGGER ifexists fullname State 184: nm ::= * ID|INDEXED nm ::= * STRING nm ::= * JOIN_KW fullname ::= * nm fullname ::= * nm DOT nm cmd ::= DROP INDEX ifexists * fullname ID shift-reduce 357 nm ::= ID|INDEXED INDEXED shift-reduce 357 nm ::= ID|INDEXED STRING shift-reduce 358 nm ::= STRING JOIN_KW shift-reduce 359 nm ::= JOIN_KW nm shift 491 fullname shift-reduce 246 cmd ::= DROP INDEX ifexists fullname State 185: nm ::= * ID|INDEXED nm ::= * STRING nm ::= * JOIN_KW cmd ::= DROP VIEW ifexists * fullname fullname ::= * nm fullname ::= * nm DOT nm ID shift-reduce 357 nm ::= ID|INDEXED INDEXED shift-reduce 357 nm ::= ID|INDEXED STRING shift-reduce 358 nm ::= STRING JOIN_KW shift-reduce 359 nm ::= JOIN_KW nm shift 491 fullname shift-reduce 83 cmd ::= DROP VIEW ifexists fullname State 186: nm ::= * ID|INDEXED nm ::= * STRING nm ::= * JOIN_KW cmd ::= DROP TABLE ifexists * fullname fullname ::= * nm fullname ::= * nm DOT nm ID shift-reduce 357 nm ::= ID|INDEXED INDEXED shift-reduce 357 nm ::= ID|INDEXED STRING shift-reduce 358 nm ::= STRING JOIN_KW shift-reduce 359 nm ::= JOIN_KW nm shift 491 fullname shift-reduce 79 cmd ::= DROP TABLE ifexists fullname State 187: nm ::= * ID|INDEXED nm ::= * STRING nm ::= * JOIN_KW trnm ::= * nm trnm ::= * nm DOT nm trigger_cmd ::= DELETE FROM * trnm tridxby where_opt scanpt ID shift-reduce 357 nm ::= ID|INDEXED INDEXED shift-reduce 357 nm ::= ID|INDEXED STRING shift-reduce 358 nm ::= STRING JOIN_KW shift-reduce 359 nm ::= JOIN_KW nm shift 480 trnm shift 294 State 188: nm ::= * ID|INDEXED nm ::= * STRING nm ::= * JOIN_KW idlist_opt ::= LP * idlist RP idlist ::= * idlist COMMA nm idlist ::= * nm ID shift-reduce 357 nm ::= ID|INDEXED INDEXED shift-reduce 357 nm ::= ID|INDEXED STRING shift-reduce 358 nm ::= STRING JOIN_KW shift-reduce 359 nm ::= JOIN_KW nm shift-reduce 176 idlist ::= nm idlist shift 424 State 189: nm ::= * ID|INDEXED nm ::= * STRING nm ::= * JOIN_KW trnm ::= * nm trnm ::= * nm DOT nm trigger_cmd ::= scanpt insert_cmd INTO * trnm idlist_opt select upsert scanpt ID shift-reduce 357 nm ::= ID|INDEXED INDEXED shift-reduce 357 nm ::= ID|INDEXED STRING shift-reduce 358 nm ::= STRING JOIN_KW shift-reduce 359 nm ::= JOIN_KW nm shift 480 trnm shift 339 State 190: nm ::= * ID|INDEXED nm ::= * STRING nm ::= * JOIN_KW setlist ::= LP * idlist RP EQ expr idlist ::= * idlist COMMA nm idlist ::= * nm ID shift-reduce 357 nm ::= ID|INDEXED INDEXED shift-reduce 357 nm ::= ID|INDEXED STRING shift-reduce 358 nm ::= STRING JOIN_KW shift-reduce 359 nm ::= JOIN_KW nm shift-reduce 176 idlist ::= nm idlist shift 425 State 191: nm ::= * ID|INDEXED nm ::= * STRING nm ::= * JOIN_KW setlist ::= setlist COMMA LP * idlist RP EQ expr idlist ::= * idlist COMMA nm idlist ::= * nm ID shift-reduce 357 nm ::= ID|INDEXED INDEXED shift-reduce 357 nm ::= ID|INDEXED STRING shift-reduce 358 nm ::= STRING JOIN_KW shift-reduce 359 nm ::= JOIN_KW nm shift-reduce 176 idlist ::= nm idlist shift 426 State 192: nm ::= * ID|INDEXED nm ::= * STRING nm ::= * JOIN_KW trnm ::= * nm trnm ::= * nm DOT nm trigger_cmd ::= UPDATE orconf * trnm tridxby SET setlist from where_opt scanpt ID shift-reduce 357 nm ::= ID|INDEXED INDEXED shift-reduce 357 nm ::= ID|INDEXED STRING shift-reduce 358 nm ::= STRING JOIN_KW shift-reduce 359 nm ::= JOIN_KW nm shift 480 trnm shift 301 State 193: nm ::= * ID|INDEXED nm ::= * STRING nm ::= * JOIN_KW idlist ::= * idlist COMMA nm idlist ::= * nm trigger_event ::= UPDATE OF * idlist ID shift-reduce 357 nm ::= ID|INDEXED INDEXED shift-reduce 357 nm ::= ID|INDEXED STRING shift-reduce 358 nm ::= STRING JOIN_KW shift-reduce 359 nm ::= JOIN_KW nm shift-reduce 176 idlist ::= nm idlist shift 487 State 194: nm ::= * ID|INDEXED nm ::= * STRING nm ::= * JOIN_KW fullname ::= * nm fullname ::= * nm DOT nm trigger_decl ::= temp TRIGGER ifnotexists nm dbnm trigger_time trigger_event ON * fullname foreach_clause when_clause ID shift-reduce 357 nm ::= ID|INDEXED INDEXED shift-reduce 357 nm ::= ID|INDEXED STRING shift-reduce 358 nm ::= STRING JOIN_KW shift-reduce 359 nm ::= JOIN_KW nm shift 491 fullname shift 347 State 195: nm ::= * ID|INDEXED nm ::= * STRING nm ::= * JOIN_KW tcons ::= FOREIGN KEY LP * eidlist RP REFERENCES nm eidlist_opt refargs defer_subclause_opt eidlist ::= * eidlist COMMA nm collate sortorder eidlist ::= * nm collate sortorder ID shift-reduce 357 nm ::= ID|INDEXED INDEXED shift-reduce 357 nm ::= ID|INDEXED STRING shift-reduce 358 nm ::= STRING JOIN_KW shift-reduce 359 nm ::= JOIN_KW nm shift 371 eidlist shift 428 State 196: nm ::= * ID|INDEXED nm ::= * STRING nm ::= * JOIN_KW eidlist_opt ::= LP * eidlist RP eidlist ::= * eidlist COMMA nm collate sortorder eidlist ::= * nm collate sortorder ID shift-reduce 357 nm ::= ID|INDEXED INDEXED shift-reduce 357 nm ::= ID|INDEXED STRING shift-reduce 358 nm ::= STRING JOIN_KW shift-reduce 359 nm ::= JOIN_KW nm shift 371 eidlist shift 436 State 197: nm ::= * ID|INDEXED nm ::= * STRING nm ::= * JOIN_KW wqitem ::= * nm eidlist_opt wqas LP select RP wqlist ::= wqlist COMMA * wqitem ID shift-reduce 357 nm ::= ID|INDEXED INDEXED shift-reduce 357 nm ::= ID|INDEXED STRING shift-reduce 358 nm ::= STRING JOIN_KW shift-reduce 359 nm ::= JOIN_KW nm shift 373 wqitem shift-reduce 310 wqlist ::= wqlist COMMA wqitem State 198: nm ::= * ID|INDEXED nm ::= * STRING nm ::= * JOIN_KW on_using ::= USING LP * idlist RP idlist ::= * idlist COMMA nm idlist ::= * nm ID shift-reduce 357 nm ::= ID|INDEXED INDEXED shift-reduce 357 nm ::= ID|INDEXED STRING shift-reduce 358 nm ::= STRING JOIN_KW shift-reduce 359 nm ::= JOIN_KW nm shift-reduce 176 idlist ::= nm idlist shift 437 State 199: seltablist ::= stl_prefix nm dbnm as * on_using seltablist ::= stl_prefix nm dbnm as * indexed_by on_using on_using ::= * ON expr on_using ::= * USING LP idlist RP (128) on_using ::= * indexed_by ::= * INDEXED BY nm indexed_by ::= * NOT INDEXED NOT shift 525 ON shift 97 INDEXED shift 526 USING shift 527 on_using shift-reduce 109 seltablist ::= stl_prefix nm dbnm as on_using indexed_by shift 311 {default} reduce 128 on_using ::= State 200: sortlist ::= sortlist * COMMA expr sortorder nulls window ::= ORDER BY sortlist * frame_opt (320) frame_opt ::= * frame_opt ::= * range_or_rows frame_bound_s frame_exclude_opt frame_opt ::= * range_or_rows BETWEEN frame_bound_s AND frame_bound_e frame_exclude_opt range_or_rows ::= * RANGE|ROWS|GROUPS COMMA shift 100 ROWS shift-reduce 323 range_or_rows ::= RANGE|ROWS|GROUPS RANGE shift-reduce 323 range_or_rows ::= RANGE|ROWS|GROUPS GROUPS shift-reduce 323 range_or_rows ::= RANGE|ROWS|GROUPS frame_opt shift-reduce 316 window ::= ORDER BY sortlist frame_opt range_or_rows shift 6 {default} reduce 320 frame_opt ::= State 201: sortlist ::= sortlist * COMMA expr sortorder nulls window ::= nm ORDER BY sortlist * frame_opt (320) frame_opt ::= * frame_opt ::= * range_or_rows frame_bound_s frame_exclude_opt frame_opt ::= * range_or_rows BETWEEN frame_bound_s AND frame_bound_e frame_exclude_opt range_or_rows ::= * RANGE|ROWS|GROUPS COMMA shift 100 ROWS shift-reduce 323 range_or_rows ::= RANGE|ROWS|GROUPS RANGE shift-reduce 323 range_or_rows ::= RANGE|ROWS|GROUPS GROUPS shift-reduce 323 range_or_rows ::= RANGE|ROWS|GROUPS frame_opt shift-reduce 317 window ::= nm ORDER BY sortlist frame_opt range_or_rows shift 6 {default} reduce 320 frame_opt ::= State 202: nm ::= * ID|INDEXED nm ::= * STRING nm ::= * JOIN_KW windowdefn_list ::= windowdefn_list COMMA * windowdefn windowdefn ::= * nm AS LP window RP ID shift-reduce 357 nm ::= ID|INDEXED INDEXED shift-reduce 357 nm ::= ID|INDEXED STRING shift-reduce 358 nm ::= STRING JOIN_KW shift-reduce 359 nm ::= JOIN_KW nm shift 543 windowdefn shift-reduce 312 windowdefn_list ::= windowdefn_list COMMA windowdefn State 203: (30) scanpt ::= * cmd ::= createkw trigger_decl BEGIN trigger_cmd_list * END trigger_cmd_list ::= trigger_cmd_list * trigger_cmd SEMI trigger_cmd ::= * UPDATE orconf trnm tridxby SET setlist from where_opt scanpt trigger_cmd ::= * scanpt insert_cmd INTO trnm idlist_opt select upsert scanpt trigger_cmd ::= * DELETE FROM trnm tridxby where_opt scanpt trigger_cmd ::= * scanpt select scanpt END shift-reduce 258 cmd ::= createkw trigger_decl BEGIN trigger_cmd_list END DELETE shift 465 UPDATE shift 342 scanpt shift 12 trigger_cmd shift 481 {default} reduce 30 scanpt ::= State 204: window ::= nm PARTITION BY nexprlist orderby_opt * frame_opt (320) frame_opt ::= * frame_opt ::= * range_or_rows frame_bound_s frame_exclude_opt frame_opt ::= * range_or_rows BETWEEN frame_bound_s AND frame_bound_e frame_exclude_opt range_or_rows ::= * RANGE|ROWS|GROUPS ROWS shift-reduce 323 range_or_rows ::= RANGE|ROWS|GROUPS RANGE shift-reduce 323 range_or_rows ::= RANGE|ROWS|GROUPS GROUPS shift-reduce 323 range_or_rows ::= RANGE|ROWS|GROUPS frame_opt shift-reduce 315 window ::= nm PARTITION BY nexprlist orderby_opt frame_opt range_or_rows shift 6 {default} reduce 320 frame_opt ::= State 205: window ::= PARTITION BY nexprlist orderby_opt * frame_opt (320) frame_opt ::= * frame_opt ::= * range_or_rows frame_bound_s frame_exclude_opt frame_opt ::= * range_or_rows BETWEEN frame_bound_s AND frame_bound_e frame_exclude_opt range_or_rows ::= * RANGE|ROWS|GROUPS ROWS shift-reduce 323 range_or_rows ::= RANGE|ROWS|GROUPS RANGE shift-reduce 323 range_or_rows ::= RANGE|ROWS|GROUPS GROUPS shift-reduce 323 range_or_rows ::= RANGE|ROWS|GROUPS frame_opt shift-reduce 314 window ::= PARTITION BY nexprlist orderby_opt frame_opt range_or_rows shift 6 {default} reduce 320 frame_opt ::= State 206: (129) indexed_opt ::= * indexed_opt ::= * indexed_by indexed_by ::= * INDEXED BY nm indexed_by ::= * NOT INDEXED cmd ::= with UPDATE orconf xfullname * indexed_opt SET setlist from where_opt_ret NOT shift 525 INDEXED shift 526 indexed_by shift 456 /* because indexed_by==indexed_opt */ indexed_opt shift 456 {default} reduce 129 indexed_opt ::= State 207: (129) indexed_opt ::= * indexed_opt ::= * indexed_by indexed_by ::= * INDEXED BY nm indexed_by ::= * NOT INDEXED cmd ::= with DELETE FROM xfullname * indexed_opt where_opt_ret NOT shift 525 INDEXED shift 526 indexed_by shift 293 /* because indexed_by==indexed_opt */ indexed_opt shift 293 {default} reduce 129 indexed_opt ::= State 208: columnname ::= nm * typetoken (26) typetoken ::= * typetoken ::= * typename typetoken ::= * typename LP signed RP typetoken ::= * typename LP signed COMMA signed RP typename ::= * ID|STRING typename ::= * typename ID|STRING ID shift-reduce 361 typename ::= ID|STRING STRING shift-reduce 361 typename ::= ID|STRING typetoken shift-reduce 25 columnname ::= nm typetoken typename shift 415 {default} reduce 26 typetoken ::= State 209: (26) typetoken ::= * typetoken ::= * typename typetoken ::= * typename LP signed RP typetoken ::= * typename LP signed COMMA signed RP typename ::= * ID|STRING typename ::= * typename ID|STRING expr ::= CAST LP expr AS * typetoken RP ID shift-reduce 361 typename ::= ID|STRING STRING shift-reduce 361 typename ::= ID|STRING typetoken shift 561 typename shift 415 {default} reduce 26 typetoken ::= State 210: oneselect ::= SELECT distinct selcollist from where_opt groupby_opt having_opt * orderby_opt limit_opt oneselect ::= SELECT distinct selcollist from where_opt groupby_opt having_opt * window_clause orderby_opt limit_opt (132) orderby_opt ::= * orderby_opt ::= * ORDER BY sortlist window_clause ::= * WINDOW windowdefn_list ORDER shift 546 WINDOW shift 149 orderby_opt shift 384 window_clause shift 380 {default} reduce 132 orderby_opt ::= State 211: selectnowith ::= selectnowith multiselect_op * oneselect oneselect ::= * SELECT distinct selcollist from where_opt groupby_opt having_opt orderby_opt limit_opt oneselect ::= * SELECT distinct selcollist from where_opt groupby_opt having_opt window_clause orderby_opt limit_opt oneselect ::= * values values ::= * VALUES LP nexprlist RP values ::= * values COMMA LP nexprlist RP SELECT shift 316 VALUES shift 559 oneselect shift-reduce 88 selectnowith ::= selectnowith multiselect_op oneselect values shift 565 State 212: cmd ::= create_vtab LP * vtabarglist RP vtabarglist ::= * vtabarg vtabarglist ::= * vtabarglist COMMA vtabarg (299) vtabarg ::= * vtabarg ::= * vtabarg vtabargtoken vtabarglist shift 416 vtabarg shift 177 {default} reduce 299 vtabarg ::= State 213: sclp ::= * selcollist COMMA (99) sclp ::= * selcollist ::= * sclp scanpt expr scanpt as selcollist ::= * sclp scanpt STAR selcollist ::= * sclp scanpt nm DOT STAR where_opt_ret ::= RETURNING * selcollist selcollist shift 457 sclp shift 407 {default} reduce 99 sclp ::= State 214: sclp ::= * selcollist COMMA (99) sclp ::= * selcollist ::= * sclp scanpt expr scanpt as selcollist ::= * sclp scanpt STAR selcollist ::= * sclp scanpt nm DOT STAR where_opt_ret ::= WHERE expr RETURNING * selcollist selcollist shift 458 sclp shift 407 {default} reduce 99 sclp ::= State 215: sclp ::= * selcollist COMMA (99) sclp ::= * selcollist ::= * sclp scanpt expr scanpt as selcollist ::= * sclp scanpt STAR selcollist ::= * sclp scanpt nm DOT STAR returning ::= RETURNING * selcollist selcollist shift 467 sclp shift 407 {default} reduce 99 sclp ::= State 216: sclp ::= * selcollist COMMA (99) sclp ::= * selcollist ::= * sclp scanpt expr scanpt as selcollist ::= * sclp scanpt STAR selcollist ::= * sclp scanpt nm DOT STAR upsert ::= RETURNING * selcollist selcollist shift 471 sclp shift 407 {default} reduce 99 sclp ::= State 217: from ::= FROM * seltablist stl_prefix ::= * seltablist joinop (108) stl_prefix ::= * seltablist ::= * stl_prefix nm dbnm as on_using seltablist ::= * stl_prefix nm dbnm as indexed_by on_using seltablist ::= * stl_prefix nm dbnm LP exprlist RP as on_using seltablist ::= * stl_prefix LP select RP as on_using seltablist ::= * stl_prefix LP seltablist RP as on_using seltablist shift 283 stl_prefix shift 226 {default} reduce 108 stl_prefix ::= State 218: oneselect ::= SELECT distinct * selcollist from where_opt groupby_opt having_opt orderby_opt limit_opt oneselect ::= SELECT distinct * selcollist from where_opt groupby_opt having_opt window_clause orderby_opt limit_opt sclp ::= * selcollist COMMA (99) sclp ::= * selcollist ::= * sclp scanpt expr scanpt as selcollist ::= * sclp scanpt STAR selcollist ::= * sclp scanpt nm DOT STAR selcollist shift 315 sclp shift 407 {default} reduce 99 sclp ::= State 219: ccons ::= DEFAULT scantok * term ccons ::= DEFAULT scantok * ID|INDEXED term ::= * NULL|FLOAT|BLOB term ::= * STRING term ::= * INTEGER term ::= * CTIME_KW ID shift-reduce 37 ccons ::= DEFAULT scantok ID|INDEXED CTIME_KW shift-reduce 192 term ::= CTIME_KW INDEXED shift-reduce 37 ccons ::= DEFAULT scantok ID|INDEXED STRING shift-reduce 183 term ::= STRING NULL shift-reduce 182 term ::= NULL|FLOAT|BLOB FLOAT shift-reduce 182 term ::= NULL|FLOAT|BLOB BLOB shift-reduce 182 term ::= NULL|FLOAT|BLOB INTEGER shift-reduce 184 term ::= INTEGER term shift-reduce 33 ccons ::= DEFAULT scantok term State 220: ccons ::= DEFAULT MINUS scantok * term term ::= * NULL|FLOAT|BLOB term ::= * STRING term ::= * INTEGER term ::= * CTIME_KW CTIME_KW shift-reduce 192 term ::= CTIME_KW STRING shift-reduce 183 term ::= STRING NULL shift-reduce 182 term ::= NULL|FLOAT|BLOB FLOAT shift-reduce 182 term ::= NULL|FLOAT|BLOB BLOB shift-reduce 182 term ::= NULL|FLOAT|BLOB INTEGER shift-reduce 184 term ::= INTEGER term shift-reduce 36 ccons ::= DEFAULT MINUS scantok term State 221: ccons ::= DEFAULT PLUS scantok * term term ::= * NULL|FLOAT|BLOB term ::= * STRING term ::= * INTEGER term ::= * CTIME_KW CTIME_KW shift-reduce 192 term ::= CTIME_KW STRING shift-reduce 183 term ::= STRING NULL shift-reduce 182 term ::= NULL|FLOAT|BLOB FLOAT shift-reduce 182 term ::= NULL|FLOAT|BLOB BLOB shift-reduce 182 term ::= NULL|FLOAT|BLOB INTEGER shift-reduce 184 term ::= INTEGER term shift-reduce 35 ccons ::= DEFAULT PLUS scantok term State 222: nm ::= * ID|INDEXED nm ::= * STRING nm ::= * JOIN_KW setlist ::= setlist COMMA * nm EQ expr setlist ::= setlist COMMA * LP idlist RP EQ expr LP shift 191 ID shift-reduce 357 nm ::= ID|INDEXED INDEXED shift-reduce 357 nm ::= ID|INDEXED STRING shift-reduce 358 nm ::= STRING JOIN_KW shift-reduce 359 nm ::= JOIN_KW nm shift 476 State 223: conslist ::= conslist tconscomma * tcons tcons ::= * CONSTRAINT nm tcons ::= * PRIMARY KEY LP sortlist autoinc RP onconf tcons ::= * UNIQUE LP sortlist RP onconf tcons ::= * CHECK LP expr RP onconf tcons ::= * FOREIGN KEY LP eidlist RP REFERENCES nm eidlist_opt refargs defer_subclause_opt CONSTRAINT shift 252 PRIMARY shift 504 UNIQUE shift 501 CHECK shift 500 FOREIGN shift 499 tcons shift-reduce 370 conslist ::= conslist tconscomma tcons State 224: nm ::= * ID|INDEXED nm ::= * STRING nm ::= * JOIN_KW over_clause ::= OVER * LP window RP over_clause ::= OVER * nm LP shift 32 ID shift-reduce 357 nm ::= ID|INDEXED INDEXED shift-reduce 357 nm ::= ID|INDEXED STRING shift-reduce 358 nm ::= STRING JOIN_KW shift-reduce 359 nm ::= JOIN_KW nm shift-reduce 340 over_clause ::= OVER nm State 225: nm ::= * ID|INDEXED nm ::= * STRING nm ::= * JOIN_KW selcollist ::= sclp scanpt nm DOT * STAR expr ::= nm DOT * nm expr ::= nm DOT * nm DOT nm ID shift-reduce 357 nm ::= ID|INDEXED STAR shift-reduce 102 selcollist ::= sclp scanpt nm DOT STAR INDEXED shift-reduce 357 nm ::= ID|INDEXED STRING shift-reduce 358 nm ::= STRING JOIN_KW shift-reduce 359 nm ::= JOIN_KW nm shift 567 State 226: nm ::= * ID|INDEXED nm ::= * STRING nm ::= * JOIN_KW seltablist ::= stl_prefix * nm dbnm as on_using seltablist ::= stl_prefix * nm dbnm as indexed_by on_using seltablist ::= stl_prefix * nm dbnm LP exprlist RP as on_using seltablist ::= stl_prefix * LP select RP as on_using seltablist ::= stl_prefix * LP seltablist RP as on_using LP shift 5 ID shift-reduce 357 nm ::= ID|INDEXED INDEXED shift-reduce 357 nm ::= ID|INDEXED STRING shift-reduce 358 nm ::= STRING JOIN_KW shift-reduce 359 nm ::= JOIN_KW nm shift 374 State 227: nm ::= * ID|INDEXED nm ::= * STRING nm ::= * JOIN_KW joinop ::= JOIN_KW nm * JOIN joinop ::= JOIN_KW nm * nm JOIN ID shift-reduce 357 nm ::= ID|INDEXED INDEXED shift-reduce 357 nm ::= ID|INDEXED STRING shift-reduce 358 nm ::= STRING JOIN_KW shift-reduce 359 nm ::= JOIN_KW JOIN shift-reduce 124 joinop ::= JOIN_KW nm JOIN nm shift 528 State 228: nm ::= * ID|INDEXED nm ::= * STRING nm ::= * JOIN_KW joinop ::= JOIN_KW * JOIN joinop ::= JOIN_KW * nm JOIN joinop ::= JOIN_KW * nm nm JOIN ID shift-reduce 357 nm ::= ID|INDEXED INDEXED shift-reduce 357 nm ::= ID|INDEXED STRING shift-reduce 358 nm ::= STRING JOIN_KW shift-reduce 359 nm ::= JOIN_KW JOIN shift-reduce 123 joinop ::= JOIN_KW JOIN nm shift 227 State 229: nm ::= * ID|INDEXED nm ::= * STRING nm ::= * JOIN_KW expr ::= expr in_op * LP exprlist RP expr ::= expr in_op * LP select RP expr ::= expr in_op * nm dbnm paren_exprlist LP shift 3 ID shift-reduce 357 nm ::= ID|INDEXED INDEXED shift-reduce 357 nm ::= ID|INDEXED STRING shift-reduce 358 nm ::= STRING JOIN_KW shift-reduce 359 nm ::= JOIN_KW nm shift 382 State 230: nm ::= * ID|INDEXED nm ::= * STRING nm ::= * JOIN_KW cmd ::= ALTER TABLE fullname DROP kwcolumn_opt * nm ID shift-reduce 357 nm ::= ID|INDEXED INDEXED shift-reduce 357 nm ::= ID|INDEXED STRING shift-reduce 358 nm ::= STRING JOIN_KW shift-reduce 359 nm ::= JOIN_KW nm shift-reduce 293 cmd ::= ALTER TABLE fullname DROP kwcolumn_opt nm State 231: nm ::= * ID|INDEXED nm ::= * STRING nm ::= * JOIN_KW cmd ::= ALTER TABLE fullname RENAME kwcolumn_opt nm TO * nm ID shift-reduce 357 nm ::= ID|INDEXED INDEXED shift-reduce 357 nm ::= ID|INDEXED STRING shift-reduce 358 nm ::= STRING JOIN_KW shift-reduce 359 nm ::= JOIN_KW nm shift-reduce 295 cmd ::= ALTER TABLE fullname RENAME kwcolumn_opt nm TO nm State 232: nm ::= * ID|INDEXED nm ::= * STRING nm ::= * JOIN_KW cmd ::= ALTER TABLE fullname RENAME kwcolumn_opt * nm TO nm ID shift-reduce 357 nm ::= ID|INDEXED INDEXED shift-reduce 357 nm ::= ID|INDEXED STRING shift-reduce 358 nm ::= STRING JOIN_KW shift-reduce 359 nm ::= JOIN_KW nm shift 450 State 233: nm ::= * ID|INDEXED nm ::= * STRING nm ::= * JOIN_KW cmd ::= ALTER TABLE fullname RENAME TO * nm ID shift-reduce 357 nm ::= ID|INDEXED INDEXED shift-reduce 357 nm ::= ID|INDEXED STRING shift-reduce 358 nm ::= STRING JOIN_KW shift-reduce 359 nm ::= JOIN_KW nm shift-reduce 291 cmd ::= ALTER TABLE fullname RENAME TO nm State 234: nm ::= * ID|INDEXED nm ::= * STRING nm ::= * JOIN_KW (289) cmd ::= ANALYZE * cmd ::= ANALYZE * nm dbnm ID shift-reduce 357 nm ::= ID|INDEXED INDEXED shift-reduce 357 nm ::= ID|INDEXED STRING shift-reduce 358 nm ::= STRING JOIN_KW shift-reduce 359 nm ::= JOIN_KW nm shift 320 {default} reduce 289 cmd ::= ANALYZE State 235: nm ::= * ID|INDEXED nm ::= * STRING nm ::= * JOIN_KW (287) cmd ::= REINDEX * cmd ::= REINDEX * nm dbnm ID shift-reduce 357 nm ::= ID|INDEXED INDEXED shift-reduce 357 nm ::= ID|INDEXED STRING shift-reduce 358 nm ::= STRING JOIN_KW shift-reduce 359 nm ::= JOIN_KW nm shift 321 {default} reduce 287 cmd ::= REINDEX State 236: nm ::= * ID|INDEXED nm ::= * STRING nm ::= * JOIN_KW cmd ::= PRAGMA * nm dbnm cmd ::= PRAGMA * nm dbnm EQ nmnum cmd ::= PRAGMA * nm dbnm LP nmnum RP cmd ::= PRAGMA * nm dbnm EQ minus_num cmd ::= PRAGMA * nm dbnm LP minus_num RP ID shift-reduce 357 nm ::= ID|INDEXED INDEXED shift-reduce 357 nm ::= ID|INDEXED STRING shift-reduce 358 nm ::= STRING JOIN_KW shift-reduce 359 nm ::= JOIN_KW nm shift 324 State 237: nm ::= * ID|INDEXED nm ::= * STRING nm ::= * JOIN_KW xfullname ::= nm AS * nm ID shift-reduce 357 nm ::= ID|INDEXED INDEXED shift-reduce 357 nm ::= ID|INDEXED STRING shift-reduce 358 nm ::= STRING JOIN_KW shift-reduce 359 nm ::= JOIN_KW nm shift-reduce 121 xfullname ::= nm AS nm State 238: nm ::= * ID|INDEXED nm ::= * STRING nm ::= * JOIN_KW xfullname ::= nm DOT nm AS * nm ID shift-reduce 357 nm ::= ID|INDEXED INDEXED shift-reduce 357 nm ::= ID|INDEXED STRING shift-reduce 358 nm ::= STRING JOIN_KW shift-reduce 359 nm ::= JOIN_KW nm shift-reduce 120 xfullname ::= nm DOT nm AS nm State 239: nm ::= * ID|INDEXED nm ::= * STRING nm ::= * JOIN_KW xfullname ::= nm DOT * nm xfullname ::= nm DOT * nm AS nm ID shift-reduce 357 nm ::= ID|INDEXED INDEXED shift-reduce 357 nm ::= ID|INDEXED STRING shift-reduce 358 nm ::= STRING JOIN_KW shift-reduce 359 nm ::= JOIN_KW nm shift 459 State 240: cmd ::= with * DELETE FROM xfullname indexed_opt where_opt_ret cmd ::= with * UPDATE orconf xfullname indexed_opt SET setlist from where_opt_ret cmd ::= with * insert_cmd INTO xfullname idlist_opt select upsert cmd ::= with * insert_cmd INTO xfullname idlist_opt DEFAULT VALUES returning insert_cmd ::= * INSERT orconf insert_cmd ::= * REPLACE REPLACE shift-reduce 172 insert_cmd ::= REPLACE INSERT shift 340 DELETE shift 460 UPDATE shift 328 insert_cmd shift 455 State 241: nm ::= * ID|INDEXED nm ::= * STRING nm ::= * JOIN_KW create_vtab ::= createkw VIRTUAL TABLE ifnotexists nm dbnm USING * nm ID shift-reduce 357 nm ::= ID|INDEXED INDEXED shift-reduce 357 nm ::= ID|INDEXED STRING shift-reduce 358 nm ::= STRING JOIN_KW shift-reduce 359 nm ::= JOIN_KW nm shift-reduce 298 create_vtab ::= createkw VIRTUAL TABLE ifnotexists nm dbnm USING nm State 242: nm ::= * ID|INDEXED nm ::= * STRING nm ::= * JOIN_KW create_vtab ::= createkw VIRTUAL TABLE ifnotexists * nm dbnm USING nm ID shift-reduce 357 nm ::= ID|INDEXED INDEXED shift-reduce 357 nm ::= ID|INDEXED STRING shift-reduce 358 nm ::= STRING JOIN_KW shift-reduce 359 nm ::= JOIN_KW nm shift 333 State 243: nm ::= * ID|INDEXED nm ::= * STRING nm ::= * JOIN_KW tridxby ::= INDEXED BY * nm ID shift-reduce 357 nm ::= ID|INDEXED INDEXED shift-reduce 357 nm ::= ID|INDEXED STRING shift-reduce 358 nm ::= STRING JOIN_KW shift-reduce 359 nm ::= JOIN_KW nm shift-reduce 271 tridxby ::= INDEXED BY nm State 244: nm ::= * ID|INDEXED nm ::= * STRING nm ::= * JOIN_KW trnm ::= nm DOT * nm ID shift-reduce 357 nm ::= ID|INDEXED INDEXED shift-reduce 357 nm ::= ID|INDEXED STRING shift-reduce 358 nm ::= STRING JOIN_KW shift-reduce 359 nm ::= JOIN_KW nm shift-reduce 270 trnm ::= nm DOT nm State 245: nm ::= * ID|INDEXED nm ::= * STRING nm ::= * JOIN_KW cmd ::= createkw uniqueflag INDEX ifnotexists nm dbnm ON * nm LP sortlist RP where_opt ID shift-reduce 357 nm ::= ID|INDEXED INDEXED shift-reduce 357 nm ::= ID|INDEXED STRING shift-reduce 358 nm ::= STRING JOIN_KW shift-reduce 359 nm ::= JOIN_KW nm shift 483 State 246: nm ::= * ID|INDEXED nm ::= * STRING nm ::= * JOIN_KW cmd ::= createkw uniqueflag INDEX ifnotexists * nm dbnm ON nm LP sortlist RP where_opt ID shift-reduce 357 nm ::= ID|INDEXED INDEXED shift-reduce 357 nm ::= ID|INDEXED STRING shift-reduce 358 nm ::= STRING JOIN_KW shift-reduce 359 nm ::= JOIN_KW nm shift 344 State 247: nm ::= * ID|INDEXED nm ::= * STRING nm ::= * JOIN_KW fullname ::= nm DOT * nm ID shift-reduce 357 nm ::= ID|INDEXED INDEXED shift-reduce 357 nm ::= ID|INDEXED STRING shift-reduce 358 nm ::= STRING JOIN_KW shift-reduce 359 nm ::= JOIN_KW nm shift-reduce 117 fullname ::= nm DOT nm State 248: nm ::= * ID|INDEXED nm ::= * STRING nm ::= * JOIN_KW trigger_decl ::= temp TRIGGER ifnotexists * nm dbnm trigger_time trigger_event ON fullname foreach_clause when_clause ID shift-reduce 357 nm ::= ID|INDEXED INDEXED shift-reduce 357 nm ::= ID|INDEXED STRING shift-reduce 358 nm ::= STRING JOIN_KW shift-reduce 359 nm ::= JOIN_KW nm shift 348 State 249: nm ::= * ID|INDEXED nm ::= * STRING nm ::= * JOIN_KW cmd ::= createkw temp VIEW ifnotexists * nm dbnm eidlist_opt AS select ID shift-reduce 357 nm ::= ID|INDEXED INDEXED shift-reduce 357 nm ::= ID|INDEXED STRING shift-reduce 358 nm ::= STRING JOIN_KW shift-reduce 359 nm ::= JOIN_KW nm shift 351 State 250: create_table ::= createkw temp TABLE ifnotexists * nm dbnm nm ::= * ID|INDEXED nm ::= * STRING nm ::= * JOIN_KW ID shift-reduce 357 nm ::= ID|INDEXED INDEXED shift-reduce 357 nm ::= ID|INDEXED STRING shift-reduce 358 nm ::= STRING JOIN_KW shift-reduce 359 nm ::= JOIN_KW nm shift 353 State 251: nm ::= * ID|INDEXED nm ::= * STRING nm ::= * JOIN_KW tcons ::= FOREIGN KEY LP eidlist RP REFERENCES * nm eidlist_opt refargs defer_subclause_opt ID shift-reduce 357 nm ::= ID|INDEXED INDEXED shift-reduce 357 nm ::= ID|INDEXED STRING shift-reduce 358 nm ::= STRING JOIN_KW shift-reduce 359 nm ::= JOIN_KW nm shift 355 State 252: nm ::= * ID|INDEXED nm ::= * STRING nm ::= * JOIN_KW tcons ::= CONSTRAINT * nm ID shift-reduce 357 nm ::= ID|INDEXED INDEXED shift-reduce 357 nm ::= ID|INDEXED STRING shift-reduce 358 nm ::= STRING JOIN_KW shift-reduce 359 nm ::= JOIN_KW nm shift-reduce 67 tcons ::= CONSTRAINT nm State 253: refarg ::= ON UPDATE * refact refact ::= * SET NULL refact ::= * SET DEFAULT refact ::= * CASCADE refact ::= * RESTRICT refact ::= * NO ACTION CASCADE shift-reduce 57 refact ::= CASCADE NO shift 508 RESTRICT shift-reduce 58 refact ::= RESTRICT SET shift 431 refact shift-reduce 54 refarg ::= ON UPDATE refact State 254: refarg ::= ON DELETE * refact refact ::= * SET NULL refact ::= * SET DEFAULT refact ::= * CASCADE refact ::= * RESTRICT refact ::= * NO ACTION CASCADE shift-reduce 57 refact ::= CASCADE NO shift 508 RESTRICT shift-reduce 58 refact ::= RESTRICT SET shift 431 refact shift-reduce 53 refarg ::= ON DELETE refact State 255: refarg ::= ON INSERT * refact refact ::= * SET NULL refact ::= * SET DEFAULT refact ::= * CASCADE refact ::= * RESTRICT refact ::= * NO ACTION CASCADE shift-reduce 57 refact ::= CASCADE NO shift 508 RESTRICT shift-reduce 58 refact ::= RESTRICT SET shift 431 refact shift-reduce 52 refarg ::= ON INSERT refact State 256: nm ::= * ID|INDEXED nm ::= * STRING nm ::= * JOIN_KW refarg ::= MATCH * nm ID shift-reduce 357 nm ::= ID|INDEXED INDEXED shift-reduce 357 nm ::= ID|INDEXED STRING shift-reduce 358 nm ::= STRING JOIN_KW shift-reduce 359 nm ::= JOIN_KW nm shift-reduce 51 refarg ::= MATCH nm State 257: nm ::= * ID|INDEXED nm ::= * STRING nm ::= * JOIN_KW ccons ::= REFERENCES * nm eidlist_opt refargs ID shift-reduce 357 nm ::= ID|INDEXED INDEXED shift-reduce 357 nm ::= ID|INDEXED STRING shift-reduce 358 nm ::= STRING JOIN_KW shift-reduce 359 nm ::= JOIN_KW nm shift 362 State 258: nm ::= * ID|INDEXED nm ::= * STRING nm ::= * JOIN_KW eidlist ::= eidlist COMMA * nm collate sortorder ID shift-reduce 357 nm ::= ID|INDEXED INDEXED shift-reduce 357 nm ::= ID|INDEXED STRING shift-reduce 358 nm ::= STRING JOIN_KW shift-reduce 359 nm ::= JOIN_KW nm shift 372 State 259: stl_prefix ::= seltablist * joinop seltablist ::= stl_prefix LP seltablist * RP as on_using joinop ::= * COMMA|JOIN joinop ::= * JOIN_KW JOIN joinop ::= * JOIN_KW nm JOIN joinop ::= * JOIN_KW nm nm JOIN RP shift 281 COMMA shift-reduce 122 joinop ::= COMMA|JOIN JOIN_KW shift 228 JOIN shift-reduce 122 joinop ::= COMMA|JOIN joinop shift-reduce 107 stl_prefix ::= seltablist joinop State 260: nm ::= * ID|INDEXED nm ::= * STRING nm ::= * JOIN_KW indexed_by ::= INDEXED BY * nm ID shift-reduce 357 nm ::= ID|INDEXED INDEXED shift-reduce 357 nm ::= ID|INDEXED STRING shift-reduce 358 nm ::= STRING JOIN_KW shift-reduce 359 nm ::= JOIN_KW nm shift-reduce 130 indexed_by ::= INDEXED BY nm State 261: nm ::= * ID|INDEXED nm ::= * STRING nm ::= * JOIN_KW idlist ::= idlist COMMA * nm ID shift-reduce 357 nm ::= ID|INDEXED INDEXED shift-reduce 357 nm ::= ID|INDEXED STRING shift-reduce 358 nm ::= STRING JOIN_KW shift-reduce 359 nm ::= JOIN_KW nm shift-reduce 175 idlist ::= idlist COMMA nm State 262: nm ::= * ID|INDEXED nm ::= * STRING nm ::= * JOIN_KW as ::= AS * nm ID shift-reduce 357 nm ::= ID|INDEXED INDEXED shift-reduce 357 nm ::= ID|INDEXED STRING shift-reduce 358 nm ::= STRING JOIN_KW shift-reduce 359 nm ::= JOIN_KW nm shift-reduce 103 as ::= AS nm State 263: as ::= * AS nm as ::= * ID|STRING (104) as ::= * seltablist ::= stl_prefix nm dbnm * as on_using seltablist ::= stl_prefix nm dbnm * as indexed_by on_using seltablist ::= stl_prefix nm dbnm * LP exprlist RP as on_using LP shift 9 AS shift 262 ID shift-reduce 378 as ::= ID|STRING STRING shift-reduce 378 as ::= ID|STRING as shift 199 {default} reduce 104 as ::= State 264: frame_exclude_opt ::= EXCLUDE * frame_exclude frame_exclude ::= * NO OTHERS frame_exclude ::= * CURRENT ROW frame_exclude ::= * GROUP|TIES NO shift 539 CURRENT shift 538 TIES shift-reduce 334 frame_exclude ::= GROUP|TIES GROUP shift-reduce 334 frame_exclude ::= GROUP|TIES frame_exclude shift-reduce 331 frame_exclude_opt ::= EXCLUDE frame_exclude State 265: nm ::= * ID|INDEXED nm ::= * STRING nm ::= * JOIN_KW dbnm ::= DOT * nm ID shift-reduce 357 nm ::= ID|INDEXED INDEXED shift-reduce 357 nm ::= ID|INDEXED STRING shift-reduce 358 nm ::= STRING JOIN_KW shift-reduce 359 nm ::= JOIN_KW nm shift-reduce 115 dbnm ::= DOT nm State 266: nm ::= * ID|INDEXED nm ::= * STRING nm ::= * JOIN_KW expr ::= RAISE LP raisetype COMMA * nm RP ID shift-reduce 357 nm ::= ID|INDEXED INDEXED shift-reduce 357 nm ::= ID|INDEXED STRING shift-reduce 358 nm ::= STRING JOIN_KW shift-reduce 359 nm ::= JOIN_KW nm shift 554 State 267: expr ::= RAISE LP * IGNORE RP expr ::= RAISE LP * raisetype COMMA nm RP raisetype ::= * ROLLBACK raisetype ::= * ABORT raisetype ::= * FAIL ROLLBACK shift-reduce 279 raisetype ::= ROLLBACK ABORT shift-reduce 280 raisetype ::= ABORT FAIL shift-reduce 281 raisetype ::= FAIL IGNORE shift 556 raisetype shift 555 State 268: nm ::= * ID|INDEXED nm ::= * STRING nm ::= * JOIN_KW expr ::= nm DOT nm DOT * nm ID shift-reduce 357 nm ::= ID|INDEXED INDEXED shift-reduce 357 nm ::= ID|INDEXED STRING shift-reduce 358 nm ::= STRING JOIN_KW shift-reduce 359 nm ::= JOIN_KW nm shift-reduce 181 expr ::= nm DOT nm DOT nm State 269: nm ::= * ID|INDEXED nm ::= * STRING nm ::= * JOIN_KW expr ::= nm DOT * nm expr ::= nm DOT * nm DOT nm ID shift-reduce 357 nm ::= ID|INDEXED INDEXED shift-reduce 357 nm ::= ID|INDEXED STRING shift-reduce 358 nm ::= STRING JOIN_KW shift-reduce 359 nm ::= JOIN_KW nm shift 567 State 270: nm ::= * ID|INDEXED nm ::= * STRING nm ::= * JOIN_KW ccons ::= CONSTRAINT * nm ID shift-reduce 357 nm ::= ID|INDEXED INDEXED shift-reduce 357 nm ::= ID|INDEXED STRING shift-reduce 358 nm ::= STRING JOIN_KW shift-reduce 359 nm ::= JOIN_KW nm shift-reduce 32 ccons ::= CONSTRAINT nm State 271: table_option ::= WITHOUT * nm nm ::= * ID|INDEXED nm ::= * STRING nm ::= * JOIN_KW ID shift-reduce 357 nm ::= ID|INDEXED INDEXED shift-reduce 357 nm ::= ID|INDEXED STRING shift-reduce 358 nm ::= STRING JOIN_KW shift-reduce 359 nm ::= JOIN_KW nm shift-reduce 23 table_option ::= WITHOUT nm State 272: cmd ::= RELEASE savepoint_opt * nm nm ::= * ID|INDEXED nm ::= * STRING nm ::= * JOIN_KW ID shift-reduce 357 nm ::= ID|INDEXED INDEXED shift-reduce 357 nm ::= ID|INDEXED STRING shift-reduce 358 nm ::= STRING JOIN_KW shift-reduce 359 nm ::= JOIN_KW nm shift-reduce 11 cmd ::= RELEASE savepoint_opt nm State 273: cmd ::= SAVEPOINT * nm nm ::= * ID|INDEXED nm ::= * STRING nm ::= * JOIN_KW ID shift-reduce 357 nm ::= ID|INDEXED INDEXED shift-reduce 357 nm ::= ID|INDEXED STRING shift-reduce 358 nm ::= STRING JOIN_KW shift-reduce 359 nm ::= JOIN_KW nm shift-reduce 10 cmd ::= SAVEPOINT nm State 274: cmd ::= ROLLBACK trans_opt TO savepoint_opt * nm nm ::= * ID|INDEXED nm ::= * STRING nm ::= * JOIN_KW ID shift-reduce 357 nm ::= ID|INDEXED INDEXED shift-reduce 357 nm ::= ID|INDEXED STRING shift-reduce 358 nm ::= STRING JOIN_KW shift-reduce 359 nm ::= JOIN_KW nm shift-reduce 12 cmd ::= ROLLBACK trans_opt TO savepoint_opt nm State 275: (349) trans_opt ::= TRANSACTION * trans_opt ::= TRANSACTION * nm nm ::= * ID|INDEXED nm ::= * STRING nm ::= * JOIN_KW ID shift-reduce 357 nm ::= ID|INDEXED INDEXED shift-reduce 357 nm ::= ID|INDEXED STRING shift-reduce 358 nm ::= STRING JOIN_KW shift-reduce 359 nm ::= JOIN_KW nm shift-reduce 350 trans_opt ::= TRANSACTION nm {default} reduce 349 trans_opt ::= TRANSACTION State 276: trigger_decl ::= temp TRIGGER ifnotexists nm dbnm trigger_time * trigger_event ON fullname foreach_clause when_clause trigger_event ::= * DELETE|INSERT trigger_event ::= * UPDATE trigger_event ::= * UPDATE OF idlist INSERT shift-reduce 263 trigger_event ::= DELETE|INSERT DELETE shift-reduce 263 trigger_event ::= DELETE|INSERT UPDATE shift 488 trigger_event shift 492 State 277: trigger_decl ::= temp TRIGGER ifnotexists nm dbnm * trigger_time trigger_event ON fullname foreach_clause when_clause trigger_time ::= * BEFORE|AFTER trigger_time ::= * INSTEAD OF (262) trigger_time ::= * AFTER shift-reduce 260 trigger_time ::= BEFORE|AFTER BEFORE shift-reduce 260 trigger_time ::= BEFORE|AFTER INSTEAD shift 486 trigger_time shift 276 {default} reduce 262 trigger_time ::= State 278: (86) select ::= WITH RECURSIVE wqlist selectnowith * selectnowith ::= selectnowith * multiselect_op oneselect multiselect_op ::= * UNION multiselect_op ::= * UNION ALL multiselect_op ::= * EXCEPT|INTERSECT UNION shift 566 EXCEPT shift-reduce 91 multiselect_op ::= EXCEPT|INTERSECT INTERSECT shift-reduce 91 multiselect_op ::= EXCEPT|INTERSECT multiselect_op shift 211 {default} reduce 86 select ::= WITH RECURSIVE wqlist selectnowith State 279: selcollist ::= sclp scanpt expr scanpt * as as ::= * AS nm as ::= * ID|STRING (104) as ::= * AS shift 262 ID shift-reduce 378 as ::= ID|STRING STRING shift-reduce 378 as ::= ID|STRING as shift-reduce 100 selcollist ::= sclp scanpt expr scanpt as {default} reduce 104 as ::= State 280: as ::= * AS nm as ::= * ID|STRING (104) as ::= * seltablist ::= stl_prefix LP select RP * as on_using AS shift 262 ID shift-reduce 378 as ::= ID|STRING STRING shift-reduce 378 as ::= ID|STRING as shift 308 {default} reduce 104 as ::= State 281: as ::= * AS nm as ::= * ID|STRING (104) as ::= * seltablist ::= stl_prefix LP seltablist RP * as on_using AS shift 262 ID shift-reduce 378 as ::= ID|STRING STRING shift-reduce 378 as ::= ID|STRING as shift 309 {default} reduce 104 as ::= State 282: as ::= * AS nm as ::= * ID|STRING (104) as ::= * seltablist ::= stl_prefix nm dbnm LP exprlist RP * as on_using AS shift 262 ID shift-reduce 378 as ::= ID|STRING STRING shift-reduce 378 as ::= ID|STRING as shift 310 {default} reduce 104 as ::= State 283: (106) from ::= FROM seltablist * stl_prefix ::= seltablist * joinop joinop ::= * COMMA|JOIN joinop ::= * JOIN_KW JOIN joinop ::= * JOIN_KW nm JOIN joinop ::= * JOIN_KW nm nm JOIN COMMA shift-reduce 122 joinop ::= COMMA|JOIN JOIN_KW shift 228 JOIN shift-reduce 122 joinop ::= COMMA|JOIN joinop shift-reduce 107 stl_prefix ::= seltablist joinop {default} reduce 106 from ::= FROM seltablist State 284: (87) select ::= selectnowith * selectnowith ::= selectnowith * multiselect_op oneselect multiselect_op ::= * UNION multiselect_op ::= * UNION ALL multiselect_op ::= * EXCEPT|INTERSECT UNION shift 566 EXCEPT shift-reduce 91 multiselect_op ::= EXCEPT|INTERSECT INTERSECT shift-reduce 91 multiselect_op ::= EXCEPT|INTERSECT multiselect_op shift 211 {default} reduce 87 select ::= selectnowith State 285: (85) select ::= WITH wqlist selectnowith * selectnowith ::= selectnowith * multiselect_op oneselect multiselect_op ::= * UNION multiselect_op ::= * UNION ALL multiselect_op ::= * EXCEPT|INTERSECT UNION shift 566 EXCEPT shift-reduce 91 multiselect_op ::= EXCEPT|INTERSECT INTERSECT shift-reduce 91 multiselect_op ::= EXCEPT|INTERSECT multiselect_op shift 211 {default} reduce 85 select ::= WITH wqlist selectnowith State 286: distinct ::= * DISTINCT distinct ::= * ALL (98) distinct ::= * expr ::= ID|INDEXED LP * distinct exprlist RP expr ::= ID|INDEXED LP * STAR RP expr ::= ID|INDEXED LP * distinct exprlist RP filter_over expr ::= ID|INDEXED LP * STAR RP filter_over STAR shift 512 ALL shift-reduce 97 distinct ::= ALL DISTINCT shift-reduce 96 distinct ::= DISTINCT distinct shift 11 {default} reduce 98 distinct ::= State 287: (31) scantok ::= * ccons ::= DEFAULT * scantok term ccons ::= DEFAULT * LP expr RP ccons ::= DEFAULT * PLUS scantok term ccons ::= DEFAULT * MINUS scantok term ccons ::= DEFAULT * scantok ID|INDEXED LP shift 129 PLUS shift 406 MINUS shift 405 scantok shift 219 {default} reduce 31 scantok ::= State 288: cmd ::= BEGIN * transtype trans_opt (4) transtype ::= * transtype ::= * DEFERRED transtype ::= * IMMEDIATE transtype ::= * EXCLUSIVE DEFERRED shift-reduce 5 transtype ::= DEFERRED IMMEDIATE shift-reduce 6 transtype ::= IMMEDIATE EXCLUSIVE shift-reduce 7 transtype ::= EXCLUSIVE transtype shift 393 {default} reduce 4 transtype ::= State 289: cmd ::= ALTER TABLE fullname RENAME * TO nm cmd ::= ALTER TABLE fullname RENAME * kwcolumn_opt nm TO nm (396) kwcolumn_opt ::= * kwcolumn_opt ::= * COLUMNKW TO shift 233 COLUMNKW shift-reduce 397 kwcolumn_opt ::= COLUMNKW kwcolumn_opt shift 232 {default} reduce 396 kwcolumn_opt ::= State 290: cmd ::= with insert_cmd INTO xfullname idlist_opt select * upsert (164) upsert ::= * upsert ::= * RETURNING selcollist upsert ::= * ON CONFLICT LP sortlist RP where_opt DO UPDATE SET setlist where_opt upsert upsert ::= * ON CONFLICT LP sortlist RP where_opt DO NOTHING upsert upsert ::= * ON CONFLICT DO NOTHING returning upsert ::= * ON CONFLICT DO UPDATE SET setlist where_opt returning ON shift 470 RETURNING shift 216 upsert shift-reduce 162 cmd ::= with insert_cmd INTO xfullname idlist_opt select upsert {default} reduce 164 upsert ::= State 291: (153) where_opt_ret ::= * where_opt_ret ::= * WHERE expr where_opt_ret ::= * RETURNING selcollist where_opt_ret ::= * WHERE expr RETURNING selcollist cmd ::= with UPDATE orconf xfullname indexed_opt SET setlist from * where_opt_ret WHERE shift 86 RETURNING shift 213 where_opt_ret shift-reduce 157 cmd ::= with UPDATE orconf xfullname indexed_opt SET setlist from where_opt_ret {default} reduce 153 where_opt_ret ::= State 292: (105) from ::= * from ::= * FROM seltablist cmd ::= with UPDATE orconf xfullname indexed_opt SET setlist * from where_opt_ret setlist ::= setlist * COMMA nm EQ expr setlist ::= setlist * COMMA LP idlist RP EQ expr COMMA shift 222 FROM shift 217 from shift 291 {default} reduce 105 from ::= State 293: cmd ::= with DELETE FROM xfullname indexed_opt * where_opt_ret (153) where_opt_ret ::= * where_opt_ret ::= * WHERE expr where_opt_ret ::= * RETURNING selcollist where_opt_ret ::= * WHERE expr RETURNING selcollist WHERE shift 86 RETURNING shift 213 where_opt_ret shift-reduce 150 cmd ::= with DELETE FROM xfullname indexed_opt where_opt_ret {default} reduce 153 where_opt_ret ::= State 294: (393) tridxby ::= * tridxby ::= * INDEXED BY nm tridxby ::= * NOT INDEXED trigger_cmd ::= DELETE FROM trnm * tridxby where_opt scanpt NOT shift 478 INDEXED shift 479 tridxby shift 335 {default} reduce 393 tridxby ::= State 295: (151) where_opt ::= * where_opt ::= * WHERE expr setlist ::= setlist * COMMA nm EQ expr setlist ::= setlist * COMMA LP idlist RP EQ expr upsert ::= ON CONFLICT DO UPDATE SET setlist * where_opt returning COMMA shift 222 WHERE shift 98 where_opt shift 336 {default} reduce 151 where_opt ::= State 296: (164) upsert ::= * upsert ::= * RETURNING selcollist upsert ::= * ON CONFLICT LP sortlist RP where_opt DO UPDATE SET setlist where_opt upsert upsert ::= * ON CONFLICT LP sortlist RP where_opt DO NOTHING upsert upsert ::= ON CONFLICT LP sortlist RP where_opt DO NOTHING * upsert upsert ::= * ON CONFLICT DO NOTHING returning upsert ::= * ON CONFLICT DO UPDATE SET setlist where_opt returning ON shift 470 RETURNING shift 216 upsert shift-reduce 167 upsert ::= ON CONFLICT LP sortlist RP where_opt DO NOTHING upsert {default} reduce 164 upsert ::= State 297: (164) upsert ::= * upsert ::= * RETURNING selcollist upsert ::= * ON CONFLICT LP sortlist RP where_opt DO UPDATE SET setlist where_opt upsert upsert ::= ON CONFLICT LP sortlist RP where_opt DO UPDATE SET setlist where_opt * upsert upsert ::= * ON CONFLICT LP sortlist RP where_opt DO NOTHING upsert upsert ::= * ON CONFLICT DO NOTHING returning upsert ::= * ON CONFLICT DO UPDATE SET setlist where_opt returning ON shift 470 RETURNING shift 216 upsert shift-reduce 166 upsert ::= ON CONFLICT LP sortlist RP where_opt DO UPDATE SET setlist where_opt upsert {default} reduce 164 upsert ::= State 298: (151) where_opt ::= * where_opt ::= * WHERE expr setlist ::= setlist * COMMA nm EQ expr setlist ::= setlist * COMMA LP idlist RP EQ expr upsert ::= ON CONFLICT LP sortlist RP where_opt DO UPDATE SET setlist * where_opt upsert COMMA shift 222 WHERE shift 98 where_opt shift 297 {default} reduce 151 where_opt ::= State 299: (164) upsert ::= * upsert ::= * RETURNING selcollist upsert ::= * ON CONFLICT LP sortlist RP where_opt DO UPDATE SET setlist where_opt upsert upsert ::= * ON CONFLICT LP sortlist RP where_opt DO NOTHING upsert upsert ::= * ON CONFLICT DO NOTHING returning upsert ::= * ON CONFLICT DO UPDATE SET setlist where_opt returning trigger_cmd ::= scanpt insert_cmd INTO trnm idlist_opt select * upsert scanpt ON shift 470 RETURNING shift 216 upsert shift 400 {default} reduce 164 upsert ::= State 300: (105) from ::= * from ::= * FROM seltablist setlist ::= setlist * COMMA nm EQ expr setlist ::= setlist * COMMA LP idlist RP EQ expr trigger_cmd ::= UPDATE orconf trnm tridxby SET setlist * from where_opt scanpt COMMA shift 222 FROM shift 217 from shift 341 {default} reduce 105 from ::= State 301: (393) tridxby ::= * tridxby ::= * INDEXED BY nm tridxby ::= * NOT INDEXED trigger_cmd ::= UPDATE orconf trnm * tridxby SET setlist from where_opt scanpt NOT shift 478 INDEXED shift 479 tridxby shift 477 {default} reduce 393 tridxby ::= State 302: (47) autoinc ::= * autoinc ::= * AUTOINCR tcons ::= PRIMARY KEY LP sortlist * autoinc RP onconf sortlist ::= sortlist * COMMA expr sortorder nulls COMMA shift 100 AUTOINCR shift-reduce 48 autoinc ::= AUTOINCR autoinc shift 502 {default} reduce 47 autoinc ::= State 303: (369) conslist_opt ::= COMMA conslist * conslist ::= conslist * tconscomma tcons tconscomma ::= * COMMA (372) tconscomma ::= * RP reduce 369 conslist_opt ::= COMMA conslist COMMA shift-reduce 66 tconscomma ::= COMMA tconscomma shift 223 {default} reduce 372 tconscomma ::= State 304: (42) ccons ::= REFERENCES nm eidlist_opt refargs * refargs ::= refargs * refarg refarg ::= * MATCH nm refarg ::= * ON INSERT refact refarg ::= * ON DELETE refact refarg ::= * ON UPDATE refact MATCH shift 256 ON shift 414 refarg shift-reduce 50 refargs ::= refargs refarg {default} reduce 42 ccons ::= REFERENCES nm eidlist_opt refargs State 305: ccons ::= PRIMARY KEY * sortorder onconf autoinc sortorder ::= * ASC sortorder ::= * DESC (138) sortorder ::= * ASC shift-reduce 136 sortorder ::= ASC DESC shift-reduce 137 sortorder ::= DESC sortorder shift 365 {default} reduce 138 sortorder ::= State 306: sortorder ::= * ASC sortorder ::= * DESC (138) sortorder ::= * eidlist ::= nm collate * sortorder ASC shift-reduce 136 sortorder ::= ASC DESC shift-reduce 137 sortorder ::= DESC sortorder shift-reduce 243 eidlist ::= nm collate sortorder {default} reduce 138 sortorder ::= State 307: sortorder ::= * ASC sortorder ::= * DESC (138) sortorder ::= * eidlist ::= eidlist COMMA nm collate * sortorder ASC shift-reduce 136 sortorder ::= ASC DESC shift-reduce 137 sortorder ::= DESC sortorder shift-reduce 242 eidlist ::= eidlist COMMA nm collate sortorder {default} reduce 138 sortorder ::= State 308: seltablist ::= stl_prefix LP select RP as * on_using on_using ::= * ON expr on_using ::= * USING LP idlist RP (128) on_using ::= * ON shift 97 USING shift 527 on_using shift-reduce 112 seltablist ::= stl_prefix LP select RP as on_using {default} reduce 128 on_using ::= State 309: seltablist ::= stl_prefix LP seltablist RP as * on_using on_using ::= * ON expr on_using ::= * USING LP idlist RP (128) on_using ::= * ON shift 97 USING shift 527 on_using shift-reduce 113 seltablist ::= stl_prefix LP seltablist RP as on_using {default} reduce 128 on_using ::= State 310: seltablist ::= stl_prefix nm dbnm LP exprlist RP as * on_using on_using ::= * ON expr on_using ::= * USING LP idlist RP (128) on_using ::= * ON shift 97 USING shift 527 on_using shift-reduce 111 seltablist ::= stl_prefix nm dbnm LP exprlist RP as on_using {default} reduce 128 on_using ::= State 311: seltablist ::= stl_prefix nm dbnm as indexed_by * on_using on_using ::= * ON expr on_using ::= * USING LP idlist RP (128) on_using ::= * ON shift 97 USING shift 527 on_using shift-reduce 110 seltablist ::= stl_prefix nm dbnm as indexed_by on_using {default} reduce 128 on_using ::= State 312: (132) orderby_opt ::= * orderby_opt ::= * ORDER BY sortlist nexprlist ::= nexprlist * COMMA expr window ::= nm PARTITION BY nexprlist * orderby_opt frame_opt COMMA shift 113 ORDER shift 546 orderby_opt shift 204 {default} reduce 132 orderby_opt ::= State 313: (132) orderby_opt ::= * orderby_opt ::= * ORDER BY sortlist nexprlist ::= nexprlist * COMMA expr window ::= PARTITION BY nexprlist * orderby_opt frame_opt COMMA shift 113 ORDER shift 546 orderby_opt shift 205 {default} reduce 132 orderby_opt ::= State 314: expr ::= CASE case_operand case_exprlist * case_else END case_exprlist ::= case_exprlist * WHEN expr THEN expr case_else ::= * ELSE expr (229) case_else ::= * WHEN shift 108 ELSE shift 106 case_else shift 558 {default} reduce 229 case_else ::= State 315: oneselect ::= SELECT distinct selcollist * from where_opt groupby_opt having_opt orderby_opt limit_opt oneselect ::= SELECT distinct selcollist * from where_opt groupby_opt having_opt window_clause orderby_opt limit_opt sclp ::= selcollist * COMMA (105) from ::= * from ::= * FROM seltablist COMMA shift-reduce 377 sclp ::= selcollist COMMA FROM shift 217 from shift 387 {default} reduce 105 from ::= State 316: oneselect ::= SELECT * distinct selcollist from where_opt groupby_opt having_opt orderby_opt limit_opt oneselect ::= SELECT * distinct selcollist from where_opt groupby_opt having_opt window_clause orderby_opt limit_opt distinct ::= * DISTINCT distinct ::= * ALL (98) distinct ::= * ALL shift-reduce 97 distinct ::= ALL DISTINCT shift-reduce 96 distinct ::= DISTINCT distinct shift 218 {default} reduce 98 distinct ::= State 317: cmd ::= create_table * create_table_args create_table_args ::= * LP columnlist conslist_opt RP table_option_set create_table_args ::= * AS select LP shift 152 AS shift 38 create_table_args shift-reduce 353 cmd ::= create_table create_table_args State 318: cmd ::= ALTER TABLE add_column_fullname ADD * kwcolumn_opt columnname carglist (396) kwcolumn_opt ::= * kwcolumn_opt ::= * COLUMNKW COLUMNKW shift-reduce 397 kwcolumn_opt ::= COLUMNKW kwcolumn_opt shift 179 {default} reduce 396 kwcolumn_opt ::= State 319: cmd ::= ALTER TABLE fullname DROP * kwcolumn_opt nm (396) kwcolumn_opt ::= * kwcolumn_opt ::= * COLUMNKW COLUMNKW shift-reduce 397 kwcolumn_opt ::= COLUMNKW kwcolumn_opt shift 230 {default} reduce 396 kwcolumn_opt ::= State 320: (114) dbnm ::= * dbnm ::= * DOT nm cmd ::= ANALYZE nm * dbnm DOT shift 265 dbnm shift-reduce 290 cmd ::= ANALYZE nm dbnm {default} reduce 114 dbnm ::= State 321: (114) dbnm ::= * dbnm ::= * DOT nm cmd ::= REINDEX nm * dbnm DOT shift 265 dbnm shift-reduce 288 cmd ::= REINDEX nm dbnm {default} reduce 114 dbnm ::= State 322: cmd ::= DETACH * database_kw_opt expr database_kw_opt ::= * DATABASE (395) database_kw_opt ::= * DATABASE shift-reduce 394 database_kw_opt ::= DATABASE database_kw_opt shift 81 {default} reduce 395 database_kw_opt ::= State 323: cmd ::= ATTACH * database_kw_opt expr AS expr key_opt database_kw_opt ::= * DATABASE (395) database_kw_opt ::= * DATABASE shift-reduce 394 database_kw_opt ::= DATABASE database_kw_opt shift 84 {default} reduce 395 database_kw_opt ::= State 324: (114) dbnm ::= * dbnm ::= * DOT nm cmd ::= PRAGMA nm * dbnm cmd ::= PRAGMA nm * dbnm EQ nmnum cmd ::= PRAGMA nm * dbnm LP nmnum RP cmd ::= PRAGMA nm * dbnm EQ minus_num cmd ::= PRAGMA nm * dbnm LP minus_num RP DOT shift 265 dbnm shift 418 {default} reduce 114 dbnm ::= State 325: cmd ::= VACUUM nm * vinto vinto ::= * INTO expr (250) vinto ::= * INTO shift 85 vinto shift-reduce 248 cmd ::= VACUUM nm vinto {default} reduce 250 vinto ::= State 326: cmd ::= with insert_cmd INTO xfullname idlist_opt DEFAULT VALUES * returning returning ::= * RETURNING selcollist (380) returning ::= * RETURNING shift 215 returning shift-reduce 163 cmd ::= with insert_cmd INTO xfullname idlist_opt DEFAULT VALUES returning {default} reduce 380 returning ::= State 327: cmd ::= with insert_cmd INTO xfullname * idlist_opt select upsert cmd ::= with insert_cmd INTO xfullname * idlist_opt DEFAULT VALUES returning (173) idlist_opt ::= * idlist_opt ::= * LP idlist RP LP shift 188 idlist_opt shift 35 {default} reduce 173 idlist_opt ::= State 328: (75) orconf ::= * orconf ::= * OR resolvetype cmd ::= with UPDATE * orconf xfullname indexed_opt SET setlist from where_opt_ret OR shift 173 orconf shift 181 {default} reduce 75 orconf ::= State 329: ifexists ::= * IF EXISTS (81) ifexists ::= * cmd ::= DROP TRIGGER * ifexists fullname IF shift 461 ifexists shift 183 {default} reduce 81 ifexists ::= State 330: ifexists ::= * IF EXISTS (81) ifexists ::= * cmd ::= DROP INDEX * ifexists fullname IF shift 461 ifexists shift 184 {default} reduce 81 ifexists ::= State 331: ifexists ::= * IF EXISTS (81) ifexists ::= * cmd ::= DROP VIEW * ifexists fullname IF shift 461 ifexists shift 185 {default} reduce 81 ifexists ::= State 332: cmd ::= DROP TABLE * ifexists fullname ifexists ::= * IF EXISTS (81) ifexists ::= * IF shift 461 ifexists shift 186 {default} reduce 81 ifexists ::= State 333: (114) dbnm ::= * dbnm ::= * DOT nm create_vtab ::= createkw VIRTUAL TABLE ifnotexists nm * dbnm USING nm DOT shift 265 dbnm shift 462 {default} reduce 114 dbnm ::= State 334: (15) ifnotexists ::= * ifnotexists ::= * IF NOT EXISTS create_vtab ::= createkw VIRTUAL TABLE * ifnotexists nm dbnm USING nm IF shift 495 ifnotexists shift 242 {default} reduce 15 ifnotexists ::= State 335: (151) where_opt ::= * where_opt ::= * WHERE expr trigger_cmd ::= DELETE FROM trnm tridxby * where_opt scanpt WHERE shift 98 where_opt shift 398 {default} reduce 151 where_opt ::= State 336: upsert ::= ON CONFLICT DO UPDATE SET setlist where_opt * returning returning ::= * RETURNING selcollist (380) returning ::= * RETURNING shift 215 returning shift-reduce 169 upsert ::= ON CONFLICT DO UPDATE SET setlist where_opt returning {default} reduce 380 returning ::= State 337: upsert ::= ON CONFLICT DO NOTHING * returning returning ::= * RETURNING selcollist (380) returning ::= * RETURNING shift 215 returning shift-reduce 168 upsert ::= ON CONFLICT DO NOTHING returning {default} reduce 380 returning ::= State 338: (151) where_opt ::= * where_opt ::= * WHERE expr upsert ::= ON CONFLICT LP sortlist RP * where_opt DO UPDATE SET setlist where_opt upsert upsert ::= ON CONFLICT LP sortlist RP * where_opt DO NOTHING upsert WHERE shift 98 where_opt shift 469 {default} reduce 151 where_opt ::= State 339: (173) idlist_opt ::= * idlist_opt ::= * LP idlist RP trigger_cmd ::= scanpt insert_cmd INTO trnm * idlist_opt select upsert scanpt LP shift 188 idlist_opt shift 36 {default} reduce 173 idlist_opt ::= State 340: (75) orconf ::= * orconf ::= * OR resolvetype insert_cmd ::= INSERT * orconf OR shift 173 orconf shift-reduce 171 insert_cmd ::= INSERT orconf {default} reduce 75 orconf ::= State 341: (151) where_opt ::= * where_opt ::= * WHERE expr trigger_cmd ::= UPDATE orconf trnm tridxby SET setlist from * where_opt scanpt WHERE shift 98 where_opt shift 401 {default} reduce 151 where_opt ::= State 342: (75) orconf ::= * orconf ::= * OR resolvetype trigger_cmd ::= UPDATE * orconf trnm tridxby SET setlist from where_opt scanpt OR shift 173 orconf shift 192 {default} reduce 75 orconf ::= State 343: (151) where_opt ::= * where_opt ::= * WHERE expr cmd ::= createkw uniqueflag INDEX ifnotexists nm dbnm ON nm LP sortlist RP * where_opt WHERE shift 98 where_opt shift-reduce 237 cmd ::= createkw uniqueflag INDEX ifnotexists nm dbnm ON nm LP sortlist RP where_opt {default} reduce 151 where_opt ::= State 344: (114) dbnm ::= * dbnm ::= * DOT nm cmd ::= createkw uniqueflag INDEX ifnotexists nm * dbnm ON nm LP sortlist RP where_opt DOT shift 265 dbnm shift 484 {default} reduce 114 dbnm ::= State 345: (15) ifnotexists ::= * ifnotexists ::= * IF NOT EXISTS cmd ::= createkw uniqueflag INDEX * ifnotexists nm dbnm ON nm LP sortlist RP where_opt IF shift 495 ifnotexists shift 246 {default} reduce 15 ifnotexists ::= State 346: trigger_decl ::= temp TRIGGER ifnotexists nm dbnm trigger_time trigger_event ON fullname foreach_clause * when_clause (266) when_clause ::= * when_clause ::= * WHEN expr WHEN shift 91 when_clause shift-reduce 259 trigger_decl ::= temp TRIGGER ifnotexists nm dbnm trigger_time trigger_event ON fullname foreach_clause when_clause {default} reduce 266 when_clause ::= State 347: trigger_decl ::= temp TRIGGER ifnotexists nm dbnm trigger_time trigger_event ON fullname * foreach_clause when_clause (390) foreach_clause ::= * foreach_clause ::= * FOR EACH ROW FOR shift 490 foreach_clause shift 346 {default} reduce 390 foreach_clause ::= State 348: (114) dbnm ::= * dbnm ::= * DOT nm trigger_decl ::= temp TRIGGER ifnotexists nm * dbnm trigger_time trigger_event ON fullname foreach_clause when_clause DOT shift 265 dbnm shift 277 {default} reduce 114 dbnm ::= State 349: (15) ifnotexists ::= * ifnotexists ::= * IF NOT EXISTS trigger_decl ::= temp TRIGGER * ifnotexists nm dbnm trigger_time trigger_event ON fullname foreach_clause when_clause IF shift 495 ifnotexists shift 248 {default} reduce 15 ifnotexists ::= State 350: cmd ::= createkw temp VIEW ifnotexists nm dbnm * eidlist_opt AS select (240) eidlist_opt ::= * eidlist_opt ::= * LP eidlist RP LP shift 196 eidlist_opt shift 493 {default} reduce 240 eidlist_opt ::= State 351: cmd ::= createkw temp VIEW ifnotexists nm * dbnm eidlist_opt AS select (114) dbnm ::= * dbnm ::= * DOT nm DOT shift 265 dbnm shift 350 {default} reduce 114 dbnm ::= State 352: (15) ifnotexists ::= * ifnotexists ::= * IF NOT EXISTS cmd ::= createkw temp VIEW * ifnotexists nm dbnm eidlist_opt AS select IF shift 495 ifnotexists shift 249 {default} reduce 15 ifnotexists ::= State 353: create_table ::= createkw temp TABLE ifnotexists nm * dbnm (114) dbnm ::= * dbnm ::= * DOT nm DOT shift 265 dbnm shift-reduce 13 create_table ::= createkw temp TABLE ifnotexists nm dbnm {default} reduce 114 dbnm ::= State 354: create_table ::= createkw temp TABLE * ifnotexists nm dbnm (15) ifnotexists ::= * ifnotexists ::= * IF NOT EXISTS IF shift 495 ifnotexists shift 250 {default} reduce 15 ifnotexists ::= State 355: tcons ::= FOREIGN KEY LP eidlist RP REFERENCES nm * eidlist_opt refargs defer_subclause_opt (240) eidlist_opt ::= * eidlist_opt ::= * LP eidlist RP LP shift 196 eidlist_opt shift 403 {default} reduce 240 eidlist_opt ::= State 356: tcons ::= CHECK LP expr RP * onconf (73) onconf ::= * onconf ::= * ON CONFLICT resolvetype ON shift 511 onconf shift-reduce 70 tcons ::= CHECK LP expr RP onconf {default} reduce 73 onconf ::= State 357: tcons ::= UNIQUE LP sortlist RP * onconf (73) onconf ::= * onconf ::= * ON CONFLICT resolvetype ON shift 511 onconf shift-reduce 69 tcons ::= UNIQUE LP sortlist RP onconf {default} reduce 73 onconf ::= State 358: tcons ::= PRIMARY KEY LP sortlist autoinc RP * onconf (73) onconf ::= * onconf ::= * ON CONFLICT resolvetype ON shift 511 onconf shift-reduce 68 tcons ::= PRIMARY KEY LP sortlist autoinc RP onconf {default} reduce 73 onconf ::= State 359: defer_subclause ::= DEFERRABLE * init_deferred_pred_opt (62) init_deferred_pred_opt ::= * init_deferred_pred_opt ::= * INITIALLY DEFERRED init_deferred_pred_opt ::= * INITIALLY IMMEDIATE INITIALLY shift 432 init_deferred_pred_opt shift-reduce 61 defer_subclause ::= DEFERRABLE init_deferred_pred_opt {default} reduce 62 init_deferred_pred_opt ::= State 360: ccons ::= AS * generated generated ::= * LP expr RP generated ::= * LP expr RP ID LP shift 93 generated shift-reduce 368 ccons ::= AS generated State 361: ccons ::= GENERATED ALWAYS AS * generated generated ::= * LP expr RP generated ::= * LP expr RP ID LP shift 93 generated shift-reduce 367 ccons ::= GENERATED ALWAYS AS generated State 362: ccons ::= REFERENCES nm * eidlist_opt refargs (240) eidlist_opt ::= * eidlist_opt ::= * LP eidlist RP LP shift 196 eidlist_opt shift 404 {default} reduce 240 eidlist_opt ::= State 363: ccons ::= UNIQUE * onconf (73) onconf ::= * onconf ::= * ON CONFLICT resolvetype ON shift 511 onconf shift-reduce 40 ccons ::= UNIQUE onconf {default} reduce 73 onconf ::= State 364: ccons ::= PRIMARY KEY sortorder onconf * autoinc (47) autoinc ::= * autoinc ::= * AUTOINCR AUTOINCR shift-reduce 48 autoinc ::= AUTOINCR autoinc shift-reduce 39 ccons ::= PRIMARY KEY sortorder onconf autoinc {default} reduce 47 autoinc ::= State 365: ccons ::= PRIMARY KEY sortorder * onconf autoinc (73) onconf ::= * onconf ::= * ON CONFLICT resolvetype ON shift 511 onconf shift 364 {default} reduce 73 onconf ::= State 366: defer_subclause ::= NOT DEFERRABLE * init_deferred_pred_opt (62) init_deferred_pred_opt ::= * init_deferred_pred_opt ::= * INITIALLY DEFERRED init_deferred_pred_opt ::= * INITIALLY IMMEDIATE INITIALLY shift 432 init_deferred_pred_opt shift-reduce 60 defer_subclause ::= NOT DEFERRABLE init_deferred_pred_opt {default} reduce 62 init_deferred_pred_opt ::= State 367: ccons ::= NOT NULL * onconf (73) onconf ::= * onconf ::= * ON CONFLICT resolvetype ON shift 511 onconf shift-reduce 38 ccons ::= NOT NULL onconf {default} reduce 73 onconf ::= State 368: ccons ::= NULL * onconf (73) onconf ::= * onconf ::= * ON CONFLICT resolvetype ON shift 511 onconf shift-reduce 366 ccons ::= NULL onconf {default} reduce 73 onconf ::= State 369: filter_over ::= filter_clause * over_clause (338) filter_over ::= filter_clause * over_clause ::= * OVER LP window RP over_clause ::= * OVER nm OVER shift 224 over_clause shift-reduce 336 filter_over ::= filter_clause over_clause {default} reduce 338 filter_over ::= filter_clause State 370: wqas ::= * AS wqas ::= * AS MATERIALIZED wqas ::= * AS NOT MATERIALIZED wqitem ::= nm eidlist_opt * wqas LP select RP AS shift 434 wqas shift 520 State 371: eidlist ::= nm * collate sortorder (244) collate ::= * collate ::= * COLLATE ID|STRING COLLATE shift 435 collate shift 306 {default} reduce 244 collate ::= State 372: eidlist ::= eidlist COMMA nm * collate sortorder (244) collate ::= * collate ::= * COLLATE ID|STRING COLLATE shift 435 collate shift 307 {default} reduce 244 collate ::= State 373: (240) eidlist_opt ::= * eidlist_opt ::= * LP eidlist RP wqitem ::= nm * eidlist_opt wqas LP select RP LP shift 196 eidlist_opt shift 370 {default} reduce 240 eidlist_opt ::= State 374: seltablist ::= stl_prefix nm * dbnm as on_using seltablist ::= stl_prefix nm * dbnm as indexed_by on_using seltablist ::= stl_prefix nm * dbnm LP exprlist RP as on_using (114) dbnm ::= * dbnm ::= * DOT nm DOT shift 265 dbnm shift 263 {default} reduce 114 dbnm ::= State 375: frame_opt ::= range_or_rows BETWEEN frame_bound_s AND frame_bound_e * frame_exclude_opt (330) frame_exclude_opt ::= * frame_exclude_opt ::= * EXCLUDE frame_exclude EXCLUDE shift 264 frame_exclude_opt shift-reduce 322 frame_opt ::= range_or_rows BETWEEN frame_bound_s AND frame_bound_e frame_exclude_opt {default} reduce 330 frame_exclude_opt ::= State 376: frame_opt ::= range_or_rows frame_bound_s * frame_exclude_opt (330) frame_exclude_opt ::= * frame_exclude_opt ::= * EXCLUDE frame_exclude EXCLUDE shift 264 frame_exclude_opt shift-reduce 321 frame_opt ::= range_or_rows frame_bound_s frame_exclude_opt {default} reduce 330 frame_exclude_opt ::= State 377: sortlist ::= expr sortorder * nulls nulls ::= * NULLS FIRST nulls ::= * NULLS LAST (141) nulls ::= * NULLS shift 438 nulls shift-reduce 135 sortlist ::= expr sortorder nulls {default} reduce 141 nulls ::= State 378: sortlist ::= sortlist COMMA expr sortorder * nulls nulls ::= * NULLS FIRST nulls ::= * NULLS LAST (141) nulls ::= * NULLS shift 438 nulls shift-reduce 134 sortlist ::= sortlist COMMA expr sortorder nulls {default} reduce 141 nulls ::= State 379: oneselect ::= SELECT distinct selcollist from where_opt groupby_opt having_opt window_clause orderby_opt * limit_opt (146) limit_opt ::= * limit_opt ::= * LIMIT expr limit_opt ::= * LIMIT expr OFFSET expr limit_opt ::= * LIMIT expr COMMA expr LIMIT shift 128 limit_opt shift-reduce 93 oneselect ::= SELECT distinct selcollist from where_opt groupby_opt having_opt window_clause orderby_opt limit_opt {default} reduce 146 limit_opt ::= State 380: oneselect ::= SELECT distinct selcollist from where_opt groupby_opt having_opt window_clause * orderby_opt limit_opt (132) orderby_opt ::= * orderby_opt ::= * ORDER BY sortlist ORDER shift 546 orderby_opt shift 379 {default} reduce 132 orderby_opt ::= State 381: expr ::= expr in_op nm dbnm * paren_exprlist (235) paren_exprlist ::= * paren_exprlist ::= * LP exprlist RP LP shift 10 paren_exprlist shift-reduce 223 expr ::= expr in_op nm dbnm paren_exprlist {default} reduce 235 paren_exprlist ::= State 382: (114) dbnm ::= * dbnm ::= * DOT nm expr ::= expr in_op nm * dbnm paren_exprlist DOT shift 265 dbnm shift 381 {default} reduce 114 dbnm ::= State 383: expr ::= CASE case_operand * case_exprlist case_else END case_exprlist ::= * case_exprlist WHEN expr THEN expr case_exprlist ::= * WHEN expr THEN expr WHEN shift 105 case_exprlist shift 314 State 384: oneselect ::= SELECT distinct selcollist from where_opt groupby_opt having_opt orderby_opt * limit_opt (146) limit_opt ::= * limit_opt ::= * LIMIT expr limit_opt ::= * LIMIT expr OFFSET expr limit_opt ::= * LIMIT expr COMMA expr LIMIT shift 128 limit_opt shift-reduce 92 oneselect ::= SELECT distinct selcollist from where_opt groupby_opt having_opt orderby_opt limit_opt {default} reduce 146 limit_opt ::= State 385: oneselect ::= SELECT distinct selcollist from where_opt groupby_opt * having_opt orderby_opt limit_opt oneselect ::= SELECT distinct selcollist from where_opt groupby_opt * having_opt window_clause orderby_opt limit_opt (144) having_opt ::= * having_opt ::= * HAVING expr HAVING shift 99 having_opt shift 210 {default} reduce 144 having_opt ::= State 386: oneselect ::= SELECT distinct selcollist from where_opt * groupby_opt having_opt orderby_opt limit_opt oneselect ::= SELECT distinct selcollist from where_opt * groupby_opt having_opt window_clause orderby_opt limit_opt (142) groupby_opt ::= * groupby_opt ::= * GROUP BY nexprlist GROUP shift 530 groupby_opt shift 385 {default} reduce 142 groupby_opt ::= State 387: oneselect ::= SELECT distinct selcollist from * where_opt groupby_opt having_opt orderby_opt limit_opt oneselect ::= SELECT distinct selcollist from * where_opt groupby_opt having_opt window_clause orderby_opt limit_opt (151) where_opt ::= * where_opt ::= * WHERE expr WHERE shift 98 where_opt shift 386 {default} reduce 151 where_opt ::= State 388: create_table_args ::= LP columnlist * conslist_opt RP table_option_set columnlist ::= columnlist * COMMA columnname carglist (65) conslist_opt ::= * conslist_opt ::= * COMMA conslist COMMA shift 34 conslist_opt shift 572 {default} reduce 65 conslist_opt ::= State 389: savepoint_opt ::= * SAVEPOINT (352) savepoint_opt ::= * cmd ::= RELEASE * savepoint_opt nm SAVEPOINT shift-reduce 351 savepoint_opt ::= SAVEPOINT savepoint_opt shift 272 {default} reduce 352 savepoint_opt ::= State 390: savepoint_opt ::= * SAVEPOINT (352) savepoint_opt ::= * cmd ::= ROLLBACK trans_opt TO * savepoint_opt nm SAVEPOINT shift-reduce 351 savepoint_opt ::= SAVEPOINT savepoint_opt shift 274 {default} reduce 352 savepoint_opt ::= State 391: (348) trans_opt ::= * trans_opt ::= * TRANSACTION trans_opt ::= * TRANSACTION nm cmd ::= ROLLBACK * trans_opt cmd ::= ROLLBACK * trans_opt TO savepoint_opt nm TRANSACTION shift 275 trans_opt shift 573 {default} reduce 348 trans_opt ::= State 392: (348) trans_opt ::= * trans_opt ::= * TRANSACTION trans_opt ::= * TRANSACTION nm cmd ::= COMMIT|END * trans_opt TRANSACTION shift 275 trans_opt shift-reduce 8 cmd ::= COMMIT|END trans_opt {default} reduce 348 trans_opt ::= State 393: cmd ::= BEGIN transtype * trans_opt (348) trans_opt ::= * trans_opt ::= * TRANSACTION trans_opt ::= * TRANSACTION nm TRANSACTION shift 275 trans_opt shift-reduce 3 cmd ::= BEGIN transtype trans_opt {default} reduce 348 trans_opt ::= State 394: (401) anylist ::= * anylist ::= * anylist LP anylist RP anylist ::= anylist LP * anylist RP anylist ::= * anylist ANY anylist shift 411 {default} reduce 401 anylist ::= State 395: vtabargtoken ::= lp * anylist RP (401) anylist ::= * anylist ::= * anylist LP anylist RP anylist ::= * anylist ANY anylist shift 412 {default} reduce 401 anylist ::= State 396: vtabarglist ::= vtabarglist COMMA * vtabarg (299) vtabarg ::= * vtabarg ::= * vtabarg vtabargtoken vtabarg shift 178 {default} reduce 299 vtabarg ::= State 397: carglist ::= * carglist ccons (365) carglist ::= * cmd ::= ALTER TABLE add_column_fullname ADD kwcolumn_opt columnname * carglist carglist shift 165 {default} reduce 365 carglist ::= State 398: (30) scanpt ::= * trigger_cmd ::= DELETE FROM trnm tridxby where_opt * scanpt scanpt shift-reduce 275 trigger_cmd ::= DELETE FROM trnm tridxby where_opt scanpt {default} reduce 30 scanpt ::= State 399: (30) scanpt ::= * trigger_cmd ::= scanpt select * scanpt scanpt shift-reduce 276 trigger_cmd ::= scanpt select scanpt {default} reduce 30 scanpt ::= State 400: (30) scanpt ::= * trigger_cmd ::= scanpt insert_cmd INTO trnm idlist_opt select upsert * scanpt scanpt shift-reduce 274 trigger_cmd ::= scanpt insert_cmd INTO trnm idlist_opt select upsert scanpt {default} reduce 30 scanpt ::= State 401: (30) scanpt ::= * trigger_cmd ::= UPDATE orconf trnm tridxby SET setlist from where_opt * scanpt scanpt shift-reduce 273 trigger_cmd ::= UPDATE orconf trnm tridxby SET setlist from where_opt scanpt {default} reduce 30 scanpt ::= State 402: columnlist ::= columnname * carglist carglist ::= * carglist ccons (365) carglist ::= * carglist shift 166 {default} reduce 365 carglist ::= State 403: (49) refargs ::= * refargs ::= * refargs refarg tcons ::= FOREIGN KEY LP eidlist RP REFERENCES nm eidlist_opt * refargs defer_subclause_opt refargs shift 147 {default} reduce 49 refargs ::= State 404: ccons ::= REFERENCES nm eidlist_opt * refargs (49) refargs ::= * refargs ::= * refargs refarg refargs shift 304 {default} reduce 49 refargs ::= State 405: (31) scantok ::= * ccons ::= DEFAULT MINUS * scantok term scantok shift 220 {default} reduce 31 scantok ::= State 406: (31) scantok ::= * ccons ::= DEFAULT PLUS * scantok term scantok shift 221 {default} reduce 31 scantok ::= State 407: (30) scanpt ::= * selcollist ::= sclp * scanpt expr scanpt as selcollist ::= sclp * scanpt STAR selcollist ::= sclp * scanpt nm DOT STAR scanpt shift 78 {default} reduce 30 scanpt ::= State 408: columnlist ::= columnlist COMMA columnname * carglist carglist ::= * carglist ccons (365) carglist ::= * carglist shift 167 {default} reduce 365 carglist ::= State 409: likeop ::= NOT * LIKE_KW|MATCH expr ::= expr NOT * NULL between_op ::= NOT * BETWEEN in_op ::= NOT * IN MATCH shift-reduce 202 likeop ::= NOT LIKE_KW|MATCH LIKE_KW shift-reduce 202 likeop ::= NOT LIKE_KW|MATCH BETWEEN shift-reduce 216 between_op ::= NOT BETWEEN IN shift-reduce 219 in_op ::= NOT IN NULL shift-reduce 206 expr ::= expr NOT NULL State 410: cmd ::= DROP * TABLE ifexists fullname cmd ::= DROP * VIEW ifexists fullname cmd ::= DROP * INDEX ifexists fullname cmd ::= DROP * TRIGGER ifexists fullname TABLE shift 332 TRIGGER shift 329 VIEW shift 331 INDEX shift 330 State 411: anylist ::= anylist * LP anylist RP anylist ::= anylist LP anylist * RP anylist ::= anylist * ANY LP shift 394 RP shift-reduce 402 anylist ::= anylist LP anylist RP ANY shift-reduce 403 anylist ::= anylist ANY State 412: vtabargtoken ::= lp anylist * RP anylist ::= anylist * LP anylist RP anylist ::= anylist * ANY LP shift 394 RP shift-reduce 301 vtabargtoken ::= lp anylist RP ANY shift-reduce 403 anylist ::= anylist ANY State 413: create_table ::= createkw temp * TABLE ifnotexists nm dbnm cmd ::= createkw temp * VIEW ifnotexists nm dbnm eidlist_opt AS select trigger_decl ::= temp * TRIGGER ifnotexists nm dbnm trigger_time trigger_event ON fullname foreach_clause when_clause TABLE shift 354 TRIGGER shift 349 VIEW shift 352 State 414: refarg ::= ON * INSERT refact refarg ::= ON * DELETE refact refarg ::= ON * UPDATE refact INSERT shift 255 DELETE shift 254 UPDATE shift 253 State 415: (360) typetoken ::= typename * typetoken ::= typename * LP signed RP typetoken ::= typename * LP signed COMMA signed RP typename ::= typename * ID|STRING LP shift 151 ID shift-reduce 29 typename ::= typename ID|STRING STRING shift-reduce 29 typename ::= typename ID|STRING {default} reduce 360 typetoken ::= typename State 416: cmd ::= create_vtab LP vtabarglist * RP vtabarglist ::= vtabarglist * COMMA vtabarg RP shift-reduce 297 cmd ::= create_vtab LP vtabarglist RP COMMA shift 396 State 417: cmd ::= ALTER TABLE fullname * RENAME TO nm cmd ::= ALTER TABLE fullname * DROP kwcolumn_opt nm (294) add_column_fullname ::= fullname * cmd ::= ALTER TABLE fullname * RENAME kwcolumn_opt nm TO nm RENAME shift 289 DROP shift 319 {default} reduce 294 add_column_fullname ::= fullname State 418: (251) cmd ::= PRAGMA nm dbnm * cmd ::= PRAGMA nm dbnm * EQ nmnum cmd ::= PRAGMA nm dbnm * LP nmnum RP cmd ::= PRAGMA nm dbnm * EQ minus_num cmd ::= PRAGMA nm dbnm * LP minus_num RP LP shift 30 EQ shift 31 {default} reduce 251 cmd ::= PRAGMA nm dbnm State 419: (118) xfullname ::= nm * xfullname ::= nm * DOT nm xfullname ::= nm * DOT nm AS nm xfullname ::= nm * AS nm AS shift 237 DOT shift 239 {default} reduce 118 xfullname ::= nm State 420: upsert ::= ON CONFLICT DO * NOTHING returning upsert ::= ON CONFLICT DO * UPDATE SET setlist where_opt returning UPDATE shift 466 NOTHING shift 337 State 421: upsert ::= ON CONFLICT LP sortlist RP where_opt DO * UPDATE SET setlist where_opt upsert upsert ::= ON CONFLICT LP sortlist RP where_opt DO * NOTHING upsert UPDATE shift 468 NOTHING shift 296 State 422: sortlist ::= sortlist * COMMA expr sortorder nulls upsert ::= ON CONFLICT LP sortlist * RP where_opt DO UPDATE SET setlist where_opt upsert upsert ::= ON CONFLICT LP sortlist * RP where_opt DO NOTHING upsert RP shift 338 COMMA shift 100 State 423: upsert ::= ON CONFLICT * LP sortlist RP where_opt DO UPDATE SET setlist where_opt upsert upsert ::= ON CONFLICT * LP sortlist RP where_opt DO NOTHING upsert upsert ::= ON CONFLICT * DO NOTHING returning upsert ::= ON CONFLICT * DO UPDATE SET setlist where_opt returning LP shift 17 DO shift 420 State 424: idlist_opt ::= LP idlist * RP idlist ::= idlist * COMMA nm RP shift-reduce 174 idlist_opt ::= LP idlist RP COMMA shift 261 State 425: setlist ::= LP idlist * RP EQ expr idlist ::= idlist * COMMA nm RP shift 473 COMMA shift 261 State 426: setlist ::= setlist COMMA LP idlist * RP EQ expr idlist ::= idlist * COMMA nm RP shift 475 COMMA shift 261 State 427: sortlist ::= sortlist * COMMA expr sortorder nulls cmd ::= createkw uniqueflag INDEX ifnotexists nm dbnm ON nm LP sortlist * RP where_opt RP shift 343 COMMA shift 100 State 428: tcons ::= FOREIGN KEY LP eidlist * RP REFERENCES nm eidlist_opt refargs defer_subclause_opt eidlist ::= eidlist * COMMA nm collate sortorder RP shift 497 COMMA shift 258 State 429: tcons ::= UNIQUE LP sortlist * RP onconf sortlist ::= sortlist * COMMA expr sortorder nulls RP shift 357 COMMA shift 100 State 430: ccons ::= COLLATE * ID|STRING ID shift-reduce 44 ccons ::= COLLATE ID|STRING STRING shift-reduce 44 ccons ::= COLLATE ID|STRING State 431: refact ::= SET * NULL refact ::= SET * DEFAULT DEFAULT shift-reduce 56 refact ::= SET DEFAULT NULL shift-reduce 55 refact ::= SET NULL State 432: init_deferred_pred_opt ::= INITIALLY * DEFERRED init_deferred_pred_opt ::= INITIALLY * IMMEDIATE DEFERRED shift-reduce 63 init_deferred_pred_opt ::= INITIALLY DEFERRED IMMEDIATE shift-reduce 64 init_deferred_pred_opt ::= INITIALLY IMMEDIATE State 433: ccons ::= NOT * NULL onconf defer_subclause ::= NOT * DEFERRABLE init_deferred_pred_opt NULL shift 367 DEFERRABLE shift 366 State 434: (305) wqas ::= AS * wqas ::= AS * MATERIALIZED wqas ::= AS * NOT MATERIALIZED NOT shift 521 MATERIALIZED shift-reduce 306 wqas ::= AS MATERIALIZED {default} reduce 305 wqas ::= AS State 435: collate ::= COLLATE * ID|STRING ID shift-reduce 245 collate ::= COLLATE ID|STRING STRING shift-reduce 245 collate ::= COLLATE ID|STRING State 436: eidlist_opt ::= LP eidlist * RP eidlist ::= eidlist * COMMA nm collate sortorder RP shift-reduce 241 eidlist_opt ::= LP eidlist RP COMMA shift 258 State 437: on_using ::= USING LP idlist * RP idlist ::= idlist * COMMA nm RP shift-reduce 127 on_using ::= USING LP idlist RP COMMA shift 261 State 438: nulls ::= NULLS * FIRST nulls ::= NULLS * LAST FIRST shift-reduce 139 nulls ::= NULLS FIRST LAST shift-reduce 140 nulls ::= NULLS LAST State 439: values ::= VALUES LP nexprlist * RP nexprlist ::= nexprlist * COMMA expr RP shift-reduce 94 values ::= VALUES LP nexprlist RP COMMA shift 113 State 440: minus_num ::= MINUS * INTEGER|FLOAT FLOAT shift-reduce 257 minus_num ::= MINUS INTEGER|FLOAT INTEGER shift-reduce 257 minus_num ::= MINUS INTEGER|FLOAT State 441: plus_num ::= PLUS * INTEGER|FLOAT FLOAT shift-reduce 256 plus_num ::= PLUS INTEGER|FLOAT INTEGER shift-reduce 256 plus_num ::= PLUS INTEGER|FLOAT State 442: typetoken ::= typename LP signed * RP typetoken ::= typename LP signed * COMMA signed RP RP shift-reduce 27 typetoken ::= typename LP signed RP COMMA shift 150 State 443: values ::= values COMMA LP nexprlist * RP nexprlist ::= nexprlist * COMMA expr RP shift-reduce 95 values ::= values COMMA LP nexprlist RP COMMA shift 113 State 444: expr ::= expr COLLATE * ID|STRING ID shift-reduce 186 expr ::= expr COLLATE ID|STRING STRING shift-reduce 186 expr ::= expr COLLATE ID|STRING State 445: (357) nm ::= ID|INDEXED * (178) expr ::= ID|INDEXED * expr ::= ID|INDEXED * LP distinct exprlist RP expr ::= ID|INDEXED * LP STAR RP expr ::= ID|INDEXED * LP distinct exprlist RP filter_over expr ::= ID|INDEXED * LP STAR RP filter_over LP shift 286 DOT reduce 357 nm ::= ID|INDEXED {default} reduce 178 expr ::= ID|INDEXED State 446: explain ::= EXPLAIN QUERY * PLAN PLAN shift-reduce 1 explain ::= EXPLAIN QUERY PLAN State 447: (0) explain ::= EXPLAIN * explain ::= EXPLAIN * QUERY PLAN QUERY shift 446 {default} reduce 0 explain ::= EXPLAIN State 448: (296) cmd ::= create_vtab * cmd ::= create_vtab * LP vtabarglist RP LP shift 212 {default} reduce 296 cmd ::= create_vtab State 449: cmd ::= ALTER TABLE add_column_fullname * ADD kwcolumn_opt columnname carglist ADD shift 318 State 450: cmd ::= ALTER TABLE fullname RENAME kwcolumn_opt nm * TO nm TO shift 231 State 451: cmd ::= ALTER * TABLE fullname RENAME TO nm cmd ::= ALTER * TABLE add_column_fullname ADD kwcolumn_opt columnname carglist cmd ::= ALTER * TABLE fullname DROP kwcolumn_opt nm cmd ::= ALTER * TABLE fullname RENAME kwcolumn_opt nm TO nm TABLE shift 144 State 452: cmd ::= PRAGMA nm dbnm LP minus_num * RP RP shift-reduce 255 cmd ::= PRAGMA nm dbnm LP minus_num RP State 453: cmd ::= PRAGMA nm dbnm LP nmnum * RP RP shift-reduce 253 cmd ::= PRAGMA nm dbnm LP nmnum RP State 454: cmd ::= with insert_cmd INTO xfullname idlist_opt DEFAULT * VALUES returning VALUES shift 326 State 455: cmd ::= with insert_cmd * INTO xfullname idlist_opt select upsert cmd ::= with insert_cmd * INTO xfullname idlist_opt DEFAULT VALUES returning INTO shift 180 State 456: cmd ::= with UPDATE orconf xfullname indexed_opt * SET setlist from where_opt_ret SET shift 169 State 457: sclp ::= selcollist * COMMA (155) where_opt_ret ::= RETURNING selcollist * COMMA shift-reduce 377 sclp ::= selcollist COMMA {default} reduce 155 where_opt_ret ::= RETURNING selcollist State 458: sclp ::= selcollist * COMMA (156) where_opt_ret ::= WHERE expr RETURNING selcollist * COMMA shift-reduce 377 sclp ::= selcollist COMMA {default} reduce 156 where_opt_ret ::= WHERE expr RETURNING selcollist State 459: (119) xfullname ::= nm DOT nm * xfullname ::= nm DOT nm * AS nm AS shift 238 {default} reduce 119 xfullname ::= nm DOT nm State 460: cmd ::= with DELETE * FROM xfullname indexed_opt where_opt_ret FROM shift 182 State 461: ifexists ::= IF * EXISTS EXISTS shift-reduce 80 ifexists ::= IF EXISTS State 462: create_vtab ::= createkw VIRTUAL TABLE ifnotexists nm dbnm * USING nm USING shift 241 State 463: create_vtab ::= createkw VIRTUAL * TABLE ifnotexists nm dbnm USING nm TABLE shift 334 State 464: trigger_cmd_list ::= trigger_cmd * SEMI SEMI shift-reduce 269 trigger_cmd_list ::= trigger_cmd SEMI State 465: trigger_cmd ::= DELETE * FROM trnm tridxby where_opt scanpt FROM shift 187 State 466: upsert ::= ON CONFLICT DO UPDATE * SET setlist where_opt returning SET shift 170 State 467: sclp ::= selcollist * COMMA (170) returning ::= RETURNING selcollist * COMMA shift-reduce 377 sclp ::= selcollist COMMA {default} reduce 170 returning ::= RETURNING selcollist State 468: upsert ::= ON CONFLICT LP sortlist RP where_opt DO UPDATE * SET setlist where_opt upsert SET shift 171 State 469: upsert ::= ON CONFLICT LP sortlist RP where_opt * DO UPDATE SET setlist where_opt upsert upsert ::= ON CONFLICT LP sortlist RP where_opt * DO NOTHING upsert DO shift 421 State 470: upsert ::= ON * CONFLICT LP sortlist RP where_opt DO UPDATE SET setlist where_opt upsert upsert ::= ON * CONFLICT LP sortlist RP where_opt DO NOTHING upsert upsert ::= ON * CONFLICT DO NOTHING returning upsert ::= ON * CONFLICT DO UPDATE SET setlist where_opt returning CONFLICT shift 423 State 471: sclp ::= selcollist * COMMA (165) upsert ::= RETURNING selcollist * COMMA shift-reduce 377 sclp ::= selcollist COMMA {default} reduce 165 upsert ::= RETURNING selcollist State 472: trigger_cmd ::= scanpt insert_cmd * INTO trnm idlist_opt select upsert scanpt INTO shift 189 State 473: setlist ::= LP idlist RP * EQ expr EQ shift 87 State 474: setlist ::= nm * EQ expr EQ shift 88 State 475: setlist ::= setlist COMMA LP idlist RP * EQ expr EQ shift 89 State 476: setlist ::= setlist COMMA nm * EQ expr EQ shift 90 State 477: trigger_cmd ::= UPDATE orconf trnm tridxby * SET setlist from where_opt scanpt SET shift 172 State 478: tridxby ::= NOT * INDEXED INDEXED shift-reduce 272 tridxby ::= NOT INDEXED State 479: tridxby ::= INDEXED * BY nm BY shift 243 State 480: (392) trnm ::= nm * trnm ::= nm * DOT nm DOT shift 244 {default} reduce 392 trnm ::= nm State 481: trigger_cmd_list ::= trigger_cmd_list trigger_cmd * SEMI SEMI shift-reduce 268 trigger_cmd_list ::= trigger_cmd_list trigger_cmd SEMI State 482: cmd ::= createkw trigger_decl * BEGIN trigger_cmd_list END BEGIN shift 158 State 483: cmd ::= createkw uniqueflag INDEX ifnotexists nm dbnm ON nm * LP sortlist RP where_opt LP shift 18 State 484: cmd ::= createkw uniqueflag INDEX ifnotexists nm dbnm * ON nm LP sortlist RP where_opt ON shift 245 State 485: cmd ::= createkw uniqueflag * INDEX ifnotexists nm dbnm ON nm LP sortlist RP where_opt INDEX shift 345 State 486: trigger_time ::= INSTEAD * OF OF shift-reduce 261 trigger_time ::= INSTEAD OF State 487: idlist ::= idlist * COMMA nm (265) trigger_event ::= UPDATE OF idlist * COMMA shift 261 {default} reduce 265 trigger_event ::= UPDATE OF idlist State 488: (264) trigger_event ::= UPDATE * trigger_event ::= UPDATE * OF idlist OF shift 193 {default} reduce 264 trigger_event ::= UPDATE State 489: foreach_clause ::= FOR EACH * ROW ROW shift-reduce 391 foreach_clause ::= FOR EACH ROW State 490: foreach_clause ::= FOR * EACH ROW EACH shift 489 State 491: (116) fullname ::= nm * fullname ::= nm * DOT nm DOT shift 247 {default} reduce 116 fullname ::= nm State 492: trigger_decl ::= temp TRIGGER ifnotexists nm dbnm trigger_time trigger_event * ON fullname foreach_clause when_clause ON shift 194 State 493: cmd ::= createkw temp VIEW ifnotexists nm dbnm eidlist_opt * AS select AS shift 37 State 494: ifnotexists ::= IF NOT * EXISTS EXISTS shift-reduce 16 ifnotexists ::= IF NOT EXISTS State 495: ifnotexists ::= IF * NOT EXISTS NOT shift 494 State 496: defer_subclause ::= NOT * DEFERRABLE init_deferred_pred_opt DEFERRABLE shift 366 State 497: tcons ::= FOREIGN KEY LP eidlist RP * REFERENCES nm eidlist_opt refargs defer_subclause_opt REFERENCES shift 251 State 498: tcons ::= FOREIGN KEY * LP eidlist RP REFERENCES nm eidlist_opt refargs defer_subclause_opt LP shift 195 State 499: tcons ::= FOREIGN * KEY LP eidlist RP REFERENCES nm eidlist_opt refargs defer_subclause_opt KEY shift 498 State 500: tcons ::= CHECK * LP expr RP onconf LP shift 92 State 501: tcons ::= UNIQUE * LP sortlist RP onconf LP shift 19 State 502: tcons ::= PRIMARY KEY LP sortlist autoinc * RP onconf RP shift 358 State 503: tcons ::= PRIMARY KEY * LP sortlist autoinc RP onconf LP shift 20 State 504: tcons ::= PRIMARY * KEY LP sortlist autoinc RP onconf KEY shift 503 State 505: (45) generated ::= LP expr RP * generated ::= LP expr RP * ID ID shift-reduce 46 generated ::= LP expr RP ID {default} reduce 45 generated ::= LP expr RP State 506: ccons ::= GENERATED ALWAYS * AS generated AS shift 361 State 507: ccons ::= GENERATED * ALWAYS AS generated ALWAYS shift 506 State 508: refact ::= NO * ACTION ACTION shift-reduce 59 refact ::= NO ACTION State 509: ccons ::= CHECK * LP expr RP LP shift 94 State 510: ccons ::= PRIMARY * KEY sortorder onconf autoinc KEY shift 305 State 511: onconf ::= ON * CONFLICT resolvetype CONFLICT shift 174 State 512: expr ::= ID|INDEXED LP STAR * RP expr ::= ID|INDEXED LP STAR * RP filter_over RP shift 159 State 513: filter_clause ::= FILTER LP * WHERE expr RP WHERE shift 95 State 514: filter_clause ::= FILTER * LP WHERE expr RP LP shift 513 State 515: over_clause ::= OVER LP window * RP RP shift-reduce 339 over_clause ::= OVER LP window RP State 516: expr ::= ID|INDEXED LP distinct exprlist * RP expr ::= ID|INDEXED LP distinct exprlist * RP filter_over RP shift 160 State 517: expr ::= LP select * RP RP shift-reduce 221 expr ::= LP select RP State 518: expr ::= LP nexprlist * COMMA expr RP nexprlist ::= nexprlist * COMMA expr COMMA shift 96 State 519: wqitem ::= nm eidlist_opt wqas LP select * RP RP shift-reduce 308 wqitem ::= nm eidlist_opt wqas LP select RP State 520: wqitem ::= nm eidlist_opt wqas * LP select RP LP shift 39 State 521: wqas ::= AS NOT * MATERIALIZED MATERIALIZED shift-reduce 307 wqas ::= AS NOT MATERIALIZED State 522: selcollist ::= sclp scanpt nm * DOT STAR expr ::= nm * DOT nm expr ::= nm * DOT nm DOT nm DOT shift 225 State 523: seltablist ::= stl_prefix LP select * RP as on_using RP shift 280 State 524: seltablist ::= stl_prefix nm dbnm LP exprlist * RP as on_using RP shift 282 State 525: indexed_by ::= NOT * INDEXED INDEXED shift-reduce 131 indexed_by ::= NOT INDEXED State 526: indexed_by ::= INDEXED * BY nm BY shift 260 State 527: on_using ::= USING * LP idlist RP LP shift 198 State 528: joinop ::= JOIN_KW nm nm * JOIN JOIN shift-reduce 125 joinop ::= JOIN_KW nm nm JOIN State 529: (143) groupby_opt ::= GROUP BY nexprlist * nexprlist ::= nexprlist * COMMA expr COMMA shift 113 {default} reduce 143 groupby_opt ::= GROUP BY nexprlist State 530: groupby_opt ::= GROUP * BY nexprlist BY shift 21 State 531: window ::= ORDER * BY sortlist frame_opt BY shift 22 State 532: window ::= nm ORDER * BY sortlist frame_opt BY shift 23 State 533: window ::= nm PARTITION * BY nexprlist orderby_opt frame_opt BY shift 24 State 534: frame_bound_s ::= UNBOUNDED * PRECEDING PRECEDING shift-reduce 325 frame_bound_s ::= UNBOUNDED PRECEDING State 535: frame_bound ::= CURRENT * ROW ROW shift-reduce 329 frame_bound ::= CURRENT ROW State 536: frame_bound_e ::= UNBOUNDED * FOLLOWING FOLLOWING shift-reduce 327 frame_bound_e ::= UNBOUNDED FOLLOWING State 537: frame_opt ::= range_or_rows BETWEEN frame_bound_s * AND frame_bound_e frame_exclude_opt AND shift 7 State 538: frame_exclude ::= CURRENT * ROW ROW shift-reduce 333 frame_exclude ::= CURRENT ROW State 539: frame_exclude ::= NO * OTHERS OTHERS shift-reduce 332 frame_exclude ::= NO OTHERS State 540: window ::= PARTITION * BY nexprlist orderby_opt frame_opt BY shift 25 State 541: windowdefn ::= nm AS LP window * RP RP shift-reduce 313 windowdefn ::= nm AS LP window RP State 542: windowdefn ::= nm AS * LP window RP LP shift 33 State 543: windowdefn ::= nm * AS LP window RP AS shift 542 State 544: windowdefn_list ::= windowdefn_list * COMMA windowdefn (335) window_clause ::= WINDOW windowdefn_list * COMMA shift 202 {default} reduce 335 window_clause ::= WINDOW windowdefn_list State 545: (133) orderby_opt ::= ORDER BY sortlist * sortlist ::= sortlist * COMMA expr sortorder nulls COMMA shift 100 {default} reduce 133 orderby_opt ::= ORDER BY sortlist State 546: orderby_opt ::= ORDER * BY sortlist BY shift 26 State 547: expr ::= expr IS DISTINCT * FROM expr FROM shift 102 State 548: expr ::= expr IS NOT DISTINCT * FROM expr FROM shift 103 State 549: paren_exprlist ::= LP exprlist * RP RP shift-reduce 236 paren_exprlist ::= LP exprlist RP State 550: (383) exprlist ::= nexprlist * nexprlist ::= nexprlist * COMMA expr COMMA shift 113 {default} reduce 383 exprlist ::= nexprlist State 551: expr ::= expr in_op LP select * RP RP shift-reduce 222 expr ::= expr in_op LP select RP State 552: expr ::= expr in_op LP exprlist * RP RP shift-reduce 220 expr ::= expr in_op LP exprlist RP State 553: expr ::= EXISTS LP select * RP RP shift-reduce 224 expr ::= EXISTS LP select RP State 554: expr ::= RAISE LP raisetype COMMA nm * RP RP shift-reduce 278 expr ::= RAISE LP raisetype COMMA nm RP State 555: expr ::= RAISE LP raisetype * COMMA nm RP COMMA shift 266 State 556: expr ::= RAISE LP IGNORE * RP RP shift-reduce 277 expr ::= RAISE LP IGNORE RP State 557: expr ::= RAISE * LP IGNORE RP expr ::= RAISE * LP raisetype COMMA nm RP LP shift 267 State 558: expr ::= CASE case_operand case_exprlist case_else * END END shift-reduce 225 expr ::= CASE case_operand case_exprlist case_else END State 559: values ::= VALUES * LP nexprlist RP LP shift 28 State 560: expr ::= EXISTS * LP select RP LP shift 40 State 561: expr ::= CAST LP expr AS typetoken * RP RP shift-reduce 187 expr ::= CAST LP expr AS typetoken RP State 562: typetoken ::= typename LP signed COMMA signed * RP RP shift-reduce 28 typetoken ::= typename LP signed COMMA signed RP State 563: expr ::= CAST * LP expr AS typetoken RP LP shift 112 State 564: values ::= values COMMA * LP nexprlist RP LP shift 29 State 565: (376) oneselect ::= values * values ::= values * COMMA LP nexprlist RP COMMA shift 564 {default} reduce 376 oneselect ::= values State 566: (89) multiselect_op ::= UNION * multiselect_op ::= UNION * ALL ALL shift-reduce 90 multiselect_op ::= UNION ALL {default} reduce 89 multiselect_op ::= UNION State 567: (180) expr ::= nm DOT nm * expr ::= nm DOT nm * DOT nm DOT shift 268 {default} reduce 180 expr ::= nm DOT nm State 568: expr ::= nm * DOT nm expr ::= nm * DOT nm DOT nm DOT shift 269 State 569: (359) nm ::= JOIN_KW * (179) expr ::= JOIN_KW * DOT reduce 359 nm ::= JOIN_KW {default} reduce 179 expr ::= JOIN_KW State 570: (358) nm ::= STRING * (183) term ::= STRING * DOT reduce 358 nm ::= STRING {default} reduce 183 term ::= STRING State 571: (19) create_table_args ::= LP columnlist conslist_opt RP table_option_set * table_option_set ::= table_option_set * COMMA table_option COMMA shift 176 {default} reduce 19 create_table_args ::= LP columnlist conslist_opt RP table_option_set State 572: create_table_args ::= LP columnlist conslist_opt * RP table_option_set RP shift 143 State 573: (9) cmd ::= ROLLBACK trans_opt * cmd ::= ROLLBACK trans_opt * TO savepoint_opt nm TO shift 390 {default} reduce 9 cmd ::= ROLLBACK trans_opt State 574: ecmd ::= explain cmdx * SEMI SEMI shift-reduce 347 ecmd ::= explain cmdx SEMI State 575: ecmd ::= cmdx * SEMI SEMI shift-reduce 346 ecmd ::= cmdx SEMI ---------------------------------------------------- Symbols: The first-set of non-terminals is shown after the name. 0: $: 1: SEMI 2: EXPLAIN 3: QUERY 4: PLAN 5: BEGIN 6: TRANSACTION 7: DEFERRED 8: IMMEDIATE 9: EXCLUSIVE 10: COMMIT 11: END 12: ROLLBACK 13: SAVEPOINT 14: RELEASE 15: TO 16: TABLE 17: CREATE 18: IF 19: NOT (precedence=3) 20: EXISTS 21: TEMP 22: LP 23: RP 24: AS 25: COMMA 26: WITHOUT 27: ABORT 28: ACTION 29: AFTER 30: ANALYZE 31: ASC 32: ATTACH 33: BEFORE 34: BY 35: CASCADE 36: CAST 37: CONFLICT 38: DATABASE 39: DESC 40: DETACH 41: EACH 42: FAIL 43: OR (precedence=1) 44: AND (precedence=2) 45: IS (precedence=4) 46: MATCH (precedence=4) 47: LIKE_KW (precedence=4) 48: BETWEEN (precedence=4) 49: IN (precedence=4) 50: ISNULL (precedence=4) 51: NOTNULL (precedence=4) 52: NE (precedence=4) 53: EQ (precedence=4) 54: GT (precedence=5) 55: LE (precedence=5) 56: LT (precedence=5) 57: GE (precedence=5) 58: ESCAPE (precedence=6) 59: ID 60: COLUMNKW 61: DO 62: FOR 63: IGNORE 64: INITIALLY 65: INSTEAD 66: NO 67: KEY 68: OF 69: OFFSET 70: PRAGMA 71: RAISE 72: RECURSIVE 73: REPLACE 74: RESTRICT 75: ROW 76: ROWS 77: TRIGGER 78: VACUUM 79: VIEW 80: VIRTUAL 81: WITH 82: NULLS 83: FIRST 84: LAST 85: CURRENT 86: FOLLOWING 87: PARTITION 88: PRECEDING 89: RANGE 90: UNBOUNDED 91: EXCLUDE 92: GROUPS 93: OTHERS 94: TIES 95: GENERATED 96: ALWAYS 97: MATERIALIZED 98: REINDEX 99: RENAME 100: CTIME_KW 101: ANY 102: BITAND (precedence=7) 103: BITOR (precedence=7) 104: LSHIFT (precedence=7) 105: RSHIFT (precedence=7) 106: PLUS (precedence=8) 107: MINUS (precedence=8) 108: STAR (precedence=9) 109: SLASH (precedence=9) 110: REM (precedence=9) 111: CONCAT (precedence=10) 112: PTR (precedence=10) 113: COLLATE (precedence=11) 114: BITNOT (precedence=12) 115: ON (precedence=13) 116: INDEXED 117: STRING 118: JOIN_KW 119: CONSTRAINT 120: DEFAULT 121: NULL 122: PRIMARY 123: UNIQUE 124: CHECK 125: REFERENCES 126: AUTOINCR 127: INSERT 128: DELETE 129: UPDATE 130: SET 131: DEFERRABLE 132: FOREIGN 133: DROP 134: UNION 135: ALL 136: EXCEPT 137: INTERSECT 138: SELECT 139: VALUES 140: DISTINCT 141: DOT 142: FROM 143: JOIN 144: USING 145: ORDER 146: GROUP 147: HAVING 148: LIMIT 149: WHERE 150: RETURNING 151: INTO 152: NOTHING 153: FLOAT 154: BLOB 155: INTEGER 156: VARIABLE 157: CASE 158: WHEN 159: THEN 160: ELSE 161: INDEX 162: ALTER 163: ADD 164: WINDOW 165: OVER 166: FILTER 167: COLUMN 168: AGG_FUNCTION 169: AGG_COLUMN 170: TRUEFALSE 171: ISNOT 172: FUNCTION 173: UMINUS 174: UPLUS 175: TRUTH 176: REGISTER 177: VECTOR 178: SELECT_COLUMN 179: IF_NULL_ROW 180: ASTERISK 181: SPAN 182: ERROR 183: SPACE 184: ILLEGAL 185: input: SEMI EXPLAIN BEGIN COMMIT END ROLLBACK SAVEPOINT RELEASE CREATE ANALYZE ATTACH DETACH PRAGMA REPLACE VACUUM WITH REINDEX INSERT DELETE UPDATE DROP SELECT VALUES ALTER 186: cmdlist: SEMI EXPLAIN BEGIN COMMIT END ROLLBACK SAVEPOINT RELEASE CREATE ANALYZE ATTACH DETACH PRAGMA REPLACE VACUUM WITH REINDEX INSERT DELETE UPDATE DROP SELECT VALUES ALTER 187: ecmd: SEMI EXPLAIN BEGIN COMMIT END ROLLBACK SAVEPOINT RELEASE CREATE ANALYZE ATTACH DETACH PRAGMA REPLACE VACUUM WITH REINDEX INSERT DELETE UPDATE DROP SELECT VALUES ALTER 188: cmdx: BEGIN COMMIT END ROLLBACK SAVEPOINT RELEASE CREATE ANALYZE ATTACH DETACH PRAGMA REPLACE VACUUM WITH REINDEX INSERT DELETE UPDATE DROP SELECT VALUES ALTER 189: explain: EXPLAIN 190: cmd: BEGIN COMMIT END ROLLBACK SAVEPOINT RELEASE CREATE ANALYZE ATTACH DETACH PRAGMA REPLACE VACUUM WITH REINDEX INSERT DELETE UPDATE DROP SELECT VALUES ALTER 191: transtype: DEFERRED IMMEDIATE EXCLUSIVE 192: trans_opt: TRANSACTION 193: nm: ID INDEXED STRING JOIN_KW 194: savepoint_opt: SAVEPOINT 195: create_table: CREATE 196: create_table_args: LP AS 197: createkw: CREATE 198: temp: TEMP 199: ifnotexists: IF 200: dbnm: DOT 201: columnlist: ID INDEXED STRING JOIN_KW 202: conslist_opt: COMMA 203: table_option_set: COMMA WITHOUT ID INDEXED STRING JOIN_KW 204: select: WITH SELECT VALUES 205: table_option: WITHOUT ID INDEXED STRING JOIN_KW 206: columnname: ID INDEXED STRING JOIN_KW 207: carglist: NOT AS GENERATED COLLATE CONSTRAINT DEFAULT NULL PRIMARY UNIQUE CHECK REFERENCES DEFERRABLE 208: typetoken: ID STRING 209: typename: ID STRING 210: signed: PLUS MINUS FLOAT INTEGER 211: plus_num: PLUS FLOAT INTEGER 212: minus_num: MINUS 213: scanpt: 214: scantok: 215: ccons: NOT AS GENERATED COLLATE CONSTRAINT DEFAULT NULL PRIMARY UNIQUE CHECK REFERENCES DEFERRABLE 216: term: CTIME_KW STRING NULL FLOAT BLOB INTEGER 217: expr: NOT EXISTS LP CAST ID RAISE CTIME_KW PLUS MINUS BITNOT INDEXED STRING JOIN_KW NULL FLOAT BLOB INTEGER VARIABLE CASE 218: onconf: ON 219: sortorder: ASC DESC 220: autoinc: AUTOINCR 221: eidlist_opt: LP 222: refargs: MATCH ON 223: defer_subclause: NOT DEFERRABLE 224: generated: LP 225: refarg: MATCH ON 226: refact: CASCADE NO RESTRICT SET 227: init_deferred_pred_opt: INITIALLY 228: conslist: CONSTRAINT PRIMARY UNIQUE CHECK FOREIGN 229: tconscomma: COMMA 230: tcons: CONSTRAINT PRIMARY UNIQUE CHECK FOREIGN 231: sortlist: NOT EXISTS LP CAST ID RAISE CTIME_KW PLUS MINUS BITNOT INDEXED STRING JOIN_KW NULL FLOAT BLOB INTEGER VARIABLE CASE 232: eidlist: ID INDEXED STRING JOIN_KW 233: defer_subclause_opt: NOT DEFERRABLE 234: orconf: OR 235: resolvetype: ROLLBACK ABORT FAIL IGNORE REPLACE 236: raisetype: ROLLBACK ABORT FAIL 237: ifexists: IF 238: fullname: ID INDEXED STRING JOIN_KW 239: selectnowith: SELECT VALUES 240: oneselect: SELECT VALUES 241: wqlist: ID INDEXED STRING JOIN_KW 242: multiselect_op: UNION EXCEPT INTERSECT 243: distinct: ALL DISTINCT 244: selcollist: NOT EXISTS LP CAST ID RAISE CTIME_KW PLUS MINUS STAR BITNOT INDEXED STRING JOIN_KW NULL FLOAT BLOB INTEGER VARIABLE CASE 245: from: FROM 246: where_opt: WHERE 247: groupby_opt: GROUP 248: having_opt: HAVING 249: orderby_opt: ORDER 250: limit_opt: LIMIT 251: window_clause: WINDOW 252: values: VALUES 253: nexprlist: NOT EXISTS LP CAST ID RAISE CTIME_KW PLUS MINUS BITNOT INDEXED STRING JOIN_KW NULL FLOAT BLOB INTEGER VARIABLE CASE 254: sclp: NOT EXISTS LP CAST ID RAISE CTIME_KW PLUS MINUS STAR BITNOT INDEXED STRING JOIN_KW NULL FLOAT BLOB INTEGER VARIABLE CASE 255: as: AS ID STRING 256: seltablist: LP ID INDEXED STRING JOIN_KW 257: stl_prefix: LP ID INDEXED STRING JOIN_KW 258: joinop: COMMA JOIN_KW JOIN 259: on_using: ON USING 260: indexed_by: NOT INDEXED 261: exprlist: NOT EXISTS LP CAST ID RAISE CTIME_KW PLUS MINUS BITNOT INDEXED STRING JOIN_KW NULL FLOAT BLOB INTEGER VARIABLE CASE 262: xfullname: ID INDEXED STRING JOIN_KW 263: idlist: ID INDEXED STRING JOIN_KW 264: indexed_opt: NOT INDEXED 265: nulls: NULLS 266: with: WITH 267: where_opt_ret: WHERE RETURNING 268: setlist: LP ID INDEXED STRING JOIN_KW 269: insert_cmd: REPLACE INSERT 270: idlist_opt: LP 271: upsert: ON RETURNING 272: returning: RETURNING 273: filter_over: OVER FILTER 274: likeop: NOT MATCH LIKE_KW 275: between_op: NOT BETWEEN 276: in_op: NOT IN 277: paren_exprlist: LP 278: case_operand: NOT EXISTS LP CAST ID RAISE CTIME_KW PLUS MINUS BITNOT INDEXED STRING JOIN_KW NULL FLOAT BLOB INTEGER VARIABLE CASE 279: case_exprlist: WHEN 280: case_else: ELSE 281: uniqueflag: UNIQUE 282: collate: COLLATE 283: vinto: INTO 284: nmnum: ID PLUS ON INDEXED STRING JOIN_KW DEFAULT DELETE FLOAT INTEGER 285: trigger_decl: TEMP TRIGGER 286: trigger_cmd_list: REPLACE WITH INSERT DELETE UPDATE SELECT VALUES 287: trigger_time: AFTER BEFORE INSTEAD 288: trigger_event: INSERT DELETE UPDATE 289: foreach_clause: FOR 290: when_clause: WHEN 291: trigger_cmd: REPLACE WITH INSERT DELETE UPDATE SELECT VALUES 292: trnm: ID INDEXED STRING JOIN_KW 293: tridxby: NOT INDEXED 294: database_kw_opt: DATABASE 295: key_opt: KEY 296: add_column_fullname: ID INDEXED STRING JOIN_KW 297: kwcolumn_opt: COLUMNKW 298: create_vtab: CREATE 299: vtabarglist: LP COMMA ANY 300: vtabarg: LP ANY 301: vtabargtoken: LP ANY 302: lp: LP 303: anylist: LP ANY 304: wqitem: ID INDEXED STRING JOIN_KW 305: wqas: AS 306: windowdefn_list: ID INDEXED STRING JOIN_KW 307: windowdefn: ID INDEXED STRING JOIN_KW 308: window: ID ROWS PARTITION RANGE GROUPS INDEXED STRING JOIN_KW ORDER 309: frame_opt: ROWS RANGE GROUPS 310: part_opt: 311: filter_clause: FILTER 312: over_clause: OVER 313: range_or_rows: ROWS RANGE GROUPS 314: frame_bound: NOT EXISTS LP CAST ID RAISE CURRENT CTIME_KW PLUS MINUS BITNOT INDEXED STRING JOIN_KW NULL FLOAT BLOB INTEGER VARIABLE CASE 315: frame_bound_s: NOT EXISTS LP CAST ID RAISE CURRENT UNBOUNDED CTIME_KW PLUS MINUS BITNOT INDEXED STRING JOIN_KW NULL FLOAT BLOB INTEGER VARIABLE CASE 316: frame_bound_e: NOT EXISTS LP CAST ID RAISE CURRENT UNBOUNDED CTIME_KW PLUS MINUS BITNOT INDEXED STRING JOIN_KW NULL FLOAT BLOB INTEGER VARIABLE CASE 317: frame_exclude_opt: EXCLUDE 318: frame_exclude: NO CURRENT TIES GROUP ---------------------------------------------------- Syntax-only Symbols: The following symbols never carry semantic content. $ SEMI EXPLAIN QUERY PLAN BEGIN TRANSACTION COMMIT SAVEPOINT RELEASE TO TABLE IF EXISTS TEMP AS WITHOUT ABORT ACTION AFTER ANALYZE ASC ATTACH BEFORE BY CASCADE CAST CONFLICT DATABASE DESC DETACH EACH FAIL AND IS MATCH LIKE_KW BETWEEN IN ISNULL NOTNULL NE EQ GT LE LT GE ESCAPE COLUMNKW DO FOR IGNORE INITIALLY INSTEAD KEY OF OFFSET PRAGMA RAISE RECURSIVE REPLACE RESTRICT ROW ROWS TRIGGER VACUUM VIEW VIRTUAL WITH NULLS FIRST LAST FOLLOWING PARTITION PRECEDING RANGE EXCLUDE GROUPS OTHERS TIES GENERATED ALWAYS MATERIALIZED REINDEX RENAME BITAND BITOR LSHIFT RSHIFT STAR SLASH REM COLLATE INDEXED CONSTRAINT NULL PRIMARY UNIQUE CHECK REFERENCES AUTOINCR INSERT SET DEFERRABLE FOREIGN DROP ALL EXCEPT INTERSECT SELECT VALUES DISTINCT DOT FROM JOIN USING ORDER GROUP HAVING LIMIT WHERE RETURNING INTO NOTHING FLOAT BLOB CASE WHEN THEN ELSE INDEX ALTER ADD WINDOW OVER FILTER COLUMN AGG_FUNCTION AGG_COLUMN TRUEFALSE ISNOT FUNCTION UMINUS UPLUS TRUTH REGISTER VECTOR SELECT_COLUMN IF_NULL_ROW ASTERISK SPAN ERROR SPACE ILLEGAL input cmdlist ecmd cmdx explain cmd trans_opt savepoint_opt create_table create_table_args columnlist carglist signed ccons generated conslist tconscomma tcons with returning foreach_clause tridxby database_kw_opt add_column_fullname kwcolumn_opt create_vtab vtabarglist vtabarg vtabargtoken lp anylist part_opt ---------------------------------------------------- Rules: 0: explain ::= EXPLAIN. 1: explain ::= EXPLAIN QUERY PLAN. 2: cmdx ::= cmd. 3: cmd ::= BEGIN transtype trans_opt. 4: transtype ::=. 5: transtype ::= DEFERRED. 6: transtype ::= IMMEDIATE. 7: transtype ::= EXCLUSIVE. 8: cmd ::= COMMIT|END trans_opt. 9: cmd ::= ROLLBACK trans_opt. 10: cmd ::= SAVEPOINT nm. 11: cmd ::= RELEASE savepoint_opt nm. 12: cmd ::= ROLLBACK trans_opt TO savepoint_opt nm. 13: create_table ::= createkw temp TABLE ifnotexists nm dbnm. 14: createkw ::= CREATE. 15: ifnotexists ::=. 16: ifnotexists ::= IF NOT EXISTS. [NOT precedence=3] 17: temp ::= TEMP. 18: temp ::=. 19: create_table_args ::= LP columnlist conslist_opt RP table_option_set. 20: create_table_args ::= AS select. 21: table_option_set ::=. 22: table_option_set ::= table_option_set COMMA table_option. 23: table_option ::= WITHOUT nm. 24: table_option ::= nm. 25: columnname ::= nm typetoken. 26: typetoken ::=. 27: typetoken ::= typename LP signed RP. 28: typetoken ::= typename LP signed COMMA signed RP. 29: typename ::= typename ID|STRING. 30: scanpt ::=. 31: scantok ::=. 32: ccons ::= CONSTRAINT nm. 33: ccons ::= DEFAULT scantok term. 34: ccons ::= DEFAULT LP expr RP. 35: ccons ::= DEFAULT PLUS scantok term. [PLUS precedence=8] 36: ccons ::= DEFAULT MINUS scantok term. [MINUS precedence=8] 37: ccons ::= DEFAULT scantok ID|INDEXED. 38: ccons ::= NOT NULL onconf. [NOT precedence=3] 39: ccons ::= PRIMARY KEY sortorder onconf autoinc. 40: ccons ::= UNIQUE onconf. 41: ccons ::= CHECK LP expr RP. 42: ccons ::= REFERENCES nm eidlist_opt refargs. 43: ccons ::= defer_subclause. 44: ccons ::= COLLATE ID|STRING. [COLLATE precedence=11] 45: generated ::= LP expr RP. 46: generated ::= LP expr RP ID. 47: autoinc ::=. 48: autoinc ::= AUTOINCR. 49: refargs ::=. 50: refargs ::= refargs refarg. 51: refarg ::= MATCH nm. [MATCH precedence=4] 52: refarg ::= ON INSERT refact. [ON precedence=13] 53: refarg ::= ON DELETE refact. [ON precedence=13] 54: refarg ::= ON UPDATE refact. [ON precedence=13] 55: refact ::= SET NULL. 56: refact ::= SET DEFAULT. 57: refact ::= CASCADE. 58: refact ::= RESTRICT. 59: refact ::= NO ACTION. 60: defer_subclause ::= NOT DEFERRABLE init_deferred_pred_opt. [NOT precedence=3] 61: defer_subclause ::= DEFERRABLE init_deferred_pred_opt. 62: init_deferred_pred_opt ::=. 63: init_deferred_pred_opt ::= INITIALLY DEFERRED. 64: init_deferred_pred_opt ::= INITIALLY IMMEDIATE. 65: conslist_opt ::=. 66: tconscomma ::= COMMA. 67: tcons ::= CONSTRAINT nm. 68: tcons ::= PRIMARY KEY LP sortlist autoinc RP onconf. 69: tcons ::= UNIQUE LP sortlist RP onconf. 70: tcons ::= CHECK LP expr RP onconf. 71: tcons ::= FOREIGN KEY LP eidlist RP REFERENCES nm eidlist_opt refargs defer_subclause_opt. 72: defer_subclause_opt ::=. 73: onconf ::=. 74: onconf ::= ON CONFLICT resolvetype. [ON precedence=13] 75: orconf ::=. 76: orconf ::= OR resolvetype. [OR precedence=1] 77: resolvetype ::= IGNORE. 78: resolvetype ::= REPLACE. 79: cmd ::= DROP TABLE ifexists fullname. 80: ifexists ::= IF EXISTS. 81: ifexists ::=. 82: cmd ::= createkw temp VIEW ifnotexists nm dbnm eidlist_opt AS select. 83: cmd ::= DROP VIEW ifexists fullname. 84: cmd ::= select. 85: select ::= WITH wqlist selectnowith. 86: select ::= WITH RECURSIVE wqlist selectnowith. 87: select ::= selectnowith. 88: selectnowith ::= selectnowith multiselect_op oneselect. 89: multiselect_op ::= UNION. 90: multiselect_op ::= UNION ALL. 91: multiselect_op ::= EXCEPT|INTERSECT. 92: oneselect ::= SELECT distinct selcollist from where_opt groupby_opt having_opt orderby_opt limit_opt. 93: oneselect ::= SELECT distinct selcollist from where_opt groupby_opt having_opt window_clause orderby_opt limit_opt. 94: values ::= VALUES LP nexprlist RP. 95: values ::= values COMMA LP nexprlist RP. 96: distinct ::= DISTINCT. 97: distinct ::= ALL. 98: distinct ::=. 99: sclp ::=. 100: selcollist ::= sclp scanpt expr scanpt as. 101: selcollist ::= sclp scanpt STAR. [STAR precedence=9] 102: selcollist ::= sclp scanpt nm DOT STAR. [STAR precedence=9] 103: as ::= AS nm. 104: as ::=. 105: from ::=. 106: from ::= FROM seltablist. 107: stl_prefix ::= seltablist joinop. 108: stl_prefix ::=. 109: seltablist ::= stl_prefix nm dbnm as on_using. 110: seltablist ::= stl_prefix nm dbnm as indexed_by on_using. 111: seltablist ::= stl_prefix nm dbnm LP exprlist RP as on_using. 112: seltablist ::= stl_prefix LP select RP as on_using. 113: seltablist ::= stl_prefix LP seltablist RP as on_using. 114: dbnm ::=. 115: dbnm ::= DOT nm. 116: fullname ::= nm. 117: fullname ::= nm DOT nm. 118: xfullname ::= nm. 119: xfullname ::= nm DOT nm. 120: xfullname ::= nm DOT nm AS nm. 121: xfullname ::= nm AS nm. 122: joinop ::= COMMA|JOIN. 123: joinop ::= JOIN_KW JOIN. 124: joinop ::= JOIN_KW nm JOIN. 125: joinop ::= JOIN_KW nm nm JOIN. 126: on_using ::= ON expr. [ON precedence=13] 127: on_using ::= USING LP idlist RP. 128: on_using ::=. [OR precedence=1] 129: indexed_opt ::=. 130: indexed_by ::= INDEXED BY nm. 131: indexed_by ::= NOT INDEXED. [NOT precedence=3] 132: orderby_opt ::=. 133: orderby_opt ::= ORDER BY sortlist. 134: sortlist ::= sortlist COMMA expr sortorder nulls. 135: sortlist ::= expr sortorder nulls. 136: sortorder ::= ASC. 137: sortorder ::= DESC. 138: sortorder ::=. 139: nulls ::= NULLS FIRST. 140: nulls ::= NULLS LAST. 141: nulls ::=. 142: groupby_opt ::=. 143: groupby_opt ::= GROUP BY nexprlist. 144: having_opt ::=. 145: having_opt ::= HAVING expr. 146: limit_opt ::=. 147: limit_opt ::= LIMIT expr. 148: limit_opt ::= LIMIT expr OFFSET expr. 149: limit_opt ::= LIMIT expr COMMA expr. 150: cmd ::= with DELETE FROM xfullname indexed_opt where_opt_ret. 151: where_opt ::=. 152: where_opt ::= WHERE expr. 153: where_opt_ret ::=. 154: where_opt_ret ::= WHERE expr. 155: where_opt_ret ::= RETURNING selcollist. 156: where_opt_ret ::= WHERE expr RETURNING selcollist. 157: cmd ::= with UPDATE orconf xfullname indexed_opt SET setlist from where_opt_ret. 158: setlist ::= setlist COMMA nm EQ expr. [EQ precedence=4] 159: setlist ::= setlist COMMA LP idlist RP EQ expr. [EQ precedence=4] 160: setlist ::= nm EQ expr. [EQ precedence=4] 161: setlist ::= LP idlist RP EQ expr. [EQ precedence=4] 162: cmd ::= with insert_cmd INTO xfullname idlist_opt select upsert. 163: cmd ::= with insert_cmd INTO xfullname idlist_opt DEFAULT VALUES returning. 164: upsert ::=. 165: upsert ::= RETURNING selcollist. 166: upsert ::= ON CONFLICT LP sortlist RP where_opt DO UPDATE SET setlist where_opt upsert. [ON precedence=13] 167: upsert ::= ON CONFLICT LP sortlist RP where_opt DO NOTHING upsert. [ON precedence=13] 168: upsert ::= ON CONFLICT DO NOTHING returning. [ON precedence=13] 169: upsert ::= ON CONFLICT DO UPDATE SET setlist where_opt returning. [ON precedence=13] 170: returning ::= RETURNING selcollist. 171: insert_cmd ::= INSERT orconf. 172: insert_cmd ::= REPLACE. 173: idlist_opt ::=. 174: idlist_opt ::= LP idlist RP. 175: idlist ::= idlist COMMA nm. 176: idlist ::= nm. 177: expr ::= LP expr RP. 178: expr ::= ID|INDEXED. 179: expr ::= JOIN_KW. 180: expr ::= nm DOT nm. 181: expr ::= nm DOT nm DOT nm. 182: term ::= NULL|FLOAT|BLOB. 183: term ::= STRING. 184: term ::= INTEGER. 185: expr ::= VARIABLE. 186: expr ::= expr COLLATE ID|STRING. [COLLATE precedence=11] 187: expr ::= CAST LP expr AS typetoken RP. 188: expr ::= ID|INDEXED LP distinct exprlist RP. 189: expr ::= ID|INDEXED LP STAR RP. [STAR precedence=9] 190: expr ::= ID|INDEXED LP distinct exprlist RP filter_over. 191: expr ::= ID|INDEXED LP STAR RP filter_over. [STAR precedence=9] 192: term ::= CTIME_KW. 193: expr ::= LP nexprlist COMMA expr RP. 194: expr ::= expr AND expr. [AND precedence=2] 195: expr ::= expr OR expr. [OR precedence=1] 196: expr ::= expr LT|GT|GE|LE expr. [LT precedence=5] 197: expr ::= expr EQ|NE expr. [EQ precedence=4] 198: expr ::= expr BITAND|BITOR|LSHIFT|RSHIFT expr. [BITAND precedence=7] 199: expr ::= expr PLUS|MINUS expr. [PLUS precedence=8] 200: expr ::= expr STAR|SLASH|REM expr. [STAR precedence=9] 201: expr ::= expr CONCAT expr. [CONCAT precedence=10] 202: likeop ::= NOT LIKE_KW|MATCH. [NOT precedence=3] 203: expr ::= expr likeop expr. [LIKE_KW precedence=4] 204: expr ::= expr likeop expr ESCAPE expr. [LIKE_KW precedence=4] 205: expr ::= expr ISNULL|NOTNULL. [ISNULL precedence=4] 206: expr ::= expr NOT NULL. [NOT precedence=3] 207: expr ::= expr IS expr. [IS precedence=4] 208: expr ::= expr IS NOT expr. [IS precedence=4] 209: expr ::= expr IS NOT DISTINCT FROM expr. [IS precedence=4] 210: expr ::= expr IS DISTINCT FROM expr. [IS precedence=4] 211: expr ::= NOT expr. [NOT precedence=3] 212: expr ::= BITNOT expr. [BITNOT precedence=12] 213: expr ::= PLUS|MINUS expr. [BITNOT precedence=12] 214: expr ::= expr PTR expr. [PTR precedence=10] 215: between_op ::= BETWEEN. [BETWEEN precedence=4] 216: between_op ::= NOT BETWEEN. [NOT precedence=3] 217: expr ::= expr between_op expr AND expr. [BETWEEN precedence=4] 218: in_op ::= IN. [IN precedence=4] 219: in_op ::= NOT IN. [NOT precedence=3] 220: expr ::= expr in_op LP exprlist RP. [IN precedence=4] 221: expr ::= LP select RP. 222: expr ::= expr in_op LP select RP. [IN precedence=4] 223: expr ::= expr in_op nm dbnm paren_exprlist. [IN precedence=4] 224: expr ::= EXISTS LP select RP. 225: expr ::= CASE case_operand case_exprlist case_else END. 226: case_exprlist ::= case_exprlist WHEN expr THEN expr. 227: case_exprlist ::= WHEN expr THEN expr. 228: case_else ::= ELSE expr. 229: case_else ::=. 230: case_operand ::= expr. 231: case_operand ::=. 232: exprlist ::=. 233: nexprlist ::= nexprlist COMMA expr. 234: nexprlist ::= expr. 235: paren_exprlist ::=. 236: paren_exprlist ::= LP exprlist RP. 237: cmd ::= createkw uniqueflag INDEX ifnotexists nm dbnm ON nm LP sortlist RP where_opt. [ON precedence=13] 238: uniqueflag ::= UNIQUE. 239: uniqueflag ::=. 240: eidlist_opt ::=. 241: eidlist_opt ::= LP eidlist RP. 242: eidlist ::= eidlist COMMA nm collate sortorder. 243: eidlist ::= nm collate sortorder. 244: collate ::=. 245: collate ::= COLLATE ID|STRING. [COLLATE precedence=11] 246: cmd ::= DROP INDEX ifexists fullname. 247: cmd ::= VACUUM vinto. 248: cmd ::= VACUUM nm vinto. 249: vinto ::= INTO expr. 250: vinto ::=. 251: cmd ::= PRAGMA nm dbnm. 252: cmd ::= PRAGMA nm dbnm EQ nmnum. [EQ precedence=4] 253: cmd ::= PRAGMA nm dbnm LP nmnum RP. 254: cmd ::= PRAGMA nm dbnm EQ minus_num. [EQ precedence=4] 255: cmd ::= PRAGMA nm dbnm LP minus_num RP. 256: plus_num ::= PLUS INTEGER|FLOAT. [PLUS precedence=8] 257: minus_num ::= MINUS INTEGER|FLOAT. [MINUS precedence=8] 258: cmd ::= createkw trigger_decl BEGIN trigger_cmd_list END. 259: trigger_decl ::= temp TRIGGER ifnotexists nm dbnm trigger_time trigger_event ON fullname foreach_clause when_clause. [ON precedence=13] 260: trigger_time ::= BEFORE|AFTER. 261: trigger_time ::= INSTEAD OF. 262: trigger_time ::=. 263: trigger_event ::= DELETE|INSERT. 264: trigger_event ::= UPDATE. 265: trigger_event ::= UPDATE OF idlist. 266: when_clause ::=. 267: when_clause ::= WHEN expr. 268: trigger_cmd_list ::= trigger_cmd_list trigger_cmd SEMI. 269: trigger_cmd_list ::= trigger_cmd SEMI. 270: trnm ::= nm DOT nm. 271: tridxby ::= INDEXED BY nm. 272: tridxby ::= NOT INDEXED. [NOT precedence=3] 273: trigger_cmd ::= UPDATE orconf trnm tridxby SET setlist from where_opt scanpt. 274: trigger_cmd ::= scanpt insert_cmd INTO trnm idlist_opt select upsert scanpt. 275: trigger_cmd ::= DELETE FROM trnm tridxby where_opt scanpt. 276: trigger_cmd ::= scanpt select scanpt. 277: expr ::= RAISE LP IGNORE RP. 278: expr ::= RAISE LP raisetype COMMA nm RP. 279: raisetype ::= ROLLBACK. 280: raisetype ::= ABORT. 281: raisetype ::= FAIL. 282: cmd ::= DROP TRIGGER ifexists fullname. 283: cmd ::= ATTACH database_kw_opt expr AS expr key_opt. 284: cmd ::= DETACH database_kw_opt expr. 285: key_opt ::=. 286: key_opt ::= KEY expr. 287: cmd ::= REINDEX. 288: cmd ::= REINDEX nm dbnm. 289: cmd ::= ANALYZE. 290: cmd ::= ANALYZE nm dbnm. 291: cmd ::= ALTER TABLE fullname RENAME TO nm. 292: cmd ::= ALTER TABLE add_column_fullname ADD kwcolumn_opt columnname carglist. 293: cmd ::= ALTER TABLE fullname DROP kwcolumn_opt nm. 294: add_column_fullname ::= fullname. 295: cmd ::= ALTER TABLE fullname RENAME kwcolumn_opt nm TO nm. 296: cmd ::= create_vtab. 297: cmd ::= create_vtab LP vtabarglist RP. 298: create_vtab ::= createkw VIRTUAL TABLE ifnotexists nm dbnm USING nm. 299: vtabarg ::=. 300: vtabargtoken ::= ANY. 301: vtabargtoken ::= lp anylist RP. 302: lp ::= LP. 303: with ::= WITH wqlist. 304: with ::= WITH RECURSIVE wqlist. 305: wqas ::= AS. 306: wqas ::= AS MATERIALIZED. 307: wqas ::= AS NOT MATERIALIZED. [NOT precedence=3] 308: wqitem ::= nm eidlist_opt wqas LP select RP. 309: wqlist ::= wqitem. 310: wqlist ::= wqlist COMMA wqitem. 311: windowdefn_list ::= windowdefn. 312: windowdefn_list ::= windowdefn_list COMMA windowdefn. 313: windowdefn ::= nm AS LP window RP. 314: window ::= PARTITION BY nexprlist orderby_opt frame_opt. 315: window ::= nm PARTITION BY nexprlist orderby_opt frame_opt. 316: window ::= ORDER BY sortlist frame_opt. 317: window ::= nm ORDER BY sortlist frame_opt. 318: window ::= frame_opt. 319: window ::= nm frame_opt. 320: frame_opt ::=. 321: frame_opt ::= range_or_rows frame_bound_s frame_exclude_opt. 322: frame_opt ::= range_or_rows BETWEEN frame_bound_s AND frame_bound_e frame_exclude_opt. [BETWEEN precedence=4] 323: range_or_rows ::= RANGE|ROWS|GROUPS. 324: frame_bound_s ::= frame_bound. 325: frame_bound_s ::= UNBOUNDED PRECEDING. 326: frame_bound_e ::= frame_bound. 327: frame_bound_e ::= UNBOUNDED FOLLOWING. 328: frame_bound ::= expr PRECEDING|FOLLOWING. 329: frame_bound ::= CURRENT ROW. 330: frame_exclude_opt ::=. 331: frame_exclude_opt ::= EXCLUDE frame_exclude. 332: frame_exclude ::= NO OTHERS. 333: frame_exclude ::= CURRENT ROW. 334: frame_exclude ::= GROUP|TIES. 335: window_clause ::= WINDOW windowdefn_list. 336: filter_over ::= filter_clause over_clause. 337: filter_over ::= over_clause. 338: filter_over ::= filter_clause. 339: over_clause ::= OVER LP window RP. 340: over_clause ::= OVER nm. 341: filter_clause ::= FILTER LP WHERE expr RP. 342: input ::= cmdlist. 343: cmdlist ::= cmdlist ecmd. 344: cmdlist ::= ecmd. 345: ecmd ::= SEMI. 346: ecmd ::= cmdx SEMI. 347: ecmd ::= explain cmdx SEMI. 348: trans_opt ::=. 349: trans_opt ::= TRANSACTION. 350: trans_opt ::= TRANSACTION nm. 351: savepoint_opt ::= SAVEPOINT. 352: savepoint_opt ::=. 353: cmd ::= create_table create_table_args. 354: table_option_set ::= table_option. 355: columnlist ::= columnlist COMMA columnname carglist. 356: columnlist ::= columnname carglist. 357: nm ::= ID|INDEXED. 358: nm ::= STRING. 359: nm ::= JOIN_KW. 360: typetoken ::= typename. 361: typename ::= ID|STRING. 362: signed ::= plus_num. 363: signed ::= minus_num. 364: carglist ::= carglist ccons. 365: carglist ::=. 366: ccons ::= NULL onconf. 367: ccons ::= GENERATED ALWAYS AS generated. 368: ccons ::= AS generated. 369: conslist_opt ::= COMMA conslist. 370: conslist ::= conslist tconscomma tcons. 371: conslist ::= tcons. 372: tconscomma ::=. 373: defer_subclause_opt ::= defer_subclause. 374: resolvetype ::= raisetype. 375: selectnowith ::= oneselect. 376: oneselect ::= values. 377: sclp ::= selcollist COMMA. 378: as ::= ID|STRING. 379: indexed_opt ::= indexed_by. 380: returning ::=. 381: expr ::= term. 382: likeop ::= LIKE_KW|MATCH. [LIKE_KW precedence=4] 383: exprlist ::= nexprlist. 384: nmnum ::= plus_num. 385: nmnum ::= nm. 386: nmnum ::= ON. [ON precedence=13] 387: nmnum ::= DELETE. 388: nmnum ::= DEFAULT. 389: plus_num ::= INTEGER|FLOAT. 390: foreach_clause ::=. 391: foreach_clause ::= FOR EACH ROW. 392: trnm ::= nm. 393: tridxby ::=. 394: database_kw_opt ::= DATABASE. 395: database_kw_opt ::=. 396: kwcolumn_opt ::=. 397: kwcolumn_opt ::= COLUMNKW. 398: vtabarglist ::= vtabarg. 399: vtabarglist ::= vtabarglist COMMA vtabarg. 400: vtabarg ::= vtabarg vtabargtoken. 401: anylist ::=. 402: anylist ::= anylist LP anylist RP. 403: anylist ::= anylist ANY. 404: with ::=.