---
This commit is contained in:
@@ -0,0 +1,184 @@
|
||||
## 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
|
||||
BEGIN TRANSACTION;
|
||||
SAVEPOINT sp3680;
|
||||
SAVEPOINT sp8294;
|
||||
BEGIN IMMEDIATE TRANSACTION;
|
||||
ATTACH DATABASE ('' || (':memory:') || '') AS aux82;
|
||||
.vfsinfo
|
||||
CREATE TABLE T1 (
|
||||
a INTEGER,
|
||||
b REAL
|
||||
);
|
||||
CREATE TABLE T2 (
|
||||
a INTEGER,
|
||||
b REAL
|
||||
);
|
||||
INSERT INTO T1 VALUES (if(format('%s', log2(CAST(trim('hello', NULL) AS MEDIUMINT))), exp(-(-(round(CAST(1 AS DOUBLE), 2)))), 1),1.0);
|
||||
INSERT INTO T2 VALUES (1,-1.0),(2,9e999);
|
||||
INSERT OR REPLACE INTO T1
|
||||
SELECT * FROM T2;
|
||||
WITH _m AS MATERIALIZED (SELECT * FROM T) SELEC_m * FROM T1;
|
||||
PRAGMA defer_foreign_keys IS FALSE;
|
||||
ALTER TABLE T1 ADD COLUMN extra_5658 DOUBLE DEFAULT NULL;
|
||||
VACUUM main;
|
||||
CREATE TABLE T (
|
||||
a INTEGER,
|
||||
b TEXT,
|
||||
c REAL
|
||||
);
|
||||
INSERT INTO T VALUES (1,'a',1.25), (2,'b',-3.5), (3,'c',9e999);
|
||||
WITH d AS (SELECT * FROM T) SELECT * FROM d WHERE NOT NOT (+c <> 0) ;
|
||||
SELECT * FROM T1 FULL OUTER JOIN T2;
|
||||
SELECT * FROM T1 t1 JOIN T1 t2 ON t1.b = (SELECT b FROM T1 LIMIT 1);
|
||||
DELETE FROM T2 WHERE 0;
|
||||
INSERT INTO T2 VALUES (NULL, NULL);
|
||||
INSERT INTO T2 DEFAULT VALUES;
|
||||
PRAGMA journal_mode = 'PERSIST';
|
||||
PRAGMA index_list(users);
|
||||
DETACH DATABASE aux82;
|
||||
SELECT * FROM T WHERE (b, b) IN (SELECT b, b FROM T);
|
||||
SELECT GROUP_CONCAT(b, b) OVER (ORDER BY b RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING EXCLUDE NO OTHERS) FROM T2;
|
||||
ALTER TABLE T1 RENAME TO T1_r8928;
|
||||
SELECT * FROM T2;
|
||||
END;
|
||||
ROLLBACK TO sp8294;
|
||||
RELEASE sp8294;
|
||||
SELECT * FROM T1;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_T_7949 BEFORE INSERT ON T FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'abort'); END;
|
||||
UPDATE T1 SET b = NULL WHERE b BETWEEN 0 AND 100;
|
||||
SELECT DENSE_RANK() OVER (ORDER BY b RANGE BETWEEN 1 PRECEDING AND 1 FOLLOWING) FROM T2;
|
||||
INSERT INTO T2 VALUES (NULL, NULL);
|
||||
CREATE UNIQUE INDEX IF NOT EXISTS idx_T_4404 ON T(c);
|
||||
ROLLBACK TO sp3680;
|
||||
RELEASE sp3680;
|
||||
COMMIT;
|
||||
ALTER TABLE T2 RENAME COLUMN a TO a_r7404;
|
||||
BEGIN TRANSACTION;
|
||||
SAVEPOINT sp3680;
|
||||
SAVEPOINT sp8294;
|
||||
BEGIN IMMEDIATE TRANSACTION;
|
||||
ATTACH DATABASE ('' || (':memory:') || '') AS aux82;
|
||||
.vfsinfo
|
||||
CREATE TABLE T1 (
|
||||
a INTEGER,
|
||||
b REAL
|
||||
);
|
||||
CREATE TABLE T2 (
|
||||
a INTEGER,
|
||||
b REAL
|
||||
);
|
||||
INSERT INTO T1 VALUES (if(format('%s', log2(CAST(trim('hello', NULL) AS MEDIUMINT))), exp(-(-(1))), 1),1.0);
|
||||
INSERT INTO T2 VALUES (1,-1.0),(2,9e999);
|
||||
INSERT OR REPLACE INTO T1
|
||||
SELECT * FROM T2;
|
||||
WITH _m AS MATERIALIZED (SELECT * FROM T) SELEC_m * FROM T1;
|
||||
PRAGMA defer_foreign_keys IS FALSE;
|
||||
ALTER TABLE T1 ADD COLUMN extra_5658 DOUBLE DEFAULT NULL;
|
||||
VACUUM main;
|
||||
CREATE TABLE T (
|
||||
a INTEGER,
|
||||
b TEXT,
|
||||
c REAL
|
||||
);
|
||||
INSERT INTO T VALUES (1,'a',1.25), (2,'b',-3.5), (3,'c',9e999);
|
||||
WITH d AS (SELECT * FROM T) SELECT * FROM d WHERE +c > 0;
|
||||
SELECT * FROM T1 FULL OUTER JOIN T2;
|
||||
SELECT * FROM T1 t1 JOIN T1 t2 ON t1.b = (SELECT b FROM T1 LIMIT 1);
|
||||
DELETE FROM T2 WHERE 0;
|
||||
INSERT INTO T2 VALUES (NULL, NULL);
|
||||
INSERT INTO T2 DEFAULT VALUES;
|
||||
PRAGMA journal_mode = 'PERSIST';
|
||||
PRAGMA index_list(users);
|
||||
DETACH DATABASE aux82;
|
||||
SELECT * FROM T WHERE (b, b) IN (SELECT b, b FROM T);
|
||||
SELECT GROUP_CONCAT(b, b) OVER (ORDER BY b RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING EXCLUDE NO OTHERS) FROM T2;
|
||||
ALTER TABLE T1 RENAME TO T1_r8928;
|
||||
SELECT * FROM T2;
|
||||
END;
|
||||
ROLLBACK TO sp8294;
|
||||
RELEASE sp8294;
|
||||
SELECT * FROM T1;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_T_7949 BEFORE INSERT ON T FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'abort'); END;
|
||||
UPDATE T1 SET b = NULL WHERE b BETWEEN 0 AND 100;
|
||||
SELECT DENSE_RANK() OVER (ORDER BY b RANGE BETWEEN 1 PRECEDING AND 1 FOLLOWING) FROM T2;
|
||||
INSERT INTO T2 VALUES (NULL, NULL);
|
||||
CREATE UNIQUE INDEX IF NOT EXISTS idx_T_4404 ON T(c);
|
||||
ROLLBACK TO sp3680;
|
||||
RELEASE sp3680;
|
||||
COMMIT;
|
||||
ALTER TABLE T2 RENAME COLUMN a TO a_r7404;
|
||||
|
||||
SELECT NTILE(4) OVER (ORDER BY b ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW EXCLUDE TIES) FROM T2;
|
||||
VACUUM main;
|
||||
SELECT COUNT(*) FILTER (WHERE a IS NOT NULL), SUM(rowid) FILTER (WHERE a > 0), COUNT(*) FILTER (WHERE 1=0), COUNT(*) FILTER (WHERE 1=1), COUNT(*) FILTER (WHERE NULL), AVG(a) FILTER (WHERE a > 0 AND a < 100), COUNT(*) FILTER (WHERE typeof(a) = "text") FROM T;
|
||||
INSERT INTO T2 VALUES (NULL, NULL);
|
||||
SELECT AVG(a) FROM T2;
|
||||
SELECT * FROM T AS a INNER JOIN T2 AS b ON a.rowid = b.rowid;
|
||||
DELETE FROM T WHERE 1;
|
||||
INSERT INTO T2 DEFAULT VALUES;
|
||||
SELECT MAX(a) FROM T1;
|
||||
```
|
||||
|
||||
## 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