| | @@ -16,11 +16,11 @@ |
| 16 | 16 | ** if you want a wrapper to interface SQLite with your choice of programming |
| 17 | 17 | ** language. The code for the "sqlite3" command-line shell is also in a |
| 18 | 18 | ** separate file. This file contains only code for the core SQLite library. |
| 19 | 19 | ** |
| 20 | 20 | ** The content in this amalgamation comes from Fossil check-in |
| 21 | | -** d7c07581203a0a88456588e49e51b40a8341 with changes in files: |
| 21 | +** 4068f586ddadd3a818645574f7584fcee6d3 with changes in files: |
| 22 | 22 | ** |
| 23 | 23 | ** |
| 24 | 24 | */ |
| 25 | 25 | #ifndef SQLITE_AMALGAMATION |
| 26 | 26 | #define SQLITE_CORE 1 |
| | @@ -465,11 +465,11 @@ |
| 465 | 465 | ** [sqlite3_libversion_number()], [sqlite3_sourceid()], |
| 466 | 466 | ** [sqlite_version()] and [sqlite_source_id()]. |
| 467 | 467 | */ |
| 468 | 468 | #define SQLITE_VERSION "3.49.0" |
| 469 | 469 | #define SQLITE_VERSION_NUMBER 3049000 |
| 470 | | -#define SQLITE_SOURCE_ID "2025-01-29 18:53:19 d7c07581203a0a88456588e49e51b40a8341b0e7121809f75be0ee882d91650f" |
| 470 | +#define SQLITE_SOURCE_ID "2025-02-01 23:49:01 4068f586ddadd3a818645574f7584fcee6d373dbf45805c545100883b495598a" |
| 471 | 471 | |
| 472 | 472 | /* |
| 473 | 473 | ** CAPI3REF: Run-Time Library Version Numbers |
| 474 | 474 | ** KEYWORDS: sqlite3_version sqlite3_sourceid |
| 475 | 475 | ** |
| | @@ -2540,12 +2540,16 @@ |
| 2540 | 2540 | ** is invoked. |
| 2541 | 2541 | ** |
| 2542 | 2542 | ** <dl> |
| 2543 | 2543 | ** [[SQLITE_DBCONFIG_LOOKASIDE]] |
| 2544 | 2544 | ** <dt>SQLITE_DBCONFIG_LOOKASIDE</dt> |
| 2545 | | -** <dd> ^This option takes three additional arguments that determine the |
| 2546 | | -** [lookaside memory allocator] configuration for the [database connection]. |
| 2545 | +** <dd> The SQLITE_DBCONFIG_LOOKASIDE option is used to adjust the |
| 2546 | +** configuration of the lookaside memory allocator within a database |
| 2547 | +** connection. |
| 2548 | +** The arguments to the SQLITE_DBCONFIG_LOOKASIDE option are <i>not</i> |
| 2549 | +** in the [DBCONFIG arguments|usual format]. |
| 2550 | +** The SQLITE_DBCONFIG_LOOKASIDE option takes three arguments, not two. |
| 2547 | 2551 | ** ^The first argument (the third parameter to [sqlite3_db_config()] is a |
| 2548 | 2552 | ** pointer to a memory buffer to use for lookaside memory. |
| 2549 | 2553 | ** ^The first argument after the SQLITE_DBCONFIG_LOOKASIDE verb |
| 2550 | 2554 | ** may be NULL in which case SQLite will allocate the |
| 2551 | 2555 | ** lookaside buffer itself using [sqlite3_malloc()]. ^The second argument is the |
| | @@ -2564,11 +2568,12 @@ |
| 2564 | 2568 | ** [SQLITE_BUSY].)^</dd> |
| 2565 | 2569 | ** |
| 2566 | 2570 | ** [[SQLITE_DBCONFIG_ENABLE_FKEY]] |
| 2567 | 2571 | ** <dt>SQLITE_DBCONFIG_ENABLE_FKEY</dt> |
| 2568 | 2572 | ** <dd> ^This option is used to enable or disable the enforcement of |
| 2569 | | -** [foreign key constraints]. There should be two additional arguments. |
| 2573 | +** [foreign key constraints]. This is the same setting that is |
| 2574 | +** enabled or disabled by the [PRAGMA foreign_keys] statement. |
| 2570 | 2575 | ** The first argument is an integer which is 0 to disable FK enforcement, |
| 2571 | 2576 | ** positive to enable FK enforcement or negative to leave FK enforcement |
| 2572 | 2577 | ** unchanged. The second parameter is a pointer to an integer into which |
| 2573 | 2578 | ** is written 0 or 1 to indicate whether FK enforcement is off or on |
| 2574 | 2579 | ** following this call. The second parameter may be a NULL pointer, in |
| | @@ -2586,17 +2591,17 @@ |
| 2586 | 2591 | ** which case the trigger setting is not reported back. |
| 2587 | 2592 | ** |
| 2588 | 2593 | ** <p>Originally this option disabled all triggers. ^(However, since |
| 2589 | 2594 | ** SQLite version 3.35.0, TEMP triggers are still allowed even if |
| 2590 | 2595 | ** this option is off. So, in other words, this option now only disables |
| 2591 | | -** triggers in the main database schema or in the schemas of ATTACH-ed |
| 2596 | +** triggers in the main database schema or in the schemas of [ATTACH]-ed |
| 2592 | 2597 | ** databases.)^ </dd> |
| 2593 | 2598 | ** |
| 2594 | 2599 | ** [[SQLITE_DBCONFIG_ENABLE_VIEW]] |
| 2595 | 2600 | ** <dt>SQLITE_DBCONFIG_ENABLE_VIEW</dt> |
| 2596 | 2601 | ** <dd> ^This option is used to enable or disable [CREATE VIEW | views]. |
| 2597 | | -** There should be two additional arguments. |
| 2602 | +** There must be two additional arguments. |
| 2598 | 2603 | ** The first argument is an integer which is 0 to disable views, |
| 2599 | 2604 | ** positive to enable views or negative to leave the setting unchanged. |
| 2600 | 2605 | ** The second parameter is a pointer to an integer into which |
| 2601 | 2606 | ** is written 0 or 1 to indicate whether views are disabled or enabled |
| 2602 | 2607 | ** following this call. The second parameter may be a NULL pointer, in |
| | @@ -2611,11 +2616,11 @@ |
| 2611 | 2616 | ** [[SQLITE_DBCONFIG_ENABLE_FTS3_TOKENIZER]] |
| 2612 | 2617 | ** <dt>SQLITE_DBCONFIG_ENABLE_FTS3_TOKENIZER</dt> |
| 2613 | 2618 | ** <dd> ^This option is used to enable or disable the |
| 2614 | 2619 | ** [fts3_tokenizer()] function which is part of the |
| 2615 | 2620 | ** [FTS3] full-text search engine extension. |
| 2616 | | -** There should be two additional arguments. |
| 2621 | +** There must be two additional arguments. |
| 2617 | 2622 | ** The first argument is an integer which is 0 to disable fts3_tokenizer() or |
| 2618 | 2623 | ** positive to enable fts3_tokenizer() or negative to leave the setting |
| 2619 | 2624 | ** unchanged. |
| 2620 | 2625 | ** The second parameter is a pointer to an integer into which |
| 2621 | 2626 | ** is written 0 or 1 to indicate whether fts3_tokenizer is disabled or enabled |
| | @@ -2626,11 +2631,11 @@ |
| 2626 | 2631 | ** <dt>SQLITE_DBCONFIG_ENABLE_LOAD_EXTENSION</dt> |
| 2627 | 2632 | ** <dd> ^This option is used to enable or disable the [sqlite3_load_extension()] |
| 2628 | 2633 | ** interface independently of the [load_extension()] SQL function. |
| 2629 | 2634 | ** The [sqlite3_enable_load_extension()] API enables or disables both the |
| 2630 | 2635 | ** C-API [sqlite3_load_extension()] and the SQL function [load_extension()]. |
| 2631 | | -** There should be two additional arguments. |
| 2636 | +** There must be two additional arguments. |
| 2632 | 2637 | ** When the first argument to this interface is 1, then only the C-API is |
| 2633 | 2638 | ** enabled and the SQL function remains disabled. If the first argument to |
| 2634 | 2639 | ** this interface is 0, then both the C-API and the SQL function are disabled. |
| 2635 | 2640 | ** If the first argument is -1, then no changes are made to state of either the |
| 2636 | 2641 | ** C-API or the SQL function. |
| | @@ -2640,26 +2645,31 @@ |
| 2640 | 2645 | ** be a NULL pointer, in which case the new setting is not reported back. |
| 2641 | 2646 | ** </dd> |
| 2642 | 2647 | ** |
| 2643 | 2648 | ** [[SQLITE_DBCONFIG_MAINDBNAME]] <dt>SQLITE_DBCONFIG_MAINDBNAME</dt> |
| 2644 | 2649 | ** <dd> ^This option is used to change the name of the "main" database |
| 2645 | | -** schema. ^The sole argument is a pointer to a constant UTF8 string |
| 2646 | | -** which will become the new schema name in place of "main". ^SQLite |
| 2647 | | -** does not make a copy of the new main schema name string, so the application |
| 2648 | | -** must ensure that the argument passed into this DBCONFIG option is unchanged |
| 2650 | +** schema. This option does not follow the |
| 2651 | +** [DBCONFIG arguments|usual SQLITE_DBCONFIG argument format]. |
| 2652 | +** This option takes exactly one argument, which ust be a pointer |
| 2653 | +** to a constant UTF8 string which will become the new schema name |
| 2654 | +** in place of "main". ^SQLite does not make a copy of the new main |
| 2655 | +** schema name string, so the application must ensure that the argument |
| 2656 | +** passed into SQLITE_DBCONFIG MAINDBNAME is unchanged |
| 2649 | 2657 | ** until after the database connection closes. |
| 2650 | 2658 | ** </dd> |
| 2651 | 2659 | ** |
| 2652 | 2660 | ** [[SQLITE_DBCONFIG_NO_CKPT_ON_CLOSE]] |
| 2653 | 2661 | ** <dt>SQLITE_DBCONFIG_NO_CKPT_ON_CLOSE</dt> |
| 2654 | | -** <dd> Usually, when a database in wal mode is closed or detached from a |
| 2655 | | -** database handle, SQLite checks if this will mean that there are now no |
| 2656 | | -** connections at all to the database. If so, it performs a checkpoint |
| 2657 | | -** operation before closing the connection. This option may be used to |
| 2658 | | -** override this behavior. The first parameter passed to this operation |
| 2659 | | -** is an integer - positive to disable checkpoints-on-close, or zero (the |
| 2660 | | -** default) to enable them, and negative to leave the setting unchanged. |
| 2662 | +** <dd> Usually, when a database in [WAL mode] is closed or detached from a |
| 2663 | +** database handle, SQLite checks if if there are other connections to the |
| 2664 | +** same database, and if there are no other database connection (if the |
| 2665 | +** connection being closed is the last open connection to the database), |
| 2666 | +** then SQLite performs a [checkpoint] before closing the connection and |
| 2667 | +** deletes the WAL file. The SQLITE_DBCONFIG_NO_CKPT_ON_CLOSE option can |
| 2668 | +** be used to override that behavior. The first parameter passed to this |
| 2669 | +** operation is an integer - positive to disable checkpoints-on-close, or |
| 2670 | +** zero (the default) to enable them, and negative to leave the setting unchanged. |
| 2661 | 2671 | ** The second parameter is a pointer to an integer |
| 2662 | 2672 | ** into which is written 0 or 1 to indicate whether checkpoints-on-close |
| 2663 | 2673 | ** have been disabled - 0 if they are not disabled, 1 if they are. |
| 2664 | 2674 | ** </dd> |
| 2665 | 2675 | ** |
| | @@ -2817,11 +2827,11 @@ |
| 2817 | 2827 | ** SQLITE_ENABLE_STMT_SCANSTATUS builds. In this case, it sets or clears |
| 2818 | 2828 | ** a flag that enables collection of the sqlite3_stmt_scanstatus_v2() |
| 2819 | 2829 | ** statistics. For statistics to be collected, the flag must be set on |
| 2820 | 2830 | ** the database handle both when the SQL statement is prepared and when it |
| 2821 | 2831 | ** is stepped. The flag is set (collection of statistics is enabled) |
| 2822 | | -** by default. This option takes two arguments: an integer and a pointer to |
| 2832 | +** by default. <p>This option takes two arguments: an integer and a pointer to |
| 2823 | 2833 | ** an integer.. The first argument is 1, 0, or -1 to enable, disable, or |
| 2824 | 2834 | ** leave unchanged the statement scanstatus option. If the second argument |
| 2825 | 2835 | ** is not NULL, then the value of the statement scanstatus setting after |
| 2826 | 2836 | ** processing the first argument is written into the integer that the second |
| 2827 | 2837 | ** argument points to. |
| | @@ -2831,20 +2841,87 @@ |
| 2831 | 2841 | ** <dt>SQLITE_DBCONFIG_REVERSE_SCANORDER</dt> |
| 2832 | 2842 | ** <dd>The SQLITE_DBCONFIG_REVERSE_SCANORDER option changes the default order |
| 2833 | 2843 | ** in which tables and indexes are scanned so that the scans start at the end |
| 2834 | 2844 | ** and work toward the beginning rather than starting at the beginning and |
| 2835 | 2845 | ** working toward the end. Setting SQLITE_DBCONFIG_REVERSE_SCANORDER is the |
| 2836 | | -** same as setting [PRAGMA reverse_unordered_selects]. This option takes |
| 2846 | +** same as setting [PRAGMA reverse_unordered_selects]. <p>This option takes |
| 2837 | 2847 | ** two arguments which are an integer and a pointer to an integer. The first |
| 2838 | 2848 | ** argument is 1, 0, or -1 to enable, disable, or leave unchanged the |
| 2839 | 2849 | ** reverse scan order flag, respectively. If the second argument is not NULL, |
| 2840 | 2850 | ** then 0 or 1 is written into the integer that the second argument points to |
| 2841 | 2851 | ** depending on if the reverse scan order flag is set after processing the |
| 2842 | 2852 | ** first argument. |
| 2843 | 2853 | ** </dd> |
| 2844 | 2854 | ** |
| 2855 | +** [[SQLITE_DBCONFIG_ENABLE_ATTACH_CREATE]] |
| 2856 | +** <dt>SQLITE_DBCONFIG_ENABLE_ATTACH_CREATE</dt> |
| 2857 | +** <dd>The SQLITE_DBCONFIG_ENABLE_ATTACH_CREATE option enables or disables |
| 2858 | +** the ability of the [ATTACH DATABASE] SQL command to create a new database |
| 2859 | +** file if the database filed named in the ATTACH command does not already |
| 2860 | +** exist. This ability of ATTACH to create a new database is enabled by |
| 2861 | +** default. Applications can disable or reenable the ability for ATTACH to |
| 2862 | +** create new database files using this DBCONFIG option.<p> |
| 2863 | +** This option takes two arguments which are an integer and a pointer |
| 2864 | +** to an integer. The first argument is 1, 0, or -1 to enable, disable, or |
| 2865 | +** leave unchanged the attach-create flag, respectively. If the second |
| 2866 | +** argument is not NULL, then 0 or 1 is written into the integer that the |
| 2867 | +** second argument points to depending on if the attach-create flag is set |
| 2868 | +** after processing the first argument. |
| 2869 | +** </dd> |
| 2870 | +** |
| 2871 | +** [[SQLITE_DBCONFIG_ENABLE_ATTACH_WRITE]] |
| 2872 | +** <dt>SQLITE_DBCONFIG_ENABLE_ATTACH_WRITE</dt> |
| 2873 | +** <dd>The SQLITE_DBCONFIG_ENABLE_ATTACH_WRITE option enables or disables the |
| 2874 | +** ability of the [ATTACH DATABASE] SQL command to open a database for writing. |
| 2875 | +** This capability is enabled by default. Applications can disable or |
| 2876 | +** reenable this capability using the current DBCONFIG option. If the |
| 2877 | +** the this capability is disabled, the [ATTACH] command will still work, |
| 2878 | +** but the database will be opened read-only. If this option is disabled, |
| 2879 | +** then the ability to create a new database using [ATTACH] is also disabled, |
| 2880 | +** regardless of the value of the [SQLITE_DBCONFIG_ENABLE_ATTACH_CREATE] |
| 2881 | +** option.<p> |
| 2882 | +** This option takes two arguments which are an integer and a pointer |
| 2883 | +** to an integer. The first argument is 1, 0, or -1 to enable, disable, or |
| 2884 | +** leave unchanged the ability to ATTACH another database for writing, |
| 2885 | +** respectively. If the second argument is not NULL, then 0 or 1 is written |
| 2886 | +** into the integer to which the second argument points, depending on whether |
| 2887 | +** the ability to ATTACH a read/write database is enabled or disabled |
| 2888 | +** after processing the first argument. |
| 2889 | +** </dd> |
| 2890 | +** |
| 2891 | +** [[SQLITE_DBCONFIG_ENABLE_COMMENTS]] |
| 2892 | +** <dt>SQLITE_DBCONFIG_ENABLE_COMMENTS</dt> |
| 2893 | +** <dd>The SQLITE_DBCONFIG_ENABLE_COMMENTS option enables or disables the |
| 2894 | +** ability to include comments in SQL text. Comments are enabled by default. |
| 2895 | +** An application can disable or reenable comments in SQL text using this |
| 2896 | +** DBCONFIG option.<p> |
| 2897 | +** This option takes two arguments which are an integer and a pointer |
| 2898 | +** to an integer. The first argument is 1, 0, or -1 to enable, disable, or |
| 2899 | +** leave unchanged the ability to use comments in SQL text, |
| 2900 | +** respectively. If the second argument is not NULL, then 0 or 1 is written |
| 2901 | +** into the integer that the second argument points to depending on if |
| 2902 | +** comments are allowed in SQL text after processing the first argument. |
| 2903 | +** </dd> |
| 2904 | +** |
| 2845 | 2905 | ** </dl> |
| 2906 | +** |
| 2907 | +** [[DBCONFIG arguments]] <h3>Arguments To SQLITE_DBCONFIG Options</h3> |
| 2908 | +** |
| 2909 | +** <p>Most of the SQLITE_DBCONFIG options take two arguments: an integer |
| 2910 | +** and a pointer to an integer. If the first integer argument is 1, then |
| 2911 | +** the option becomes enabled. If the first integer argument is 0, then the |
| 2912 | +** option is disabled. If the first argument is -1, then the option setting |
| 2913 | +** is unchanged. The second argument, the pointer to an integer, may be NULL. |
| 2914 | +** If the second argument is not NULL, then a value of 0 or 1 is written into |
| 2915 | +** the integer to which the second argument points, depending on whether the |
| 2916 | +** setting is disabled or enabled after applying any changes specified by |
| 2917 | +** the first argument. |
| 2918 | +** |
| 2919 | +** <p>While most SQLITE_DBCONFIG options use the argument format |
| 2920 | +** described in the previous paragraph, the [SQLITE_DBCONFIG_MAINDBNAME] |
| 2921 | +** and [SQLITE_DBCONFIG_LOOKASIDE] options are different. See the |
| 2922 | +** documentation of those exceptional options for details. |
| 2846 | 2923 | */ |
| 2847 | 2924 | #define SQLITE_DBCONFIG_MAINDBNAME 1000 /* const char* */ |
| 2848 | 2925 | #define SQLITE_DBCONFIG_LOOKASIDE 1001 /* void* int int */ |
| 2849 | 2926 | #define SQLITE_DBCONFIG_ENABLE_FKEY 1002 /* int int* */ |
| 2850 | 2927 | #define SQLITE_DBCONFIG_ENABLE_TRIGGER 1003 /* int int* */ |
| | @@ -2862,11 +2939,14 @@ |
| 2862 | 2939 | #define SQLITE_DBCONFIG_ENABLE_VIEW 1015 /* int int* */ |
| 2863 | 2940 | #define SQLITE_DBCONFIG_LEGACY_FILE_FORMAT 1016 /* int int* */ |
| 2864 | 2941 | #define SQLITE_DBCONFIG_TRUSTED_SCHEMA 1017 /* int int* */ |
| 2865 | 2942 | #define SQLITE_DBCONFIG_STMT_SCANSTATUS 1018 /* int int* */ |
| 2866 | 2943 | #define SQLITE_DBCONFIG_REVERSE_SCANORDER 1019 /* int int* */ |
| 2867 | | -#define SQLITE_DBCONFIG_MAX 1019 /* Largest DBCONFIG */ |
| 2944 | +#define SQLITE_DBCONFIG_ENABLE_ATTACH_CREATE 1020 /* int int* */ |
| 2945 | +#define SQLITE_DBCONFIG_ENABLE_ATTACH_WRITE 1021 /* int int* */ |
| 2946 | +#define SQLITE_DBCONFIG_ENABLE_COMMENTS 1022 /* int int* */ |
| 2947 | +#define SQLITE_DBCONFIG_MAX 1022 /* Largest DBCONFIG */ |
| 2868 | 2948 | |
| 2869 | 2949 | /* |
| 2870 | 2950 | ** CAPI3REF: Enable Or Disable Extended Result Codes |
| 2871 | 2951 | ** METHOD: sqlite3 |
| 2872 | 2952 | ** |
| | @@ -14876,11 +14956,12 @@ |
| 14876 | 14956 | #define TK_ASTERISK 180 |
| 14877 | 14957 | #define TK_SPAN 181 |
| 14878 | 14958 | #define TK_ERROR 182 |
| 14879 | 14959 | #define TK_QNUMBER 183 |
| 14880 | 14960 | #define TK_SPACE 184 |
| 14881 | | -#define TK_ILLEGAL 185 |
| 14961 | +#define TK_COMMENT 185 |
| 14962 | +#define TK_ILLEGAL 186 |
| 14882 | 14963 | |
| 14883 | 14964 | /************** End of parse.h ***********************************************/ |
| 14884 | 14965 | /************** Continuing where we left off in sqliteInt.h ******************/ |
| 14885 | 14966 | #include <stdio.h> |
| 14886 | 14967 | #include <stdlib.h> |
| | @@ -16713,10 +16794,11 @@ |
| 16713 | 16794 | ** A signature for a reusable subroutine that materializes the RHS of |
| 16714 | 16795 | ** an IN operator. |
| 16715 | 16796 | */ |
| 16716 | 16797 | struct SubrtnSig { |
| 16717 | 16798 | int selId; /* SELECT-id for the SELECT statement on the RHS */ |
| 16799 | + u8 bComplete; /* True if fully coded and available for reusable */ |
| 16718 | 16800 | char *zAff; /* Affinity of the overall IN expression */ |
| 16719 | 16801 | int iTable; /* Ephemeral table generated by the subroutine */ |
| 16720 | 16802 | int iAddr; /* Subroutine entry address */ |
| 16721 | 16803 | int regReturn; /* Register used to hold return address */ |
| 16722 | 16804 | }; |
| | @@ -18043,10 +18125,13 @@ |
| 18043 | 18125 | /* DELETE, or UPDATE and return */ |
| 18044 | 18126 | /* the count using a callback. */ |
| 18045 | 18127 | #define SQLITE_CorruptRdOnly HI(0x00002) /* Prohibit writes due to error */ |
| 18046 | 18128 | #define SQLITE_ReadUncommit HI(0x00004) /* READ UNCOMMITTED in shared-cache */ |
| 18047 | 18129 | #define SQLITE_FkNoAction HI(0x00008) /* Treat all FK as NO ACTION */ |
| 18130 | +#define SQLITE_AttachCreate HI(0x00010) /* ATTACH allowed to create new dbs */ |
| 18131 | +#define SQLITE_AttachWrite HI(0x00020) /* ATTACH allowed to open for write */ |
| 18132 | +#define SQLITE_Comments HI(0x00040) /* Enable SQL comments */ |
| 18048 | 18133 | |
| 18049 | 18134 | /* Flags used only if debugging */ |
| 18050 | 18135 | #ifdef SQLITE_DEBUG |
| 18051 | 18136 | #define SQLITE_SqlTrace HI(0x0100000) /* Debug print SQL as it executes */ |
| 18052 | 18137 | #define SQLITE_VdbeListing HI(0x0200000) /* Debug listings of VDBE progs */ |
| | @@ -90623,11 +90708,10 @@ |
| 90623 | 90708 | */ |
| 90624 | 90709 | static SQLITE_NOINLINE void invokeProfileCallback(sqlite3 *db, Vdbe *p){ |
| 90625 | 90710 | sqlite3_int64 iNow; |
| 90626 | 90711 | sqlite3_int64 iElapse; |
| 90627 | 90712 | assert( p->startTime>0 ); |
| 90628 | | - assert( (db->mTrace & (SQLITE_TRACE_PROFILE|SQLITE_TRACE_XPROFILE))!=0 ); |
| 90629 | 90713 | assert( db->init.busy==0 ); |
| 90630 | 90714 | assert( p->zSql!=0 ); |
| 90631 | 90715 | sqlite3OsCurrentTimeInt64(db->pVfs, &iNow); |
| 90632 | 90716 | iElapse = (iNow - p->startTime)*1000000; |
| 90633 | 90717 | #ifndef SQLITE_OMIT_DEPRECATED |
| | @@ -112896,10 +112980,11 @@ |
| 112896 | 112980 | for(; pOp<pEnd; pOp++){ |
| 112897 | 112981 | if( pOp->p4type!=P4_SUBRTNSIG ) continue; |
| 112898 | 112982 | assert( pOp->opcode==OP_BeginSubrtn ); |
| 112899 | 112983 | pSig = pOp->p4.pSubrtnSig; |
| 112900 | 112984 | assert( pSig!=0 ); |
| 112985 | + if( !pSig->bComplete ) continue; |
| 112901 | 112986 | if( pNewSig->selId!=pSig->selId ) continue; |
| 112902 | 112987 | if( strcmp(pNewSig->zAff,pSig->zAff)!=0 ) continue; |
| 112903 | 112988 | pExpr->y.sub.iAddr = pSig->iAddr; |
| 112904 | 112989 | pExpr->y.sub.regReturn = pSig->regReturn; |
| 112905 | 112990 | pExpr->iTable = pSig->iTable; |
| | @@ -112942,10 +113027,11 @@ |
| 112942 | 113027 | int addr; /* Address of OP_OpenEphemeral instruction */ |
| 112943 | 113028 | Expr *pLeft; /* the LHS of the IN operator */ |
| 112944 | 113029 | KeyInfo *pKeyInfo = 0; /* Key information */ |
| 112945 | 113030 | int nVal; /* Size of vector pLeft */ |
| 112946 | 113031 | Vdbe *v; /* The prepared statement under construction */ |
| 113032 | + SubrtnSig *pSig = 0; /* Signature for this subroutine */ |
| 112947 | 113033 | |
| 112948 | 113034 | v = pParse->pVdbe; |
| 112949 | 113035 | assert( v!=0 ); |
| 112950 | 113036 | |
| 112951 | 113037 | /* The evaluation of the IN must be repeated every time it |
| | @@ -112962,11 +113048,10 @@ |
| 112962 | 113048 | /* Reuse of the RHS is allowed |
| 112963 | 113049 | ** |
| 112964 | 113050 | ** Compute a signature for the RHS of the IN operator to facility |
| 112965 | 113051 | ** finding and reusing prior instances of the same IN operator. |
| 112966 | 113052 | */ |
| 112967 | | - SubrtnSig *pSig = 0; |
| 112968 | 113053 | assert( !ExprUseXSelect(pExpr) || pExpr->x.pSelect!=0 ); |
| 112969 | 113054 | if( ExprUseXSelect(pExpr) && (pExpr->x.pSelect->selFlags & SF_All)==0 ){ |
| 112970 | 113055 | pSig = sqlite3DbMallocRawNN(pParse->db, sizeof(pSig[0])); |
| 112971 | 113056 | if( pSig ){ |
| 112972 | 113057 | pSig->selId = pExpr->x.pSelect->selId; |
| | @@ -113005,10 +113090,11 @@ |
| 113005 | 113090 | assert( !ExprHasProperty(pExpr, EP_TokenOnly|EP_Reduced) ); |
| 113006 | 113091 | pExpr->y.sub.regReturn = ++pParse->nMem; |
| 113007 | 113092 | pExpr->y.sub.iAddr = |
| 113008 | 113093 | sqlite3VdbeAddOp2(v, OP_BeginSubrtn, 0, pExpr->y.sub.regReturn) + 1; |
| 113009 | 113094 | if( pSig ){ |
| 113095 | + pSig->bComplete = 0; |
| 113010 | 113096 | pSig->iAddr = pExpr->y.sub.iAddr; |
| 113011 | 113097 | pSig->regReturn = pExpr->y.sub.regReturn; |
| 113012 | 113098 | pSig->iTable = iTab; |
| 113013 | 113099 | pParse->mSubrtnSig = 1 << (pSig->selId&7); |
| 113014 | 113100 | sqlite3VdbeChangeP4(v, -1, (const char*)pSig, P4_SUBRTNSIG); |
| | @@ -113140,10 +113226,11 @@ |
| 113140 | 113226 | sqlite3VdbeAddOp4Int(v, OP_IdxInsert, iTab, r2, r1, 1); |
| 113141 | 113227 | } |
| 113142 | 113228 | sqlite3ReleaseTempReg(pParse, r1); |
| 113143 | 113229 | sqlite3ReleaseTempReg(pParse, r2); |
| 113144 | 113230 | } |
| 113231 | + if( pSig ) pSig->bComplete = 1; |
| 113145 | 113232 | if( pKeyInfo ){ |
| 113146 | 113233 | sqlite3VdbeChangeP4(v, addr, (void *)pKeyInfo, P4_KEYINFO); |
| 113147 | 113234 | } |
| 113148 | 113235 | if( addrOnce ){ |
| 113149 | 113236 | sqlite3VdbeAddOp1(v, OP_NullRow, iTab); |
| | @@ -121337,10 +121424,16 @@ |
| 121337 | 121424 | if( rc!=SQLITE_OK ){ |
| 121338 | 121425 | if( rc==SQLITE_NOMEM ) sqlite3OomFault(db); |
| 121339 | 121426 | sqlite3_result_error(context, zErr, -1); |
| 121340 | 121427 | sqlite3_free(zErr); |
| 121341 | 121428 | return; |
| 121429 | + } |
| 121430 | + if( (db->flags & SQLITE_AttachWrite)==0 ){ |
| 121431 | + flags &= ~(SQLITE_OPEN_CREATE|SQLITE_OPEN_READWRITE); |
| 121432 | + flags |= SQLITE_OPEN_READONLY; |
| 121433 | + }else if( (db->flags & SQLITE_AttachCreate)==0 ){ |
| 121434 | + flags &= ~SQLITE_OPEN_CREATE; |
| 121342 | 121435 | } |
| 121343 | 121436 | assert( pVfs ); |
| 121344 | 121437 | flags |= SQLITE_OPEN_MAIN_DB; |
| 121345 | 121438 | rc = sqlite3BtreeOpen(pVfs, zPath, db, &pNew->pBt, 0, flags); |
| 121346 | 121439 | db->nDb++; |
| | @@ -157233,11 +157326,13 @@ |
| 157233 | 157326 | ** sqlite3_declare_vtab() is being misused. |
| 157234 | 157327 | */ |
| 157235 | 157328 | z = (const unsigned char*)zCreateTable; |
| 157236 | 157329 | for(i=0; aKeyword[i]; i++){ |
| 157237 | 157330 | int tokenType = 0; |
| 157238 | | - do{ z += sqlite3GetToken(z, &tokenType); }while( tokenType==TK_SPACE ); |
| 157331 | + do{ |
| 157332 | + z += sqlite3GetToken(z, &tokenType); |
| 157333 | + }while( tokenType==TK_SPACE || tokenType==TK_COMMENT ); |
| 157239 | 157334 | if( tokenType!=aKeyword[i] ){ |
| 157240 | 157335 | sqlite3ErrorWithMsg(db, SQLITE_ERROR, "syntax error"); |
| 157241 | 157336 | return SQLITE_ERROR; |
| 157242 | 157337 | } |
| 157243 | 157338 | } |
| | @@ -161606,24 +161701,26 @@ |
| 161606 | 161701 | }else if( op==TK_STRING ){ |
| 161607 | 161702 | assert( !ExprHasProperty(pRight, EP_IntValue) ); |
| 161608 | 161703 | z = (u8*)pRight->u.zToken; |
| 161609 | 161704 | } |
| 161610 | 161705 | if( z ){ |
| 161611 | | - /* Count the number of prefix bytes prior to the first wildcard. |
| 161612 | | - ** or U+fffd character. If the underlying database has a UTF16LE |
| 161613 | | - ** encoding, then only consider ASCII characters. Note that the |
| 161614 | | - ** encoding of z[] is UTF8 - we are dealing with only UTF8 here in |
| 161615 | | - ** this code, but the database engine itself might be processing |
| 161616 | | - ** content using a different encoding. */ |
| 161706 | + /* Count the number of prefix bytes prior to the first wildcard, |
| 161707 | + ** U+fffd character, or malformed utf-8. If the underlying database |
| 161708 | + ** has a UTF16LE encoding, then only consider ASCII characters. Note that |
| 161709 | + ** the encoding of z[] is UTF8 - we are dealing with only UTF8 here in this |
| 161710 | + ** code, but the database engine itself might be processing content using a |
| 161711 | + ** different encoding. */ |
| 161617 | 161712 | cnt = 0; |
| 161618 | 161713 | while( (c=z[cnt])!=0 && c!=wc[0] && c!=wc[1] && c!=wc[2] ){ |
| 161619 | 161714 | cnt++; |
| 161620 | 161715 | if( c==wc[3] && z[cnt]>0 && z[cnt]<0x80 ){ |
| 161621 | 161716 | cnt++; |
| 161622 | 161717 | }else if( c>=0x80 ){ |
| 161623 | 161718 | const u8 *z2 = z+cnt-1; |
| 161624 | | - if( sqlite3Utf8Read(&z2)==0xfffd || ENC(db)==SQLITE_UTF16LE ){ |
| 161719 | + if( c==0xff || sqlite3Utf8Read(&z2)==0xfffd /* bad utf-8 */ |
| 161720 | + || ENC(db)==SQLITE_UTF16LE |
| 161721 | + ){ |
| 161625 | 161722 | cnt--; |
| 161626 | 161723 | break; |
| 161627 | 161724 | }else{ |
| 161628 | 161725 | cnt = (int)(z2-z); |
| 161629 | 161726 | } |
| | @@ -162771,24 +162868,30 @@ |
| 162771 | 162868 | pStr2->u.zToken[i] = sqlite3Tolower(c); |
| 162772 | 162869 | } |
| 162773 | 162870 | } |
| 162774 | 162871 | |
| 162775 | 162872 | if( !db->mallocFailed ){ |
| 162776 | | - u8 c, *pC; /* Last character before the first wildcard */ |
| 162873 | + u8 *pC; /* Last character before the first wildcard */ |
| 162777 | 162874 | pC = (u8*)&pStr2->u.zToken[sqlite3Strlen30(pStr2->u.zToken)-1]; |
| 162778 | | - c = *pC; |
| 162779 | 162875 | if( noCase ){ |
| 162780 | 162876 | /* The point is to increment the last character before the first |
| 162781 | 162877 | ** wildcard. But if we increment '@', that will push it into the |
| 162782 | 162878 | ** alphabetic range where case conversions will mess up the |
| 162783 | 162879 | ** inequality. To avoid this, make sure to also run the full |
| 162784 | 162880 | ** LIKE on all candidate expressions by clearing the isComplete flag |
| 162785 | 162881 | */ |
| 162786 | | - if( c=='A'-1 ) isComplete = 0; |
| 162787 | | - c = sqlite3UpperToLower[c]; |
| 162882 | + if( *pC=='A'-1 ) isComplete = 0; |
| 162883 | + *pC = sqlite3UpperToLower[*pC]; |
| 162788 | 162884 | } |
| 162789 | | - *pC = c + 1; |
| 162885 | + |
| 162886 | + /* Increment the value of the last utf8 character in the prefix. */ |
| 162887 | + while( *pC==0xBF && pC>(u8*)pStr2->u.zToken ){ |
| 162888 | + *pC = 0x80; |
| 162889 | + pC--; |
| 162890 | + } |
| 162891 | + assert( *pC!=0xFF ); /* isLikeOrGlob() guarantees this */ |
| 162892 | + (*pC)++; |
| 162790 | 162893 | } |
| 162791 | 162894 | zCollSeqName = noCase ? "NOCASE" : sqlite3StrBINARY; |
| 162792 | 162895 | pNewExpr1 = sqlite3ExprDup(db, pLeft, 0); |
| 162793 | 162896 | pNewExpr1 = sqlite3PExpr(pParse, TK_GE, |
| 162794 | 162897 | sqlite3ExprAddCollateString(pParse,pNewExpr1,zCollSeqName), |
| | @@ -174500,11 +174603,12 @@ |
| 174500 | 174603 | #define TK_ASTERISK 180 |
| 174501 | 174604 | #define TK_SPAN 181 |
| 174502 | 174605 | #define TK_ERROR 182 |
| 174503 | 174606 | #define TK_QNUMBER 183 |
| 174504 | 174607 | #define TK_SPACE 184 |
| 174505 | | -#define TK_ILLEGAL 185 |
| 174608 | +#define TK_COMMENT 185 |
| 174609 | +#define TK_ILLEGAL 186 |
| 174506 | 174610 | #endif |
| 174507 | 174611 | /**************** End token definitions ***************************************/ |
| 174508 | 174612 | |
| 174509 | 174613 | /* The next sections is a series of control #defines. |
| 174510 | 174614 | ** various aspects of the generated parser. |
| | @@ -174565,35 +174669,35 @@ |
| 174565 | 174669 | #ifndef INTERFACE |
| 174566 | 174670 | # define INTERFACE 1 |
| 174567 | 174671 | #endif |
| 174568 | 174672 | /************* Begin control #defines *****************************************/ |
| 174569 | 174673 | #define YYCODETYPE unsigned short int |
| 174570 | | -#define YYNOCODE 322 |
| 174674 | +#define YYNOCODE 323 |
| 174571 | 174675 | #define YYACTIONTYPE unsigned short int |
| 174572 | 174676 | #define YYWILDCARD 102 |
| 174573 | 174677 | #define sqlite3ParserTOKENTYPE Token |
| 174574 | 174678 | typedef union { |
| 174575 | 174679 | int yyinit; |
| 174576 | 174680 | sqlite3ParserTOKENTYPE yy0; |
| 174577 | | - ExprList* yy14; |
| 174578 | | - With* yy59; |
| 174579 | | - Cte* yy67; |
| 174580 | | - Upsert* yy122; |
| 174581 | | - IdList* yy132; |
| 174582 | | - int yy144; |
| 174583 | | - const char* yy168; |
| 174584 | | - SrcList* yy203; |
| 174585 | | - Window* yy211; |
| 174586 | | - OnOrUsing yy269; |
| 174587 | | - struct TrigEvent yy286; |
| 174588 | | - struct {int value; int mask;} yy383; |
| 174589 | | - u32 yy391; |
| 174590 | | - TriggerStep* yy427; |
| 174591 | | - Expr* yy454; |
| 174592 | | - u8 yy462; |
| 174593 | | - struct FrameBound yy509; |
| 174594 | | - Select* yy555; |
| 174681 | + u32 yy9; |
| 174682 | + struct TrigEvent yy28; |
| 174683 | + With* yy125; |
| 174684 | + IdList* yy204; |
| 174685 | + struct FrameBound yy205; |
| 174686 | + TriggerStep* yy319; |
| 174687 | + const char* yy342; |
| 174688 | + Cte* yy361; |
| 174689 | + ExprList* yy402; |
| 174690 | + Upsert* yy403; |
| 174691 | + OnOrUsing yy421; |
| 174692 | + u8 yy444; |
| 174693 | + struct {int value; int mask;} yy481; |
| 174694 | + Window* yy483; |
| 174695 | + int yy502; |
| 174696 | + SrcList* yy563; |
| 174697 | + Expr* yy590; |
| 174698 | + Select* yy637; |
| 174595 | 174699 | } YYMINORTYPE; |
| 174596 | 174700 | #ifndef YYSTACKDEPTH |
| 174597 | 174701 | #define YYSTACKDEPTH 100 |
| 174598 | 174702 | #endif |
| 174599 | 174703 | #define sqlite3ParserARG_SDECL |
| | @@ -174611,21 +174715,21 @@ |
| 174611 | 174715 | #define sqlite3ParserCTX_STORE yypParser->pParse=pParse; |
| 174612 | 174716 | #define YYFALLBACK 1 |
| 174613 | 174717 | #define YYNSTATE 583 |
| 174614 | 174718 | #define YYNRULE 409 |
| 174615 | 174719 | #define YYNRULE_WITH_ACTION 344 |
| 174616 | | -#define YYNTOKEN 186 |
| 174720 | +#define YYNTOKEN 187 |
| 174617 | 174721 | #define YY_MAX_SHIFT 582 |
| 174618 | 174722 | #define YY_MIN_SHIFTREDUCE 845 |
| 174619 | 174723 | #define YY_MAX_SHIFTREDUCE 1253 |
| 174620 | 174724 | #define YY_ERROR_ACTION 1254 |
| 174621 | 174725 | #define YY_ACCEPT_ACTION 1255 |
| 174622 | 174726 | #define YY_NO_ACTION 1256 |
| 174623 | 174727 | #define YY_MIN_REDUCE 1257 |
| 174624 | 174728 | #define YY_MAX_REDUCE 1665 |
| 174625 | | -#define YY_MIN_DSTRCTR 205 |
| 174626 | | -#define YY_MAX_DSTRCTR 319 |
| 174729 | +#define YY_MIN_DSTRCTR 206 |
| 174730 | +#define YY_MAX_DSTRCTR 320 |
| 174627 | 174731 | /************* End control #defines *******************************************/ |
| 174628 | 174732 | #define YY_NLOOKAHEAD ((int)(sizeof(yy_lookahead)/sizeof(yy_lookahead[0]))) |
| 174629 | 174733 | |
| 174630 | 174734 | /* Define the yytestcase() macro to be a no-op if is not already defined |
| 174631 | 174735 | ** otherwise. |
| | @@ -174717,573 +174821,573 @@ |
| 174717 | 174821 | /* 60 */ 288, 288, 182, 288, 288, 481, 536, 288, 288, 130, |
| 174718 | 174822 | /* 70 */ 127, 234, 432, 573, 525, 562, 573, 557, 562, 1290, |
| 174719 | 174823 | /* 80 */ 573, 421, 562, 137, 138, 91, 559, 1228, 1228, 1063, |
| 174720 | 174824 | /* 90 */ 1066, 1053, 1053, 135, 135, 136, 136, 136, 136, 296, |
| 174721 | 174825 | /* 100 */ 460, 398, 1249, 134, 134, 134, 134, 133, 133, 132, |
| 174722 | | - /* 110 */ 132, 132, 131, 128, 451, 44, 1050, 1050, 1064, 1067, |
| 174826 | + /* 110 */ 132, 132, 131, 128, 451, 451, 1050, 1050, 1064, 1067, |
| 174723 | 174827 | /* 120 */ 1255, 1, 1, 582, 2, 1259, 581, 1174, 1259, 1174, |
| 174724 | | - /* 130 */ 321, 413, 155, 321, 1584, 155, 379, 112, 498, 1341, |
| 174828 | + /* 130 */ 321, 413, 155, 321, 1584, 155, 379, 112, 481, 1341, |
| 174725 | 174829 | /* 140 */ 456, 299, 1341, 134, 134, 134, 134, 133, 133, 132, |
| 174726 | | - /* 150 */ 132, 132, 131, 128, 451, 137, 138, 91, 1105, 1228, |
| 174830 | + /* 150 */ 132, 132, 131, 128, 451, 137, 138, 91, 498, 1228, |
| 174727 | 174831 | /* 160 */ 1228, 1063, 1066, 1053, 1053, 135, 135, 136, 136, 136, |
| 174728 | | - /* 170 */ 136, 1204, 320, 567, 288, 288, 283, 288, 288, 523, |
| 174729 | | - /* 180 */ 523, 1250, 139, 1541, 7, 214, 503, 573, 1169, 562, |
| 174730 | | - /* 190 */ 573, 1054, 562, 136, 136, 136, 136, 129, 401, 547, |
| 174731 | | - /* 200 */ 487, 1169, 245, 1568, 1169, 245, 133, 133, 132, 132, |
| 174732 | | - /* 210 */ 132, 131, 128, 451, 261, 134, 134, 134, 134, 133, |
| 174733 | | - /* 220 */ 133, 132, 132, 132, 131, 128, 451, 451, 1204, 1205, |
| 174734 | | - /* 230 */ 1204, 130, 127, 234, 455, 413, 182, 455, 130, 127, |
| 174832 | + /* 170 */ 136, 1204, 862, 1281, 288, 288, 283, 288, 288, 523, |
| 174833 | + /* 180 */ 523, 1250, 139, 578, 7, 578, 1345, 573, 1169, 562, |
| 174834 | + /* 190 */ 573, 1054, 562, 136, 136, 136, 136, 129, 573, 547, |
| 174835 | + /* 200 */ 562, 1169, 245, 1541, 1169, 245, 133, 133, 132, 132, |
| 174836 | + /* 210 */ 132, 131, 128, 451, 302, 134, 134, 134, 134, 133, |
| 174837 | + /* 220 */ 133, 132, 132, 132, 131, 128, 451, 1575, 1204, 1205, |
| 174838 | + /* 230 */ 1204, 7, 470, 550, 455, 413, 550, 455, 130, 127, |
| 174735 | 174839 | /* 240 */ 234, 134, 134, 134, 134, 133, 133, 132, 132, 132, |
| 174736 | | - /* 250 */ 131, 128, 451, 136, 136, 136, 136, 538, 576, 137, |
| 174737 | | - /* 260 */ 138, 91, 261, 1228, 1228, 1063, 1066, 1053, 1053, 135, |
| 174738 | | - /* 270 */ 135, 136, 136, 136, 136, 44, 472, 346, 1204, 472, |
| 174739 | | - /* 280 */ 346, 51, 51, 418, 93, 157, 134, 134, 134, 134, |
| 174740 | | - /* 290 */ 133, 133, 132, 132, 132, 131, 128, 451, 166, 363, |
| 174741 | | - /* 300 */ 298, 134, 134, 134, 134, 133, 133, 132, 132, 132, |
| 174742 | | - /* 310 */ 131, 128, 451, 1293, 461, 1570, 423, 377, 275, 134, |
| 174840 | + /* 250 */ 131, 128, 451, 136, 136, 136, 136, 538, 483, 137, |
| 174841 | + /* 260 */ 138, 91, 1019, 1228, 1228, 1063, 1066, 1053, 1053, 135, |
| 174842 | + /* 270 */ 135, 136, 136, 136, 136, 1085, 576, 1204, 132, 132, |
| 174843 | + /* 280 */ 132, 131, 128, 451, 93, 214, 134, 134, 134, 134, |
| 174844 | + /* 290 */ 133, 133, 132, 132, 132, 131, 128, 451, 401, 19, |
| 174845 | + /* 300 */ 19, 134, 134, 134, 134, 133, 133, 132, 132, 132, |
| 174846 | + /* 310 */ 131, 128, 451, 1498, 426, 267, 344, 467, 332, 134, |
| 174743 | 174847 | /* 320 */ 134, 134, 134, 133, 133, 132, 132, 132, 131, 128, |
| 174744 | | - /* 330 */ 451, 418, 320, 567, 1292, 1204, 1205, 1204, 257, 413, |
| 174745 | | - /* 340 */ 483, 511, 508, 507, 94, 132, 132, 132, 131, 128, |
| 174746 | | - /* 350 */ 451, 506, 1204, 548, 548, 388, 576, 384, 7, 413, |
| 174747 | | - /* 360 */ 550, 229, 522, 137, 138, 91, 530, 1228, 1228, 1063, |
| 174748 | | - /* 370 */ 1066, 1053, 1053, 135, 135, 136, 136, 136, 136, 51, |
| 174749 | | - /* 380 */ 51, 1582, 380, 137, 138, 91, 331, 1228, 1228, 1063, |
| 174750 | | - /* 390 */ 1066, 1053, 1053, 135, 135, 136, 136, 136, 136, 320, |
| 174751 | | - /* 400 */ 567, 288, 288, 320, 567, 1602, 582, 2, 1259, 1204, |
| 174752 | | - /* 410 */ 1205, 1204, 1628, 321, 573, 155, 562, 576, 1511, 264, |
| 174753 | | - /* 420 */ 231, 520, 1341, 134, 134, 134, 134, 133, 133, 132, |
| 174754 | | - /* 430 */ 132, 132, 131, 128, 451, 519, 1511, 1513, 1333, 1333, |
| 174755 | | - /* 440 */ 82, 82, 498, 134, 134, 134, 134, 133, 133, 132, |
| 174756 | | - /* 450 */ 132, 132, 131, 128, 451, 1435, 257, 288, 288, 511, |
| 174757 | | - /* 460 */ 508, 507, 944, 1568, 413, 1019, 1204, 943, 360, 506, |
| 174758 | | - /* 470 */ 573, 1598, 562, 44, 575, 551, 551, 557, 1107, 1582, |
| 174759 | | - /* 480 */ 544, 576, 1107, 40, 417, 245, 531, 1505, 137, 138, |
| 174848 | + /* 330 */ 451, 1281, 576, 6, 1204, 1205, 1204, 257, 576, 413, |
| 174849 | + /* 340 */ 511, 508, 507, 1279, 94, 1019, 464, 1204, 551, 551, |
| 174850 | + /* 350 */ 506, 1224, 1571, 44, 38, 51, 51, 411, 576, 413, |
| 174851 | + /* 360 */ 45, 51, 51, 137, 138, 91, 530, 1228, 1228, 1063, |
| 174852 | + /* 370 */ 1066, 1053, 1053, 135, 135, 136, 136, 136, 136, 398, |
| 174853 | + /* 380 */ 1148, 82, 82, 137, 138, 91, 39, 1228, 1228, 1063, |
| 174854 | + /* 390 */ 1066, 1053, 1053, 135, 135, 136, 136, 136, 136, 344, |
| 174855 | + /* 400 */ 44, 288, 288, 375, 1204, 1205, 1204, 209, 1204, 1224, |
| 174856 | + /* 410 */ 320, 567, 471, 576, 573, 576, 562, 576, 316, 264, |
| 174857 | + /* 420 */ 231, 46, 160, 134, 134, 134, 134, 133, 133, 132, |
| 174858 | + /* 430 */ 132, 132, 131, 128, 451, 303, 82, 82, 82, 82, |
| 174859 | + /* 440 */ 82, 82, 442, 134, 134, 134, 134, 133, 133, 132, |
| 174860 | + /* 450 */ 132, 132, 131, 128, 451, 1582, 544, 320, 567, 1250, |
| 174861 | + /* 460 */ 874, 1582, 380, 382, 413, 1204, 1205, 1204, 360, 182, |
| 174862 | + /* 470 */ 288, 288, 1576, 557, 1339, 557, 7, 557, 1277, 472, |
| 174863 | + /* 480 */ 346, 526, 531, 573, 556, 562, 439, 1511, 137, 138, |
| 174760 | 174864 | /* 490 */ 91, 219, 1228, 1228, 1063, 1066, 1053, 1053, 135, 135, |
| 174761 | | - /* 500 */ 136, 136, 136, 136, 81, 81, 1281, 1204, 413, 553, |
| 174762 | | - /* 510 */ 1511, 48, 512, 448, 447, 493, 578, 455, 578, 344, |
| 174763 | | - /* 520 */ 45, 1204, 1233, 1204, 1205, 1204, 428, 1235, 158, 882, |
| 174764 | | - /* 530 */ 320, 567, 137, 138, 91, 1234, 1228, 1228, 1063, 1066, |
| 174865 | + /* 500 */ 136, 136, 136, 136, 465, 1511, 1513, 532, 413, 288, |
| 174866 | + /* 510 */ 288, 423, 512, 288, 288, 411, 288, 288, 874, 130, |
| 174867 | + /* 520 */ 127, 234, 573, 1107, 562, 1204, 573, 1107, 562, 573, |
| 174868 | + /* 530 */ 560, 562, 137, 138, 91, 1293, 1228, 1228, 1063, 1066, |
| 174765 | 174869 | /* 540 */ 1053, 1053, 135, 135, 136, 136, 136, 136, 134, 134, |
| 174766 | 174870 | /* 550 */ 134, 134, 133, 133, 132, 132, 132, 131, 128, 451, |
| 174767 | | - /* 560 */ 1236, 576, 1236, 329, 1204, 1205, 1204, 387, 492, 403, |
| 174768 | | - /* 570 */ 1040, 382, 489, 123, 568, 1569, 4, 377, 1204, 1205, |
| 174769 | | - /* 580 */ 1204, 570, 570, 570, 82, 82, 882, 1029, 1331, 1331, |
| 174770 | | - /* 590 */ 571, 1028, 134, 134, 134, 134, 133, 133, 132, 132, |
| 174771 | | - /* 600 */ 132, 131, 128, 451, 288, 288, 1281, 1204, 576, 423, |
| 174772 | | - /* 610 */ 576, 1568, 413, 423, 452, 378, 886, 573, 1279, 562, |
| 174773 | | - /* 620 */ 46, 557, 532, 1028, 1028, 1030, 565, 130, 127, 234, |
| 174774 | | - /* 630 */ 556, 82, 82, 82, 82, 479, 137, 138, 91, 462, |
| 174871 | + /* 560 */ 493, 503, 1292, 1204, 257, 288, 288, 511, 508, 507, |
| 174872 | + /* 570 */ 1204, 1628, 1169, 123, 568, 275, 4, 506, 573, 1511, |
| 174873 | + /* 580 */ 562, 331, 1204, 1205, 1204, 1169, 548, 548, 1169, 261, |
| 174874 | + /* 590 */ 571, 7, 134, 134, 134, 134, 133, 133, 132, 132, |
| 174875 | + /* 600 */ 132, 131, 128, 451, 108, 533, 130, 127, 234, 1204, |
| 174876 | + /* 610 */ 448, 447, 413, 1451, 452, 983, 886, 96, 1598, 1233, |
| 174877 | + /* 620 */ 1204, 1205, 1204, 984, 1235, 1450, 565, 1204, 1205, 1204, |
| 174878 | + /* 630 */ 229, 522, 1234, 534, 1333, 1333, 137, 138, 91, 1449, |
| 174775 | 174879 | /* 640 */ 1228, 1228, 1063, 1066, 1053, 1053, 135, 135, 136, 136, |
| 174776 | | - /* 650 */ 136, 136, 1188, 487, 1506, 1040, 413, 6, 1204, 50, |
| 174777 | | - /* 660 */ 879, 121, 121, 948, 1204, 1205, 1204, 358, 557, 122, |
| 174778 | | - /* 670 */ 316, 452, 577, 452, 535, 1204, 1028, 439, 303, 212, |
| 174779 | | - /* 680 */ 137, 138, 91, 213, 1228, 1228, 1063, 1066, 1053, 1053, |
| 174880 | + /* 650 */ 136, 136, 373, 1595, 971, 1040, 413, 1236, 418, 1236, |
| 174881 | + /* 660 */ 879, 121, 121, 948, 373, 1595, 1204, 1205, 1204, 122, |
| 174882 | + /* 670 */ 1204, 452, 577, 452, 363, 417, 1028, 882, 373, 1595, |
| 174883 | + /* 680 */ 137, 138, 91, 462, 1228, 1228, 1063, 1066, 1053, 1053, |
| 174780 | 174884 | /* 690 */ 135, 135, 136, 136, 136, 136, 134, 134, 134, 134, |
| 174781 | 174885 | /* 700 */ 133, 133, 132, 132, 132, 131, 128, 451, 1028, 1028, |
| 174782 | | - /* 710 */ 1030, 1031, 35, 288, 288, 1204, 1205, 1204, 1040, 1339, |
| 174783 | | - /* 720 */ 533, 123, 568, 1569, 4, 377, 573, 1019, 562, 353, |
| 174784 | | - /* 730 */ 1277, 356, 1204, 1205, 1204, 1029, 488, 1188, 571, 1028, |
| 174886 | + /* 710 */ 1030, 1031, 35, 570, 570, 570, 197, 423, 1040, 198, |
| 174887 | + /* 720 */ 1204, 123, 568, 1204, 4, 320, 567, 1204, 1205, 1204, |
| 174888 | + /* 730 */ 40, 388, 576, 384, 882, 1029, 423, 1188, 571, 1028, |
| 174785 | 174889 | /* 740 */ 134, 134, 134, 134, 133, 133, 132, 132, 132, 131, |
| 174786 | | - /* 750 */ 128, 451, 576, 343, 288, 288, 449, 449, 449, 971, |
| 174787 | | - /* 760 */ 413, 1627, 452, 911, 1187, 288, 288, 573, 464, 562, |
| 174788 | | - /* 770 */ 238, 1028, 1028, 1030, 565, 82, 82, 498, 573, 411, |
| 174789 | | - /* 780 */ 562, 344, 467, 332, 137, 138, 91, 197, 1228, 1228, |
| 174890 | + /* 750 */ 128, 451, 529, 1568, 1204, 19, 19, 1204, 575, 492, |
| 174891 | + /* 760 */ 413, 157, 452, 489, 1187, 1331, 1331, 5, 1204, 949, |
| 174892 | + /* 770 */ 431, 1028, 1028, 1030, 565, 22, 22, 1204, 1205, 1204, |
| 174893 | + /* 780 */ 1204, 1205, 1204, 477, 137, 138, 91, 212, 1228, 1228, |
| 174790 | 174894 | /* 790 */ 1063, 1066, 1053, 1053, 135, 135, 136, 136, 136, 136, |
| 174791 | | - /* 800 */ 1188, 528, 1169, 1040, 413, 1110, 1110, 495, 1041, 121, |
| 174792 | | - /* 810 */ 121, 1204, 317, 540, 862, 1169, 1244, 122, 1169, 452, |
| 174793 | | - /* 820 */ 577, 452, 1340, 198, 1028, 1204, 481, 526, 137, 138, |
| 174794 | | - /* 830 */ 91, 560, 1228, 1228, 1063, 1066, 1053, 1053, 135, 135, |
| 174895 | + /* 800 */ 1188, 48, 111, 1040, 413, 1204, 213, 970, 1041, 121, |
| 174896 | + /* 810 */ 121, 1204, 1205, 1204, 1204, 1205, 1204, 122, 221, 452, |
| 174897 | + /* 820 */ 577, 452, 44, 487, 1028, 1204, 1205, 1204, 137, 138, |
| 174898 | + /* 830 */ 91, 378, 1228, 1228, 1063, 1066, 1053, 1053, 135, 135, |
| 174795 | 174899 | /* 840 */ 136, 136, 136, 136, 134, 134, 134, 134, 133, 133, |
| 174796 | 174900 | /* 850 */ 132, 132, 132, 131, 128, 451, 1028, 1028, 1030, 1031, |
| 174797 | | - /* 860 */ 35, 1204, 288, 288, 1204, 477, 288, 288, 1204, 1205, |
| 174798 | | - /* 870 */ 1204, 539, 481, 437, 470, 573, 1451, 562, 364, 573, |
| 174799 | | - /* 880 */ 1153, 562, 1204, 1205, 1204, 1188, 5, 576, 134, 134, |
| 174901 | + /* 860 */ 35, 461, 1204, 1205, 1204, 1569, 1040, 377, 214, 1149, |
| 174902 | + /* 870 */ 1657, 535, 1657, 437, 902, 320, 567, 1568, 364, 320, |
| 174903 | + /* 880 */ 567, 412, 329, 1029, 519, 1188, 3, 1028, 134, 134, |
| 174800 | 174904 | /* 890 */ 134, 134, 133, 133, 132, 132, 132, 131, 128, 451, |
| 174801 | | - /* 900 */ 221, 214, 302, 96, 1149, 1657, 232, 1657, 413, 392, |
| 174802 | | - /* 910 */ 19, 19, 1024, 949, 406, 373, 1595, 1085, 1204, 1205, |
| 174803 | | - /* 920 */ 1204, 1204, 1205, 1204, 1204, 426, 1149, 1658, 413, 1658, |
| 174804 | | - /* 930 */ 1659, 399, 137, 138, 91, 3, 1228, 1228, 1063, 1066, |
| 174805 | | - /* 940 */ 1053, 1053, 135, 135, 136, 136, 136, 136, 304, 1311, |
| 174806 | | - /* 950 */ 514, 1204, 137, 138, 91, 1498, 1228, 1228, 1063, 1066, |
| 174807 | | - /* 960 */ 1053, 1053, 135, 135, 136, 136, 136, 136, 434, 131, |
| 174808 | | - /* 970 */ 128, 451, 375, 1204, 274, 291, 372, 517, 367, 516, |
| 174809 | | - /* 980 */ 262, 1204, 1205, 1204, 1147, 227, 363, 448, 447, 1435, |
| 174810 | | - /* 990 */ 1568, 1310, 134, 134, 134, 134, 133, 133, 132, 132, |
| 174811 | | - /* 1000 */ 132, 131, 128, 451, 1568, 576, 1147, 487, 1204, 1205, |
| 174812 | | - /* 1010 */ 1204, 442, 134, 134, 134, 134, 133, 133, 132, 132, |
| 174813 | | - /* 1020 */ 132, 131, 128, 451, 386, 576, 485, 576, 19, 19, |
| 174814 | | - /* 1030 */ 1204, 1205, 1204, 1345, 1236, 970, 1236, 574, 47, 936, |
| 174815 | | - /* 1040 */ 936, 473, 413, 431, 1552, 573, 1125, 562, 19, 19, |
| 174816 | | - /* 1050 */ 19, 19, 49, 336, 850, 851, 852, 111, 1368, 315, |
| 174817 | | - /* 1060 */ 429, 576, 413, 433, 341, 306, 137, 138, 91, 115, |
| 174905 | + /* 900 */ 1659, 399, 1169, 307, 893, 307, 515, 576, 413, 214, |
| 174906 | + /* 910 */ 498, 944, 1024, 540, 903, 1169, 943, 392, 1169, 1028, |
| 174907 | + /* 920 */ 1028, 1030, 406, 298, 1204, 50, 1149, 1658, 413, 1658, |
| 174908 | + /* 930 */ 145, 145, 137, 138, 91, 293, 1228, 1228, 1063, 1066, |
| 174909 | + /* 940 */ 1053, 1053, 135, 135, 136, 136, 136, 136, 1188, 1147, |
| 174910 | + /* 950 */ 514, 1568, 137, 138, 91, 1505, 1228, 1228, 1063, 1066, |
| 174911 | + /* 960 */ 1053, 1053, 135, 135, 136, 136, 136, 136, 434, 323, |
| 174912 | + /* 970 */ 435, 539, 111, 1506, 274, 291, 372, 517, 367, 516, |
| 174913 | + /* 980 */ 262, 1204, 1205, 1204, 1574, 481, 363, 576, 7, 1569, |
| 174914 | + /* 990 */ 1568, 377, 134, 134, 134, 134, 133, 133, 132, 132, |
| 174915 | + /* 1000 */ 132, 131, 128, 451, 1568, 576, 1147, 576, 232, 576, |
| 174916 | + /* 1010 */ 19, 19, 134, 134, 134, 134, 133, 133, 132, 132, |
| 174917 | + /* 1020 */ 132, 131, 128, 451, 1169, 433, 576, 1207, 19, 19, |
| 174918 | + /* 1030 */ 19, 19, 19, 19, 1627, 576, 911, 1169, 47, 120, |
| 174919 | + /* 1040 */ 1169, 117, 413, 306, 498, 438, 1125, 206, 336, 19, |
| 174920 | + /* 1050 */ 19, 1435, 49, 449, 449, 449, 1368, 315, 81, 81, |
| 174921 | + /* 1060 */ 576, 304, 413, 1570, 207, 377, 137, 138, 91, 115, |
| 174818 | 174922 | /* 1070 */ 1228, 1228, 1063, 1066, 1053, 1053, 135, 135, 136, 136, |
| 174819 | | - /* 1080 */ 136, 136, 576, 1309, 82, 82, 137, 138, 91, 529, |
| 174923 | + /* 1080 */ 136, 136, 576, 82, 82, 1207, 137, 138, 91, 1340, |
| 174820 | 174924 | /* 1090 */ 1228, 1228, 1063, 1066, 1053, 1053, 135, 135, 136, 136, |
| 174821 | | - /* 1100 */ 136, 136, 1569, 222, 377, 19, 19, 305, 1126, 1169, |
| 174822 | | - /* 1110 */ 398, 1148, 22, 22, 498, 333, 1569, 335, 377, 576, |
| 174823 | | - /* 1120 */ 438, 445, 1169, 1127, 486, 1169, 134, 134, 134, 134, |
| 174925 | + /* 1100 */ 136, 136, 1569, 386, 377, 82, 82, 463, 1126, 1552, |
| 174926 | + /* 1110 */ 333, 463, 335, 131, 128, 451, 1569, 161, 377, 16, |
| 174927 | + /* 1120 */ 317, 387, 428, 1127, 448, 447, 134, 134, 134, 134, |
| 174824 | 174928 | /* 1130 */ 133, 133, 132, 132, 132, 131, 128, 451, 1128, 576, |
| 174825 | | - /* 1140 */ 902, 576, 145, 145, 6, 576, 134, 134, 134, 134, |
| 174826 | | - /* 1150 */ 133, 133, 132, 132, 132, 131, 128, 451, 214, 1336, |
| 174827 | | - /* 1160 */ 922, 576, 19, 19, 19, 19, 1282, 419, 19, 19, |
| 174828 | | - /* 1170 */ 923, 412, 515, 141, 576, 1169, 413, 206, 465, 207, |
| 174829 | | - /* 1180 */ 903, 215, 1575, 552, 147, 147, 7, 227, 1169, 411, |
| 174830 | | - /* 1190 */ 1250, 1169, 120, 307, 117, 307, 413, 66, 66, 334, |
| 174929 | + /* 1140 */ 1105, 10, 445, 267, 576, 1554, 134, 134, 134, 134, |
| 174930 | + /* 1150 */ 133, 133, 132, 132, 132, 131, 128, 451, 532, 576, |
| 174931 | + /* 1160 */ 922, 576, 19, 19, 576, 1573, 576, 147, 147, 7, |
| 174932 | + /* 1170 */ 923, 1236, 498, 1236, 576, 487, 413, 552, 285, 1224, |
| 174933 | + /* 1180 */ 969, 215, 82, 82, 66, 66, 1435, 67, 67, 21, |
| 174934 | + /* 1190 */ 21, 1110, 1110, 495, 334, 297, 413, 53, 53, 297, |
| 174831 | 174935 | /* 1200 */ 137, 138, 91, 119, 1228, 1228, 1063, 1066, 1053, 1053, |
| 174832 | | - /* 1210 */ 135, 135, 136, 136, 136, 136, 413, 285, 209, 969, |
| 174833 | | - /* 1220 */ 137, 138, 91, 471, 1228, 1228, 1063, 1066, 1053, 1053, |
| 174834 | | - /* 1230 */ 135, 135, 136, 136, 136, 136, 435, 10, 1450, 267, |
| 174835 | | - /* 1240 */ 137, 126, 91, 1435, 1228, 1228, 1063, 1066, 1053, 1053, |
| 174836 | | - /* 1250 */ 135, 135, 136, 136, 136, 136, 1435, 1435, 410, 409, |
| 174936 | + /* 1210 */ 135, 135, 136, 136, 136, 136, 413, 1336, 1311, 446, |
| 174937 | + /* 1220 */ 137, 138, 91, 227, 1228, 1228, 1063, 1066, 1053, 1053, |
| 174938 | + /* 1230 */ 135, 135, 136, 136, 136, 136, 574, 1224, 936, 936, |
| 174939 | + /* 1240 */ 137, 126, 91, 141, 1228, 1228, 1063, 1066, 1053, 1053, |
| 174940 | + /* 1250 */ 135, 135, 136, 136, 136, 136, 533, 429, 472, 346, |
| 174837 | 174941 | /* 1260 */ 134, 134, 134, 134, 133, 133, 132, 132, 132, 131, |
| 174838 | | - /* 1270 */ 128, 451, 576, 969, 576, 1224, 498, 373, 1595, 1554, |
| 174942 | + /* 1270 */ 128, 451, 576, 457, 233, 343, 1435, 403, 498, 1550, |
| 174839 | 174943 | /* 1280 */ 134, 134, 134, 134, 133, 133, 132, 132, 132, 131, |
| 174840 | | - /* 1290 */ 128, 451, 532, 457, 576, 82, 82, 82, 82, 111, |
| 174944 | + /* 1290 */ 128, 451, 576, 324, 576, 82, 82, 487, 576, 969, |
| 174841 | 174945 | /* 1300 */ 134, 134, 134, 134, 133, 133, 132, 132, 132, 131, |
| 174842 | | - /* 1310 */ 128, 451, 109, 233, 430, 1576, 546, 67, 67, 7, |
| 174843 | | - /* 1320 */ 413, 351, 550, 1550, 260, 259, 258, 494, 443, 569, |
| 174844 | | - /* 1330 */ 419, 983, 446, 1224, 450, 545, 1207, 576, 969, 984, |
| 174845 | | - /* 1340 */ 413, 475, 1449, 1574, 1180, 138, 91, 7, 1228, 1228, |
| 174946 | + /* 1310 */ 128, 451, 288, 288, 546, 68, 68, 54, 54, 553, |
| 174947 | + /* 1320 */ 413, 69, 69, 351, 6, 573, 944, 562, 410, 409, |
| 174948 | + /* 1330 */ 1435, 943, 450, 545, 260, 259, 258, 576, 158, 576, |
| 174949 | + /* 1340 */ 413, 222, 1180, 479, 969, 138, 91, 430, 1228, 1228, |
| 174846 | 174950 | /* 1350 */ 1063, 1066, 1053, 1053, 135, 135, 136, 136, 136, 136, |
| 174847 | | - /* 1360 */ 21, 21, 267, 576, 300, 1126, 91, 233, 1228, 1228, |
| 174951 | + /* 1360 */ 70, 70, 71, 71, 576, 1126, 91, 576, 1228, 1228, |
| 174848 | 174952 | /* 1370 */ 1063, 1066, 1053, 1053, 135, 135, 136, 136, 136, 136, |
| 174849 | | - /* 1380 */ 1127, 373, 1595, 161, 1573, 16, 53, 53, 7, 108, |
| 174850 | | - /* 1390 */ 533, 38, 969, 125, 1207, 1128, 1180, 576, 1224, 123, |
| 174851 | | - /* 1400 */ 568, 893, 4, 324, 134, 134, 134, 134, 133, 133, |
| 174852 | | - /* 1410 */ 132, 132, 132, 131, 128, 451, 571, 564, 534, 576, |
| 174853 | | - /* 1420 */ 68, 68, 576, 39, 134, 134, 134, 134, 133, 133, |
| 174854 | | - /* 1430 */ 132, 132, 132, 131, 128, 451, 576, 160, 1571, 1223, |
| 174855 | | - /* 1440 */ 452, 576, 54, 54, 576, 69, 69, 576, 1366, 576, |
| 174856 | | - /* 1450 */ 420, 184, 565, 463, 297, 576, 1224, 463, 297, 70, |
| 174857 | | - /* 1460 */ 70, 576, 44, 474, 71, 71, 576, 72, 72, 576, |
| 174858 | | - /* 1470 */ 73, 73, 55, 55, 411, 874, 242, 576, 56, 56, |
| 174859 | | - /* 1480 */ 576, 1040, 576, 478, 57, 57, 576, 121, 121, 59, |
| 174860 | | - /* 1490 */ 59, 23, 60, 60, 411, 122, 319, 452, 577, 452, |
| 174861 | | - /* 1500 */ 74, 74, 1028, 75, 75, 76, 76, 411, 290, 20, |
| 174862 | | - /* 1510 */ 20, 108, 287, 231, 553, 123, 568, 325, 4, 320, |
| 174863 | | - /* 1520 */ 567, 97, 218, 944, 1144, 328, 400, 576, 943, 576, |
| 174864 | | - /* 1530 */ 1380, 424, 571, 874, 1028, 1028, 1030, 1031, 35, 293, |
| 174865 | | - /* 1540 */ 534, 576, 1104, 576, 1104, 9, 576, 342, 576, 111, |
| 174866 | | - /* 1550 */ 77, 77, 143, 143, 576, 205, 452, 222, 1379, 889, |
| 174867 | | - /* 1560 */ 576, 901, 900, 1188, 144, 144, 78, 78, 565, 62, |
| 174868 | | - /* 1570 */ 62, 79, 79, 323, 1021, 576, 266, 63, 63, 908, |
| 174869 | | - /* 1580 */ 909, 1589, 542, 80, 80, 576, 371, 541, 123, 568, |
| 174870 | | - /* 1590 */ 480, 4, 266, 482, 244, 266, 370, 1040, 64, 64, |
| 174871 | | - /* 1600 */ 576, 466, 576, 121, 121, 571, 1557, 576, 170, 170, |
| 174872 | | - /* 1610 */ 576, 122, 576, 452, 577, 452, 576, 889, 1028, 576, |
| 174873 | | - /* 1620 */ 165, 576, 111, 171, 171, 87, 87, 337, 1616, 452, |
| 174874 | | - /* 1630 */ 65, 65, 1530, 83, 83, 146, 146, 986, 987, 84, |
| 174875 | | - /* 1640 */ 84, 565, 168, 168, 148, 148, 1092, 347, 1032, 111, |
| 174876 | | - /* 1650 */ 1028, 1028, 1030, 1031, 35, 542, 1103, 576, 1103, 576, |
| 174877 | | - /* 1660 */ 543, 123, 568, 504, 4, 263, 576, 361, 1529, 111, |
| 174878 | | - /* 1670 */ 1040, 1088, 576, 263, 576, 490, 121, 121, 571, 1188, |
| 174879 | | - /* 1680 */ 142, 142, 169, 169, 122, 576, 452, 577, 452, 162, |
| 174880 | | - /* 1690 */ 162, 1028, 576, 563, 576, 152, 152, 151, 151, 348, |
| 174881 | | - /* 1700 */ 1376, 974, 452, 266, 1092, 942, 1032, 125, 149, 149, |
| 174882 | | - /* 1710 */ 939, 576, 125, 576, 565, 150, 150, 86, 86, 872, |
| 174883 | | - /* 1720 */ 352, 159, 576, 1028, 1028, 1030, 1031, 35, 542, 941, |
| 174884 | | - /* 1730 */ 576, 125, 355, 541, 88, 88, 85, 85, 357, 359, |
| 174885 | | - /* 1740 */ 1324, 1308, 366, 1040, 376, 52, 52, 499, 1389, 121, |
| 174886 | | - /* 1750 */ 121, 1434, 1188, 58, 58, 1362, 1374, 122, 1439, 452, |
| 174887 | | - /* 1760 */ 577, 452, 1289, 167, 1028, 1280, 280, 1268, 1267, 1269, |
| 174888 | | - /* 1770 */ 1609, 1359, 312, 313, 12, 314, 397, 1421, 224, 1416, |
| 174889 | | - /* 1780 */ 295, 237, 1409, 339, 340, 1426, 301, 345, 484, 228, |
| 174890 | | - /* 1790 */ 1371, 1307, 1372, 1370, 1425, 404, 1028, 1028, 1030, 1031, |
| 174891 | | - /* 1800 */ 35, 1601, 1192, 454, 509, 369, 292, 1502, 210, 1501, |
| 174892 | | - /* 1810 */ 1369, 396, 396, 395, 277, 393, 211, 566, 859, 1612, |
| 174893 | | - /* 1820 */ 1244, 123, 568, 391, 4, 1188, 223, 270, 1549, 1547, |
| 174894 | | - /* 1830 */ 1241, 239, 186, 327, 422, 96, 195, 220, 571, 235, |
| 174895 | | - /* 1840 */ 180, 326, 188, 468, 190, 1507, 191, 192, 92, 193, |
| 174896 | | - /* 1850 */ 469, 95, 1422, 13, 502, 247, 1430, 109, 199, 402, |
| 174897 | | - /* 1860 */ 476, 405, 452, 1496, 1428, 1427, 14, 491, 251, 102, |
| 174898 | | - /* 1870 */ 497, 1518, 241, 281, 565, 253, 203, 354, 500, 254, |
| 174899 | | - /* 1880 */ 175, 1270, 407, 43, 350, 518, 1327, 436, 255, 1326, |
| 174900 | | - /* 1890 */ 1325, 1318, 104, 893, 1626, 229, 408, 440, 1625, 441, |
| 174901 | | - /* 1900 */ 240, 310, 1296, 1040, 311, 1317, 527, 1594, 1297, 121, |
| 174902 | | - /* 1910 */ 121, 368, 1295, 1624, 268, 269, 1580, 122, 1579, 452, |
| 174903 | | - /* 1920 */ 577, 452, 374, 444, 1028, 1394, 1393, 140, 553, 90, |
| 174904 | | - /* 1930 */ 568, 11, 4, 1483, 383, 414, 385, 110, 116, 216, |
| 174905 | | - /* 1940 */ 320, 567, 1350, 555, 42, 318, 571, 537, 1349, 389, |
| 174906 | | - /* 1950 */ 390, 579, 1198, 276, 279, 278, 1028, 1028, 1030, 1031, |
| 174907 | | - /* 1960 */ 35, 580, 415, 1265, 458, 1260, 416, 185, 1534, 172, |
| 174908 | | - /* 1970 */ 452, 1535, 173, 156, 308, 846, 1533, 1532, 453, 217, |
| 174909 | | - /* 1980 */ 225, 89, 565, 174, 322, 1188, 226, 236, 1102, 154, |
| 174910 | | - /* 1990 */ 1100, 330, 176, 187, 1223, 189, 925, 338, 243, 1116, |
| 174911 | | - /* 2000 */ 246, 194, 177, 178, 425, 427, 98, 99, 196, 100, |
| 174912 | | - /* 2010 */ 101, 1040, 179, 1119, 248, 1115, 249, 121, 121, 24, |
| 174913 | | - /* 2020 */ 163, 250, 349, 1108, 266, 122, 1238, 452, 577, 452, |
| 174914 | | - /* 2030 */ 1192, 454, 1028, 200, 292, 496, 252, 201, 861, 396, |
| 174953 | + /* 1380 */ 1127, 166, 850, 851, 852, 1282, 419, 72, 72, 108, |
| 174954 | + /* 1390 */ 73, 73, 1310, 358, 1180, 1128, 576, 305, 576, 123, |
| 174955 | + /* 1400 */ 568, 494, 4, 488, 134, 134, 134, 134, 133, 133, |
| 174956 | + /* 1410 */ 132, 132, 132, 131, 128, 451, 571, 564, 534, 55, |
| 174957 | + /* 1420 */ 55, 56, 56, 576, 134, 134, 134, 134, 133, 133, |
| 174958 | + /* 1430 */ 132, 132, 132, 131, 128, 451, 576, 1104, 233, 1104, |
| 174959 | + /* 1440 */ 452, 1602, 582, 2, 1259, 576, 57, 57, 576, 321, |
| 174960 | + /* 1450 */ 576, 155, 565, 1435, 485, 353, 576, 356, 1341, 59, |
| 174961 | + /* 1460 */ 59, 576, 44, 969, 569, 419, 576, 238, 60, 60, |
| 174962 | + /* 1470 */ 261, 74, 74, 75, 75, 287, 231, 576, 1366, 76, |
| 174963 | + /* 1480 */ 76, 1040, 420, 184, 20, 20, 576, 121, 121, 77, |
| 174964 | + /* 1490 */ 77, 97, 218, 288, 288, 122, 125, 452, 577, 452, |
| 174965 | + /* 1500 */ 143, 143, 1028, 576, 520, 576, 573, 576, 562, 144, |
| 174966 | + /* 1510 */ 144, 474, 227, 1244, 478, 123, 568, 576, 4, 320, |
| 174967 | + /* 1520 */ 567, 245, 411, 576, 443, 411, 78, 78, 62, 62, |
| 174968 | + /* 1530 */ 79, 79, 571, 319, 1028, 1028, 1030, 1031, 35, 418, |
| 174969 | + /* 1540 */ 63, 63, 576, 290, 411, 9, 80, 80, 1144, 576, |
| 174970 | + /* 1550 */ 400, 576, 486, 455, 576, 1223, 452, 576, 325, 342, |
| 174971 | + /* 1560 */ 576, 111, 576, 1188, 242, 64, 64, 473, 565, 576, |
| 174972 | + /* 1570 */ 23, 576, 170, 170, 171, 171, 576, 87, 87, 328, |
| 174973 | + /* 1580 */ 65, 65, 542, 83, 83, 146, 146, 541, 123, 568, |
| 174974 | + /* 1590 */ 341, 4, 84, 84, 168, 168, 576, 1040, 576, 148, |
| 174975 | + /* 1600 */ 148, 576, 1380, 121, 121, 571, 1021, 576, 266, 576, |
| 174976 | + /* 1610 */ 424, 122, 576, 452, 577, 452, 576, 553, 1028, 142, |
| 174977 | + /* 1620 */ 142, 169, 169, 576, 162, 162, 528, 889, 371, 452, |
| 174978 | + /* 1630 */ 152, 152, 151, 151, 1379, 149, 149, 109, 370, 150, |
| 174979 | + /* 1640 */ 150, 565, 576, 480, 576, 266, 86, 86, 576, 1092, |
| 174980 | + /* 1650 */ 1028, 1028, 1030, 1031, 35, 542, 482, 576, 266, 466, |
| 174981 | + /* 1660 */ 543, 123, 568, 1616, 4, 88, 88, 85, 85, 475, |
| 174982 | + /* 1670 */ 1040, 52, 52, 222, 901, 900, 121, 121, 571, 1188, |
| 174983 | + /* 1680 */ 58, 58, 244, 1032, 122, 889, 452, 577, 452, 908, |
| 174984 | + /* 1690 */ 909, 1028, 300, 347, 504, 111, 263, 361, 165, 111, |
| 174985 | + /* 1700 */ 111, 1088, 452, 263, 974, 1153, 266, 1092, 986, 987, |
| 174986 | + /* 1710 */ 942, 939, 125, 125, 565, 1103, 872, 1103, 159, 941, |
| 174987 | + /* 1720 */ 1309, 125, 1557, 1028, 1028, 1030, 1031, 35, 542, 337, |
| 174988 | + /* 1730 */ 1530, 205, 1529, 541, 499, 1589, 490, 348, 1376, 352, |
| 174989 | + /* 1740 */ 355, 1032, 357, 1040, 359, 1324, 1308, 366, 563, 121, |
| 174990 | + /* 1750 */ 121, 376, 1188, 1389, 1434, 1362, 280, 122, 1374, 452, |
| 174991 | + /* 1760 */ 577, 452, 167, 1439, 1028, 1289, 1280, 1268, 1267, 1269, |
| 174992 | + /* 1770 */ 1609, 1359, 312, 313, 314, 397, 12, 237, 224, 1421, |
| 174993 | + /* 1780 */ 295, 1416, 1409, 1426, 339, 484, 340, 509, 1371, 1612, |
| 174994 | + /* 1790 */ 1372, 1425, 1244, 404, 301, 228, 1028, 1028, 1030, 1031, |
| 174995 | + /* 1800 */ 35, 1601, 1192, 454, 345, 1307, 292, 369, 1502, 1501, |
| 174996 | + /* 1810 */ 270, 396, 396, 395, 277, 393, 1370, 1369, 859, 1549, |
| 174997 | + /* 1820 */ 186, 123, 568, 235, 4, 1188, 391, 210, 211, 223, |
| 174998 | + /* 1830 */ 1547, 239, 1241, 327, 422, 96, 220, 195, 571, 180, |
| 174999 | + /* 1840 */ 188, 326, 468, 469, 190, 191, 502, 192, 193, 566, |
| 175000 | + /* 1850 */ 247, 109, 1430, 491, 199, 251, 102, 281, 402, 476, |
| 175001 | + /* 1860 */ 405, 1496, 452, 497, 253, 1422, 13, 1428, 14, 1427, |
| 175002 | + /* 1870 */ 203, 1507, 241, 500, 565, 354, 407, 92, 95, 1270, |
| 175003 | + /* 1880 */ 175, 254, 518, 43, 1327, 255, 1326, 1325, 436, 1518, |
| 175004 | + /* 1890 */ 350, 1318, 104, 229, 893, 1626, 440, 441, 1625, 408, |
| 175005 | + /* 1900 */ 240, 1296, 268, 1040, 310, 269, 1297, 527, 444, 121, |
| 175006 | + /* 1910 */ 121, 368, 1295, 1594, 1624, 311, 1394, 122, 1317, 452, |
| 175007 | + /* 1920 */ 577, 452, 374, 1580, 1028, 1393, 140, 553, 11, 90, |
| 175008 | + /* 1930 */ 568, 385, 4, 116, 318, 414, 1579, 110, 1483, 537, |
| 175009 | + /* 1940 */ 320, 567, 1350, 555, 42, 579, 571, 1349, 1198, 383, |
| 175010 | + /* 1950 */ 276, 390, 216, 389, 278, 279, 1028, 1028, 1030, 1031, |
| 175011 | + /* 1960 */ 35, 172, 580, 1265, 458, 1260, 415, 416, 185, 156, |
| 175012 | + /* 1970 */ 452, 1534, 1535, 173, 1533, 1532, 89, 308, 225, 226, |
| 175013 | + /* 1980 */ 846, 174, 565, 453, 217, 1188, 322, 236, 1102, 154, |
| 175014 | + /* 1990 */ 1100, 330, 187, 176, 1223, 243, 189, 925, 338, 246, |
| 175015 | + /* 2000 */ 1116, 194, 177, 425, 178, 427, 98, 196, 99, 100, |
| 175016 | + /* 2010 */ 101, 1040, 179, 1119, 1115, 248, 249, 121, 121, 163, |
| 175017 | + /* 2020 */ 24, 250, 349, 1238, 496, 122, 1108, 452, 577, 452, |
| 175018 | + /* 2030 */ 1192, 454, 1028, 266, 292, 200, 252, 201, 861, 396, |
| 174915 | 175019 | /* 2040 */ 396, 395, 277, 393, 15, 501, 859, 370, 292, 256, |
| 174916 | 175020 | /* 2050 */ 202, 554, 505, 396, 396, 395, 277, 393, 103, 239, |
| 174917 | 175021 | /* 2060 */ 859, 327, 25, 26, 1028, 1028, 1030, 1031, 35, 326, |
| 174918 | 175022 | /* 2070 */ 362, 510, 891, 239, 365, 327, 513, 904, 105, 309, |
| 174919 | 175023 | /* 2080 */ 164, 181, 27, 326, 106, 521, 107, 1185, 1069, 1155, |
| 174920 | | - /* 2090 */ 17, 1154, 284, 1188, 286, 978, 265, 204, 125, 1171, |
| 174921 | | - /* 2100 */ 241, 230, 972, 1175, 28, 1160, 29, 1179, 175, 1173, |
| 174922 | | - /* 2110 */ 30, 43, 31, 1178, 241, 32, 41, 549, 8, 33, |
| 174923 | | - /* 2120 */ 208, 111, 175, 1083, 1070, 43, 113, 1068, 240, 114, |
| 174924 | | - /* 2130 */ 1072, 34, 1073, 561, 1124, 118, 271, 36, 18, 1194, |
| 174925 | | - /* 2140 */ 1033, 873, 240, 935, 124, 37, 272, 273, 1617, 572, |
| 174926 | | - /* 2150 */ 183, 153, 394, 1193, 1256, 1256, 1256, 1256, 1256, 1256, |
| 175024 | + /* 2090 */ 17, 1154, 230, 1188, 284, 286, 265, 204, 125, 1171, |
| 175025 | + /* 2100 */ 241, 28, 978, 972, 29, 41, 1175, 1179, 175, 1173, |
| 175026 | + /* 2110 */ 30, 43, 31, 8, 241, 1178, 32, 1160, 208, 549, |
| 175027 | + /* 2120 */ 33, 111, 175, 1083, 1070, 43, 1068, 1072, 240, 113, |
| 175028 | + /* 2130 */ 114, 34, 561, 118, 1124, 271, 1073, 36, 18, 572, |
| 175029 | + /* 2140 */ 1033, 873, 240, 124, 37, 935, 272, 273, 1617, 183, |
| 175030 | + /* 2150 */ 153, 394, 1194, 1193, 1256, 1256, 1256, 1256, 1256, 1256, |
| 174927 | 175031 | /* 2160 */ 1256, 1256, 1256, 414, 1256, 1256, 1256, 1256, 320, 567, |
| 174928 | 175032 | /* 2170 */ 1256, 1256, 1256, 1256, 1256, 1256, 1256, 414, 1256, 1256, |
| 174929 | 175033 | /* 2180 */ 1256, 1256, 320, 567, 1256, 1256, 1256, 1256, 1256, 1256, |
| 174930 | 175034 | /* 2190 */ 1256, 1256, 458, 1256, 1256, 1256, 1256, 1256, 1256, 1256, |
| 174931 | 175035 | /* 2200 */ 1256, 1256, 1256, 1256, 1256, 1256, 458, |
| 174932 | 175036 | }; |
| 174933 | 175037 | static const YYCODETYPE yy_lookahead[] = { |
| 174934 | | - /* 0 */ 276, 277, 278, 240, 241, 224, 194, 226, 194, 240, |
| 174935 | | - /* 10 */ 241, 194, 216, 220, 194, 234, 253, 194, 255, 19, |
| 174936 | | - /* 20 */ 224, 297, 253, 194, 255, 205, 212, 213, 205, 217, |
| 174937 | | - /* 30 */ 218, 31, 205, 194, 217, 218, 194, 217, 218, 39, |
| 174938 | | - /* 40 */ 217, 218, 312, 43, 44, 45, 316, 47, 48, 49, |
| 175038 | + /* 0 */ 277, 278, 279, 241, 242, 225, 195, 227, 195, 241, |
| 175039 | + /* 10 */ 242, 195, 217, 221, 195, 235, 254, 195, 256, 19, |
| 175040 | + /* 20 */ 225, 298, 254, 195, 256, 206, 213, 214, 206, 218, |
| 175041 | + /* 30 */ 219, 31, 206, 195, 218, 219, 195, 218, 219, 39, |
| 175042 | + /* 40 */ 218, 219, 313, 43, 44, 45, 317, 47, 48, 49, |
| 174939 | 175043 | /* 50 */ 50, 51, 52, 53, 54, 55, 56, 57, 58, 19, |
| 174940 | | - /* 60 */ 240, 241, 194, 240, 241, 194, 254, 240, 241, 276, |
| 174941 | | - /* 70 */ 277, 278, 233, 253, 254, 255, 253, 254, 255, 217, |
| 174942 | | - /* 80 */ 253, 239, 255, 43, 44, 45, 263, 47, 48, 49, |
| 174943 | | - /* 90 */ 50, 51, 52, 53, 54, 55, 56, 57, 58, 270, |
| 174944 | | - /* 100 */ 286, 22, 23, 103, 104, 105, 106, 107, 108, 109, |
| 174945 | | - /* 110 */ 110, 111, 112, 113, 114, 82, 47, 48, 49, 50, |
| 174946 | | - /* 120 */ 186, 187, 188, 189, 190, 191, 189, 87, 191, 89, |
| 174947 | | - /* 130 */ 196, 19, 198, 196, 317, 198, 319, 25, 194, 205, |
| 174948 | | - /* 140 */ 298, 270, 205, 103, 104, 105, 106, 107, 108, 109, |
| 174949 | | - /* 150 */ 110, 111, 112, 113, 114, 43, 44, 45, 11, 47, |
| 175044 | + /* 60 */ 241, 242, 195, 241, 242, 195, 255, 241, 242, 277, |
| 175045 | + /* 70 */ 278, 279, 234, 254, 255, 256, 254, 255, 256, 218, |
| 175046 | + /* 80 */ 254, 240, 256, 43, 44, 45, 264, 47, 48, 49, |
| 175047 | + /* 90 */ 50, 51, 52, 53, 54, 55, 56, 57, 58, 271, |
| 175048 | + /* 100 */ 287, 22, 23, 103, 104, 105, 106, 107, 108, 109, |
| 175049 | + /* 110 */ 110, 111, 112, 113, 114, 114, 47, 48, 49, 50, |
| 175050 | + /* 120 */ 187, 188, 189, 190, 191, 192, 190, 87, 192, 89, |
| 175051 | + /* 130 */ 197, 19, 199, 197, 318, 199, 320, 25, 195, 206, |
| 175052 | + /* 140 */ 299, 271, 206, 103, 104, 105, 106, 107, 108, 109, |
| 175053 | + /* 150 */ 110, 111, 112, 113, 114, 43, 44, 45, 195, 47, |
| 174950 | 175054 | /* 160 */ 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, |
| 174951 | | - /* 170 */ 58, 60, 139, 140, 240, 241, 214, 240, 241, 311, |
| 174952 | | - /* 180 */ 312, 102, 70, 239, 316, 194, 19, 253, 77, 255, |
| 174953 | | - /* 190 */ 253, 122, 255, 55, 56, 57, 58, 59, 207, 88, |
| 174954 | | - /* 200 */ 194, 90, 268, 194, 93, 268, 107, 108, 109, 110, |
| 174955 | | - /* 210 */ 111, 112, 113, 114, 47, 103, 104, 105, 106, 107, |
| 174956 | | - /* 220 */ 108, 109, 110, 111, 112, 113, 114, 114, 117, 118, |
| 174957 | | - /* 230 */ 119, 276, 277, 278, 300, 19, 194, 300, 276, 277, |
| 174958 | | - /* 240 */ 278, 103, 104, 105, 106, 107, 108, 109, 110, 111, |
| 174959 | | - /* 250 */ 112, 113, 114, 55, 56, 57, 58, 146, 194, 43, |
| 174960 | | - /* 260 */ 44, 45, 47, 47, 48, 49, 50, 51, 52, 53, |
| 174961 | | - /* 270 */ 54, 55, 56, 57, 58, 82, 129, 130, 60, 129, |
| 174962 | | - /* 280 */ 130, 217, 218, 116, 68, 25, 103, 104, 105, 106, |
| 174963 | | - /* 290 */ 107, 108, 109, 110, 111, 112, 113, 114, 23, 132, |
| 174964 | | - /* 300 */ 294, 103, 104, 105, 106, 107, 108, 109, 110, 111, |
| 174965 | | - /* 310 */ 112, 113, 114, 217, 121, 306, 194, 308, 26, 103, |
| 175055 | + /* 170 */ 58, 60, 21, 195, 241, 242, 215, 241, 242, 312, |
| 175056 | + /* 180 */ 313, 102, 70, 205, 317, 207, 242, 254, 77, 256, |
| 175057 | + /* 190 */ 254, 122, 256, 55, 56, 57, 58, 59, 254, 88, |
| 175058 | + /* 200 */ 256, 90, 269, 240, 93, 269, 107, 108, 109, 110, |
| 175059 | + /* 210 */ 111, 112, 113, 114, 271, 103, 104, 105, 106, 107, |
| 175060 | + /* 220 */ 108, 109, 110, 111, 112, 113, 114, 313, 117, 118, |
| 175061 | + /* 230 */ 119, 317, 81, 195, 301, 19, 195, 301, 277, 278, |
| 175062 | + /* 240 */ 279, 103, 104, 105, 106, 107, 108, 109, 110, 111, |
| 175063 | + /* 250 */ 112, 113, 114, 55, 56, 57, 58, 146, 195, 43, |
| 175064 | + /* 260 */ 44, 45, 74, 47, 48, 49, 50, 51, 52, 53, |
| 175065 | + /* 270 */ 54, 55, 56, 57, 58, 124, 195, 60, 109, 110, |
| 175066 | + /* 280 */ 111, 112, 113, 114, 68, 195, 103, 104, 105, 106, |
| 175067 | + /* 290 */ 107, 108, 109, 110, 111, 112, 113, 114, 208, 218, |
| 175068 | + /* 300 */ 219, 103, 104, 105, 106, 107, 108, 109, 110, 111, |
| 175069 | + /* 310 */ 112, 113, 114, 162, 233, 24, 128, 129, 130, 103, |
| 174966 | 175070 | /* 320 */ 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, |
| 174967 | | - /* 330 */ 114, 116, 139, 140, 217, 117, 118, 119, 120, 19, |
| 174968 | | - /* 340 */ 194, 123, 124, 125, 24, 109, 110, 111, 112, 113, |
| 174969 | | - /* 350 */ 114, 133, 60, 311, 312, 250, 194, 252, 316, 19, |
| 174970 | | - /* 360 */ 194, 166, 167, 43, 44, 45, 205, 47, 48, 49, |
| 174971 | | - /* 370 */ 50, 51, 52, 53, 54, 55, 56, 57, 58, 217, |
| 174972 | | - /* 380 */ 218, 317, 318, 43, 44, 45, 264, 47, 48, 49, |
| 174973 | | - /* 390 */ 50, 51, 52, 53, 54, 55, 56, 57, 58, 139, |
| 174974 | | - /* 400 */ 140, 240, 241, 139, 140, 188, 189, 190, 191, 117, |
| 174975 | | - /* 410 */ 118, 119, 231, 196, 253, 198, 255, 194, 194, 258, |
| 174976 | | - /* 420 */ 259, 146, 205, 103, 104, 105, 106, 107, 108, 109, |
| 174977 | | - /* 430 */ 110, 111, 112, 113, 114, 109, 212, 213, 236, 237, |
| 174978 | | - /* 440 */ 217, 218, 194, 103, 104, 105, 106, 107, 108, 109, |
| 174979 | | - /* 450 */ 110, 111, 112, 113, 114, 194, 120, 240, 241, 123, |
| 174980 | | - /* 460 */ 124, 125, 136, 194, 19, 74, 60, 141, 23, 133, |
| 174981 | | - /* 470 */ 253, 194, 255, 82, 194, 309, 310, 254, 29, 317, |
| 174982 | | - /* 480 */ 318, 194, 33, 22, 199, 268, 263, 239, 43, 44, |
| 175071 | + /* 330 */ 114, 195, 195, 215, 117, 118, 119, 120, 195, 19, |
| 175072 | + /* 340 */ 123, 124, 125, 207, 24, 74, 246, 60, 310, 311, |
| 175073 | + /* 350 */ 133, 60, 311, 82, 22, 218, 219, 257, 195, 19, |
| 175074 | + /* 360 */ 73, 218, 219, 43, 44, 45, 206, 47, 48, 49, |
| 175075 | + /* 370 */ 50, 51, 52, 53, 54, 55, 56, 57, 58, 22, |
| 175076 | + /* 380 */ 23, 218, 219, 43, 44, 45, 54, 47, 48, 49, |
| 175077 | + /* 390 */ 50, 51, 52, 53, 54, 55, 56, 57, 58, 128, |
| 175078 | + /* 400 */ 82, 241, 242, 195, 117, 118, 119, 289, 60, 118, |
| 175079 | + /* 410 */ 139, 140, 294, 195, 254, 195, 256, 195, 255, 259, |
| 175080 | + /* 420 */ 260, 73, 22, 103, 104, 105, 106, 107, 108, 109, |
| 175081 | + /* 430 */ 110, 111, 112, 113, 114, 206, 218, 219, 218, 219, |
| 175082 | + /* 440 */ 218, 219, 234, 103, 104, 105, 106, 107, 108, 109, |
| 175083 | + /* 450 */ 110, 111, 112, 113, 114, 318, 319, 139, 140, 102, |
| 175084 | + /* 460 */ 60, 318, 319, 221, 19, 117, 118, 119, 23, 195, |
| 175085 | + /* 470 */ 241, 242, 313, 255, 206, 255, 317, 255, 206, 129, |
| 175086 | + /* 480 */ 130, 206, 264, 254, 264, 256, 264, 195, 43, 44, |
| 174983 | 175087 | /* 490 */ 45, 151, 47, 48, 49, 50, 51, 52, 53, 54, |
| 174984 | | - /* 500 */ 55, 56, 57, 58, 217, 218, 194, 60, 19, 146, |
| 174985 | | - /* 510 */ 286, 242, 23, 107, 108, 66, 204, 300, 206, 128, |
| 174986 | | - /* 520 */ 73, 60, 116, 117, 118, 119, 265, 121, 165, 60, |
| 174987 | | - /* 530 */ 139, 140, 43, 44, 45, 129, 47, 48, 49, 50, |
| 175088 | + /* 500 */ 55, 56, 57, 58, 246, 213, 214, 19, 19, 241, |
| 175089 | + /* 510 */ 242, 195, 23, 241, 242, 257, 241, 242, 118, 277, |
| 175090 | + /* 520 */ 278, 279, 254, 29, 256, 60, 254, 33, 256, 254, |
| 175091 | + /* 530 */ 206, 256, 43, 44, 45, 218, 47, 48, 49, 50, |
| 174988 | 175092 | /* 540 */ 51, 52, 53, 54, 55, 56, 57, 58, 103, 104, |
| 174989 | 175093 | /* 550 */ 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, |
| 174990 | | - /* 560 */ 154, 194, 156, 194, 117, 118, 119, 280, 283, 205, |
| 174991 | | - /* 570 */ 101, 220, 287, 19, 20, 306, 22, 308, 117, 118, |
| 174992 | | - /* 580 */ 119, 211, 212, 213, 217, 218, 117, 118, 236, 237, |
| 174993 | | - /* 590 */ 36, 122, 103, 104, 105, 106, 107, 108, 109, 110, |
| 174994 | | - /* 600 */ 111, 112, 113, 114, 240, 241, 194, 60, 194, 194, |
| 174995 | | - /* 610 */ 194, 194, 19, 194, 60, 194, 23, 253, 206, 255, |
| 174996 | | - /* 620 */ 73, 254, 19, 154, 155, 156, 72, 276, 277, 278, |
| 174997 | | - /* 630 */ 263, 217, 218, 217, 218, 271, 43, 44, 45, 271, |
| 175094 | + /* 560 */ 66, 19, 218, 60, 120, 241, 242, 123, 124, 125, |
| 175095 | + /* 570 */ 60, 232, 77, 19, 20, 26, 22, 133, 254, 287, |
| 175096 | + /* 580 */ 256, 265, 117, 118, 119, 90, 312, 313, 93, 47, |
| 175097 | + /* 590 */ 36, 317, 103, 104, 105, 106, 107, 108, 109, 110, |
| 175098 | + /* 600 */ 111, 112, 113, 114, 116, 117, 277, 278, 279, 60, |
| 175099 | + /* 610 */ 107, 108, 19, 276, 60, 31, 23, 152, 195, 116, |
| 175100 | + /* 620 */ 117, 118, 119, 39, 121, 276, 72, 117, 118, 119, |
| 175101 | + /* 630 */ 166, 167, 129, 145, 237, 238, 43, 44, 45, 276, |
| 174998 | 175102 | /* 640 */ 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, |
| 174999 | | - /* 650 */ 57, 58, 183, 194, 285, 101, 19, 214, 60, 242, |
| 175000 | | - /* 660 */ 23, 107, 108, 109, 117, 118, 119, 16, 254, 115, |
| 175001 | | - /* 670 */ 254, 117, 118, 119, 194, 60, 122, 263, 205, 264, |
| 175002 | | - /* 680 */ 43, 44, 45, 264, 47, 48, 49, 50, 51, 52, |
| 175103 | + /* 650 */ 57, 58, 315, 316, 144, 101, 19, 154, 116, 156, |
| 175104 | + /* 660 */ 23, 107, 108, 109, 315, 316, 117, 118, 119, 115, |
| 175105 | + /* 670 */ 60, 117, 118, 119, 132, 200, 122, 60, 315, 316, |
| 175106 | + /* 680 */ 43, 44, 45, 272, 47, 48, 49, 50, 51, 52, |
| 175003 | 175107 | /* 690 */ 53, 54, 55, 56, 57, 58, 103, 104, 105, 106, |
| 175004 | 175108 | /* 700 */ 107, 108, 109, 110, 111, 112, 113, 114, 154, 155, |
| 175005 | | - /* 710 */ 156, 157, 158, 240, 241, 117, 118, 119, 101, 205, |
| 175006 | | - /* 720 */ 117, 19, 20, 306, 22, 308, 253, 74, 255, 78, |
| 175007 | | - /* 730 */ 205, 80, 117, 118, 119, 118, 293, 183, 36, 122, |
| 175109 | + /* 710 */ 156, 157, 158, 212, 213, 214, 22, 195, 101, 22, |
| 175110 | + /* 720 */ 60, 19, 20, 60, 22, 139, 140, 117, 118, 119, |
| 175111 | + /* 730 */ 22, 251, 195, 253, 117, 118, 195, 183, 36, 122, |
| 175008 | 175112 | /* 740 */ 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, |
| 175009 | | - /* 750 */ 113, 114, 194, 294, 240, 241, 211, 212, 213, 144, |
| 175010 | | - /* 760 */ 19, 23, 60, 25, 23, 240, 241, 253, 245, 255, |
| 175011 | | - /* 770 */ 15, 154, 155, 156, 72, 217, 218, 194, 253, 256, |
| 175012 | | - /* 780 */ 255, 128, 129, 130, 43, 44, 45, 22, 47, 48, |
| 175113 | + /* 750 */ 113, 114, 195, 195, 60, 218, 219, 60, 195, 284, |
| 175114 | + /* 760 */ 19, 25, 60, 288, 23, 237, 238, 22, 60, 109, |
| 175115 | + /* 770 */ 233, 154, 155, 156, 72, 218, 219, 117, 118, 119, |
| 175116 | + /* 780 */ 117, 118, 119, 116, 43, 44, 45, 265, 47, 48, |
| 175013 | 175117 | /* 790 */ 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, |
| 175014 | | - /* 800 */ 183, 19, 77, 101, 19, 128, 129, 130, 23, 107, |
| 175015 | | - /* 810 */ 108, 60, 254, 88, 21, 90, 61, 115, 93, 117, |
| 175016 | | - /* 820 */ 118, 119, 239, 22, 122, 60, 194, 205, 43, 44, |
| 175017 | | - /* 830 */ 45, 205, 47, 48, 49, 50, 51, 52, 53, 54, |
| 175118 | + /* 800 */ 183, 243, 25, 101, 19, 60, 265, 144, 23, 107, |
| 175119 | + /* 810 */ 108, 117, 118, 119, 117, 118, 119, 115, 151, 117, |
| 175120 | + /* 820 */ 118, 119, 82, 195, 122, 117, 118, 119, 43, 44, |
| 175121 | + /* 830 */ 45, 195, 47, 48, 49, 50, 51, 52, 53, 54, |
| 175018 | 175122 | /* 840 */ 55, 56, 57, 58, 103, 104, 105, 106, 107, 108, |
| 175019 | 175123 | /* 850 */ 109, 110, 111, 112, 113, 114, 154, 155, 156, 157, |
| 175020 | | - /* 860 */ 158, 60, 240, 241, 60, 116, 240, 241, 117, 118, |
| 175021 | | - /* 870 */ 119, 146, 194, 19, 81, 253, 275, 255, 24, 253, |
| 175022 | | - /* 880 */ 98, 255, 117, 118, 119, 183, 22, 194, 103, 104, |
| 175124 | + /* 860 */ 158, 121, 117, 118, 119, 307, 101, 309, 195, 22, |
| 175125 | + /* 870 */ 23, 195, 25, 19, 35, 139, 140, 195, 24, 139, |
| 175126 | + /* 880 */ 140, 208, 195, 118, 109, 183, 22, 122, 103, 104, |
| 175023 | 175127 | /* 890 */ 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, |
| 175024 | | - /* 900 */ 151, 194, 270, 152, 22, 23, 194, 25, 19, 202, |
| 175025 | | - /* 910 */ 217, 218, 23, 109, 207, 314, 315, 124, 117, 118, |
| 175026 | | - /* 920 */ 119, 117, 118, 119, 60, 232, 22, 23, 19, 25, |
| 175027 | | - /* 930 */ 303, 304, 43, 44, 45, 22, 47, 48, 49, 50, |
| 175028 | | - /* 940 */ 51, 52, 53, 54, 55, 56, 57, 58, 270, 227, |
| 175029 | | - /* 950 */ 96, 60, 43, 44, 45, 162, 47, 48, 49, 50, |
| 175030 | | - /* 960 */ 51, 52, 53, 54, 55, 56, 57, 58, 114, 112, |
| 175031 | | - /* 970 */ 113, 114, 194, 60, 120, 121, 122, 123, 124, 125, |
| 175032 | | - /* 980 */ 126, 117, 118, 119, 102, 25, 132, 107, 108, 194, |
| 175033 | | - /* 990 */ 194, 227, 103, 104, 105, 106, 107, 108, 109, 110, |
| 175034 | | - /* 1000 */ 111, 112, 113, 114, 194, 194, 102, 194, 117, 118, |
| 175035 | | - /* 1010 */ 119, 233, 103, 104, 105, 106, 107, 108, 109, 110, |
| 175036 | | - /* 1020 */ 111, 112, 113, 114, 194, 194, 19, 194, 217, 218, |
| 175037 | | - /* 1030 */ 117, 118, 119, 241, 154, 144, 156, 135, 242, 137, |
| 175038 | | - /* 1040 */ 138, 130, 19, 232, 194, 253, 23, 255, 217, 218, |
| 175039 | | - /* 1050 */ 217, 218, 242, 16, 7, 8, 9, 25, 261, 262, |
| 175040 | | - /* 1060 */ 265, 194, 19, 232, 153, 232, 43, 44, 45, 160, |
| 175128 | + /* 900 */ 304, 305, 77, 230, 127, 232, 67, 195, 19, 195, |
| 175129 | + /* 910 */ 195, 136, 23, 88, 75, 90, 141, 203, 93, 154, |
| 175130 | + /* 920 */ 155, 156, 208, 295, 60, 243, 22, 23, 19, 25, |
| 175131 | + /* 930 */ 218, 219, 43, 44, 45, 100, 47, 48, 49, 50, |
| 175132 | + /* 940 */ 51, 52, 53, 54, 55, 56, 57, 58, 183, 102, |
| 175133 | + /* 950 */ 96, 195, 43, 44, 45, 240, 47, 48, 49, 50, |
| 175134 | + /* 960 */ 51, 52, 53, 54, 55, 56, 57, 58, 114, 134, |
| 175135 | + /* 970 */ 131, 146, 25, 286, 120, 121, 122, 123, 124, 125, |
| 175136 | + /* 980 */ 126, 117, 118, 119, 313, 195, 132, 195, 317, 307, |
| 175137 | + /* 990 */ 195, 309, 103, 104, 105, 106, 107, 108, 109, 110, |
| 175138 | + /* 1000 */ 111, 112, 113, 114, 195, 195, 102, 195, 195, 195, |
| 175139 | + /* 1010 */ 218, 219, 103, 104, 105, 106, 107, 108, 109, 110, |
| 175140 | + /* 1020 */ 111, 112, 113, 114, 77, 233, 195, 60, 218, 219, |
| 175141 | + /* 1030 */ 218, 219, 218, 219, 23, 195, 25, 90, 243, 159, |
| 175142 | + /* 1040 */ 93, 161, 19, 233, 195, 233, 23, 233, 16, 218, |
| 175143 | + /* 1050 */ 219, 195, 243, 212, 213, 214, 262, 263, 218, 219, |
| 175144 | + /* 1060 */ 195, 271, 19, 307, 233, 309, 43, 44, 45, 160, |
| 175041 | 175145 | /* 1070 */ 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, |
| 175042 | | - /* 1080 */ 57, 58, 194, 227, 217, 218, 43, 44, 45, 194, |
| 175146 | + /* 1080 */ 57, 58, 195, 218, 219, 118, 43, 44, 45, 240, |
| 175043 | 175147 | /* 1090 */ 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, |
| 175044 | | - /* 1100 */ 57, 58, 306, 143, 308, 217, 218, 294, 12, 77, |
| 175045 | | - /* 1110 */ 22, 23, 217, 218, 194, 78, 306, 80, 308, 194, |
| 175046 | | - /* 1120 */ 232, 254, 90, 27, 117, 93, 103, 104, 105, 106, |
| 175047 | | - /* 1130 */ 107, 108, 109, 110, 111, 112, 113, 114, 42, 194, |
| 175048 | | - /* 1140 */ 35, 194, 217, 218, 214, 194, 103, 104, 105, 106, |
| 175049 | | - /* 1150 */ 107, 108, 109, 110, 111, 112, 113, 114, 194, 239, |
| 175050 | | - /* 1160 */ 64, 194, 217, 218, 217, 218, 209, 210, 217, 218, |
| 175051 | | - /* 1170 */ 74, 207, 67, 22, 194, 77, 19, 232, 245, 232, |
| 175052 | | - /* 1180 */ 75, 24, 312, 232, 217, 218, 316, 25, 90, 256, |
| 175053 | | - /* 1190 */ 102, 93, 159, 229, 161, 231, 19, 217, 218, 162, |
| 175148 | + /* 1100 */ 57, 58, 307, 195, 309, 218, 219, 263, 12, 195, |
| 175149 | + /* 1110 */ 78, 267, 80, 112, 113, 114, 307, 22, 309, 24, |
| 175150 | + /* 1120 */ 255, 281, 266, 27, 107, 108, 103, 104, 105, 106, |
| 175151 | + /* 1130 */ 107, 108, 109, 110, 111, 112, 113, 114, 42, 195, |
| 175152 | + /* 1140 */ 11, 22, 255, 24, 195, 195, 103, 104, 105, 106, |
| 175153 | + /* 1150 */ 107, 108, 109, 110, 111, 112, 113, 114, 19, 195, |
| 175154 | + /* 1160 */ 64, 195, 218, 219, 195, 313, 195, 218, 219, 317, |
| 175155 | + /* 1170 */ 74, 154, 195, 156, 195, 195, 19, 233, 23, 60, |
| 175156 | + /* 1180 */ 25, 24, 218, 219, 218, 219, 195, 218, 219, 218, |
| 175157 | + /* 1190 */ 219, 128, 129, 130, 162, 263, 19, 218, 219, 267, |
| 175054 | 175158 | /* 1200 */ 43, 44, 45, 160, 47, 48, 49, 50, 51, 52, |
| 175055 | | - /* 1210 */ 53, 54, 55, 56, 57, 58, 19, 23, 288, 25, |
| 175056 | | - /* 1220 */ 43, 44, 45, 293, 47, 48, 49, 50, 51, 52, |
| 175057 | | - /* 1230 */ 53, 54, 55, 56, 57, 58, 131, 22, 275, 24, |
| 175058 | | - /* 1240 */ 43, 44, 45, 194, 47, 48, 49, 50, 51, 52, |
| 175059 | | - /* 1250 */ 53, 54, 55, 56, 57, 58, 194, 194, 107, 108, |
| 175159 | + /* 1210 */ 53, 54, 55, 56, 57, 58, 19, 240, 228, 255, |
| 175160 | + /* 1220 */ 43, 44, 45, 25, 47, 48, 49, 50, 51, 52, |
| 175161 | + /* 1230 */ 53, 54, 55, 56, 57, 58, 135, 118, 137, 138, |
| 175162 | + /* 1240 */ 43, 44, 45, 22, 47, 48, 49, 50, 51, 52, |
| 175163 | + /* 1250 */ 53, 54, 55, 56, 57, 58, 117, 266, 129, 130, |
| 175060 | 175164 | /* 1260 */ 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, |
| 175061 | | - /* 1270 */ 113, 114, 194, 25, 194, 60, 194, 314, 315, 194, |
| 175165 | + /* 1270 */ 113, 114, 195, 195, 119, 295, 195, 206, 195, 195, |
| 175062 | 175166 | /* 1280 */ 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, |
| 175063 | | - /* 1290 */ 113, 114, 19, 194, 194, 217, 218, 217, 218, 25, |
| 175167 | + /* 1290 */ 113, 114, 195, 195, 195, 218, 219, 195, 195, 144, |
| 175064 | 175168 | /* 1300 */ 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, |
| 175065 | | - /* 1310 */ 113, 114, 150, 119, 265, 312, 67, 217, 218, 316, |
| 175066 | | - /* 1320 */ 19, 239, 194, 194, 128, 129, 130, 265, 265, 209, |
| 175067 | | - /* 1330 */ 210, 31, 254, 118, 254, 86, 60, 194, 144, 39, |
| 175068 | | - /* 1340 */ 19, 130, 275, 312, 95, 44, 45, 316, 47, 48, |
| 175169 | + /* 1310 */ 113, 114, 241, 242, 67, 218, 219, 218, 219, 146, |
| 175170 | + /* 1320 */ 19, 218, 219, 240, 215, 254, 136, 256, 107, 108, |
| 175171 | + /* 1330 */ 195, 141, 255, 86, 128, 129, 130, 195, 165, 195, |
| 175172 | + /* 1340 */ 19, 143, 95, 272, 25, 44, 45, 266, 47, 48, |
| 175069 | 175173 | /* 1350 */ 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, |
| 175070 | | - /* 1360 */ 217, 218, 24, 194, 153, 12, 45, 119, 47, 48, |
| 175174 | + /* 1360 */ 218, 219, 218, 219, 195, 12, 45, 195, 47, 48, |
| 175071 | 175175 | /* 1370 */ 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, |
| 175072 | | - /* 1380 */ 27, 314, 315, 22, 312, 24, 217, 218, 316, 116, |
| 175073 | | - /* 1390 */ 117, 22, 144, 25, 118, 42, 147, 194, 60, 19, |
| 175074 | | - /* 1400 */ 20, 127, 22, 194, 103, 104, 105, 106, 107, 108, |
| 175075 | | - /* 1410 */ 109, 110, 111, 112, 113, 114, 36, 64, 145, 194, |
| 175076 | | - /* 1420 */ 217, 218, 194, 54, 103, 104, 105, 106, 107, 108, |
| 175077 | | - /* 1430 */ 109, 110, 111, 112, 113, 114, 194, 22, 310, 25, |
| 175078 | | - /* 1440 */ 60, 194, 217, 218, 194, 217, 218, 194, 260, 194, |
| 175079 | | - /* 1450 */ 301, 302, 72, 262, 262, 194, 118, 266, 266, 217, |
| 175080 | | - /* 1460 */ 218, 194, 82, 245, 217, 218, 194, 217, 218, 194, |
| 175081 | | - /* 1470 */ 217, 218, 217, 218, 256, 60, 24, 194, 217, 218, |
| 175082 | | - /* 1480 */ 194, 101, 194, 245, 217, 218, 194, 107, 108, 217, |
| 175083 | | - /* 1490 */ 218, 22, 217, 218, 256, 115, 245, 117, 118, 119, |
| 175084 | | - /* 1500 */ 217, 218, 122, 217, 218, 217, 218, 256, 22, 217, |
| 175085 | | - /* 1510 */ 218, 116, 258, 259, 146, 19, 20, 194, 22, 139, |
| 175086 | | - /* 1520 */ 140, 150, 151, 136, 23, 194, 25, 194, 141, 194, |
| 175087 | | - /* 1530 */ 194, 62, 36, 118, 154, 155, 156, 157, 158, 100, |
| 175088 | | - /* 1540 */ 145, 194, 154, 194, 156, 49, 194, 23, 194, 25, |
| 175089 | | - /* 1550 */ 217, 218, 217, 218, 194, 257, 60, 143, 194, 60, |
| 175090 | | - /* 1560 */ 194, 121, 122, 183, 217, 218, 217, 218, 72, 217, |
| 175091 | | - /* 1570 */ 218, 217, 218, 134, 23, 194, 25, 217, 218, 7, |
| 175092 | | - /* 1580 */ 8, 321, 86, 217, 218, 194, 122, 91, 19, 20, |
| 175093 | | - /* 1590 */ 23, 22, 25, 23, 142, 25, 132, 101, 217, 218, |
| 175094 | | - /* 1600 */ 194, 194, 194, 107, 108, 36, 194, 194, 217, 218, |
| 175095 | | - /* 1610 */ 194, 115, 194, 117, 118, 119, 194, 118, 122, 194, |
| 175096 | | - /* 1620 */ 23, 194, 25, 217, 218, 217, 218, 194, 142, 60, |
| 175097 | | - /* 1630 */ 217, 218, 194, 217, 218, 217, 218, 84, 85, 217, |
| 175098 | | - /* 1640 */ 218, 72, 217, 218, 217, 218, 60, 23, 60, 25, |
| 175099 | | - /* 1650 */ 154, 155, 156, 157, 158, 86, 154, 194, 156, 194, |
| 175100 | | - /* 1660 */ 91, 19, 20, 23, 22, 25, 194, 23, 194, 25, |
| 175101 | | - /* 1670 */ 101, 23, 194, 25, 194, 194, 107, 108, 36, 183, |
| 175102 | | - /* 1680 */ 217, 218, 217, 218, 115, 194, 117, 118, 119, 217, |
| 175103 | | - /* 1690 */ 218, 122, 194, 237, 194, 217, 218, 217, 218, 194, |
| 175104 | | - /* 1700 */ 194, 23, 60, 25, 118, 23, 118, 25, 217, 218, |
| 175105 | | - /* 1710 */ 23, 194, 25, 194, 72, 217, 218, 217, 218, 23, |
| 175106 | | - /* 1720 */ 194, 25, 194, 154, 155, 156, 157, 158, 86, 23, |
| 175107 | | - /* 1730 */ 194, 25, 194, 91, 217, 218, 217, 218, 194, 194, |
| 175108 | | - /* 1740 */ 194, 194, 194, 101, 194, 217, 218, 290, 194, 107, |
| 175109 | | - /* 1750 */ 108, 194, 183, 217, 218, 194, 194, 115, 194, 117, |
| 175110 | | - /* 1760 */ 118, 119, 194, 243, 122, 194, 289, 194, 194, 194, |
| 175111 | | - /* 1770 */ 194, 257, 257, 257, 244, 257, 192, 273, 215, 269, |
| 175112 | | - /* 1780 */ 246, 299, 269, 295, 247, 273, 247, 246, 295, 230, |
| 175113 | | - /* 1790 */ 261, 226, 261, 261, 273, 273, 154, 155, 156, 157, |
| 175114 | | - /* 1800 */ 158, 0, 1, 2, 221, 220, 5, 220, 250, 220, |
| 175115 | | - /* 1810 */ 261, 10, 11, 12, 13, 14, 250, 282, 17, 197, |
| 175116 | | - /* 1820 */ 61, 19, 20, 246, 22, 183, 244, 142, 201, 201, |
| 175117 | | - /* 1830 */ 38, 30, 299, 32, 201, 152, 22, 151, 36, 299, |
| 175118 | | - /* 1840 */ 43, 40, 235, 18, 238, 285, 238, 238, 296, 238, |
| 175119 | | - /* 1850 */ 201, 296, 274, 272, 18, 200, 235, 150, 235, 247, |
| 175120 | | - /* 1860 */ 247, 247, 60, 247, 274, 274, 272, 201, 200, 159, |
| 175121 | | - /* 1870 */ 63, 292, 71, 201, 72, 200, 22, 201, 222, 200, |
| 175122 | | - /* 1880 */ 79, 201, 222, 82, 291, 116, 219, 65, 200, 219, |
| 175123 | | - /* 1890 */ 219, 228, 22, 127, 225, 166, 222, 24, 225, 114, |
| 175124 | | - /* 1900 */ 99, 284, 221, 101, 284, 228, 307, 315, 219, 107, |
| 175125 | | - /* 1910 */ 108, 219, 219, 219, 201, 92, 320, 115, 320, 117, |
| 175126 | | - /* 1920 */ 118, 119, 222, 83, 122, 267, 267, 149, 146, 19, |
| 175127 | | - /* 1930 */ 20, 22, 22, 279, 250, 134, 201, 148, 159, 249, |
| 175128 | | - /* 1940 */ 139, 140, 251, 141, 25, 281, 36, 147, 251, 248, |
| 175129 | | - /* 1950 */ 247, 203, 13, 195, 6, 195, 154, 155, 156, 157, |
| 175130 | | - /* 1960 */ 158, 193, 305, 193, 163, 193, 305, 302, 214, 208, |
| 175131 | | - /* 1970 */ 60, 214, 208, 223, 223, 4, 214, 214, 3, 22, |
| 175132 | | - /* 1980 */ 215, 214, 72, 208, 164, 183, 215, 15, 23, 16, |
| 175133 | | - /* 1990 */ 23, 140, 131, 152, 25, 143, 20, 16, 24, 1, |
| 175134 | | - /* 2000 */ 145, 143, 131, 131, 62, 37, 54, 54, 152, 54, |
| 175135 | | - /* 2010 */ 54, 101, 131, 117, 34, 1, 142, 107, 108, 22, |
| 175136 | | - /* 2020 */ 5, 116, 162, 69, 25, 115, 76, 117, 118, 119, |
| 175137 | | - /* 2030 */ 1, 2, 122, 69, 5, 41, 142, 116, 20, 10, |
| 175176 | + /* 1380 */ 27, 23, 7, 8, 9, 210, 211, 218, 219, 116, |
| 175177 | + /* 1390 */ 218, 219, 228, 16, 147, 42, 195, 295, 195, 19, |
| 175178 | + /* 1400 */ 20, 266, 22, 294, 103, 104, 105, 106, 107, 108, |
| 175179 | + /* 1410 */ 109, 110, 111, 112, 113, 114, 36, 64, 145, 218, |
| 175180 | + /* 1420 */ 219, 218, 219, 195, 103, 104, 105, 106, 107, 108, |
| 175181 | + /* 1430 */ 109, 110, 111, 112, 113, 114, 195, 154, 119, 156, |
| 175182 | + /* 1440 */ 60, 189, 190, 191, 192, 195, 218, 219, 195, 197, |
| 175183 | + /* 1450 */ 195, 199, 72, 195, 19, 78, 195, 80, 206, 218, |
| 175184 | + /* 1460 */ 219, 195, 82, 144, 210, 211, 195, 15, 218, 219, |
| 175185 | + /* 1470 */ 47, 218, 219, 218, 219, 259, 260, 195, 261, 218, |
| 175186 | + /* 1480 */ 219, 101, 302, 303, 218, 219, 195, 107, 108, 218, |
| 175187 | + /* 1490 */ 219, 150, 151, 241, 242, 115, 25, 117, 118, 119, |
| 175188 | + /* 1500 */ 218, 219, 122, 195, 146, 195, 254, 195, 256, 218, |
| 175189 | + /* 1510 */ 219, 246, 25, 61, 246, 19, 20, 195, 22, 139, |
| 175190 | + /* 1520 */ 140, 269, 257, 195, 266, 257, 218, 219, 218, 219, |
| 175191 | + /* 1530 */ 218, 219, 36, 246, 154, 155, 156, 157, 158, 116, |
| 175192 | + /* 1540 */ 218, 219, 195, 22, 257, 49, 218, 219, 23, 195, |
| 175193 | + /* 1550 */ 25, 195, 117, 301, 195, 25, 60, 195, 195, 23, |
| 175194 | + /* 1560 */ 195, 25, 195, 183, 24, 218, 219, 130, 72, 195, |
| 175195 | + /* 1570 */ 22, 195, 218, 219, 218, 219, 195, 218, 219, 195, |
| 175196 | + /* 1580 */ 218, 219, 86, 218, 219, 218, 219, 91, 19, 20, |
| 175197 | + /* 1590 */ 153, 22, 218, 219, 218, 219, 195, 101, 195, 218, |
| 175198 | + /* 1600 */ 219, 195, 195, 107, 108, 36, 23, 195, 25, 195, |
| 175199 | + /* 1610 */ 62, 115, 195, 117, 118, 119, 195, 146, 122, 218, |
| 175200 | + /* 1620 */ 219, 218, 219, 195, 218, 219, 19, 60, 122, 60, |
| 175201 | + /* 1630 */ 218, 219, 218, 219, 195, 218, 219, 150, 132, 218, |
| 175202 | + /* 1640 */ 219, 72, 195, 23, 195, 25, 218, 219, 195, 60, |
| 175203 | + /* 1650 */ 154, 155, 156, 157, 158, 86, 23, 195, 25, 195, |
| 175204 | + /* 1660 */ 91, 19, 20, 142, 22, 218, 219, 218, 219, 130, |
| 175205 | + /* 1670 */ 101, 218, 219, 143, 121, 122, 107, 108, 36, 183, |
| 175206 | + /* 1680 */ 218, 219, 142, 60, 115, 118, 117, 118, 119, 7, |
| 175207 | + /* 1690 */ 8, 122, 153, 23, 23, 25, 25, 23, 23, 25, |
| 175208 | + /* 1700 */ 25, 23, 60, 25, 23, 98, 25, 118, 84, 85, |
| 175209 | + /* 1710 */ 23, 23, 25, 25, 72, 154, 23, 156, 25, 23, |
| 175210 | + /* 1720 */ 228, 25, 195, 154, 155, 156, 157, 158, 86, 195, |
| 175211 | + /* 1730 */ 195, 258, 195, 91, 291, 322, 195, 195, 195, 195, |
| 175212 | + /* 1740 */ 195, 118, 195, 101, 195, 195, 195, 195, 238, 107, |
| 175213 | + /* 1750 */ 108, 195, 183, 195, 195, 195, 290, 115, 195, 117, |
| 175214 | + /* 1760 */ 118, 119, 244, 195, 122, 195, 195, 195, 195, 195, |
| 175215 | + /* 1770 */ 195, 258, 258, 258, 258, 193, 245, 300, 216, 274, |
| 175216 | + /* 1780 */ 247, 270, 270, 274, 296, 296, 248, 222, 262, 198, |
| 175217 | + /* 1790 */ 262, 274, 61, 274, 248, 231, 154, 155, 156, 157, |
| 175218 | + /* 1800 */ 158, 0, 1, 2, 247, 227, 5, 221, 221, 221, |
| 175219 | + /* 1810 */ 142, 10, 11, 12, 13, 14, 262, 262, 17, 202, |
| 175220 | + /* 1820 */ 300, 19, 20, 300, 22, 183, 247, 251, 251, 245, |
| 175221 | + /* 1830 */ 202, 30, 38, 32, 202, 152, 151, 22, 36, 43, |
| 175222 | + /* 1840 */ 236, 40, 18, 202, 239, 239, 18, 239, 239, 283, |
| 175223 | + /* 1850 */ 201, 150, 236, 202, 236, 201, 159, 202, 248, 248, |
| 175224 | + /* 1860 */ 248, 248, 60, 63, 201, 275, 273, 275, 273, 275, |
| 175225 | + /* 1870 */ 22, 286, 71, 223, 72, 202, 223, 297, 297, 202, |
| 175226 | + /* 1880 */ 79, 201, 116, 82, 220, 201, 220, 220, 65, 293, |
| 175227 | + /* 1890 */ 292, 229, 22, 166, 127, 226, 24, 114, 226, 223, |
| 175228 | + /* 1900 */ 99, 222, 202, 101, 285, 92, 220, 308, 83, 107, |
| 175229 | + /* 1910 */ 108, 220, 220, 316, 220, 285, 268, 115, 229, 117, |
| 175230 | + /* 1920 */ 118, 119, 223, 321, 122, 268, 149, 146, 22, 19, |
| 175231 | + /* 1930 */ 20, 202, 22, 159, 282, 134, 321, 148, 280, 147, |
| 175232 | + /* 1940 */ 139, 140, 252, 141, 25, 204, 36, 252, 13, 251, |
| 175233 | + /* 1950 */ 196, 248, 250, 249, 196, 6, 154, 155, 156, 157, |
| 175234 | + /* 1960 */ 158, 209, 194, 194, 163, 194, 306, 306, 303, 224, |
| 175235 | + /* 1970 */ 60, 215, 215, 209, 215, 215, 215, 224, 216, 216, |
| 175236 | + /* 1980 */ 4, 209, 72, 3, 22, 183, 164, 15, 23, 16, |
| 175237 | + /* 1990 */ 23, 140, 152, 131, 25, 24, 143, 20, 16, 145, |
| 175238 | + /* 2000 */ 1, 143, 131, 62, 131, 37, 54, 152, 54, 54, |
| 175239 | + /* 2010 */ 54, 101, 131, 117, 1, 34, 142, 107, 108, 5, |
| 175240 | + /* 2020 */ 22, 116, 162, 76, 41, 115, 69, 117, 118, 119, |
| 175241 | + /* 2030 */ 1, 2, 122, 25, 5, 69, 142, 116, 20, 10, |
| 175138 | 175242 | /* 2040 */ 11, 12, 13, 14, 24, 19, 17, 132, 5, 126, |
| 175139 | 175243 | /* 2050 */ 22, 141, 68, 10, 11, 12, 13, 14, 22, 30, |
| 175140 | 175244 | /* 2060 */ 17, 32, 22, 22, 154, 155, 156, 157, 158, 40, |
| 175141 | 175245 | /* 2070 */ 23, 68, 60, 30, 24, 32, 97, 28, 22, 68, |
| 175142 | 175246 | /* 2080 */ 23, 37, 34, 40, 150, 22, 25, 23, 23, 23, |
| 175143 | | - /* 2090 */ 22, 98, 23, 183, 23, 117, 34, 22, 25, 89, |
| 175144 | | - /* 2100 */ 71, 142, 144, 76, 34, 23, 34, 76, 79, 87, |
| 175145 | | - /* 2110 */ 34, 82, 34, 94, 71, 34, 22, 24, 44, 34, |
| 175146 | | - /* 2120 */ 25, 25, 79, 23, 23, 82, 143, 23, 99, 143, |
| 175147 | | - /* 2130 */ 23, 22, 11, 25, 23, 25, 22, 22, 22, 1, |
| 175148 | | - /* 2140 */ 23, 23, 99, 136, 22, 22, 142, 142, 142, 25, |
| 175149 | | - /* 2150 */ 25, 23, 15, 1, 322, 322, 322, 322, 322, 322, |
| 175150 | | - /* 2160 */ 322, 322, 322, 134, 322, 322, 322, 322, 139, 140, |
| 175151 | | - /* 2170 */ 322, 322, 322, 322, 322, 322, 322, 134, 322, 322, |
| 175152 | | - /* 2180 */ 322, 322, 139, 140, 322, 322, 322, 322, 322, 322, |
| 175153 | | - /* 2190 */ 322, 322, 163, 322, 322, 322, 322, 322, 322, 322, |
| 175154 | | - /* 2200 */ 322, 322, 322, 322, 322, 322, 163, 322, 322, 322, |
| 175155 | | - /* 2210 */ 322, 322, 322, 322, 322, 322, 322, 322, 322, 322, |
| 175156 | | - /* 2220 */ 322, 322, 322, 322, 322, 322, 322, 322, 322, 322, |
| 175157 | | - /* 2230 */ 322, 322, 322, 322, 322, 322, 322, 322, 322, 322, |
| 175158 | | - /* 2240 */ 322, 322, 322, 322, 322, 322, 322, 322, 322, 322, |
| 175159 | | - /* 2250 */ 322, 322, 322, 322, 322, 322, 322, 322, 322, 322, |
| 175160 | | - /* 2260 */ 322, 322, 322, 322, 322, 322, 322, 322, 322, 322, |
| 175161 | | - /* 2270 */ 322, 322, 322, 322, 322, 322, 322, 322, 322, 322, |
| 175162 | | - /* 2280 */ 322, 322, 322, 322, 322, 322, 322, 322, 322, 322, |
| 175163 | | - /* 2290 */ 322, 322, 322, 322, 322, 322, 322, 322, 322, 322, |
| 175164 | | - /* 2300 */ 322, 322, 322, 322, 322, 322, 322, 322, 322, 322, |
| 175165 | | - /* 2310 */ 322, 322, 322, 322, 322, 322, 322, 322, 322, 322, |
| 175166 | | - /* 2320 */ 322, 322, 322, 322, 322, 322, 322, 322, 322, 322, |
| 175167 | | - /* 2330 */ 322, 322, 322, 322, 322, 322, 322, 322, 322, 322, |
| 175168 | | - /* 2340 */ 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, |
| 175169 | | - /* 2350 */ 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, |
| 175170 | | - /* 2360 */ 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, |
| 175171 | | - /* 2370 */ 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, |
| 175172 | | - /* 2380 */ 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, |
| 175173 | | - /* 2390 */ 186, 186, 186, |
| 175247 | + /* 2090 */ 22, 98, 142, 183, 23, 23, 34, 22, 25, 89, |
| 175248 | + /* 2100 */ 71, 34, 117, 144, 34, 22, 76, 76, 79, 87, |
| 175249 | + /* 2110 */ 34, 82, 34, 44, 71, 94, 34, 23, 25, 24, |
| 175250 | + /* 2120 */ 34, 25, 79, 23, 23, 82, 23, 23, 99, 143, |
| 175251 | + /* 2130 */ 143, 22, 25, 25, 23, 22, 11, 22, 22, 25, |
| 175252 | + /* 2140 */ 23, 23, 99, 22, 22, 136, 142, 142, 142, 25, |
| 175253 | + /* 2150 */ 23, 15, 1, 1, 323, 323, 323, 323, 323, 323, |
| 175254 | + /* 2160 */ 323, 323, 323, 134, 323, 323, 323, 323, 139, 140, |
| 175255 | + /* 2170 */ 323, 323, 323, 323, 323, 323, 323, 134, 323, 323, |
| 175256 | + /* 2180 */ 323, 323, 139, 140, 323, 323, 323, 323, 323, 323, |
| 175257 | + /* 2190 */ 323, 323, 163, 323, 323, 323, 323, 323, 323, 323, |
| 175258 | + /* 2200 */ 323, 323, 323, 323, 323, 323, 163, 323, 323, 323, |
| 175259 | + /* 2210 */ 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, |
| 175260 | + /* 2220 */ 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, |
| 175261 | + /* 2230 */ 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, |
| 175262 | + /* 2240 */ 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, |
| 175263 | + /* 2250 */ 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, |
| 175264 | + /* 2260 */ 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, |
| 175265 | + /* 2270 */ 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, |
| 175266 | + /* 2280 */ 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, |
| 175267 | + /* 2290 */ 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, |
| 175268 | + /* 2300 */ 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, |
| 175269 | + /* 2310 */ 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, |
| 175270 | + /* 2320 */ 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, |
| 175271 | + /* 2330 */ 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, |
| 175272 | + /* 2340 */ 323, 187, 187, 187, 187, 187, 187, 187, 187, 187, |
| 175273 | + /* 2350 */ 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, |
| 175274 | + /* 2360 */ 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, |
| 175275 | + /* 2370 */ 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, |
| 175276 | + /* 2380 */ 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, |
| 175277 | + /* 2390 */ 187, 187, 187, 187, |
| 175174 | 175278 | }; |
| 175175 | 175279 | #define YY_SHIFT_COUNT (582) |
| 175176 | 175280 | #define YY_SHIFT_MIN (0) |
| 175177 | 175281 | #define YY_SHIFT_MAX (2152) |
| 175178 | 175282 | static const unsigned short int yy_shift_ofst[] = { |
| 175179 | | - /* 0 */ 2029, 1801, 2043, 1380, 1380, 33, 391, 1496, 1569, 1642, |
| 175180 | | - /* 10 */ 702, 702, 702, 193, 33, 33, 33, 33, 33, 0, |
| 175283 | + /* 0 */ 2029, 1801, 2043, 1380, 1380, 318, 271, 1496, 1569, 1642, |
| 175284 | + /* 10 */ 702, 702, 702, 740, 318, 318, 318, 318, 318, 0, |
| 175181 | 175285 | /* 20 */ 0, 216, 1177, 702, 702, 702, 702, 702, 702, 702, |
| 175182 | | - /* 30 */ 702, 702, 702, 702, 702, 702, 702, 702, 406, 406, |
| 175183 | | - /* 40 */ 111, 111, 218, 447, 547, 598, 598, 260, 260, 260, |
| 175184 | | - /* 50 */ 260, 40, 112, 320, 340, 445, 489, 593, 637, 741, |
| 175286 | + /* 30 */ 702, 702, 702, 702, 702, 702, 702, 702, 503, 503, |
| 175287 | + /* 40 */ 111, 111, 217, 287, 348, 610, 610, 736, 736, 736, |
| 175288 | + /* 50 */ 736, 40, 112, 320, 340, 445, 489, 593, 637, 741, |
| 175185 | 175289 | /* 60 */ 785, 889, 909, 1023, 1043, 1157, 1177, 1177, 1177, 1177, |
| 175186 | 175290 | /* 70 */ 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, |
| 175187 | 175291 | /* 80 */ 1177, 1177, 1177, 1177, 1197, 1177, 1301, 1321, 1321, 554, |
| 175188 | 175292 | /* 90 */ 1802, 1910, 702, 702, 702, 702, 702, 702, 702, 702, |
| 175189 | 175293 | /* 100 */ 702, 702, 702, 702, 702, 702, 702, 702, 702, 702, |
| 175190 | 175294 | /* 110 */ 702, 702, 702, 702, 702, 702, 702, 702, 702, 702, |
| 175191 | 175295 | /* 120 */ 702, 702, 702, 702, 702, 702, 702, 702, 702, 702, |
| 175192 | 175296 | /* 130 */ 702, 702, 702, 702, 702, 702, 702, 702, 702, 702, |
| 175193 | 175297 | /* 140 */ 702, 702, 138, 198, 198, 198, 198, 198, 198, 198, |
| 175194 | | - /* 150 */ 183, 99, 236, 292, 598, 793, 167, 598, 598, 880, |
| 175195 | | - /* 160 */ 880, 598, 857, 150, 195, 195, 195, 264, 113, 113, |
| 175196 | | - /* 170 */ 2207, 2207, 854, 854, 854, 751, 765, 765, 765, 765, |
| 175197 | | - /* 180 */ 1096, 1096, 725, 292, 882, 904, 598, 598, 598, 598, |
| 175198 | | - /* 190 */ 598, 598, 598, 598, 598, 598, 598, 598, 598, 598, |
| 175199 | | - /* 200 */ 598, 598, 598, 598, 598, 1273, 1032, 1032, 598, 147, |
| 175200 | | - /* 210 */ 1098, 1098, 603, 603, 1276, 1276, 363, 2207, 2207, 2207, |
| 175201 | | - /* 220 */ 2207, 2207, 2207, 2207, 469, 617, 617, 801, 336, 461, |
| 175202 | | - /* 230 */ 804, 864, 615, 891, 913, 598, 598, 598, 598, 598, |
| 175203 | | - /* 240 */ 598, 598, 598, 598, 598, 653, 598, 598, 598, 598, |
| 175204 | | - /* 250 */ 598, 598, 598, 598, 598, 598, 598, 598, 1105, 1105, |
| 175205 | | - /* 260 */ 1105, 598, 598, 598, 1194, 598, 598, 598, 1215, 1249, |
| 175206 | | - /* 270 */ 598, 1353, 598, 598, 598, 598, 598, 598, 598, 598, |
| 175207 | | - /* 280 */ 677, 449, 902, 1338, 1338, 1338, 1338, 1248, 902, 902, |
| 175208 | | - /* 290 */ 326, 1151, 1047, 755, 749, 1371, 960, 1371, 1007, 1162, |
| 175209 | | - /* 300 */ 749, 749, 1162, 749, 960, 1007, 1274, 738, 215, 1300, |
| 175210 | | - /* 310 */ 1300, 1300, 1395, 1395, 1395, 1395, 1368, 1368, 1033, 1414, |
| 175211 | | - /* 320 */ 1387, 1361, 1759, 1759, 1685, 1685, 1792, 1792, 1685, 1683, |
| 175212 | | - /* 330 */ 1686, 1814, 1797, 1825, 1825, 1825, 1825, 1685, 1836, 1707, |
| 175213 | | - /* 340 */ 1686, 1686, 1707, 1814, 1797, 1707, 1797, 1707, 1685, 1836, |
| 175214 | | - /* 350 */ 1710, 1807, 1685, 1836, 1854, 1685, 1836, 1685, 1836, 1854, |
| 175215 | | - /* 360 */ 1769, 1769, 1769, 1822, 1870, 1870, 1854, 1769, 1766, 1769, |
| 175216 | | - /* 370 */ 1822, 1769, 1769, 1729, 1873, 1785, 1785, 1854, 1685, 1823, |
| 175217 | | - /* 380 */ 1823, 1840, 1840, 1778, 1782, 1909, 1685, 1779, 1778, 1789, |
| 175218 | | - /* 390 */ 1800, 1707, 1919, 1939, 1939, 1948, 1948, 1948, 2207, 2207, |
| 175298 | + /* 150 */ 183, 99, 169, 549, 610, 151, 542, 610, 610, 1017, |
| 175299 | + /* 160 */ 1017, 610, 1001, 350, 464, 464, 464, 586, 1, 1, |
| 175300 | + /* 170 */ 2207, 2207, 854, 854, 854, 465, 694, 694, 694, 694, |
| 175301 | + /* 180 */ 1096, 1096, 825, 549, 847, 904, 610, 610, 610, 610, |
| 175302 | + /* 190 */ 610, 610, 610, 610, 610, 610, 610, 610, 610, 610, |
| 175303 | + /* 200 */ 610, 610, 610, 610, 610, 488, 947, 947, 610, 1129, |
| 175304 | + /* 210 */ 495, 495, 1139, 1139, 967, 967, 1173, 2207, 2207, 2207, |
| 175305 | + /* 220 */ 2207, 2207, 2207, 2207, 617, 765, 765, 697, 444, 708, |
| 175306 | + /* 230 */ 660, 745, 510, 663, 864, 610, 610, 610, 610, 610, |
| 175307 | + /* 240 */ 610, 610, 610, 610, 610, 188, 610, 610, 610, 610, |
| 175308 | + /* 250 */ 610, 610, 610, 610, 610, 610, 610, 610, 839, 839, |
| 175309 | + /* 260 */ 839, 610, 610, 610, 1155, 610, 610, 610, 1119, 1247, |
| 175310 | + /* 270 */ 610, 1353, 610, 610, 610, 610, 610, 610, 610, 610, |
| 175311 | + /* 280 */ 1063, 494, 1101, 291, 291, 291, 291, 1319, 1101, 1101, |
| 175312 | + /* 290 */ 775, 1221, 1375, 1452, 667, 1341, 1198, 1341, 1435, 1487, |
| 175313 | + /* 300 */ 667, 667, 1487, 667, 1198, 1435, 777, 1011, 1423, 584, |
| 175314 | + /* 310 */ 584, 584, 1273, 1273, 1273, 1273, 1471, 1471, 880, 1530, |
| 175315 | + /* 320 */ 1190, 1095, 1731, 1731, 1668, 1668, 1794, 1794, 1668, 1683, |
| 175316 | + /* 330 */ 1685, 1815, 1796, 1824, 1824, 1824, 1824, 1668, 1828, 1701, |
| 175317 | + /* 340 */ 1685, 1685, 1701, 1815, 1796, 1701, 1796, 1701, 1668, 1828, |
| 175318 | + /* 350 */ 1697, 1800, 1668, 1828, 1848, 1668, 1828, 1668, 1828, 1848, |
| 175319 | + /* 360 */ 1766, 1766, 1766, 1823, 1870, 1870, 1848, 1766, 1767, 1766, |
| 175320 | + /* 370 */ 1823, 1766, 1766, 1727, 1872, 1783, 1783, 1848, 1668, 1813, |
| 175321 | + /* 380 */ 1813, 1825, 1825, 1777, 1781, 1906, 1668, 1774, 1777, 1789, |
| 175322 | + /* 390 */ 1792, 1701, 1919, 1935, 1935, 1949, 1949, 1949, 2207, 2207, |
| 175219 | 175323 | /* 400 */ 2207, 2207, 2207, 2207, 2207, 2207, 2207, 2207, 2207, 2207, |
| 175220 | | - /* 410 */ 2207, 2207, 2207, 69, 1037, 79, 1088, 651, 1196, 1415, |
| 175221 | | - /* 420 */ 1501, 1439, 1369, 1452, 911, 1211, 1524, 1469, 1551, 1567, |
| 175222 | | - /* 430 */ 1570, 1624, 1640, 1644, 1499, 1440, 1572, 1464, 1597, 275, |
| 175223 | | - /* 440 */ 782, 1586, 1648, 1678, 1553, 1682, 1687, 1388, 1502, 1696, |
| 175224 | | - /* 450 */ 1706, 1588, 1486, 1971, 1975, 1957, 1820, 1972, 1973, 1965, |
| 175225 | | - /* 460 */ 1967, 1851, 1841, 1861, 1969, 1969, 1974, 1852, 1976, 1855, |
| 175226 | | - /* 470 */ 1981, 1998, 1858, 1871, 1969, 1872, 1942, 1968, 1969, 1856, |
| 175227 | | - /* 480 */ 1952, 1953, 1955, 1956, 1881, 1896, 1980, 1874, 2014, 2015, |
| 175228 | | - /* 490 */ 1997, 1905, 1860, 1954, 1999, 1964, 1950, 1994, 1894, 1921, |
| 175324 | + /* 410 */ 2207, 2207, 2207, 69, 1032, 79, 357, 1377, 1206, 400, |
| 175325 | + /* 420 */ 1525, 835, 332, 1540, 1437, 1539, 1536, 1548, 1583, 1620, |
| 175326 | + /* 430 */ 1633, 1670, 1671, 1674, 1567, 1553, 1682, 1506, 1675, 1358, |
| 175327 | + /* 440 */ 1607, 1589, 1678, 1681, 1624, 1687, 1688, 1283, 1561, 1693, |
| 175328 | + /* 450 */ 1696, 1623, 1521, 1976, 1980, 1962, 1822, 1972, 1973, 1965, |
| 175329 | + /* 460 */ 1967, 1851, 1840, 1862, 1969, 1969, 1971, 1853, 1977, 1854, |
| 175330 | + /* 470 */ 1982, 1999, 1858, 1871, 1969, 1873, 1941, 1968, 1969, 1855, |
| 175331 | + /* 480 */ 1952, 1954, 1955, 1956, 1881, 1896, 1981, 1874, 2013, 2014, |
| 175332 | + /* 490 */ 1998, 1905, 1860, 1957, 2008, 1966, 1947, 1983, 1894, 1921, |
| 175229 | 175333 | /* 500 */ 2020, 2018, 2026, 1915, 1923, 2028, 1984, 2036, 2040, 2047, |
| 175230 | 175334 | /* 510 */ 2041, 2003, 2012, 2050, 1979, 2049, 2056, 2011, 2044, 2057, |
| 175231 | | - /* 520 */ 2048, 1934, 2063, 2064, 2065, 2061, 2066, 2068, 1993, 1959, |
| 175232 | | - /* 530 */ 2069, 2071, 1978, 2062, 2075, 1958, 2073, 2070, 2072, 2076, |
| 175233 | | - /* 540 */ 2078, 2010, 2027, 2022, 2074, 2031, 2019, 2081, 2082, 2094, |
| 175234 | | - /* 550 */ 2093, 2095, 2096, 2085, 1983, 1986, 2100, 2073, 2101, 2104, |
| 175235 | | - /* 560 */ 2107, 2109, 2108, 2110, 2111, 2114, 2121, 2115, 2116, 2117, |
| 175236 | | - /* 570 */ 2118, 2122, 2123, 2124, 2007, 2004, 2005, 2006, 2125, 2128, |
| 175237 | | - /* 580 */ 2137, 2138, 2152, |
| 175335 | + /* 520 */ 2048, 1934, 2063, 2064, 2065, 2061, 2066, 2068, 1993, 1950, |
| 175336 | + /* 530 */ 2071, 2072, 1985, 2062, 2075, 1959, 2073, 2067, 2070, 2076, |
| 175337 | + /* 540 */ 2078, 2010, 2030, 2022, 2069, 2031, 2021, 2082, 2094, 2083, |
| 175338 | + /* 550 */ 2095, 2093, 2096, 2086, 1986, 1987, 2100, 2073, 2101, 2103, |
| 175339 | + /* 560 */ 2104, 2109, 2107, 2108, 2111, 2113, 2125, 2115, 2116, 2117, |
| 175340 | + /* 570 */ 2118, 2121, 2122, 2114, 2009, 2004, 2005, 2006, 2124, 2127, |
| 175341 | + /* 580 */ 2136, 2151, 2152, |
| 175238 | 175342 | }; |
| 175239 | 175343 | #define YY_REDUCE_COUNT (412) |
| 175240 | | -#define YY_REDUCE_MIN (-276) |
| 175241 | | -#define YY_REDUCE_MAX (1775) |
| 175344 | +#define YY_REDUCE_MIN (-277) |
| 175345 | +#define YY_REDUCE_MAX (1772) |
| 175242 | 175346 | static const short yy_reduce_ofst[] = { |
| 175243 | | - /* 0 */ -66, 217, -63, -177, -180, 161, 364, 64, -183, 162, |
| 175244 | | - /* 10 */ 223, 367, 414, -173, 473, 514, 525, 622, 626, -207, |
| 175245 | | - /* 20 */ 351, -276, -38, 693, 811, 831, 833, 888, -188, 945, |
| 175246 | | - /* 30 */ 947, 416, 558, 951, 867, 287, 1078, 1080, -186, 224, |
| 175247 | | - /* 40 */ -132, 42, 964, 269, 417, 796, 810, -237, -231, -237, |
| 175248 | | - /* 50 */ -231, -45, -45, -45, -45, -45, -45, -45, -45, -45, |
| 175249 | | - /* 60 */ -45, -45, -45, -45, -45, -45, -45, -45, -45, -45, |
| 175250 | | - /* 70 */ -45, -45, -45, -45, -45, -45, -45, -45, -45, -45, |
| 175251 | | - /* 80 */ -45, -45, -45, -45, -45, -45, -45, -45, -45, 895, |
| 175252 | | - /* 90 */ 925, 967, 980, 1100, 1143, 1169, 1203, 1225, 1228, 1242, |
| 175253 | | - /* 100 */ 1247, 1250, 1253, 1255, 1261, 1267, 1272, 1275, 1283, 1286, |
| 175254 | | - /* 110 */ 1288, 1292, 1333, 1335, 1347, 1349, 1352, 1354, 1360, 1366, |
| 175255 | | - /* 120 */ 1381, 1391, 1406, 1408, 1413, 1416, 1418, 1422, 1425, 1427, |
| 175256 | | - /* 130 */ 1463, 1465, 1472, 1478, 1480, 1491, 1498, 1500, 1517, 1519, |
| 175257 | | - /* 140 */ 1528, 1536, -45, -45, -45, -45, -45, -45, -45, -45, |
| 175258 | | - /* 150 */ -45, -45, -45, 312, -158, 285, -219, 9, 166, 370, |
| 175259 | | - /* 160 */ 545, 707, -45, 930, 601, 963, 1067, 792, -45, -45, |
| 175260 | | - /* 170 */ -45, -45, -204, -204, -204, 369, -171, -129, 632, 678, |
| 175261 | | - /* 180 */ 202, 352, -270, 412, 627, 627, -9, 122, 415, 419, |
| 175262 | | - /* 190 */ -56, 248, 583, 920, 6, 261, 459, 795, 1049, 813, |
| 175263 | | - /* 200 */ 1062, 1082, -161, 778, 1063, 797, 870, 1003, 1128, 443, |
| 175264 | | - /* 210 */ 1031, 1072, 1191, 1192, 957, 1120, 105, 1149, 523, 933, |
| 175265 | | - /* 220 */ 1218, 1238, 1254, 1251, -138, 96, 117, 146, 181, 277, |
| 175266 | | - /* 230 */ 280, 421, 480, 712, 830, 850, 1085, 1099, 1129, 1209, |
| 175267 | | - /* 240 */ 1323, 1331, 1336, 1364, 1407, 368, 1412, 1433, 1438, 1474, |
| 175268 | | - /* 250 */ 1481, 1505, 1506, 1526, 1538, 1544, 1545, 1546, 722, 764, |
| 175269 | | - /* 260 */ 856, 1547, 1548, 1550, 1188, 1554, 1557, 1561, 1298, 1260, |
| 175270 | | - /* 270 */ 1562, 1456, 1564, 280, 1568, 1571, 1573, 1574, 1575, 1576, |
| 175271 | | - /* 280 */ 1457, 1477, 1520, 1514, 1515, 1516, 1518, 1188, 1520, 1520, |
| 175272 | | - /* 290 */ 1530, 1563, 1584, 1482, 1504, 1510, 1534, 1513, 1488, 1537, |
| 175273 | | - /* 300 */ 1512, 1521, 1539, 1522, 1541, 1493, 1583, 1559, 1565, 1585, |
| 175274 | | - /* 310 */ 1587, 1589, 1529, 1531, 1532, 1549, 1558, 1566, 1535, 1577, |
| 175275 | | - /* 320 */ 1582, 1622, 1533, 1540, 1627, 1628, 1552, 1555, 1633, 1560, |
| 175276 | | - /* 330 */ 1578, 1581, 1607, 1606, 1608, 1609, 1611, 1649, 1655, 1612, |
| 175277 | | - /* 340 */ 1590, 1591, 1613, 1594, 1621, 1614, 1623, 1616, 1666, 1668, |
| 175278 | | - /* 350 */ 1579, 1593, 1672, 1675, 1656, 1676, 1679, 1680, 1688, 1660, |
| 175279 | | - /* 360 */ 1667, 1670, 1671, 1663, 1669, 1673, 1674, 1689, 1681, 1692, |
| 175280 | | - /* 370 */ 1677, 1693, 1694, 1592, 1599, 1617, 1620, 1700, 1713, 1596, |
| 175281 | | - /* 380 */ 1598, 1658, 1659, 1691, 1684, 1654, 1735, 1664, 1697, 1690, |
| 175282 | | - /* 390 */ 1701, 1703, 1748, 1758, 1760, 1768, 1770, 1772, 1657, 1661, |
| 175283 | | - /* 400 */ 1665, 1761, 1754, 1757, 1762, 1763, 1764, 1750, 1751, 1765, |
| 175284 | | - /* 410 */ 1771, 1767, 1775, |
| 175347 | + /* 0 */ -67, 1252, -64, -178, -181, 160, 1071, 143, -184, 137, |
| 175348 | + /* 10 */ 218, 220, 222, -174, 229, 268, 272, 275, 324, -208, |
| 175349 | + /* 20 */ 242, -277, -39, 81, 537, 792, 810, 812, -189, 814, |
| 175350 | + /* 30 */ 831, 163, 865, 944, 887, 840, 964, 1077, -187, 292, |
| 175351 | + /* 40 */ -133, 274, 673, 558, 682, 795, 809, -238, -232, -238, |
| 175352 | + /* 50 */ -232, 329, 329, 329, 329, 329, 329, 329, 329, 329, |
| 175353 | + /* 60 */ 329, 329, 329, 329, 329, 329, 329, 329, 329, 329, |
| 175354 | + /* 70 */ 329, 329, 329, 329, 329, 329, 329, 329, 329, 329, |
| 175355 | + /* 80 */ 329, 329, 329, 329, 329, 329, 329, 329, 329, 557, |
| 175356 | + /* 90 */ 712, 949, 966, 969, 971, 979, 1097, 1099, 1103, 1142, |
| 175357 | + /* 100 */ 1144, 1169, 1172, 1201, 1203, 1228, 1241, 1250, 1253, 1255, |
| 175358 | + /* 110 */ 1261, 1266, 1271, 1282, 1291, 1308, 1310, 1312, 1322, 1328, |
| 175359 | + /* 120 */ 1347, 1354, 1356, 1359, 1362, 1365, 1367, 1374, 1376, 1381, |
| 175360 | + /* 130 */ 1401, 1403, 1406, 1412, 1414, 1417, 1421, 1428, 1447, 1449, |
| 175361 | + /* 140 */ 1453, 1462, 329, 329, 329, 329, 329, 329, 329, 329, |
| 175362 | + /* 150 */ 329, 329, 329, -22, -159, 475, -220, 756, 38, 501, |
| 175363 | + /* 160 */ 841, 714, 329, 118, 337, 349, 363, -56, 329, 329, |
| 175364 | + /* 170 */ 329, 329, -205, -205, -205, 687, -172, -130, -57, 790, |
| 175365 | + /* 180 */ 397, 528, -271, 136, 596, 596, 90, 316, 522, 541, |
| 175366 | + /* 190 */ -37, 715, 849, 977, 628, 856, 980, 991, 1081, 1102, |
| 175367 | + /* 200 */ 1135, 1083, -162, 208, 1258, 794, -86, 159, 41, 1109, |
| 175368 | + /* 210 */ 671, 852, 844, 932, 1175, 1254, 480, 1180, 100, 258, |
| 175369 | + /* 220 */ 1265, 1268, 1216, 1287, -139, 317, 344, 63, 339, 423, |
| 175370 | + /* 230 */ 563, 636, 676, 813, 908, 914, 950, 1078, 1084, 1098, |
| 175371 | + /* 240 */ 1363, 1384, 1407, 1439, 1464, 411, 1527, 1534, 1535, 1537, |
| 175372 | + /* 250 */ 1541, 1542, 1543, 1544, 1545, 1547, 1549, 1550, 990, 1164, |
| 175373 | + /* 260 */ 1492, 1551, 1552, 1556, 1217, 1558, 1559, 1560, 1473, 1413, |
| 175374 | + /* 270 */ 1563, 1510, 1568, 563, 1570, 1571, 1572, 1573, 1574, 1575, |
| 175375 | + /* 280 */ 1443, 1466, 1518, 1513, 1514, 1515, 1516, 1217, 1518, 1518, |
| 175376 | + /* 290 */ 1531, 1562, 1582, 1477, 1505, 1511, 1533, 1512, 1488, 1538, |
| 175377 | + /* 300 */ 1509, 1517, 1546, 1519, 1557, 1489, 1565, 1564, 1578, 1586, |
| 175378 | + /* 310 */ 1587, 1588, 1526, 1528, 1554, 1555, 1576, 1577, 1566, 1579, |
| 175379 | + /* 320 */ 1584, 1591, 1520, 1523, 1617, 1628, 1580, 1581, 1632, 1585, |
| 175380 | + /* 330 */ 1590, 1593, 1604, 1605, 1606, 1608, 1609, 1641, 1649, 1610, |
| 175381 | + /* 340 */ 1592, 1594, 1611, 1595, 1616, 1612, 1618, 1613, 1651, 1654, |
| 175382 | + /* 350 */ 1596, 1598, 1655, 1663, 1650, 1673, 1680, 1677, 1684, 1653, |
| 175383 | + /* 360 */ 1664, 1666, 1667, 1662, 1669, 1672, 1676, 1686, 1679, 1691, |
| 175384 | + /* 370 */ 1689, 1692, 1694, 1597, 1599, 1619, 1630, 1699, 1700, 1602, |
| 175385 | + /* 380 */ 1615, 1648, 1657, 1690, 1698, 1658, 1729, 1652, 1695, 1702, |
| 175386 | + /* 390 */ 1704, 1703, 1741, 1754, 1758, 1768, 1769, 1771, 1660, 1661, |
| 175387 | + /* 400 */ 1665, 1752, 1756, 1757, 1759, 1760, 1764, 1745, 1753, 1762, |
| 175388 | + /* 410 */ 1763, 1761, 1772, |
| 175285 | 175389 | }; |
| 175286 | 175390 | static const YYACTIONTYPE yy_default[] = { |
| 175287 | 175391 | /* 0 */ 1663, 1663, 1663, 1491, 1254, 1367, 1254, 1254, 1254, 1254, |
| 175288 | 175392 | /* 10 */ 1491, 1491, 1491, 1254, 1254, 1254, 1254, 1254, 1254, 1397, |
| 175289 | 175393 | /* 20 */ 1397, 1544, 1287, 1254, 1254, 1254, 1254, 1254, 1254, 1254, |
| | @@ -175545,10 +175649,11 @@ |
| 175545 | 175649 | 0, /* ASTERISK => nothing */ |
| 175546 | 175650 | 0, /* SPAN => nothing */ |
| 175547 | 175651 | 0, /* ERROR => nothing */ |
| 175548 | 175652 | 0, /* QNUMBER => nothing */ |
| 175549 | 175653 | 0, /* SPACE => nothing */ |
| 175654 | + 0, /* COMMENT => nothing */ |
| 175550 | 175655 | 0, /* ILLEGAL => nothing */ |
| 175551 | 175656 | }; |
| 175552 | 175657 | #endif /* YYFALLBACK */ |
| 175553 | 175658 | |
| 175554 | 175659 | /* The following structure represents a single element of the |
| | @@ -175814,147 +175919,148 @@ |
| 175814 | 175919 | /* 180 */ "ASTERISK", |
| 175815 | 175920 | /* 181 */ "SPAN", |
| 175816 | 175921 | /* 182 */ "ERROR", |
| 175817 | 175922 | /* 183 */ "QNUMBER", |
| 175818 | 175923 | /* 184 */ "SPACE", |
| 175819 | | - /* 185 */ "ILLEGAL", |
| 175820 | | - /* 186 */ "input", |
| 175821 | | - /* 187 */ "cmdlist", |
| 175822 | | - /* 188 */ "ecmd", |
| 175823 | | - /* 189 */ "cmdx", |
| 175824 | | - /* 190 */ "explain", |
| 175825 | | - /* 191 */ "cmd", |
| 175826 | | - /* 192 */ "transtype", |
| 175827 | | - /* 193 */ "trans_opt", |
| 175828 | | - /* 194 */ "nm", |
| 175829 | | - /* 195 */ "savepoint_opt", |
| 175830 | | - /* 196 */ "create_table", |
| 175831 | | - /* 197 */ "create_table_args", |
| 175832 | | - /* 198 */ "createkw", |
| 175833 | | - /* 199 */ "temp", |
| 175834 | | - /* 200 */ "ifnotexists", |
| 175835 | | - /* 201 */ "dbnm", |
| 175836 | | - /* 202 */ "columnlist", |
| 175837 | | - /* 203 */ "conslist_opt", |
| 175838 | | - /* 204 */ "table_option_set", |
| 175839 | | - /* 205 */ "select", |
| 175840 | | - /* 206 */ "table_option", |
| 175841 | | - /* 207 */ "columnname", |
| 175842 | | - /* 208 */ "carglist", |
| 175843 | | - /* 209 */ "typetoken", |
| 175844 | | - /* 210 */ "typename", |
| 175845 | | - /* 211 */ "signed", |
| 175846 | | - /* 212 */ "plus_num", |
| 175847 | | - /* 213 */ "minus_num", |
| 175848 | | - /* 214 */ "scanpt", |
| 175849 | | - /* 215 */ "scantok", |
| 175850 | | - /* 216 */ "ccons", |
| 175851 | | - /* 217 */ "term", |
| 175852 | | - /* 218 */ "expr", |
| 175853 | | - /* 219 */ "onconf", |
| 175854 | | - /* 220 */ "sortorder", |
| 175855 | | - /* 221 */ "autoinc", |
| 175856 | | - /* 222 */ "eidlist_opt", |
| 175857 | | - /* 223 */ "refargs", |
| 175858 | | - /* 224 */ "defer_subclause", |
| 175859 | | - /* 225 */ "generated", |
| 175860 | | - /* 226 */ "refarg", |
| 175861 | | - /* 227 */ "refact", |
| 175862 | | - /* 228 */ "init_deferred_pred_opt", |
| 175863 | | - /* 229 */ "conslist", |
| 175864 | | - /* 230 */ "tconscomma", |
| 175865 | | - /* 231 */ "tcons", |
| 175866 | | - /* 232 */ "sortlist", |
| 175867 | | - /* 233 */ "eidlist", |
| 175868 | | - /* 234 */ "defer_subclause_opt", |
| 175869 | | - /* 235 */ "orconf", |
| 175870 | | - /* 236 */ "resolvetype", |
| 175871 | | - /* 237 */ "raisetype", |
| 175872 | | - /* 238 */ "ifexists", |
| 175873 | | - /* 239 */ "fullname", |
| 175874 | | - /* 240 */ "selectnowith", |
| 175875 | | - /* 241 */ "oneselect", |
| 175876 | | - /* 242 */ "wqlist", |
| 175877 | | - /* 243 */ "multiselect_op", |
| 175878 | | - /* 244 */ "distinct", |
| 175879 | | - /* 245 */ "selcollist", |
| 175880 | | - /* 246 */ "from", |
| 175881 | | - /* 247 */ "where_opt", |
| 175882 | | - /* 248 */ "groupby_opt", |
| 175883 | | - /* 249 */ "having_opt", |
| 175884 | | - /* 250 */ "orderby_opt", |
| 175885 | | - /* 251 */ "limit_opt", |
| 175886 | | - /* 252 */ "window_clause", |
| 175887 | | - /* 253 */ "values", |
| 175888 | | - /* 254 */ "nexprlist", |
| 175889 | | - /* 255 */ "mvalues", |
| 175890 | | - /* 256 */ "sclp", |
| 175891 | | - /* 257 */ "as", |
| 175892 | | - /* 258 */ "seltablist", |
| 175893 | | - /* 259 */ "stl_prefix", |
| 175894 | | - /* 260 */ "joinop", |
| 175895 | | - /* 261 */ "on_using", |
| 175896 | | - /* 262 */ "indexed_by", |
| 175897 | | - /* 263 */ "exprlist", |
| 175898 | | - /* 264 */ "xfullname", |
| 175899 | | - /* 265 */ "idlist", |
| 175900 | | - /* 266 */ "indexed_opt", |
| 175901 | | - /* 267 */ "nulls", |
| 175902 | | - /* 268 */ "with", |
| 175903 | | - /* 269 */ "where_opt_ret", |
| 175904 | | - /* 270 */ "setlist", |
| 175905 | | - /* 271 */ "insert_cmd", |
| 175906 | | - /* 272 */ "idlist_opt", |
| 175907 | | - /* 273 */ "upsert", |
| 175908 | | - /* 274 */ "returning", |
| 175909 | | - /* 275 */ "filter_over", |
| 175910 | | - /* 276 */ "likeop", |
| 175911 | | - /* 277 */ "between_op", |
| 175912 | | - /* 278 */ "in_op", |
| 175913 | | - /* 279 */ "paren_exprlist", |
| 175914 | | - /* 280 */ "case_operand", |
| 175915 | | - /* 281 */ "case_exprlist", |
| 175916 | | - /* 282 */ "case_else", |
| 175917 | | - /* 283 */ "uniqueflag", |
| 175918 | | - /* 284 */ "collate", |
| 175919 | | - /* 285 */ "vinto", |
| 175920 | | - /* 286 */ "nmnum", |
| 175921 | | - /* 287 */ "trigger_decl", |
| 175922 | | - /* 288 */ "trigger_cmd_list", |
| 175923 | | - /* 289 */ "trigger_time", |
| 175924 | | - /* 290 */ "trigger_event", |
| 175925 | | - /* 291 */ "foreach_clause", |
| 175926 | | - /* 292 */ "when_clause", |
| 175927 | | - /* 293 */ "trigger_cmd", |
| 175928 | | - /* 294 */ "trnm", |
| 175929 | | - /* 295 */ "tridxby", |
| 175930 | | - /* 296 */ "database_kw_opt", |
| 175931 | | - /* 297 */ "key_opt", |
| 175932 | | - /* 298 */ "add_column_fullname", |
| 175933 | | - /* 299 */ "kwcolumn_opt", |
| 175934 | | - /* 300 */ "create_vtab", |
| 175935 | | - /* 301 */ "vtabarglist", |
| 175936 | | - /* 302 */ "vtabarg", |
| 175937 | | - /* 303 */ "vtabargtoken", |
| 175938 | | - /* 304 */ "lp", |
| 175939 | | - /* 305 */ "anylist", |
| 175940 | | - /* 306 */ "wqitem", |
| 175941 | | - /* 307 */ "wqas", |
| 175942 | | - /* 308 */ "withnm", |
| 175943 | | - /* 309 */ "windowdefn_list", |
| 175944 | | - /* 310 */ "windowdefn", |
| 175945 | | - /* 311 */ "window", |
| 175946 | | - /* 312 */ "frame_opt", |
| 175947 | | - /* 313 */ "part_opt", |
| 175948 | | - /* 314 */ "filter_clause", |
| 175949 | | - /* 315 */ "over_clause", |
| 175950 | | - /* 316 */ "range_or_rows", |
| 175951 | | - /* 317 */ "frame_bound", |
| 175952 | | - /* 318 */ "frame_bound_s", |
| 175953 | | - /* 319 */ "frame_bound_e", |
| 175954 | | - /* 320 */ "frame_exclude_opt", |
| 175955 | | - /* 321 */ "frame_exclude", |
| 175924 | + /* 185 */ "COMMENT", |
| 175925 | + /* 186 */ "ILLEGAL", |
| 175926 | + /* 187 */ "input", |
| 175927 | + /* 188 */ "cmdlist", |
| 175928 | + /* 189 */ "ecmd", |
| 175929 | + /* 190 */ "cmdx", |
| 175930 | + /* 191 */ "explain", |
| 175931 | + /* 192 */ "cmd", |
| 175932 | + /* 193 */ "transtype", |
| 175933 | + /* 194 */ "trans_opt", |
| 175934 | + /* 195 */ "nm", |
| 175935 | + /* 196 */ "savepoint_opt", |
| 175936 | + /* 197 */ "create_table", |
| 175937 | + /* 198 */ "create_table_args", |
| 175938 | + /* 199 */ "createkw", |
| 175939 | + /* 200 */ "temp", |
| 175940 | + /* 201 */ "ifnotexists", |
| 175941 | + /* 202 */ "dbnm", |
| 175942 | + /* 203 */ "columnlist", |
| 175943 | + /* 204 */ "conslist_opt", |
| 175944 | + /* 205 */ "table_option_set", |
| 175945 | + /* 206 */ "select", |
| 175946 | + /* 207 */ "table_option", |
| 175947 | + /* 208 */ "columnname", |
| 175948 | + /* 209 */ "carglist", |
| 175949 | + /* 210 */ "typetoken", |
| 175950 | + /* 211 */ "typename", |
| 175951 | + /* 212 */ "signed", |
| 175952 | + /* 213 */ "plus_num", |
| 175953 | + /* 214 */ "minus_num", |
| 175954 | + /* 215 */ "scanpt", |
| 175955 | + /* 216 */ "scantok", |
| 175956 | + /* 217 */ "ccons", |
| 175957 | + /* 218 */ "term", |
| 175958 | + /* 219 */ "expr", |
| 175959 | + /* 220 */ "onconf", |
| 175960 | + /* 221 */ "sortorder", |
| 175961 | + /* 222 */ "autoinc", |
| 175962 | + /* 223 */ "eidlist_opt", |
| 175963 | + /* 224 */ "refargs", |
| 175964 | + /* 225 */ "defer_subclause", |
| 175965 | + /* 226 */ "generated", |
| 175966 | + /* 227 */ "refarg", |
| 175967 | + /* 228 */ "refact", |
| 175968 | + /* 229 */ "init_deferred_pred_opt", |
| 175969 | + /* 230 */ "conslist", |
| 175970 | + /* 231 */ "tconscomma", |
| 175971 | + /* 232 */ "tcons", |
| 175972 | + /* 233 */ "sortlist", |
| 175973 | + /* 234 */ "eidlist", |
| 175974 | + /* 235 */ "defer_subclause_opt", |
| 175975 | + /* 236 */ "orconf", |
| 175976 | + /* 237 */ "resolvetype", |
| 175977 | + /* 238 */ "raisetype", |
| 175978 | + /* 239 */ "ifexists", |
| 175979 | + /* 240 */ "fullname", |
| 175980 | + /* 241 */ "selectnowith", |
| 175981 | + /* 242 */ "oneselect", |
| 175982 | + /* 243 */ "wqlist", |
| 175983 | + /* 244 */ "multiselect_op", |
| 175984 | + /* 245 */ "distinct", |
| 175985 | + /* 246 */ "selcollist", |
| 175986 | + /* 247 */ "from", |
| 175987 | + /* 248 */ "where_opt", |
| 175988 | + /* 249 */ "groupby_opt", |
| 175989 | + /* 250 */ "having_opt", |
| 175990 | + /* 251 */ "orderby_opt", |
| 175991 | + /* 252 */ "limit_opt", |
| 175992 | + /* 253 */ "window_clause", |
| 175993 | + /* 254 */ "values", |
| 175994 | + /* 255 */ "nexprlist", |
| 175995 | + /* 256 */ "mvalues", |
| 175996 | + /* 257 */ "sclp", |
| 175997 | + /* 258 */ "as", |
| 175998 | + /* 259 */ "seltablist", |
| 175999 | + /* 260 */ "stl_prefix", |
| 176000 | + /* 261 */ "joinop", |
| 176001 | + /* 262 */ "on_using", |
| 176002 | + /* 263 */ "indexed_by", |
| 176003 | + /* 264 */ "exprlist", |
| 176004 | + /* 265 */ "xfullname", |
| 176005 | + /* 266 */ "idlist", |
| 176006 | + /* 267 */ "indexed_opt", |
| 176007 | + /* 268 */ "nulls", |
| 176008 | + /* 269 */ "with", |
| 176009 | + /* 270 */ "where_opt_ret", |
| 176010 | + /* 271 */ "setlist", |
| 176011 | + /* 272 */ "insert_cmd", |
| 176012 | + /* 273 */ "idlist_opt", |
| 176013 | + /* 274 */ "upsert", |
| 176014 | + /* 275 */ "returning", |
| 176015 | + /* 276 */ "filter_over", |
| 176016 | + /* 277 */ "likeop", |
| 176017 | + /* 278 */ "between_op", |
| 176018 | + /* 279 */ "in_op", |
| 176019 | + /* 280 */ "paren_exprlist", |
| 176020 | + /* 281 */ "case_operand", |
| 176021 | + /* 282 */ "case_exprlist", |
| 176022 | + /* 283 */ "case_else", |
| 176023 | + /* 284 */ "uniqueflag", |
| 176024 | + /* 285 */ "collate", |
| 176025 | + /* 286 */ "vinto", |
| 176026 | + /* 287 */ "nmnum", |
| 176027 | + /* 288 */ "trigger_decl", |
| 176028 | + /* 289 */ "trigger_cmd_list", |
| 176029 | + /* 290 */ "trigger_time", |
| 176030 | + /* 291 */ "trigger_event", |
| 176031 | + /* 292 */ "foreach_clause", |
| 176032 | + /* 293 */ "when_clause", |
| 176033 | + /* 294 */ "trigger_cmd", |
| 176034 | + /* 295 */ "trnm", |
| 176035 | + /* 296 */ "tridxby", |
| 176036 | + /* 297 */ "database_kw_opt", |
| 176037 | + /* 298 */ "key_opt", |
| 176038 | + /* 299 */ "add_column_fullname", |
| 176039 | + /* 300 */ "kwcolumn_opt", |
| 176040 | + /* 301 */ "create_vtab", |
| 176041 | + /* 302 */ "vtabarglist", |
| 176042 | + /* 303 */ "vtabarg", |
| 176043 | + /* 304 */ "vtabargtoken", |
| 176044 | + /* 305 */ "lp", |
| 176045 | + /* 306 */ "anylist", |
| 176046 | + /* 307 */ "wqitem", |
| 176047 | + /* 308 */ "wqas", |
| 176048 | + /* 309 */ "withnm", |
| 176049 | + /* 310 */ "windowdefn_list", |
| 176050 | + /* 311 */ "windowdefn", |
| 176051 | + /* 312 */ "window", |
| 176052 | + /* 313 */ "frame_opt", |
| 176053 | + /* 314 */ "part_opt", |
| 176054 | + /* 315 */ "filter_clause", |
| 176055 | + /* 316 */ "over_clause", |
| 176056 | + /* 317 */ "range_or_rows", |
| 176057 | + /* 318 */ "frame_bound", |
| 176058 | + /* 319 */ "frame_bound_s", |
| 176059 | + /* 320 */ "frame_bound_e", |
| 176060 | + /* 321 */ "frame_exclude_opt", |
| 176061 | + /* 322 */ "frame_exclude", |
| 175956 | 176062 | }; |
| 175957 | 176063 | #endif /* defined(YYCOVERAGE) || !defined(NDEBUG) */ |
| 175958 | 176064 | |
| 175959 | 176065 | #ifndef NDEBUG |
| 175960 | 176066 | /* For tracing reduce actions, the names of all rules are required. |
| | @@ -176490,102 +176596,102 @@ |
| 176490 | 176596 | ** Note: during a reduce, the only symbols destroyed are those |
| 176491 | 176597 | ** which appear on the RHS of the rule, but which are *not* used |
| 176492 | 176598 | ** inside the C code. |
| 176493 | 176599 | */ |
| 176494 | 176600 | /********* Begin destructor definitions ***************************************/ |
| 176495 | | - case 205: /* select */ |
| 176496 | | - case 240: /* selectnowith */ |
| 176497 | | - case 241: /* oneselect */ |
| 176498 | | - case 253: /* values */ |
| 176499 | | - case 255: /* mvalues */ |
| 176500 | | -{ |
| 176501 | | -sqlite3SelectDelete(pParse->db, (yypminor->yy555)); |
| 176502 | | -} |
| 176503 | | - break; |
| 176504 | | - case 217: /* term */ |
| 176505 | | - case 218: /* expr */ |
| 176506 | | - case 247: /* where_opt */ |
| 176507 | | - case 249: /* having_opt */ |
| 176508 | | - case 269: /* where_opt_ret */ |
| 176509 | | - case 280: /* case_operand */ |
| 176510 | | - case 282: /* case_else */ |
| 176511 | | - case 285: /* vinto */ |
| 176512 | | - case 292: /* when_clause */ |
| 176513 | | - case 297: /* key_opt */ |
| 176514 | | - case 314: /* filter_clause */ |
| 176515 | | -{ |
| 176516 | | -sqlite3ExprDelete(pParse->db, (yypminor->yy454)); |
| 176517 | | -} |
| 176518 | | - break; |
| 176519 | | - case 222: /* eidlist_opt */ |
| 176520 | | - case 232: /* sortlist */ |
| 176521 | | - case 233: /* eidlist */ |
| 176522 | | - case 245: /* selcollist */ |
| 176523 | | - case 248: /* groupby_opt */ |
| 176524 | | - case 250: /* orderby_opt */ |
| 176525 | | - case 254: /* nexprlist */ |
| 176526 | | - case 256: /* sclp */ |
| 176527 | | - case 263: /* exprlist */ |
| 176528 | | - case 270: /* setlist */ |
| 176529 | | - case 279: /* paren_exprlist */ |
| 176530 | | - case 281: /* case_exprlist */ |
| 176531 | | - case 313: /* part_opt */ |
| 176532 | | -{ |
| 176533 | | -sqlite3ExprListDelete(pParse->db, (yypminor->yy14)); |
| 176534 | | -} |
| 176535 | | - break; |
| 176536 | | - case 239: /* fullname */ |
| 176537 | | - case 246: /* from */ |
| 176538 | | - case 258: /* seltablist */ |
| 176539 | | - case 259: /* stl_prefix */ |
| 176540 | | - case 264: /* xfullname */ |
| 176541 | | -{ |
| 176542 | | -sqlite3SrcListDelete(pParse->db, (yypminor->yy203)); |
| 176543 | | -} |
| 176544 | | - break; |
| 176545 | | - case 242: /* wqlist */ |
| 176546 | | -{ |
| 176547 | | -sqlite3WithDelete(pParse->db, (yypminor->yy59)); |
| 176548 | | -} |
| 176549 | | - break; |
| 176550 | | - case 252: /* window_clause */ |
| 176551 | | - case 309: /* windowdefn_list */ |
| 176552 | | -{ |
| 176553 | | -sqlite3WindowListDelete(pParse->db, (yypminor->yy211)); |
| 176554 | | -} |
| 176555 | | - break; |
| 176556 | | - case 265: /* idlist */ |
| 176557 | | - case 272: /* idlist_opt */ |
| 176558 | | -{ |
| 176559 | | -sqlite3IdListDelete(pParse->db, (yypminor->yy132)); |
| 176560 | | -} |
| 176561 | | - break; |
| 176562 | | - case 275: /* filter_over */ |
| 176563 | | - case 310: /* windowdefn */ |
| 176564 | | - case 311: /* window */ |
| 176565 | | - case 312: /* frame_opt */ |
| 176566 | | - case 315: /* over_clause */ |
| 176567 | | -{ |
| 176568 | | -sqlite3WindowDelete(pParse->db, (yypminor->yy211)); |
| 176569 | | -} |
| 176570 | | - break; |
| 176571 | | - case 288: /* trigger_cmd_list */ |
| 176572 | | - case 293: /* trigger_cmd */ |
| 176573 | | -{ |
| 176574 | | -sqlite3DeleteTriggerStep(pParse->db, (yypminor->yy427)); |
| 176575 | | -} |
| 176576 | | - break; |
| 176577 | | - case 290: /* trigger_event */ |
| 176578 | | -{ |
| 176579 | | -sqlite3IdListDelete(pParse->db, (yypminor->yy286).b); |
| 176580 | | -} |
| 176581 | | - break; |
| 176582 | | - case 317: /* frame_bound */ |
| 176583 | | - case 318: /* frame_bound_s */ |
| 176584 | | - case 319: /* frame_bound_e */ |
| 176585 | | -{ |
| 176586 | | -sqlite3ExprDelete(pParse->db, (yypminor->yy509).pExpr); |
| 176601 | + case 206: /* select */ |
| 176602 | + case 241: /* selectnowith */ |
| 176603 | + case 242: /* oneselect */ |
| 176604 | + case 254: /* values */ |
| 176605 | + case 256: /* mvalues */ |
| 176606 | +{ |
| 176607 | +sqlite3SelectDelete(pParse->db, (yypminor->yy637)); |
| 176608 | +} |
| 176609 | + break; |
| 176610 | + case 218: /* term */ |
| 176611 | + case 219: /* expr */ |
| 176612 | + case 248: /* where_opt */ |
| 176613 | + case 250: /* having_opt */ |
| 176614 | + case 270: /* where_opt_ret */ |
| 176615 | + case 281: /* case_operand */ |
| 176616 | + case 283: /* case_else */ |
| 176617 | + case 286: /* vinto */ |
| 176618 | + case 293: /* when_clause */ |
| 176619 | + case 298: /* key_opt */ |
| 176620 | + case 315: /* filter_clause */ |
| 176621 | +{ |
| 176622 | +sqlite3ExprDelete(pParse->db, (yypminor->yy590)); |
| 176623 | +} |
| 176624 | + break; |
| 176625 | + case 223: /* eidlist_opt */ |
| 176626 | + case 233: /* sortlist */ |
| 176627 | + case 234: /* eidlist */ |
| 176628 | + case 246: /* selcollist */ |
| 176629 | + case 249: /* groupby_opt */ |
| 176630 | + case 251: /* orderby_opt */ |
| 176631 | + case 255: /* nexprlist */ |
| 176632 | + case 257: /* sclp */ |
| 176633 | + case 264: /* exprlist */ |
| 176634 | + case 271: /* setlist */ |
| 176635 | + case 280: /* paren_exprlist */ |
| 176636 | + case 282: /* case_exprlist */ |
| 176637 | + case 314: /* part_opt */ |
| 176638 | +{ |
| 176639 | +sqlite3ExprListDelete(pParse->db, (yypminor->yy402)); |
| 176640 | +} |
| 176641 | + break; |
| 176642 | + case 240: /* fullname */ |
| 176643 | + case 247: /* from */ |
| 176644 | + case 259: /* seltablist */ |
| 176645 | + case 260: /* stl_prefix */ |
| 176646 | + case 265: /* xfullname */ |
| 176647 | +{ |
| 176648 | +sqlite3SrcListDelete(pParse->db, (yypminor->yy563)); |
| 176649 | +} |
| 176650 | + break; |
| 176651 | + case 243: /* wqlist */ |
| 176652 | +{ |
| 176653 | +sqlite3WithDelete(pParse->db, (yypminor->yy125)); |
| 176654 | +} |
| 176655 | + break; |
| 176656 | + case 253: /* window_clause */ |
| 176657 | + case 310: /* windowdefn_list */ |
| 176658 | +{ |
| 176659 | +sqlite3WindowListDelete(pParse->db, (yypminor->yy483)); |
| 176660 | +} |
| 176661 | + break; |
| 176662 | + case 266: /* idlist */ |
| 176663 | + case 273: /* idlist_opt */ |
| 176664 | +{ |
| 176665 | +sqlite3IdListDelete(pParse->db, (yypminor->yy204)); |
| 176666 | +} |
| 176667 | + break; |
| 176668 | + case 276: /* filter_over */ |
| 176669 | + case 311: /* windowdefn */ |
| 176670 | + case 312: /* window */ |
| 176671 | + case 313: /* frame_opt */ |
| 176672 | + case 316: /* over_clause */ |
| 176673 | +{ |
| 176674 | +sqlite3WindowDelete(pParse->db, (yypminor->yy483)); |
| 176675 | +} |
| 176676 | + break; |
| 176677 | + case 289: /* trigger_cmd_list */ |
| 176678 | + case 294: /* trigger_cmd */ |
| 176679 | +{ |
| 176680 | +sqlite3DeleteTriggerStep(pParse->db, (yypminor->yy319)); |
| 176681 | +} |
| 176682 | + break; |
| 176683 | + case 291: /* trigger_event */ |
| 176684 | +{ |
| 176685 | +sqlite3IdListDelete(pParse->db, (yypminor->yy28).b); |
| 176686 | +} |
| 176687 | + break; |
| 176688 | + case 318: /* frame_bound */ |
| 176689 | + case 319: /* frame_bound_s */ |
| 176690 | + case 320: /* frame_bound_e */ |
| 176691 | +{ |
| 176692 | +sqlite3ExprDelete(pParse->db, (yypminor->yy205).pExpr); |
| 176587 | 176693 | } |
| 176588 | 176694 | break; |
| 176589 | 176695 | /********* End destructor definitions *****************************************/ |
| 176590 | 176696 | default: break; /* If no destructor action specified: do nothing */ |
| 176591 | 176697 | } |
| | @@ -176883,419 +176989,419 @@ |
| 176883 | 176989 | } |
| 176884 | 176990 | |
| 176885 | 176991 | /* For rule J, yyRuleInfoLhs[J] contains the symbol on the left-hand side |
| 176886 | 176992 | ** of that rule */ |
| 176887 | 176993 | static const YYCODETYPE yyRuleInfoLhs[] = { |
| 176888 | | - 190, /* (0) explain ::= EXPLAIN */ |
| 176889 | | - 190, /* (1) explain ::= EXPLAIN QUERY PLAN */ |
| 176890 | | - 189, /* (2) cmdx ::= cmd */ |
| 176891 | | - 191, /* (3) cmd ::= BEGIN transtype trans_opt */ |
| 176892 | | - 192, /* (4) transtype ::= */ |
| 176893 | | - 192, /* (5) transtype ::= DEFERRED */ |
| 176894 | | - 192, /* (6) transtype ::= IMMEDIATE */ |
| 176895 | | - 192, /* (7) transtype ::= EXCLUSIVE */ |
| 176896 | | - 191, /* (8) cmd ::= COMMIT|END trans_opt */ |
| 176897 | | - 191, /* (9) cmd ::= ROLLBACK trans_opt */ |
| 176898 | | - 191, /* (10) cmd ::= SAVEPOINT nm */ |
| 176899 | | - 191, /* (11) cmd ::= RELEASE savepoint_opt nm */ |
| 176900 | | - 191, /* (12) cmd ::= ROLLBACK trans_opt TO savepoint_opt nm */ |
| 176901 | | - 196, /* (13) create_table ::= createkw temp TABLE ifnotexists nm dbnm */ |
| 176902 | | - 198, /* (14) createkw ::= CREATE */ |
| 176903 | | - 200, /* (15) ifnotexists ::= */ |
| 176904 | | - 200, /* (16) ifnotexists ::= IF NOT EXISTS */ |
| 176905 | | - 199, /* (17) temp ::= TEMP */ |
| 176906 | | - 199, /* (18) temp ::= */ |
| 176907 | | - 197, /* (19) create_table_args ::= LP columnlist conslist_opt RP table_option_set */ |
| 176908 | | - 197, /* (20) create_table_args ::= AS select */ |
| 176909 | | - 204, /* (21) table_option_set ::= */ |
| 176910 | | - 204, /* (22) table_option_set ::= table_option_set COMMA table_option */ |
| 176911 | | - 206, /* (23) table_option ::= WITHOUT nm */ |
| 176912 | | - 206, /* (24) table_option ::= nm */ |
| 176913 | | - 207, /* (25) columnname ::= nm typetoken */ |
| 176914 | | - 209, /* (26) typetoken ::= */ |
| 176915 | | - 209, /* (27) typetoken ::= typename LP signed RP */ |
| 176916 | | - 209, /* (28) typetoken ::= typename LP signed COMMA signed RP */ |
| 176917 | | - 210, /* (29) typename ::= typename ID|STRING */ |
| 176918 | | - 214, /* (30) scanpt ::= */ |
| 176919 | | - 215, /* (31) scantok ::= */ |
| 176920 | | - 216, /* (32) ccons ::= CONSTRAINT nm */ |
| 176921 | | - 216, /* (33) ccons ::= DEFAULT scantok term */ |
| 176922 | | - 216, /* (34) ccons ::= DEFAULT LP expr RP */ |
| 176923 | | - 216, /* (35) ccons ::= DEFAULT PLUS scantok term */ |
| 176924 | | - 216, /* (36) ccons ::= DEFAULT MINUS scantok term */ |
| 176925 | | - 216, /* (37) ccons ::= DEFAULT scantok ID|INDEXED */ |
| 176926 | | - 216, /* (38) ccons ::= NOT NULL onconf */ |
| 176927 | | - 216, /* (39) ccons ::= PRIMARY KEY sortorder onconf autoinc */ |
| 176928 | | - 216, /* (40) ccons ::= UNIQUE onconf */ |
| 176929 | | - 216, /* (41) ccons ::= CHECK LP expr RP */ |
| 176930 | | - 216, /* (42) ccons ::= REFERENCES nm eidlist_opt refargs */ |
| 176931 | | - 216, /* (43) ccons ::= defer_subclause */ |
| 176932 | | - 216, /* (44) ccons ::= COLLATE ID|STRING */ |
| 176933 | | - 225, /* (45) generated ::= LP expr RP */ |
| 176934 | | - 225, /* (46) generated ::= LP expr RP ID */ |
| 176935 | | - 221, /* (47) autoinc ::= */ |
| 176936 | | - 221, /* (48) autoinc ::= AUTOINCR */ |
| 176937 | | - 223, /* (49) refargs ::= */ |
| 176938 | | - 223, /* (50) refargs ::= refargs refarg */ |
| 176939 | | - 226, /* (51) refarg ::= MATCH nm */ |
| 176940 | | - 226, /* (52) refarg ::= ON INSERT refact */ |
| 176941 | | - 226, /* (53) refarg ::= ON DELETE refact */ |
| 176942 | | - 226, /* (54) refarg ::= ON UPDATE refact */ |
| 176943 | | - 227, /* (55) refact ::= SET NULL */ |
| 176944 | | - 227, /* (56) refact ::= SET DEFAULT */ |
| 176945 | | - 227, /* (57) refact ::= CASCADE */ |
| 176946 | | - 227, /* (58) refact ::= RESTRICT */ |
| 176947 | | - 227, /* (59) refact ::= NO ACTION */ |
| 176948 | | - 224, /* (60) defer_subclause ::= NOT DEFERRABLE init_deferred_pred_opt */ |
| 176949 | | - 224, /* (61) defer_subclause ::= DEFERRABLE init_deferred_pred_opt */ |
| 176950 | | - 228, /* (62) init_deferred_pred_opt ::= */ |
| 176951 | | - 228, /* (63) init_deferred_pred_opt ::= INITIALLY DEFERRED */ |
| 176952 | | - 228, /* (64) init_deferred_pred_opt ::= INITIALLY IMMEDIATE */ |
| 176953 | | - 203, /* (65) conslist_opt ::= */ |
| 176954 | | - 230, /* (66) tconscomma ::= COMMA */ |
| 176955 | | - 231, /* (67) tcons ::= CONSTRAINT nm */ |
| 176956 | | - 231, /* (68) tcons ::= PRIMARY KEY LP sortlist autoinc RP onconf */ |
| 176957 | | - 231, /* (69) tcons ::= UNIQUE LP sortlist RP onconf */ |
| 176958 | | - 231, /* (70) tcons ::= CHECK LP expr RP onconf */ |
| 176959 | | - 231, /* (71) tcons ::= FOREIGN KEY LP eidlist RP REFERENCES nm eidlist_opt refargs defer_subclause_opt */ |
| 176960 | | - 234, /* (72) defer_subclause_opt ::= */ |
| 176961 | | - 219, /* (73) onconf ::= */ |
| 176962 | | - 219, /* (74) onconf ::= ON CONFLICT resolvetype */ |
| 176963 | | - 235, /* (75) orconf ::= */ |
| 176964 | | - 235, /* (76) orconf ::= OR resolvetype */ |
| 176965 | | - 236, /* (77) resolvetype ::= IGNORE */ |
| 176966 | | - 236, /* (78) resolvetype ::= REPLACE */ |
| 176967 | | - 191, /* (79) cmd ::= DROP TABLE ifexists fullname */ |
| 176968 | | - 238, /* (80) ifexists ::= IF EXISTS */ |
| 176969 | | - 238, /* (81) ifexists ::= */ |
| 176970 | | - 191, /* (82) cmd ::= createkw temp VIEW ifnotexists nm dbnm eidlist_opt AS select */ |
| 176971 | | - 191, /* (83) cmd ::= DROP VIEW ifexists fullname */ |
| 176972 | | - 191, /* (84) cmd ::= select */ |
| 176973 | | - 205, /* (85) select ::= WITH wqlist selectnowith */ |
| 176974 | | - 205, /* (86) select ::= WITH RECURSIVE wqlist selectnowith */ |
| 176975 | | - 205, /* (87) select ::= selectnowith */ |
| 176976 | | - 240, /* (88) selectnowith ::= selectnowith multiselect_op oneselect */ |
| 176977 | | - 243, /* (89) multiselect_op ::= UNION */ |
| 176978 | | - 243, /* (90) multiselect_op ::= UNION ALL */ |
| 176979 | | - 243, /* (91) multiselect_op ::= EXCEPT|INTERSECT */ |
| 176980 | | - 241, /* (92) oneselect ::= SELECT distinct selcollist from where_opt groupby_opt having_opt orderby_opt limit_opt */ |
| 176981 | | - 241, /* (93) oneselect ::= SELECT distinct selcollist from where_opt groupby_opt having_opt window_clause orderby_opt limit_opt */ |
| 176982 | | - 253, /* (94) values ::= VALUES LP nexprlist RP */ |
| 176983 | | - 241, /* (95) oneselect ::= mvalues */ |
| 176984 | | - 255, /* (96) mvalues ::= values COMMA LP nexprlist RP */ |
| 176985 | | - 255, /* (97) mvalues ::= mvalues COMMA LP nexprlist RP */ |
| 176986 | | - 244, /* (98) distinct ::= DISTINCT */ |
| 176987 | | - 244, /* (99) distinct ::= ALL */ |
| 176988 | | - 244, /* (100) distinct ::= */ |
| 176989 | | - 256, /* (101) sclp ::= */ |
| 176990 | | - 245, /* (102) selcollist ::= sclp scanpt expr scanpt as */ |
| 176991 | | - 245, /* (103) selcollist ::= sclp scanpt STAR */ |
| 176992 | | - 245, /* (104) selcollist ::= sclp scanpt nm DOT STAR */ |
| 176993 | | - 257, /* (105) as ::= AS nm */ |
| 176994 | | - 257, /* (106) as ::= */ |
| 176995 | | - 246, /* (107) from ::= */ |
| 176996 | | - 246, /* (108) from ::= FROM seltablist */ |
| 176997 | | - 259, /* (109) stl_prefix ::= seltablist joinop */ |
| 176998 | | - 259, /* (110) stl_prefix ::= */ |
| 176999 | | - 258, /* (111) seltablist ::= stl_prefix nm dbnm as on_using */ |
| 177000 | | - 258, /* (112) seltablist ::= stl_prefix nm dbnm as indexed_by on_using */ |
| 177001 | | - 258, /* (113) seltablist ::= stl_prefix nm dbnm LP exprlist RP as on_using */ |
| 177002 | | - 258, /* (114) seltablist ::= stl_prefix LP select RP as on_using */ |
| 177003 | | - 258, /* (115) seltablist ::= stl_prefix LP seltablist RP as on_using */ |
| 177004 | | - 201, /* (116) dbnm ::= */ |
| 177005 | | - 201, /* (117) dbnm ::= DOT nm */ |
| 177006 | | - 239, /* (118) fullname ::= nm */ |
| 177007 | | - 239, /* (119) fullname ::= nm DOT nm */ |
| 177008 | | - 264, /* (120) xfullname ::= nm */ |
| 177009 | | - 264, /* (121) xfullname ::= nm DOT nm */ |
| 177010 | | - 264, /* (122) xfullname ::= nm DOT nm AS nm */ |
| 177011 | | - 264, /* (123) xfullname ::= nm AS nm */ |
| 177012 | | - 260, /* (124) joinop ::= COMMA|JOIN */ |
| 177013 | | - 260, /* (125) joinop ::= JOIN_KW JOIN */ |
| 177014 | | - 260, /* (126) joinop ::= JOIN_KW nm JOIN */ |
| 177015 | | - 260, /* (127) joinop ::= JOIN_KW nm nm JOIN */ |
| 177016 | | - 261, /* (128) on_using ::= ON expr */ |
| 177017 | | - 261, /* (129) on_using ::= USING LP idlist RP */ |
| 177018 | | - 261, /* (130) on_using ::= */ |
| 177019 | | - 266, /* (131) indexed_opt ::= */ |
| 177020 | | - 262, /* (132) indexed_by ::= INDEXED BY nm */ |
| 177021 | | - 262, /* (133) indexed_by ::= NOT INDEXED */ |
| 177022 | | - 250, /* (134) orderby_opt ::= */ |
| 177023 | | - 250, /* (135) orderby_opt ::= ORDER BY sortlist */ |
| 177024 | | - 232, /* (136) sortlist ::= sortlist COMMA expr sortorder nulls */ |
| 177025 | | - 232, /* (137) sortlist ::= expr sortorder nulls */ |
| 177026 | | - 220, /* (138) sortorder ::= ASC */ |
| 177027 | | - 220, /* (139) sortorder ::= DESC */ |
| 177028 | | - 220, /* (140) sortorder ::= */ |
| 177029 | | - 267, /* (141) nulls ::= NULLS FIRST */ |
| 177030 | | - 267, /* (142) nulls ::= NULLS LAST */ |
| 177031 | | - 267, /* (143) nulls ::= */ |
| 177032 | | - 248, /* (144) groupby_opt ::= */ |
| 177033 | | - 248, /* (145) groupby_opt ::= GROUP BY nexprlist */ |
| 177034 | | - 249, /* (146) having_opt ::= */ |
| 177035 | | - 249, /* (147) having_opt ::= HAVING expr */ |
| 177036 | | - 251, /* (148) limit_opt ::= */ |
| 177037 | | - 251, /* (149) limit_opt ::= LIMIT expr */ |
| 177038 | | - 251, /* (150) limit_opt ::= LIMIT expr OFFSET expr */ |
| 177039 | | - 251, /* (151) limit_opt ::= LIMIT expr COMMA expr */ |
| 177040 | | - 191, /* (152) cmd ::= with DELETE FROM xfullname indexed_opt where_opt_ret */ |
| 177041 | | - 247, /* (153) where_opt ::= */ |
| 177042 | | - 247, /* (154) where_opt ::= WHERE expr */ |
| 177043 | | - 269, /* (155) where_opt_ret ::= */ |
| 177044 | | - 269, /* (156) where_opt_ret ::= WHERE expr */ |
| 177045 | | - 269, /* (157) where_opt_ret ::= RETURNING selcollist */ |
| 177046 | | - 269, /* (158) where_opt_ret ::= WHERE expr RETURNING selcollist */ |
| 177047 | | - 191, /* (159) cmd ::= with UPDATE orconf xfullname indexed_opt SET setlist from where_opt_ret */ |
| 177048 | | - 270, /* (160) setlist ::= setlist COMMA nm EQ expr */ |
| 177049 | | - 270, /* (161) setlist ::= setlist COMMA LP idlist RP EQ expr */ |
| 177050 | | - 270, /* (162) setlist ::= nm EQ expr */ |
| 177051 | | - 270, /* (163) setlist ::= LP idlist RP EQ expr */ |
| 177052 | | - 191, /* (164) cmd ::= with insert_cmd INTO xfullname idlist_opt select upsert */ |
| 177053 | | - 191, /* (165) cmd ::= with insert_cmd INTO xfullname idlist_opt DEFAULT VALUES returning */ |
| 177054 | | - 273, /* (166) upsert ::= */ |
| 177055 | | - 273, /* (167) upsert ::= RETURNING selcollist */ |
| 177056 | | - 273, /* (168) upsert ::= ON CONFLICT LP sortlist RP where_opt DO UPDATE SET setlist where_opt upsert */ |
| 177057 | | - 273, /* (169) upsert ::= ON CONFLICT LP sortlist RP where_opt DO NOTHING upsert */ |
| 177058 | | - 273, /* (170) upsert ::= ON CONFLICT DO NOTHING returning */ |
| 177059 | | - 273, /* (171) upsert ::= ON CONFLICT DO UPDATE SET setlist where_opt returning */ |
| 177060 | | - 274, /* (172) returning ::= RETURNING selcollist */ |
| 177061 | | - 271, /* (173) insert_cmd ::= INSERT orconf */ |
| 177062 | | - 271, /* (174) insert_cmd ::= REPLACE */ |
| 177063 | | - 272, /* (175) idlist_opt ::= */ |
| 177064 | | - 272, /* (176) idlist_opt ::= LP idlist RP */ |
| 177065 | | - 265, /* (177) idlist ::= idlist COMMA nm */ |
| 177066 | | - 265, /* (178) idlist ::= nm */ |
| 177067 | | - 218, /* (179) expr ::= LP expr RP */ |
| 177068 | | - 218, /* (180) expr ::= ID|INDEXED|JOIN_KW */ |
| 177069 | | - 218, /* (181) expr ::= nm DOT nm */ |
| 177070 | | - 218, /* (182) expr ::= nm DOT nm DOT nm */ |
| 177071 | | - 217, /* (183) term ::= NULL|FLOAT|BLOB */ |
| 177072 | | - 217, /* (184) term ::= STRING */ |
| 177073 | | - 217, /* (185) term ::= INTEGER */ |
| 177074 | | - 218, /* (186) expr ::= VARIABLE */ |
| 177075 | | - 218, /* (187) expr ::= expr COLLATE ID|STRING */ |
| 177076 | | - 218, /* (188) expr ::= CAST LP expr AS typetoken RP */ |
| 177077 | | - 218, /* (189) expr ::= ID|INDEXED|JOIN_KW LP distinct exprlist RP */ |
| 177078 | | - 218, /* (190) expr ::= ID|INDEXED|JOIN_KW LP distinct exprlist ORDER BY sortlist RP */ |
| 177079 | | - 218, /* (191) expr ::= ID|INDEXED|JOIN_KW LP STAR RP */ |
| 177080 | | - 218, /* (192) expr ::= ID|INDEXED|JOIN_KW LP distinct exprlist RP filter_over */ |
| 177081 | | - 218, /* (193) expr ::= ID|INDEXED|JOIN_KW LP distinct exprlist ORDER BY sortlist RP filter_over */ |
| 177082 | | - 218, /* (194) expr ::= ID|INDEXED|JOIN_KW LP STAR RP filter_over */ |
| 177083 | | - 217, /* (195) term ::= CTIME_KW */ |
| 177084 | | - 218, /* (196) expr ::= LP nexprlist COMMA expr RP */ |
| 177085 | | - 218, /* (197) expr ::= expr AND expr */ |
| 177086 | | - 218, /* (198) expr ::= expr OR expr */ |
| 177087 | | - 218, /* (199) expr ::= expr LT|GT|GE|LE expr */ |
| 177088 | | - 218, /* (200) expr ::= expr EQ|NE expr */ |
| 177089 | | - 218, /* (201) expr ::= expr BITAND|BITOR|LSHIFT|RSHIFT expr */ |
| 177090 | | - 218, /* (202) expr ::= expr PLUS|MINUS expr */ |
| 177091 | | - 218, /* (203) expr ::= expr STAR|SLASH|REM expr */ |
| 177092 | | - 218, /* (204) expr ::= expr CONCAT expr */ |
| 177093 | | - 276, /* (205) likeop ::= NOT LIKE_KW|MATCH */ |
| 177094 | | - 218, /* (206) expr ::= expr likeop expr */ |
| 177095 | | - 218, /* (207) expr ::= expr likeop expr ESCAPE expr */ |
| 177096 | | - 218, /* (208) expr ::= expr ISNULL|NOTNULL */ |
| 177097 | | - 218, /* (209) expr ::= expr NOT NULL */ |
| 177098 | | - 218, /* (210) expr ::= expr IS expr */ |
| 177099 | | - 218, /* (211) expr ::= expr IS NOT expr */ |
| 177100 | | - 218, /* (212) expr ::= expr IS NOT DISTINCT FROM expr */ |
| 177101 | | - 218, /* (213) expr ::= expr IS DISTINCT FROM expr */ |
| 177102 | | - 218, /* (214) expr ::= NOT expr */ |
| 177103 | | - 218, /* (215) expr ::= BITNOT expr */ |
| 177104 | | - 218, /* (216) expr ::= PLUS|MINUS expr */ |
| 177105 | | - 218, /* (217) expr ::= expr PTR expr */ |
| 177106 | | - 277, /* (218) between_op ::= BETWEEN */ |
| 177107 | | - 277, /* (219) between_op ::= NOT BETWEEN */ |
| 177108 | | - 218, /* (220) expr ::= expr between_op expr AND expr */ |
| 177109 | | - 278, /* (221) in_op ::= IN */ |
| 177110 | | - 278, /* (222) in_op ::= NOT IN */ |
| 177111 | | - 218, /* (223) expr ::= expr in_op LP exprlist RP */ |
| 177112 | | - 218, /* (224) expr ::= LP select RP */ |
| 177113 | | - 218, /* (225) expr ::= expr in_op LP select RP */ |
| 177114 | | - 218, /* (226) expr ::= expr in_op nm dbnm paren_exprlist */ |
| 177115 | | - 218, /* (227) expr ::= EXISTS LP select RP */ |
| 177116 | | - 218, /* (228) expr ::= CASE case_operand case_exprlist case_else END */ |
| 177117 | | - 281, /* (229) case_exprlist ::= case_exprlist WHEN expr THEN expr */ |
| 177118 | | - 281, /* (230) case_exprlist ::= WHEN expr THEN expr */ |
| 177119 | | - 282, /* (231) case_else ::= ELSE expr */ |
| 177120 | | - 282, /* (232) case_else ::= */ |
| 177121 | | - 280, /* (233) case_operand ::= */ |
| 177122 | | - 263, /* (234) exprlist ::= */ |
| 177123 | | - 254, /* (235) nexprlist ::= nexprlist COMMA expr */ |
| 177124 | | - 254, /* (236) nexprlist ::= expr */ |
| 177125 | | - 279, /* (237) paren_exprlist ::= */ |
| 177126 | | - 279, /* (238) paren_exprlist ::= LP exprlist RP */ |
| 177127 | | - 191, /* (239) cmd ::= createkw uniqueflag INDEX ifnotexists nm dbnm ON nm LP sortlist RP where_opt */ |
| 177128 | | - 283, /* (240) uniqueflag ::= UNIQUE */ |
| 177129 | | - 283, /* (241) uniqueflag ::= */ |
| 177130 | | - 222, /* (242) eidlist_opt ::= */ |
| 177131 | | - 222, /* (243) eidlist_opt ::= LP eidlist RP */ |
| 177132 | | - 233, /* (244) eidlist ::= eidlist COMMA nm collate sortorder */ |
| 177133 | | - 233, /* (245) eidlist ::= nm collate sortorder */ |
| 177134 | | - 284, /* (246) collate ::= */ |
| 177135 | | - 284, /* (247) collate ::= COLLATE ID|STRING */ |
| 177136 | | - 191, /* (248) cmd ::= DROP INDEX ifexists fullname */ |
| 177137 | | - 191, /* (249) cmd ::= VACUUM vinto */ |
| 177138 | | - 191, /* (250) cmd ::= VACUUM nm vinto */ |
| 177139 | | - 285, /* (251) vinto ::= INTO expr */ |
| 177140 | | - 285, /* (252) vinto ::= */ |
| 177141 | | - 191, /* (253) cmd ::= PRAGMA nm dbnm */ |
| 177142 | | - 191, /* (254) cmd ::= PRAGMA nm dbnm EQ nmnum */ |
| 177143 | | - 191, /* (255) cmd ::= PRAGMA nm dbnm LP nmnum RP */ |
| 177144 | | - 191, /* (256) cmd ::= PRAGMA nm dbnm EQ minus_num */ |
| 177145 | | - 191, /* (257) cmd ::= PRAGMA nm dbnm LP minus_num RP */ |
| 177146 | | - 212, /* (258) plus_num ::= PLUS INTEGER|FLOAT */ |
| 177147 | | - 213, /* (259) minus_num ::= MINUS INTEGER|FLOAT */ |
| 177148 | | - 191, /* (260) cmd ::= createkw trigger_decl BEGIN trigger_cmd_list END */ |
| 177149 | | - 287, /* (261) trigger_decl ::= temp TRIGGER ifnotexists nm dbnm trigger_time trigger_event ON fullname foreach_clause when_clause */ |
| 177150 | | - 289, /* (262) trigger_time ::= BEFORE|AFTER */ |
| 177151 | | - 289, /* (263) trigger_time ::= INSTEAD OF */ |
| 177152 | | - 289, /* (264) trigger_time ::= */ |
| 177153 | | - 290, /* (265) trigger_event ::= DELETE|INSERT */ |
| 177154 | | - 290, /* (266) trigger_event ::= UPDATE */ |
| 177155 | | - 290, /* (267) trigger_event ::= UPDATE OF idlist */ |
| 177156 | | - 292, /* (268) when_clause ::= */ |
| 177157 | | - 292, /* (269) when_clause ::= WHEN expr */ |
| 177158 | | - 288, /* (270) trigger_cmd_list ::= trigger_cmd_list trigger_cmd SEMI */ |
| 177159 | | - 288, /* (271) trigger_cmd_list ::= trigger_cmd SEMI */ |
| 177160 | | - 294, /* (272) trnm ::= nm DOT nm */ |
| 177161 | | - 295, /* (273) tridxby ::= INDEXED BY nm */ |
| 177162 | | - 295, /* (274) tridxby ::= NOT INDEXED */ |
| 177163 | | - 293, /* (275) trigger_cmd ::= UPDATE orconf trnm tridxby SET setlist from where_opt scanpt */ |
| 177164 | | - 293, /* (276) trigger_cmd ::= scanpt insert_cmd INTO trnm idlist_opt select upsert scanpt */ |
| 177165 | | - 293, /* (277) trigger_cmd ::= DELETE FROM trnm tridxby where_opt scanpt */ |
| 177166 | | - 293, /* (278) trigger_cmd ::= scanpt select scanpt */ |
| 177167 | | - 218, /* (279) expr ::= RAISE LP IGNORE RP */ |
| 177168 | | - 218, /* (280) expr ::= RAISE LP raisetype COMMA expr RP */ |
| 177169 | | - 237, /* (281) raisetype ::= ROLLBACK */ |
| 177170 | | - 237, /* (282) raisetype ::= ABORT */ |
| 177171 | | - 237, /* (283) raisetype ::= FAIL */ |
| 177172 | | - 191, /* (284) cmd ::= DROP TRIGGER ifexists fullname */ |
| 177173 | | - 191, /* (285) cmd ::= ATTACH database_kw_opt expr AS expr key_opt */ |
| 177174 | | - 191, /* (286) cmd ::= DETACH database_kw_opt expr */ |
| 177175 | | - 297, /* (287) key_opt ::= */ |
| 177176 | | - 297, /* (288) key_opt ::= KEY expr */ |
| 177177 | | - 191, /* (289) cmd ::= REINDEX */ |
| 177178 | | - 191, /* (290) cmd ::= REINDEX nm dbnm */ |
| 177179 | | - 191, /* (291) cmd ::= ANALYZE */ |
| 177180 | | - 191, /* (292) cmd ::= ANALYZE nm dbnm */ |
| 177181 | | - 191, /* (293) cmd ::= ALTER TABLE fullname RENAME TO nm */ |
| 177182 | | - 191, /* (294) cmd ::= ALTER TABLE add_column_fullname ADD kwcolumn_opt columnname carglist */ |
| 177183 | | - 191, /* (295) cmd ::= ALTER TABLE fullname DROP kwcolumn_opt nm */ |
| 177184 | | - 298, /* (296) add_column_fullname ::= fullname */ |
| 177185 | | - 191, /* (297) cmd ::= ALTER TABLE fullname RENAME kwcolumn_opt nm TO nm */ |
| 177186 | | - 191, /* (298) cmd ::= create_vtab */ |
| 177187 | | - 191, /* (299) cmd ::= create_vtab LP vtabarglist RP */ |
| 177188 | | - 300, /* (300) create_vtab ::= createkw VIRTUAL TABLE ifnotexists nm dbnm USING nm */ |
| 177189 | | - 302, /* (301) vtabarg ::= */ |
| 177190 | | - 303, /* (302) vtabargtoken ::= ANY */ |
| 177191 | | - 303, /* (303) vtabargtoken ::= lp anylist RP */ |
| 177192 | | - 304, /* (304) lp ::= LP */ |
| 177193 | | - 268, /* (305) with ::= WITH wqlist */ |
| 177194 | | - 268, /* (306) with ::= WITH RECURSIVE wqlist */ |
| 177195 | | - 307, /* (307) wqas ::= AS */ |
| 177196 | | - 307, /* (308) wqas ::= AS MATERIALIZED */ |
| 177197 | | - 307, /* (309) wqas ::= AS NOT MATERIALIZED */ |
| 177198 | | - 306, /* (310) wqitem ::= withnm eidlist_opt wqas LP select RP */ |
| 177199 | | - 308, /* (311) withnm ::= nm */ |
| 177200 | | - 242, /* (312) wqlist ::= wqitem */ |
| 177201 | | - 242, /* (313) wqlist ::= wqlist COMMA wqitem */ |
| 177202 | | - 309, /* (314) windowdefn_list ::= windowdefn_list COMMA windowdefn */ |
| 177203 | | - 310, /* (315) windowdefn ::= nm AS LP window RP */ |
| 177204 | | - 311, /* (316) window ::= PARTITION BY nexprlist orderby_opt frame_opt */ |
| 177205 | | - 311, /* (317) window ::= nm PARTITION BY nexprlist orderby_opt frame_opt */ |
| 177206 | | - 311, /* (318) window ::= ORDER BY sortlist frame_opt */ |
| 177207 | | - 311, /* (319) window ::= nm ORDER BY sortlist frame_opt */ |
| 177208 | | - 311, /* (320) window ::= nm frame_opt */ |
| 177209 | | - 312, /* (321) frame_opt ::= */ |
| 177210 | | - 312, /* (322) frame_opt ::= range_or_rows frame_bound_s frame_exclude_opt */ |
| 177211 | | - 312, /* (323) frame_opt ::= range_or_rows BETWEEN frame_bound_s AND frame_bound_e frame_exclude_opt */ |
| 177212 | | - 316, /* (324) range_or_rows ::= RANGE|ROWS|GROUPS */ |
| 177213 | | - 318, /* (325) frame_bound_s ::= frame_bound */ |
| 177214 | | - 318, /* (326) frame_bound_s ::= UNBOUNDED PRECEDING */ |
| 177215 | | - 319, /* (327) frame_bound_e ::= frame_bound */ |
| 177216 | | - 319, /* (328) frame_bound_e ::= UNBOUNDED FOLLOWING */ |
| 177217 | | - 317, /* (329) frame_bound ::= expr PRECEDING|FOLLOWING */ |
| 177218 | | - 317, /* (330) frame_bound ::= CURRENT ROW */ |
| 177219 | | - 320, /* (331) frame_exclude_opt ::= */ |
| 177220 | | - 320, /* (332) frame_exclude_opt ::= EXCLUDE frame_exclude */ |
| 177221 | | - 321, /* (333) frame_exclude ::= NO OTHERS */ |
| 177222 | | - 321, /* (334) frame_exclude ::= CURRENT ROW */ |
| 177223 | | - 321, /* (335) frame_exclude ::= GROUP|TIES */ |
| 177224 | | - 252, /* (336) window_clause ::= WINDOW windowdefn_list */ |
| 177225 | | - 275, /* (337) filter_over ::= filter_clause over_clause */ |
| 177226 | | - 275, /* (338) filter_over ::= over_clause */ |
| 177227 | | - 275, /* (339) filter_over ::= filter_clause */ |
| 177228 | | - 315, /* (340) over_clause ::= OVER LP window RP */ |
| 177229 | | - 315, /* (341) over_clause ::= OVER nm */ |
| 177230 | | - 314, /* (342) filter_clause ::= FILTER LP WHERE expr RP */ |
| 177231 | | - 217, /* (343) term ::= QNUMBER */ |
| 177232 | | - 186, /* (344) input ::= cmdlist */ |
| 177233 | | - 187, /* (345) cmdlist ::= cmdlist ecmd */ |
| 177234 | | - 187, /* (346) cmdlist ::= ecmd */ |
| 177235 | | - 188, /* (347) ecmd ::= SEMI */ |
| 177236 | | - 188, /* (348) ecmd ::= cmdx SEMI */ |
| 177237 | | - 188, /* (349) ecmd ::= explain cmdx SEMI */ |
| 177238 | | - 193, /* (350) trans_opt ::= */ |
| 177239 | | - 193, /* (351) trans_opt ::= TRANSACTION */ |
| 177240 | | - 193, /* (352) trans_opt ::= TRANSACTION nm */ |
| 177241 | | - 195, /* (353) savepoint_opt ::= SAVEPOINT */ |
| 177242 | | - 195, /* (354) savepoint_opt ::= */ |
| 177243 | | - 191, /* (355) cmd ::= create_table create_table_args */ |
| 177244 | | - 204, /* (356) table_option_set ::= table_option */ |
| 177245 | | - 202, /* (357) columnlist ::= columnlist COMMA columnname carglist */ |
| 177246 | | - 202, /* (358) columnlist ::= columnname carglist */ |
| 177247 | | - 194, /* (359) nm ::= ID|INDEXED|JOIN_KW */ |
| 177248 | | - 194, /* (360) nm ::= STRING */ |
| 177249 | | - 209, /* (361) typetoken ::= typename */ |
| 177250 | | - 210, /* (362) typename ::= ID|STRING */ |
| 177251 | | - 211, /* (363) signed ::= plus_num */ |
| 177252 | | - 211, /* (364) signed ::= minus_num */ |
| 177253 | | - 208, /* (365) carglist ::= carglist ccons */ |
| 177254 | | - 208, /* (366) carglist ::= */ |
| 177255 | | - 216, /* (367) ccons ::= NULL onconf */ |
| 177256 | | - 216, /* (368) ccons ::= GENERATED ALWAYS AS generated */ |
| 177257 | | - 216, /* (369) ccons ::= AS generated */ |
| 177258 | | - 203, /* (370) conslist_opt ::= COMMA conslist */ |
| 177259 | | - 229, /* (371) conslist ::= conslist tconscomma tcons */ |
| 177260 | | - 229, /* (372) conslist ::= tcons */ |
| 177261 | | - 230, /* (373) tconscomma ::= */ |
| 177262 | | - 234, /* (374) defer_subclause_opt ::= defer_subclause */ |
| 177263 | | - 236, /* (375) resolvetype ::= raisetype */ |
| 177264 | | - 240, /* (376) selectnowith ::= oneselect */ |
| 177265 | | - 241, /* (377) oneselect ::= values */ |
| 177266 | | - 256, /* (378) sclp ::= selcollist COMMA */ |
| 177267 | | - 257, /* (379) as ::= ID|STRING */ |
| 177268 | | - 266, /* (380) indexed_opt ::= indexed_by */ |
| 177269 | | - 274, /* (381) returning ::= */ |
| 177270 | | - 218, /* (382) expr ::= term */ |
| 177271 | | - 276, /* (383) likeop ::= LIKE_KW|MATCH */ |
| 177272 | | - 280, /* (384) case_operand ::= expr */ |
| 177273 | | - 263, /* (385) exprlist ::= nexprlist */ |
| 177274 | | - 286, /* (386) nmnum ::= plus_num */ |
| 177275 | | - 286, /* (387) nmnum ::= nm */ |
| 177276 | | - 286, /* (388) nmnum ::= ON */ |
| 177277 | | - 286, /* (389) nmnum ::= DELETE */ |
| 177278 | | - 286, /* (390) nmnum ::= DEFAULT */ |
| 177279 | | - 212, /* (391) plus_num ::= INTEGER|FLOAT */ |
| 177280 | | - 291, /* (392) foreach_clause ::= */ |
| 177281 | | - 291, /* (393) foreach_clause ::= FOR EACH ROW */ |
| 177282 | | - 294, /* (394) trnm ::= nm */ |
| 177283 | | - 295, /* (395) tridxby ::= */ |
| 177284 | | - 296, /* (396) database_kw_opt ::= DATABASE */ |
| 177285 | | - 296, /* (397) database_kw_opt ::= */ |
| 177286 | | - 299, /* (398) kwcolumn_opt ::= */ |
| 177287 | | - 299, /* (399) kwcolumn_opt ::= COLUMNKW */ |
| 177288 | | - 301, /* (400) vtabarglist ::= vtabarg */ |
| 177289 | | - 301, /* (401) vtabarglist ::= vtabarglist COMMA vtabarg */ |
| 177290 | | - 302, /* (402) vtabarg ::= vtabarg vtabargtoken */ |
| 177291 | | - 305, /* (403) anylist ::= */ |
| 177292 | | - 305, /* (404) anylist ::= anylist LP anylist RP */ |
| 177293 | | - 305, /* (405) anylist ::= anylist ANY */ |
| 177294 | | - 268, /* (406) with ::= */ |
| 177295 | | - 309, /* (407) windowdefn_list ::= windowdefn */ |
| 177296 | | - 311, /* (408) window ::= frame_opt */ |
| 176994 | + 191, /* (0) explain ::= EXPLAIN */ |
| 176995 | + 191, /* (1) explain ::= EXPLAIN QUERY PLAN */ |
| 176996 | + 190, /* (2) cmdx ::= cmd */ |
| 176997 | + 192, /* (3) cmd ::= BEGIN transtype trans_opt */ |
| 176998 | + 193, /* (4) transtype ::= */ |
| 176999 | + 193, /* (5) transtype ::= DEFERRED */ |
| 177000 | + 193, /* (6) transtype ::= IMMEDIATE */ |
| 177001 | + 193, /* (7) transtype ::= EXCLUSIVE */ |
| 177002 | + 192, /* (8) cmd ::= COMMIT|END trans_opt */ |
| 177003 | + 192, /* (9) cmd ::= ROLLBACK trans_opt */ |
| 177004 | + 192, /* (10) cmd ::= SAVEPOINT nm */ |
| 177005 | + 192, /* (11) cmd ::= RELEASE savepoint_opt nm */ |
| 177006 | + 192, /* (12) cmd ::= ROLLBACK trans_opt TO savepoint_opt nm */ |
| 177007 | + 197, /* (13) create_table ::= createkw temp TABLE ifnotexists nm dbnm */ |
| 177008 | + 199, /* (14) createkw ::= CREATE */ |
| 177009 | + 201, /* (15) ifnotexists ::= */ |
| 177010 | + 201, /* (16) ifnotexists ::= IF NOT EXISTS */ |
| 177011 | + 200, /* (17) temp ::= TEMP */ |
| 177012 | + 200, /* (18) temp ::= */ |
| 177013 | + 198, /* (19) create_table_args ::= LP columnlist conslist_opt RP table_option_set */ |
| 177014 | + 198, /* (20) create_table_args ::= AS select */ |
| 177015 | + 205, /* (21) table_option_set ::= */ |
| 177016 | + 205, /* (22) table_option_set ::= table_option_set COMMA table_option */ |
| 177017 | + 207, /* (23) table_option ::= WITHOUT nm */ |
| 177018 | + 207, /* (24) table_option ::= nm */ |
| 177019 | + 208, /* (25) columnname ::= nm typetoken */ |
| 177020 | + 210, /* (26) typetoken ::= */ |
| 177021 | + 210, /* (27) typetoken ::= typename LP signed RP */ |
| 177022 | + 210, /* (28) typetoken ::= typename LP signed COMMA signed RP */ |
| 177023 | + 211, /* (29) typename ::= typename ID|STRING */ |
| 177024 | + 215, /* (30) scanpt ::= */ |
| 177025 | + 216, /* (31) scantok ::= */ |
| 177026 | + 217, /* (32) ccons ::= CONSTRAINT nm */ |
| 177027 | + 217, /* (33) ccons ::= DEFAULT scantok term */ |
| 177028 | + 217, /* (34) ccons ::= DEFAULT LP expr RP */ |
| 177029 | + 217, /* (35) ccons ::= DEFAULT PLUS scantok term */ |
| 177030 | + 217, /* (36) ccons ::= DEFAULT MINUS scantok term */ |
| 177031 | + 217, /* (37) ccons ::= DEFAULT scantok ID|INDEXED */ |
| 177032 | + 217, /* (38) ccons ::= NOT NULL onconf */ |
| 177033 | + 217, /* (39) ccons ::= PRIMARY KEY sortorder onconf autoinc */ |
| 177034 | + 217, /* (40) ccons ::= UNIQUE onconf */ |
| 177035 | + 217, /* (41) ccons ::= CHECK LP expr RP */ |
| 177036 | + 217, /* (42) ccons ::= REFERENCES nm eidlist_opt refargs */ |
| 177037 | + 217, /* (43) ccons ::= defer_subclause */ |
| 177038 | + 217, /* (44) ccons ::= COLLATE ID|STRING */ |
| 177039 | + 226, /* (45) generated ::= LP expr RP */ |
| 177040 | + 226, /* (46) generated ::= LP expr RP ID */ |
| 177041 | + 222, /* (47) autoinc ::= */ |
| 177042 | + 222, /* (48) autoinc ::= AUTOINCR */ |
| 177043 | + 224, /* (49) refargs ::= */ |
| 177044 | + 224, /* (50) refargs ::= refargs refarg */ |
| 177045 | + 227, /* (51) refarg ::= MATCH nm */ |
| 177046 | + 227, /* (52) refarg ::= ON INSERT refact */ |
| 177047 | + 227, /* (53) refarg ::= ON DELETE refact */ |
| 177048 | + 227, /* (54) refarg ::= ON UPDATE refact */ |
| 177049 | + 228, /* (55) refact ::= SET NULL */ |
| 177050 | + 228, /* (56) refact ::= SET DEFAULT */ |
| 177051 | + 228, /* (57) refact ::= CASCADE */ |
| 177052 | + 228, /* (58) refact ::= RESTRICT */ |
| 177053 | + 228, /* (59) refact ::= NO ACTION */ |
| 177054 | + 225, /* (60) defer_subclause ::= NOT DEFERRABLE init_deferred_pred_opt */ |
| 177055 | + 225, /* (61) defer_subclause ::= DEFERRABLE init_deferred_pred_opt */ |
| 177056 | + 229, /* (62) init_deferred_pred_opt ::= */ |
| 177057 | + 229, /* (63) init_deferred_pred_opt ::= INITIALLY DEFERRED */ |
| 177058 | + 229, /* (64) init_deferred_pred_opt ::= INITIALLY IMMEDIATE */ |
| 177059 | + 204, /* (65) conslist_opt ::= */ |
| 177060 | + 231, /* (66) tconscomma ::= COMMA */ |
| 177061 | + 232, /* (67) tcons ::= CONSTRAINT nm */ |
| 177062 | + 232, /* (68) tcons ::= PRIMARY KEY LP sortlist autoinc RP onconf */ |
| 177063 | + 232, /* (69) tcons ::= UNIQUE LP sortlist RP onconf */ |
| 177064 | + 232, /* (70) tcons ::= CHECK LP expr RP onconf */ |
| 177065 | + 232, /* (71) tcons ::= FOREIGN KEY LP eidlist RP REFERENCES nm eidlist_opt refargs defer_subclause_opt */ |
| 177066 | + 235, /* (72) defer_subclause_opt ::= */ |
| 177067 | + 220, /* (73) onconf ::= */ |
| 177068 | + 220, /* (74) onconf ::= ON CONFLICT resolvetype */ |
| 177069 | + 236, /* (75) orconf ::= */ |
| 177070 | + 236, /* (76) orconf ::= OR resolvetype */ |
| 177071 | + 237, /* (77) resolvetype ::= IGNORE */ |
| 177072 | + 237, /* (78) resolvetype ::= REPLACE */ |
| 177073 | + 192, /* (79) cmd ::= DROP TABLE ifexists fullname */ |
| 177074 | + 239, /* (80) ifexists ::= IF EXISTS */ |
| 177075 | + 239, /* (81) ifexists ::= */ |
| 177076 | + 192, /* (82) cmd ::= createkw temp VIEW ifnotexists nm dbnm eidlist_opt AS select */ |
| 177077 | + 192, /* (83) cmd ::= DROP VIEW ifexists fullname */ |
| 177078 | + 192, /* (84) cmd ::= select */ |
| 177079 | + 206, /* (85) select ::= WITH wqlist selectnowith */ |
| 177080 | + 206, /* (86) select ::= WITH RECURSIVE wqlist selectnowith */ |
| 177081 | + 206, /* (87) select ::= selectnowith */ |
| 177082 | + 241, /* (88) selectnowith ::= selectnowith multiselect_op oneselect */ |
| 177083 | + 244, /* (89) multiselect_op ::= UNION */ |
| 177084 | + 244, /* (90) multiselect_op ::= UNION ALL */ |
| 177085 | + 244, /* (91) multiselect_op ::= EXCEPT|INTERSECT */ |
| 177086 | + 242, /* (92) oneselect ::= SELECT distinct selcollist from where_opt groupby_opt having_opt orderby_opt limit_opt */ |
| 177087 | + 242, /* (93) oneselect ::= SELECT distinct selcollist from where_opt groupby_opt having_opt window_clause orderby_opt limit_opt */ |
| 177088 | + 254, /* (94) values ::= VALUES LP nexprlist RP */ |
| 177089 | + 242, /* (95) oneselect ::= mvalues */ |
| 177090 | + 256, /* (96) mvalues ::= values COMMA LP nexprlist RP */ |
| 177091 | + 256, /* (97) mvalues ::= mvalues COMMA LP nexprlist RP */ |
| 177092 | + 245, /* (98) distinct ::= DISTINCT */ |
| 177093 | + 245, /* (99) distinct ::= ALL */ |
| 177094 | + 245, /* (100) distinct ::= */ |
| 177095 | + 257, /* (101) sclp ::= */ |
| 177096 | + 246, /* (102) selcollist ::= sclp scanpt expr scanpt as */ |
| 177097 | + 246, /* (103) selcollist ::= sclp scanpt STAR */ |
| 177098 | + 246, /* (104) selcollist ::= sclp scanpt nm DOT STAR */ |
| 177099 | + 258, /* (105) as ::= AS nm */ |
| 177100 | + 258, /* (106) as ::= */ |
| 177101 | + 247, /* (107) from ::= */ |
| 177102 | + 247, /* (108) from ::= FROM seltablist */ |
| 177103 | + 260, /* (109) stl_prefix ::= seltablist joinop */ |
| 177104 | + 260, /* (110) stl_prefix ::= */ |
| 177105 | + 259, /* (111) seltablist ::= stl_prefix nm dbnm as on_using */ |
| 177106 | + 259, /* (112) seltablist ::= stl_prefix nm dbnm as indexed_by on_using */ |
| 177107 | + 259, /* (113) seltablist ::= stl_prefix nm dbnm LP exprlist RP as on_using */ |
| 177108 | + 259, /* (114) seltablist ::= stl_prefix LP select RP as on_using */ |
| 177109 | + 259, /* (115) seltablist ::= stl_prefix LP seltablist RP as on_using */ |
| 177110 | + 202, /* (116) dbnm ::= */ |
| 177111 | + 202, /* (117) dbnm ::= DOT nm */ |
| 177112 | + 240, /* (118) fullname ::= nm */ |
| 177113 | + 240, /* (119) fullname ::= nm DOT nm */ |
| 177114 | + 265, /* (120) xfullname ::= nm */ |
| 177115 | + 265, /* (121) xfullname ::= nm DOT nm */ |
| 177116 | + 265, /* (122) xfullname ::= nm DOT nm AS nm */ |
| 177117 | + 265, /* (123) xfullname ::= nm AS nm */ |
| 177118 | + 261, /* (124) joinop ::= COMMA|JOIN */ |
| 177119 | + 261, /* (125) joinop ::= JOIN_KW JOIN */ |
| 177120 | + 261, /* (126) joinop ::= JOIN_KW nm JOIN */ |
| 177121 | + 261, /* (127) joinop ::= JOIN_KW nm nm JOIN */ |
| 177122 | + 262, /* (128) on_using ::= ON expr */ |
| 177123 | + 262, /* (129) on_using ::= USING LP idlist RP */ |
| 177124 | + 262, /* (130) on_using ::= */ |
| 177125 | + 267, /* (131) indexed_opt ::= */ |
| 177126 | + 263, /* (132) indexed_by ::= INDEXED BY nm */ |
| 177127 | + 263, /* (133) indexed_by ::= NOT INDEXED */ |
| 177128 | + 251, /* (134) orderby_opt ::= */ |
| 177129 | + 251, /* (135) orderby_opt ::= ORDER BY sortlist */ |
| 177130 | + 233, /* (136) sortlist ::= sortlist COMMA expr sortorder nulls */ |
| 177131 | + 233, /* (137) sortlist ::= expr sortorder nulls */ |
| 177132 | + 221, /* (138) sortorder ::= ASC */ |
| 177133 | + 221, /* (139) sortorder ::= DESC */ |
| 177134 | + 221, /* (140) sortorder ::= */ |
| 177135 | + 268, /* (141) nulls ::= NULLS FIRST */ |
| 177136 | + 268, /* (142) nulls ::= NULLS LAST */ |
| 177137 | + 268, /* (143) nulls ::= */ |
| 177138 | + 249, /* (144) groupby_opt ::= */ |
| 177139 | + 249, /* (145) groupby_opt ::= GROUP BY nexprlist */ |
| 177140 | + 250, /* (146) having_opt ::= */ |
| 177141 | + 250, /* (147) having_opt ::= HAVING expr */ |
| 177142 | + 252, /* (148) limit_opt ::= */ |
| 177143 | + 252, /* (149) limit_opt ::= LIMIT expr */ |
| 177144 | + 252, /* (150) limit_opt ::= LIMIT expr OFFSET expr */ |
| 177145 | + 252, /* (151) limit_opt ::= LIMIT expr COMMA expr */ |
| 177146 | + 192, /* (152) cmd ::= with DELETE FROM xfullname indexed_opt where_opt_ret */ |
| 177147 | + 248, /* (153) where_opt ::= */ |
| 177148 | + 248, /* (154) where_opt ::= WHERE expr */ |
| 177149 | + 270, /* (155) where_opt_ret ::= */ |
| 177150 | + 270, /* (156) where_opt_ret ::= WHERE expr */ |
| 177151 | + 270, /* (157) where_opt_ret ::= RETURNING selcollist */ |
| 177152 | + 270, /* (158) where_opt_ret ::= WHERE expr RETURNING selcollist */ |
| 177153 | + 192, /* (159) cmd ::= with UPDATE orconf xfullname indexed_opt SET setlist from where_opt_ret */ |
| 177154 | + 271, /* (160) setlist ::= setlist COMMA nm EQ expr */ |
| 177155 | + 271, /* (161) setlist ::= setlist COMMA LP idlist RP EQ expr */ |
| 177156 | + 271, /* (162) setlist ::= nm EQ expr */ |
| 177157 | + 271, /* (163) setlist ::= LP idlist RP EQ expr */ |
| 177158 | + 192, /* (164) cmd ::= with insert_cmd INTO xfullname idlist_opt select upsert */ |
| 177159 | + 192, /* (165) cmd ::= with insert_cmd INTO xfullname idlist_opt DEFAULT VALUES returning */ |
| 177160 | + 274, /* (166) upsert ::= */ |
| 177161 | + 274, /* (167) upsert ::= RETURNING selcollist */ |
| 177162 | + 274, /* (168) upsert ::= ON CONFLICT LP sortlist RP where_opt DO UPDATE SET setlist where_opt upsert */ |
| 177163 | + 274, /* (169) upsert ::= ON CONFLICT LP sortlist RP where_opt DO NOTHING upsert */ |
| 177164 | + 274, /* (170) upsert ::= ON CONFLICT DO NOTHING returning */ |
| 177165 | + 274, /* (171) upsert ::= ON CONFLICT DO UPDATE SET setlist where_opt returning */ |
| 177166 | + 275, /* (172) returning ::= RETURNING selcollist */ |
| 177167 | + 272, /* (173) insert_cmd ::= INSERT orconf */ |
| 177168 | + 272, /* (174) insert_cmd ::= REPLACE */ |
| 177169 | + 273, /* (175) idlist_opt ::= */ |
| 177170 | + 273, /* (176) idlist_opt ::= LP idlist RP */ |
| 177171 | + 266, /* (177) idlist ::= idlist COMMA nm */ |
| 177172 | + 266, /* (178) idlist ::= nm */ |
| 177173 | + 219, /* (179) expr ::= LP expr RP */ |
| 177174 | + 219, /* (180) expr ::= ID|INDEXED|JOIN_KW */ |
| 177175 | + 219, /* (181) expr ::= nm DOT nm */ |
| 177176 | + 219, /* (182) expr ::= nm DOT nm DOT nm */ |
| 177177 | + 218, /* (183) term ::= NULL|FLOAT|BLOB */ |
| 177178 | + 218, /* (184) term ::= STRING */ |
| 177179 | + 218, /* (185) term ::= INTEGER */ |
| 177180 | + 219, /* (186) expr ::= VARIABLE */ |
| 177181 | + 219, /* (187) expr ::= expr COLLATE ID|STRING */ |
| 177182 | + 219, /* (188) expr ::= CAST LP expr AS typetoken RP */ |
| 177183 | + 219, /* (189) expr ::= ID|INDEXED|JOIN_KW LP distinct exprlist RP */ |
| 177184 | + 219, /* (190) expr ::= ID|INDEXED|JOIN_KW LP distinct exprlist ORDER BY sortlist RP */ |
| 177185 | + 219, /* (191) expr ::= ID|INDEXED|JOIN_KW LP STAR RP */ |
| 177186 | + 219, /* (192) expr ::= ID|INDEXED|JOIN_KW LP distinct exprlist RP filter_over */ |
| 177187 | + 219, /* (193) expr ::= ID|INDEXED|JOIN_KW LP distinct exprlist ORDER BY sortlist RP filter_over */ |
| 177188 | + 219, /* (194) expr ::= ID|INDEXED|JOIN_KW LP STAR RP filter_over */ |
| 177189 | + 218, /* (195) term ::= CTIME_KW */ |
| 177190 | + 219, /* (196) expr ::= LP nexprlist COMMA expr RP */ |
| 177191 | + 219, /* (197) expr ::= expr AND expr */ |
| 177192 | + 219, /* (198) expr ::= expr OR expr */ |
| 177193 | + 219, /* (199) expr ::= expr LT|GT|GE|LE expr */ |
| 177194 | + 219, /* (200) expr ::= expr EQ|NE expr */ |
| 177195 | + 219, /* (201) expr ::= expr BITAND|BITOR|LSHIFT|RSHIFT expr */ |
| 177196 | + 219, /* (202) expr ::= expr PLUS|MINUS expr */ |
| 177197 | + 219, /* (203) expr ::= expr STAR|SLASH|REM expr */ |
| 177198 | + 219, /* (204) expr ::= expr CONCAT expr */ |
| 177199 | + 277, /* (205) likeop ::= NOT LIKE_KW|MATCH */ |
| 177200 | + 219, /* (206) expr ::= expr likeop expr */ |
| 177201 | + 219, /* (207) expr ::= expr likeop expr ESCAPE expr */ |
| 177202 | + 219, /* (208) expr ::= expr ISNULL|NOTNULL */ |
| 177203 | + 219, /* (209) expr ::= expr NOT NULL */ |
| 177204 | + 219, /* (210) expr ::= expr IS expr */ |
| 177205 | + 219, /* (211) expr ::= expr IS NOT expr */ |
| 177206 | + 219, /* (212) expr ::= expr IS NOT DISTINCT FROM expr */ |
| 177207 | + 219, /* (213) expr ::= expr IS DISTINCT FROM expr */ |
| 177208 | + 219, /* (214) expr ::= NOT expr */ |
| 177209 | + 219, /* (215) expr ::= BITNOT expr */ |
| 177210 | + 219, /* (216) expr ::= PLUS|MINUS expr */ |
| 177211 | + 219, /* (217) expr ::= expr PTR expr */ |
| 177212 | + 278, /* (218) between_op ::= BETWEEN */ |
| 177213 | + 278, /* (219) between_op ::= NOT BETWEEN */ |
| 177214 | + 219, /* (220) expr ::= expr between_op expr AND expr */ |
| 177215 | + 279, /* (221) in_op ::= IN */ |
| 177216 | + 279, /* (222) in_op ::= NOT IN */ |
| 177217 | + 219, /* (223) expr ::= expr in_op LP exprlist RP */ |
| 177218 | + 219, /* (224) expr ::= LP select RP */ |
| 177219 | + 219, /* (225) expr ::= expr in_op LP select RP */ |
| 177220 | + 219, /* (226) expr ::= expr in_op nm dbnm paren_exprlist */ |
| 177221 | + 219, /* (227) expr ::= EXISTS LP select RP */ |
| 177222 | + 219, /* (228) expr ::= CASE case_operand case_exprlist case_else END */ |
| 177223 | + 282, /* (229) case_exprlist ::= case_exprlist WHEN expr THEN expr */ |
| 177224 | + 282, /* (230) case_exprlist ::= WHEN expr THEN expr */ |
| 177225 | + 283, /* (231) case_else ::= ELSE expr */ |
| 177226 | + 283, /* (232) case_else ::= */ |
| 177227 | + 281, /* (233) case_operand ::= */ |
| 177228 | + 264, /* (234) exprlist ::= */ |
| 177229 | + 255, /* (235) nexprlist ::= nexprlist COMMA expr */ |
| 177230 | + 255, /* (236) nexprlist ::= expr */ |
| 177231 | + 280, /* (237) paren_exprlist ::= */ |
| 177232 | + 280, /* (238) paren_exprlist ::= LP exprlist RP */ |
| 177233 | + 192, /* (239) cmd ::= createkw uniqueflag INDEX ifnotexists nm dbnm ON nm LP sortlist RP where_opt */ |
| 177234 | + 284, /* (240) uniqueflag ::= UNIQUE */ |
| 177235 | + 284, /* (241) uniqueflag ::= */ |
| 177236 | + 223, /* (242) eidlist_opt ::= */ |
| 177237 | + 223, /* (243) eidlist_opt ::= LP eidlist RP */ |
| 177238 | + 234, /* (244) eidlist ::= eidlist COMMA nm collate sortorder */ |
| 177239 | + 234, /* (245) eidlist ::= nm collate sortorder */ |
| 177240 | + 285, /* (246) collate ::= */ |
| 177241 | + 285, /* (247) collate ::= COLLATE ID|STRING */ |
| 177242 | + 192, /* (248) cmd ::= DROP INDEX ifexists fullname */ |
| 177243 | + 192, /* (249) cmd ::= VACUUM vinto */ |
| 177244 | + 192, /* (250) cmd ::= VACUUM nm vinto */ |
| 177245 | + 286, /* (251) vinto ::= INTO expr */ |
| 177246 | + 286, /* (252) vinto ::= */ |
| 177247 | + 192, /* (253) cmd ::= PRAGMA nm dbnm */ |
| 177248 | + 192, /* (254) cmd ::= PRAGMA nm dbnm EQ nmnum */ |
| 177249 | + 192, /* (255) cmd ::= PRAGMA nm dbnm LP nmnum RP */ |
| 177250 | + 192, /* (256) cmd ::= PRAGMA nm dbnm EQ minus_num */ |
| 177251 | + 192, /* (257) cmd ::= PRAGMA nm dbnm LP minus_num RP */ |
| 177252 | + 213, /* (258) plus_num ::= PLUS INTEGER|FLOAT */ |
| 177253 | + 214, /* (259) minus_num ::= MINUS INTEGER|FLOAT */ |
| 177254 | + 192, /* (260) cmd ::= createkw trigger_decl BEGIN trigger_cmd_list END */ |
| 177255 | + 288, /* (261) trigger_decl ::= temp TRIGGER ifnotexists nm dbnm trigger_time trigger_event ON fullname foreach_clause when_clause */ |
| 177256 | + 290, /* (262) trigger_time ::= BEFORE|AFTER */ |
| 177257 | + 290, /* (263) trigger_time ::= INSTEAD OF */ |
| 177258 | + 290, /* (264) trigger_time ::= */ |
| 177259 | + 291, /* (265) trigger_event ::= DELETE|INSERT */ |
| 177260 | + 291, /* (266) trigger_event ::= UPDATE */ |
| 177261 | + 291, /* (267) trigger_event ::= UPDATE OF idlist */ |
| 177262 | + 293, /* (268) when_clause ::= */ |
| 177263 | + 293, /* (269) when_clause ::= WHEN expr */ |
| 177264 | + 289, /* (270) trigger_cmd_list ::= trigger_cmd_list trigger_cmd SEMI */ |
| 177265 | + 289, /* (271) trigger_cmd_list ::= trigger_cmd SEMI */ |
| 177266 | + 295, /* (272) trnm ::= nm DOT nm */ |
| 177267 | + 296, /* (273) tridxby ::= INDEXED BY nm */ |
| 177268 | + 296, /* (274) tridxby ::= NOT INDEXED */ |
| 177269 | + 294, /* (275) trigger_cmd ::= UPDATE orconf trnm tridxby SET setlist from where_opt scanpt */ |
| 177270 | + 294, /* (276) trigger_cmd ::= scanpt insert_cmd INTO trnm idlist_opt select upsert scanpt */ |
| 177271 | + 294, /* (277) trigger_cmd ::= DELETE FROM trnm tridxby where_opt scanpt */ |
| 177272 | + 294, /* (278) trigger_cmd ::= scanpt select scanpt */ |
| 177273 | + 219, /* (279) expr ::= RAISE LP IGNORE RP */ |
| 177274 | + 219, /* (280) expr ::= RAISE LP raisetype COMMA expr RP */ |
| 177275 | + 238, /* (281) raisetype ::= ROLLBACK */ |
| 177276 | + 238, /* (282) raisetype ::= ABORT */ |
| 177277 | + 238, /* (283) raisetype ::= FAIL */ |
| 177278 | + 192, /* (284) cmd ::= DROP TRIGGER ifexists fullname */ |
| 177279 | + 192, /* (285) cmd ::= ATTACH database_kw_opt expr AS expr key_opt */ |
| 177280 | + 192, /* (286) cmd ::= DETACH database_kw_opt expr */ |
| 177281 | + 298, /* (287) key_opt ::= */ |
| 177282 | + 298, /* (288) key_opt ::= KEY expr */ |
| 177283 | + 192, /* (289) cmd ::= REINDEX */ |
| 177284 | + 192, /* (290) cmd ::= REINDEX nm dbnm */ |
| 177285 | + 192, /* (291) cmd ::= ANALYZE */ |
| 177286 | + 192, /* (292) cmd ::= ANALYZE nm dbnm */ |
| 177287 | + 192, /* (293) cmd ::= ALTER TABLE fullname RENAME TO nm */ |
| 177288 | + 192, /* (294) cmd ::= ALTER TABLE add_column_fullname ADD kwcolumn_opt columnname carglist */ |
| 177289 | + 192, /* (295) cmd ::= ALTER TABLE fullname DROP kwcolumn_opt nm */ |
| 177290 | + 299, /* (296) add_column_fullname ::= fullname */ |
| 177291 | + 192, /* (297) cmd ::= ALTER TABLE fullname RENAME kwcolumn_opt nm TO nm */ |
| 177292 | + 192, /* (298) cmd ::= create_vtab */ |
| 177293 | + 192, /* (299) cmd ::= create_vtab LP vtabarglist RP */ |
| 177294 | + 301, /* (300) create_vtab ::= createkw VIRTUAL TABLE ifnotexists nm dbnm USING nm */ |
| 177295 | + 303, /* (301) vtabarg ::= */ |
| 177296 | + 304, /* (302) vtabargtoken ::= ANY */ |
| 177297 | + 304, /* (303) vtabargtoken ::= lp anylist RP */ |
| 177298 | + 305, /* (304) lp ::= LP */ |
| 177299 | + 269, /* (305) with ::= WITH wqlist */ |
| 177300 | + 269, /* (306) with ::= WITH RECURSIVE wqlist */ |
| 177301 | + 308, /* (307) wqas ::= AS */ |
| 177302 | + 308, /* (308) wqas ::= AS MATERIALIZED */ |
| 177303 | + 308, /* (309) wqas ::= AS NOT MATERIALIZED */ |
| 177304 | + 307, /* (310) wqitem ::= withnm eidlist_opt wqas LP select RP */ |
| 177305 | + 309, /* (311) withnm ::= nm */ |
| 177306 | + 243, /* (312) wqlist ::= wqitem */ |
| 177307 | + 243, /* (313) wqlist ::= wqlist COMMA wqitem */ |
| 177308 | + 310, /* (314) windowdefn_list ::= windowdefn_list COMMA windowdefn */ |
| 177309 | + 311, /* (315) windowdefn ::= nm AS LP window RP */ |
| 177310 | + 312, /* (316) window ::= PARTITION BY nexprlist orderby_opt frame_opt */ |
| 177311 | + 312, /* (317) window ::= nm PARTITION BY nexprlist orderby_opt frame_opt */ |
| 177312 | + 312, /* (318) window ::= ORDER BY sortlist frame_opt */ |
| 177313 | + 312, /* (319) window ::= nm ORDER BY sortlist frame_opt */ |
| 177314 | + 312, /* (320) window ::= nm frame_opt */ |
| 177315 | + 313, /* (321) frame_opt ::= */ |
| 177316 | + 313, /* (322) frame_opt ::= range_or_rows frame_bound_s frame_exclude_opt */ |
| 177317 | + 313, /* (323) frame_opt ::= range_or_rows BETWEEN frame_bound_s AND frame_bound_e frame_exclude_opt */ |
| 177318 | + 317, /* (324) range_or_rows ::= RANGE|ROWS|GROUPS */ |
| 177319 | + 319, /* (325) frame_bound_s ::= frame_bound */ |
| 177320 | + 319, /* (326) frame_bound_s ::= UNBOUNDED PRECEDING */ |
| 177321 | + 320, /* (327) frame_bound_e ::= frame_bound */ |
| 177322 | + 320, /* (328) frame_bound_e ::= UNBOUNDED FOLLOWING */ |
| 177323 | + 318, /* (329) frame_bound ::= expr PRECEDING|FOLLOWING */ |
| 177324 | + 318, /* (330) frame_bound ::= CURRENT ROW */ |
| 177325 | + 321, /* (331) frame_exclude_opt ::= */ |
| 177326 | + 321, /* (332) frame_exclude_opt ::= EXCLUDE frame_exclude */ |
| 177327 | + 322, /* (333) frame_exclude ::= NO OTHERS */ |
| 177328 | + 322, /* (334) frame_exclude ::= CURRENT ROW */ |
| 177329 | + 322, /* (335) frame_exclude ::= GROUP|TIES */ |
| 177330 | + 253, /* (336) window_clause ::= WINDOW windowdefn_list */ |
| 177331 | + 276, /* (337) filter_over ::= filter_clause over_clause */ |
| 177332 | + 276, /* (338) filter_over ::= over_clause */ |
| 177333 | + 276, /* (339) filter_over ::= filter_clause */ |
| 177334 | + 316, /* (340) over_clause ::= OVER LP window RP */ |
| 177335 | + 316, /* (341) over_clause ::= OVER nm */ |
| 177336 | + 315, /* (342) filter_clause ::= FILTER LP WHERE expr RP */ |
| 177337 | + 218, /* (343) term ::= QNUMBER */ |
| 177338 | + 187, /* (344) input ::= cmdlist */ |
| 177339 | + 188, /* (345) cmdlist ::= cmdlist ecmd */ |
| 177340 | + 188, /* (346) cmdlist ::= ecmd */ |
| 177341 | + 189, /* (347) ecmd ::= SEMI */ |
| 177342 | + 189, /* (348) ecmd ::= cmdx SEMI */ |
| 177343 | + 189, /* (349) ecmd ::= explain cmdx SEMI */ |
| 177344 | + 194, /* (350) trans_opt ::= */ |
| 177345 | + 194, /* (351) trans_opt ::= TRANSACTION */ |
| 177346 | + 194, /* (352) trans_opt ::= TRANSACTION nm */ |
| 177347 | + 196, /* (353) savepoint_opt ::= SAVEPOINT */ |
| 177348 | + 196, /* (354) savepoint_opt ::= */ |
| 177349 | + 192, /* (355) cmd ::= create_table create_table_args */ |
| 177350 | + 205, /* (356) table_option_set ::= table_option */ |
| 177351 | + 203, /* (357) columnlist ::= columnlist COMMA columnname carglist */ |
| 177352 | + 203, /* (358) columnlist ::= columnname carglist */ |
| 177353 | + 195, /* (359) nm ::= ID|INDEXED|JOIN_KW */ |
| 177354 | + 195, /* (360) nm ::= STRING */ |
| 177355 | + 210, /* (361) typetoken ::= typename */ |
| 177356 | + 211, /* (362) typename ::= ID|STRING */ |
| 177357 | + 212, /* (363) signed ::= plus_num */ |
| 177358 | + 212, /* (364) signed ::= minus_num */ |
| 177359 | + 209, /* (365) carglist ::= carglist ccons */ |
| 177360 | + 209, /* (366) carglist ::= */ |
| 177361 | + 217, /* (367) ccons ::= NULL onconf */ |
| 177362 | + 217, /* (368) ccons ::= GENERATED ALWAYS AS generated */ |
| 177363 | + 217, /* (369) ccons ::= AS generated */ |
| 177364 | + 204, /* (370) conslist_opt ::= COMMA conslist */ |
| 177365 | + 230, /* (371) conslist ::= conslist tconscomma tcons */ |
| 177366 | + 230, /* (372) conslist ::= tcons */ |
| 177367 | + 231, /* (373) tconscomma ::= */ |
| 177368 | + 235, /* (374) defer_subclause_opt ::= defer_subclause */ |
| 177369 | + 237, /* (375) resolvetype ::= raisetype */ |
| 177370 | + 241, /* (376) selectnowith ::= oneselect */ |
| 177371 | + 242, /* (377) oneselect ::= values */ |
| 177372 | + 257, /* (378) sclp ::= selcollist COMMA */ |
| 177373 | + 258, /* (379) as ::= ID|STRING */ |
| 177374 | + 267, /* (380) indexed_opt ::= indexed_by */ |
| 177375 | + 275, /* (381) returning ::= */ |
| 177376 | + 219, /* (382) expr ::= term */ |
| 177377 | + 277, /* (383) likeop ::= LIKE_KW|MATCH */ |
| 177378 | + 281, /* (384) case_operand ::= expr */ |
| 177379 | + 264, /* (385) exprlist ::= nexprlist */ |
| 177380 | + 287, /* (386) nmnum ::= plus_num */ |
| 177381 | + 287, /* (387) nmnum ::= nm */ |
| 177382 | + 287, /* (388) nmnum ::= ON */ |
| 177383 | + 287, /* (389) nmnum ::= DELETE */ |
| 177384 | + 287, /* (390) nmnum ::= DEFAULT */ |
| 177385 | + 213, /* (391) plus_num ::= INTEGER|FLOAT */ |
| 177386 | + 292, /* (392) foreach_clause ::= */ |
| 177387 | + 292, /* (393) foreach_clause ::= FOR EACH ROW */ |
| 177388 | + 295, /* (394) trnm ::= nm */ |
| 177389 | + 296, /* (395) tridxby ::= */ |
| 177390 | + 297, /* (396) database_kw_opt ::= DATABASE */ |
| 177391 | + 297, /* (397) database_kw_opt ::= */ |
| 177392 | + 300, /* (398) kwcolumn_opt ::= */ |
| 177393 | + 300, /* (399) kwcolumn_opt ::= COLUMNKW */ |
| 177394 | + 302, /* (400) vtabarglist ::= vtabarg */ |
| 177395 | + 302, /* (401) vtabarglist ::= vtabarglist COMMA vtabarg */ |
| 177396 | + 303, /* (402) vtabarg ::= vtabarg vtabargtoken */ |
| 177397 | + 306, /* (403) anylist ::= */ |
| 177398 | + 306, /* (404) anylist ::= anylist LP anylist RP */ |
| 177399 | + 306, /* (405) anylist ::= anylist ANY */ |
| 177400 | + 269, /* (406) with ::= */ |
| 177401 | + 310, /* (407) windowdefn_list ::= windowdefn */ |
| 177402 | + 312, /* (408) window ::= frame_opt */ |
| 177297 | 177403 | }; |
| 177298 | 177404 | |
| 177299 | 177405 | /* For rule J, yyRuleInfoNRhs[J] contains the negative of the number |
| 177300 | 177406 | ** of symbols on the right-hand side of that rule. */ |
| 177301 | 177407 | static const signed char yyRuleInfoNRhs[] = { |
| | @@ -177757,20 +177863,20 @@ |
| 177757 | 177863 | break; |
| 177758 | 177864 | case 2: /* cmdx ::= cmd */ |
| 177759 | 177865 | { sqlite3FinishCoding(pParse); } |
| 177760 | 177866 | break; |
| 177761 | 177867 | case 3: /* cmd ::= BEGIN transtype trans_opt */ |
| 177762 | | -{sqlite3BeginTransaction(pParse, yymsp[-1].minor.yy144);} |
| 177868 | +{sqlite3BeginTransaction(pParse, yymsp[-1].minor.yy502);} |
| 177763 | 177869 | break; |
| 177764 | 177870 | case 4: /* transtype ::= */ |
| 177765 | | -{yymsp[1].minor.yy144 = TK_DEFERRED;} |
| 177871 | +{yymsp[1].minor.yy502 = TK_DEFERRED;} |
| 177766 | 177872 | break; |
| 177767 | 177873 | case 5: /* transtype ::= DEFERRED */ |
| 177768 | 177874 | case 6: /* transtype ::= IMMEDIATE */ yytestcase(yyruleno==6); |
| 177769 | 177875 | case 7: /* transtype ::= EXCLUSIVE */ yytestcase(yyruleno==7); |
| 177770 | 177876 | case 324: /* range_or_rows ::= RANGE|ROWS|GROUPS */ yytestcase(yyruleno==324); |
| 177771 | | -{yymsp[0].minor.yy144 = yymsp[0].major; /*A-overwrites-X*/} |
| 177877 | +{yymsp[0].minor.yy502 = yymsp[0].major; /*A-overwrites-X*/} |
| 177772 | 177878 | break; |
| 177773 | 177879 | case 8: /* cmd ::= COMMIT|END trans_opt */ |
| 177774 | 177880 | case 9: /* cmd ::= ROLLBACK trans_opt */ yytestcase(yyruleno==9); |
| 177775 | 177881 | {sqlite3EndTransaction(pParse,yymsp[-1].major);} |
| 177776 | 177882 | break; |
| | @@ -177789,11 +177895,11 @@ |
| 177789 | 177895 | sqlite3Savepoint(pParse, SAVEPOINT_ROLLBACK, &yymsp[0].minor.yy0); |
| 177790 | 177896 | } |
| 177791 | 177897 | break; |
| 177792 | 177898 | case 13: /* create_table ::= createkw temp TABLE ifnotexists nm dbnm */ |
| 177793 | 177899 | { |
| 177794 | | - sqlite3StartTable(pParse,&yymsp[-1].minor.yy0,&yymsp[0].minor.yy0,yymsp[-4].minor.yy144,0,0,yymsp[-2].minor.yy144); |
| 177900 | + sqlite3StartTable(pParse,&yymsp[-1].minor.yy0,&yymsp[0].minor.yy0,yymsp[-4].minor.yy502,0,0,yymsp[-2].minor.yy502); |
| 177795 | 177901 | } |
| 177796 | 177902 | break; |
| 177797 | 177903 | case 14: /* createkw ::= CREATE */ |
| 177798 | 177904 | {disableLookaside(pParse);} |
| 177799 | 177905 | break; |
| | @@ -177803,56 +177909,56 @@ |
| 177803 | 177909 | case 62: /* init_deferred_pred_opt ::= */ yytestcase(yyruleno==62); |
| 177804 | 177910 | case 72: /* defer_subclause_opt ::= */ yytestcase(yyruleno==72); |
| 177805 | 177911 | case 81: /* ifexists ::= */ yytestcase(yyruleno==81); |
| 177806 | 177912 | case 100: /* distinct ::= */ yytestcase(yyruleno==100); |
| 177807 | 177913 | case 246: /* collate ::= */ yytestcase(yyruleno==246); |
| 177808 | | -{yymsp[1].minor.yy144 = 0;} |
| 177914 | +{yymsp[1].minor.yy502 = 0;} |
| 177809 | 177915 | break; |
| 177810 | 177916 | case 16: /* ifnotexists ::= IF NOT EXISTS */ |
| 177811 | | -{yymsp[-2].minor.yy144 = 1;} |
| 177917 | +{yymsp[-2].minor.yy502 = 1;} |
| 177812 | 177918 | break; |
| 177813 | 177919 | case 17: /* temp ::= TEMP */ |
| 177814 | | -{yymsp[0].minor.yy144 = pParse->db->init.busy==0;} |
| 177920 | +{yymsp[0].minor.yy502 = pParse->db->init.busy==0;} |
| 177815 | 177921 | break; |
| 177816 | 177922 | case 19: /* create_table_args ::= LP columnlist conslist_opt RP table_option_set */ |
| 177817 | 177923 | { |
| 177818 | | - sqlite3EndTable(pParse,&yymsp[-2].minor.yy0,&yymsp[-1].minor.yy0,yymsp[0].minor.yy391,0); |
| 177924 | + sqlite3EndTable(pParse,&yymsp[-2].minor.yy0,&yymsp[-1].minor.yy0,yymsp[0].minor.yy9,0); |
| 177819 | 177925 | } |
| 177820 | 177926 | break; |
| 177821 | 177927 | case 20: /* create_table_args ::= AS select */ |
| 177822 | 177928 | { |
| 177823 | | - sqlite3EndTable(pParse,0,0,0,yymsp[0].minor.yy555); |
| 177824 | | - sqlite3SelectDelete(pParse->db, yymsp[0].minor.yy555); |
| 177929 | + sqlite3EndTable(pParse,0,0,0,yymsp[0].minor.yy637); |
| 177930 | + sqlite3SelectDelete(pParse->db, yymsp[0].minor.yy637); |
| 177825 | 177931 | } |
| 177826 | 177932 | break; |
| 177827 | 177933 | case 21: /* table_option_set ::= */ |
| 177828 | | -{yymsp[1].minor.yy391 = 0;} |
| 177934 | +{yymsp[1].minor.yy9 = 0;} |
| 177829 | 177935 | break; |
| 177830 | 177936 | case 22: /* table_option_set ::= table_option_set COMMA table_option */ |
| 177831 | | -{yylhsminor.yy391 = yymsp[-2].minor.yy391|yymsp[0].minor.yy391;} |
| 177832 | | - yymsp[-2].minor.yy391 = yylhsminor.yy391; |
| 177937 | +{yylhsminor.yy9 = yymsp[-2].minor.yy9|yymsp[0].minor.yy9;} |
| 177938 | + yymsp[-2].minor.yy9 = yylhsminor.yy9; |
| 177833 | 177939 | break; |
| 177834 | 177940 | case 23: /* table_option ::= WITHOUT nm */ |
| 177835 | 177941 | { |
| 177836 | 177942 | if( yymsp[0].minor.yy0.n==5 && sqlite3_strnicmp(yymsp[0].minor.yy0.z,"rowid",5)==0 ){ |
| 177837 | | - yymsp[-1].minor.yy391 = TF_WithoutRowid | TF_NoVisibleRowid; |
| 177943 | + yymsp[-1].minor.yy9 = TF_WithoutRowid | TF_NoVisibleRowid; |
| 177838 | 177944 | }else{ |
| 177839 | | - yymsp[-1].minor.yy391 = 0; |
| 177945 | + yymsp[-1].minor.yy9 = 0; |
| 177840 | 177946 | sqlite3ErrorMsg(pParse, "unknown table option: %.*s", yymsp[0].minor.yy0.n, yymsp[0].minor.yy0.z); |
| 177841 | 177947 | } |
| 177842 | 177948 | } |
| 177843 | 177949 | break; |
| 177844 | 177950 | case 24: /* table_option ::= nm */ |
| 177845 | 177951 | { |
| 177846 | 177952 | if( yymsp[0].minor.yy0.n==6 && sqlite3_strnicmp(yymsp[0].minor.yy0.z,"strict",6)==0 ){ |
| 177847 | | - yylhsminor.yy391 = TF_Strict; |
| 177953 | + yylhsminor.yy9 = TF_Strict; |
| 177848 | 177954 | }else{ |
| 177849 | | - yylhsminor.yy391 = 0; |
| 177955 | + yylhsminor.yy9 = 0; |
| 177850 | 177956 | sqlite3ErrorMsg(pParse, "unknown table option: %.*s", yymsp[0].minor.yy0.n, yymsp[0].minor.yy0.z); |
| 177851 | 177957 | } |
| 177852 | 177958 | } |
| 177853 | | - yymsp[0].minor.yy391 = yylhsminor.yy391; |
| 177959 | + yymsp[0].minor.yy9 = yylhsminor.yy9; |
| 177854 | 177960 | break; |
| 177855 | 177961 | case 25: /* columnname ::= nm typetoken */ |
| 177856 | 177962 | {sqlite3AddColumn(pParse,yymsp[-1].minor.yy0,yymsp[0].minor.yy0);} |
| 177857 | 177963 | break; |
| 177858 | 177964 | case 26: /* typetoken ::= */ |
| | @@ -177874,11 +177980,11 @@ |
| 177874 | 177980 | {yymsp[-1].minor.yy0.n=yymsp[0].minor.yy0.n+(int)(yymsp[0].minor.yy0.z-yymsp[-1].minor.yy0.z);} |
| 177875 | 177981 | break; |
| 177876 | 177982 | case 30: /* scanpt ::= */ |
| 177877 | 177983 | { |
| 177878 | 177984 | assert( yyLookahead!=YYNOCODE ); |
| 177879 | | - yymsp[1].minor.yy168 = yyLookaheadToken.z; |
| 177985 | + yymsp[1].minor.yy342 = yyLookaheadToken.z; |
| 177880 | 177986 | } |
| 177881 | 177987 | break; |
| 177882 | 177988 | case 31: /* scantok ::= */ |
| 177883 | 177989 | { |
| 177884 | 177990 | assert( yyLookahead!=YYNOCODE ); |
| | @@ -177888,21 +177994,21 @@ |
| 177888 | 177994 | case 32: /* ccons ::= CONSTRAINT nm */ |
| 177889 | 177995 | case 67: /* tcons ::= CONSTRAINT nm */ yytestcase(yyruleno==67); |
| 177890 | 177996 | {pParse->constraintName = yymsp[0].minor.yy0;} |
| 177891 | 177997 | break; |
| 177892 | 177998 | case 33: /* ccons ::= DEFAULT scantok term */ |
| 177893 | | -{sqlite3AddDefaultValue(pParse,yymsp[0].minor.yy454,yymsp[-1].minor.yy0.z,&yymsp[-1].minor.yy0.z[yymsp[-1].minor.yy0.n]);} |
| 177999 | +{sqlite3AddDefaultValue(pParse,yymsp[0].minor.yy590,yymsp[-1].minor.yy0.z,&yymsp[-1].minor.yy0.z[yymsp[-1].minor.yy0.n]);} |
| 177894 | 178000 | break; |
| 177895 | 178001 | case 34: /* ccons ::= DEFAULT LP expr RP */ |
| 177896 | | -{sqlite3AddDefaultValue(pParse,yymsp[-1].minor.yy454,yymsp[-2].minor.yy0.z+1,yymsp[0].minor.yy0.z);} |
| 178002 | +{sqlite3AddDefaultValue(pParse,yymsp[-1].minor.yy590,yymsp[-2].minor.yy0.z+1,yymsp[0].minor.yy0.z);} |
| 177897 | 178003 | break; |
| 177898 | 178004 | case 35: /* ccons ::= DEFAULT PLUS scantok term */ |
| 177899 | | -{sqlite3AddDefaultValue(pParse,yymsp[0].minor.yy454,yymsp[-2].minor.yy0.z,&yymsp[-1].minor.yy0.z[yymsp[-1].minor.yy0.n]);} |
| 178005 | +{sqlite3AddDefaultValue(pParse,yymsp[0].minor.yy590,yymsp[-2].minor.yy0.z,&yymsp[-1].minor.yy0.z[yymsp[-1].minor.yy0.n]);} |
| 177900 | 178006 | break; |
| 177901 | 178007 | case 36: /* ccons ::= DEFAULT MINUS scantok term */ |
| 177902 | 178008 | { |
| 177903 | | - Expr *p = sqlite3PExpr(pParse, TK_UMINUS, yymsp[0].minor.yy454, 0); |
| 178009 | + Expr *p = sqlite3PExpr(pParse, TK_UMINUS, yymsp[0].minor.yy590, 0); |
| 177904 | 178010 | sqlite3AddDefaultValue(pParse,p,yymsp[-2].minor.yy0.z,&yymsp[-1].minor.yy0.z[yymsp[-1].minor.yy0.n]); |
| 177905 | 178011 | } |
| 177906 | 178012 | break; |
| 177907 | 178013 | case 37: /* ccons ::= DEFAULT scantok ID|INDEXED */ |
| 177908 | 178014 | { |
| | @@ -177913,262 +178019,262 @@ |
| 177913 | 178019 | } |
| 177914 | 178020 | sqlite3AddDefaultValue(pParse,p,yymsp[0].minor.yy0.z,yymsp[0].minor.yy0.z+yymsp[0].minor.yy0.n); |
| 177915 | 178021 | } |
| 177916 | 178022 | break; |
| 177917 | 178023 | case 38: /* ccons ::= NOT NULL onconf */ |
| 177918 | | -{sqlite3AddNotNull(pParse, yymsp[0].minor.yy144);} |
| 178024 | +{sqlite3AddNotNull(pParse, yymsp[0].minor.yy502);} |
| 177919 | 178025 | break; |
| 177920 | 178026 | case 39: /* ccons ::= PRIMARY KEY sortorder onconf autoinc */ |
| 177921 | | -{sqlite3AddPrimaryKey(pParse,0,yymsp[-1].minor.yy144,yymsp[0].minor.yy144,yymsp[-2].minor.yy144);} |
| 178027 | +{sqlite3AddPrimaryKey(pParse,0,yymsp[-1].minor.yy502,yymsp[0].minor.yy502,yymsp[-2].minor.yy502);} |
| 177922 | 178028 | break; |
| 177923 | 178029 | case 40: /* ccons ::= UNIQUE onconf */ |
| 177924 | | -{sqlite3CreateIndex(pParse,0,0,0,0,yymsp[0].minor.yy144,0,0,0,0, |
| 178030 | +{sqlite3CreateIndex(pParse,0,0,0,0,yymsp[0].minor.yy502,0,0,0,0, |
| 177925 | 178031 | SQLITE_IDXTYPE_UNIQUE);} |
| 177926 | 178032 | break; |
| 177927 | 178033 | case 41: /* ccons ::= CHECK LP expr RP */ |
| 177928 | | -{sqlite3AddCheckConstraint(pParse,yymsp[-1].minor.yy454,yymsp[-2].minor.yy0.z,yymsp[0].minor.yy0.z);} |
| 178034 | +{sqlite3AddCheckConstraint(pParse,yymsp[-1].minor.yy590,yymsp[-2].minor.yy0.z,yymsp[0].minor.yy0.z);} |
| 177929 | 178035 | break; |
| 177930 | 178036 | case 42: /* ccons ::= REFERENCES nm eidlist_opt refargs */ |
| 177931 | | -{sqlite3CreateForeignKey(pParse,0,&yymsp[-2].minor.yy0,yymsp[-1].minor.yy14,yymsp[0].minor.yy144);} |
| 178037 | +{sqlite3CreateForeignKey(pParse,0,&yymsp[-2].minor.yy0,yymsp[-1].minor.yy402,yymsp[0].minor.yy502);} |
| 177932 | 178038 | break; |
| 177933 | 178039 | case 43: /* ccons ::= defer_subclause */ |
| 177934 | | -{sqlite3DeferForeignKey(pParse,yymsp[0].minor.yy144);} |
| 178040 | +{sqlite3DeferForeignKey(pParse,yymsp[0].minor.yy502);} |
| 177935 | 178041 | break; |
| 177936 | 178042 | case 44: /* ccons ::= COLLATE ID|STRING */ |
| 177937 | 178043 | {sqlite3AddCollateType(pParse, &yymsp[0].minor.yy0);} |
| 177938 | 178044 | break; |
| 177939 | 178045 | case 45: /* generated ::= LP expr RP */ |
| 177940 | | -{sqlite3AddGenerated(pParse,yymsp[-1].minor.yy454,0);} |
| 178046 | +{sqlite3AddGenerated(pParse,yymsp[-1].minor.yy590,0);} |
| 177941 | 178047 | break; |
| 177942 | 178048 | case 46: /* generated ::= LP expr RP ID */ |
| 177943 | | -{sqlite3AddGenerated(pParse,yymsp[-2].minor.yy454,&yymsp[0].minor.yy0);} |
| 178049 | +{sqlite3AddGenerated(pParse,yymsp[-2].minor.yy590,&yymsp[0].minor.yy0);} |
| 177944 | 178050 | break; |
| 177945 | 178051 | case 48: /* autoinc ::= AUTOINCR */ |
| 177946 | | -{yymsp[0].minor.yy144 = 1;} |
| 178052 | +{yymsp[0].minor.yy502 = 1;} |
| 177947 | 178053 | break; |
| 177948 | 178054 | case 49: /* refargs ::= */ |
| 177949 | | -{ yymsp[1].minor.yy144 = OE_None*0x0101; /* EV: R-19803-45884 */} |
| 178055 | +{ yymsp[1].minor.yy502 = OE_None*0x0101; /* EV: R-19803-45884 */} |
| 177950 | 178056 | break; |
| 177951 | 178057 | case 50: /* refargs ::= refargs refarg */ |
| 177952 | | -{ yymsp[-1].minor.yy144 = (yymsp[-1].minor.yy144 & ~yymsp[0].minor.yy383.mask) | yymsp[0].minor.yy383.value; } |
| 178058 | +{ yymsp[-1].minor.yy502 = (yymsp[-1].minor.yy502 & ~yymsp[0].minor.yy481.mask) | yymsp[0].minor.yy481.value; } |
| 177953 | 178059 | break; |
| 177954 | 178060 | case 51: /* refarg ::= MATCH nm */ |
| 177955 | | -{ yymsp[-1].minor.yy383.value = 0; yymsp[-1].minor.yy383.mask = 0x000000; } |
| 178061 | +{ yymsp[-1].minor.yy481.value = 0; yymsp[-1].minor.yy481.mask = 0x000000; } |
| 177956 | 178062 | break; |
| 177957 | 178063 | case 52: /* refarg ::= ON INSERT refact */ |
| 177958 | | -{ yymsp[-2].minor.yy383.value = 0; yymsp[-2].minor.yy383.mask = 0x000000; } |
| 178064 | +{ yymsp[-2].minor.yy481.value = 0; yymsp[-2].minor.yy481.mask = 0x000000; } |
| 177959 | 178065 | break; |
| 177960 | 178066 | case 53: /* refarg ::= ON DELETE refact */ |
| 177961 | | -{ yymsp[-2].minor.yy383.value = yymsp[0].minor.yy144; yymsp[-2].minor.yy383.mask = 0x0000ff; } |
| 178067 | +{ yymsp[-2].minor.yy481.value = yymsp[0].minor.yy502; yymsp[-2].minor.yy481.mask = 0x0000ff; } |
| 177962 | 178068 | break; |
| 177963 | 178069 | case 54: /* refarg ::= ON UPDATE refact */ |
| 177964 | | -{ yymsp[-2].minor.yy383.value = yymsp[0].minor.yy144<<8; yymsp[-2].minor.yy383.mask = 0x00ff00; } |
| 178070 | +{ yymsp[-2].minor.yy481.value = yymsp[0].minor.yy502<<8; yymsp[-2].minor.yy481.mask = 0x00ff00; } |
| 177965 | 178071 | break; |
| 177966 | 178072 | case 55: /* refact ::= SET NULL */ |
| 177967 | | -{ yymsp[-1].minor.yy144 = OE_SetNull; /* EV: R-33326-45252 */} |
| 178073 | +{ yymsp[-1].minor.yy502 = OE_SetNull; /* EV: R-33326-45252 */} |
| 177968 | 178074 | break; |
| 177969 | 178075 | case 56: /* refact ::= SET DEFAULT */ |
| 177970 | | -{ yymsp[-1].minor.yy144 = OE_SetDflt; /* EV: R-33326-45252 */} |
| 178076 | +{ yymsp[-1].minor.yy502 = OE_SetDflt; /* EV: R-33326-45252 */} |
| 177971 | 178077 | break; |
| 177972 | 178078 | case 57: /* refact ::= CASCADE */ |
| 177973 | | -{ yymsp[0].minor.yy144 = OE_Cascade; /* EV: R-33326-45252 */} |
| 178079 | +{ yymsp[0].minor.yy502 = OE_Cascade; /* EV: R-33326-45252 */} |
| 177974 | 178080 | break; |
| 177975 | 178081 | case 58: /* refact ::= RESTRICT */ |
| 177976 | | -{ yymsp[0].minor.yy144 = OE_Restrict; /* EV: R-33326-45252 */} |
| 178082 | +{ yymsp[0].minor.yy502 = OE_Restrict; /* EV: R-33326-45252 */} |
| 177977 | 178083 | break; |
| 177978 | 178084 | case 59: /* refact ::= NO ACTION */ |
| 177979 | | -{ yymsp[-1].minor.yy144 = OE_None; /* EV: R-33326-45252 */} |
| 178085 | +{ yymsp[-1].minor.yy502 = OE_None; /* EV: R-33326-45252 */} |
| 177980 | 178086 | break; |
| 177981 | 178087 | case 60: /* defer_subclause ::= NOT DEFERRABLE init_deferred_pred_opt */ |
| 177982 | | -{yymsp[-2].minor.yy144 = 0;} |
| 178088 | +{yymsp[-2].minor.yy502 = 0;} |
| 177983 | 178089 | break; |
| 177984 | 178090 | case 61: /* defer_subclause ::= DEFERRABLE init_deferred_pred_opt */ |
| 177985 | 178091 | case 76: /* orconf ::= OR resolvetype */ yytestcase(yyruleno==76); |
| 177986 | 178092 | case 173: /* insert_cmd ::= INSERT orconf */ yytestcase(yyruleno==173); |
| 177987 | | -{yymsp[-1].minor.yy144 = yymsp[0].minor.yy144;} |
| 178093 | +{yymsp[-1].minor.yy502 = yymsp[0].minor.yy502;} |
| 177988 | 178094 | break; |
| 177989 | 178095 | case 63: /* init_deferred_pred_opt ::= INITIALLY DEFERRED */ |
| 177990 | 178096 | case 80: /* ifexists ::= IF EXISTS */ yytestcase(yyruleno==80); |
| 177991 | 178097 | case 219: /* between_op ::= NOT BETWEEN */ yytestcase(yyruleno==219); |
| 177992 | 178098 | case 222: /* in_op ::= NOT IN */ yytestcase(yyruleno==222); |
| 177993 | 178099 | case 247: /* collate ::= COLLATE ID|STRING */ yytestcase(yyruleno==247); |
| 177994 | | -{yymsp[-1].minor.yy144 = 1;} |
| 178100 | +{yymsp[-1].minor.yy502 = 1;} |
| 177995 | 178101 | break; |
| 177996 | 178102 | case 64: /* init_deferred_pred_opt ::= INITIALLY IMMEDIATE */ |
| 177997 | | -{yymsp[-1].minor.yy144 = 0;} |
| 178103 | +{yymsp[-1].minor.yy502 = 0;} |
| 177998 | 178104 | break; |
| 177999 | 178105 | case 66: /* tconscomma ::= COMMA */ |
| 178000 | 178106 | {pParse->constraintName.n = 0;} |
| 178001 | 178107 | break; |
| 178002 | 178108 | case 68: /* tcons ::= PRIMARY KEY LP sortlist autoinc RP onconf */ |
| 178003 | | -{sqlite3AddPrimaryKey(pParse,yymsp[-3].minor.yy14,yymsp[0].minor.yy144,yymsp[-2].minor.yy144,0);} |
| 178109 | +{sqlite3AddPrimaryKey(pParse,yymsp[-3].minor.yy402,yymsp[0].minor.yy502,yymsp[-2].minor.yy502,0);} |
| 178004 | 178110 | break; |
| 178005 | 178111 | case 69: /* tcons ::= UNIQUE LP sortlist RP onconf */ |
| 178006 | | -{sqlite3CreateIndex(pParse,0,0,0,yymsp[-2].minor.yy14,yymsp[0].minor.yy144,0,0,0,0, |
| 178112 | +{sqlite3CreateIndex(pParse,0,0,0,yymsp[-2].minor.yy402,yymsp[0].minor.yy502,0,0,0,0, |
| 178007 | 178113 | SQLITE_IDXTYPE_UNIQUE);} |
| 178008 | 178114 | break; |
| 178009 | 178115 | case 70: /* tcons ::= CHECK LP expr RP onconf */ |
| 178010 | | -{sqlite3AddCheckConstraint(pParse,yymsp[-2].minor.yy454,yymsp[-3].minor.yy0.z,yymsp[-1].minor.yy0.z);} |
| 178116 | +{sqlite3AddCheckConstraint(pParse,yymsp[-2].minor.yy590,yymsp[-3].minor.yy0.z,yymsp[-1].minor.yy0.z);} |
| 178011 | 178117 | break; |
| 178012 | 178118 | case 71: /* tcons ::= FOREIGN KEY LP eidlist RP REFERENCES nm eidlist_opt refargs defer_subclause_opt */ |
| 178013 | 178119 | { |
| 178014 | | - sqlite3CreateForeignKey(pParse, yymsp[-6].minor.yy14, &yymsp[-3].minor.yy0, yymsp[-2].minor.yy14, yymsp[-1].minor.yy144); |
| 178015 | | - sqlite3DeferForeignKey(pParse, yymsp[0].minor.yy144); |
| 178120 | + sqlite3CreateForeignKey(pParse, yymsp[-6].minor.yy402, &yymsp[-3].minor.yy0, yymsp[-2].minor.yy402, yymsp[-1].minor.yy502); |
| 178121 | + sqlite3DeferForeignKey(pParse, yymsp[0].minor.yy502); |
| 178016 | 178122 | } |
| 178017 | 178123 | break; |
| 178018 | 178124 | case 73: /* onconf ::= */ |
| 178019 | 178125 | case 75: /* orconf ::= */ yytestcase(yyruleno==75); |
| 178020 | | -{yymsp[1].minor.yy144 = OE_Default;} |
| 178126 | +{yymsp[1].minor.yy502 = OE_Default;} |
| 178021 | 178127 | break; |
| 178022 | 178128 | case 74: /* onconf ::= ON CONFLICT resolvetype */ |
| 178023 | | -{yymsp[-2].minor.yy144 = yymsp[0].minor.yy144;} |
| 178129 | +{yymsp[-2].minor.yy502 = yymsp[0].minor.yy502;} |
| 178024 | 178130 | break; |
| 178025 | 178131 | case 77: /* resolvetype ::= IGNORE */ |
| 178026 | | -{yymsp[0].minor.yy144 = OE_Ignore;} |
| 178132 | +{yymsp[0].minor.yy502 = OE_Ignore;} |
| 178027 | 178133 | break; |
| 178028 | 178134 | case 78: /* resolvetype ::= REPLACE */ |
| 178029 | 178135 | case 174: /* insert_cmd ::= REPLACE */ yytestcase(yyruleno==174); |
| 178030 | | -{yymsp[0].minor.yy144 = OE_Replace;} |
| 178136 | +{yymsp[0].minor.yy502 = OE_Replace;} |
| 178031 | 178137 | break; |
| 178032 | 178138 | case 79: /* cmd ::= DROP TABLE ifexists fullname */ |
| 178033 | 178139 | { |
| 178034 | | - sqlite3DropTable(pParse, yymsp[0].minor.yy203, 0, yymsp[-1].minor.yy144); |
| 178140 | + sqlite3DropTable(pParse, yymsp[0].minor.yy563, 0, yymsp[-1].minor.yy502); |
| 178035 | 178141 | } |
| 178036 | 178142 | break; |
| 178037 | 178143 | case 82: /* cmd ::= createkw temp VIEW ifnotexists nm dbnm eidlist_opt AS select */ |
| 178038 | 178144 | { |
| 178039 | | - sqlite3CreateView(pParse, &yymsp[-8].minor.yy0, &yymsp[-4].minor.yy0, &yymsp[-3].minor.yy0, yymsp[-2].minor.yy14, yymsp[0].minor.yy555, yymsp[-7].minor.yy144, yymsp[-5].minor.yy144); |
| 178145 | + sqlite3CreateView(pParse, &yymsp[-8].minor.yy0, &yymsp[-4].minor.yy0, &yymsp[-3].minor.yy0, yymsp[-2].minor.yy402, yymsp[0].minor.yy637, yymsp[-7].minor.yy502, yymsp[-5].minor.yy502); |
| 178040 | 178146 | } |
| 178041 | 178147 | break; |
| 178042 | 178148 | case 83: /* cmd ::= DROP VIEW ifexists fullname */ |
| 178043 | 178149 | { |
| 178044 | | - sqlite3DropTable(pParse, yymsp[0].minor.yy203, 1, yymsp[-1].minor.yy144); |
| 178150 | + sqlite3DropTable(pParse, yymsp[0].minor.yy563, 1, yymsp[-1].minor.yy502); |
| 178045 | 178151 | } |
| 178046 | 178152 | break; |
| 178047 | 178153 | case 84: /* cmd ::= select */ |
| 178048 | 178154 | { |
| 178049 | 178155 | SelectDest dest = {SRT_Output, 0, 0, 0, 0, 0, 0}; |
| 178050 | 178156 | if( (pParse->db->mDbFlags & DBFLAG_EncodingFixed)!=0 |
| 178051 | 178157 | || sqlite3ReadSchema(pParse)==SQLITE_OK |
| 178052 | 178158 | ){ |
| 178053 | | - sqlite3Select(pParse, yymsp[0].minor.yy555, &dest); |
| 178159 | + sqlite3Select(pParse, yymsp[0].minor.yy637, &dest); |
| 178054 | 178160 | } |
| 178055 | | - sqlite3SelectDelete(pParse->db, yymsp[0].minor.yy555); |
| 178161 | + sqlite3SelectDelete(pParse->db, yymsp[0].minor.yy637); |
| 178056 | 178162 | } |
| 178057 | 178163 | break; |
| 178058 | 178164 | case 85: /* select ::= WITH wqlist selectnowith */ |
| 178059 | | -{yymsp[-2].minor.yy555 = attachWithToSelect(pParse,yymsp[0].minor.yy555,yymsp[-1].minor.yy59);} |
| 178165 | +{yymsp[-2].minor.yy637 = attachWithToSelect(pParse,yymsp[0].minor.yy637,yymsp[-1].minor.yy125);} |
| 178060 | 178166 | break; |
| 178061 | 178167 | case 86: /* select ::= WITH RECURSIVE wqlist selectnowith */ |
| 178062 | | -{yymsp[-3].minor.yy555 = attachWithToSelect(pParse,yymsp[0].minor.yy555,yymsp[-1].minor.yy59);} |
| 178168 | +{yymsp[-3].minor.yy637 = attachWithToSelect(pParse,yymsp[0].minor.yy637,yymsp[-1].minor.yy125);} |
| 178063 | 178169 | break; |
| 178064 | 178170 | case 87: /* select ::= selectnowith */ |
| 178065 | 178171 | { |
| 178066 | | - Select *p = yymsp[0].minor.yy555; |
| 178172 | + Select *p = yymsp[0].minor.yy637; |
| 178067 | 178173 | if( p ){ |
| 178068 | 178174 | parserDoubleLinkSelect(pParse, p); |
| 178069 | 178175 | } |
| 178070 | 178176 | } |
| 178071 | 178177 | break; |
| 178072 | 178178 | case 88: /* selectnowith ::= selectnowith multiselect_op oneselect */ |
| 178073 | 178179 | { |
| 178074 | | - Select *pRhs = yymsp[0].minor.yy555; |
| 178075 | | - Select *pLhs = yymsp[-2].minor.yy555; |
| 178180 | + Select *pRhs = yymsp[0].minor.yy637; |
| 178181 | + Select *pLhs = yymsp[-2].minor.yy637; |
| 178076 | 178182 | if( pRhs && pRhs->pPrior ){ |
| 178077 | 178183 | SrcList *pFrom; |
| 178078 | 178184 | Token x; |
| 178079 | 178185 | x.n = 0; |
| 178080 | 178186 | parserDoubleLinkSelect(pParse, pRhs); |
| 178081 | 178187 | pFrom = sqlite3SrcListAppendFromTerm(pParse,0,0,0,&x,pRhs,0); |
| 178082 | 178188 | pRhs = sqlite3SelectNew(pParse,0,pFrom,0,0,0,0,0,0); |
| 178083 | 178189 | } |
| 178084 | 178190 | if( pRhs ){ |
| 178085 | | - pRhs->op = (u8)yymsp[-1].minor.yy144; |
| 178191 | + pRhs->op = (u8)yymsp[-1].minor.yy502; |
| 178086 | 178192 | pRhs->pPrior = pLhs; |
| 178087 | 178193 | if( ALWAYS(pLhs) ) pLhs->selFlags &= ~SF_MultiValue; |
| 178088 | 178194 | pRhs->selFlags &= ~SF_MultiValue; |
| 178089 | | - if( yymsp[-1].minor.yy144!=TK_ALL ) pParse->hasCompound = 1; |
| 178195 | + if( yymsp[-1].minor.yy502!=TK_ALL ) pParse->hasCompound = 1; |
| 178090 | 178196 | }else{ |
| 178091 | 178197 | sqlite3SelectDelete(pParse->db, pLhs); |
| 178092 | 178198 | } |
| 178093 | | - yymsp[-2].minor.yy555 = pRhs; |
| 178199 | + yymsp[-2].minor.yy637 = pRhs; |
| 178094 | 178200 | } |
| 178095 | 178201 | break; |
| 178096 | 178202 | case 89: /* multiselect_op ::= UNION */ |
| 178097 | 178203 | case 91: /* multiselect_op ::= EXCEPT|INTERSECT */ yytestcase(yyruleno==91); |
| 178098 | | -{yymsp[0].minor.yy144 = yymsp[0].major; /*A-overwrites-OP*/} |
| 178204 | +{yymsp[0].minor.yy502 = yymsp[0].major; /*A-overwrites-OP*/} |
| 178099 | 178205 | break; |
| 178100 | 178206 | case 90: /* multiselect_op ::= UNION ALL */ |
| 178101 | | -{yymsp[-1].minor.yy144 = TK_ALL;} |
| 178207 | +{yymsp[-1].minor.yy502 = TK_ALL;} |
| 178102 | 178208 | break; |
| 178103 | 178209 | case 92: /* oneselect ::= SELECT distinct selcollist from where_opt groupby_opt having_opt orderby_opt limit_opt */ |
| 178104 | 178210 | { |
| 178105 | | - yymsp[-8].minor.yy555 = sqlite3SelectNew(pParse,yymsp[-6].minor.yy14,yymsp[-5].minor.yy203,yymsp[-4].minor.yy454,yymsp[-3].minor.yy14,yymsp[-2].minor.yy454,yymsp[-1].minor.yy14,yymsp[-7].minor.yy144,yymsp[0].minor.yy454); |
| 178211 | + yymsp[-8].minor.yy637 = sqlite3SelectNew(pParse,yymsp[-6].minor.yy402,yymsp[-5].minor.yy563,yymsp[-4].minor.yy590,yymsp[-3].minor.yy402,yymsp[-2].minor.yy590,yymsp[-1].minor.yy402,yymsp[-7].minor.yy502,yymsp[0].minor.yy590); |
| 178106 | 178212 | } |
| 178107 | 178213 | break; |
| 178108 | 178214 | case 93: /* oneselect ::= SELECT distinct selcollist from where_opt groupby_opt having_opt window_clause orderby_opt limit_opt */ |
| 178109 | 178215 | { |
| 178110 | | - yymsp[-9].minor.yy555 = sqlite3SelectNew(pParse,yymsp[-7].minor.yy14,yymsp[-6].minor.yy203,yymsp[-5].minor.yy454,yymsp[-4].minor.yy14,yymsp[-3].minor.yy454,yymsp[-1].minor.yy14,yymsp[-8].minor.yy144,yymsp[0].minor.yy454); |
| 178111 | | - if( yymsp[-9].minor.yy555 ){ |
| 178112 | | - yymsp[-9].minor.yy555->pWinDefn = yymsp[-2].minor.yy211; |
| 178216 | + yymsp[-9].minor.yy637 = sqlite3SelectNew(pParse,yymsp[-7].minor.yy402,yymsp[-6].minor.yy563,yymsp[-5].minor.yy590,yymsp[-4].minor.yy402,yymsp[-3].minor.yy590,yymsp[-1].minor.yy402,yymsp[-8].minor.yy502,yymsp[0].minor.yy590); |
| 178217 | + if( yymsp[-9].minor.yy637 ){ |
| 178218 | + yymsp[-9].minor.yy637->pWinDefn = yymsp[-2].minor.yy483; |
| 178113 | 178219 | }else{ |
| 178114 | | - sqlite3WindowListDelete(pParse->db, yymsp[-2].minor.yy211); |
| 178220 | + sqlite3WindowListDelete(pParse->db, yymsp[-2].minor.yy483); |
| 178115 | 178221 | } |
| 178116 | 178222 | } |
| 178117 | 178223 | break; |
| 178118 | 178224 | case 94: /* values ::= VALUES LP nexprlist RP */ |
| 178119 | 178225 | { |
| 178120 | | - yymsp[-3].minor.yy555 = sqlite3SelectNew(pParse,yymsp[-1].minor.yy14,0,0,0,0,0,SF_Values,0); |
| 178226 | + yymsp[-3].minor.yy637 = sqlite3SelectNew(pParse,yymsp[-1].minor.yy402,0,0,0,0,0,SF_Values,0); |
| 178121 | 178227 | } |
| 178122 | 178228 | break; |
| 178123 | 178229 | case 95: /* oneselect ::= mvalues */ |
| 178124 | 178230 | { |
| 178125 | | - sqlite3MultiValuesEnd(pParse, yymsp[0].minor.yy555); |
| 178231 | + sqlite3MultiValuesEnd(pParse, yymsp[0].minor.yy637); |
| 178126 | 178232 | } |
| 178127 | 178233 | break; |
| 178128 | 178234 | case 96: /* mvalues ::= values COMMA LP nexprlist RP */ |
| 178129 | 178235 | case 97: /* mvalues ::= mvalues COMMA LP nexprlist RP */ yytestcase(yyruleno==97); |
| 178130 | 178236 | { |
| 178131 | | - yymsp[-4].minor.yy555 = sqlite3MultiValues(pParse, yymsp[-4].minor.yy555, yymsp[-1].minor.yy14); |
| 178237 | + yymsp[-4].minor.yy637 = sqlite3MultiValues(pParse, yymsp[-4].minor.yy637, yymsp[-1].minor.yy402); |
| 178132 | 178238 | } |
| 178133 | 178239 | break; |
| 178134 | 178240 | case 98: /* distinct ::= DISTINCT */ |
| 178135 | | -{yymsp[0].minor.yy144 = SF_Distinct;} |
| 178241 | +{yymsp[0].minor.yy502 = SF_Distinct;} |
| 178136 | 178242 | break; |
| 178137 | 178243 | case 99: /* distinct ::= ALL */ |
| 178138 | | -{yymsp[0].minor.yy144 = SF_All;} |
| 178244 | +{yymsp[0].minor.yy502 = SF_All;} |
| 178139 | 178245 | break; |
| 178140 | 178246 | case 101: /* sclp ::= */ |
| 178141 | 178247 | case 134: /* orderby_opt ::= */ yytestcase(yyruleno==134); |
| 178142 | 178248 | case 144: /* groupby_opt ::= */ yytestcase(yyruleno==144); |
| 178143 | 178249 | case 234: /* exprlist ::= */ yytestcase(yyruleno==234); |
| 178144 | 178250 | case 237: /* paren_exprlist ::= */ yytestcase(yyruleno==237); |
| 178145 | 178251 | case 242: /* eidlist_opt ::= */ yytestcase(yyruleno==242); |
| 178146 | | -{yymsp[1].minor.yy14 = 0;} |
| 178252 | +{yymsp[1].minor.yy402 = 0;} |
| 178147 | 178253 | break; |
| 178148 | 178254 | case 102: /* selcollist ::= sclp scanpt expr scanpt as */ |
| 178149 | 178255 | { |
| 178150 | | - yymsp[-4].minor.yy14 = sqlite3ExprListAppend(pParse, yymsp[-4].minor.yy14, yymsp[-2].minor.yy454); |
| 178151 | | - if( yymsp[0].minor.yy0.n>0 ) sqlite3ExprListSetName(pParse, yymsp[-4].minor.yy14, &yymsp[0].minor.yy0, 1); |
| 178152 | | - sqlite3ExprListSetSpan(pParse,yymsp[-4].minor.yy14,yymsp[-3].minor.yy168,yymsp[-1].minor.yy168); |
| 178256 | + yymsp[-4].minor.yy402 = sqlite3ExprListAppend(pParse, yymsp[-4].minor.yy402, yymsp[-2].minor.yy590); |
| 178257 | + if( yymsp[0].minor.yy0.n>0 ) sqlite3ExprListSetName(pParse, yymsp[-4].minor.yy402, &yymsp[0].minor.yy0, 1); |
| 178258 | + sqlite3ExprListSetSpan(pParse,yymsp[-4].minor.yy402,yymsp[-3].minor.yy342,yymsp[-1].minor.yy342); |
| 178153 | 178259 | } |
| 178154 | 178260 | break; |
| 178155 | 178261 | case 103: /* selcollist ::= sclp scanpt STAR */ |
| 178156 | 178262 | { |
| 178157 | 178263 | Expr *p = sqlite3Expr(pParse->db, TK_ASTERISK, 0); |
| 178158 | 178264 | sqlite3ExprSetErrorOffset(p, (int)(yymsp[0].minor.yy0.z - pParse->zTail)); |
| 178159 | | - yymsp[-2].minor.yy14 = sqlite3ExprListAppend(pParse, yymsp[-2].minor.yy14, p); |
| 178265 | + yymsp[-2].minor.yy402 = sqlite3ExprListAppend(pParse, yymsp[-2].minor.yy402, p); |
| 178160 | 178266 | } |
| 178161 | 178267 | break; |
| 178162 | 178268 | case 104: /* selcollist ::= sclp scanpt nm DOT STAR */ |
| 178163 | 178269 | { |
| 178164 | 178270 | Expr *pRight, *pLeft, *pDot; |
| 178165 | 178271 | pRight = sqlite3PExpr(pParse, TK_ASTERISK, 0, 0); |
| 178166 | 178272 | sqlite3ExprSetErrorOffset(pRight, (int)(yymsp[0].minor.yy0.z - pParse->zTail)); |
| 178167 | 178273 | pLeft = tokenExpr(pParse, TK_ID, yymsp[-2].minor.yy0); |
| 178168 | 178274 | pDot = sqlite3PExpr(pParse, TK_DOT, pLeft, pRight); |
| 178169 | | - yymsp[-4].minor.yy14 = sqlite3ExprListAppend(pParse,yymsp[-4].minor.yy14, pDot); |
| 178275 | + yymsp[-4].minor.yy402 = sqlite3ExprListAppend(pParse,yymsp[-4].minor.yy402, pDot); |
| 178170 | 178276 | } |
| 178171 | 178277 | break; |
| 178172 | 178278 | case 105: /* as ::= AS nm */ |
| 178173 | 178279 | case 117: /* dbnm ::= DOT nm */ yytestcase(yyruleno==117); |
| 178174 | 178280 | case 258: /* plus_num ::= PLUS INTEGER|FLOAT */ yytestcase(yyruleno==258); |
| | @@ -178175,54 +178281,54 @@ |
| 178175 | 178281 | case 259: /* minus_num ::= MINUS INTEGER|FLOAT */ yytestcase(yyruleno==259); |
| 178176 | 178282 | {yymsp[-1].minor.yy0 = yymsp[0].minor.yy0;} |
| 178177 | 178283 | break; |
| 178178 | 178284 | case 107: /* from ::= */ |
| 178179 | 178285 | case 110: /* stl_prefix ::= */ yytestcase(yyruleno==110); |
| 178180 | | -{yymsp[1].minor.yy203 = 0;} |
| 178286 | +{yymsp[1].minor.yy563 = 0;} |
| 178181 | 178287 | break; |
| 178182 | 178288 | case 108: /* from ::= FROM seltablist */ |
| 178183 | 178289 | { |
| 178184 | | - yymsp[-1].minor.yy203 = yymsp[0].minor.yy203; |
| 178185 | | - sqlite3SrcListShiftJoinType(pParse,yymsp[-1].minor.yy203); |
| 178290 | + yymsp[-1].minor.yy563 = yymsp[0].minor.yy563; |
| 178291 | + sqlite3SrcListShiftJoinType(pParse,yymsp[-1].minor.yy563); |
| 178186 | 178292 | } |
| 178187 | 178293 | break; |
| 178188 | 178294 | case 109: /* stl_prefix ::= seltablist joinop */ |
| 178189 | 178295 | { |
| 178190 | | - if( ALWAYS(yymsp[-1].minor.yy203 && yymsp[-1].minor.yy203->nSrc>0) ) yymsp[-1].minor.yy203->a[yymsp[-1].minor.yy203->nSrc-1].fg.jointype = (u8)yymsp[0].minor.yy144; |
| 178296 | + if( ALWAYS(yymsp[-1].minor.yy563 && yymsp[-1].minor.yy563->nSrc>0) ) yymsp[-1].minor.yy563->a[yymsp[-1].minor.yy563->nSrc-1].fg.jointype = (u8)yymsp[0].minor.yy502; |
| 178191 | 178297 | } |
| 178192 | 178298 | break; |
| 178193 | 178299 | case 111: /* seltablist ::= stl_prefix nm dbnm as on_using */ |
| 178194 | 178300 | { |
| 178195 | | - yymsp[-4].minor.yy203 = sqlite3SrcListAppendFromTerm(pParse,yymsp[-4].minor.yy203,&yymsp[-3].minor.yy0,&yymsp[-2].minor.yy0,&yymsp[-1].minor.yy0,0,&yymsp[0].minor.yy269); |
| 178301 | + yymsp[-4].minor.yy563 = sqlite3SrcListAppendFromTerm(pParse,yymsp[-4].minor.yy563,&yymsp[-3].minor.yy0,&yymsp[-2].minor.yy0,&yymsp[-1].minor.yy0,0,&yymsp[0].minor.yy421); |
| 178196 | 178302 | } |
| 178197 | 178303 | break; |
| 178198 | 178304 | case 112: /* seltablist ::= stl_prefix nm dbnm as indexed_by on_using */ |
| 178199 | 178305 | { |
| 178200 | | - yymsp[-5].minor.yy203 = sqlite3SrcListAppendFromTerm(pParse,yymsp[-5].minor.yy203,&yymsp[-4].minor.yy0,&yymsp[-3].minor.yy0,&yymsp[-2].minor.yy0,0,&yymsp[0].minor.yy269); |
| 178201 | | - sqlite3SrcListIndexedBy(pParse, yymsp[-5].minor.yy203, &yymsp[-1].minor.yy0); |
| 178306 | + yymsp[-5].minor.yy563 = sqlite3SrcListAppendFromTerm(pParse,yymsp[-5].minor.yy563,&yymsp[-4].minor.yy0,&yymsp[-3].minor.yy0,&yymsp[-2].minor.yy0,0,&yymsp[0].minor.yy421); |
| 178307 | + sqlite3SrcListIndexedBy(pParse, yymsp[-5].minor.yy563, &yymsp[-1].minor.yy0); |
| 178202 | 178308 | } |
| 178203 | 178309 | break; |
| 178204 | 178310 | case 113: /* seltablist ::= stl_prefix nm dbnm LP exprlist RP as on_using */ |
| 178205 | 178311 | { |
| 178206 | | - yymsp[-7].minor.yy203 = sqlite3SrcListAppendFromTerm(pParse,yymsp[-7].minor.yy203,&yymsp[-6].minor.yy0,&yymsp[-5].minor.yy0,&yymsp[-1].minor.yy0,0,&yymsp[0].minor.yy269); |
| 178207 | | - sqlite3SrcListFuncArgs(pParse, yymsp[-7].minor.yy203, yymsp[-3].minor.yy14); |
| 178312 | + yymsp[-7].minor.yy563 = sqlite3SrcListAppendFromTerm(pParse,yymsp[-7].minor.yy563,&yymsp[-6].minor.yy0,&yymsp[-5].minor.yy0,&yymsp[-1].minor.yy0,0,&yymsp[0].minor.yy421); |
| 178313 | + sqlite3SrcListFuncArgs(pParse, yymsp[-7].minor.yy563, yymsp[-3].minor.yy402); |
| 178208 | 178314 | } |
| 178209 | 178315 | break; |
| 178210 | 178316 | case 114: /* seltablist ::= stl_prefix LP select RP as on_using */ |
| 178211 | 178317 | { |
| 178212 | | - yymsp[-5].minor.yy203 = sqlite3SrcListAppendFromTerm(pParse,yymsp[-5].minor.yy203,0,0,&yymsp[-1].minor.yy0,yymsp[-3].minor.yy555,&yymsp[0].minor.yy269); |
| 178318 | + yymsp[-5].minor.yy563 = sqlite3SrcListAppendFromTerm(pParse,yymsp[-5].minor.yy563,0,0,&yymsp[-1].minor.yy0,yymsp[-3].minor.yy637,&yymsp[0].minor.yy421); |
| 178213 | 178319 | } |
| 178214 | 178320 | break; |
| 178215 | 178321 | case 115: /* seltablist ::= stl_prefix LP seltablist RP as on_using */ |
| 178216 | 178322 | { |
| 178217 | | - if( yymsp[-5].minor.yy203==0 && yymsp[-1].minor.yy0.n==0 && yymsp[0].minor.yy269.pOn==0 && yymsp[0].minor.yy269.pUsing==0 ){ |
| 178218 | | - yymsp[-5].minor.yy203 = yymsp[-3].minor.yy203; |
| 178219 | | - }else if( ALWAYS(yymsp[-3].minor.yy203!=0) && yymsp[-3].minor.yy203->nSrc==1 ){ |
| 178220 | | - yymsp[-5].minor.yy203 = sqlite3SrcListAppendFromTerm(pParse,yymsp[-5].minor.yy203,0,0,&yymsp[-1].minor.yy0,0,&yymsp[0].minor.yy269); |
| 178221 | | - if( yymsp[-5].minor.yy203 ){ |
| 178222 | | - SrcItem *pNew = &yymsp[-5].minor.yy203->a[yymsp[-5].minor.yy203->nSrc-1]; |
| 178223 | | - SrcItem *pOld = yymsp[-3].minor.yy203->a; |
| 178323 | + if( yymsp[-5].minor.yy563==0 && yymsp[-1].minor.yy0.n==0 && yymsp[0].minor.yy421.pOn==0 && yymsp[0].minor.yy421.pUsing==0 ){ |
| 178324 | + yymsp[-5].minor.yy563 = yymsp[-3].minor.yy563; |
| 178325 | + }else if( ALWAYS(yymsp[-3].minor.yy563!=0) && yymsp[-3].minor.yy563->nSrc==1 ){ |
| 178326 | + yymsp[-5].minor.yy563 = sqlite3SrcListAppendFromTerm(pParse,yymsp[-5].minor.yy563,0,0,&yymsp[-1].minor.yy0,0,&yymsp[0].minor.yy421); |
| 178327 | + if( yymsp[-5].minor.yy563 ){ |
| 178328 | + SrcItem *pNew = &yymsp[-5].minor.yy563->a[yymsp[-5].minor.yy563->nSrc-1]; |
| 178329 | + SrcItem *pOld = yymsp[-3].minor.yy563->a; |
| 178224 | 178330 | assert( pOld->fg.fixedSchema==0 ); |
| 178225 | 178331 | pNew->zName = pOld->zName; |
| 178226 | 178332 | assert( pOld->fg.fixedSchema==0 ); |
| 178227 | 178333 | if( pOld->fg.isSubquery ){ |
| 178228 | 178334 | pNew->fg.isSubquery = 1; |
| | @@ -178243,249 +178349,249 @@ |
| 178243 | 178349 | pOld->fg.isTabFunc = 0; |
| 178244 | 178350 | pNew->fg.isTabFunc = 1; |
| 178245 | 178351 | } |
| 178246 | 178352 | pOld->zName = 0; |
| 178247 | 178353 | } |
| 178248 | | - sqlite3SrcListDelete(pParse->db, yymsp[-3].minor.yy203); |
| 178354 | + sqlite3SrcListDelete(pParse->db, yymsp[-3].minor.yy563); |
| 178249 | 178355 | }else{ |
| 178250 | 178356 | Select *pSubquery; |
| 178251 | | - sqlite3SrcListShiftJoinType(pParse,yymsp[-3].minor.yy203); |
| 178252 | | - pSubquery = sqlite3SelectNew(pParse,0,yymsp[-3].minor.yy203,0,0,0,0,SF_NestedFrom,0); |
| 178253 | | - yymsp[-5].minor.yy203 = sqlite3SrcListAppendFromTerm(pParse,yymsp[-5].minor.yy203,0,0,&yymsp[-1].minor.yy0,pSubquery,&yymsp[0].minor.yy269); |
| 178357 | + sqlite3SrcListShiftJoinType(pParse,yymsp[-3].minor.yy563); |
| 178358 | + pSubquery = sqlite3SelectNew(pParse,0,yymsp[-3].minor.yy563,0,0,0,0,SF_NestedFrom,0); |
| 178359 | + yymsp[-5].minor.yy563 = sqlite3SrcListAppendFromTerm(pParse,yymsp[-5].minor.yy563,0,0,&yymsp[-1].minor.yy0,pSubquery,&yymsp[0].minor.yy421); |
| 178254 | 178360 | } |
| 178255 | 178361 | } |
| 178256 | 178362 | break; |
| 178257 | 178363 | case 116: /* dbnm ::= */ |
| 178258 | 178364 | case 131: /* indexed_opt ::= */ yytestcase(yyruleno==131); |
| 178259 | 178365 | {yymsp[1].minor.yy0.z=0; yymsp[1].minor.yy0.n=0;} |
| 178260 | 178366 | break; |
| 178261 | 178367 | case 118: /* fullname ::= nm */ |
| 178262 | 178368 | { |
| 178263 | | - yylhsminor.yy203 = sqlite3SrcListAppend(pParse,0,&yymsp[0].minor.yy0,0); |
| 178264 | | - if( IN_RENAME_OBJECT && yylhsminor.yy203 ) sqlite3RenameTokenMap(pParse, yylhsminor.yy203->a[0].zName, &yymsp[0].minor.yy0); |
| 178369 | + yylhsminor.yy563 = sqlite3SrcListAppend(pParse,0,&yymsp[0].minor.yy0,0); |
| 178370 | + if( IN_RENAME_OBJECT && yylhsminor.yy563 ) sqlite3RenameTokenMap(pParse, yylhsminor.yy563->a[0].zName, &yymsp[0].minor.yy0); |
| 178265 | 178371 | } |
| 178266 | | - yymsp[0].minor.yy203 = yylhsminor.yy203; |
| 178372 | + yymsp[0].minor.yy563 = yylhsminor.yy563; |
| 178267 | 178373 | break; |
| 178268 | 178374 | case 119: /* fullname ::= nm DOT nm */ |
| 178269 | 178375 | { |
| 178270 | | - yylhsminor.yy203 = sqlite3SrcListAppend(pParse,0,&yymsp[-2].minor.yy0,&yymsp[0].minor.yy0); |
| 178271 | | - if( IN_RENAME_OBJECT && yylhsminor.yy203 ) sqlite3RenameTokenMap(pParse, yylhsminor.yy203->a[0].zName, &yymsp[0].minor.yy0); |
| 178376 | + yylhsminor.yy563 = sqlite3SrcListAppend(pParse,0,&yymsp[-2].minor.yy0,&yymsp[0].minor.yy0); |
| 178377 | + if( IN_RENAME_OBJECT && yylhsminor.yy563 ) sqlite3RenameTokenMap(pParse, yylhsminor.yy563->a[0].zName, &yymsp[0].minor.yy0); |
| 178272 | 178378 | } |
| 178273 | | - yymsp[-2].minor.yy203 = yylhsminor.yy203; |
| 178379 | + yymsp[-2].minor.yy563 = yylhsminor.yy563; |
| 178274 | 178380 | break; |
| 178275 | 178381 | case 120: /* xfullname ::= nm */ |
| 178276 | | -{yymsp[0].minor.yy203 = sqlite3SrcListAppend(pParse,0,&yymsp[0].minor.yy0,0); /*A-overwrites-X*/} |
| 178382 | +{yymsp[0].minor.yy563 = sqlite3SrcListAppend(pParse,0,&yymsp[0].minor.yy0,0); /*A-overwrites-X*/} |
| 178277 | 178383 | break; |
| 178278 | 178384 | case 121: /* xfullname ::= nm DOT nm */ |
| 178279 | | -{yymsp[-2].minor.yy203 = sqlite3SrcListAppend(pParse,0,&yymsp[-2].minor.yy0,&yymsp[0].minor.yy0); /*A-overwrites-X*/} |
| 178385 | +{yymsp[-2].minor.yy563 = sqlite3SrcListAppend(pParse,0,&yymsp[-2].minor.yy0,&yymsp[0].minor.yy0); /*A-overwrites-X*/} |
| 178280 | 178386 | break; |
| 178281 | 178387 | case 122: /* xfullname ::= nm DOT nm AS nm */ |
| 178282 | 178388 | { |
| 178283 | | - yymsp[-4].minor.yy203 = sqlite3SrcListAppend(pParse,0,&yymsp[-4].minor.yy0,&yymsp[-2].minor.yy0); /*A-overwrites-X*/ |
| 178284 | | - if( yymsp[-4].minor.yy203 ) yymsp[-4].minor.yy203->a[0].zAlias = sqlite3NameFromToken(pParse->db, &yymsp[0].minor.yy0); |
| 178389 | + yymsp[-4].minor.yy563 = sqlite3SrcListAppend(pParse,0,&yymsp[-4].minor.yy0,&yymsp[-2].minor.yy0); /*A-overwrites-X*/ |
| 178390 | + if( yymsp[-4].minor.yy563 ) yymsp[-4].minor.yy563->a[0].zAlias = sqlite3NameFromToken(pParse->db, &yymsp[0].minor.yy0); |
| 178285 | 178391 | } |
| 178286 | 178392 | break; |
| 178287 | 178393 | case 123: /* xfullname ::= nm AS nm */ |
| 178288 | 178394 | { |
| 178289 | | - yymsp[-2].minor.yy203 = sqlite3SrcListAppend(pParse,0,&yymsp[-2].minor.yy0,0); /*A-overwrites-X*/ |
| 178290 | | - if( yymsp[-2].minor.yy203 ) yymsp[-2].minor.yy203->a[0].zAlias = sqlite3NameFromToken(pParse->db, &yymsp[0].minor.yy0); |
| 178395 | + yymsp[-2].minor.yy563 = sqlite3SrcListAppend(pParse,0,&yymsp[-2].minor.yy0,0); /*A-overwrites-X*/ |
| 178396 | + if( yymsp[-2].minor.yy563 ) yymsp[-2].minor.yy563->a[0].zAlias = sqlite3NameFromToken(pParse->db, &yymsp[0].minor.yy0); |
| 178291 | 178397 | } |
| 178292 | 178398 | break; |
| 178293 | 178399 | case 124: /* joinop ::= COMMA|JOIN */ |
| 178294 | | -{ yymsp[0].minor.yy144 = JT_INNER; } |
| 178400 | +{ yymsp[0].minor.yy502 = JT_INNER; } |
| 178295 | 178401 | break; |
| 178296 | 178402 | case 125: /* joinop ::= JOIN_KW JOIN */ |
| 178297 | | -{yymsp[-1].minor.yy144 = sqlite3JoinType(pParse,&yymsp[-1].minor.yy0,0,0); /*X-overwrites-A*/} |
| 178403 | +{yymsp[-1].minor.yy502 = sqlite3JoinType(pParse,&yymsp[-1].minor.yy0,0,0); /*X-overwrites-A*/} |
| 178298 | 178404 | break; |
| 178299 | 178405 | case 126: /* joinop ::= JOIN_KW nm JOIN */ |
| 178300 | | -{yymsp[-2].minor.yy144 = sqlite3JoinType(pParse,&yymsp[-2].minor.yy0,&yymsp[-1].minor.yy0,0); /*X-overwrites-A*/} |
| 178406 | +{yymsp[-2].minor.yy502 = sqlite3JoinType(pParse,&yymsp[-2].minor.yy0,&yymsp[-1].minor.yy0,0); /*X-overwrites-A*/} |
| 178301 | 178407 | break; |
| 178302 | 178408 | case 127: /* joinop ::= JOIN_KW nm nm JOIN */ |
| 178303 | | -{yymsp[-3].minor.yy144 = sqlite3JoinType(pParse,&yymsp[-3].minor.yy0,&yymsp[-2].minor.yy0,&yymsp[-1].minor.yy0);/*X-overwrites-A*/} |
| 178409 | +{yymsp[-3].minor.yy502 = sqlite3JoinType(pParse,&yymsp[-3].minor.yy0,&yymsp[-2].minor.yy0,&yymsp[-1].minor.yy0);/*X-overwrites-A*/} |
| 178304 | 178410 | break; |
| 178305 | 178411 | case 128: /* on_using ::= ON expr */ |
| 178306 | | -{yymsp[-1].minor.yy269.pOn = yymsp[0].minor.yy454; yymsp[-1].minor.yy269.pUsing = 0;} |
| 178412 | +{yymsp[-1].minor.yy421.pOn = yymsp[0].minor.yy590; yymsp[-1].minor.yy421.pUsing = 0;} |
| 178307 | 178413 | break; |
| 178308 | 178414 | case 129: /* on_using ::= USING LP idlist RP */ |
| 178309 | | -{yymsp[-3].minor.yy269.pOn = 0; yymsp[-3].minor.yy269.pUsing = yymsp[-1].minor.yy132;} |
| 178415 | +{yymsp[-3].minor.yy421.pOn = 0; yymsp[-3].minor.yy421.pUsing = yymsp[-1].minor.yy204;} |
| 178310 | 178416 | break; |
| 178311 | 178417 | case 130: /* on_using ::= */ |
| 178312 | | -{yymsp[1].minor.yy269.pOn = 0; yymsp[1].minor.yy269.pUsing = 0;} |
| 178418 | +{yymsp[1].minor.yy421.pOn = 0; yymsp[1].minor.yy421.pUsing = 0;} |
| 178313 | 178419 | break; |
| 178314 | 178420 | case 132: /* indexed_by ::= INDEXED BY nm */ |
| 178315 | 178421 | {yymsp[-2].minor.yy0 = yymsp[0].minor.yy0;} |
| 178316 | 178422 | break; |
| 178317 | 178423 | case 133: /* indexed_by ::= NOT INDEXED */ |
| 178318 | 178424 | {yymsp[-1].minor.yy0.z=0; yymsp[-1].minor.yy0.n=1;} |
| 178319 | 178425 | break; |
| 178320 | 178426 | case 135: /* orderby_opt ::= ORDER BY sortlist */ |
| 178321 | 178427 | case 145: /* groupby_opt ::= GROUP BY nexprlist */ yytestcase(yyruleno==145); |
| 178322 | | -{yymsp[-2].minor.yy14 = yymsp[0].minor.yy14;} |
| 178428 | +{yymsp[-2].minor.yy402 = yymsp[0].minor.yy402;} |
| 178323 | 178429 | break; |
| 178324 | 178430 | case 136: /* sortlist ::= sortlist COMMA expr sortorder nulls */ |
| 178325 | 178431 | { |
| 178326 | | - yymsp[-4].minor.yy14 = sqlite3ExprListAppend(pParse,yymsp[-4].minor.yy14,yymsp[-2].minor.yy454); |
| 178327 | | - sqlite3ExprListSetSortOrder(yymsp[-4].minor.yy14,yymsp[-1].minor.yy144,yymsp[0].minor.yy144); |
| 178432 | + yymsp[-4].minor.yy402 = sqlite3ExprListAppend(pParse,yymsp[-4].minor.yy402,yymsp[-2].minor.yy590); |
| 178433 | + sqlite3ExprListSetSortOrder(yymsp[-4].minor.yy402,yymsp[-1].minor.yy502,yymsp[0].minor.yy502); |
| 178328 | 178434 | } |
| 178329 | 178435 | break; |
| 178330 | 178436 | case 137: /* sortlist ::= expr sortorder nulls */ |
| 178331 | 178437 | { |
| 178332 | | - yymsp[-2].minor.yy14 = sqlite3ExprListAppend(pParse,0,yymsp[-2].minor.yy454); /*A-overwrites-Y*/ |
| 178333 | | - sqlite3ExprListSetSortOrder(yymsp[-2].minor.yy14,yymsp[-1].minor.yy144,yymsp[0].minor.yy144); |
| 178438 | + yymsp[-2].minor.yy402 = sqlite3ExprListAppend(pParse,0,yymsp[-2].minor.yy590); /*A-overwrites-Y*/ |
| 178439 | + sqlite3ExprListSetSortOrder(yymsp[-2].minor.yy402,yymsp[-1].minor.yy502,yymsp[0].minor.yy502); |
| 178334 | 178440 | } |
| 178335 | 178441 | break; |
| 178336 | 178442 | case 138: /* sortorder ::= ASC */ |
| 178337 | | -{yymsp[0].minor.yy144 = SQLITE_SO_ASC;} |
| 178443 | +{yymsp[0].minor.yy502 = SQLITE_SO_ASC;} |
| 178338 | 178444 | break; |
| 178339 | 178445 | case 139: /* sortorder ::= DESC */ |
| 178340 | | -{yymsp[0].minor.yy144 = SQLITE_SO_DESC;} |
| 178446 | +{yymsp[0].minor.yy502 = SQLITE_SO_DESC;} |
| 178341 | 178447 | break; |
| 178342 | 178448 | case 140: /* sortorder ::= */ |
| 178343 | 178449 | case 143: /* nulls ::= */ yytestcase(yyruleno==143); |
| 178344 | | -{yymsp[1].minor.yy144 = SQLITE_SO_UNDEFINED;} |
| 178450 | +{yymsp[1].minor.yy502 = SQLITE_SO_UNDEFINED;} |
| 178345 | 178451 | break; |
| 178346 | 178452 | case 141: /* nulls ::= NULLS FIRST */ |
| 178347 | | -{yymsp[-1].minor.yy144 = SQLITE_SO_ASC;} |
| 178453 | +{yymsp[-1].minor.yy502 = SQLITE_SO_ASC;} |
| 178348 | 178454 | break; |
| 178349 | 178455 | case 142: /* nulls ::= NULLS LAST */ |
| 178350 | | -{yymsp[-1].minor.yy144 = SQLITE_SO_DESC;} |
| 178456 | +{yymsp[-1].minor.yy502 = SQLITE_SO_DESC;} |
| 178351 | 178457 | break; |
| 178352 | 178458 | case 146: /* having_opt ::= */ |
| 178353 | 178459 | case 148: /* limit_opt ::= */ yytestcase(yyruleno==148); |
| 178354 | 178460 | case 153: /* where_opt ::= */ yytestcase(yyruleno==153); |
| 178355 | 178461 | case 155: /* where_opt_ret ::= */ yytestcase(yyruleno==155); |
| 178356 | 178462 | case 232: /* case_else ::= */ yytestcase(yyruleno==232); |
| 178357 | 178463 | case 233: /* case_operand ::= */ yytestcase(yyruleno==233); |
| 178358 | 178464 | case 252: /* vinto ::= */ yytestcase(yyruleno==252); |
| 178359 | | -{yymsp[1].minor.yy454 = 0;} |
| 178465 | +{yymsp[1].minor.yy590 = 0;} |
| 178360 | 178466 | break; |
| 178361 | 178467 | case 147: /* having_opt ::= HAVING expr */ |
| 178362 | 178468 | case 154: /* where_opt ::= WHERE expr */ yytestcase(yyruleno==154); |
| 178363 | 178469 | case 156: /* where_opt_ret ::= WHERE expr */ yytestcase(yyruleno==156); |
| 178364 | 178470 | case 231: /* case_else ::= ELSE expr */ yytestcase(yyruleno==231); |
| 178365 | 178471 | case 251: /* vinto ::= INTO expr */ yytestcase(yyruleno==251); |
| 178366 | | -{yymsp[-1].minor.yy454 = yymsp[0].minor.yy454;} |
| 178472 | +{yymsp[-1].minor.yy590 = yymsp[0].minor.yy590;} |
| 178367 | 178473 | break; |
| 178368 | 178474 | case 149: /* limit_opt ::= LIMIT expr */ |
| 178369 | | -{yymsp[-1].minor.yy454 = sqlite3PExpr(pParse,TK_LIMIT,yymsp[0].minor.yy454,0);} |
| 178475 | +{yymsp[-1].minor.yy590 = sqlite3PExpr(pParse,TK_LIMIT,yymsp[0].minor.yy590,0);} |
| 178370 | 178476 | break; |
| 178371 | 178477 | case 150: /* limit_opt ::= LIMIT expr OFFSET expr */ |
| 178372 | | -{yymsp[-3].minor.yy454 = sqlite3PExpr(pParse,TK_LIMIT,yymsp[-2].minor.yy454,yymsp[0].minor.yy454);} |
| 178478 | +{yymsp[-3].minor.yy590 = sqlite3PExpr(pParse,TK_LIMIT,yymsp[-2].minor.yy590,yymsp[0].minor.yy590);} |
| 178373 | 178479 | break; |
| 178374 | 178480 | case 151: /* limit_opt ::= LIMIT expr COMMA expr */ |
| 178375 | | -{yymsp[-3].minor.yy454 = sqlite3PExpr(pParse,TK_LIMIT,yymsp[0].minor.yy454,yymsp[-2].minor.yy454);} |
| 178481 | +{yymsp[-3].minor.yy590 = sqlite3PExpr(pParse,TK_LIMIT,yymsp[0].minor.yy590,yymsp[-2].minor.yy590);} |
| 178376 | 178482 | break; |
| 178377 | 178483 | case 152: /* cmd ::= with DELETE FROM xfullname indexed_opt where_opt_ret */ |
| 178378 | 178484 | { |
| 178379 | | - sqlite3SrcListIndexedBy(pParse, yymsp[-2].minor.yy203, &yymsp[-1].minor.yy0); |
| 178380 | | - sqlite3DeleteFrom(pParse,yymsp[-2].minor.yy203,yymsp[0].minor.yy454,0,0); |
| 178485 | + sqlite3SrcListIndexedBy(pParse, yymsp[-2].minor.yy563, &yymsp[-1].minor.yy0); |
| 178486 | + sqlite3DeleteFrom(pParse,yymsp[-2].minor.yy563,yymsp[0].minor.yy590,0,0); |
| 178381 | 178487 | } |
| 178382 | 178488 | break; |
| 178383 | 178489 | case 157: /* where_opt_ret ::= RETURNING selcollist */ |
| 178384 | | -{sqlite3AddReturning(pParse,yymsp[0].minor.yy14); yymsp[-1].minor.yy454 = 0;} |
| 178490 | +{sqlite3AddReturning(pParse,yymsp[0].minor.yy402); yymsp[-1].minor.yy590 = 0;} |
| 178385 | 178491 | break; |
| 178386 | 178492 | case 158: /* where_opt_ret ::= WHERE expr RETURNING selcollist */ |
| 178387 | | -{sqlite3AddReturning(pParse,yymsp[0].minor.yy14); yymsp[-3].minor.yy454 = yymsp[-2].minor.yy454;} |
| 178493 | +{sqlite3AddReturning(pParse,yymsp[0].minor.yy402); yymsp[-3].minor.yy590 = yymsp[-2].minor.yy590;} |
| 178388 | 178494 | break; |
| 178389 | 178495 | case 159: /* cmd ::= with UPDATE orconf xfullname indexed_opt SET setlist from where_opt_ret */ |
| 178390 | 178496 | { |
| 178391 | | - sqlite3SrcListIndexedBy(pParse, yymsp[-5].minor.yy203, &yymsp[-4].minor.yy0); |
| 178392 | | - sqlite3ExprListCheckLength(pParse,yymsp[-2].minor.yy14,"set list"); |
| 178393 | | - if( yymsp[-1].minor.yy203 ){ |
| 178394 | | - SrcList *pFromClause = yymsp[-1].minor.yy203; |
| 178497 | + sqlite3SrcListIndexedBy(pParse, yymsp[-5].minor.yy563, &yymsp[-4].minor.yy0); |
| 178498 | + sqlite3ExprListCheckLength(pParse,yymsp[-2].minor.yy402,"set list"); |
| 178499 | + if( yymsp[-1].minor.yy563 ){ |
| 178500 | + SrcList *pFromClause = yymsp[-1].minor.yy563; |
| 178395 | 178501 | if( pFromClause->nSrc>1 ){ |
| 178396 | 178502 | Select *pSubquery; |
| 178397 | 178503 | Token as; |
| 178398 | 178504 | pSubquery = sqlite3SelectNew(pParse,0,pFromClause,0,0,0,0,SF_NestedFrom,0); |
| 178399 | 178505 | as.n = 0; |
| 178400 | 178506 | as.z = 0; |
| 178401 | 178507 | pFromClause = sqlite3SrcListAppendFromTerm(pParse,0,0,0,&as,pSubquery,0); |
| 178402 | 178508 | } |
| 178403 | | - yymsp[-5].minor.yy203 = sqlite3SrcListAppendList(pParse, yymsp[-5].minor.yy203, pFromClause); |
| 178509 | + yymsp[-5].minor.yy563 = sqlite3SrcListAppendList(pParse, yymsp[-5].minor.yy563, pFromClause); |
| 178404 | 178510 | } |
| 178405 | | - sqlite3Update(pParse,yymsp[-5].minor.yy203,yymsp[-2].minor.yy14,yymsp[0].minor.yy454,yymsp[-6].minor.yy144,0,0,0); |
| 178511 | + sqlite3Update(pParse,yymsp[-5].minor.yy563,yymsp[-2].minor.yy402,yymsp[0].minor.yy590,yymsp[-6].minor.yy502,0,0,0); |
| 178406 | 178512 | } |
| 178407 | 178513 | break; |
| 178408 | 178514 | case 160: /* setlist ::= setlist COMMA nm EQ expr */ |
| 178409 | 178515 | { |
| 178410 | | - yymsp[-4].minor.yy14 = sqlite3ExprListAppend(pParse, yymsp[-4].minor.yy14, yymsp[0].minor.yy454); |
| 178411 | | - sqlite3ExprListSetName(pParse, yymsp[-4].minor.yy14, &yymsp[-2].minor.yy0, 1); |
| 178516 | + yymsp[-4].minor.yy402 = sqlite3ExprListAppend(pParse, yymsp[-4].minor.yy402, yymsp[0].minor.yy590); |
| 178517 | + sqlite3ExprListSetName(pParse, yymsp[-4].minor.yy402, &yymsp[-2].minor.yy0, 1); |
| 178412 | 178518 | } |
| 178413 | 178519 | break; |
| 178414 | 178520 | case 161: /* setlist ::= setlist COMMA LP idlist RP EQ expr */ |
| 178415 | 178521 | { |
| 178416 | | - yymsp[-6].minor.yy14 = sqlite3ExprListAppendVector(pParse, yymsp[-6].minor.yy14, yymsp[-3].minor.yy132, yymsp[0].minor.yy454); |
| 178522 | + yymsp[-6].minor.yy402 = sqlite3ExprListAppendVector(pParse, yymsp[-6].minor.yy402, yymsp[-3].minor.yy204, yymsp[0].minor.yy590); |
| 178417 | 178523 | } |
| 178418 | 178524 | break; |
| 178419 | 178525 | case 162: /* setlist ::= nm EQ expr */ |
| 178420 | 178526 | { |
| 178421 | | - yylhsminor.yy14 = sqlite3ExprListAppend(pParse, 0, yymsp[0].minor.yy454); |
| 178422 | | - sqlite3ExprListSetName(pParse, yylhsminor.yy14, &yymsp[-2].minor.yy0, 1); |
| 178527 | + yylhsminor.yy402 = sqlite3ExprListAppend(pParse, 0, yymsp[0].minor.yy590); |
| 178528 | + sqlite3ExprListSetName(pParse, yylhsminor.yy402, &yymsp[-2].minor.yy0, 1); |
| 178423 | 178529 | } |
| 178424 | | - yymsp[-2].minor.yy14 = yylhsminor.yy14; |
| 178530 | + yymsp[-2].minor.yy402 = yylhsminor.yy402; |
| 178425 | 178531 | break; |
| 178426 | 178532 | case 163: /* setlist ::= LP idlist RP EQ expr */ |
| 178427 | 178533 | { |
| 178428 | | - yymsp[-4].minor.yy14 = sqlite3ExprListAppendVector(pParse, 0, yymsp[-3].minor.yy132, yymsp[0].minor.yy454); |
| 178534 | + yymsp[-4].minor.yy402 = sqlite3ExprListAppendVector(pParse, 0, yymsp[-3].minor.yy204, yymsp[0].minor.yy590); |
| 178429 | 178535 | } |
| 178430 | 178536 | break; |
| 178431 | 178537 | case 164: /* cmd ::= with insert_cmd INTO xfullname idlist_opt select upsert */ |
| 178432 | 178538 | { |
| 178433 | | - sqlite3Insert(pParse, yymsp[-3].minor.yy203, yymsp[-1].minor.yy555, yymsp[-2].minor.yy132, yymsp[-5].minor.yy144, yymsp[0].minor.yy122); |
| 178539 | + sqlite3Insert(pParse, yymsp[-3].minor.yy563, yymsp[-1].minor.yy637, yymsp[-2].minor.yy204, yymsp[-5].minor.yy502, yymsp[0].minor.yy403); |
| 178434 | 178540 | } |
| 178435 | 178541 | break; |
| 178436 | 178542 | case 165: /* cmd ::= with insert_cmd INTO xfullname idlist_opt DEFAULT VALUES returning */ |
| 178437 | 178543 | { |
| 178438 | | - sqlite3Insert(pParse, yymsp[-4].minor.yy203, 0, yymsp[-3].minor.yy132, yymsp[-6].minor.yy144, 0); |
| 178544 | + sqlite3Insert(pParse, yymsp[-4].minor.yy563, 0, yymsp[-3].minor.yy204, yymsp[-6].minor.yy502, 0); |
| 178439 | 178545 | } |
| 178440 | 178546 | break; |
| 178441 | 178547 | case 166: /* upsert ::= */ |
| 178442 | | -{ yymsp[1].minor.yy122 = 0; } |
| 178548 | +{ yymsp[1].minor.yy403 = 0; } |
| 178443 | 178549 | break; |
| 178444 | 178550 | case 167: /* upsert ::= RETURNING selcollist */ |
| 178445 | | -{ yymsp[-1].minor.yy122 = 0; sqlite3AddReturning(pParse,yymsp[0].minor.yy14); } |
| 178551 | +{ yymsp[-1].minor.yy403 = 0; sqlite3AddReturning(pParse,yymsp[0].minor.yy402); } |
| 178446 | 178552 | break; |
| 178447 | 178553 | case 168: /* upsert ::= ON CONFLICT LP sortlist RP where_opt DO UPDATE SET setlist where_opt upsert */ |
| 178448 | | -{ yymsp[-11].minor.yy122 = sqlite3UpsertNew(pParse->db,yymsp[-8].minor.yy14,yymsp[-6].minor.yy454,yymsp[-2].minor.yy14,yymsp[-1].minor.yy454,yymsp[0].minor.yy122);} |
| 178554 | +{ yymsp[-11].minor.yy403 = sqlite3UpsertNew(pParse->db,yymsp[-8].minor.yy402,yymsp[-6].minor.yy590,yymsp[-2].minor.yy402,yymsp[-1].minor.yy590,yymsp[0].minor.yy403);} |
| 178449 | 178555 | break; |
| 178450 | 178556 | case 169: /* upsert ::= ON CONFLICT LP sortlist RP where_opt DO NOTHING upsert */ |
| 178451 | | -{ yymsp[-8].minor.yy122 = sqlite3UpsertNew(pParse->db,yymsp[-5].minor.yy14,yymsp[-3].minor.yy454,0,0,yymsp[0].minor.yy122); } |
| 178557 | +{ yymsp[-8].minor.yy403 = sqlite3UpsertNew(pParse->db,yymsp[-5].minor.yy402,yymsp[-3].minor.yy590,0,0,yymsp[0].minor.yy403); } |
| 178452 | 178558 | break; |
| 178453 | 178559 | case 170: /* upsert ::= ON CONFLICT DO NOTHING returning */ |
| 178454 | | -{ yymsp[-4].minor.yy122 = sqlite3UpsertNew(pParse->db,0,0,0,0,0); } |
| 178560 | +{ yymsp[-4].minor.yy403 = sqlite3UpsertNew(pParse->db,0,0,0,0,0); } |
| 178455 | 178561 | break; |
| 178456 | 178562 | case 171: /* upsert ::= ON CONFLICT DO UPDATE SET setlist where_opt returning */ |
| 178457 | | -{ yymsp[-7].minor.yy122 = sqlite3UpsertNew(pParse->db,0,0,yymsp[-2].minor.yy14,yymsp[-1].minor.yy454,0);} |
| 178563 | +{ yymsp[-7].minor.yy403 = sqlite3UpsertNew(pParse->db,0,0,yymsp[-2].minor.yy402,yymsp[-1].minor.yy590,0);} |
| 178458 | 178564 | break; |
| 178459 | 178565 | case 172: /* returning ::= RETURNING selcollist */ |
| 178460 | | -{sqlite3AddReturning(pParse,yymsp[0].minor.yy14);} |
| 178566 | +{sqlite3AddReturning(pParse,yymsp[0].minor.yy402);} |
| 178461 | 178567 | break; |
| 178462 | 178568 | case 175: /* idlist_opt ::= */ |
| 178463 | | -{yymsp[1].minor.yy132 = 0;} |
| 178569 | +{yymsp[1].minor.yy204 = 0;} |
| 178464 | 178570 | break; |
| 178465 | 178571 | case 176: /* idlist_opt ::= LP idlist RP */ |
| 178466 | | -{yymsp[-2].minor.yy132 = yymsp[-1].minor.yy132;} |
| 178572 | +{yymsp[-2].minor.yy204 = yymsp[-1].minor.yy204;} |
| 178467 | 178573 | break; |
| 178468 | 178574 | case 177: /* idlist ::= idlist COMMA nm */ |
| 178469 | | -{yymsp[-2].minor.yy132 = sqlite3IdListAppend(pParse,yymsp[-2].minor.yy132,&yymsp[0].minor.yy0);} |
| 178575 | +{yymsp[-2].minor.yy204 = sqlite3IdListAppend(pParse,yymsp[-2].minor.yy204,&yymsp[0].minor.yy0);} |
| 178470 | 178576 | break; |
| 178471 | 178577 | case 178: /* idlist ::= nm */ |
| 178472 | | -{yymsp[0].minor.yy132 = sqlite3IdListAppend(pParse,0,&yymsp[0].minor.yy0); /*A-overwrites-Y*/} |
| 178578 | +{yymsp[0].minor.yy204 = sqlite3IdListAppend(pParse,0,&yymsp[0].minor.yy0); /*A-overwrites-Y*/} |
| 178473 | 178579 | break; |
| 178474 | 178580 | case 179: /* expr ::= LP expr RP */ |
| 178475 | | -{yymsp[-2].minor.yy454 = yymsp[-1].minor.yy454;} |
| 178581 | +{yymsp[-2].minor.yy590 = yymsp[-1].minor.yy590;} |
| 178476 | 178582 | break; |
| 178477 | 178583 | case 180: /* expr ::= ID|INDEXED|JOIN_KW */ |
| 178478 | | -{yymsp[0].minor.yy454=tokenExpr(pParse,TK_ID,yymsp[0].minor.yy0); /*A-overwrites-X*/} |
| 178584 | +{yymsp[0].minor.yy590=tokenExpr(pParse,TK_ID,yymsp[0].minor.yy0); /*A-overwrites-X*/} |
| 178479 | 178585 | break; |
| 178480 | 178586 | case 181: /* expr ::= nm DOT nm */ |
| 178481 | 178587 | { |
| 178482 | 178588 | Expr *temp1 = tokenExpr(pParse,TK_ID,yymsp[-2].minor.yy0); |
| 178483 | 178589 | Expr *temp2 = tokenExpr(pParse,TK_ID,yymsp[0].minor.yy0); |
| 178484 | | - yylhsminor.yy454 = sqlite3PExpr(pParse, TK_DOT, temp1, temp2); |
| 178590 | + yylhsminor.yy590 = sqlite3PExpr(pParse, TK_DOT, temp1, temp2); |
| 178485 | 178591 | } |
| 178486 | | - yymsp[-2].minor.yy454 = yylhsminor.yy454; |
| 178592 | + yymsp[-2].minor.yy590 = yylhsminor.yy590; |
| 178487 | 178593 | break; |
| 178488 | 178594 | case 182: /* expr ::= nm DOT nm DOT nm */ |
| 178489 | 178595 | { |
| 178490 | 178596 | Expr *temp1 = tokenExpr(pParse,TK_ID,yymsp[-4].minor.yy0); |
| 178491 | 178597 | Expr *temp2 = tokenExpr(pParse,TK_ID,yymsp[-2].minor.yy0); |
| | @@ -178492,378 +178598,378 @@ |
| 178492 | 178598 | Expr *temp3 = tokenExpr(pParse,TK_ID,yymsp[0].minor.yy0); |
| 178493 | 178599 | Expr *temp4 = sqlite3PExpr(pParse, TK_DOT, temp2, temp3); |
| 178494 | 178600 | if( IN_RENAME_OBJECT ){ |
| 178495 | 178601 | sqlite3RenameTokenRemap(pParse, 0, temp1); |
| 178496 | 178602 | } |
| 178497 | | - yylhsminor.yy454 = sqlite3PExpr(pParse, TK_DOT, temp1, temp4); |
| 178603 | + yylhsminor.yy590 = sqlite3PExpr(pParse, TK_DOT, temp1, temp4); |
| 178498 | 178604 | } |
| 178499 | | - yymsp[-4].minor.yy454 = yylhsminor.yy454; |
| 178605 | + yymsp[-4].minor.yy590 = yylhsminor.yy590; |
| 178500 | 178606 | break; |
| 178501 | 178607 | case 183: /* term ::= NULL|FLOAT|BLOB */ |
| 178502 | 178608 | case 184: /* term ::= STRING */ yytestcase(yyruleno==184); |
| 178503 | | -{yymsp[0].minor.yy454=tokenExpr(pParse,yymsp[0].major,yymsp[0].minor.yy0); /*A-overwrites-X*/} |
| 178609 | +{yymsp[0].minor.yy590=tokenExpr(pParse,yymsp[0].major,yymsp[0].minor.yy0); /*A-overwrites-X*/} |
| 178504 | 178610 | break; |
| 178505 | 178611 | case 185: /* term ::= INTEGER */ |
| 178506 | 178612 | { |
| 178507 | | - yylhsminor.yy454 = sqlite3ExprAlloc(pParse->db, TK_INTEGER, &yymsp[0].minor.yy0, 1); |
| 178508 | | - if( yylhsminor.yy454 ) yylhsminor.yy454->w.iOfst = (int)(yymsp[0].minor.yy0.z - pParse->zTail); |
| 178613 | + yylhsminor.yy590 = sqlite3ExprAlloc(pParse->db, TK_INTEGER, &yymsp[0].minor.yy0, 1); |
| 178614 | + if( yylhsminor.yy590 ) yylhsminor.yy590->w.iOfst = (int)(yymsp[0].minor.yy0.z - pParse->zTail); |
| 178509 | 178615 | } |
| 178510 | | - yymsp[0].minor.yy454 = yylhsminor.yy454; |
| 178616 | + yymsp[0].minor.yy590 = yylhsminor.yy590; |
| 178511 | 178617 | break; |
| 178512 | 178618 | case 186: /* expr ::= VARIABLE */ |
| 178513 | 178619 | { |
| 178514 | 178620 | if( !(yymsp[0].minor.yy0.z[0]=='#' && sqlite3Isdigit(yymsp[0].minor.yy0.z[1])) ){ |
| 178515 | 178621 | u32 n = yymsp[0].minor.yy0.n; |
| 178516 | | - yymsp[0].minor.yy454 = tokenExpr(pParse, TK_VARIABLE, yymsp[0].minor.yy0); |
| 178517 | | - sqlite3ExprAssignVarNumber(pParse, yymsp[0].minor.yy454, n); |
| 178622 | + yymsp[0].minor.yy590 = tokenExpr(pParse, TK_VARIABLE, yymsp[0].minor.yy0); |
| 178623 | + sqlite3ExprAssignVarNumber(pParse, yymsp[0].minor.yy590, n); |
| 178518 | 178624 | }else{ |
| 178519 | 178625 | /* When doing a nested parse, one can include terms in an expression |
| 178520 | 178626 | ** that look like this: #1 #2 ... These terms refer to registers |
| 178521 | 178627 | ** in the virtual machine. #N is the N-th register. */ |
| 178522 | 178628 | Token t = yymsp[0].minor.yy0; /*A-overwrites-X*/ |
| 178523 | 178629 | assert( t.n>=2 ); |
| 178524 | 178630 | if( pParse->nested==0 ){ |
| 178525 | 178631 | parserSyntaxError(pParse, &t); |
| 178526 | | - yymsp[0].minor.yy454 = 0; |
| 178632 | + yymsp[0].minor.yy590 = 0; |
| 178527 | 178633 | }else{ |
| 178528 | | - yymsp[0].minor.yy454 = sqlite3PExpr(pParse, TK_REGISTER, 0, 0); |
| 178529 | | - if( yymsp[0].minor.yy454 ) sqlite3GetInt32(&t.z[1], &yymsp[0].minor.yy454->iTable); |
| 178634 | + yymsp[0].minor.yy590 = sqlite3PExpr(pParse, TK_REGISTER, 0, 0); |
| 178635 | + if( yymsp[0].minor.yy590 ) sqlite3GetInt32(&t.z[1], &yymsp[0].minor.yy590->iTable); |
| 178530 | 178636 | } |
| 178531 | 178637 | } |
| 178532 | 178638 | } |
| 178533 | 178639 | break; |
| 178534 | 178640 | case 187: /* expr ::= expr COLLATE ID|STRING */ |
| 178535 | 178641 | { |
| 178536 | | - yymsp[-2].minor.yy454 = sqlite3ExprAddCollateToken(pParse, yymsp[-2].minor.yy454, &yymsp[0].minor.yy0, 1); |
| 178642 | + yymsp[-2].minor.yy590 = sqlite3ExprAddCollateToken(pParse, yymsp[-2].minor.yy590, &yymsp[0].minor.yy0, 1); |
| 178537 | 178643 | } |
| 178538 | 178644 | break; |
| 178539 | 178645 | case 188: /* expr ::= CAST LP expr AS typetoken RP */ |
| 178540 | 178646 | { |
| 178541 | | - yymsp[-5].minor.yy454 = sqlite3ExprAlloc(pParse->db, TK_CAST, &yymsp[-1].minor.yy0, 1); |
| 178542 | | - sqlite3ExprAttachSubtrees(pParse->db, yymsp[-5].minor.yy454, yymsp[-3].minor.yy454, 0); |
| 178647 | + yymsp[-5].minor.yy590 = sqlite3ExprAlloc(pParse->db, TK_CAST, &yymsp[-1].minor.yy0, 1); |
| 178648 | + sqlite3ExprAttachSubtrees(pParse->db, yymsp[-5].minor.yy590, yymsp[-3].minor.yy590, 0); |
| 178543 | 178649 | } |
| 178544 | 178650 | break; |
| 178545 | 178651 | case 189: /* expr ::= ID|INDEXED|JOIN_KW LP distinct exprlist RP */ |
| 178546 | 178652 | { |
| 178547 | | - yylhsminor.yy454 = sqlite3ExprFunction(pParse, yymsp[-1].minor.yy14, &yymsp[-4].minor.yy0, yymsp[-2].minor.yy144); |
| 178653 | + yylhsminor.yy590 = sqlite3ExprFunction(pParse, yymsp[-1].minor.yy402, &yymsp[-4].minor.yy0, yymsp[-2].minor.yy502); |
| 178548 | 178654 | } |
| 178549 | | - yymsp[-4].minor.yy454 = yylhsminor.yy454; |
| 178655 | + yymsp[-4].minor.yy590 = yylhsminor.yy590; |
| 178550 | 178656 | break; |
| 178551 | 178657 | case 190: /* expr ::= ID|INDEXED|JOIN_KW LP distinct exprlist ORDER BY sortlist RP */ |
| 178552 | 178658 | { |
| 178553 | | - yylhsminor.yy454 = sqlite3ExprFunction(pParse, yymsp[-4].minor.yy14, &yymsp[-7].minor.yy0, yymsp[-5].minor.yy144); |
| 178554 | | - sqlite3ExprAddFunctionOrderBy(pParse, yylhsminor.yy454, yymsp[-1].minor.yy14); |
| 178659 | + yylhsminor.yy590 = sqlite3ExprFunction(pParse, yymsp[-4].minor.yy402, &yymsp[-7].minor.yy0, yymsp[-5].minor.yy502); |
| 178660 | + sqlite3ExprAddFunctionOrderBy(pParse, yylhsminor.yy590, yymsp[-1].minor.yy402); |
| 178555 | 178661 | } |
| 178556 | | - yymsp[-7].minor.yy454 = yylhsminor.yy454; |
| 178662 | + yymsp[-7].minor.yy590 = yylhsminor.yy590; |
| 178557 | 178663 | break; |
| 178558 | 178664 | case 191: /* expr ::= ID|INDEXED|JOIN_KW LP STAR RP */ |
| 178559 | 178665 | { |
| 178560 | | - yylhsminor.yy454 = sqlite3ExprFunction(pParse, 0, &yymsp[-3].minor.yy0, 0); |
| 178666 | + yylhsminor.yy590 = sqlite3ExprFunction(pParse, 0, &yymsp[-3].minor.yy0, 0); |
| 178561 | 178667 | } |
| 178562 | | - yymsp[-3].minor.yy454 = yylhsminor.yy454; |
| 178668 | + yymsp[-3].minor.yy590 = yylhsminor.yy590; |
| 178563 | 178669 | break; |
| 178564 | 178670 | case 192: /* expr ::= ID|INDEXED|JOIN_KW LP distinct exprlist RP filter_over */ |
| 178565 | 178671 | { |
| 178566 | | - yylhsminor.yy454 = sqlite3ExprFunction(pParse, yymsp[-2].minor.yy14, &yymsp[-5].minor.yy0, yymsp[-3].minor.yy144); |
| 178567 | | - sqlite3WindowAttach(pParse, yylhsminor.yy454, yymsp[0].minor.yy211); |
| 178672 | + yylhsminor.yy590 = sqlite3ExprFunction(pParse, yymsp[-2].minor.yy402, &yymsp[-5].minor.yy0, yymsp[-3].minor.yy502); |
| 178673 | + sqlite3WindowAttach(pParse, yylhsminor.yy590, yymsp[0].minor.yy483); |
| 178568 | 178674 | } |
| 178569 | | - yymsp[-5].minor.yy454 = yylhsminor.yy454; |
| 178675 | + yymsp[-5].minor.yy590 = yylhsminor.yy590; |
| 178570 | 178676 | break; |
| 178571 | 178677 | case 193: /* expr ::= ID|INDEXED|JOIN_KW LP distinct exprlist ORDER BY sortlist RP filter_over */ |
| 178572 | 178678 | { |
| 178573 | | - yylhsminor.yy454 = sqlite3ExprFunction(pParse, yymsp[-5].minor.yy14, &yymsp[-8].minor.yy0, yymsp[-6].minor.yy144); |
| 178574 | | - sqlite3WindowAttach(pParse, yylhsminor.yy454, yymsp[0].minor.yy211); |
| 178575 | | - sqlite3ExprAddFunctionOrderBy(pParse, yylhsminor.yy454, yymsp[-2].minor.yy14); |
| 178679 | + yylhsminor.yy590 = sqlite3ExprFunction(pParse, yymsp[-5].minor.yy402, &yymsp[-8].minor.yy0, yymsp[-6].minor.yy502); |
| 178680 | + sqlite3WindowAttach(pParse, yylhsminor.yy590, yymsp[0].minor.yy483); |
| 178681 | + sqlite3ExprAddFunctionOrderBy(pParse, yylhsminor.yy590, yymsp[-2].minor.yy402); |
| 178576 | 178682 | } |
| 178577 | | - yymsp[-8].minor.yy454 = yylhsminor.yy454; |
| 178683 | + yymsp[-8].minor.yy590 = yylhsminor.yy590; |
| 178578 | 178684 | break; |
| 178579 | 178685 | case 194: /* expr ::= ID|INDEXED|JOIN_KW LP STAR RP filter_over */ |
| 178580 | 178686 | { |
| 178581 | | - yylhsminor.yy454 = sqlite3ExprFunction(pParse, 0, &yymsp[-4].minor.yy0, 0); |
| 178582 | | - sqlite3WindowAttach(pParse, yylhsminor.yy454, yymsp[0].minor.yy211); |
| 178687 | + yylhsminor.yy590 = sqlite3ExprFunction(pParse, 0, &yymsp[-4].minor.yy0, 0); |
| 178688 | + sqlite3WindowAttach(pParse, yylhsminor.yy590, yymsp[0].minor.yy483); |
| 178583 | 178689 | } |
| 178584 | | - yymsp[-4].minor.yy454 = yylhsminor.yy454; |
| 178690 | + yymsp[-4].minor.yy590 = yylhsminor.yy590; |
| 178585 | 178691 | break; |
| 178586 | 178692 | case 195: /* term ::= CTIME_KW */ |
| 178587 | 178693 | { |
| 178588 | | - yylhsminor.yy454 = sqlite3ExprFunction(pParse, 0, &yymsp[0].minor.yy0, 0); |
| 178694 | + yylhsminor.yy590 = sqlite3ExprFunction(pParse, 0, &yymsp[0].minor.yy0, 0); |
| 178589 | 178695 | } |
| 178590 | | - yymsp[0].minor.yy454 = yylhsminor.yy454; |
| 178696 | + yymsp[0].minor.yy590 = yylhsminor.yy590; |
| 178591 | 178697 | break; |
| 178592 | 178698 | case 196: /* expr ::= LP nexprlist COMMA expr RP */ |
| 178593 | 178699 | { |
| 178594 | | - ExprList *pList = sqlite3ExprListAppend(pParse, yymsp[-3].minor.yy14, yymsp[-1].minor.yy454); |
| 178595 | | - yymsp[-4].minor.yy454 = sqlite3PExpr(pParse, TK_VECTOR, 0, 0); |
| 178596 | | - if( yymsp[-4].minor.yy454 ){ |
| 178597 | | - yymsp[-4].minor.yy454->x.pList = pList; |
| 178700 | + ExprList *pList = sqlite3ExprListAppend(pParse, yymsp[-3].minor.yy402, yymsp[-1].minor.yy590); |
| 178701 | + yymsp[-4].minor.yy590 = sqlite3PExpr(pParse, TK_VECTOR, 0, 0); |
| 178702 | + if( yymsp[-4].minor.yy590 ){ |
| 178703 | + yymsp[-4].minor.yy590->x.pList = pList; |
| 178598 | 178704 | if( ALWAYS(pList->nExpr) ){ |
| 178599 | | - yymsp[-4].minor.yy454->flags |= pList->a[0].pExpr->flags & EP_Propagate; |
| 178705 | + yymsp[-4].minor.yy590->flags |= pList->a[0].pExpr->flags & EP_Propagate; |
| 178600 | 178706 | } |
| 178601 | 178707 | }else{ |
| 178602 | 178708 | sqlite3ExprListDelete(pParse->db, pList); |
| 178603 | 178709 | } |
| 178604 | 178710 | } |
| 178605 | 178711 | break; |
| 178606 | 178712 | case 197: /* expr ::= expr AND expr */ |
| 178607 | | -{yymsp[-2].minor.yy454=sqlite3ExprAnd(pParse,yymsp[-2].minor.yy454,yymsp[0].minor.yy454);} |
| 178713 | +{yymsp[-2].minor.yy590=sqlite3ExprAnd(pParse,yymsp[-2].minor.yy590,yymsp[0].minor.yy590);} |
| 178608 | 178714 | break; |
| 178609 | 178715 | case 198: /* expr ::= expr OR expr */ |
| 178610 | 178716 | case 199: /* expr ::= expr LT|GT|GE|LE expr */ yytestcase(yyruleno==199); |
| 178611 | 178717 | case 200: /* expr ::= expr EQ|NE expr */ yytestcase(yyruleno==200); |
| 178612 | 178718 | case 201: /* expr ::= expr BITAND|BITOR|LSHIFT|RSHIFT expr */ yytestcase(yyruleno==201); |
| 178613 | 178719 | case 202: /* expr ::= expr PLUS|MINUS expr */ yytestcase(yyruleno==202); |
| 178614 | 178720 | case 203: /* expr ::= expr STAR|SLASH|REM expr */ yytestcase(yyruleno==203); |
| 178615 | 178721 | case 204: /* expr ::= expr CONCAT expr */ yytestcase(yyruleno==204); |
| 178616 | | -{yymsp[-2].minor.yy454=sqlite3PExpr(pParse,yymsp[-1].major,yymsp[-2].minor.yy454,yymsp[0].minor.yy454);} |
| 178722 | +{yymsp[-2].minor.yy590=sqlite3PExpr(pParse,yymsp[-1].major,yymsp[-2].minor.yy590,yymsp[0].minor.yy590);} |
| 178617 | 178723 | break; |
| 178618 | 178724 | case 205: /* likeop ::= NOT LIKE_KW|MATCH */ |
| 178619 | 178725 | {yymsp[-1].minor.yy0=yymsp[0].minor.yy0; yymsp[-1].minor.yy0.n|=0x80000000; /*yymsp[-1].minor.yy0-overwrite-yymsp[0].minor.yy0*/} |
| 178620 | 178726 | break; |
| 178621 | 178727 | case 206: /* expr ::= expr likeop expr */ |
| 178622 | 178728 | { |
| 178623 | 178729 | ExprList *pList; |
| 178624 | 178730 | int bNot = yymsp[-1].minor.yy0.n & 0x80000000; |
| 178625 | 178731 | yymsp[-1].minor.yy0.n &= 0x7fffffff; |
| 178626 | | - pList = sqlite3ExprListAppend(pParse,0, yymsp[0].minor.yy454); |
| 178627 | | - pList = sqlite3ExprListAppend(pParse,pList, yymsp[-2].minor.yy454); |
| 178628 | | - yymsp[-2].minor.yy454 = sqlite3ExprFunction(pParse, pList, &yymsp[-1].minor.yy0, 0); |
| 178629 | | - if( bNot ) yymsp[-2].minor.yy454 = sqlite3PExpr(pParse, TK_NOT, yymsp[-2].minor.yy454, 0); |
| 178630 | | - if( yymsp[-2].minor.yy454 ) yymsp[-2].minor.yy454->flags |= EP_InfixFunc; |
| 178732 | + pList = sqlite3ExprListAppend(pParse,0, yymsp[0].minor.yy590); |
| 178733 | + pList = sqlite3ExprListAppend(pParse,pList, yymsp[-2].minor.yy590); |
| 178734 | + yymsp[-2].minor.yy590 = sqlite3ExprFunction(pParse, pList, &yymsp[-1].minor.yy0, 0); |
| 178735 | + if( bNot ) yymsp[-2].minor.yy590 = sqlite3PExpr(pParse, TK_NOT, yymsp[-2].minor.yy590, 0); |
| 178736 | + if( yymsp[-2].minor.yy590 ) yymsp[-2].minor.yy590->flags |= EP_InfixFunc; |
| 178631 | 178737 | } |
| 178632 | 178738 | break; |
| 178633 | 178739 | case 207: /* expr ::= expr likeop expr ESCAPE expr */ |
| 178634 | 178740 | { |
| 178635 | 178741 | ExprList *pList; |
| 178636 | 178742 | int bNot = yymsp[-3].minor.yy0.n & 0x80000000; |
| 178637 | 178743 | yymsp[-3].minor.yy0.n &= 0x7fffffff; |
| 178638 | | - pList = sqlite3ExprListAppend(pParse,0, yymsp[-2].minor.yy454); |
| 178639 | | - pList = sqlite3ExprListAppend(pParse,pList, yymsp[-4].minor.yy454); |
| 178640 | | - pList = sqlite3ExprListAppend(pParse,pList, yymsp[0].minor.yy454); |
| 178641 | | - yymsp[-4].minor.yy454 = sqlite3ExprFunction(pParse, pList, &yymsp[-3].minor.yy0, 0); |
| 178642 | | - if( bNot ) yymsp[-4].minor.yy454 = sqlite3PExpr(pParse, TK_NOT, yymsp[-4].minor.yy454, 0); |
| 178643 | | - if( yymsp[-4].minor.yy454 ) yymsp[-4].minor.yy454->flags |= EP_InfixFunc; |
| 178744 | + pList = sqlite3ExprListAppend(pParse,0, yymsp[-2].minor.yy590); |
| 178745 | + pList = sqlite3ExprListAppend(pParse,pList, yymsp[-4].minor.yy590); |
| 178746 | + pList = sqlite3ExprListAppend(pParse,pList, yymsp[0].minor.yy590); |
| 178747 | + yymsp[-4].minor.yy590 = sqlite3ExprFunction(pParse, pList, &yymsp[-3].minor.yy0, 0); |
| 178748 | + if( bNot ) yymsp[-4].minor.yy590 = sqlite3PExpr(pParse, TK_NOT, yymsp[-4].minor.yy590, 0); |
| 178749 | + if( yymsp[-4].minor.yy590 ) yymsp[-4].minor.yy590->flags |= EP_InfixFunc; |
| 178644 | 178750 | } |
| 178645 | 178751 | break; |
| 178646 | 178752 | case 208: /* expr ::= expr ISNULL|NOTNULL */ |
| 178647 | | -{yymsp[-1].minor.yy454 = sqlite3PExpr(pParse,yymsp[0].major,yymsp[-1].minor.yy454,0);} |
| 178753 | +{yymsp[-1].minor.yy590 = sqlite3PExpr(pParse,yymsp[0].major,yymsp[-1].minor.yy590,0);} |
| 178648 | 178754 | break; |
| 178649 | 178755 | case 209: /* expr ::= expr NOT NULL */ |
| 178650 | | -{yymsp[-2].minor.yy454 = sqlite3PExpr(pParse,TK_NOTNULL,yymsp[-2].minor.yy454,0);} |
| 178756 | +{yymsp[-2].minor.yy590 = sqlite3PExpr(pParse,TK_NOTNULL,yymsp[-2].minor.yy590,0);} |
| 178651 | 178757 | break; |
| 178652 | 178758 | case 210: /* expr ::= expr IS expr */ |
| 178653 | 178759 | { |
| 178654 | | - yymsp[-2].minor.yy454 = sqlite3PExpr(pParse,TK_IS,yymsp[-2].minor.yy454,yymsp[0].minor.yy454); |
| 178655 | | - binaryToUnaryIfNull(pParse, yymsp[0].minor.yy454, yymsp[-2].minor.yy454, TK_ISNULL); |
| 178760 | + yymsp[-2].minor.yy590 = sqlite3PExpr(pParse,TK_IS,yymsp[-2].minor.yy590,yymsp[0].minor.yy590); |
| 178761 | + binaryToUnaryIfNull(pParse, yymsp[0].minor.yy590, yymsp[-2].minor.yy590, TK_ISNULL); |
| 178656 | 178762 | } |
| 178657 | 178763 | break; |
| 178658 | 178764 | case 211: /* expr ::= expr IS NOT expr */ |
| 178659 | 178765 | { |
| 178660 | | - yymsp[-3].minor.yy454 = sqlite3PExpr(pParse,TK_ISNOT,yymsp[-3].minor.yy454,yymsp[0].minor.yy454); |
| 178661 | | - binaryToUnaryIfNull(pParse, yymsp[0].minor.yy454, yymsp[-3].minor.yy454, TK_NOTNULL); |
| 178766 | + yymsp[-3].minor.yy590 = sqlite3PExpr(pParse,TK_ISNOT,yymsp[-3].minor.yy590,yymsp[0].minor.yy590); |
| 178767 | + binaryToUnaryIfNull(pParse, yymsp[0].minor.yy590, yymsp[-3].minor.yy590, TK_NOTNULL); |
| 178662 | 178768 | } |
| 178663 | 178769 | break; |
| 178664 | 178770 | case 212: /* expr ::= expr IS NOT DISTINCT FROM expr */ |
| 178665 | 178771 | { |
| 178666 | | - yymsp[-5].minor.yy454 = sqlite3PExpr(pParse,TK_IS,yymsp[-5].minor.yy454,yymsp[0].minor.yy454); |
| 178667 | | - binaryToUnaryIfNull(pParse, yymsp[0].minor.yy454, yymsp[-5].minor.yy454, TK_ISNULL); |
| 178772 | + yymsp[-5].minor.yy590 = sqlite3PExpr(pParse,TK_IS,yymsp[-5].minor.yy590,yymsp[0].minor.yy590); |
| 178773 | + binaryToUnaryIfNull(pParse, yymsp[0].minor.yy590, yymsp[-5].minor.yy590, TK_ISNULL); |
| 178668 | 178774 | } |
| 178669 | 178775 | break; |
| 178670 | 178776 | case 213: /* expr ::= expr IS DISTINCT FROM expr */ |
| 178671 | 178777 | { |
| 178672 | | - yymsp[-4].minor.yy454 = sqlite3PExpr(pParse,TK_ISNOT,yymsp[-4].minor.yy454,yymsp[0].minor.yy454); |
| 178673 | | - binaryToUnaryIfNull(pParse, yymsp[0].minor.yy454, yymsp[-4].minor.yy454, TK_NOTNULL); |
| 178778 | + yymsp[-4].minor.yy590 = sqlite3PExpr(pParse,TK_ISNOT,yymsp[-4].minor.yy590,yymsp[0].minor.yy590); |
| 178779 | + binaryToUnaryIfNull(pParse, yymsp[0].minor.yy590, yymsp[-4].minor.yy590, TK_NOTNULL); |
| 178674 | 178780 | } |
| 178675 | 178781 | break; |
| 178676 | 178782 | case 214: /* expr ::= NOT expr */ |
| 178677 | 178783 | case 215: /* expr ::= BITNOT expr */ yytestcase(yyruleno==215); |
| 178678 | | -{yymsp[-1].minor.yy454 = sqlite3PExpr(pParse, yymsp[-1].major, yymsp[0].minor.yy454, 0);/*A-overwrites-B*/} |
| 178784 | +{yymsp[-1].minor.yy590 = sqlite3PExpr(pParse, yymsp[-1].major, yymsp[0].minor.yy590, 0);/*A-overwrites-B*/} |
| 178679 | 178785 | break; |
| 178680 | 178786 | case 216: /* expr ::= PLUS|MINUS expr */ |
| 178681 | 178787 | { |
| 178682 | | - Expr *p = yymsp[0].minor.yy454; |
| 178788 | + Expr *p = yymsp[0].minor.yy590; |
| 178683 | 178789 | u8 op = yymsp[-1].major + (TK_UPLUS-TK_PLUS); |
| 178684 | 178790 | assert( TK_UPLUS>TK_PLUS ); |
| 178685 | 178791 | assert( TK_UMINUS == TK_MINUS + (TK_UPLUS - TK_PLUS) ); |
| 178686 | 178792 | if( p && p->op==TK_UPLUS ){ |
| 178687 | 178793 | p->op = op; |
| 178688 | | - yymsp[-1].minor.yy454 = p; |
| 178794 | + yymsp[-1].minor.yy590 = p; |
| 178689 | 178795 | }else{ |
| 178690 | | - yymsp[-1].minor.yy454 = sqlite3PExpr(pParse, op, p, 0); |
| 178796 | + yymsp[-1].minor.yy590 = sqlite3PExpr(pParse, op, p, 0); |
| 178691 | 178797 | /*A-overwrites-B*/ |
| 178692 | 178798 | } |
| 178693 | 178799 | } |
| 178694 | 178800 | break; |
| 178695 | 178801 | case 217: /* expr ::= expr PTR expr */ |
| 178696 | 178802 | { |
| 178697 | | - ExprList *pList = sqlite3ExprListAppend(pParse, 0, yymsp[-2].minor.yy454); |
| 178698 | | - pList = sqlite3ExprListAppend(pParse, pList, yymsp[0].minor.yy454); |
| 178699 | | - yylhsminor.yy454 = sqlite3ExprFunction(pParse, pList, &yymsp[-1].minor.yy0, 0); |
| 178803 | + ExprList *pList = sqlite3ExprListAppend(pParse, 0, yymsp[-2].minor.yy590); |
| 178804 | + pList = sqlite3ExprListAppend(pParse, pList, yymsp[0].minor.yy590); |
| 178805 | + yylhsminor.yy590 = sqlite3ExprFunction(pParse, pList, &yymsp[-1].minor.yy0, 0); |
| 178700 | 178806 | } |
| 178701 | | - yymsp[-2].minor.yy454 = yylhsminor.yy454; |
| 178807 | + yymsp[-2].minor.yy590 = yylhsminor.yy590; |
| 178702 | 178808 | break; |
| 178703 | 178809 | case 218: /* between_op ::= BETWEEN */ |
| 178704 | 178810 | case 221: /* in_op ::= IN */ yytestcase(yyruleno==221); |
| 178705 | | -{yymsp[0].minor.yy144 = 0;} |
| 178811 | +{yymsp[0].minor.yy502 = 0;} |
| 178706 | 178812 | break; |
| 178707 | 178813 | case 220: /* expr ::= expr between_op expr AND expr */ |
| 178708 | 178814 | { |
| 178709 | | - ExprList *pList = sqlite3ExprListAppend(pParse,0, yymsp[-2].minor.yy454); |
| 178710 | | - pList = sqlite3ExprListAppend(pParse,pList, yymsp[0].minor.yy454); |
| 178711 | | - yymsp[-4].minor.yy454 = sqlite3PExpr(pParse, TK_BETWEEN, yymsp[-4].minor.yy454, 0); |
| 178712 | | - if( yymsp[-4].minor.yy454 ){ |
| 178713 | | - yymsp[-4].minor.yy454->x.pList = pList; |
| 178815 | + ExprList *pList = sqlite3ExprListAppend(pParse,0, yymsp[-2].minor.yy590); |
| 178816 | + pList = sqlite3ExprListAppend(pParse,pList, yymsp[0].minor.yy590); |
| 178817 | + yymsp[-4].minor.yy590 = sqlite3PExpr(pParse, TK_BETWEEN, yymsp[-4].minor.yy590, 0); |
| 178818 | + if( yymsp[-4].minor.yy590 ){ |
| 178819 | + yymsp[-4].minor.yy590->x.pList = pList; |
| 178714 | 178820 | }else{ |
| 178715 | 178821 | sqlite3ExprListDelete(pParse->db, pList); |
| 178716 | 178822 | } |
| 178717 | | - if( yymsp[-3].minor.yy144 ) yymsp[-4].minor.yy454 = sqlite3PExpr(pParse, TK_NOT, yymsp[-4].minor.yy454, 0); |
| 178823 | + if( yymsp[-3].minor.yy502 ) yymsp[-4].minor.yy590 = sqlite3PExpr(pParse, TK_NOT, yymsp[-4].minor.yy590, 0); |
| 178718 | 178824 | } |
| 178719 | 178825 | break; |
| 178720 | 178826 | case 223: /* expr ::= expr in_op LP exprlist RP */ |
| 178721 | 178827 | { |
| 178722 | | - if( yymsp[-1].minor.yy14==0 ){ |
| 178828 | + if( yymsp[-1].minor.yy402==0 ){ |
| 178723 | 178829 | /* Expressions of the form |
| 178724 | 178830 | ** |
| 178725 | 178831 | ** expr1 IN () |
| 178726 | 178832 | ** expr1 NOT IN () |
| 178727 | 178833 | ** |
| 178728 | 178834 | ** simplify to constants 0 (false) and 1 (true), respectively, |
| 178729 | 178835 | ** regardless of the value of expr1. |
| 178730 | 178836 | */ |
| 178731 | | - sqlite3ExprUnmapAndDelete(pParse, yymsp[-4].minor.yy454); |
| 178732 | | - yymsp[-4].minor.yy454 = sqlite3Expr(pParse->db, TK_STRING, yymsp[-3].minor.yy144 ? "true" : "false"); |
| 178733 | | - if( yymsp[-4].minor.yy454 ) sqlite3ExprIdToTrueFalse(yymsp[-4].minor.yy454); |
| 178837 | + sqlite3ExprUnmapAndDelete(pParse, yymsp[-4].minor.yy590); |
| 178838 | + yymsp[-4].minor.yy590 = sqlite3Expr(pParse->db, TK_STRING, yymsp[-3].minor.yy502 ? "true" : "false"); |
| 178839 | + if( yymsp[-4].minor.yy590 ) sqlite3ExprIdToTrueFalse(yymsp[-4].minor.yy590); |
| 178734 | 178840 | }else{ |
| 178735 | | - Expr *pRHS = yymsp[-1].minor.yy14->a[0].pExpr; |
| 178736 | | - if( yymsp[-1].minor.yy14->nExpr==1 && sqlite3ExprIsConstant(pParse,pRHS) && yymsp[-4].minor.yy454->op!=TK_VECTOR ){ |
| 178737 | | - yymsp[-1].minor.yy14->a[0].pExpr = 0; |
| 178738 | | - sqlite3ExprListDelete(pParse->db, yymsp[-1].minor.yy14); |
| 178841 | + Expr *pRHS = yymsp[-1].minor.yy402->a[0].pExpr; |
| 178842 | + if( yymsp[-1].minor.yy402->nExpr==1 && sqlite3ExprIsConstant(pParse,pRHS) && yymsp[-4].minor.yy590->op!=TK_VECTOR ){ |
| 178843 | + yymsp[-1].minor.yy402->a[0].pExpr = 0; |
| 178844 | + sqlite3ExprListDelete(pParse->db, yymsp[-1].minor.yy402); |
| 178739 | 178845 | pRHS = sqlite3PExpr(pParse, TK_UPLUS, pRHS, 0); |
| 178740 | | - yymsp[-4].minor.yy454 = sqlite3PExpr(pParse, TK_EQ, yymsp[-4].minor.yy454, pRHS); |
| 178741 | | - }else if( yymsp[-1].minor.yy14->nExpr==1 && pRHS->op==TK_SELECT ){ |
| 178742 | | - yymsp[-4].minor.yy454 = sqlite3PExpr(pParse, TK_IN, yymsp[-4].minor.yy454, 0); |
| 178743 | | - sqlite3PExprAddSelect(pParse, yymsp[-4].minor.yy454, pRHS->x.pSelect); |
| 178846 | + yymsp[-4].minor.yy590 = sqlite3PExpr(pParse, TK_EQ, yymsp[-4].minor.yy590, pRHS); |
| 178847 | + }else if( yymsp[-1].minor.yy402->nExpr==1 && pRHS->op==TK_SELECT ){ |
| 178848 | + yymsp[-4].minor.yy590 = sqlite3PExpr(pParse, TK_IN, yymsp[-4].minor.yy590, 0); |
| 178849 | + sqlite3PExprAddSelect(pParse, yymsp[-4].minor.yy590, pRHS->x.pSelect); |
| 178744 | 178850 | pRHS->x.pSelect = 0; |
| 178745 | | - sqlite3ExprListDelete(pParse->db, yymsp[-1].minor.yy14); |
| 178851 | + sqlite3ExprListDelete(pParse->db, yymsp[-1].minor.yy402); |
| 178746 | 178852 | }else{ |
| 178747 | | - yymsp[-4].minor.yy454 = sqlite3PExpr(pParse, TK_IN, yymsp[-4].minor.yy454, 0); |
| 178748 | | - if( yymsp[-4].minor.yy454==0 ){ |
| 178749 | | - sqlite3ExprListDelete(pParse->db, yymsp[-1].minor.yy14); |
| 178750 | | - }else if( yymsp[-4].minor.yy454->pLeft->op==TK_VECTOR ){ |
| 178751 | | - int nExpr = yymsp[-4].minor.yy454->pLeft->x.pList->nExpr; |
| 178752 | | - Select *pSelectRHS = sqlite3ExprListToValues(pParse, nExpr, yymsp[-1].minor.yy14); |
| 178853 | + yymsp[-4].minor.yy590 = sqlite3PExpr(pParse, TK_IN, yymsp[-4].minor.yy590, 0); |
| 178854 | + if( yymsp[-4].minor.yy590==0 ){ |
| 178855 | + sqlite3ExprListDelete(pParse->db, yymsp[-1].minor.yy402); |
| 178856 | + }else if( yymsp[-4].minor.yy590->pLeft->op==TK_VECTOR ){ |
| 178857 | + int nExpr = yymsp[-4].minor.yy590->pLeft->x.pList->nExpr; |
| 178858 | + Select *pSelectRHS = sqlite3ExprListToValues(pParse, nExpr, yymsp[-1].minor.yy402); |
| 178753 | 178859 | if( pSelectRHS ){ |
| 178754 | 178860 | parserDoubleLinkSelect(pParse, pSelectRHS); |
| 178755 | | - sqlite3PExprAddSelect(pParse, yymsp[-4].minor.yy454, pSelectRHS); |
| 178861 | + sqlite3PExprAddSelect(pParse, yymsp[-4].minor.yy590, pSelectRHS); |
| 178756 | 178862 | } |
| 178757 | 178863 | }else{ |
| 178758 | | - yymsp[-4].minor.yy454->x.pList = yymsp[-1].minor.yy14; |
| 178759 | | - sqlite3ExprSetHeightAndFlags(pParse, yymsp[-4].minor.yy454); |
| 178864 | + yymsp[-4].minor.yy590->x.pList = yymsp[-1].minor.yy402; |
| 178865 | + sqlite3ExprSetHeightAndFlags(pParse, yymsp[-4].minor.yy590); |
| 178760 | 178866 | } |
| 178761 | 178867 | } |
| 178762 | | - if( yymsp[-3].minor.yy144 ) yymsp[-4].minor.yy454 = sqlite3PExpr(pParse, TK_NOT, yymsp[-4].minor.yy454, 0); |
| 178868 | + if( yymsp[-3].minor.yy502 ) yymsp[-4].minor.yy590 = sqlite3PExpr(pParse, TK_NOT, yymsp[-4].minor.yy590, 0); |
| 178763 | 178869 | } |
| 178764 | 178870 | } |
| 178765 | 178871 | break; |
| 178766 | 178872 | case 224: /* expr ::= LP select RP */ |
| 178767 | 178873 | { |
| 178768 | | - yymsp[-2].minor.yy454 = sqlite3PExpr(pParse, TK_SELECT, 0, 0); |
| 178769 | | - sqlite3PExprAddSelect(pParse, yymsp[-2].minor.yy454, yymsp[-1].minor.yy555); |
| 178874 | + yymsp[-2].minor.yy590 = sqlite3PExpr(pParse, TK_SELECT, 0, 0); |
| 178875 | + sqlite3PExprAddSelect(pParse, yymsp[-2].minor.yy590, yymsp[-1].minor.yy637); |
| 178770 | 178876 | } |
| 178771 | 178877 | break; |
| 178772 | 178878 | case 225: /* expr ::= expr in_op LP select RP */ |
| 178773 | 178879 | { |
| 178774 | | - yymsp[-4].minor.yy454 = sqlite3PExpr(pParse, TK_IN, yymsp[-4].minor.yy454, 0); |
| 178775 | | - sqlite3PExprAddSelect(pParse, yymsp[-4].minor.yy454, yymsp[-1].minor.yy555); |
| 178776 | | - if( yymsp[-3].minor.yy144 ) yymsp[-4].minor.yy454 = sqlite3PExpr(pParse, TK_NOT, yymsp[-4].minor.yy454, 0); |
| 178880 | + yymsp[-4].minor.yy590 = sqlite3PExpr(pParse, TK_IN, yymsp[-4].minor.yy590, 0); |
| 178881 | + sqlite3PExprAddSelect(pParse, yymsp[-4].minor.yy590, yymsp[-1].minor.yy637); |
| 178882 | + if( yymsp[-3].minor.yy502 ) yymsp[-4].minor.yy590 = sqlite3PExpr(pParse, TK_NOT, yymsp[-4].minor.yy590, 0); |
| 178777 | 178883 | } |
| 178778 | 178884 | break; |
| 178779 | 178885 | case 226: /* expr ::= expr in_op nm dbnm paren_exprlist */ |
| 178780 | 178886 | { |
| 178781 | 178887 | SrcList *pSrc = sqlite3SrcListAppend(pParse, 0,&yymsp[-2].minor.yy0,&yymsp[-1].minor.yy0); |
| 178782 | 178888 | Select *pSelect = sqlite3SelectNew(pParse, 0,pSrc,0,0,0,0,0,0); |
| 178783 | | - if( yymsp[0].minor.yy14 ) sqlite3SrcListFuncArgs(pParse, pSelect ? pSrc : 0, yymsp[0].minor.yy14); |
| 178784 | | - yymsp[-4].minor.yy454 = sqlite3PExpr(pParse, TK_IN, yymsp[-4].minor.yy454, 0); |
| 178785 | | - sqlite3PExprAddSelect(pParse, yymsp[-4].minor.yy454, pSelect); |
| 178786 | | - if( yymsp[-3].minor.yy144 ) yymsp[-4].minor.yy454 = sqlite3PExpr(pParse, TK_NOT, yymsp[-4].minor.yy454, 0); |
| 178889 | + if( yymsp[0].minor.yy402 ) sqlite3SrcListFuncArgs(pParse, pSelect ? pSrc : 0, yymsp[0].minor.yy402); |
| 178890 | + yymsp[-4].minor.yy590 = sqlite3PExpr(pParse, TK_IN, yymsp[-4].minor.yy590, 0); |
| 178891 | + sqlite3PExprAddSelect(pParse, yymsp[-4].minor.yy590, pSelect); |
| 178892 | + if( yymsp[-3].minor.yy502 ) yymsp[-4].minor.yy590 = sqlite3PExpr(pParse, TK_NOT, yymsp[-4].minor.yy590, 0); |
| 178787 | 178893 | } |
| 178788 | 178894 | break; |
| 178789 | 178895 | case 227: /* expr ::= EXISTS LP select RP */ |
| 178790 | 178896 | { |
| 178791 | 178897 | Expr *p; |
| 178792 | | - p = yymsp[-3].minor.yy454 = sqlite3PExpr(pParse, TK_EXISTS, 0, 0); |
| 178793 | | - sqlite3PExprAddSelect(pParse, p, yymsp[-1].minor.yy555); |
| 178898 | + p = yymsp[-3].minor.yy590 = sqlite3PExpr(pParse, TK_EXISTS, 0, 0); |
| 178899 | + sqlite3PExprAddSelect(pParse, p, yymsp[-1].minor.yy637); |
| 178794 | 178900 | } |
| 178795 | 178901 | break; |
| 178796 | 178902 | case 228: /* expr ::= CASE case_operand case_exprlist case_else END */ |
| 178797 | 178903 | { |
| 178798 | | - yymsp[-4].minor.yy454 = sqlite3PExpr(pParse, TK_CASE, yymsp[-3].minor.yy454, 0); |
| 178799 | | - if( yymsp[-4].minor.yy454 ){ |
| 178800 | | - yymsp[-4].minor.yy454->x.pList = yymsp[-1].minor.yy454 ? sqlite3ExprListAppend(pParse,yymsp[-2].minor.yy14,yymsp[-1].minor.yy454) : yymsp[-2].minor.yy14; |
| 178801 | | - sqlite3ExprSetHeightAndFlags(pParse, yymsp[-4].minor.yy454); |
| 178904 | + yymsp[-4].minor.yy590 = sqlite3PExpr(pParse, TK_CASE, yymsp[-3].minor.yy590, 0); |
| 178905 | + if( yymsp[-4].minor.yy590 ){ |
| 178906 | + yymsp[-4].minor.yy590->x.pList = yymsp[-1].minor.yy590 ? sqlite3ExprListAppend(pParse,yymsp[-2].minor.yy402,yymsp[-1].minor.yy590) : yymsp[-2].minor.yy402; |
| 178907 | + sqlite3ExprSetHeightAndFlags(pParse, yymsp[-4].minor.yy590); |
| 178802 | 178908 | }else{ |
| 178803 | | - sqlite3ExprListDelete(pParse->db, yymsp[-2].minor.yy14); |
| 178804 | | - sqlite3ExprDelete(pParse->db, yymsp[-1].minor.yy454); |
| 178909 | + sqlite3ExprListDelete(pParse->db, yymsp[-2].minor.yy402); |
| 178910 | + sqlite3ExprDelete(pParse->db, yymsp[-1].minor.yy590); |
| 178805 | 178911 | } |
| 178806 | 178912 | } |
| 178807 | 178913 | break; |
| 178808 | 178914 | case 229: /* case_exprlist ::= case_exprlist WHEN expr THEN expr */ |
| 178809 | 178915 | { |
| 178810 | | - yymsp[-4].minor.yy14 = sqlite3ExprListAppend(pParse,yymsp[-4].minor.yy14, yymsp[-2].minor.yy454); |
| 178811 | | - yymsp[-4].minor.yy14 = sqlite3ExprListAppend(pParse,yymsp[-4].minor.yy14, yymsp[0].minor.yy454); |
| 178916 | + yymsp[-4].minor.yy402 = sqlite3ExprListAppend(pParse,yymsp[-4].minor.yy402, yymsp[-2].minor.yy590); |
| 178917 | + yymsp[-4].minor.yy402 = sqlite3ExprListAppend(pParse,yymsp[-4].minor.yy402, yymsp[0].minor.yy590); |
| 178812 | 178918 | } |
| 178813 | 178919 | break; |
| 178814 | 178920 | case 230: /* case_exprlist ::= WHEN expr THEN expr */ |
| 178815 | 178921 | { |
| 178816 | | - yymsp[-3].minor.yy14 = sqlite3ExprListAppend(pParse,0, yymsp[-2].minor.yy454); |
| 178817 | | - yymsp[-3].minor.yy14 = sqlite3ExprListAppend(pParse,yymsp[-3].minor.yy14, yymsp[0].minor.yy454); |
| 178922 | + yymsp[-3].minor.yy402 = sqlite3ExprListAppend(pParse,0, yymsp[-2].minor.yy590); |
| 178923 | + yymsp[-3].minor.yy402 = sqlite3ExprListAppend(pParse,yymsp[-3].minor.yy402, yymsp[0].minor.yy590); |
| 178818 | 178924 | } |
| 178819 | 178925 | break; |
| 178820 | 178926 | case 235: /* nexprlist ::= nexprlist COMMA expr */ |
| 178821 | | -{yymsp[-2].minor.yy14 = sqlite3ExprListAppend(pParse,yymsp[-2].minor.yy14,yymsp[0].minor.yy454);} |
| 178927 | +{yymsp[-2].minor.yy402 = sqlite3ExprListAppend(pParse,yymsp[-2].minor.yy402,yymsp[0].minor.yy590);} |
| 178822 | 178928 | break; |
| 178823 | 178929 | case 236: /* nexprlist ::= expr */ |
| 178824 | | -{yymsp[0].minor.yy14 = sqlite3ExprListAppend(pParse,0,yymsp[0].minor.yy454); /*A-overwrites-Y*/} |
| 178930 | +{yymsp[0].minor.yy402 = sqlite3ExprListAppend(pParse,0,yymsp[0].minor.yy590); /*A-overwrites-Y*/} |
| 178825 | 178931 | break; |
| 178826 | 178932 | case 238: /* paren_exprlist ::= LP exprlist RP */ |
| 178827 | 178933 | case 243: /* eidlist_opt ::= LP eidlist RP */ yytestcase(yyruleno==243); |
| 178828 | | -{yymsp[-2].minor.yy14 = yymsp[-1].minor.yy14;} |
| 178934 | +{yymsp[-2].minor.yy402 = yymsp[-1].minor.yy402;} |
| 178829 | 178935 | break; |
| 178830 | 178936 | case 239: /* cmd ::= createkw uniqueflag INDEX ifnotexists nm dbnm ON nm LP sortlist RP where_opt */ |
| 178831 | 178937 | { |
| 178832 | 178938 | sqlite3CreateIndex(pParse, &yymsp[-7].minor.yy0, &yymsp[-6].minor.yy0, |
| 178833 | | - sqlite3SrcListAppend(pParse,0,&yymsp[-4].minor.yy0,0), yymsp[-2].minor.yy14, yymsp[-10].minor.yy144, |
| 178834 | | - &yymsp[-11].minor.yy0, yymsp[0].minor.yy454, SQLITE_SO_ASC, yymsp[-8].minor.yy144, SQLITE_IDXTYPE_APPDEF); |
| 178939 | + sqlite3SrcListAppend(pParse,0,&yymsp[-4].minor.yy0,0), yymsp[-2].minor.yy402, yymsp[-10].minor.yy502, |
| 178940 | + &yymsp[-11].minor.yy0, yymsp[0].minor.yy590, SQLITE_SO_ASC, yymsp[-8].minor.yy502, SQLITE_IDXTYPE_APPDEF); |
| 178835 | 178941 | if( IN_RENAME_OBJECT && pParse->pNewIndex ){ |
| 178836 | 178942 | sqlite3RenameTokenMap(pParse, pParse->pNewIndex->zName, &yymsp[-4].minor.yy0); |
| 178837 | 178943 | } |
| 178838 | 178944 | } |
| 178839 | 178945 | break; |
| 178840 | 178946 | case 240: /* uniqueflag ::= UNIQUE */ |
| 178841 | 178947 | case 282: /* raisetype ::= ABORT */ yytestcase(yyruleno==282); |
| 178842 | | -{yymsp[0].minor.yy144 = OE_Abort;} |
| 178948 | +{yymsp[0].minor.yy502 = OE_Abort;} |
| 178843 | 178949 | break; |
| 178844 | 178950 | case 241: /* uniqueflag ::= */ |
| 178845 | | -{yymsp[1].minor.yy144 = OE_None;} |
| 178951 | +{yymsp[1].minor.yy502 = OE_None;} |
| 178846 | 178952 | break; |
| 178847 | 178953 | case 244: /* eidlist ::= eidlist COMMA nm collate sortorder */ |
| 178848 | 178954 | { |
| 178849 | | - yymsp[-4].minor.yy14 = parserAddExprIdListTerm(pParse, yymsp[-4].minor.yy14, &yymsp[-2].minor.yy0, yymsp[-1].minor.yy144, yymsp[0].minor.yy144); |
| 178955 | + yymsp[-4].minor.yy402 = parserAddExprIdListTerm(pParse, yymsp[-4].minor.yy402, &yymsp[-2].minor.yy0, yymsp[-1].minor.yy502, yymsp[0].minor.yy502); |
| 178850 | 178956 | } |
| 178851 | 178957 | break; |
| 178852 | 178958 | case 245: /* eidlist ::= nm collate sortorder */ |
| 178853 | 178959 | { |
| 178854 | | - yymsp[-2].minor.yy14 = parserAddExprIdListTerm(pParse, 0, &yymsp[-2].minor.yy0, yymsp[-1].minor.yy144, yymsp[0].minor.yy144); /*A-overwrites-Y*/ |
| 178960 | + yymsp[-2].minor.yy402 = parserAddExprIdListTerm(pParse, 0, &yymsp[-2].minor.yy0, yymsp[-1].minor.yy502, yymsp[0].minor.yy502); /*A-overwrites-Y*/ |
| 178855 | 178961 | } |
| 178856 | 178962 | break; |
| 178857 | 178963 | case 248: /* cmd ::= DROP INDEX ifexists fullname */ |
| 178858 | | -{sqlite3DropIndex(pParse, yymsp[0].minor.yy203, yymsp[-1].minor.yy144);} |
| 178964 | +{sqlite3DropIndex(pParse, yymsp[0].minor.yy563, yymsp[-1].minor.yy502);} |
| 178859 | 178965 | break; |
| 178860 | 178966 | case 249: /* cmd ::= VACUUM vinto */ |
| 178861 | | -{sqlite3Vacuum(pParse,0,yymsp[0].minor.yy454);} |
| 178967 | +{sqlite3Vacuum(pParse,0,yymsp[0].minor.yy590);} |
| 178862 | 178968 | break; |
| 178863 | 178969 | case 250: /* cmd ::= VACUUM nm vinto */ |
| 178864 | | -{sqlite3Vacuum(pParse,&yymsp[-1].minor.yy0,yymsp[0].minor.yy454);} |
| 178970 | +{sqlite3Vacuum(pParse,&yymsp[-1].minor.yy0,yymsp[0].minor.yy590);} |
| 178865 | 178971 | break; |
| 178866 | 178972 | case 253: /* cmd ::= PRAGMA nm dbnm */ |
| 178867 | 178973 | {sqlite3Pragma(pParse,&yymsp[-1].minor.yy0,&yymsp[0].minor.yy0,0,0);} |
| 178868 | 178974 | break; |
| 178869 | 178975 | case 254: /* cmd ::= PRAGMA nm dbnm EQ nmnum */ |
| | @@ -178881,54 +178987,54 @@ |
| 178881 | 178987 | case 260: /* cmd ::= createkw trigger_decl BEGIN trigger_cmd_list END */ |
| 178882 | 178988 | { |
| 178883 | 178989 | Token all; |
| 178884 | 178990 | all.z = yymsp[-3].minor.yy0.z; |
| 178885 | 178991 | all.n = (int)(yymsp[0].minor.yy0.z - yymsp[-3].minor.yy0.z) + yymsp[0].minor.yy0.n; |
| 178886 | | - sqlite3FinishTrigger(pParse, yymsp[-1].minor.yy427, &all); |
| 178992 | + sqlite3FinishTrigger(pParse, yymsp[-1].minor.yy319, &all); |
| 178887 | 178993 | } |
| 178888 | 178994 | break; |
| 178889 | 178995 | case 261: /* trigger_decl ::= temp TRIGGER ifnotexists nm dbnm trigger_time trigger_event ON fullname foreach_clause when_clause */ |
| 178890 | 178996 | { |
| 178891 | | - sqlite3BeginTrigger(pParse, &yymsp[-7].minor.yy0, &yymsp[-6].minor.yy0, yymsp[-5].minor.yy144, yymsp[-4].minor.yy286.a, yymsp[-4].minor.yy286.b, yymsp[-2].minor.yy203, yymsp[0].minor.yy454, yymsp[-10].minor.yy144, yymsp[-8].minor.yy144); |
| 178997 | + sqlite3BeginTrigger(pParse, &yymsp[-7].minor.yy0, &yymsp[-6].minor.yy0, yymsp[-5].minor.yy502, yymsp[-4].minor.yy28.a, yymsp[-4].minor.yy28.b, yymsp[-2].minor.yy563, yymsp[0].minor.yy590, yymsp[-10].minor.yy502, yymsp[-8].minor.yy502); |
| 178892 | 178998 | yymsp[-10].minor.yy0 = (yymsp[-6].minor.yy0.n==0?yymsp[-7].minor.yy0:yymsp[-6].minor.yy0); /*A-overwrites-T*/ |
| 178893 | 178999 | } |
| 178894 | 179000 | break; |
| 178895 | 179001 | case 262: /* trigger_time ::= BEFORE|AFTER */ |
| 178896 | | -{ yymsp[0].minor.yy144 = yymsp[0].major; /*A-overwrites-X*/ } |
| 179002 | +{ yymsp[0].minor.yy502 = yymsp[0].major; /*A-overwrites-X*/ } |
| 178897 | 179003 | break; |
| 178898 | 179004 | case 263: /* trigger_time ::= INSTEAD OF */ |
| 178899 | | -{ yymsp[-1].minor.yy144 = TK_INSTEAD;} |
| 179005 | +{ yymsp[-1].minor.yy502 = TK_INSTEAD;} |
| 178900 | 179006 | break; |
| 178901 | 179007 | case 264: /* trigger_time ::= */ |
| 178902 | | -{ yymsp[1].minor.yy144 = TK_BEFORE; } |
| 179008 | +{ yymsp[1].minor.yy502 = TK_BEFORE; } |
| 178903 | 179009 | break; |
| 178904 | 179010 | case 265: /* trigger_event ::= DELETE|INSERT */ |
| 178905 | 179011 | case 266: /* trigger_event ::= UPDATE */ yytestcase(yyruleno==266); |
| 178906 | | -{yymsp[0].minor.yy286.a = yymsp[0].major; /*A-overwrites-X*/ yymsp[0].minor.yy286.b = 0;} |
| 179012 | +{yymsp[0].minor.yy28.a = yymsp[0].major; /*A-overwrites-X*/ yymsp[0].minor.yy28.b = 0;} |
| 178907 | 179013 | break; |
| 178908 | 179014 | case 267: /* trigger_event ::= UPDATE OF idlist */ |
| 178909 | | -{yymsp[-2].minor.yy286.a = TK_UPDATE; yymsp[-2].minor.yy286.b = yymsp[0].minor.yy132;} |
| 179015 | +{yymsp[-2].minor.yy28.a = TK_UPDATE; yymsp[-2].minor.yy28.b = yymsp[0].minor.yy204;} |
| 178910 | 179016 | break; |
| 178911 | 179017 | case 268: /* when_clause ::= */ |
| 178912 | 179018 | case 287: /* key_opt ::= */ yytestcase(yyruleno==287); |
| 178913 | | -{ yymsp[1].minor.yy454 = 0; } |
| 179019 | +{ yymsp[1].minor.yy590 = 0; } |
| 178914 | 179020 | break; |
| 178915 | 179021 | case 269: /* when_clause ::= WHEN expr */ |
| 178916 | 179022 | case 288: /* key_opt ::= KEY expr */ yytestcase(yyruleno==288); |
| 178917 | | -{ yymsp[-1].minor.yy454 = yymsp[0].minor.yy454; } |
| 179023 | +{ yymsp[-1].minor.yy590 = yymsp[0].minor.yy590; } |
| 178918 | 179024 | break; |
| 178919 | 179025 | case 270: /* trigger_cmd_list ::= trigger_cmd_list trigger_cmd SEMI */ |
| 178920 | 179026 | { |
| 178921 | | - assert( yymsp[-2].minor.yy427!=0 ); |
| 178922 | | - yymsp[-2].minor.yy427->pLast->pNext = yymsp[-1].minor.yy427; |
| 178923 | | - yymsp[-2].minor.yy427->pLast = yymsp[-1].minor.yy427; |
| 179027 | + assert( yymsp[-2].minor.yy319!=0 ); |
| 179028 | + yymsp[-2].minor.yy319->pLast->pNext = yymsp[-1].minor.yy319; |
| 179029 | + yymsp[-2].minor.yy319->pLast = yymsp[-1].minor.yy319; |
| 178924 | 179030 | } |
| 178925 | 179031 | break; |
| 178926 | 179032 | case 271: /* trigger_cmd_list ::= trigger_cmd SEMI */ |
| 178927 | 179033 | { |
| 178928 | | - assert( yymsp[-1].minor.yy427!=0 ); |
| 178929 | | - yymsp[-1].minor.yy427->pLast = yymsp[-1].minor.yy427; |
| 179034 | + assert( yymsp[-1].minor.yy319!=0 ); |
| 179035 | + yymsp[-1].minor.yy319->pLast = yymsp[-1].minor.yy319; |
| 178930 | 179036 | } |
| 178931 | 179037 | break; |
| 178932 | 179038 | case 272: /* trnm ::= nm DOT nm */ |
| 178933 | 179039 | { |
| 178934 | 179040 | yymsp[-2].minor.yy0 = yymsp[0].minor.yy0; |
| | @@ -178950,62 +179056,62 @@ |
| 178950 | 179056 | "the NOT INDEXED clause is not allowed on UPDATE or DELETE statements " |
| 178951 | 179057 | "within triggers"); |
| 178952 | 179058 | } |
| 178953 | 179059 | break; |
| 178954 | 179060 | case 275: /* trigger_cmd ::= UPDATE orconf trnm tridxby SET setlist from where_opt scanpt */ |
| 178955 | | -{yylhsminor.yy427 = sqlite3TriggerUpdateStep(pParse, &yymsp[-6].minor.yy0, yymsp[-2].minor.yy203, yymsp[-3].minor.yy14, yymsp[-1].minor.yy454, yymsp[-7].minor.yy144, yymsp[-8].minor.yy0.z, yymsp[0].minor.yy168);} |
| 178956 | | - yymsp[-8].minor.yy427 = yylhsminor.yy427; |
| 179061 | +{yylhsminor.yy319 = sqlite3TriggerUpdateStep(pParse, &yymsp[-6].minor.yy0, yymsp[-2].minor.yy563, yymsp[-3].minor.yy402, yymsp[-1].minor.yy590, yymsp[-7].minor.yy502, yymsp[-8].minor.yy0.z, yymsp[0].minor.yy342);} |
| 179062 | + yymsp[-8].minor.yy319 = yylhsminor.yy319; |
| 178957 | 179063 | break; |
| 178958 | 179064 | case 276: /* trigger_cmd ::= scanpt insert_cmd INTO trnm idlist_opt select upsert scanpt */ |
| 178959 | 179065 | { |
| 178960 | | - yylhsminor.yy427 = sqlite3TriggerInsertStep(pParse,&yymsp[-4].minor.yy0,yymsp[-3].minor.yy132,yymsp[-2].minor.yy555,yymsp[-6].minor.yy144,yymsp[-1].minor.yy122,yymsp[-7].minor.yy168,yymsp[0].minor.yy168);/*yylhsminor.yy427-overwrites-yymsp[-6].minor.yy144*/ |
| 179066 | + yylhsminor.yy319 = sqlite3TriggerInsertStep(pParse,&yymsp[-4].minor.yy0,yymsp[-3].minor.yy204,yymsp[-2].minor.yy637,yymsp[-6].minor.yy502,yymsp[-1].minor.yy403,yymsp[-7].minor.yy342,yymsp[0].minor.yy342);/*yylhsminor.yy319-overwrites-yymsp[-6].minor.yy502*/ |
| 178961 | 179067 | } |
| 178962 | | - yymsp[-7].minor.yy427 = yylhsminor.yy427; |
| 179068 | + yymsp[-7].minor.yy319 = yylhsminor.yy319; |
| 178963 | 179069 | break; |
| 178964 | 179070 | case 277: /* trigger_cmd ::= DELETE FROM trnm tridxby where_opt scanpt */ |
| 178965 | | -{yylhsminor.yy427 = sqlite3TriggerDeleteStep(pParse, &yymsp[-3].minor.yy0, yymsp[-1].minor.yy454, yymsp[-5].minor.yy0.z, yymsp[0].minor.yy168);} |
| 178966 | | - yymsp[-5].minor.yy427 = yylhsminor.yy427; |
| 179071 | +{yylhsminor.yy319 = sqlite3TriggerDeleteStep(pParse, &yymsp[-3].minor.yy0, yymsp[-1].minor.yy590, yymsp[-5].minor.yy0.z, yymsp[0].minor.yy342);} |
| 179072 | + yymsp[-5].minor.yy319 = yylhsminor.yy319; |
| 178967 | 179073 | break; |
| 178968 | 179074 | case 278: /* trigger_cmd ::= scanpt select scanpt */ |
| 178969 | | -{yylhsminor.yy427 = sqlite3TriggerSelectStep(pParse->db, yymsp[-1].minor.yy555, yymsp[-2].minor.yy168, yymsp[0].minor.yy168); /*yylhsminor.yy427-overwrites-yymsp[-1].minor.yy555*/} |
| 178970 | | - yymsp[-2].minor.yy427 = yylhsminor.yy427; |
| 179075 | +{yylhsminor.yy319 = sqlite3TriggerSelectStep(pParse->db, yymsp[-1].minor.yy637, yymsp[-2].minor.yy342, yymsp[0].minor.yy342); /*yylhsminor.yy319-overwrites-yymsp[-1].minor.yy637*/} |
| 179076 | + yymsp[-2].minor.yy319 = yylhsminor.yy319; |
| 178971 | 179077 | break; |
| 178972 | 179078 | case 279: /* expr ::= RAISE LP IGNORE RP */ |
| 178973 | 179079 | { |
| 178974 | | - yymsp[-3].minor.yy454 = sqlite3PExpr(pParse, TK_RAISE, 0, 0); |
| 178975 | | - if( yymsp[-3].minor.yy454 ){ |
| 178976 | | - yymsp[-3].minor.yy454->affExpr = OE_Ignore; |
| 179080 | + yymsp[-3].minor.yy590 = sqlite3PExpr(pParse, TK_RAISE, 0, 0); |
| 179081 | + if( yymsp[-3].minor.yy590 ){ |
| 179082 | + yymsp[-3].minor.yy590->affExpr = OE_Ignore; |
| 178977 | 179083 | } |
| 178978 | 179084 | } |
| 178979 | 179085 | break; |
| 178980 | 179086 | case 280: /* expr ::= RAISE LP raisetype COMMA expr RP */ |
| 178981 | 179087 | { |
| 178982 | | - yymsp[-5].minor.yy454 = sqlite3PExpr(pParse, TK_RAISE, yymsp[-1].minor.yy454, 0); |
| 178983 | | - if( yymsp[-5].minor.yy454 ) { |
| 178984 | | - yymsp[-5].minor.yy454->affExpr = (char)yymsp[-3].minor.yy144; |
| 179088 | + yymsp[-5].minor.yy590 = sqlite3PExpr(pParse, TK_RAISE, yymsp[-1].minor.yy590, 0); |
| 179089 | + if( yymsp[-5].minor.yy590 ) { |
| 179090 | + yymsp[-5].minor.yy590->affExpr = (char)yymsp[-3].minor.yy502; |
| 178985 | 179091 | } |
| 178986 | 179092 | } |
| 178987 | 179093 | break; |
| 178988 | 179094 | case 281: /* raisetype ::= ROLLBACK */ |
| 178989 | | -{yymsp[0].minor.yy144 = OE_Rollback;} |
| 179095 | +{yymsp[0].minor.yy502 = OE_Rollback;} |
| 178990 | 179096 | break; |
| 178991 | 179097 | case 283: /* raisetype ::= FAIL */ |
| 178992 | | -{yymsp[0].minor.yy144 = OE_Fail;} |
| 179098 | +{yymsp[0].minor.yy502 = OE_Fail;} |
| 178993 | 179099 | break; |
| 178994 | 179100 | case 284: /* cmd ::= DROP TRIGGER ifexists fullname */ |
| 178995 | 179101 | { |
| 178996 | | - sqlite3DropTrigger(pParse,yymsp[0].minor.yy203,yymsp[-1].minor.yy144); |
| 179102 | + sqlite3DropTrigger(pParse,yymsp[0].minor.yy563,yymsp[-1].minor.yy502); |
| 178997 | 179103 | } |
| 178998 | 179104 | break; |
| 178999 | 179105 | case 285: /* cmd ::= ATTACH database_kw_opt expr AS expr key_opt */ |
| 179000 | 179106 | { |
| 179001 | | - sqlite3Attach(pParse, yymsp[-3].minor.yy454, yymsp[-1].minor.yy454, yymsp[0].minor.yy454); |
| 179107 | + sqlite3Attach(pParse, yymsp[-3].minor.yy590, yymsp[-1].minor.yy590, yymsp[0].minor.yy590); |
| 179002 | 179108 | } |
| 179003 | 179109 | break; |
| 179004 | 179110 | case 286: /* cmd ::= DETACH database_kw_opt expr */ |
| 179005 | 179111 | { |
| 179006 | | - sqlite3Detach(pParse, yymsp[0].minor.yy454); |
| 179112 | + sqlite3Detach(pParse, yymsp[0].minor.yy590); |
| 179007 | 179113 | } |
| 179008 | 179114 | break; |
| 179009 | 179115 | case 289: /* cmd ::= REINDEX */ |
| 179010 | 179116 | {sqlite3Reindex(pParse, 0, 0);} |
| 179011 | 179117 | break; |
| | @@ -179018,11 +179124,11 @@ |
| 179018 | 179124 | case 292: /* cmd ::= ANALYZE nm dbnm */ |
| 179019 | 179125 | {sqlite3Analyze(pParse, &yymsp[-1].minor.yy0, &yymsp[0].minor.yy0);} |
| 179020 | 179126 | break; |
| 179021 | 179127 | case 293: /* cmd ::= ALTER TABLE fullname RENAME TO nm */ |
| 179022 | 179128 | { |
| 179023 | | - sqlite3AlterRenameTable(pParse,yymsp[-3].minor.yy203,&yymsp[0].minor.yy0); |
| 179129 | + sqlite3AlterRenameTable(pParse,yymsp[-3].minor.yy563,&yymsp[0].minor.yy0); |
| 179024 | 179130 | } |
| 179025 | 179131 | break; |
| 179026 | 179132 | case 294: /* cmd ::= ALTER TABLE add_column_fullname ADD kwcolumn_opt columnname carglist */ |
| 179027 | 179133 | { |
| 179028 | 179134 | yymsp[-1].minor.yy0.n = (int)(pParse->sLastToken.z-yymsp[-1].minor.yy0.z) + pParse->sLastToken.n; |
| | @@ -179029,22 +179135,22 @@ |
| 179029 | 179135 | sqlite3AlterFinishAddColumn(pParse, &yymsp[-1].minor.yy0); |
| 179030 | 179136 | } |
| 179031 | 179137 | break; |
| 179032 | 179138 | case 295: /* cmd ::= ALTER TABLE fullname DROP kwcolumn_opt nm */ |
| 179033 | 179139 | { |
| 179034 | | - sqlite3AlterDropColumn(pParse, yymsp[-3].minor.yy203, &yymsp[0].minor.yy0); |
| 179140 | + sqlite3AlterDropColumn(pParse, yymsp[-3].minor.yy563, &yymsp[0].minor.yy0); |
| 179035 | 179141 | } |
| 179036 | 179142 | break; |
| 179037 | 179143 | case 296: /* add_column_fullname ::= fullname */ |
| 179038 | 179144 | { |
| 179039 | 179145 | disableLookaside(pParse); |
| 179040 | | - sqlite3AlterBeginAddColumn(pParse, yymsp[0].minor.yy203); |
| 179146 | + sqlite3AlterBeginAddColumn(pParse, yymsp[0].minor.yy563); |
| 179041 | 179147 | } |
| 179042 | 179148 | break; |
| 179043 | 179149 | case 297: /* cmd ::= ALTER TABLE fullname RENAME kwcolumn_opt nm TO nm */ |
| 179044 | 179150 | { |
| 179045 | | - sqlite3AlterRenameColumn(pParse, yymsp[-5].minor.yy203, &yymsp[-2].minor.yy0, &yymsp[0].minor.yy0); |
| 179151 | + sqlite3AlterRenameColumn(pParse, yymsp[-5].minor.yy563, &yymsp[-2].minor.yy0, &yymsp[0].minor.yy0); |
| 179046 | 179152 | } |
| 179047 | 179153 | break; |
| 179048 | 179154 | case 298: /* cmd ::= create_vtab */ |
| 179049 | 179155 | {sqlite3VtabFinishParse(pParse,0);} |
| 179050 | 179156 | break; |
| | @@ -179051,11 +179157,11 @@ |
| 179051 | 179157 | case 299: /* cmd ::= create_vtab LP vtabarglist RP */ |
| 179052 | 179158 | {sqlite3VtabFinishParse(pParse,&yymsp[0].minor.yy0);} |
| 179053 | 179159 | break; |
| 179054 | 179160 | case 300: /* create_vtab ::= createkw VIRTUAL TABLE ifnotexists nm dbnm USING nm */ |
| 179055 | 179161 | { |
| 179056 | | - sqlite3VtabBeginParse(pParse, &yymsp[-3].minor.yy0, &yymsp[-2].minor.yy0, &yymsp[0].minor.yy0, yymsp[-4].minor.yy144); |
| 179162 | + sqlite3VtabBeginParse(pParse, &yymsp[-3].minor.yy0, &yymsp[-2].minor.yy0, &yymsp[0].minor.yy0, yymsp[-4].minor.yy502); |
| 179057 | 179163 | } |
| 179058 | 179164 | break; |
| 179059 | 179165 | case 301: /* vtabarg ::= */ |
| 179060 | 179166 | {sqlite3VtabArgInit(pParse);} |
| 179061 | 179167 | break; |
| | @@ -179064,185 +179170,185 @@ |
| 179064 | 179170 | case 304: /* lp ::= LP */ yytestcase(yyruleno==304); |
| 179065 | 179171 | {sqlite3VtabArgExtend(pParse,&yymsp[0].minor.yy0);} |
| 179066 | 179172 | break; |
| 179067 | 179173 | case 305: /* with ::= WITH wqlist */ |
| 179068 | 179174 | case 306: /* with ::= WITH RECURSIVE wqlist */ yytestcase(yyruleno==306); |
| 179069 | | -{ sqlite3WithPush(pParse, yymsp[0].minor.yy59, 1); } |
| 179175 | +{ sqlite3WithPush(pParse, yymsp[0].minor.yy125, 1); } |
| 179070 | 179176 | break; |
| 179071 | 179177 | case 307: /* wqas ::= AS */ |
| 179072 | | -{yymsp[0].minor.yy462 = M10d_Any;} |
| 179178 | +{yymsp[0].minor.yy444 = M10d_Any;} |
| 179073 | 179179 | break; |
| 179074 | 179180 | case 308: /* wqas ::= AS MATERIALIZED */ |
| 179075 | | -{yymsp[-1].minor.yy462 = M10d_Yes;} |
| 179181 | +{yymsp[-1].minor.yy444 = M10d_Yes;} |
| 179076 | 179182 | break; |
| 179077 | 179183 | case 309: /* wqas ::= AS NOT MATERIALIZED */ |
| 179078 | | -{yymsp[-2].minor.yy462 = M10d_No;} |
| 179184 | +{yymsp[-2].minor.yy444 = M10d_No;} |
| 179079 | 179185 | break; |
| 179080 | 179186 | case 310: /* wqitem ::= withnm eidlist_opt wqas LP select RP */ |
| 179081 | 179187 | { |
| 179082 | | - yymsp[-5].minor.yy67 = sqlite3CteNew(pParse, &yymsp[-5].minor.yy0, yymsp[-4].minor.yy14, yymsp[-1].minor.yy555, yymsp[-3].minor.yy462); /*A-overwrites-X*/ |
| 179188 | + yymsp[-5].minor.yy361 = sqlite3CteNew(pParse, &yymsp[-5].minor.yy0, yymsp[-4].minor.yy402, yymsp[-1].minor.yy637, yymsp[-3].minor.yy444); /*A-overwrites-X*/ |
| 179083 | 179189 | } |
| 179084 | 179190 | break; |
| 179085 | 179191 | case 311: /* withnm ::= nm */ |
| 179086 | 179192 | {pParse->bHasWith = 1;} |
| 179087 | 179193 | break; |
| 179088 | 179194 | case 312: /* wqlist ::= wqitem */ |
| 179089 | 179195 | { |
| 179090 | | - yymsp[0].minor.yy59 = sqlite3WithAdd(pParse, 0, yymsp[0].minor.yy67); /*A-overwrites-X*/ |
| 179196 | + yymsp[0].minor.yy125 = sqlite3WithAdd(pParse, 0, yymsp[0].minor.yy361); /*A-overwrites-X*/ |
| 179091 | 179197 | } |
| 179092 | 179198 | break; |
| 179093 | 179199 | case 313: /* wqlist ::= wqlist COMMA wqitem */ |
| 179094 | 179200 | { |
| 179095 | | - yymsp[-2].minor.yy59 = sqlite3WithAdd(pParse, yymsp[-2].minor.yy59, yymsp[0].minor.yy67); |
| 179201 | + yymsp[-2].minor.yy125 = sqlite3WithAdd(pParse, yymsp[-2].minor.yy125, yymsp[0].minor.yy361); |
| 179096 | 179202 | } |
| 179097 | 179203 | break; |
| 179098 | 179204 | case 314: /* windowdefn_list ::= windowdefn_list COMMA windowdefn */ |
| 179099 | 179205 | { |
| 179100 | | - assert( yymsp[0].minor.yy211!=0 ); |
| 179101 | | - sqlite3WindowChain(pParse, yymsp[0].minor.yy211, yymsp[-2].minor.yy211); |
| 179102 | | - yymsp[0].minor.yy211->pNextWin = yymsp[-2].minor.yy211; |
| 179103 | | - yylhsminor.yy211 = yymsp[0].minor.yy211; |
| 179206 | + assert( yymsp[0].minor.yy483!=0 ); |
| 179207 | + sqlite3WindowChain(pParse, yymsp[0].minor.yy483, yymsp[-2].minor.yy483); |
| 179208 | + yymsp[0].minor.yy483->pNextWin = yymsp[-2].minor.yy483; |
| 179209 | + yylhsminor.yy483 = yymsp[0].minor.yy483; |
| 179104 | 179210 | } |
| 179105 | | - yymsp[-2].minor.yy211 = yylhsminor.yy211; |
| 179211 | + yymsp[-2].minor.yy483 = yylhsminor.yy483; |
| 179106 | 179212 | break; |
| 179107 | 179213 | case 315: /* windowdefn ::= nm AS LP window RP */ |
| 179108 | 179214 | { |
| 179109 | | - if( ALWAYS(yymsp[-1].minor.yy211) ){ |
| 179110 | | - yymsp[-1].minor.yy211->zName = sqlite3DbStrNDup(pParse->db, yymsp[-4].minor.yy0.z, yymsp[-4].minor.yy0.n); |
| 179215 | + if( ALWAYS(yymsp[-1].minor.yy483) ){ |
| 179216 | + yymsp[-1].minor.yy483->zName = sqlite3DbStrNDup(pParse->db, yymsp[-4].minor.yy0.z, yymsp[-4].minor.yy0.n); |
| 179111 | 179217 | } |
| 179112 | | - yylhsminor.yy211 = yymsp[-1].minor.yy211; |
| 179218 | + yylhsminor.yy483 = yymsp[-1].minor.yy483; |
| 179113 | 179219 | } |
| 179114 | | - yymsp[-4].minor.yy211 = yylhsminor.yy211; |
| 179220 | + yymsp[-4].minor.yy483 = yylhsminor.yy483; |
| 179115 | 179221 | break; |
| 179116 | 179222 | case 316: /* window ::= PARTITION BY nexprlist orderby_opt frame_opt */ |
| 179117 | 179223 | { |
| 179118 | | - yymsp[-4].minor.yy211 = sqlite3WindowAssemble(pParse, yymsp[0].minor.yy211, yymsp[-2].minor.yy14, yymsp[-1].minor.yy14, 0); |
| 179224 | + yymsp[-4].minor.yy483 = sqlite3WindowAssemble(pParse, yymsp[0].minor.yy483, yymsp[-2].minor.yy402, yymsp[-1].minor.yy402, 0); |
| 179119 | 179225 | } |
| 179120 | 179226 | break; |
| 179121 | 179227 | case 317: /* window ::= nm PARTITION BY nexprlist orderby_opt frame_opt */ |
| 179122 | 179228 | { |
| 179123 | | - yylhsminor.yy211 = sqlite3WindowAssemble(pParse, yymsp[0].minor.yy211, yymsp[-2].minor.yy14, yymsp[-1].minor.yy14, &yymsp[-5].minor.yy0); |
| 179229 | + yylhsminor.yy483 = sqlite3WindowAssemble(pParse, yymsp[0].minor.yy483, yymsp[-2].minor.yy402, yymsp[-1].minor.yy402, &yymsp[-5].minor.yy0); |
| 179124 | 179230 | } |
| 179125 | | - yymsp[-5].minor.yy211 = yylhsminor.yy211; |
| 179231 | + yymsp[-5].minor.yy483 = yylhsminor.yy483; |
| 179126 | 179232 | break; |
| 179127 | 179233 | case 318: /* window ::= ORDER BY sortlist frame_opt */ |
| 179128 | 179234 | { |
| 179129 | | - yymsp[-3].minor.yy211 = sqlite3WindowAssemble(pParse, yymsp[0].minor.yy211, 0, yymsp[-1].minor.yy14, 0); |
| 179235 | + yymsp[-3].minor.yy483 = sqlite3WindowAssemble(pParse, yymsp[0].minor.yy483, 0, yymsp[-1].minor.yy402, 0); |
| 179130 | 179236 | } |
| 179131 | 179237 | break; |
| 179132 | 179238 | case 319: /* window ::= nm ORDER BY sortlist frame_opt */ |
| 179133 | 179239 | { |
| 179134 | | - yylhsminor.yy211 = sqlite3WindowAssemble(pParse, yymsp[0].minor.yy211, 0, yymsp[-1].minor.yy14, &yymsp[-4].minor.yy0); |
| 179240 | + yylhsminor.yy483 = sqlite3WindowAssemble(pParse, yymsp[0].minor.yy483, 0, yymsp[-1].minor.yy402, &yymsp[-4].minor.yy0); |
| 179135 | 179241 | } |
| 179136 | | - yymsp[-4].minor.yy211 = yylhsminor.yy211; |
| 179242 | + yymsp[-4].minor.yy483 = yylhsminor.yy483; |
| 179137 | 179243 | break; |
| 179138 | 179244 | case 320: /* window ::= nm frame_opt */ |
| 179139 | 179245 | { |
| 179140 | | - yylhsminor.yy211 = sqlite3WindowAssemble(pParse, yymsp[0].minor.yy211, 0, 0, &yymsp[-1].minor.yy0); |
| 179246 | + yylhsminor.yy483 = sqlite3WindowAssemble(pParse, yymsp[0].minor.yy483, 0, 0, &yymsp[-1].minor.yy0); |
| 179141 | 179247 | } |
| 179142 | | - yymsp[-1].minor.yy211 = yylhsminor.yy211; |
| 179248 | + yymsp[-1].minor.yy483 = yylhsminor.yy483; |
| 179143 | 179249 | break; |
| 179144 | 179250 | case 321: /* frame_opt ::= */ |
| 179145 | 179251 | { |
| 179146 | | - yymsp[1].minor.yy211 = sqlite3WindowAlloc(pParse, 0, TK_UNBOUNDED, 0, TK_CURRENT, 0, 0); |
| 179252 | + yymsp[1].minor.yy483 = sqlite3WindowAlloc(pParse, 0, TK_UNBOUNDED, 0, TK_CURRENT, 0, 0); |
| 179147 | 179253 | } |
| 179148 | 179254 | break; |
| 179149 | 179255 | case 322: /* frame_opt ::= range_or_rows frame_bound_s frame_exclude_opt */ |
| 179150 | 179256 | { |
| 179151 | | - yylhsminor.yy211 = sqlite3WindowAlloc(pParse, yymsp[-2].minor.yy144, yymsp[-1].minor.yy509.eType, yymsp[-1].minor.yy509.pExpr, TK_CURRENT, 0, yymsp[0].minor.yy462); |
| 179257 | + yylhsminor.yy483 = sqlite3WindowAlloc(pParse, yymsp[-2].minor.yy502, yymsp[-1].minor.yy205.eType, yymsp[-1].minor.yy205.pExpr, TK_CURRENT, 0, yymsp[0].minor.yy444); |
| 179152 | 179258 | } |
| 179153 | | - yymsp[-2].minor.yy211 = yylhsminor.yy211; |
| 179259 | + yymsp[-2].minor.yy483 = yylhsminor.yy483; |
| 179154 | 179260 | break; |
| 179155 | 179261 | case 323: /* frame_opt ::= range_or_rows BETWEEN frame_bound_s AND frame_bound_e frame_exclude_opt */ |
| 179156 | 179262 | { |
| 179157 | | - yylhsminor.yy211 = sqlite3WindowAlloc(pParse, yymsp[-5].minor.yy144, yymsp[-3].minor.yy509.eType, yymsp[-3].minor.yy509.pExpr, yymsp[-1].minor.yy509.eType, yymsp[-1].minor.yy509.pExpr, yymsp[0].minor.yy462); |
| 179263 | + yylhsminor.yy483 = sqlite3WindowAlloc(pParse, yymsp[-5].minor.yy502, yymsp[-3].minor.yy205.eType, yymsp[-3].minor.yy205.pExpr, yymsp[-1].minor.yy205.eType, yymsp[-1].minor.yy205.pExpr, yymsp[0].minor.yy444); |
| 179158 | 179264 | } |
| 179159 | | - yymsp[-5].minor.yy211 = yylhsminor.yy211; |
| 179265 | + yymsp[-5].minor.yy483 = yylhsminor.yy483; |
| 179160 | 179266 | break; |
| 179161 | 179267 | case 325: /* frame_bound_s ::= frame_bound */ |
| 179162 | 179268 | case 327: /* frame_bound_e ::= frame_bound */ yytestcase(yyruleno==327); |
| 179163 | | -{yylhsminor.yy509 = yymsp[0].minor.yy509;} |
| 179164 | | - yymsp[0].minor.yy509 = yylhsminor.yy509; |
| 179269 | +{yylhsminor.yy205 = yymsp[0].minor.yy205;} |
| 179270 | + yymsp[0].minor.yy205 = yylhsminor.yy205; |
| 179165 | 179271 | break; |
| 179166 | 179272 | case 326: /* frame_bound_s ::= UNBOUNDED PRECEDING */ |
| 179167 | 179273 | case 328: /* frame_bound_e ::= UNBOUNDED FOLLOWING */ yytestcase(yyruleno==328); |
| 179168 | 179274 | case 330: /* frame_bound ::= CURRENT ROW */ yytestcase(yyruleno==330); |
| 179169 | | -{yylhsminor.yy509.eType = yymsp[-1].major; yylhsminor.yy509.pExpr = 0;} |
| 179170 | | - yymsp[-1].minor.yy509 = yylhsminor.yy509; |
| 179275 | +{yylhsminor.yy205.eType = yymsp[-1].major; yylhsminor.yy205.pExpr = 0;} |
| 179276 | + yymsp[-1].minor.yy205 = yylhsminor.yy205; |
| 179171 | 179277 | break; |
| 179172 | 179278 | case 329: /* frame_bound ::= expr PRECEDING|FOLLOWING */ |
| 179173 | | -{yylhsminor.yy509.eType = yymsp[0].major; yylhsminor.yy509.pExpr = yymsp[-1].minor.yy454;} |
| 179174 | | - yymsp[-1].minor.yy509 = yylhsminor.yy509; |
| 179279 | +{yylhsminor.yy205.eType = yymsp[0].major; yylhsminor.yy205.pExpr = yymsp[-1].minor.yy590;} |
| 179280 | + yymsp[-1].minor.yy205 = yylhsminor.yy205; |
| 179175 | 179281 | break; |
| 179176 | 179282 | case 331: /* frame_exclude_opt ::= */ |
| 179177 | | -{yymsp[1].minor.yy462 = 0;} |
| 179283 | +{yymsp[1].minor.yy444 = 0;} |
| 179178 | 179284 | break; |
| 179179 | 179285 | case 332: /* frame_exclude_opt ::= EXCLUDE frame_exclude */ |
| 179180 | | -{yymsp[-1].minor.yy462 = yymsp[0].minor.yy462;} |
| 179286 | +{yymsp[-1].minor.yy444 = yymsp[0].minor.yy444;} |
| 179181 | 179287 | break; |
| 179182 | 179288 | case 333: /* frame_exclude ::= NO OTHERS */ |
| 179183 | 179289 | case 334: /* frame_exclude ::= CURRENT ROW */ yytestcase(yyruleno==334); |
| 179184 | | -{yymsp[-1].minor.yy462 = yymsp[-1].major; /*A-overwrites-X*/} |
| 179290 | +{yymsp[-1].minor.yy444 = yymsp[-1].major; /*A-overwrites-X*/} |
| 179185 | 179291 | break; |
| 179186 | 179292 | case 335: /* frame_exclude ::= GROUP|TIES */ |
| 179187 | | -{yymsp[0].minor.yy462 = yymsp[0].major; /*A-overwrites-X*/} |
| 179293 | +{yymsp[0].minor.yy444 = yymsp[0].major; /*A-overwrites-X*/} |
| 179188 | 179294 | break; |
| 179189 | 179295 | case 336: /* window_clause ::= WINDOW windowdefn_list */ |
| 179190 | | -{ yymsp[-1].minor.yy211 = yymsp[0].minor.yy211; } |
| 179296 | +{ yymsp[-1].minor.yy483 = yymsp[0].minor.yy483; } |
| 179191 | 179297 | break; |
| 179192 | 179298 | case 337: /* filter_over ::= filter_clause over_clause */ |
| 179193 | 179299 | { |
| 179194 | | - if( yymsp[0].minor.yy211 ){ |
| 179195 | | - yymsp[0].minor.yy211->pFilter = yymsp[-1].minor.yy454; |
| 179300 | + if( yymsp[0].minor.yy483 ){ |
| 179301 | + yymsp[0].minor.yy483->pFilter = yymsp[-1].minor.yy590; |
| 179196 | 179302 | }else{ |
| 179197 | | - sqlite3ExprDelete(pParse->db, yymsp[-1].minor.yy454); |
| 179303 | + sqlite3ExprDelete(pParse->db, yymsp[-1].minor.yy590); |
| 179198 | 179304 | } |
| 179199 | | - yylhsminor.yy211 = yymsp[0].minor.yy211; |
| 179305 | + yylhsminor.yy483 = yymsp[0].minor.yy483; |
| 179200 | 179306 | } |
| 179201 | | - yymsp[-1].minor.yy211 = yylhsminor.yy211; |
| 179307 | + yymsp[-1].minor.yy483 = yylhsminor.yy483; |
| 179202 | 179308 | break; |
| 179203 | 179309 | case 338: /* filter_over ::= over_clause */ |
| 179204 | 179310 | { |
| 179205 | | - yylhsminor.yy211 = yymsp[0].minor.yy211; |
| 179311 | + yylhsminor.yy483 = yymsp[0].minor.yy483; |
| 179206 | 179312 | } |
| 179207 | | - yymsp[0].minor.yy211 = yylhsminor.yy211; |
| 179313 | + yymsp[0].minor.yy483 = yylhsminor.yy483; |
| 179208 | 179314 | break; |
| 179209 | 179315 | case 339: /* filter_over ::= filter_clause */ |
| 179210 | 179316 | { |
| 179211 | | - yylhsminor.yy211 = (Window*)sqlite3DbMallocZero(pParse->db, sizeof(Window)); |
| 179212 | | - if( yylhsminor.yy211 ){ |
| 179213 | | - yylhsminor.yy211->eFrmType = TK_FILTER; |
| 179214 | | - yylhsminor.yy211->pFilter = yymsp[0].minor.yy454; |
| 179317 | + yylhsminor.yy483 = (Window*)sqlite3DbMallocZero(pParse->db, sizeof(Window)); |
| 179318 | + if( yylhsminor.yy483 ){ |
| 179319 | + yylhsminor.yy483->eFrmType = TK_FILTER; |
| 179320 | + yylhsminor.yy483->pFilter = yymsp[0].minor.yy590; |
| 179215 | 179321 | }else{ |
| 179216 | | - sqlite3ExprDelete(pParse->db, yymsp[0].minor.yy454); |
| 179322 | + sqlite3ExprDelete(pParse->db, yymsp[0].minor.yy590); |
| 179217 | 179323 | } |
| 179218 | 179324 | } |
| 179219 | | - yymsp[0].minor.yy211 = yylhsminor.yy211; |
| 179325 | + yymsp[0].minor.yy483 = yylhsminor.yy483; |
| 179220 | 179326 | break; |
| 179221 | 179327 | case 340: /* over_clause ::= OVER LP window RP */ |
| 179222 | 179328 | { |
| 179223 | | - yymsp[-3].minor.yy211 = yymsp[-1].minor.yy211; |
| 179224 | | - assert( yymsp[-3].minor.yy211!=0 ); |
| 179329 | + yymsp[-3].minor.yy483 = yymsp[-1].minor.yy483; |
| 179330 | + assert( yymsp[-3].minor.yy483!=0 ); |
| 179225 | 179331 | } |
| 179226 | 179332 | break; |
| 179227 | 179333 | case 341: /* over_clause ::= OVER nm */ |
| 179228 | 179334 | { |
| 179229 | | - yymsp[-1].minor.yy211 = (Window*)sqlite3DbMallocZero(pParse->db, sizeof(Window)); |
| 179230 | | - if( yymsp[-1].minor.yy211 ){ |
| 179231 | | - yymsp[-1].minor.yy211->zName = sqlite3DbStrNDup(pParse->db, yymsp[0].minor.yy0.z, yymsp[0].minor.yy0.n); |
| 179335 | + yymsp[-1].minor.yy483 = (Window*)sqlite3DbMallocZero(pParse->db, sizeof(Window)); |
| 179336 | + if( yymsp[-1].minor.yy483 ){ |
| 179337 | + yymsp[-1].minor.yy483->zName = sqlite3DbStrNDup(pParse->db, yymsp[0].minor.yy0.z, yymsp[0].minor.yy0.n); |
| 179232 | 179338 | } |
| 179233 | 179339 | } |
| 179234 | 179340 | break; |
| 179235 | 179341 | case 342: /* filter_clause ::= FILTER LP WHERE expr RP */ |
| 179236 | | -{ yymsp[-4].minor.yy454 = yymsp[-1].minor.yy454; } |
| 179342 | +{ yymsp[-4].minor.yy590 = yymsp[-1].minor.yy590; } |
| 179237 | 179343 | break; |
| 179238 | 179344 | case 343: /* term ::= QNUMBER */ |
| 179239 | 179345 | { |
| 179240 | | - yylhsminor.yy454=tokenExpr(pParse,yymsp[0].major,yymsp[0].minor.yy0); |
| 179241 | | - sqlite3DequoteNumber(pParse, yylhsminor.yy454); |
| 179346 | + yylhsminor.yy590=tokenExpr(pParse,yymsp[0].major,yymsp[0].minor.yy0); |
| 179347 | + sqlite3DequoteNumber(pParse, yylhsminor.yy590); |
| 179242 | 179348 | } |
| 179243 | | - yymsp[0].minor.yy454 = yylhsminor.yy454; |
| 179349 | + yymsp[0].minor.yy590 = yylhsminor.yy590; |
| 179244 | 179350 | break; |
| 179245 | 179351 | default: |
| 179246 | 179352 | /* (344) input ::= cmdlist */ yytestcase(yyruleno==344); |
| 179247 | 179353 | /* (345) cmdlist ::= cmdlist ecmd */ yytestcase(yyruleno==345); |
| 179248 | 179354 | /* (346) cmdlist ::= ecmd (OPTIMIZED OUT) */ assert(yyruleno!=346); |
| | @@ -180419,11 +180525,11 @@ |
| 180419 | 180525 | return i; |
| 180420 | 180526 | } |
| 180421 | 180527 | case CC_MINUS: { |
| 180422 | 180528 | if( z[1]=='-' ){ |
| 180423 | 180529 | for(i=2; (c=z[i])!=0 && c!='\n'; i++){} |
| 180424 | | - *tokenType = TK_SPACE; /* IMP: R-22934-25134 */ |
| 180530 | + *tokenType = TK_COMMENT; |
| 180425 | 180531 | return i; |
| 180426 | 180532 | }else if( z[1]=='>' ){ |
| 180427 | 180533 | *tokenType = TK_PTR; |
| 180428 | 180534 | return 2 + (z[2]=='>'); |
| 180429 | 180535 | } |
| | @@ -180455,11 +180561,11 @@ |
| 180455 | 180561 | *tokenType = TK_SLASH; |
| 180456 | 180562 | return 1; |
| 180457 | 180563 | } |
| 180458 | 180564 | for(i=3, c=z[2]; (c!='*' || z[i]!='/') && (c=z[i])!=0; i++){} |
| 180459 | 180565 | if( c ) i++; |
| 180460 | | - *tokenType = TK_SPACE; /* IMP: R-22934-25134 */ |
| 180566 | + *tokenType = TK_COMMENT; |
| 180461 | 180567 | return i; |
| 180462 | 180568 | } |
| 180463 | 180569 | case CC_PERCENT: { |
| 180464 | 180570 | *tokenType = TK_REM; |
| 180465 | 180571 | return 1; |
| | @@ -180784,16 +180890,16 @@ |
| 180784 | 180890 | } |
| 180785 | 180891 | #ifndef SQLITE_OMIT_WINDOWFUNC |
| 180786 | 180892 | if( tokenType>=TK_WINDOW ){ |
| 180787 | 180893 | assert( tokenType==TK_SPACE || tokenType==TK_OVER || tokenType==TK_FILTER |
| 180788 | 180894 | || tokenType==TK_ILLEGAL || tokenType==TK_WINDOW |
| 180789 | | - || tokenType==TK_QNUMBER |
| 180895 | + || tokenType==TK_QNUMBER || tokenType==TK_COMMENT |
| 180790 | 180896 | ); |
| 180791 | 180897 | #else |
| 180792 | 180898 | if( tokenType>=TK_SPACE ){ |
| 180793 | 180899 | assert( tokenType==TK_SPACE || tokenType==TK_ILLEGAL |
| 180794 | | - || tokenType==TK_QNUMBER |
| 180900 | + || tokenType==TK_QNUMBER || tokenType==TK_COMMENT |
| 180795 | 180901 | ); |
| 180796 | 180902 | #endif /* SQLITE_OMIT_WINDOWFUNC */ |
| 180797 | 180903 | if( AtomicLoad(&db->u1.isInterrupted) ){ |
| 180798 | 180904 | pParse->rc = SQLITE_INTERRUPT; |
| 180799 | 180905 | pParse->nErr++; |
| | @@ -180823,10 +180929,13 @@ |
| 180823 | 180929 | tokenType = analyzeOverKeyword((const u8*)&zSql[4], lastTokenParsed); |
| 180824 | 180930 | }else if( tokenType==TK_FILTER ){ |
| 180825 | 180931 | assert( n==6 ); |
| 180826 | 180932 | tokenType = analyzeFilterKeyword((const u8*)&zSql[6], lastTokenParsed); |
| 180827 | 180933 | #endif /* SQLITE_OMIT_WINDOWFUNC */ |
| 180934 | + }else if( tokenType==TK_COMMENT && (db->flags & SQLITE_Comments)!=0 ){ |
| 180935 | + zSql += n; |
| 180936 | + continue; |
| 180828 | 180937 | }else if( tokenType!=TK_QNUMBER ){ |
| 180829 | 180938 | Token x; |
| 180830 | 180939 | x.z = zSql; |
| 180831 | 180940 | x.n = n; |
| 180832 | 180941 | sqlite3ErrorMsg(pParse, "unrecognized token: \"%T\"", &x); |
| | @@ -180929,10 +181038,11 @@ |
| 180929 | 181038 | prevType = tokenType; |
| 180930 | 181039 | } |
| 180931 | 181040 | n = sqlite3GetToken((unsigned char*)zSql+i, &tokenType); |
| 180932 | 181041 | if( NEVER(n<=0) ) break; |
| 180933 | 181042 | switch( tokenType ){ |
| 181043 | + case TK_COMMENT: |
| 180934 | 181044 | case TK_SPACE: { |
| 180935 | 181045 | break; |
| 180936 | 181046 | } |
| 180937 | 181047 | case TK_NULL: { |
| 180938 | 181048 | if( prevType==TK_IS || prevType==TK_NOT ){ |
| | @@ -182370,11 +182480,11 @@ |
| 182370 | 182480 | break; |
| 182371 | 182481 | } |
| 182372 | 182482 | default: { |
| 182373 | 182483 | static const struct { |
| 182374 | 182484 | int op; /* The opcode */ |
| 182375 | | - u32 mask; /* Mask of the bit in sqlite3.flags to set/clear */ |
| 182485 | + u64 mask; /* Mask of the bit in sqlite3.flags to set/clear */ |
| 182376 | 182486 | } aFlagOp[] = { |
| 182377 | 182487 | { SQLITE_DBCONFIG_ENABLE_FKEY, SQLITE_ForeignKeys }, |
| 182378 | 182488 | { SQLITE_DBCONFIG_ENABLE_TRIGGER, SQLITE_EnableTrigger }, |
| 182379 | 182489 | { SQLITE_DBCONFIG_ENABLE_VIEW, SQLITE_EnableView }, |
| 182380 | 182490 | { SQLITE_DBCONFIG_ENABLE_FTS3_TOKENIZER, SQLITE_Fts3Tokenizer }, |
| | @@ -182391,10 +182501,13 @@ |
| 182391 | 182501 | { SQLITE_DBCONFIG_DQS_DML, SQLITE_DqsDML }, |
| 182392 | 182502 | { SQLITE_DBCONFIG_LEGACY_FILE_FORMAT, SQLITE_LegacyFileFmt }, |
| 182393 | 182503 | { SQLITE_DBCONFIG_TRUSTED_SCHEMA, SQLITE_TrustedSchema }, |
| 182394 | 182504 | { SQLITE_DBCONFIG_STMT_SCANSTATUS, SQLITE_StmtScanStatus }, |
| 182395 | 182505 | { SQLITE_DBCONFIG_REVERSE_SCANORDER, SQLITE_ReverseOrder }, |
| 182506 | + { SQLITE_DBCONFIG_ENABLE_ATTACH_CREATE, SQLITE_AttachCreate }, |
| 182507 | + { SQLITE_DBCONFIG_ENABLE_ATTACH_WRITE, SQLITE_AttachWrite }, |
| 182508 | + { SQLITE_DBCONFIG_ENABLE_COMMENTS, SQLITE_Comments }, |
| 182396 | 182509 | }; |
| 182397 | 182510 | unsigned int i; |
| 182398 | 182511 | rc = SQLITE_ERROR; /* IMP: R-42790-23372 */ |
| 182399 | 182512 | for(i=0; i<ArraySize(aFlagOp); i++){ |
| 182400 | 182513 | if( aFlagOp[i].op==op ){ |
| | @@ -184732,10 +184845,13 @@ |
| 184732 | 184845 | #endif |
| 184733 | 184846 | db->flags |= SQLITE_ShortColNames |
| 184734 | 184847 | | SQLITE_EnableTrigger |
| 184735 | 184848 | | SQLITE_EnableView |
| 184736 | 184849 | | SQLITE_CacheSpill |
| 184850 | + | SQLITE_AttachCreate |
| 184851 | + | SQLITE_AttachWrite |
| 184852 | + | SQLITE_Comments |
| 184737 | 184853 | #if !defined(SQLITE_TRUSTED_SCHEMA) || SQLITE_TRUSTED_SCHEMA+0!=0 |
| 184738 | 184854 | | SQLITE_TrustedSchema |
| 184739 | 184855 | #endif |
| 184740 | 184856 | /* The SQLITE_DQS compile-time option determines the default settings |
| 184741 | 184857 | ** for SQLITE_DBCONFIG_DQS_DDL and SQLITE_DBCONFIG_DQS_DML. |
| | @@ -226528,10 +226644,11 @@ |
| 226528 | 226644 | } |
| 226529 | 226645 | sqlite3PagerUnref(pDbPage); |
| 226530 | 226646 | return rc; |
| 226531 | 226647 | |
| 226532 | 226648 | update_fail: |
| 226649 | + pTab->pgnoTrunc = 0; |
| 226533 | 226650 | sqlite3_free(pVtab->zErrMsg); |
| 226534 | 226651 | pVtab->zErrMsg = sqlite3_mprintf("%s", zErr); |
| 226535 | 226652 | return SQLITE_ERROR; |
| 226536 | 226653 | } |
| 226537 | 226654 | |
| | @@ -255689,11 +255806,11 @@ |
| 255689 | 255806 | int nArg, /* Number of args */ |
| 255690 | 255807 | sqlite3_value **apUnused /* Function arguments */ |
| 255691 | 255808 | ){ |
| 255692 | 255809 | assert( nArg==0 ); |
| 255693 | 255810 | UNUSED_PARAM2(nArg, apUnused); |
| 255694 | | - sqlite3_result_text(pCtx, "fts5: 2025-01-29 18:53:19 d7c07581203a0a88456588e49e51b40a8341b0e7121809f75be0ee882d91650f", -1, SQLITE_TRANSIENT); |
| 255811 | + sqlite3_result_text(pCtx, "fts5: 2025-02-01 23:49:01 4068f586ddadd3a818645574f7584fcee6d373dbf45805c545100883b495598a", -1, SQLITE_TRANSIENT); |
| 255695 | 255812 | } |
| 255696 | 255813 | |
| 255697 | 255814 | /* |
| 255698 | 255815 | ** Implementation of fts5_locale(LOCALE, TEXT) function. |
| 255699 | 255816 | ** |
| 255700 | 255817 | |