This commit is contained in:
2026-06-24 13:47:14 +02:00
commit fd930e15cb
2377 changed files with 1213931 additions and 0 deletions
@@ -0,0 +1,167 @@
## 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
.exit
.once log.txt
PRAGMA automatic_index = OFF;
-- PRAGMA parser_trace = ON;
-- concat({v}, {v}, {v})
.save output.db
ATTACH DATABASE '' || (':memory:') AS aux86;
ATTACH DATABASE ':memory:' AS aux18;
SAVEPOINT sp5997;
.bail off
ATTACH DATABASE ':memory:' AS aux0;
.dump
CREATE VIRTUAL TABLE t0 USING fts4("x", "y", "z");
-- inf
DROP TABLE t0;
DETACH DATABASE aux0;
ROLLBACK TO sp5997;
RELEASE sp5997;
DETACH DATABASE aux18;
PRAGMA legacy_alter_table = TRUE;
DETACH DATABASE aux86;
CREATE TABLE main.T (
a TEXT,
b REAL
);
INSERT INTO T VALUES ('a',likelihood(NULL, ltrim(NULL, 'x'))), ('b',-unicode(json(unixepoch(if(1, 123, 123))))), ('c',9e999);
SELECT a,b,
LEAD(b,1) OVER (ORDER BY b DESC) AS c,
NTILE(2) OVER (ORDER BY b DESC) AS d FROM T;
CREATE INDEX IF NOT EXISTS idx_T_1192 ON T(a) WHERE a > 0;
SELECT * FROM T WHERE b NOT IN (SELECT b FROM T);
SELECT GROUP_CONCAT(a) FROM T;
CREATE UNIQUE INDEX IF NOT EXISTS idx_T_6996 ON T(lower(a));
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 RENAME COLUMN b TO b_r990;
CREATE UNIQUE INDEX IF NOT EXISTS idx_T_1324 ON T(lower(a)) WHERE a > 0;
DROP TRIGGER IF EXISTS T;
SELECT GROUP_CONCAT(a) OVER (PARTITION BY a ORDER BY a RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING EXCLUDE NO OTHERS) FROM T;
INSERT INTO t1 VALUES (NULL, NULL, 1, NULL) ON CONFLICT(a) DO UPDATE SET a = excluded.a, b = excluded.b, c = excluded.c;
INSERT INTO T SELECT * FROM T;
INSERT INTO T SELECT * FROM T;
WITH cte AS (SELECT "123" AS x) SELECT x + 0 FROM cte;
SELECT LAG(a, 0) OVER (ORDER BY a) FROM T;
ALTER TABLE t1 ADD COLUMN extra_2589 INT8;
INSERT INTO t1 SELECT * FROM t1;
CREATE TABLE T (
a INTEGER,
b REAL
);
INSERT INTO T VALUES (1,1.5), (2,-7.25), (3,0.0);
SELECT a,b FROM T WHERE a >= 2 ORDER BY b;
ALTER TABLE T DROP COLUMN b;
DROP VIEW IF EXISTS t1;
CREATE TABLE T (
a TEXT,
b TEXT,
c REAL
);
INSERT INTO T VALUES ('a','b',5.0), ('a','c',5.0), ('b','d',-8.25);
SELECT a,b,c,
RANK() OVER (PARTITION BY a ORDER BY c DESC) AS d FROM T;
SELECT COUNT(*) FROM t1;
SELECT b, COUNT(*) FROM T GROUP BY b HAVING COUNT(*) = (SELECT COUNT(*) FROM T);
ANALYZE;
SELECT * FROM T WHERE b < (SELECT MIN(b) FROM T);
ALTER TABLE T DROP COLUMN c;
SELECT SUM(c) FROM T;
INSERT INTO T DEFAULT VALUES;
SELECT COUNT(*) FROM T;
CREATE TABLE T (
A VARCHAR(10) PRIMARY KEY,
B VARCHAR(15),
C BIGINT NOT NULL,
UNIQUE (B, C)
);
INSERT INTO T VALUES ('a', 'p', 3000);
INSERT INTO T VALUES ('b', 'q', 9223372036854775807);
INSERT INTO T VALUES ('c', 'r', 1700);
INSERT INTO T VALUES ('e', 'q', -9223372036854775808);
INSERT INTO T VALUES ('f', 'r', 0);
SELECT B, COUNT(*) AS D, SUM(C) AS E, AVG(C) AS F FROM T GROUP BY B HAVING SUM(C) > 0;
```
## 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
```