---
This commit is contained in:
@@ -0,0 +1,320 @@
|
||||
## 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
|
||||
PRAGMA mmap_size = 50000000;
|
||||
.once
|
||||
|
||||
.help
|
||||
.help .archive
|
||||
.help .auth
|
||||
.help .backup
|
||||
.help .bail
|
||||
.help .cd
|
||||
.help .changes
|
||||
.help .check
|
||||
.help .clone
|
||||
.help .connection
|
||||
.help .databases
|
||||
.help .dbconfig
|
||||
.help .dbinfo
|
||||
.help .dump
|
||||
.help .echo
|
||||
.help .eqp
|
||||
.help .excel
|
||||
.help .exit
|
||||
.help .expert
|
||||
.help .explain
|
||||
.help .filectrl
|
||||
.help .fullschema
|
||||
.help .headers
|
||||
.help .help
|
||||
.help .import
|
||||
.help .imposter
|
||||
.help .indexes
|
||||
.help .limit
|
||||
.help .lint
|
||||
.help .load
|
||||
.help .log
|
||||
.help .mode
|
||||
.help .nonce
|
||||
.help .nullvalue
|
||||
.help .once
|
||||
.help .open
|
||||
.help .output
|
||||
.help .parameter
|
||||
.help .print
|
||||
.help .progress
|
||||
.help .prompt
|
||||
.help .quit
|
||||
.help .read
|
||||
.help .recover
|
||||
.help .restore
|
||||
.help .save
|
||||
.help .scanstats
|
||||
.help .schema
|
||||
.help .separator
|
||||
.help .sha3sum
|
||||
.help .shell
|
||||
.help .show
|
||||
.help .stats
|
||||
.help .system
|
||||
.help .tables
|
||||
.help .timeout
|
||||
.help .timer
|
||||
.help .trace
|
||||
.help .version
|
||||
.help .vfsinfo
|
||||
.help .vfslist
|
||||
.help .vfsname
|
||||
.help .width
|
||||
|
||||
BEGIN DEFERRED TRANSACTION;
|
||||
-- json_insert({v}, '$.key', {v})
|
||||
|
||||
ATTACH DATABASE ('' || (':memory:') || '') AS aux15;
|
||||
.exit -'_'
|
||||
BEGIN EXCLUSIVE;
|
||||
((PRAGMA)) count_changes = NO;
|
||||
PRAGMA defer_foreign_keys = TRUE;
|
||||
PRAGMA wal_autocheckpoint;
|
||||
CREATE TABLE T (
|
||||
a INTEGER,
|
||||
b TEXT,
|
||||
c REAL,
|
||||
d REAL
|
||||
);
|
||||
INSERT INTO T VALUES ('' || ('{"a":1,"b":[1,2,3]}'),'a',40.5,-70.0), (2,'b',-10.25,20.5), (3,'c',9e999,-9e999);
|
||||
SELECT b FROM T WHERE NOT NOT (NOT NOT (ABS(c) > 5 AND ABS(d) > 5)) ;
|
||||
PRAGMA encoding = 'UTF-16';
|
||||
PRAGMA full_column_names = NO;
|
||||
PRAGMA count_changes = ON;
|
||||
CREATE TABLE t1(a INTEGER PRIMARY KEY, b TEXT, c INT, d INT);
|
||||
INSERT INTO t1 VALUES (1, 'Wernher', 10, 100);
|
||||
INSERT INTO t1 VALUES (2, 'von', 20, 200);
|
||||
INSERT INTO t1 VALUES (3, 'Braun', 30, 300);
|
||||
|
||||
CREATE INDEX t1bc ON t1(b, c);
|
||||
|
||||
PRAGMA writable_schema = ON;
|
||||
|
||||
.imposter t1bc t2
|
||||
|
||||
SELECT * FROM t2;
|
||||
|
||||
SELECT b, c FROM t1 ORDER BY b, c;
|
||||
|
||||
.quit
|
||||
PRAGMA checkpoint_fullsync = 9223372036854775806;
|
||||
.progress
|
||||
CREATE TABLE t1(a, b, c);
|
||||
INSERT INTO t1 VALUES(1,'aaa','bbb');
|
||||
INSERT INTO t1 SELECT * FROM t1;
|
||||
INSERT INTO t1 VALUES(2,'ccc','ddd');
|
||||
SELECT DISTINCT a AS x, b||c AS y FROM t1 WHERE NOT NOT (y IN ('aaabbb','xxx')) ;
|
||||
SELECT DISTINCT a AS x, b||c AS y FROM t1 WHERE +y='aaabbb';
|
||||
DROP TRIGGER IF EXISTS t1;
|
||||
ANALYZE;
|
||||
ALTER TABLE t1 RENAME COLUMN c TO c_r9068;
|
||||
PRAGMA writable_schema = OFF;
|
||||
SELECT AVG(b) FROM t1;
|
||||
ALTER TABLE t1 DROP COLUMN a;
|
||||
CREATE VIEW IF NOT EXISTS v_t1_9739 AS SELECT b FROM t1;
|
||||
ALTER TABLE t1 RENAME COLUMN c TO c_r2779;
|
||||
PRAGMA count_changes = NO;
|
||||
PRAGMA defer_foreign_keys = TRUE;
|
||||
PRAGMA wal_autocheckpoint;
|
||||
CREATE TABLE T (
|
||||
a INTEGER,
|
||||
b TEXT,
|
||||
c REAL,
|
||||
d REAL
|
||||
);
|
||||
INSERT INTO T VALUES ('' || ('{"a":1,"b":[1,2,3]}'),'a',40.5,-70.0), (2,'b',-10.25,20.5), (3,'c',9e999,-9e999);
|
||||
SELECT b FROM T WHERE ABS(c) > 5 AND ABS(d) > 5;
|
||||
PRAGMA encoding = 'UTF-16';
|
||||
PRAGMA full_column_names = NO;
|
||||
PRAGMA count_changes = ON;
|
||||
CREATE TABLE t1(a INTEGER PRIMARY KEY, b TEXT, c INT, d INT);
|
||||
INSERT INTO t1 VALUES (1, 'Wernher', 10, 100);
|
||||
INSERT INTO t1 VALUES (2, 'von', 20, 200);
|
||||
INSERT INTO t1 VALUES (3, 'Braun', 30, 300);
|
||||
|
||||
CREATE INDEX t1bc ON t1(b, c);
|
||||
|
||||
PRAGMA writable_schema = ON;
|
||||
|
||||
.imposter t1bc t2
|
||||
|
||||
SELECT * FROM t2;
|
||||
|
||||
SELECT b, c FROM t1 ORDER BY b, c;
|
||||
|
||||
.quit
|
||||
PRAGMA checkpoint_fullsync = 9223372036854775806;
|
||||
.progress
|
||||
CREATE TABLE t1(a, b, c);
|
||||
INSERT INTO t1 VALUES(1,'aaa','bbb');
|
||||
INSERT INTO t1 SELECT * FROM t1;
|
||||
INSERT INTO t1 VALUES(2,'ccc','ddd');
|
||||
SELECT DISTINCT a AS x, b||c AS y FROM t1 WHERE NOT NOT (y IN ('aaabbb','xxx')) ;
|
||||
SELECT DISTINCT a AS x, b||c AS y FROM t1 WHERE +y='aaabbb';
|
||||
DROP TRIGGER IF EXISTS t1;
|
||||
ANALYZE;
|
||||
ALTER TABLE t1 RENAME COLUMN c TO c_r9068;
|
||||
PRAGMA writable_schema = OFF;
|
||||
SELECT AVG(b) FROM t1;
|
||||
ALTER TABLE t1 DROP COLUMN a;
|
||||
CREATE VIEW IF NOT EXISTS v_t1_9739 AS SELECT b FROM t1;
|
||||
ALTER TABLE t1 RENAME COLUMN c TO c_r2779;
|
||||
PRAGMA count_changes = NO;
|
||||
PRAGMA defer_foreign_keys = TRUE;
|
||||
PRAGMA wal_autocheckpoint;
|
||||
CREATE TABLE T (
|
||||
a INTEGER,
|
||||
b TEXT,
|
||||
c REAL,
|
||||
d REAL
|
||||
);
|
||||
INSERT INTO T VALUES ('' || ('{"a":1,"b":[1,2,3]}'),'a',40.5,-70.0), (2,'b',-10.25,20.5), (3,'c',9e999,-9e999);
|
||||
SELECT b FROM T WHERE ABS(c) > 5 AND ABS(d) > 5;
|
||||
PRAGMA encoding = 'UTF-16';
|
||||
PRAGMA full_column_names = NO;
|
||||
PRAGMA count_changes = ON;
|
||||
CREATE TABLE t1(a INTEGER PRIMARY KEY, b TEXT, c INT, d INT);
|
||||
INSERT INTO t1 VALUES (1, 'Wernher', 10, 100);
|
||||
INSERT INTO t1 VALUES (2, 'von', 20, 200);
|
||||
INSERT INTO t1 VALUES (3, 'Braun', 30, 300);
|
||||
|
||||
CREATE INDEX t1bc ON t1(b, c);
|
||||
|
||||
PRAGMA writable_schema = ON;
|
||||
|
||||
.imposter t1bc t2
|
||||
|
||||
SELECT * FROM t2;
|
||||
|
||||
SELECT b, c FROM t1 ORDER BY b, c;
|
||||
|
||||
.quit
|
||||
PRAGMA checkpoint_fullsync = 9223372036854775806;
|
||||
.progress
|
||||
CREATE TABLE t1(a, b, c);
|
||||
INSERT INTO t1 VALUES(1,'aaa','bbb');
|
||||
INSERT INTO t1 SELECT * FROM t1;
|
||||
INSERT INTO t1 VALUES(2,'ccc','ddd');
|
||||
SELECT DISTINCT a AS x, b||c AS y FROM t1 WHERE NOT NOT (y IN ('aaabbb','xxx')) ;
|
||||
SELECT DISTINCT a AS x, b||c AS y FROM t1 WHERE +y='aaabbb';
|
||||
DROP TRIGGER IF EXISTS t1;
|
||||
ANALYZE;
|
||||
ALTER TABLE t1 RENAME COLUMN c TO c_r9068;
|
||||
PRAGMA writable_schema = OFF;
|
||||
SELECT AVG(b) FROM t1;
|
||||
ALTER TABLE t1 DROP COLUMN a;
|
||||
CREATE VIEW IF NOT EXISTS v_t1_9739 AS SELECT b FROM t1;
|
||||
ALTER TABLE t1 RENAME COLUMN c TO c_r2779;
|
||||
|
||||
COMMIT TRANSACTION;
|
||||
DELETE FROM T WHERE d IS NULL RETURNING *;
|
||||
INSERT INTO T DEFAULT VALUES;
|
||||
INSERT OR ROLLBACK INTO T VALUES (0, NULL, '', '');
|
||||
SELECT LAG(a, 2) OVER (ORDER BY a ROWS BETWEEN 2 PRECEDING AND 2 FOLLOWING EXCLUDE CURRENT ROW) FROM t1;
|
||||
SELECT * FROM T AS a FULL OUTER JOIN t1 AS b ON a.rowid = b.rowid;
|
||||
DETACH DATABASE aux15;
|
||||
COMMIT;
|
||||
PRAGMA vdbe_addoptrace = NO;
|
||||
WITH cte AS (SELECT d, RANK() OVER (ORDER BY d) AS rnk FROM T) SELECT * FROM cte;
|
||||
WITH RECURSIVE r AS (SELECT c FROM T UNION ALL SELECT c FROM T LIMIT 5) SELECT * FROM r;
|
||||
WITH cte AS (SELECT c FROM T UNION SELECT c FROM T) SELECT * FROM cte;
|
||||
ALTER TABLE T RENAME COLUMN b TO b_r7810;
|
||||
CREATE INDEX IF NOT EXISTS idx_T_9258 ON T(d COLLATE NOCASE);
|
||||
INSERT INTO t1 VALUES ('x', NULL, NULL) ON CONFLICT(a) DO UPDATE SET a = excluded.a, b = excluded.b, c = excluded.c;
|
||||
INSERT INTO t1 VALUES (NULL, NULL, 1) ON CONFLICT(a) DO UPDATE SET a = excluded.a, b = excluded.b, c = excluded.c;
|
||||
INSERT INTO T VALUES (NULL, NULL, NULL, NULL);
|
||||
DELETE FROM T WHERE a > (SELECT AVG(a) FROM T) RETURNING *;
|
||||
ALTER TABLE t1 ADD COLUMN extra_5967 BIGINT DEFAULT (random());
|
||||
INSERT INTO T DEFAULT VALUES;
|
||||
DROP TRIGGER IF EXISTS T;
|
||||
INSERT INTO t1 VALUES (1, NULL, 'x') ON CONFLICT(a) DO UPDATE SET a = excluded.a, b = excluded.b, c = excluded.c;
|
||||
CREATE TABLE t1(a INTEGER PRIMARY KEY, b TEXT, c INT, d INT);
|
||||
INSERT INTO t1 VALUES (1, 'Wernher', 10, 100);
|
||||
INSERT INTO t1 VALUES (2, 'von', 20, 200);
|
||||
INSERT INTO t1 VALUES (3, 'Braun', 30, 300);
|
||||
|
||||
CREATE INDEX t1bc ON t1(b, c);
|
||||
|
||||
PRAGMA writable_schema = ON;
|
||||
|
||||
.imposter t1bc t2
|
||||
|
||||
SELECT * FROM t2;
|
||||
|
||||
SELECT b, c FROM t1 ORDER BY b, c;
|
||||
|
||||
.quit
|
||||
ALTER TABLE T ADD COLUMN extra_256 DOUBLE PRECISION DEFAULT (random());
|
||||
WITH RECURSIVE empty(x) AS (SELECT 1 WHERE 1=0 UNION ALL SELECT x+1 FROM empty WHERE x<10) SELECT * FROM empty;
|
||||
DELETE FROM t1 WHERE a > (SELECT AVG(a) FROM t1);
|
||||
DELETE FROM t1 WHERE rowid = 54;
|
||||
```
|
||||
|
||||
## 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