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