---
This commit is contained in:
@@ -0,0 +1,364 @@
|
||||
## Summary
|
||||
<!--Explain briefly what goes wrong and explain why you believe this is a bug and not the intended behavior of SQLite (if it is not a crash).-->**No review yet**
|
||||
|
||||
## Minimized query
|
||||
|
||||
```sql
|
||||
CREATE VIRTUAL TABLE T
|
||||
USING fts5(a,b);
|
||||
INSERT INTO T VALUES ('a','b c'), ('d','e f');
|
||||
SELECT a,b FROM T WHERE T MATCH 'b';
|
||||
BEGIN EXCLUSIVE TRANSACTION;
|
||||
SAVEPOINT sp2116;
|
||||
ATTACH DATABASE ':memory:' AS aux59;
|
||||
PRAGMA case_sensitive_like > radians(json_valid(8531648876808322127, 2));
|
||||
creATE VIRTUAL TABLE t0 USING fts3("x", "y", "z");
|
||||
DROP TABLE t0;
|
||||
DETACH DATABASE aux59;
|
||||
VACUUM;
|
||||
ATTACH DATABASE ':memory:' AS aux59;
|
||||
PRAGMA case_sensitive_like = 0;
|
||||
creATE VIRTUAL TABLE t0 USING fts3("x", "y", "z");
|
||||
DROP TABLE t0;
|
||||
DETACH DATABASE aux59;
|
||||
VACUUM;
|
||||
ATTACH DATABASE ':memory:' AS aux59;
|
||||
CREATE TABLE T (
|
||||
a INTEGER,
|
||||
b REAL,
|
||||
c REAL
|
||||
);
|
||||
INSERT INTO T VALUES (1,1.5,10.0), (2,-2.5,20.0), (3,-9e999,30.0);
|
||||
SELECT * FROM T WHERE b < 2.0 ORDER BY b;
|
||||
PRAGMA case_sensitive_like = 0;
|
||||
creATE VIRTUAL TABLE t0 USING fts3("x", "y", "z");
|
||||
DROP TABLE t0;
|
||||
DETACH DATABASE aux59;
|
||||
VACUUM;
|
||||
ATTACH DATABASE ':memory:' AS aux59;
|
||||
PRAGMA case_sensitive_like = 0;
|
||||
creATE VIRTUAL TABLE t0 USING fts3("x", "y", "z");
|
||||
DROP TABLE /**/ t0;
|
||||
DETACH DATABASE aux59;
|
||||
VACUUM;
|
||||
ATTACH DATABASE ':memory:' AS aux59;
|
||||
PRAGMA case_sensitive_like = 0;
|
||||
creATE VIRTUAL TABLE t0 USING fts3("x", "y", "z");
|
||||
DROP TABLE t0;
|
||||
DETACH DATABASE aux59;
|
||||
VACUUM;
|
||||
ATTACH DATABASE ':memory:' AS aux59;
|
||||
PRAGMA case_sensitive_like = 0;
|
||||
creATE VIRTUAL TABLE t0 USING fts3("x", "y", "z");
|
||||
DROP TABLE t0;
|
||||
DETACH DATABASE aux59;
|
||||
VACUUM;
|
||||
ATTACH DATABASE ':memory:' AS aux59;
|
||||
PRAGMA case_sensitive_like = 0;
|
||||
creATE VIRTUAL TABLE t0 USING fts3("x", "y", "z");
|
||||
DROP TABLE t0;
|
||||
DETACH DATABASE aux59;
|
||||
VACUUM;
|
||||
|
||||
SELECT * FROM T WHERE c <= ALL (SELECT c FROM T);
|
||||
CREATE TRIGGER IF NOT EXISTS trg_T_1306 AFTER UPDATE ON T BEGIN SELECT RAISE(IGNORE); END;
|
||||
CREATE TEMP VIEW IF NOT EXISTS v_T_5754 AS SELECT b FROM T;
|
||||
PRAGMA empty_result_callbacks = TRUE;
|
||||
SELECT * FROM T;
|
||||
RELEASE sp2116;
|
||||
ALTER TABLE T DROP COLUMN b;
|
||||
SAVEPOINT sp2116;
|
||||
ATTACH DATABASE ':memory:' AS aux59;
|
||||
PRAGMA case_sensitive_like = radians(json_valid(0, 2));
|
||||
creATE VIRTUAL TABLE t0 USING fts3("x", "y", "z");
|
||||
DROP TABLE t0;
|
||||
DETACH DATABASE aux59;
|
||||
VACUUM;
|
||||
ATTACH DATABASE ':memory:' AS aux59;
|
||||
PRAGMA case_sensitive_like = 0;
|
||||
creATE VIRTUAL TABLE t0 USING fts3("x", "y", "z");
|
||||
DROP TABLE t0;
|
||||
DETACH DATABASE aux59;
|
||||
VACUUM;
|
||||
ATTACH DATABASE ':memory:' AS aux59;
|
||||
CREATE TABLE T (
|
||||
a INTEGER,
|
||||
b REAL,
|
||||
c REAL
|
||||
);
|
||||
INSERT INTO T VALUES (1,1.5,10.0), (2,-2.5,20.0), (3,-9e999,30.0);
|
||||
SELECT * FROM T WHERE b < 2.0 ORDER BY b;
|
||||
PRAGMA case_sensitive_like = 0;
|
||||
creATE VIRTUAL TABLE t0 USING fts3("x", "y", "z");
|
||||
DROP TABLE t0;
|
||||
DETACH DATABASE aux59;
|
||||
VACUUM;
|
||||
ATTACH DATABASE ':memory:' AS aux59;
|
||||
PRAGMA case_sensitive_like = 0;
|
||||
creATE VIRTUAL TABLE t0 USING fts3("x", "y", "z");
|
||||
DROP TABLE /**/ t0;
|
||||
DETACH DATABASE aux59;
|
||||
VACUUM;
|
||||
ATTACH DATABASE ':memory:' AS aux59;
|
||||
PRAGMA case_sensitive_like = 0;
|
||||
creATE VIRTUAL TABLE t0 USING fts3("x", "y", "z");
|
||||
DROP TABLE t0;
|
||||
DETACH DATABASE aux59;
|
||||
VACUUM;
|
||||
ATTACH DATABASE ':memory:' AS aux59;
|
||||
PRAGMA case_sensitive_like = 0;
|
||||
creATE VIRTUAL TABLE t0 USING fts3("x", "y", "z");
|
||||
DROP TABLE t0;
|
||||
DETACH DATABASE aux59;
|
||||
VACUUM;
|
||||
ATTACH DATABASE ':memory:' AS aux59;
|
||||
PRAGMA case_sensitive_like = 0;
|
||||
creATE VIRTUAL TABLE t0 USING fts3("x", "y", "z");
|
||||
DROP TABLE t0;
|
||||
DETACH DATABASE aux59;
|
||||
VACUUM;
|
||||
|
||||
SELECT * FROM T WHERE c <= ALL (SELECT c FROM T);
|
||||
CREATE TRIGGER IF NOT EXISTS trg_T_1306 AFTER UPDATE ON T BEGIN SELECT RAISE(IGNORE); END;
|
||||
CREATE TEMP VIEW IF NOT EXISTS v_T_5754 AS SELECT b FROM T;
|
||||
PRAGMA empty_result_callbacks = TRUE;
|
||||
SELECT * FROM T;
|
||||
RELEASE sp2116;
|
||||
ALTER TABLE T DROP COLUMN b;
|
||||
SAVEPOINT sp2116;
|
||||
ATTACH DATABASE ':memory:' AS aux59;
|
||||
PRAGMA case_sensitive_like = radians(json_valid(0, 2));
|
||||
creATE VIRTUAL TABLE t0 USING fts3("x", "y", "z");
|
||||
DROP TABLE t0;
|
||||
DETACH DATABASE aux59;
|
||||
VACUUM;
|
||||
ATTACH DATABASE ':memory:' AS aux59;
|
||||
PRAGMA case_sensitive_like = 0;
|
||||
creATE VIRTUAL TABLE t0 USING fts3("x", "y", "z");
|
||||
DROP TABLE t0;
|
||||
DETACH DATABASE aux59;
|
||||
VACUUM;
|
||||
ATTACH DATABASE ':memory:' AS aux59;
|
||||
CREATE TABLE T (
|
||||
a INTEGER,
|
||||
b REAL,
|
||||
c REAL
|
||||
);
|
||||
INSERT INTO T VALUES (1,1.5,10.0), (2,-2.5,20.0), (3,-9e999,30.0);
|
||||
SELECT * FROM T WHERE b < 2.0 ORDER BY b;
|
||||
PRAGMA case_sensitive_like = 0;
|
||||
creATE VIRTUAL TABLE t0 USING fts3("x", "y", "z");
|
||||
DROP TABLE t0;
|
||||
DETACH DATABASE aux59;
|
||||
VACUUM;
|
||||
ATTACH DATABASE ':memory:' AS aux59;
|
||||
PRAGMA case_sensitive_like = 0;
|
||||
creATE VIRTUAL TABLE t0 USING fts3("x", "y", "z");
|
||||
DROP TABLE /**/ t0;
|
||||
DETACH DATABASE aux59;
|
||||
VACUUM;
|
||||
ATTACH DATABASE ':memory:' AS aux59;
|
||||
PRAGMA case_sensitive_like = 0;
|
||||
creATE VIRTUAL TABLE t0 USING fts3("x", "y", "z");
|
||||
DROP TABLE t0;
|
||||
DETACH DATABASE aux59;
|
||||
VACUUM;
|
||||
ATTACH DATABASE ':memory:' AS aux59;
|
||||
PRAGMA case_sensitive_like = 0;
|
||||
creATE VIRTUAL TABLE t0 USING fts3("x", "y", "z");
|
||||
DROP TABLE t0;
|
||||
DETACH DATABASE aux59;
|
||||
VACUUM;
|
||||
ATTACH DATABASE ':memory:' AS aux59;
|
||||
PRAGMA case_sensitive_like = 0;
|
||||
creATE VIRTUAL TABLE t0 USING fts3("x", "y", "z");
|
||||
DROP TABLE t0;
|
||||
DETACH DATABASE aux59;
|
||||
VACUUM;
|
||||
|
||||
SELECT * FROM T WHERE c <= ALL (SELECT c FROM T);
|
||||
CREATE TRIGGER IF NOT EXISTS trg_T_1306 AFTER UPDATE ON T BEGIN SELECT RAISE(IGNORE); END;
|
||||
CREATE TEMP VIEW IF NOT EXISTS v_T_5754 AS SELECT b FROM T;
|
||||
PRAGMA empty_result_callbacks = TRUE;
|
||||
SELECT * FROM T;
|
||||
RELEASE sp2116;
|
||||
ALTER TABLE T DROP COLUMN b;
|
||||
SAVEPOINT sp2116;
|
||||
ATTACH DATABASE ':memory:' AS aux59;
|
||||
PRAGMA case_sensitive_like = radians(json_valid(0, 2));
|
||||
creATE VIRTUAL TABLE t0 USING fts3("x", "y", "z");
|
||||
DROP TABLE t0;
|
||||
DETACH DATABASE aux59;
|
||||
VACUUM;
|
||||
ATTACH DATABASE ':memory:' AS aux59;
|
||||
PRAGMA case_sensitive_like = 0;
|
||||
creATE VIRTUAL TABLE t0 USING fts3("x", "y", "z");
|
||||
DROP TABLE t0;
|
||||
DETACH DATABASE aux59;
|
||||
VACUUM;
|
||||
ATTACH DATABASE ':memory:' AS aux59;
|
||||
CREATE TABLE T (
|
||||
a INTEGER,
|
||||
b REAL,
|
||||
c REAL
|
||||
);
|
||||
INSERT INTO T VALUES (1,1.5,10.0), (2,-2.5,20.0), (3,-9e999,30.0);
|
||||
SELECT * FROM T WHERE b < 2.0 ORDER BY b;
|
||||
PRAGMA case_sensitive_like = 0;
|
||||
creATE VIRTUAL TABLE t0 USING fts3("x", "y", "z");
|
||||
DROP TABLE t0;
|
||||
DETACH DATABASE aux59;
|
||||
VACUUM;
|
||||
ATTACH DATABASE ':memory:' AS aux59;
|
||||
PRAGMA case_sensitive_like = 0;
|
||||
creATE VIRTUAL TABLE t0 USING fts3("x", "y", "z");
|
||||
DROP TABLE /**/ t0;
|
||||
DETACH DATABASE aux59;
|
||||
VACUUM;
|
||||
ATTACH DATABASE ':memory:' AS aux59;
|
||||
PRAGMA case_sensitive_like = 0;
|
||||
creATE VIRTUAL TABLE t0 USING fts3("x", "y", "z");
|
||||
DROP TABLE t0;
|
||||
DETACH DATABASE aux59;
|
||||
VACUUM;
|
||||
ATTACH DATABASE ':memory:' AS aux59;
|
||||
PRAGMA case_sensitive_like = 0;
|
||||
creATE VIRTUAL TABLE t0 USING fts3("x", "y", "z");
|
||||
DROP TABLE t0;
|
||||
DETACH DATABASE aux59;
|
||||
VACUUM;
|
||||
ATTACH DATABASE ':memory:' AS aux59;
|
||||
PRAGMA case_sensitive_like = 0;
|
||||
creATE VIRTUAL TABLE t0 USING fts3("x", "y", "z");
|
||||
DROP TABLE t0;
|
||||
DETACH DATABASE aux59;
|
||||
VACUUM;
|
||||
|
||||
SELECT * FROM T WHERE c <= ALL (SELECT c FROM T);
|
||||
CREATE TRIGGER IF NOT EXISTS trg_T_1306 AFTER UPDATE ON T BEGIN SELECT RAISE(IGNORE); END;
|
||||
CREATE TEMP VIEW IF NOT EXISTS v_T_5754 AS SELECT b FROM T;
|
||||
PRAGMA empty_result_callbacks = TRUE;
|
||||
SELECT * FROM T;
|
||||
RELEASE sp2116;
|
||||
ALTER TABLE T DROP COLUMN b;
|
||||
SAVEPOINT sp2116;
|
||||
ATTACH DATABASE ':memory:' AS aux59;
|
||||
PRAGMA case_sensitive_like = radians(json_valid(0, 2));
|
||||
creATE VIRTUAL TABLE t0 USING fts3("x", "y", "z");
|
||||
DROP TABLE t0;
|
||||
DETACH DATABASE aux59;
|
||||
VACUUM;
|
||||
ATTACH DATABASE ':memory:' AS aux59;
|
||||
PRAGMA case_sensitive_like = 0;
|
||||
creATE VIRTUAL TABLE t0 USING fts3("x", "y", "z");
|
||||
DROP TABLE t0;
|
||||
DETACH DATABASE aux59;
|
||||
VACUUM;
|
||||
ATTACH DATABASE ':memory:' AS aux59;
|
||||
CREATE TABLE T (
|
||||
a INTEGER,
|
||||
b REAL,
|
||||
c REAL
|
||||
);
|
||||
INSERT INTO T VALUES (1,1.5,10.0), (2,-2.5,20.0), (3,-9e999,30.0);
|
||||
SELECT * FROM T WHERE b < 2.0 ORDER BY b;
|
||||
PRAGMA case_sensitive_like = 0;
|
||||
creATE VIRTUAL TABLE t0 USING fts3("x", "y", "z");
|
||||
DROP TABLE t0;
|
||||
DETACH DATABASE aux59;
|
||||
VACUUM;
|
||||
ATTACH DATABASE ':memory:' AS aux59;
|
||||
PRAGMA case_sensitive_like = 0;
|
||||
creATE VIRTUAL TABLE t0 USING fts3("x", "y", "z");
|
||||
DROP TABLE /**/ t0;
|
||||
DETACH DATABASE aux59;
|
||||
VACUUM;
|
||||
ATTACH DATABASE ':memory:' AS aux59;
|
||||
PRAGMA case_sensitive_like = 0;
|
||||
creATE VIRTUAL TABLE t0 USING fts3("x", "y", "z");
|
||||
DROP TABLE t0;
|
||||
DETACH DATABASE aux59;
|
||||
VACUUM;
|
||||
ATTACH DATABASE ':memory:' AS aux59;
|
||||
PRAGMA case_sensitive_like = 0;
|
||||
creATE VIRTUAL TABLE t0 USING fts3("x", "y", "z");
|
||||
DROP TABLE t0;
|
||||
DETACH DATABASE aux59;
|
||||
VACUUM;
|
||||
ATTACH DATABASE ':memory:' AS aux59;
|
||||
PRAGMA case_sensitive_like = 0;
|
||||
creATE VIRTUAL TABLE t0 USING fts3("x", "y", "z");
|
||||
DROP TABLE t0;
|
||||
DETACH DATABASE aux59;
|
||||
VACUUM;
|
||||
|
||||
SELECT * FROM T WHERE c <= ALL (SELECT c FROM T);
|
||||
CREATE TRIGGER IF NOT EXISTS trg_T_1306 AFTER UPDATE ON T BEGIN SELECT RAISE(IGNORE); END;
|
||||
CREATE TEMP VIEW IF NOT EXISTS v_T_5754 AS SELECT b FROM T;
|
||||
PRAGMA empty_result_callbacks = TRUE;
|
||||
SELECT * FROM T;
|
||||
RELEASE sp2116;
|
||||
ALTER TABLE T DROP COLUMN b;
|
||||
|
||||
COMMIT TRANSACTION;
|
||||
INSERT INTO T VALUES (1, 'x', NULL) ON CONFLICT(a) DO UPDATE SET a = excluded.a, b = excluded.b, c = excluded.c;
|
||||
```
|
||||
|
||||
## Actual output
|
||||
|
||||
```sql
|
||||
Usage: /home/test/sqlite3-src/build/sqlite3 [OPTIONS] FILENAME [SQL]
|
||||
FILENAME is the name of an SQLite database. A new database is created
|
||||
if the file does not previously exist.
|
||||
OPTIONS include:
|
||||
-append append the database to the end of the file
|
||||
-ascii set output mode to 'ascii'
|
||||
-bail stop after hitting an error
|
||||
-batch force batch I/O
|
||||
-box set output mode to 'box'
|
||||
-column set output mode to 'column'
|
||||
-cmd COMMAND run "COMMAND" before reading stdin
|
||||
-csv set output mode to 'csv'
|
||||
-deserialize open the database using sqlite3_deserialize()
|
||||
-echo print commands before execution
|
||||
-init FILENAME read/process named file
|
||||
-[no]header turn headers on or off
|
||||
-help show this message
|
||||
-html set output mode to HTML
|
||||
-interactive force interactive I/O
|
||||
-json set output mode to 'json'
|
||||
-line set output mode to 'line'
|
||||
-list set output mode to 'list'
|
||||
-lookaside SIZE N use N entries of SZ bytes for lookaside memory
|
||||
-markdown set output mode to 'markdown'
|
||||
-maxsize N maximum size for a --deserialize database
|
||||
-memtrace trace all memory allocations and deallocations
|
||||
-mmap N default mmap size set to N
|
||||
-newline SEP set output row separator. Default: '\n'
|
||||
-nofollow refuse to open symbolic links to database files
|
||||
-nonce STRING set the safe-mode escape nonce
|
||||
-nullvalue TEXT set text string for NULL values. Default ''
|
||||
-pagecache SIZE N use N slots of SZ bytes each for page cache memory
|
||||
-quote set output mode to 'quote'
|
||||
-readonly open the database read-only
|
||||
-safe enable safe-mode
|
||||
-separator SEP set output column separator. Default: '|'
|
||||
-stats print memory stats before each finalize
|
||||
-table set output mode to 'table'
|
||||
-tabs set output mode to 'tabs'
|
||||
-version show SQLite version
|
||||
-vfs NAME use NAME as the default VFS
|
||||
```
|
||||
|
||||
## Expectation
|
||||
|
||||
```sql
|
||||
|
||||
```
|
||||
|
||||
## Flag
|
||||
|
||||
```
|
||||
-help
|
||||
```
|
||||
|
||||
Reference in New Issue
Block a user