mirror of
https://github.com/oven-sh/bun
synced 2026-02-02 15:08:46 +00:00
fix(sqlite) enable order by and limit in delete/update statements on windows (#23227)
### What does this PR do? Enable compiler flags Update SQLite amalgamation using https://www.sqlite.org/download.html source code [sqlite-src-3500400.zip](https://www.sqlite.org/2025/sqlite-src-3500400.zip) with: ```bash ./configure CFLAGS="-DSQLITE_ENABLE_UPDATE_DELETE_LIMIT" make sqlite3.c ``` This is the same version that before just with this adicional flag that must be enabled when generating the amalgamation so we are actually able to use this option. You can also see that without this the build will happen but the feature will not be enable https://buildkite.com/bun/bun/builds/27940, as informed in https://www.sqlite.org/howtocompile.html topic 5. ### How did you verify your code works? Add in CI two tests that check if the feature is enabled on windows --------- Co-authored-by: Claude Bot <claude-bot@bun.sh> Co-authored-by: Claude <noreply@anthropic.com>
This commit is contained in:
19
.github/workflows/update-sqlite3.yml
vendored
19
.github/workflows/update-sqlite3.yml
vendored
@@ -70,24 +70,7 @@ jobs:
|
|||||||
- name: Update SQLite if needed
|
- name: Update SQLite if needed
|
||||||
if: success() && steps.check-version.outputs.current_num < steps.check-version.outputs.latest_num
|
if: success() && steps.check-version.outputs.current_num < steps.check-version.outputs.latest_num
|
||||||
run: |
|
run: |
|
||||||
set -euo pipefail
|
./scripts/update-sqlite-amalgamation.sh ${{ steps.check-version.outputs.latest_num }} ${{ steps.check-version.outputs.latest_year }}
|
||||||
|
|
||||||
TEMP_DIR=$(mktemp -d)
|
|
||||||
cd $TEMP_DIR
|
|
||||||
|
|
||||||
echo "Downloading from: https://sqlite.org/${{ steps.check-version.outputs.latest_year }}/sqlite-amalgamation-${{ steps.check-version.outputs.latest_num }}.zip"
|
|
||||||
|
|
||||||
# Download and extract latest version
|
|
||||||
wget "https://sqlite.org/${{ steps.check-version.outputs.latest_year }}/sqlite-amalgamation-${{ steps.check-version.outputs.latest_num }}.zip"
|
|
||||||
unzip "sqlite-amalgamation-${{ steps.check-version.outputs.latest_num }}.zip"
|
|
||||||
cd "sqlite-amalgamation-${{ steps.check-version.outputs.latest_num }}"
|
|
||||||
|
|
||||||
# Add header comment and copy files
|
|
||||||
echo "// clang-format off" > $GITHUB_WORKSPACE/src/bun.js/bindings/sqlite/sqlite3.c
|
|
||||||
cat sqlite3.c >> $GITHUB_WORKSPACE/src/bun.js/bindings/sqlite/sqlite3.c
|
|
||||||
|
|
||||||
echo "// clang-format off" > $GITHUB_WORKSPACE/src/bun.js/bindings/sqlite/sqlite3_local.h
|
|
||||||
cat sqlite3.h >> $GITHUB_WORKSPACE/src/bun.js/bindings/sqlite/sqlite3_local.h
|
|
||||||
|
|
||||||
- name: Create Pull Request
|
- name: Create Pull Request
|
||||||
if: success() && steps.check-version.outputs.current_num < steps.check-version.outputs.latest_num
|
if: success() && steps.check-version.outputs.current_num < steps.check-version.outputs.latest_num
|
||||||
|
|||||||
60
scripts/update-sqlite-amalgamation.sh
Executable file
60
scripts/update-sqlite-amalgamation.sh
Executable file
@@ -0,0 +1,60 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
set -euo pipefail
|
||||||
|
|
||||||
|
# This script updates SQLite amalgamation files with the required compiler flags.
|
||||||
|
# It downloads the SQLite source, configures it with necessary flags, builds the
|
||||||
|
# amalgamation, and copies the generated files to the Bun source tree.
|
||||||
|
#
|
||||||
|
# Usage:
|
||||||
|
# ./scripts/update-sqlite-amalgamation.sh <version_number> <year>
|
||||||
|
#
|
||||||
|
# Example:
|
||||||
|
# ./scripts/update-sqlite-amalgamation.sh 3500400 2025
|
||||||
|
#
|
||||||
|
# The version number is a 7-digit SQLite version (e.g., 3500400 for 3.50.4)
|
||||||
|
# The year is the release year found in the download URL
|
||||||
|
|
||||||
|
if [ $# -ne 2 ]; then
|
||||||
|
echo "Usage: $0 <version_number> <year>"
|
||||||
|
echo "Example: $0 3500400 2025"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
VERSION_NUM="$1"
|
||||||
|
YEAR="$2"
|
||||||
|
|
||||||
|
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||||
|
REPO_ROOT="$(cd "$SCRIPT_DIR/.." && pwd)"
|
||||||
|
|
||||||
|
# Create temporary directory
|
||||||
|
TEMP_DIR=$(mktemp -d)
|
||||||
|
trap 'rm -rf "$TEMP_DIR"' EXIT
|
||||||
|
|
||||||
|
cd "$TEMP_DIR"
|
||||||
|
|
||||||
|
echo "Downloading SQLite source version $VERSION_NUM from year $YEAR..."
|
||||||
|
DOWNLOAD_URL="https://sqlite.org/$YEAR/sqlite-src-$VERSION_NUM.zip"
|
||||||
|
echo "URL: $DOWNLOAD_URL"
|
||||||
|
|
||||||
|
wget -q "$DOWNLOAD_URL"
|
||||||
|
unzip -q "sqlite-src-$VERSION_NUM.zip"
|
||||||
|
cd "sqlite-src-$VERSION_NUM"
|
||||||
|
|
||||||
|
echo "Configuring SQLite with required flags..."
|
||||||
|
# These flags must be set during amalgamation generation for them to take effect
|
||||||
|
# in the parser and other compile-time generated code
|
||||||
|
CFLAGS="-DSQLITE_ENABLE_UPDATE_DELETE_LIMIT=1 -DSQLITE_ENABLE_COLUMN_METADATA=1"
|
||||||
|
./configure CFLAGS="$CFLAGS" > /dev/null 2>&1
|
||||||
|
|
||||||
|
echo "Building amalgamation..."
|
||||||
|
make sqlite3.c > /dev/null 2>&1
|
||||||
|
|
||||||
|
echo "Copying files to Bun source tree..."
|
||||||
|
# Add clang-format off directive and copy the amalgamation
|
||||||
|
echo "// clang-format off" > "$REPO_ROOT/src/bun.js/bindings/sqlite/sqlite3.c"
|
||||||
|
cat sqlite3.c >> "$REPO_ROOT/src/bun.js/bindings/sqlite/sqlite3.c"
|
||||||
|
|
||||||
|
echo "// clang-format off" > "$REPO_ROOT/src/bun.js/bindings/sqlite/sqlite3_local.h"
|
||||||
|
cat sqlite3.h >> "$REPO_ROOT/src/bun.js/bindings/sqlite/sqlite3_local.h"
|
||||||
|
|
||||||
|
echo "✓ Successfully updated SQLite amalgamation files"
|
||||||
@@ -12,6 +12,8 @@ target_compile_definitions(sqlite3 PRIVATE
|
|||||||
"SQLITE_ENABLE_FTS5=1"
|
"SQLITE_ENABLE_FTS5=1"
|
||||||
"SQLITE_ENABLE_JSON1=1"
|
"SQLITE_ENABLE_JSON1=1"
|
||||||
"SQLITE_ENABLE_MATH_FUNCTIONS=1"
|
"SQLITE_ENABLE_MATH_FUNCTIONS=1"
|
||||||
|
"SQLITE_ENABLE_UPDATE_DELETE_LIMIT=1"
|
||||||
|
"SQLITE_UDL_CAPABLE_PARSER=1"
|
||||||
)
|
)
|
||||||
|
|
||||||
if(WIN32)
|
if(WIN32)
|
||||||
|
|||||||
753
src/bun.js/bindings/sqlite/sqlite3.c
vendored
753
src/bun.js/bindings/sqlite/sqlite3.c
vendored
@@ -29,6 +29,7 @@
|
|||||||
#ifndef SQLITE_PRIVATE
|
#ifndef SQLITE_PRIVATE
|
||||||
# define SQLITE_PRIVATE static
|
# define SQLITE_PRIVATE static
|
||||||
#endif
|
#endif
|
||||||
|
#define SQLITE_UDL_CAPABLE_PARSER 1
|
||||||
/************** Begin file sqliteInt.h ***************************************/
|
/************** Begin file sqliteInt.h ***************************************/
|
||||||
/*
|
/*
|
||||||
** 2001 September 15
|
** 2001 September 15
|
||||||
@@ -175265,7 +175266,9 @@ SQLITE_PRIVATE void sqlite3WindowCodeStep(
|
|||||||
/************** End of window.c **********************************************/
|
/************** End of window.c **********************************************/
|
||||||
/************** Begin file parse.c *******************************************/
|
/************** Begin file parse.c *******************************************/
|
||||||
/* This file is automatically generated by Lemon from input grammar
|
/* This file is automatically generated by Lemon from input grammar
|
||||||
** source file "parse.y".
|
** source file "parse.y" with these options:
|
||||||
|
**
|
||||||
|
** -DSQLITE_ENABLE_UPDATE_DELETE_LIMIT
|
||||||
*/
|
*/
|
||||||
/*
|
/*
|
||||||
** 2001-09-15
|
** 2001-09-15
|
||||||
@@ -175811,18 +175814,18 @@ typedef union {
|
|||||||
#define sqlite3ParserCTX_FETCH Parse *pParse=yypParser->pParse;
|
#define sqlite3ParserCTX_FETCH Parse *pParse=yypParser->pParse;
|
||||||
#define sqlite3ParserCTX_STORE yypParser->pParse=pParse;
|
#define sqlite3ParserCTX_STORE yypParser->pParse=pParse;
|
||||||
#define YYFALLBACK 1
|
#define YYFALLBACK 1
|
||||||
#define YYNSTATE 583
|
#define YYNSTATE 587
|
||||||
#define YYNRULE 409
|
#define YYNRULE 409
|
||||||
#define YYNRULE_WITH_ACTION 344
|
#define YYNRULE_WITH_ACTION 344
|
||||||
#define YYNTOKEN 187
|
#define YYNTOKEN 187
|
||||||
#define YY_MAX_SHIFT 582
|
#define YY_MAX_SHIFT 586
|
||||||
#define YY_MIN_SHIFTREDUCE 845
|
#define YY_MIN_SHIFTREDUCE 849
|
||||||
#define YY_MAX_SHIFTREDUCE 1253
|
#define YY_MAX_SHIFTREDUCE 1257
|
||||||
#define YY_ERROR_ACTION 1254
|
#define YY_ERROR_ACTION 1258
|
||||||
#define YY_ACCEPT_ACTION 1255
|
#define YY_ACCEPT_ACTION 1259
|
||||||
#define YY_NO_ACTION 1256
|
#define YY_NO_ACTION 1260
|
||||||
#define YY_MIN_REDUCE 1257
|
#define YY_MIN_REDUCE 1261
|
||||||
#define YY_MAX_REDUCE 1665
|
#define YY_MAX_REDUCE 1669
|
||||||
#define YY_MIN_DSTRCTR 206
|
#define YY_MIN_DSTRCTR 206
|
||||||
#define YY_MAX_DSTRCTR 320
|
#define YY_MAX_DSTRCTR 320
|
||||||
/************* End control #defines *******************************************/
|
/************* End control #defines *******************************************/
|
||||||
@@ -175909,227 +175912,227 @@ typedef union {
|
|||||||
*********** Begin parsing tables **********************************************/
|
*********** Begin parsing tables **********************************************/
|
||||||
#define YY_ACTTAB_COUNT (2207)
|
#define YY_ACTTAB_COUNT (2207)
|
||||||
static const YYACTIONTYPE yy_action[] = {
|
static const YYACTIONTYPE yy_action[] = {
|
||||||
/* 0 */ 130, 127, 234, 282, 282, 1328, 576, 1307, 460, 289,
|
/* 0 */ 130, 127, 234, 282, 282, 1332, 580, 1311, 464, 289,
|
||||||
/* 10 */ 289, 576, 1622, 381, 576, 1328, 573, 576, 562, 413,
|
/* 10 */ 289, 580, 1626, 385, 580, 1332, 577, 580, 566, 417,
|
||||||
/* 20 */ 1300, 1542, 573, 481, 562, 524, 460, 459, 558, 82,
|
/* 20 */ 1304, 1546, 577, 485, 566, 528, 464, 463, 562, 82,
|
||||||
/* 30 */ 82, 983, 294, 375, 51, 51, 498, 61, 61, 984,
|
/* 30 */ 82, 987, 294, 379, 51, 51, 502, 61, 61, 988,
|
||||||
/* 40 */ 82, 82, 1577, 137, 138, 91, 7, 1228, 1228, 1063,
|
/* 40 */ 82, 82, 1581, 137, 138, 91, 7, 1232, 1232, 1067,
|
||||||
/* 50 */ 1066, 1053, 1053, 135, 135, 136, 136, 136, 136, 413,
|
/* 50 */ 1070, 1057, 1057, 135, 135, 136, 136, 136, 136, 417,
|
||||||
/* 60 */ 288, 288, 182, 288, 288, 481, 536, 288, 288, 130,
|
/* 60 */ 288, 288, 182, 288, 288, 485, 540, 288, 288, 130,
|
||||||
/* 70 */ 127, 234, 432, 573, 525, 562, 573, 557, 562, 1290,
|
/* 70 */ 127, 234, 436, 577, 529, 566, 577, 561, 566, 1294,
|
||||||
/* 80 */ 573, 421, 562, 137, 138, 91, 559, 1228, 1228, 1063,
|
/* 80 */ 577, 425, 566, 137, 138, 91, 563, 1232, 1232, 1067,
|
||||||
/* 90 */ 1066, 1053, 1053, 135, 135, 136, 136, 136, 136, 296,
|
/* 90 */ 1070, 1057, 1057, 135, 135, 136, 136, 136, 136, 296,
|
||||||
/* 100 */ 460, 398, 1249, 134, 134, 134, 134, 133, 133, 132,
|
/* 100 */ 464, 402, 1253, 134, 134, 134, 134, 133, 133, 132,
|
||||||
/* 110 */ 132, 132, 131, 128, 451, 451, 1050, 1050, 1064, 1067,
|
/* 110 */ 132, 132, 131, 128, 455, 455, 1054, 1054, 1068, 1071,
|
||||||
/* 120 */ 1255, 1, 1, 582, 2, 1259, 581, 1174, 1259, 1174,
|
/* 120 */ 1259, 1, 1, 586, 2, 1263, 585, 1178, 1263, 1178,
|
||||||
/* 130 */ 321, 413, 155, 321, 1584, 155, 379, 112, 481, 1341,
|
/* 130 */ 321, 417, 155, 321, 1588, 155, 383, 112, 485, 1345,
|
||||||
/* 140 */ 456, 299, 1341, 134, 134, 134, 134, 133, 133, 132,
|
/* 140 */ 460, 299, 1345, 134, 134, 134, 134, 133, 133, 132,
|
||||||
/* 150 */ 132, 132, 131, 128, 451, 137, 138, 91, 498, 1228,
|
/* 150 */ 132, 132, 131, 128, 455, 137, 138, 91, 502, 1232,
|
||||||
/* 160 */ 1228, 1063, 1066, 1053, 1053, 135, 135, 136, 136, 136,
|
/* 160 */ 1232, 1067, 1070, 1057, 1057, 135, 135, 136, 136, 136,
|
||||||
/* 170 */ 136, 1204, 862, 1281, 288, 288, 283, 288, 288, 523,
|
/* 170 */ 136, 1208, 866, 1285, 288, 288, 283, 288, 288, 527,
|
||||||
/* 180 */ 523, 1250, 139, 578, 7, 578, 1345, 573, 1169, 562,
|
/* 180 */ 527, 1254, 139, 582, 7, 582, 1349, 577, 1173, 566,
|
||||||
/* 190 */ 573, 1054, 562, 136, 136, 136, 136, 129, 573, 547,
|
/* 190 */ 577, 1058, 566, 136, 136, 136, 136, 129, 577, 551,
|
||||||
/* 200 */ 562, 1169, 245, 1541, 1169, 245, 133, 133, 132, 132,
|
/* 200 */ 566, 1173, 245, 1545, 1173, 245, 133, 133, 132, 132,
|
||||||
/* 210 */ 132, 131, 128, 451, 302, 134, 134, 134, 134, 133,
|
/* 210 */ 132, 131, 128, 455, 302, 134, 134, 134, 134, 133,
|
||||||
/* 220 */ 133, 132, 132, 132, 131, 128, 451, 1575, 1204, 1205,
|
/* 220 */ 133, 132, 132, 132, 131, 128, 455, 1579, 1208, 1209,
|
||||||
/* 230 */ 1204, 7, 470, 550, 455, 413, 550, 455, 130, 127,
|
/* 230 */ 1208, 7, 474, 554, 459, 417, 554, 459, 130, 127,
|
||||||
/* 240 */ 234, 134, 134, 134, 134, 133, 133, 132, 132, 132,
|
/* 240 */ 234, 134, 134, 134, 134, 133, 133, 132, 132, 132,
|
||||||
/* 250 */ 131, 128, 451, 136, 136, 136, 136, 538, 483, 137,
|
/* 250 */ 131, 128, 455, 136, 136, 136, 136, 542, 487, 137,
|
||||||
/* 260 */ 138, 91, 1019, 1228, 1228, 1063, 1066, 1053, 1053, 135,
|
/* 260 */ 138, 91, 1023, 1232, 1232, 1067, 1070, 1057, 1057, 135,
|
||||||
/* 270 */ 135, 136, 136, 136, 136, 1085, 576, 1204, 132, 132,
|
/* 270 */ 135, 136, 136, 136, 136, 1089, 580, 1208, 132, 132,
|
||||||
/* 280 */ 132, 131, 128, 451, 93, 214, 134, 134, 134, 134,
|
/* 280 */ 132, 131, 128, 455, 93, 214, 134, 134, 134, 134,
|
||||||
/* 290 */ 133, 133, 132, 132, 132, 131, 128, 451, 401, 19,
|
/* 290 */ 133, 133, 132, 132, 132, 131, 128, 455, 405, 19,
|
||||||
/* 300 */ 19, 134, 134, 134, 134, 133, 133, 132, 132, 132,
|
/* 300 */ 19, 134, 134, 134, 134, 133, 133, 132, 132, 132,
|
||||||
/* 310 */ 131, 128, 451, 1498, 426, 267, 344, 467, 332, 134,
|
/* 310 */ 131, 128, 455, 1502, 430, 267, 348, 471, 334, 134,
|
||||||
/* 320 */ 134, 134, 134, 133, 133, 132, 132, 132, 131, 128,
|
/* 320 */ 134, 134, 134, 133, 133, 132, 132, 132, 131, 128,
|
||||||
/* 330 */ 451, 1281, 576, 6, 1204, 1205, 1204, 257, 576, 413,
|
/* 330 */ 455, 1285, 580, 6, 1208, 1209, 1208, 257, 580, 417,
|
||||||
/* 340 */ 511, 508, 507, 1279, 94, 1019, 464, 1204, 551, 551,
|
/* 340 */ 515, 512, 511, 1283, 94, 1023, 468, 1208, 555, 555,
|
||||||
/* 350 */ 506, 1224, 1571, 44, 38, 51, 51, 411, 576, 413,
|
/* 350 */ 510, 1228, 1575, 44, 38, 51, 51, 415, 580, 417,
|
||||||
/* 360 */ 45, 51, 51, 137, 138, 91, 530, 1228, 1228, 1063,
|
/* 360 */ 45, 51, 51, 137, 138, 91, 534, 1232, 1232, 1067,
|
||||||
/* 370 */ 1066, 1053, 1053, 135, 135, 136, 136, 136, 136, 398,
|
/* 370 */ 1070, 1057, 1057, 135, 135, 136, 136, 136, 136, 402,
|
||||||
/* 380 */ 1148, 82, 82, 137, 138, 91, 39, 1228, 1228, 1063,
|
/* 380 */ 1152, 82, 82, 137, 138, 91, 39, 1232, 1232, 1067,
|
||||||
/* 390 */ 1066, 1053, 1053, 135, 135, 136, 136, 136, 136, 344,
|
/* 390 */ 1070, 1057, 1057, 135, 135, 136, 136, 136, 136, 348,
|
||||||
/* 400 */ 44, 288, 288, 375, 1204, 1205, 1204, 209, 1204, 1224,
|
/* 400 */ 44, 288, 288, 379, 1208, 1209, 1208, 209, 1208, 1228,
|
||||||
/* 410 */ 320, 567, 471, 576, 573, 576, 562, 576, 316, 264,
|
/* 410 */ 320, 571, 475, 580, 577, 580, 566, 580, 316, 264,
|
||||||
/* 420 */ 231, 46, 160, 134, 134, 134, 134, 133, 133, 132,
|
/* 420 */ 231, 46, 160, 134, 134, 134, 134, 133, 133, 132,
|
||||||
/* 430 */ 132, 132, 131, 128, 451, 303, 82, 82, 82, 82,
|
/* 430 */ 132, 132, 131, 128, 455, 303, 82, 82, 82, 82,
|
||||||
/* 440 */ 82, 82, 442, 134, 134, 134, 134, 133, 133, 132,
|
/* 440 */ 82, 82, 446, 134, 134, 134, 134, 133, 133, 132,
|
||||||
/* 450 */ 132, 132, 131, 128, 451, 1582, 544, 320, 567, 1250,
|
/* 450 */ 132, 132, 131, 128, 455, 1586, 548, 320, 571, 1254,
|
||||||
/* 460 */ 874, 1582, 380, 382, 413, 1204, 1205, 1204, 360, 182,
|
/* 460 */ 878, 1586, 384, 386, 417, 1208, 1209, 1208, 364, 182,
|
||||||
/* 470 */ 288, 288, 1576, 557, 1339, 557, 7, 557, 1277, 472,
|
/* 470 */ 288, 288, 1580, 561, 1343, 561, 7, 561, 1281, 476,
|
||||||
/* 480 */ 346, 526, 531, 573, 556, 562, 439, 1511, 137, 138,
|
/* 480 */ 350, 530, 535, 577, 560, 566, 443, 1515, 137, 138,
|
||||||
/* 490 */ 91, 219, 1228, 1228, 1063, 1066, 1053, 1053, 135, 135,
|
/* 490 */ 91, 219, 1232, 1232, 1067, 1070, 1057, 1057, 135, 135,
|
||||||
/* 500 */ 136, 136, 136, 136, 465, 1511, 1513, 532, 413, 288,
|
/* 500 */ 136, 136, 136, 136, 469, 1515, 1517, 536, 417, 288,
|
||||||
/* 510 */ 288, 423, 512, 288, 288, 411, 288, 288, 874, 130,
|
/* 510 */ 288, 427, 516, 288, 288, 415, 288, 288, 878, 130,
|
||||||
/* 520 */ 127, 234, 573, 1107, 562, 1204, 573, 1107, 562, 573,
|
/* 520 */ 127, 234, 577, 1111, 566, 1208, 577, 1111, 566, 577,
|
||||||
/* 530 */ 560, 562, 137, 138, 91, 1293, 1228, 1228, 1063, 1066,
|
/* 530 */ 564, 566, 137, 138, 91, 1297, 1232, 1232, 1067, 1070,
|
||||||
/* 540 */ 1053, 1053, 135, 135, 136, 136, 136, 136, 134, 134,
|
/* 540 */ 1057, 1057, 135, 135, 136, 136, 136, 136, 134, 134,
|
||||||
/* 550 */ 134, 134, 133, 133, 132, 132, 132, 131, 128, 451,
|
/* 550 */ 134, 134, 133, 133, 132, 132, 132, 131, 128, 455,
|
||||||
/* 560 */ 493, 503, 1292, 1204, 257, 288, 288, 511, 508, 507,
|
/* 560 */ 497, 507, 1296, 1208, 257, 288, 288, 515, 512, 511,
|
||||||
/* 570 */ 1204, 1628, 1169, 123, 568, 275, 4, 506, 573, 1511,
|
/* 570 */ 1208, 1632, 1173, 123, 572, 275, 4, 510, 577, 1515,
|
||||||
/* 580 */ 562, 331, 1204, 1205, 1204, 1169, 548, 548, 1169, 261,
|
/* 580 */ 566, 331, 1208, 1209, 1208, 1173, 552, 552, 1173, 261,
|
||||||
/* 590 */ 571, 7, 134, 134, 134, 134, 133, 133, 132, 132,
|
/* 590 */ 575, 7, 134, 134, 134, 134, 133, 133, 132, 132,
|
||||||
/* 600 */ 132, 131, 128, 451, 108, 533, 130, 127, 234, 1204,
|
/* 600 */ 132, 131, 128, 455, 108, 537, 130, 127, 234, 1208,
|
||||||
/* 610 */ 448, 447, 413, 1451, 452, 983, 886, 96, 1598, 1233,
|
/* 610 */ 452, 451, 417, 1455, 456, 987, 890, 96, 1602, 1237,
|
||||||
/* 620 */ 1204, 1205, 1204, 984, 1235, 1450, 565, 1204, 1205, 1204,
|
/* 620 */ 1208, 1209, 1208, 988, 1239, 1454, 569, 1208, 1209, 1208,
|
||||||
/* 630 */ 229, 522, 1234, 534, 1333, 1333, 137, 138, 91, 1449,
|
/* 630 */ 229, 526, 1238, 538, 1337, 1337, 137, 138, 91, 1453,
|
||||||
/* 640 */ 1228, 1228, 1063, 1066, 1053, 1053, 135, 135, 136, 136,
|
/* 640 */ 1232, 1232, 1067, 1070, 1057, 1057, 135, 135, 136, 136,
|
||||||
/* 650 */ 136, 136, 373, 1595, 971, 1040, 413, 1236, 418, 1236,
|
/* 650 */ 136, 136, 377, 1599, 975, 1044, 417, 1240, 422, 1240,
|
||||||
/* 660 */ 879, 121, 121, 948, 373, 1595, 1204, 1205, 1204, 122,
|
/* 660 */ 883, 121, 121, 952, 377, 1599, 1208, 1209, 1208, 122,
|
||||||
/* 670 */ 1204, 452, 577, 452, 363, 417, 1028, 882, 373, 1595,
|
/* 670 */ 1208, 456, 581, 456, 367, 421, 1032, 886, 377, 1599,
|
||||||
/* 680 */ 137, 138, 91, 462, 1228, 1228, 1063, 1066, 1053, 1053,
|
/* 680 */ 137, 138, 91, 466, 1232, 1232, 1067, 1070, 1057, 1057,
|
||||||
/* 690 */ 135, 135, 136, 136, 136, 136, 134, 134, 134, 134,
|
/* 690 */ 135, 135, 136, 136, 136, 136, 134, 134, 134, 134,
|
||||||
/* 700 */ 133, 133, 132, 132, 132, 131, 128, 451, 1028, 1028,
|
/* 700 */ 133, 133, 132, 132, 132, 131, 128, 455, 1032, 1032,
|
||||||
/* 710 */ 1030, 1031, 35, 570, 570, 570, 197, 423, 1040, 198,
|
/* 710 */ 1034, 1035, 35, 574, 574, 574, 197, 427, 1044, 198,
|
||||||
/* 720 */ 1204, 123, 568, 1204, 4, 320, 567, 1204, 1205, 1204,
|
/* 720 */ 1208, 123, 572, 1208, 4, 320, 571, 1208, 1209, 1208,
|
||||||
/* 730 */ 40, 388, 576, 384, 882, 1029, 423, 1188, 571, 1028,
|
/* 730 */ 40, 392, 580, 388, 886, 1033, 427, 1192, 575, 1032,
|
||||||
/* 740 */ 134, 134, 134, 134, 133, 133, 132, 132, 132, 131,
|
/* 740 */ 134, 134, 134, 134, 133, 133, 132, 132, 132, 131,
|
||||||
/* 750 */ 128, 451, 529, 1568, 1204, 19, 19, 1204, 575, 492,
|
/* 750 */ 128, 455, 533, 1572, 1208, 19, 19, 1208, 579, 496,
|
||||||
/* 760 */ 413, 157, 452, 489, 1187, 1331, 1331, 5, 1204, 949,
|
/* 760 */ 417, 157, 456, 493, 1191, 1335, 1335, 5, 1208, 953,
|
||||||
/* 770 */ 431, 1028, 1028, 1030, 565, 22, 22, 1204, 1205, 1204,
|
/* 770 */ 435, 1032, 1032, 1034, 569, 22, 22, 1208, 1209, 1208,
|
||||||
/* 780 */ 1204, 1205, 1204, 477, 137, 138, 91, 212, 1228, 1228,
|
/* 780 */ 1208, 1209, 1208, 481, 137, 138, 91, 212, 1232, 1232,
|
||||||
/* 790 */ 1063, 1066, 1053, 1053, 135, 135, 136, 136, 136, 136,
|
/* 790 */ 1067, 1070, 1057, 1057, 135, 135, 136, 136, 136, 136,
|
||||||
/* 800 */ 1188, 48, 111, 1040, 413, 1204, 213, 970, 1041, 121,
|
/* 800 */ 1192, 48, 111, 1044, 417, 1208, 213, 974, 1045, 121,
|
||||||
/* 810 */ 121, 1204, 1205, 1204, 1204, 1205, 1204, 122, 221, 452,
|
/* 810 */ 121, 1208, 1209, 1208, 1208, 1209, 1208, 122, 221, 456,
|
||||||
/* 820 */ 577, 452, 44, 487, 1028, 1204, 1205, 1204, 137, 138,
|
/* 820 */ 581, 456, 44, 491, 1032, 1208, 1209, 1208, 137, 138,
|
||||||
/* 830 */ 91, 378, 1228, 1228, 1063, 1066, 1053, 1053, 135, 135,
|
/* 830 */ 91, 382, 1232, 1232, 1067, 1070, 1057, 1057, 135, 135,
|
||||||
/* 840 */ 136, 136, 136, 136, 134, 134, 134, 134, 133, 133,
|
/* 840 */ 136, 136, 136, 136, 134, 134, 134, 134, 133, 133,
|
||||||
/* 850 */ 132, 132, 132, 131, 128, 451, 1028, 1028, 1030, 1031,
|
/* 850 */ 132, 132, 132, 131, 128, 455, 1032, 1032, 1034, 1035,
|
||||||
/* 860 */ 35, 461, 1204, 1205, 1204, 1569, 1040, 377, 214, 1149,
|
/* 860 */ 35, 465, 1208, 1209, 1208, 1573, 1044, 381, 214, 1153,
|
||||||
/* 870 */ 1657, 535, 1657, 437, 902, 320, 567, 1568, 364, 320,
|
/* 870 */ 1661, 539, 1661, 441, 906, 320, 571, 1572, 368, 320,
|
||||||
/* 880 */ 567, 412, 329, 1029, 519, 1188, 3, 1028, 134, 134,
|
/* 880 */ 571, 416, 329, 1033, 523, 1192, 3, 1032, 134, 134,
|
||||||
/* 890 */ 134, 134, 133, 133, 132, 132, 132, 131, 128, 451,
|
/* 890 */ 134, 134, 133, 133, 132, 132, 132, 131, 128, 455,
|
||||||
/* 900 */ 1659, 399, 1169, 307, 893, 307, 515, 576, 413, 214,
|
/* 900 */ 1663, 403, 1173, 307, 897, 307, 519, 580, 417, 214,
|
||||||
/* 910 */ 498, 944, 1024, 540, 903, 1169, 943, 392, 1169, 1028,
|
/* 910 */ 502, 948, 1028, 544, 907, 1173, 947, 396, 1173, 1032,
|
||||||
/* 920 */ 1028, 1030, 406, 298, 1204, 50, 1149, 1658, 413, 1658,
|
/* 920 */ 1032, 1034, 410, 298, 1208, 50, 1153, 1662, 417, 1662,
|
||||||
/* 930 */ 145, 145, 137, 138, 91, 293, 1228, 1228, 1063, 1066,
|
/* 930 */ 145, 145, 137, 138, 91, 293, 1232, 1232, 1067, 1070,
|
||||||
/* 940 */ 1053, 1053, 135, 135, 136, 136, 136, 136, 1188, 1147,
|
/* 940 */ 1057, 1057, 135, 135, 136, 136, 136, 136, 1192, 1151,
|
||||||
/* 950 */ 514, 1568, 137, 138, 91, 1505, 1228, 1228, 1063, 1066,
|
/* 950 */ 518, 1572, 137, 138, 91, 1509, 1232, 1232, 1067, 1070,
|
||||||
/* 960 */ 1053, 1053, 135, 135, 136, 136, 136, 136, 434, 323,
|
/* 960 */ 1057, 1057, 135, 135, 136, 136, 136, 136, 438, 323,
|
||||||
/* 970 */ 435, 539, 111, 1506, 274, 291, 372, 517, 367, 516,
|
/* 970 */ 439, 543, 111, 1510, 274, 291, 376, 521, 371, 520,
|
||||||
/* 980 */ 262, 1204, 1205, 1204, 1574, 481, 363, 576, 7, 1569,
|
/* 980 */ 262, 1208, 1209, 1208, 1578, 485, 367, 580, 7, 1573,
|
||||||
/* 990 */ 1568, 377, 134, 134, 134, 134, 133, 133, 132, 132,
|
/* 990 */ 1572, 381, 134, 134, 134, 134, 133, 133, 132, 132,
|
||||||
/* 1000 */ 132, 131, 128, 451, 1568, 576, 1147, 576, 232, 576,
|
/* 1000 */ 132, 131, 128, 455, 1572, 580, 1151, 580, 232, 580,
|
||||||
/* 1010 */ 19, 19, 134, 134, 134, 134, 133, 133, 132, 132,
|
/* 1010 */ 19, 19, 134, 134, 134, 134, 133, 133, 132, 132,
|
||||||
/* 1020 */ 132, 131, 128, 451, 1169, 433, 576, 1207, 19, 19,
|
/* 1020 */ 132, 131, 128, 455, 1173, 437, 580, 1211, 19, 19,
|
||||||
/* 1030 */ 19, 19, 19, 19, 1627, 576, 911, 1169, 47, 120,
|
/* 1030 */ 19, 19, 19, 19, 1631, 580, 915, 1173, 47, 120,
|
||||||
/* 1040 */ 1169, 117, 413, 306, 498, 438, 1125, 206, 336, 19,
|
/* 1040 */ 1173, 117, 417, 306, 502, 442, 1129, 206, 340, 19,
|
||||||
/* 1050 */ 19, 1435, 49, 449, 449, 449, 1368, 315, 81, 81,
|
/* 1050 */ 19, 1439, 49, 453, 453, 453, 1372, 315, 81, 81,
|
||||||
/* 1060 */ 576, 304, 413, 1570, 207, 377, 137, 138, 91, 115,
|
/* 1060 */ 580, 304, 417, 1574, 207, 381, 137, 138, 91, 115,
|
||||||
/* 1070 */ 1228, 1228, 1063, 1066, 1053, 1053, 135, 135, 136, 136,
|
/* 1070 */ 1232, 1232, 1067, 1070, 1057, 1057, 135, 135, 136, 136,
|
||||||
/* 1080 */ 136, 136, 576, 82, 82, 1207, 137, 138, 91, 1340,
|
/* 1080 */ 136, 136, 580, 82, 82, 1211, 137, 138, 91, 1344,
|
||||||
/* 1090 */ 1228, 1228, 1063, 1066, 1053, 1053, 135, 135, 136, 136,
|
/* 1090 */ 1232, 1232, 1067, 1070, 1057, 1057, 135, 135, 136, 136,
|
||||||
/* 1100 */ 136, 136, 1569, 386, 377, 82, 82, 463, 1126, 1552,
|
/* 1100 */ 136, 136, 1573, 390, 381, 82, 82, 467, 1130, 1556,
|
||||||
/* 1110 */ 333, 463, 335, 131, 128, 451, 1569, 161, 377, 16,
|
/* 1110 */ 337, 467, 339, 131, 128, 455, 1573, 161, 381, 16,
|
||||||
/* 1120 */ 317, 387, 428, 1127, 448, 447, 134, 134, 134, 134,
|
/* 1120 */ 317, 391, 432, 1131, 452, 451, 134, 134, 134, 134,
|
||||||
/* 1130 */ 133, 133, 132, 132, 132, 131, 128, 451, 1128, 576,
|
/* 1130 */ 133, 133, 132, 132, 132, 131, 128, 455, 1132, 580,
|
||||||
/* 1140 */ 1105, 10, 445, 267, 576, 1554, 134, 134, 134, 134,
|
/* 1140 */ 1109, 10, 449, 267, 580, 1558, 134, 134, 134, 134,
|
||||||
/* 1150 */ 133, 133, 132, 132, 132, 131, 128, 451, 532, 576,
|
/* 1150 */ 133, 133, 132, 132, 132, 131, 128, 455, 536, 580,
|
||||||
/* 1160 */ 922, 576, 19, 19, 576, 1573, 576, 147, 147, 7,
|
/* 1160 */ 926, 580, 19, 19, 580, 1577, 580, 147, 147, 7,
|
||||||
/* 1170 */ 923, 1236, 498, 1236, 576, 487, 413, 552, 285, 1224,
|
/* 1170 */ 927, 1240, 502, 1240, 580, 491, 417, 556, 285, 1228,
|
||||||
/* 1180 */ 969, 215, 82, 82, 66, 66, 1435, 67, 67, 21,
|
/* 1180 */ 973, 215, 82, 82, 66, 66, 1439, 67, 67, 21,
|
||||||
/* 1190 */ 21, 1110, 1110, 495, 334, 297, 413, 53, 53, 297,
|
/* 1190 */ 21, 1114, 1114, 499, 338, 297, 417, 53, 53, 297,
|
||||||
/* 1200 */ 137, 138, 91, 119, 1228, 1228, 1063, 1066, 1053, 1053,
|
/* 1200 */ 137, 138, 91, 119, 1232, 1232, 1067, 1070, 1057, 1057,
|
||||||
/* 1210 */ 135, 135, 136, 136, 136, 136, 413, 1336, 1311, 446,
|
/* 1210 */ 135, 135, 136, 136, 136, 136, 417, 1340, 1315, 450,
|
||||||
/* 1220 */ 137, 138, 91, 227, 1228, 1228, 1063, 1066, 1053, 1053,
|
/* 1220 */ 137, 138, 91, 227, 1232, 1232, 1067, 1070, 1057, 1057,
|
||||||
/* 1230 */ 135, 135, 136, 136, 136, 136, 574, 1224, 936, 936,
|
/* 1230 */ 135, 135, 136, 136, 136, 136, 578, 1228, 940, 940,
|
||||||
/* 1240 */ 137, 126, 91, 141, 1228, 1228, 1063, 1066, 1053, 1053,
|
/* 1240 */ 137, 126, 91, 141, 1232, 1232, 1067, 1070, 1057, 1057,
|
||||||
/* 1250 */ 135, 135, 136, 136, 136, 136, 533, 429, 472, 346,
|
/* 1250 */ 135, 135, 136, 136, 136, 136, 537, 433, 476, 350,
|
||||||
/* 1260 */ 134, 134, 134, 134, 133, 133, 132, 132, 132, 131,
|
/* 1260 */ 134, 134, 134, 134, 133, 133, 132, 132, 132, 131,
|
||||||
/* 1270 */ 128, 451, 576, 457, 233, 343, 1435, 403, 498, 1550,
|
/* 1270 */ 128, 455, 580, 461, 233, 347, 1439, 407, 502, 1554,
|
||||||
/* 1280 */ 134, 134, 134, 134, 133, 133, 132, 132, 132, 131,
|
/* 1280 */ 134, 134, 134, 134, 133, 133, 132, 132, 132, 131,
|
||||||
/* 1290 */ 128, 451, 576, 324, 576, 82, 82, 487, 576, 969,
|
/* 1290 */ 128, 455, 580, 324, 580, 82, 82, 491, 580, 973,
|
||||||
/* 1300 */ 134, 134, 134, 134, 133, 133, 132, 132, 132, 131,
|
/* 1300 */ 134, 134, 134, 134, 133, 133, 132, 132, 132, 131,
|
||||||
/* 1310 */ 128, 451, 288, 288, 546, 68, 68, 54, 54, 553,
|
/* 1310 */ 128, 455, 288, 288, 550, 68, 68, 54, 54, 557,
|
||||||
/* 1320 */ 413, 69, 69, 351, 6, 573, 944, 562, 410, 409,
|
/* 1320 */ 417, 69, 69, 355, 6, 577, 948, 566, 414, 413,
|
||||||
/* 1330 */ 1435, 943, 450, 545, 260, 259, 258, 576, 158, 576,
|
/* 1330 */ 1439, 947, 454, 549, 260, 259, 258, 580, 158, 580,
|
||||||
/* 1340 */ 413, 222, 1180, 479, 969, 138, 91, 430, 1228, 1228,
|
/* 1340 */ 417, 222, 1184, 483, 973, 138, 91, 434, 1232, 1232,
|
||||||
/* 1350 */ 1063, 1066, 1053, 1053, 135, 135, 136, 136, 136, 136,
|
/* 1350 */ 1067, 1070, 1057, 1057, 135, 135, 136, 136, 136, 136,
|
||||||
/* 1360 */ 70, 70, 71, 71, 576, 1126, 91, 576, 1228, 1228,
|
/* 1360 */ 70, 70, 71, 71, 580, 1130, 91, 580, 1232, 1232,
|
||||||
/* 1370 */ 1063, 1066, 1053, 1053, 135, 135, 136, 136, 136, 136,
|
/* 1370 */ 1067, 1070, 1057, 1057, 135, 135, 136, 136, 136, 136,
|
||||||
/* 1380 */ 1127, 166, 850, 851, 852, 1282, 419, 72, 72, 108,
|
/* 1380 */ 1131, 166, 854, 855, 856, 1286, 423, 72, 72, 108,
|
||||||
/* 1390 */ 73, 73, 1310, 358, 1180, 1128, 576, 305, 576, 123,
|
/* 1390 */ 73, 73, 1314, 362, 1184, 1132, 580, 305, 580, 123,
|
||||||
/* 1400 */ 568, 494, 4, 488, 134, 134, 134, 134, 133, 133,
|
/* 1400 */ 572, 498, 4, 492, 134, 134, 134, 134, 133, 133,
|
||||||
/* 1410 */ 132, 132, 132, 131, 128, 451, 571, 564, 534, 55,
|
/* 1410 */ 132, 132, 132, 131, 128, 455, 575, 568, 538, 55,
|
||||||
/* 1420 */ 55, 56, 56, 576, 134, 134, 134, 134, 133, 133,
|
/* 1420 */ 55, 56, 56, 580, 134, 134, 134, 134, 133, 133,
|
||||||
/* 1430 */ 132, 132, 132, 131, 128, 451, 576, 1104, 233, 1104,
|
/* 1430 */ 132, 132, 132, 131, 128, 455, 580, 1108, 233, 1108,
|
||||||
/* 1440 */ 452, 1602, 582, 2, 1259, 576, 57, 57, 576, 321,
|
/* 1440 */ 456, 1606, 586, 2, 1263, 580, 57, 57, 580, 321,
|
||||||
/* 1450 */ 576, 155, 565, 1435, 485, 353, 576, 356, 1341, 59,
|
/* 1450 */ 580, 155, 569, 1439, 489, 357, 580, 360, 1345, 59,
|
||||||
/* 1460 */ 59, 576, 44, 969, 569, 419, 576, 238, 60, 60,
|
/* 1460 */ 59, 580, 44, 973, 573, 423, 580, 238, 60, 60,
|
||||||
/* 1470 */ 261, 74, 74, 75, 75, 287, 231, 576, 1366, 76,
|
/* 1470 */ 261, 74, 74, 75, 75, 287, 231, 580, 1370, 76,
|
||||||
/* 1480 */ 76, 1040, 420, 184, 20, 20, 576, 121, 121, 77,
|
/* 1480 */ 76, 1044, 424, 184, 20, 20, 580, 121, 121, 77,
|
||||||
/* 1490 */ 77, 97, 218, 288, 288, 122, 125, 452, 577, 452,
|
/* 1490 */ 77, 97, 218, 288, 288, 122, 125, 456, 581, 456,
|
||||||
/* 1500 */ 143, 143, 1028, 576, 520, 576, 573, 576, 562, 144,
|
/* 1500 */ 143, 143, 1032, 580, 524, 580, 577, 580, 566, 144,
|
||||||
/* 1510 */ 144, 474, 227, 1244, 478, 123, 568, 576, 4, 320,
|
/* 1510 */ 144, 478, 227, 1248, 482, 123, 572, 580, 4, 320,
|
||||||
/* 1520 */ 567, 245, 411, 576, 443, 411, 78, 78, 62, 62,
|
/* 1520 */ 571, 245, 415, 580, 447, 415, 78, 78, 62, 62,
|
||||||
/* 1530 */ 79, 79, 571, 319, 1028, 1028, 1030, 1031, 35, 418,
|
/* 1530 */ 79, 79, 575, 319, 1032, 1032, 1034, 1035, 35, 422,
|
||||||
/* 1540 */ 63, 63, 576, 290, 411, 9, 80, 80, 1144, 576,
|
/* 1540 */ 63, 63, 580, 290, 415, 9, 80, 80, 1148, 580,
|
||||||
/* 1550 */ 400, 576, 486, 455, 576, 1223, 452, 576, 325, 342,
|
/* 1550 */ 404, 580, 490, 459, 580, 1227, 456, 580, 325, 346,
|
||||||
/* 1560 */ 576, 111, 576, 1188, 242, 64, 64, 473, 565, 576,
|
/* 1560 */ 580, 111, 580, 1192, 242, 64, 64, 477, 569, 580,
|
||||||
/* 1570 */ 23, 576, 170, 170, 171, 171, 576, 87, 87, 328,
|
/* 1570 */ 23, 580, 170, 170, 171, 171, 580, 87, 87, 328,
|
||||||
/* 1580 */ 65, 65, 542, 83, 83, 146, 146, 541, 123, 568,
|
/* 1580 */ 65, 65, 546, 83, 83, 146, 146, 545, 123, 572,
|
||||||
/* 1590 */ 341, 4, 84, 84, 168, 168, 576, 1040, 576, 148,
|
/* 1590 */ 345, 4, 84, 84, 168, 168, 580, 1044, 580, 148,
|
||||||
/* 1600 */ 148, 576, 1380, 121, 121, 571, 1021, 576, 266, 576,
|
/* 1600 */ 148, 580, 1384, 121, 121, 575, 1025, 580, 266, 580,
|
||||||
/* 1610 */ 424, 122, 576, 452, 577, 452, 576, 553, 1028, 142,
|
/* 1610 */ 428, 122, 580, 456, 581, 456, 580, 557, 1032, 142,
|
||||||
/* 1620 */ 142, 169, 169, 576, 162, 162, 528, 889, 371, 452,
|
/* 1620 */ 142, 169, 169, 580, 162, 162, 532, 893, 375, 456,
|
||||||
/* 1630 */ 152, 152, 151, 151, 1379, 149, 149, 109, 370, 150,
|
/* 1630 */ 152, 152, 151, 151, 1383, 149, 149, 109, 374, 150,
|
||||||
/* 1640 */ 150, 565, 576, 480, 576, 266, 86, 86, 576, 1092,
|
/* 1640 */ 150, 569, 580, 484, 580, 266, 86, 86, 580, 1096,
|
||||||
/* 1650 */ 1028, 1028, 1030, 1031, 35, 542, 482, 576, 266, 466,
|
/* 1650 */ 1032, 1032, 1034, 1035, 35, 546, 486, 580, 266, 470,
|
||||||
/* 1660 */ 543, 123, 568, 1616, 4, 88, 88, 85, 85, 475,
|
/* 1660 */ 547, 123, 572, 1620, 4, 88, 88, 85, 85, 479,
|
||||||
/* 1670 */ 1040, 52, 52, 222, 901, 900, 121, 121, 571, 1188,
|
/* 1670 */ 1044, 52, 52, 222, 905, 904, 121, 121, 575, 1192,
|
||||||
/* 1680 */ 58, 58, 244, 1032, 122, 889, 452, 577, 452, 908,
|
/* 1680 */ 58, 58, 244, 1036, 122, 893, 456, 581, 456, 912,
|
||||||
/* 1690 */ 909, 1028, 300, 347, 504, 111, 263, 361, 165, 111,
|
/* 1690 */ 913, 1032, 300, 351, 508, 111, 263, 365, 165, 111,
|
||||||
/* 1700 */ 111, 1088, 452, 263, 974, 1153, 266, 1092, 986, 987,
|
/* 1700 */ 111, 1092, 456, 263, 978, 1157, 266, 1096, 990, 991,
|
||||||
/* 1710 */ 942, 939, 125, 125, 565, 1103, 872, 1103, 159, 941,
|
/* 1710 */ 946, 943, 125, 125, 569, 1107, 876, 1107, 159, 945,
|
||||||
/* 1720 */ 1309, 125, 1557, 1028, 1028, 1030, 1031, 35, 542, 337,
|
/* 1720 */ 1313, 125, 1561, 1032, 1032, 1034, 1035, 35, 546, 341,
|
||||||
/* 1730 */ 1530, 205, 1529, 541, 499, 1589, 490, 348, 1376, 352,
|
/* 1730 */ 1534, 205, 1533, 545, 503, 1593, 494, 352, 1380, 356,
|
||||||
/* 1740 */ 355, 1032, 357, 1040, 359, 1324, 1308, 366, 563, 121,
|
/* 1740 */ 359, 1036, 361, 1044, 363, 1328, 1312, 370, 567, 121,
|
||||||
/* 1750 */ 121, 376, 1188, 1389, 1434, 1362, 280, 122, 1374, 452,
|
/* 1750 */ 121, 380, 1192, 1393, 1438, 1366, 280, 122, 1378, 456,
|
||||||
/* 1760 */ 577, 452, 167, 1439, 1028, 1289, 1280, 1268, 1267, 1269,
|
/* 1760 */ 581, 456, 167, 1443, 1032, 1293, 1284, 1272, 1271, 1273,
|
||||||
/* 1770 */ 1609, 1359, 312, 313, 314, 397, 12, 237, 224, 1421,
|
/* 1770 */ 1613, 1363, 312, 313, 314, 401, 12, 237, 224, 1425,
|
||||||
/* 1780 */ 295, 1416, 1409, 1426, 339, 484, 340, 509, 1371, 1612,
|
/* 1780 */ 295, 333, 336, 1430, 343, 488, 344, 513, 1375, 1616,
|
||||||
/* 1790 */ 1372, 1425, 1244, 404, 301, 228, 1028, 1028, 1030, 1031,
|
/* 1790 */ 1376, 1429, 1248, 408, 301, 228, 1032, 1032, 1034, 1035,
|
||||||
/* 1800 */ 35, 1601, 1192, 454, 345, 1307, 292, 369, 1502, 1501,
|
/* 1800 */ 35, 1605, 1196, 458, 349, 1311, 292, 373, 1506, 1505,
|
||||||
/* 1810 */ 270, 396, 396, 395, 277, 393, 1370, 1369, 859, 1549,
|
/* 1810 */ 270, 400, 400, 399, 277, 397, 1374, 1373, 863, 1553,
|
||||||
/* 1820 */ 186, 123, 568, 235, 4, 1188, 391, 210, 211, 223,
|
/* 1820 */ 186, 123, 572, 235, 4, 1192, 395, 210, 211, 223,
|
||||||
/* 1830 */ 1547, 239, 1241, 327, 422, 96, 220, 195, 571, 180,
|
/* 1830 */ 1551, 239, 1245, 327, 426, 96, 220, 195, 575, 140,
|
||||||
/* 1840 */ 188, 326, 468, 469, 190, 191, 502, 192, 193, 566,
|
/* 1840 */ 557, 326, 180, 472, 1420, 332, 188, 1413, 335, 570,
|
||||||
/* 1850 */ 247, 109, 1430, 491, 199, 251, 102, 281, 402, 476,
|
/* 1850 */ 190, 191, 192, 193, 473, 506, 247, 109, 1434, 495,
|
||||||
/* 1860 */ 405, 1496, 452, 497, 253, 1422, 13, 1428, 14, 1427,
|
/* 1860 */ 251, 199, 456, 406, 480, 1426, 13, 409, 102, 14,
|
||||||
/* 1870 */ 203, 1507, 241, 500, 565, 354, 407, 92, 95, 1270,
|
/* 1870 */ 501, 1511, 241, 1432, 569, 1431, 203, 92, 95, 1500,
|
||||||
/* 1880 */ 175, 254, 518, 43, 1327, 255, 1326, 1325, 436, 1518,
|
/* 1880 */ 175, 281, 358, 43, 504, 253, 411, 254, 522, 1331,
|
||||||
/* 1890 */ 350, 1318, 104, 229, 893, 1626, 440, 441, 1625, 408,
|
/* 1890 */ 104, 1274, 1522, 354, 440, 1322, 255, 1330, 1630, 1629,
|
||||||
/* 1900 */ 240, 1296, 268, 1040, 310, 269, 1297, 527, 444, 121,
|
/* 1900 */ 240, 897, 229, 1044, 444, 1321, 445, 448, 269, 121,
|
||||||
/* 1910 */ 121, 368, 1295, 1594, 1624, 311, 1394, 122, 1317, 452,
|
/* 1910 */ 121, 1329, 531, 268, 310, 412, 1398, 122, 1301, 456,
|
||||||
/* 1920 */ 577, 452, 374, 1580, 1028, 1393, 140, 553, 11, 90,
|
/* 1920 */ 581, 456, 1300, 372, 1032, 1299, 1628, 378, 311, 90,
|
||||||
/* 1930 */ 568, 385, 4, 116, 318, 414, 1579, 110, 1483, 537,
|
/* 1930 */ 572, 11, 4, 1397, 1598, 418, 1487, 389, 116, 110,
|
||||||
/* 1940 */ 320, 567, 1350, 555, 42, 579, 571, 1349, 1198, 383,
|
/* 1940 */ 320, 571, 1584, 559, 318, 541, 575, 1583, 42, 1354,
|
||||||
/* 1950 */ 276, 390, 216, 389, 278, 279, 1028, 1028, 1030, 1031,
|
/* 1950 */ 387, 583, 216, 1353, 1202, 276, 1032, 1032, 1034, 1035,
|
||||||
/* 1960 */ 35, 172, 580, 1265, 458, 1260, 415, 416, 185, 156,
|
/* 1960 */ 35, 393, 394, 278, 462, 279, 419, 584, 1538, 1269,
|
||||||
/* 1970 */ 452, 1534, 1535, 173, 1533, 1532, 89, 308, 225, 226,
|
/* 1970 */ 456, 1264, 172, 420, 173, 1539, 1537, 1536, 156, 308,
|
||||||
/* 1980 */ 846, 174, 565, 453, 217, 1188, 322, 236, 1102, 154,
|
/* 1980 */ 225, 89, 569, 850, 226, 1192, 457, 174, 217, 236,
|
||||||
/* 1990 */ 1100, 330, 187, 176, 1223, 243, 189, 925, 338, 246,
|
/* 1990 */ 322, 154, 1106, 1104, 187, 330, 176, 1227, 929, 189,
|
||||||
/* 2000 */ 1116, 194, 177, 425, 178, 427, 98, 196, 99, 100,
|
/* 2000 */ 243, 342, 246, 1120, 194, 177, 178, 429, 431, 98,
|
||||||
/* 2010 */ 101, 1040, 179, 1119, 1115, 248, 249, 121, 121, 163,
|
/* 2010 */ 196, 1044, 99, 185, 100, 101, 179, 121, 121, 1123,
|
||||||
/* 2020 */ 24, 250, 349, 1238, 496, 122, 1108, 452, 577, 452,
|
/* 2020 */ 248, 249, 1119, 163, 250, 122, 24, 456, 581, 456,
|
||||||
/* 2030 */ 1192, 454, 1028, 266, 292, 200, 252, 201, 861, 396,
|
/* 2030 */ 1196, 458, 1032, 353, 292, 266, 1112, 200, 1242, 400,
|
||||||
/* 2040 */ 396, 395, 277, 393, 15, 501, 859, 370, 292, 256,
|
/* 2040 */ 400, 399, 277, 397, 500, 252, 863, 201, 292, 15,
|
||||||
/* 2050 */ 202, 554, 505, 396, 396, 395, 277, 393, 103, 239,
|
/* 2050 */ 865, 558, 505, 400, 400, 399, 277, 397, 374, 239,
|
||||||
/* 2060 */ 859, 327, 25, 26, 1028, 1028, 1030, 1031, 35, 326,
|
/* 2060 */ 863, 327, 256, 202, 1032, 1032, 1034, 1035, 35, 326,
|
||||||
/* 2070 */ 362, 510, 891, 239, 365, 327, 513, 904, 105, 309,
|
/* 2070 */ 103, 25, 26, 239, 509, 327, 366, 514, 369, 895,
|
||||||
/* 2080 */ 164, 181, 27, 326, 106, 521, 107, 1185, 1069, 1155,
|
/* 2080 */ 908, 517, 105, 326, 309, 164, 525, 106, 181, 27,
|
||||||
/* 2090 */ 17, 1154, 230, 1188, 284, 286, 265, 204, 125, 1171,
|
/* 2090 */ 1189, 1073, 17, 1192, 107, 1159, 1158, 284, 230, 286,
|
||||||
/* 2100 */ 241, 28, 978, 972, 29, 41, 1175, 1179, 175, 1173,
|
/* 2100 */ 241, 204, 125, 1175, 982, 265, 1182, 976, 175, 28,
|
||||||
/* 2110 */ 30, 43, 31, 8, 241, 1178, 32, 1160, 208, 549,
|
/* 2110 */ 1179, 43, 29, 1177, 241, 30, 31, 8, 1183, 32,
|
||||||
/* 2120 */ 33, 111, 175, 1083, 1070, 43, 1068, 1072, 240, 113,
|
/* 2120 */ 1164, 41, 175, 208, 553, 43, 111, 33, 240, 1087,
|
||||||
/* 2130 */ 114, 34, 561, 118, 1124, 271, 1073, 36, 18, 572,
|
/* 2130 */ 1074, 113, 114, 1072, 1076, 34, 1077, 565, 1128, 118,
|
||||||
/* 2140 */ 1033, 873, 240, 124, 37, 935, 272, 273, 1617, 183,
|
/* 2140 */ 271, 36, 240, 18, 939, 1037, 877, 272, 124, 37,
|
||||||
/* 2150 */ 153, 394, 1194, 1193, 1256, 1256, 1256, 1256, 1256, 1256,
|
/* 2150 */ 398, 1198, 1197, 576, 183, 273, 153, 1621, 1260, 1260,
|
||||||
/* 2160 */ 1256, 1256, 1256, 414, 1256, 1256, 1256, 1256, 320, 567,
|
/* 2160 */ 1260, 1260, 1260, 418, 1260, 1260, 1260, 1260, 320, 571,
|
||||||
/* 2170 */ 1256, 1256, 1256, 1256, 1256, 1256, 1256, 414, 1256, 1256,
|
/* 2170 */ 1260, 1260, 1260, 1260, 1260, 1260, 1260, 418, 1260, 1260,
|
||||||
/* 2180 */ 1256, 1256, 320, 567, 1256, 1256, 1256, 1256, 1256, 1256,
|
/* 2180 */ 1260, 1260, 320, 571, 1260, 1260, 1260, 1260, 1260, 1260,
|
||||||
/* 2190 */ 1256, 1256, 458, 1256, 1256, 1256, 1256, 1256, 1256, 1256,
|
/* 2190 */ 1260, 1260, 462, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
|
||||||
/* 2200 */ 1256, 1256, 1256, 1256, 1256, 1256, 458,
|
/* 2200 */ 1260, 1260, 1260, 1260, 1260, 1260, 462,
|
||||||
};
|
};
|
||||||
static const YYCODETYPE yy_lookahead[] = {
|
static const YYCODETYPE yy_lookahead[] = {
|
||||||
/* 0 */ 277, 278, 279, 241, 242, 225, 195, 227, 195, 241,
|
/* 0 */ 277, 278, 279, 241, 242, 225, 195, 227, 195, 241,
|
||||||
@@ -176315,39 +176318,39 @@ static const YYCODETYPE yy_lookahead[] = {
|
|||||||
/* 1800 */ 158, 0, 1, 2, 247, 227, 5, 221, 221, 221,
|
/* 1800 */ 158, 0, 1, 2, 247, 227, 5, 221, 221, 221,
|
||||||
/* 1810 */ 142, 10, 11, 12, 13, 14, 262, 262, 17, 202,
|
/* 1810 */ 142, 10, 11, 12, 13, 14, 262, 262, 17, 202,
|
||||||
/* 1820 */ 300, 19, 20, 300, 22, 183, 247, 251, 251, 245,
|
/* 1820 */ 300, 19, 20, 300, 22, 183, 247, 251, 251, 245,
|
||||||
/* 1830 */ 202, 30, 38, 32, 202, 152, 151, 22, 36, 43,
|
/* 1830 */ 202, 30, 38, 32, 202, 152, 151, 22, 36, 149,
|
||||||
/* 1840 */ 236, 40, 18, 202, 239, 239, 18, 239, 239, 283,
|
/* 1840 */ 146, 40, 43, 18, 252, 251, 236, 252, 251, 283,
|
||||||
/* 1850 */ 201, 150, 236, 202, 236, 201, 159, 202, 248, 248,
|
/* 1850 */ 239, 239, 239, 239, 202, 18, 201, 150, 236, 202,
|
||||||
/* 1860 */ 248, 248, 60, 63, 201, 275, 273, 275, 273, 275,
|
/* 1860 */ 201, 236, 60, 248, 248, 275, 273, 248, 159, 273,
|
||||||
/* 1870 */ 22, 286, 71, 223, 72, 202, 223, 297, 297, 202,
|
/* 1870 */ 63, 286, 71, 275, 72, 275, 22, 297, 297, 248,
|
||||||
/* 1880 */ 79, 201, 116, 82, 220, 201, 220, 220, 65, 293,
|
/* 1880 */ 79, 202, 202, 82, 223, 201, 223, 201, 116, 220,
|
||||||
/* 1890 */ 292, 229, 22, 166, 127, 226, 24, 114, 226, 223,
|
/* 1890 */ 22, 202, 293, 292, 65, 229, 201, 220, 226, 226,
|
||||||
/* 1900 */ 99, 222, 202, 101, 285, 92, 220, 308, 83, 107,
|
/* 1900 */ 99, 127, 166, 101, 24, 229, 114, 83, 92, 107,
|
||||||
/* 1910 */ 108, 220, 220, 316, 220, 285, 268, 115, 229, 117,
|
/* 1910 */ 108, 220, 308, 202, 285, 223, 268, 115, 220, 117,
|
||||||
/* 1920 */ 118, 119, 223, 321, 122, 268, 149, 146, 22, 19,
|
/* 1920 */ 118, 119, 222, 220, 122, 220, 220, 223, 285, 19,
|
||||||
/* 1930 */ 20, 202, 22, 159, 282, 134, 321, 148, 280, 147,
|
/* 1930 */ 20, 22, 22, 268, 316, 134, 280, 202, 159, 148,
|
||||||
/* 1940 */ 139, 140, 252, 141, 25, 204, 36, 252, 13, 251,
|
/* 1940 */ 139, 140, 321, 141, 282, 147, 36, 321, 25, 252,
|
||||||
/* 1950 */ 196, 248, 250, 249, 196, 6, 154, 155, 156, 157,
|
/* 1950 */ 251, 204, 250, 252, 13, 196, 154, 155, 156, 157,
|
||||||
/* 1960 */ 158, 209, 194, 194, 163, 194, 306, 306, 303, 224,
|
/* 1960 */ 158, 249, 248, 196, 163, 6, 306, 194, 215, 194,
|
||||||
/* 1970 */ 60, 215, 215, 209, 215, 215, 215, 224, 216, 216,
|
/* 1970 */ 60, 194, 209, 306, 209, 215, 215, 215, 224, 224,
|
||||||
/* 1980 */ 4, 209, 72, 3, 22, 183, 164, 15, 23, 16,
|
/* 1980 */ 216, 215, 72, 4, 216, 183, 3, 209, 22, 15,
|
||||||
/* 1990 */ 23, 140, 152, 131, 25, 24, 143, 20, 16, 145,
|
/* 1990 */ 164, 16, 23, 23, 152, 140, 131, 25, 20, 143,
|
||||||
/* 2000 */ 1, 143, 131, 62, 131, 37, 54, 152, 54, 54,
|
/* 2000 */ 24, 16, 145, 1, 143, 131, 131, 62, 37, 54,
|
||||||
/* 2010 */ 54, 101, 131, 117, 1, 34, 142, 107, 108, 5,
|
/* 2010 */ 152, 101, 54, 303, 54, 54, 131, 107, 108, 117,
|
||||||
/* 2020 */ 22, 116, 162, 76, 41, 115, 69, 117, 118, 119,
|
/* 2020 */ 34, 142, 1, 5, 116, 115, 22, 117, 118, 119,
|
||||||
/* 2030 */ 1, 2, 122, 25, 5, 69, 142, 116, 20, 10,
|
/* 2030 */ 1, 2, 122, 162, 5, 25, 69, 69, 76, 10,
|
||||||
/* 2040 */ 11, 12, 13, 14, 24, 19, 17, 132, 5, 126,
|
/* 2040 */ 11, 12, 13, 14, 41, 142, 17, 116, 5, 24,
|
||||||
/* 2050 */ 22, 141, 68, 10, 11, 12, 13, 14, 22, 30,
|
/* 2050 */ 20, 141, 19, 10, 11, 12, 13, 14, 132, 30,
|
||||||
/* 2060 */ 17, 32, 22, 22, 154, 155, 156, 157, 158, 40,
|
/* 2060 */ 17, 32, 126, 22, 154, 155, 156, 157, 158, 40,
|
||||||
/* 2070 */ 23, 68, 60, 30, 24, 32, 97, 28, 22, 68,
|
/* 2070 */ 22, 22, 22, 30, 68, 32, 23, 68, 24, 60,
|
||||||
/* 2080 */ 23, 37, 34, 40, 150, 22, 25, 23, 23, 23,
|
/* 2080 */ 28, 97, 22, 40, 68, 23, 22, 150, 37, 34,
|
||||||
/* 2090 */ 22, 98, 142, 183, 23, 23, 34, 22, 25, 89,
|
/* 2090 */ 23, 23, 22, 183, 25, 23, 98, 23, 142, 23,
|
||||||
/* 2100 */ 71, 34, 117, 144, 34, 22, 76, 76, 79, 87,
|
/* 2100 */ 71, 22, 25, 89, 117, 34, 94, 144, 79, 34,
|
||||||
/* 2110 */ 34, 82, 34, 44, 71, 94, 34, 23, 25, 24,
|
/* 2110 */ 76, 82, 34, 87, 71, 34, 34, 44, 76, 34,
|
||||||
/* 2120 */ 34, 25, 79, 23, 23, 82, 23, 23, 99, 143,
|
/* 2120 */ 23, 22, 79, 25, 24, 82, 25, 34, 99, 23,
|
||||||
/* 2130 */ 143, 22, 25, 25, 23, 22, 11, 22, 22, 25,
|
/* 2130 */ 23, 143, 143, 23, 23, 22, 11, 25, 23, 25,
|
||||||
/* 2140 */ 23, 23, 99, 22, 22, 136, 142, 142, 142, 25,
|
/* 2140 */ 22, 22, 99, 22, 136, 23, 23, 142, 22, 22,
|
||||||
/* 2150 */ 23, 15, 1, 1, 323, 323, 323, 323, 323, 323,
|
/* 2150 */ 15, 1, 1, 25, 25, 142, 23, 142, 323, 323,
|
||||||
/* 2160 */ 323, 323, 323, 134, 323, 323, 323, 323, 139, 140,
|
/* 2160 */ 323, 323, 323, 134, 323, 323, 323, 323, 139, 140,
|
||||||
/* 2170 */ 323, 323, 323, 323, 323, 323, 323, 134, 323, 323,
|
/* 2170 */ 323, 323, 323, 323, 323, 323, 323, 134, 323, 323,
|
||||||
/* 2180 */ 323, 323, 139, 140, 323, 323, 323, 323, 323, 323,
|
/* 2180 */ 323, 323, 139, 140, 323, 323, 323, 323, 323, 323,
|
||||||
@@ -176366,16 +176369,16 @@ static const YYCODETYPE yy_lookahead[] = {
|
|||||||
/* 2310 */ 323, 323, 323, 323, 323, 323, 323, 323, 323, 323,
|
/* 2310 */ 323, 323, 323, 323, 323, 323, 323, 323, 323, 323,
|
||||||
/* 2320 */ 323, 323, 323, 323, 323, 323, 323, 323, 323, 323,
|
/* 2320 */ 323, 323, 323, 323, 323, 323, 323, 323, 323, 323,
|
||||||
/* 2330 */ 323, 323, 323, 323, 323, 323, 323, 323, 323, 323,
|
/* 2330 */ 323, 323, 323, 323, 323, 323, 323, 323, 323, 323,
|
||||||
/* 2340 */ 323, 187, 187, 187, 187, 187, 187, 187, 187, 187,
|
/* 2340 */ 323, 323, 323, 323, 323, 187, 187, 187, 187, 187,
|
||||||
/* 2350 */ 187, 187, 187, 187, 187, 187, 187, 187, 187, 187,
|
/* 2350 */ 187, 187, 187, 187, 187, 187, 187, 187, 187, 187,
|
||||||
/* 2360 */ 187, 187, 187, 187, 187, 187, 187, 187, 187, 187,
|
/* 2360 */ 187, 187, 187, 187, 187, 187, 187, 187, 187, 187,
|
||||||
/* 2370 */ 187, 187, 187, 187, 187, 187, 187, 187, 187, 187,
|
/* 2370 */ 187, 187, 187, 187, 187, 187, 187, 187, 187, 187,
|
||||||
/* 2380 */ 187, 187, 187, 187, 187, 187, 187, 187, 187, 187,
|
/* 2380 */ 187, 187, 187, 187, 187, 187, 187, 187, 187, 187,
|
||||||
/* 2390 */ 187, 187, 187, 187,
|
/* 2390 */ 187, 187, 187, 187,
|
||||||
};
|
};
|
||||||
#define YY_SHIFT_COUNT (582)
|
#define YY_SHIFT_COUNT (586)
|
||||||
#define YY_SHIFT_MIN (0)
|
#define YY_SHIFT_MIN (0)
|
||||||
#define YY_SHIFT_MAX (2152)
|
#define YY_SHIFT_MAX (2151)
|
||||||
static const unsigned short int yy_shift_ofst[] = {
|
static const unsigned short int yy_shift_ofst[] = {
|
||||||
/* 0 */ 2029, 1801, 2043, 1380, 1380, 318, 271, 1496, 1569, 1642,
|
/* 0 */ 2029, 1801, 2043, 1380, 1380, 318, 271, 1496, 1569, 1642,
|
||||||
/* 10 */ 702, 702, 702, 740, 318, 318, 318, 318, 318, 0,
|
/* 10 */ 702, 702, 702, 740, 318, 318, 318, 318, 318, 0,
|
||||||
@@ -176410,36 +176413,36 @@ static const unsigned short int yy_shift_ofst[] = {
|
|||||||
/* 300 */ 667, 667, 1487, 667, 1198, 1435, 777, 1011, 1423, 584,
|
/* 300 */ 667, 667, 1487, 667, 1198, 1435, 777, 1011, 1423, 584,
|
||||||
/* 310 */ 584, 584, 1273, 1273, 1273, 1273, 1471, 1471, 880, 1530,
|
/* 310 */ 584, 584, 1273, 1273, 1273, 1273, 1471, 1471, 880, 1530,
|
||||||
/* 320 */ 1190, 1095, 1731, 1731, 1668, 1668, 1794, 1794, 1668, 1683,
|
/* 320 */ 1190, 1095, 1731, 1731, 1668, 1668, 1794, 1794, 1668, 1683,
|
||||||
/* 330 */ 1685, 1815, 1796, 1824, 1824, 1824, 1824, 1668, 1828, 1701,
|
/* 330 */ 1685, 1815, 1690, 1694, 1799, 1690, 1694, 1825, 1825, 1825,
|
||||||
/* 340 */ 1685, 1685, 1701, 1815, 1796, 1701, 1796, 1701, 1668, 1828,
|
/* 340 */ 1825, 1668, 1837, 1707, 1685, 1685, 1707, 1815, 1799, 1707,
|
||||||
/* 350 */ 1697, 1800, 1668, 1828, 1848, 1668, 1828, 1668, 1828, 1848,
|
/* 350 */ 1799, 1707, 1668, 1837, 1709, 1807, 1668, 1837, 1854, 1668,
|
||||||
/* 360 */ 1766, 1766, 1766, 1823, 1870, 1870, 1848, 1766, 1767, 1766,
|
/* 360 */ 1837, 1668, 1837, 1854, 1772, 1772, 1772, 1829, 1868, 1868,
|
||||||
/* 370 */ 1823, 1766, 1766, 1727, 1872, 1783, 1783, 1848, 1668, 1813,
|
/* 370 */ 1854, 1772, 1774, 1772, 1829, 1772, 1772, 1736, 1880, 1792,
|
||||||
/* 380 */ 1813, 1825, 1825, 1777, 1781, 1906, 1668, 1774, 1777, 1789,
|
/* 380 */ 1792, 1854, 1668, 1816, 1816, 1824, 1824, 1690, 1694, 1909,
|
||||||
/* 390 */ 1792, 1701, 1919, 1935, 1935, 1949, 1949, 1949, 2207, 2207,
|
/* 390 */ 1668, 1779, 1690, 1791, 1798, 1707, 1923, 1941, 1941, 1959,
|
||||||
/* 400 */ 2207, 2207, 2207, 2207, 2207, 2207, 2207, 2207, 2207, 2207,
|
/* 400 */ 1959, 1959, 2207, 2207, 2207, 2207, 2207, 2207, 2207, 2207,
|
||||||
/* 410 */ 2207, 2207, 2207, 69, 1032, 79, 357, 1377, 1206, 400,
|
/* 410 */ 2207, 2207, 2207, 2207, 2207, 2207, 2207, 69, 1032, 79,
|
||||||
/* 420 */ 1525, 835, 332, 1540, 1437, 1539, 1536, 1548, 1583, 1620,
|
/* 420 */ 357, 1377, 1206, 400, 1525, 835, 332, 1540, 1437, 1539,
|
||||||
/* 430 */ 1633, 1670, 1671, 1674, 1567, 1553, 1682, 1506, 1675, 1358,
|
/* 430 */ 1536, 1548, 1583, 1620, 1633, 1670, 1671, 1674, 1567, 1553,
|
||||||
/* 440 */ 1607, 1589, 1678, 1681, 1624, 1687, 1688, 1283, 1561, 1693,
|
/* 440 */ 1682, 1506, 1675, 1358, 1607, 1589, 1678, 1681, 1624, 1687,
|
||||||
/* 450 */ 1696, 1623, 1521, 1976, 1980, 1962, 1822, 1972, 1973, 1965,
|
/* 450 */ 1688, 1283, 1561, 1693, 1696, 1623, 1521, 1979, 1983, 1966,
|
||||||
/* 460 */ 1967, 1851, 1840, 1862, 1969, 1969, 1971, 1853, 1977, 1854,
|
/* 460 */ 1826, 1974, 1975, 1969, 1970, 1855, 1842, 1865, 1972, 1972,
|
||||||
/* 470 */ 1982, 1999, 1858, 1871, 1969, 1873, 1941, 1968, 1969, 1855,
|
/* 470 */ 1976, 1856, 1978, 1857, 1985, 2002, 1861, 1874, 1972, 1875,
|
||||||
/* 480 */ 1952, 1954, 1955, 1956, 1881, 1896, 1981, 1874, 2013, 2014,
|
/* 480 */ 1945, 1971, 1972, 1858, 1955, 1958, 1960, 1961, 1885, 1902,
|
||||||
/* 490 */ 1998, 1905, 1860, 1957, 2008, 1966, 1947, 1983, 1894, 1921,
|
/* 490 */ 1986, 1879, 2021, 2018, 2004, 1908, 1871, 1967, 2010, 1968,
|
||||||
/* 500 */ 2020, 2018, 2026, 1915, 1923, 2028, 1984, 2036, 2040, 2047,
|
/* 500 */ 1962, 2003, 1903, 1931, 2025, 2030, 2033, 1926, 1936, 2041,
|
||||||
/* 510 */ 2041, 2003, 2012, 2050, 1979, 2049, 2056, 2011, 2044, 2057,
|
/* 510 */ 2006, 2048, 2049, 2053, 2050, 2009, 2019, 2054, 1984, 2052,
|
||||||
/* 520 */ 2048, 1934, 2063, 2064, 2065, 2061, 2066, 2068, 1993, 1950,
|
/* 520 */ 2060, 2016, 2051, 2062, 2055, 1937, 2064, 2067, 2068, 2069,
|
||||||
/* 530 */ 2071, 2072, 1985, 2062, 2075, 1959, 2073, 2067, 2070, 2076,
|
/* 530 */ 2072, 2070, 1998, 1956, 2074, 2076, 1987, 2071, 2079, 1963,
|
||||||
/* 540 */ 2078, 2010, 2030, 2022, 2069, 2031, 2021, 2082, 2094, 2083,
|
/* 540 */ 2077, 2075, 2078, 2081, 2082, 2014, 2034, 2026, 2073, 2042,
|
||||||
/* 550 */ 2095, 2093, 2096, 2086, 1986, 1987, 2100, 2073, 2101, 2103,
|
/* 550 */ 2012, 2085, 2097, 2099, 2100, 2098, 2101, 2093, 1988, 1989,
|
||||||
/* 560 */ 2104, 2109, 2107, 2108, 2111, 2113, 2125, 2115, 2116, 2117,
|
/* 560 */ 2106, 2077, 2107, 2110, 2111, 2113, 2112, 2114, 2115, 2118,
|
||||||
/* 570 */ 2118, 2121, 2122, 2114, 2009, 2004, 2005, 2006, 2124, 2127,
|
/* 570 */ 2125, 2119, 2121, 2122, 2123, 2126, 2127, 2128, 2008, 2005,
|
||||||
/* 580 */ 2136, 2151, 2152,
|
/* 580 */ 2013, 2015, 2129, 2133, 2135, 2150, 2151,
|
||||||
};
|
};
|
||||||
#define YY_REDUCE_COUNT (412)
|
#define YY_REDUCE_COUNT (416)
|
||||||
#define YY_REDUCE_MIN (-277)
|
#define YY_REDUCE_MIN (-277)
|
||||||
#define YY_REDUCE_MAX (1772)
|
#define YY_REDUCE_MAX (1778)
|
||||||
static const short yy_reduce_ofst[] = {
|
static const short yy_reduce_ofst[] = {
|
||||||
/* 0 */ -67, 1252, -64, -178, -181, 160, 1071, 143, -184, 137,
|
/* 0 */ -67, 1252, -64, -178, -181, 160, 1071, 143, -184, 137,
|
||||||
/* 10 */ 218, 220, 222, -174, 229, 268, 272, 275, 324, -208,
|
/* 10 */ 218, 220, 222, -174, 229, 268, 272, 275, 324, -208,
|
||||||
@@ -176474,76 +176477,76 @@ static const short yy_reduce_ofst[] = {
|
|||||||
/* 300 */ 1509, 1517, 1546, 1519, 1557, 1489, 1565, 1564, 1578, 1586,
|
/* 300 */ 1509, 1517, 1546, 1519, 1557, 1489, 1565, 1564, 1578, 1586,
|
||||||
/* 310 */ 1587, 1588, 1526, 1528, 1554, 1555, 1576, 1577, 1566, 1579,
|
/* 310 */ 1587, 1588, 1526, 1528, 1554, 1555, 1576, 1577, 1566, 1579,
|
||||||
/* 320 */ 1584, 1591, 1520, 1523, 1617, 1628, 1580, 1581, 1632, 1585,
|
/* 320 */ 1584, 1591, 1520, 1523, 1617, 1628, 1580, 1581, 1632, 1585,
|
||||||
/* 330 */ 1590, 1593, 1604, 1605, 1606, 1608, 1609, 1641, 1649, 1610,
|
/* 330 */ 1590, 1593, 1592, 1594, 1610, 1595, 1597, 1611, 1612, 1613,
|
||||||
/* 340 */ 1592, 1594, 1611, 1595, 1616, 1612, 1618, 1613, 1651, 1654,
|
/* 340 */ 1614, 1652, 1655, 1615, 1598, 1600, 1616, 1596, 1622, 1619,
|
||||||
/* 350 */ 1596, 1598, 1655, 1663, 1650, 1673, 1680, 1677, 1684, 1653,
|
/* 350 */ 1625, 1631, 1657, 1659, 1599, 1601, 1679, 1684, 1661, 1680,
|
||||||
/* 360 */ 1664, 1666, 1667, 1662, 1669, 1672, 1676, 1686, 1679, 1691,
|
/* 360 */ 1686, 1689, 1695, 1663, 1669, 1677, 1691, 1666, 1672, 1673,
|
||||||
/* 370 */ 1689, 1692, 1694, 1597, 1599, 1619, 1630, 1699, 1700, 1602,
|
/* 370 */ 1692, 1698, 1700, 1703, 1676, 1705, 1706, 1618, 1604, 1629,
|
||||||
/* 380 */ 1615, 1648, 1657, 1690, 1698, 1658, 1729, 1652, 1695, 1702,
|
/* 380 */ 1643, 1704, 1711, 1621, 1626, 1648, 1665, 1697, 1699, 1656,
|
||||||
/* 390 */ 1704, 1703, 1741, 1754, 1758, 1768, 1769, 1771, 1660, 1661,
|
/* 390 */ 1735, 1662, 1701, 1702, 1712, 1714, 1747, 1759, 1767, 1773,
|
||||||
/* 400 */ 1665, 1752, 1756, 1757, 1759, 1760, 1764, 1745, 1753, 1762,
|
/* 400 */ 1775, 1777, 1660, 1667, 1710, 1763, 1753, 1760, 1761, 1762,
|
||||||
/* 410 */ 1763, 1761, 1772,
|
/* 410 */ 1765, 1754, 1755, 1764, 1768, 1766, 1778,
|
||||||
};
|
};
|
||||||
static const YYACTIONTYPE yy_default[] = {
|
static const YYACTIONTYPE yy_default[] = {
|
||||||
/* 0 */ 1663, 1663, 1663, 1491, 1254, 1367, 1254, 1254, 1254, 1254,
|
/* 0 */ 1667, 1667, 1667, 1495, 1258, 1371, 1258, 1258, 1258, 1258,
|
||||||
/* 10 */ 1491, 1491, 1491, 1254, 1254, 1254, 1254, 1254, 1254, 1397,
|
/* 10 */ 1495, 1495, 1495, 1258, 1258, 1258, 1258, 1258, 1258, 1401,
|
||||||
/* 20 */ 1397, 1544, 1287, 1254, 1254, 1254, 1254, 1254, 1254, 1254,
|
/* 20 */ 1401, 1548, 1291, 1258, 1258, 1258, 1258, 1258, 1258, 1258,
|
||||||
/* 30 */ 1254, 1254, 1254, 1254, 1254, 1490, 1254, 1254, 1254, 1254,
|
/* 30 */ 1258, 1258, 1258, 1258, 1258, 1494, 1258, 1258, 1258, 1258,
|
||||||
/* 40 */ 1578, 1578, 1254, 1254, 1254, 1254, 1254, 1563, 1562, 1254,
|
/* 40 */ 1582, 1582, 1258, 1258, 1258, 1258, 1258, 1567, 1566, 1258,
|
||||||
/* 50 */ 1254, 1254, 1406, 1254, 1413, 1254, 1254, 1254, 1254, 1254,
|
/* 50 */ 1258, 1258, 1410, 1258, 1417, 1258, 1258, 1258, 1258, 1258,
|
||||||
/* 60 */ 1492, 1493, 1254, 1254, 1254, 1254, 1543, 1545, 1508, 1420,
|
/* 60 */ 1496, 1497, 1258, 1258, 1258, 1258, 1547, 1549, 1512, 1424,
|
||||||
/* 70 */ 1419, 1418, 1417, 1526, 1385, 1411, 1404, 1408, 1487, 1488,
|
/* 70 */ 1423, 1422, 1421, 1530, 1389, 1415, 1408, 1412, 1491, 1492,
|
||||||
/* 80 */ 1486, 1641, 1493, 1492, 1254, 1407, 1455, 1471, 1454, 1254,
|
/* 80 */ 1490, 1645, 1497, 1496, 1258, 1411, 1459, 1475, 1458, 1258,
|
||||||
/* 90 */ 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254,
|
/* 90 */ 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258,
|
||||||
/* 100 */ 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254,
|
/* 100 */ 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258,
|
||||||
/* 110 */ 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254,
|
/* 110 */ 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258,
|
||||||
/* 120 */ 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254,
|
/* 120 */ 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258,
|
||||||
/* 130 */ 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254,
|
/* 130 */ 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258,
|
||||||
/* 140 */ 1254, 1254, 1463, 1470, 1469, 1468, 1477, 1467, 1464, 1457,
|
/* 140 */ 1258, 1258, 1467, 1474, 1473, 1472, 1481, 1471, 1468, 1461,
|
||||||
/* 150 */ 1456, 1458, 1459, 1278, 1254, 1275, 1329, 1254, 1254, 1254,
|
/* 150 */ 1460, 1462, 1463, 1282, 1258, 1279, 1333, 1258, 1258, 1258,
|
||||||
/* 160 */ 1254, 1254, 1460, 1287, 1448, 1447, 1446, 1254, 1474, 1461,
|
/* 160 */ 1258, 1258, 1464, 1291, 1452, 1451, 1450, 1258, 1478, 1465,
|
||||||
/* 170 */ 1473, 1472, 1551, 1615, 1614, 1509, 1254, 1254, 1254, 1254,
|
/* 170 */ 1477, 1476, 1555, 1619, 1618, 1513, 1258, 1258, 1258, 1258,
|
||||||
/* 180 */ 1254, 1254, 1578, 1254, 1254, 1254, 1254, 1254, 1254, 1254,
|
/* 180 */ 1258, 1258, 1582, 1258, 1258, 1258, 1258, 1258, 1258, 1258,
|
||||||
/* 190 */ 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254,
|
/* 190 */ 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258,
|
||||||
/* 200 */ 1254, 1254, 1254, 1254, 1254, 1387, 1578, 1578, 1254, 1287,
|
/* 200 */ 1258, 1258, 1258, 1258, 1258, 1391, 1582, 1582, 1258, 1291,
|
||||||
/* 210 */ 1578, 1578, 1388, 1388, 1283, 1283, 1391, 1558, 1358, 1358,
|
/* 210 */ 1582, 1582, 1392, 1392, 1287, 1287, 1395, 1562, 1362, 1362,
|
||||||
/* 220 */ 1358, 1358, 1367, 1358, 1254, 1254, 1254, 1254, 1254, 1254,
|
/* 220 */ 1362, 1362, 1371, 1362, 1258, 1258, 1258, 1258, 1258, 1258,
|
||||||
/* 230 */ 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1548,
|
/* 230 */ 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1552,
|
||||||
/* 240 */ 1546, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254,
|
/* 240 */ 1550, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258,
|
||||||
/* 250 */ 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254,
|
/* 250 */ 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258,
|
||||||
/* 260 */ 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1363, 1254,
|
/* 260 */ 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1367, 1258,
|
||||||
/* 270 */ 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1608,
|
/* 270 */ 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1612,
|
||||||
/* 280 */ 1254, 1521, 1343, 1363, 1363, 1363, 1363, 1365, 1344, 1342,
|
/* 280 */ 1258, 1525, 1347, 1367, 1367, 1367, 1367, 1369, 1348, 1346,
|
||||||
/* 290 */ 1357, 1288, 1261, 1655, 1423, 1412, 1364, 1412, 1652, 1410,
|
/* 290 */ 1361, 1292, 1265, 1659, 1427, 1416, 1368, 1416, 1656, 1414,
|
||||||
/* 300 */ 1423, 1423, 1410, 1423, 1364, 1652, 1304, 1630, 1299, 1397,
|
/* 300 */ 1427, 1427, 1414, 1427, 1368, 1656, 1308, 1634, 1303, 1401,
|
||||||
/* 310 */ 1397, 1397, 1387, 1387, 1387, 1387, 1391, 1391, 1489, 1364,
|
/* 310 */ 1401, 1401, 1391, 1391, 1391, 1391, 1395, 1395, 1493, 1368,
|
||||||
/* 320 */ 1357, 1254, 1655, 1655, 1373, 1373, 1654, 1654, 1373, 1509,
|
/* 320 */ 1361, 1258, 1659, 1659, 1377, 1377, 1658, 1658, 1377, 1513,
|
||||||
/* 330 */ 1638, 1432, 1332, 1338, 1338, 1338, 1338, 1373, 1272, 1410,
|
/* 330 */ 1642, 1436, 1409, 1395, 1336, 1409, 1395, 1342, 1342, 1342,
|
||||||
/* 340 */ 1638, 1638, 1410, 1432, 1332, 1410, 1332, 1410, 1373, 1272,
|
/* 340 */ 1342, 1377, 1276, 1414, 1642, 1642, 1414, 1436, 1336, 1414,
|
||||||
/* 350 */ 1525, 1649, 1373, 1272, 1499, 1373, 1272, 1373, 1272, 1499,
|
/* 350 */ 1336, 1414, 1377, 1276, 1529, 1653, 1377, 1276, 1503, 1377,
|
||||||
/* 360 */ 1330, 1330, 1330, 1319, 1254, 1254, 1499, 1330, 1304, 1330,
|
/* 360 */ 1276, 1377, 1276, 1503, 1334, 1334, 1334, 1323, 1258, 1258,
|
||||||
/* 370 */ 1319, 1330, 1330, 1596, 1254, 1503, 1503, 1499, 1373, 1588,
|
/* 370 */ 1503, 1334, 1308, 1334, 1323, 1334, 1334, 1600, 1258, 1507,
|
||||||
/* 380 */ 1588, 1400, 1400, 1405, 1391, 1494, 1373, 1254, 1405, 1403,
|
/* 380 */ 1507, 1503, 1377, 1592, 1592, 1404, 1404, 1409, 1395, 1498,
|
||||||
/* 390 */ 1401, 1410, 1322, 1611, 1611, 1607, 1607, 1607, 1660, 1660,
|
/* 390 */ 1377, 1258, 1409, 1407, 1405, 1414, 1326, 1615, 1615, 1611,
|
||||||
/* 400 */ 1558, 1623, 1287, 1287, 1287, 1287, 1623, 1306, 1306, 1288,
|
/* 400 */ 1611, 1611, 1664, 1664, 1562, 1627, 1291, 1291, 1291, 1291,
|
||||||
/* 410 */ 1288, 1287, 1623, 1254, 1254, 1254, 1254, 1254, 1254, 1618,
|
/* 410 */ 1627, 1310, 1310, 1292, 1292, 1291, 1627, 1258, 1258, 1258,
|
||||||
/* 420 */ 1254, 1553, 1510, 1377, 1254, 1254, 1254, 1254, 1254, 1254,
|
/* 420 */ 1258, 1258, 1258, 1622, 1258, 1557, 1514, 1381, 1258, 1258,
|
||||||
/* 430 */ 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254,
|
/* 430 */ 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258,
|
||||||
/* 440 */ 1564, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254,
|
/* 440 */ 1258, 1258, 1258, 1258, 1568, 1258, 1258, 1258, 1258, 1258,
|
||||||
/* 450 */ 1254, 1254, 1437, 1254, 1257, 1555, 1254, 1254, 1254, 1254,
|
/* 450 */ 1258, 1258, 1258, 1258, 1258, 1258, 1441, 1258, 1261, 1559,
|
||||||
/* 460 */ 1254, 1254, 1254, 1254, 1414, 1415, 1378, 1254, 1254, 1254,
|
/* 460 */ 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1418, 1419,
|
||||||
/* 470 */ 1254, 1254, 1254, 1254, 1429, 1254, 1254, 1254, 1424, 1254,
|
/* 470 */ 1382, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1433, 1258,
|
||||||
/* 480 */ 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1651, 1254, 1254,
|
/* 480 */ 1258, 1258, 1428, 1258, 1258, 1258, 1258, 1258, 1258, 1258,
|
||||||
/* 490 */ 1254, 1254, 1254, 1254, 1524, 1523, 1254, 1254, 1375, 1254,
|
/* 490 */ 1258, 1655, 1258, 1258, 1258, 1258, 1258, 1258, 1528, 1527,
|
||||||
/* 500 */ 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254,
|
/* 500 */ 1258, 1258, 1379, 1258, 1258, 1258, 1258, 1258, 1258, 1258,
|
||||||
/* 510 */ 1254, 1254, 1302, 1254, 1254, 1254, 1254, 1254, 1254, 1254,
|
/* 510 */ 1258, 1258, 1258, 1258, 1258, 1258, 1306, 1258, 1258, 1258,
|
||||||
/* 520 */ 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254,
|
/* 520 */ 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258,
|
||||||
/* 530 */ 1254, 1254, 1254, 1254, 1254, 1254, 1402, 1254, 1254, 1254,
|
/* 530 */ 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258,
|
||||||
/* 540 */ 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254,
|
/* 540 */ 1406, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258,
|
||||||
/* 550 */ 1254, 1593, 1392, 1254, 1254, 1254, 1254, 1642, 1254, 1254,
|
/* 550 */ 1258, 1258, 1258, 1258, 1258, 1597, 1396, 1258, 1258, 1258,
|
||||||
/* 560 */ 1254, 1254, 1352, 1254, 1254, 1254, 1254, 1254, 1254, 1254,
|
/* 560 */ 1258, 1646, 1258, 1258, 1258, 1258, 1356, 1258, 1258, 1258,
|
||||||
/* 570 */ 1254, 1254, 1254, 1634, 1346, 1438, 1254, 1441, 1276, 1254,
|
/* 570 */ 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1638, 1350, 1442,
|
||||||
/* 580 */ 1266, 1254, 1254,
|
/* 580 */ 1258, 1445, 1280, 1258, 1270, 1258, 1258,
|
||||||
};
|
};
|
||||||
/********** End of lemon-generated parsing tables *****************************/
|
/********** End of lemon-generated parsing tables *****************************/
|
||||||
|
|
||||||
@@ -177315,14 +177318,14 @@ static const char *const yyRuleName[] = {
|
|||||||
/* 149 */ "limit_opt ::= LIMIT expr",
|
/* 149 */ "limit_opt ::= LIMIT expr",
|
||||||
/* 150 */ "limit_opt ::= LIMIT expr OFFSET expr",
|
/* 150 */ "limit_opt ::= LIMIT expr OFFSET expr",
|
||||||
/* 151 */ "limit_opt ::= LIMIT expr COMMA expr",
|
/* 151 */ "limit_opt ::= LIMIT expr COMMA expr",
|
||||||
/* 152 */ "cmd ::= with DELETE FROM xfullname indexed_opt where_opt_ret",
|
/* 152 */ "cmd ::= with DELETE FROM xfullname indexed_opt where_opt_ret orderby_opt limit_opt",
|
||||||
/* 153 */ "where_opt ::=",
|
/* 153 */ "where_opt ::=",
|
||||||
/* 154 */ "where_opt ::= WHERE expr",
|
/* 154 */ "where_opt ::= WHERE expr",
|
||||||
/* 155 */ "where_opt_ret ::=",
|
/* 155 */ "where_opt_ret ::=",
|
||||||
/* 156 */ "where_opt_ret ::= WHERE expr",
|
/* 156 */ "where_opt_ret ::= WHERE expr",
|
||||||
/* 157 */ "where_opt_ret ::= RETURNING selcollist",
|
/* 157 */ "where_opt_ret ::= RETURNING selcollist",
|
||||||
/* 158 */ "where_opt_ret ::= WHERE expr RETURNING selcollist",
|
/* 158 */ "where_opt_ret ::= WHERE expr RETURNING selcollist",
|
||||||
/* 159 */ "cmd ::= with UPDATE orconf xfullname indexed_opt SET setlist from where_opt_ret",
|
/* 159 */ "cmd ::= with UPDATE orconf xfullname indexed_opt SET setlist from where_opt_ret orderby_opt limit_opt",
|
||||||
/* 160 */ "setlist ::= setlist COMMA nm EQ expr",
|
/* 160 */ "setlist ::= setlist COMMA nm EQ expr",
|
||||||
/* 161 */ "setlist ::= setlist COMMA LP idlist RP EQ expr",
|
/* 161 */ "setlist ::= setlist COMMA LP idlist RP EQ expr",
|
||||||
/* 162 */ "setlist ::= nm EQ expr",
|
/* 162 */ "setlist ::= nm EQ expr",
|
||||||
@@ -178240,14 +178243,14 @@ static const YYCODETYPE yyRuleInfoLhs[] = {
|
|||||||
252, /* (149) limit_opt ::= LIMIT expr */
|
252, /* (149) limit_opt ::= LIMIT expr */
|
||||||
252, /* (150) limit_opt ::= LIMIT expr OFFSET expr */
|
252, /* (150) limit_opt ::= LIMIT expr OFFSET expr */
|
||||||
252, /* (151) limit_opt ::= LIMIT expr COMMA expr */
|
252, /* (151) limit_opt ::= LIMIT expr COMMA expr */
|
||||||
192, /* (152) cmd ::= with DELETE FROM xfullname indexed_opt where_opt_ret */
|
192, /* (152) cmd ::= with DELETE FROM xfullname indexed_opt where_opt_ret orderby_opt limit_opt */
|
||||||
248, /* (153) where_opt ::= */
|
248, /* (153) where_opt ::= */
|
||||||
248, /* (154) where_opt ::= WHERE expr */
|
248, /* (154) where_opt ::= WHERE expr */
|
||||||
270, /* (155) where_opt_ret ::= */
|
270, /* (155) where_opt_ret ::= */
|
||||||
270, /* (156) where_opt_ret ::= WHERE expr */
|
270, /* (156) where_opt_ret ::= WHERE expr */
|
||||||
270, /* (157) where_opt_ret ::= RETURNING selcollist */
|
270, /* (157) where_opt_ret ::= RETURNING selcollist */
|
||||||
270, /* (158) where_opt_ret ::= WHERE expr RETURNING selcollist */
|
270, /* (158) where_opt_ret ::= WHERE expr RETURNING selcollist */
|
||||||
192, /* (159) cmd ::= with UPDATE orconf xfullname indexed_opt SET setlist from where_opt_ret */
|
192, /* (159) cmd ::= with UPDATE orconf xfullname indexed_opt SET setlist from where_opt_ret orderby_opt limit_opt */
|
||||||
271, /* (160) setlist ::= setlist COMMA nm EQ expr */
|
271, /* (160) setlist ::= setlist COMMA nm EQ expr */
|
||||||
271, /* (161) setlist ::= setlist COMMA LP idlist RP EQ expr */
|
271, /* (161) setlist ::= setlist COMMA LP idlist RP EQ expr */
|
||||||
271, /* (162) setlist ::= nm EQ expr */
|
271, /* (162) setlist ::= nm EQ expr */
|
||||||
@@ -178654,14 +178657,14 @@ static const signed char yyRuleInfoNRhs[] = {
|
|||||||
-2, /* (149) limit_opt ::= LIMIT expr */
|
-2, /* (149) limit_opt ::= LIMIT expr */
|
||||||
-4, /* (150) limit_opt ::= LIMIT expr OFFSET expr */
|
-4, /* (150) limit_opt ::= LIMIT expr OFFSET expr */
|
||||||
-4, /* (151) limit_opt ::= LIMIT expr COMMA expr */
|
-4, /* (151) limit_opt ::= LIMIT expr COMMA expr */
|
||||||
-6, /* (152) cmd ::= with DELETE FROM xfullname indexed_opt where_opt_ret */
|
-8, /* (152) cmd ::= with DELETE FROM xfullname indexed_opt where_opt_ret orderby_opt limit_opt */
|
||||||
0, /* (153) where_opt ::= */
|
0, /* (153) where_opt ::= */
|
||||||
-2, /* (154) where_opt ::= WHERE expr */
|
-2, /* (154) where_opt ::= WHERE expr */
|
||||||
0, /* (155) where_opt_ret ::= */
|
0, /* (155) where_opt_ret ::= */
|
||||||
-2, /* (156) where_opt_ret ::= WHERE expr */
|
-2, /* (156) where_opt_ret ::= WHERE expr */
|
||||||
-2, /* (157) where_opt_ret ::= RETURNING selcollist */
|
-2, /* (157) where_opt_ret ::= RETURNING selcollist */
|
||||||
-4, /* (158) where_opt_ret ::= WHERE expr RETURNING selcollist */
|
-4, /* (158) where_opt_ret ::= WHERE expr RETURNING selcollist */
|
||||||
-9, /* (159) cmd ::= with UPDATE orconf xfullname indexed_opt SET setlist from where_opt_ret */
|
-11, /* (159) cmd ::= with UPDATE orconf xfullname indexed_opt SET setlist from where_opt_ret orderby_opt limit_opt */
|
||||||
-5, /* (160) setlist ::= setlist COMMA nm EQ expr */
|
-5, /* (160) setlist ::= setlist COMMA nm EQ expr */
|
||||||
-7, /* (161) setlist ::= setlist COMMA LP idlist RP EQ expr */
|
-7, /* (161) setlist ::= setlist COMMA LP idlist RP EQ expr */
|
||||||
-3, /* (162) setlist ::= nm EQ expr */
|
-3, /* (162) setlist ::= nm EQ expr */
|
||||||
@@ -179579,10 +179582,17 @@ static YYACTIONTYPE yy_reduce(
|
|||||||
case 151: /* limit_opt ::= LIMIT expr COMMA expr */
|
case 151: /* limit_opt ::= LIMIT expr COMMA expr */
|
||||||
{yymsp[-3].minor.yy590 = sqlite3PExpr(pParse,TK_LIMIT,yymsp[0].minor.yy590,yymsp[-2].minor.yy590);}
|
{yymsp[-3].minor.yy590 = sqlite3PExpr(pParse,TK_LIMIT,yymsp[0].minor.yy590,yymsp[-2].minor.yy590);}
|
||||||
break;
|
break;
|
||||||
case 152: /* cmd ::= with DELETE FROM xfullname indexed_opt where_opt_ret */
|
case 152: /* cmd ::= with DELETE FROM xfullname indexed_opt where_opt_ret orderby_opt limit_opt */
|
||||||
{
|
{
|
||||||
sqlite3SrcListIndexedBy(pParse, yymsp[-2].minor.yy563, &yymsp[-1].minor.yy0);
|
sqlite3SrcListIndexedBy(pParse, yymsp[-4].minor.yy563, &yymsp[-3].minor.yy0);
|
||||||
sqlite3DeleteFrom(pParse,yymsp[-2].minor.yy563,yymsp[0].minor.yy590,0,0);
|
#ifndef SQLITE_ENABLE_UPDATE_DELETE_LIMIT
|
||||||
|
if( yymsp[-1].minor.yy402 || yymsp[0].minor.yy590 ){
|
||||||
|
updateDeleteLimitError(pParse,yymsp[-1].minor.yy402,yymsp[0].minor.yy590);
|
||||||
|
yymsp[-1].minor.yy402 = 0;
|
||||||
|
yymsp[0].minor.yy590 = 0;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
sqlite3DeleteFrom(pParse,yymsp[-4].minor.yy563,yymsp[-2].minor.yy590,yymsp[-1].minor.yy402,yymsp[0].minor.yy590);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 157: /* where_opt_ret ::= RETURNING selcollist */
|
case 157: /* where_opt_ret ::= RETURNING selcollist */
|
||||||
@@ -179591,12 +179601,11 @@ static YYACTIONTYPE yy_reduce(
|
|||||||
case 158: /* where_opt_ret ::= WHERE expr RETURNING selcollist */
|
case 158: /* where_opt_ret ::= WHERE expr RETURNING selcollist */
|
||||||
{sqlite3AddReturning(pParse,yymsp[0].minor.yy402); yymsp[-3].minor.yy590 = yymsp[-2].minor.yy590;}
|
{sqlite3AddReturning(pParse,yymsp[0].minor.yy402); yymsp[-3].minor.yy590 = yymsp[-2].minor.yy590;}
|
||||||
break;
|
break;
|
||||||
case 159: /* cmd ::= with UPDATE orconf xfullname indexed_opt SET setlist from where_opt_ret */
|
case 159: /* cmd ::= with UPDATE orconf xfullname indexed_opt SET setlist from where_opt_ret orderby_opt limit_opt */
|
||||||
{
|
{
|
||||||
sqlite3SrcListIndexedBy(pParse, yymsp[-5].minor.yy563, &yymsp[-4].minor.yy0);
|
sqlite3SrcListIndexedBy(pParse, yymsp[-7].minor.yy563, &yymsp[-6].minor.yy0);
|
||||||
sqlite3ExprListCheckLength(pParse,yymsp[-2].minor.yy402,"set list");
|
if( yymsp[-3].minor.yy563 ){
|
||||||
if( yymsp[-1].minor.yy563 ){
|
SrcList *pFromClause = yymsp[-3].minor.yy563;
|
||||||
SrcList *pFromClause = yymsp[-1].minor.yy563;
|
|
||||||
if( pFromClause->nSrc>1 ){
|
if( pFromClause->nSrc>1 ){
|
||||||
Select *pSubquery;
|
Select *pSubquery;
|
||||||
Token as;
|
Token as;
|
||||||
@@ -179605,9 +179614,17 @@ static YYACTIONTYPE yy_reduce(
|
|||||||
as.z = 0;
|
as.z = 0;
|
||||||
pFromClause = sqlite3SrcListAppendFromTerm(pParse,0,0,0,&as,pSubquery,0);
|
pFromClause = sqlite3SrcListAppendFromTerm(pParse,0,0,0,&as,pSubquery,0);
|
||||||
}
|
}
|
||||||
yymsp[-5].minor.yy563 = sqlite3SrcListAppendList(pParse, yymsp[-5].minor.yy563, pFromClause);
|
yymsp[-7].minor.yy563 = sqlite3SrcListAppendList(pParse, yymsp[-7].minor.yy563, pFromClause);
|
||||||
}
|
}
|
||||||
sqlite3Update(pParse,yymsp[-5].minor.yy563,yymsp[-2].minor.yy402,yymsp[0].minor.yy590,yymsp[-6].minor.yy502,0,0,0);
|
sqlite3ExprListCheckLength(pParse,yymsp[-4].minor.yy402,"set list");
|
||||||
|
#ifndef SQLITE_ENABLE_UPDATE_DELETE_LIMIT
|
||||||
|
if( yymsp[-1].minor.yy402 || yymsp[0].minor.yy590 ){
|
||||||
|
updateDeleteLimitError(pParse,yymsp[-1].minor.yy402,yymsp[0].minor.yy590);
|
||||||
|
yymsp[-1].minor.yy402 = 0;
|
||||||
|
yymsp[0].minor.yy590 = 0;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
sqlite3Update(pParse,yymsp[-7].minor.yy563,yymsp[-4].minor.yy402,yymsp[-2].minor.yy590,yymsp[-8].minor.yy502,yymsp[-1].minor.yy402,yymsp[0].minor.yy590,0);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 160: /* setlist ::= setlist COMMA nm EQ expr */
|
case 160: /* setlist ::= setlist COMMA nm EQ expr */
|
||||||
|
|||||||
@@ -1214,7 +1214,23 @@ describe("SQLite-specific features", () => {
|
|||||||
await sql`insert into "users" ("id", "name", "verified", "created_at") values (null, ${"John"}, ${0}, strftime('%s', 'now')) returning upper("name")`;
|
await sql`insert into "users" ("id", "name", "verified", "created_at") values (null, ${"John"}, ${0}, strftime('%s', 'now')) returning upper("name")`;
|
||||||
expect(upperName).toBe("JOHN");
|
expect(upperName).toBe("JOHN");
|
||||||
});
|
});
|
||||||
|
test("order by and limit in delete statements", async () => {
|
||||||
|
await using sql = new SQL("sqlite://:memory:");
|
||||||
|
await sql`CREATE TABLE users (id INTEGER, name TEXT)`;
|
||||||
|
await sql`INSERT INTO users VALUES (1, 'John'), (2, 'Jane'), (3, 'Austin')`;
|
||||||
|
const result = await sql`delete from "users" where "users"."id" = ${1} order by "users"."name" asc limit ${1}`;
|
||||||
|
expect(result.count).toBe(1);
|
||||||
|
expect(result.command).toBe("DELETE");
|
||||||
|
});
|
||||||
|
test("order by and limit in update statements", async () => {
|
||||||
|
await using sql = new SQL("sqlite://:memory:");
|
||||||
|
await sql`CREATE TABLE users (id INTEGER, name TEXT)`;
|
||||||
|
await sql`INSERT INTO users VALUES (1, 'John'), (2, 'Jane'), (3, 'Austin')`;
|
||||||
|
const result =
|
||||||
|
await sql`update "users" set "name" = 'John' where "users"."id" = ${1} order by "users"."name" asc limit ${1}`;
|
||||||
|
expect(result.count).toBe(1);
|
||||||
|
expect(result.command).toBe("UPDATE");
|
||||||
|
});
|
||||||
test("last_insert_rowid()", async () => {
|
test("last_insert_rowid()", async () => {
|
||||||
await sql`CREATE TABLE rowid_test (id INTEGER PRIMARY KEY, value TEXT)`;
|
await sql`CREATE TABLE rowid_test (id INTEGER PRIMARY KEY, value TEXT)`;
|
||||||
await sql`INSERT INTO rowid_test (value) VALUES ('test')`;
|
await sql`INSERT INTO rowid_test (value) VALUES ('test')`;
|
||||||
|
|||||||
Reference in New Issue
Block a user