Files
ast-project/part1/results/1/bug_42e77f1c-f39b-44ea-a1db-e1d05d1d5e91_unexpected_error.md
T
2026-06-24 13:47:14 +02:00

12 KiB

Summary

**No review yet**

Minimized query

PRAGMA secure_delete = ON;
SAVEPOINT sp6770;
BEGIN TRANSACTION;
PRAGMA reverse_unordered_selects = NO;
PRAGMA synchronous = '0';
CREATE TABLE T (
  A VARCHAR(-(-(CAST(10 AS INT8)))) 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;
ATTACH DATABASE ':memory:' AS aux7;
-- jsonb_replace({v}, '$.key', {v})

-- ifnull({v}, NULL)

PRAGMA secure_delete = OFF;
PRAGMA legacy_alter_table;
ATTACH DATABASE ':memory:' AS aux49;
BEGIN DEFERRED TRANSACTION;
SAVEPOINT sp9700;
PRAGMA secure_delete = YES;
PRAGMA case_sensitive_like = FALSE;
.explain auto
CREATE TABLE main.`T` (
  a REAL,
  b TEXT,
  c REAL
);
INSERT INTO T VALUES ('a','b',(abs(datetime(round('123.45', CAST('''''' AS BOOLEAN)), '+1 day')) + unixepoch((strftime('%s', strftime('%s', abs(-unlikely(NULL)))) + 2147483647)))), ('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;
.exit time(9999)
.timeout
BEGIN IMMEDIATE TRANSACTION;
.load /home/test/sqlite3-src/build/rot13.so
WITH _m AS MATERIALIZED (select * FROM t2) SELECT rot13('SMI 31/12 CHF 100000 PUTS');
CREATE TABLE t1(a INTEGER PRIMARY KEY,R);
CREATE TABLE _m(x UNIQUE);
CREATE VIEW v1a(z,y) AS SELECT x IS NULL, x FROM t2;
SELECT a,(+a)b,(+a)b,(+a)b,NOT EXISTS(SELECT null FROM t2),CASE z WHEN -9223372036854775807 THEN 992 WHEN 391 THEN 203 WHEN 10 THEN '?k<D Q' END,'' FROM t1 CROSS JOIN v1a ON z=b;
CREATE VIRTUAL TABLE T
USING fts5(a,b);
INSERT INTO T VALUES ('a','b c'), ('d','e f');
SELECT a,b FROM T WHERE NOT NOT (NOT NOT (T MATCH 'b')) ;
CREATE TRIGGER IF NOT EXISTS trg_t2_5436 BEFORE UPDATE OF x ON t2 FOR EACH ROW BEGIN SELECT RAISE(ROLLBACK, 'rb'); END;
COMMIT TRANSACTION;
INSERT INTO t1 VALUES (NULL, NULL);
INSERT INTO t1 DEFAULT VALUES;
ALTER TABLE t2 RENAME COLUMN x TO x_r1949;
SELECT * FROM t1;
ALTER TABLE t2 RENAME TO t2_r2351;
INSERT INTO _m SELECT * FROM _m;
REINDEX t1;
DELETE FROM t1 WHERE +rowid = 55 RETURNING *;
WITH cte1 AS (SELECT * FROM _m), cte2 AS (SELECT * FROM _m) SELECT * FROM cte1 LEFT JOIN cte2 ON cte1.x = cte2.x;
SELECT GROUP_CONCAT(a, '|') FROM t1;
CREATE UNIQUE  INDEX IF NOT EXISTS idx__m_9308 ON _m(x COLLATE NOCASE) WHERE x > 0;
DROP TABLE IF EXISTS _m;
ALTER TABLE _m RENAME COLUMN x TO x_r1153;
SELECT * FROM _m AS a FULL JOIN _m AS b ON a.rowid = b.rowid;
SELECT COUNT(*) FILTER (WHERE x IS NOT NULL), SUM(rowid) FILTER (WHERE x > 0), COUNT(*) FILTER (WHERE 1=0), COUNT(*) FILTER (WHERE 1=1), COUNT(*) FILTER (WHERE NULL), AVG(x) FILTER (WHERE x > 0 OR x < 100), COUNT(*) FILTER (WHERE typeof(x) = "text") FROM _m;
WITH cte AS (SELECT CASE WHEN x > 0 THEN "pos" ELSE "neg" END AS sign FROM _m) SELECT * FROM cte;
ANALYZE;
CREATE TABLE T (
  a TEXT,
  b TEXT,
  c REAL
);
INSERT INTO T VALUES ('a','b',1.0), ('a','c',-1.0), ('b','d',0.0);
SELECT
COALESCE(a,'e') AS d,
COALESCE(b,'f') AS e,
SUM(c) AS f
FROM T
GROUP BY a,b;
INSERT INTO _m DEFAULT VALUES;
ALTER TABLE _m RENAME COLUMN x TO x_r4888;
CREATE TABLE T1 (
  A VARCHAR(20),
  X VARCHAR(10),
  PRIMARY KEY (A, X),
  UNIQUE (X)
);
SELECT 0x0ACB29BM205381;
SELECT sqlite_compileoption_used('我的天你是怎么了');
SELECT 1 >> -999999999999999999999999999;
SELECT sqlite_compileoption_get($1);
SELECT sqlite_version();
CREATE TABLE T2 (
  A VARCHAR(20),
  Y VARCHAR(10) UNIQUE,
  PRIMARY KEY (A, Y)
);
INSERT INTO T1 VALUES ('a', 'm');
INSERT INTO T1 VALUES ('b', 'n');
INSERT INTO T2 VALUES ('b', 'k');
SELECT A FROM T1 UNiON ALL SELECT A FROM T2 ORDER BY A;
SELECT PERCENT_RANK() OVER (ORDER BY A RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING EXCLUDE NO OTHERS) FROM T2;
SELECT COUNT(a) FROM t1;
UPDATE T2 SET A = '' WHERE A BETWEEN 0 AND 100 RETURNING *;
WITH cte AS (SELECT * FROM T1 WHERE A IS NOT NULL) SELECT * FROM cte;
ALTER TABLE T RENAME TO T_r8075;
CREATE TABLE T (
  A VARCHAR(20),
  B VARCHAR(10),
  PRIMARY KEY (A, B)
);
INSERT INTO T VALUES ('a', 'p');
INSERT INTO T VALUES ('a', 'q');
INSERT INTO T VALUES ('b', 'q');
INSERT INTO T VALUES ('c', 'r');
INSERT INTO T VALUES ('b', 'r');
INSERT INTO T VALUES ('b', 't');
SELECT B, COUNT(DISTINCT A) AS D FROM T GROUP BY B ORDER BY D DESC, B ASC;
SELECT GROUP_CONCAT(b, '.') OVER (PARTITION BY b ORDER BY b ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING EXCLUDE GROUP) FROM T;
INSERT INTO t1 VALUES (NULL, 1) ON CONFLICT(a) DO UPDATE SET a = excluded.a, R = excluded.R;
WITH RECURSIVE cnt(x) AS (VALUES(1) UNION ALL SELECT x+1 FROM cnt WHERE x<32) SELECT COUNT(*) FROM cnt;
VACUUM main;
INSERT INTO t1 VALUES ('x', 1) ON CONFLICT(a) DO UPDATE SET a = excluded.a, R = excluded.R;
ROLLBACK TO sp9700;
RELEASE sp9700;
ROLLBACK;
CREATE  INDEX IF NOT EXISTS idx_T2_1270 ON T2(A) WHERE A IS NOT NULL;
SELECT * FROM _m WHERE x NOT IN (SELECT x FROM _m WHERE x IS NULL);
SELECT * FROM T2;
DROP VIEW IF EXISTS _m;
WITH a AS (SELECT A FROM T2), b AS (SELECT A FROM T2) SELECT * FROM a JOIN b ON a.A = b.A;
DETACH DATABASE aux49;
CREATE TABLE T (
  A VARCHAR(20),
  B VARCHAR(10),
  PRIMARY KEY (A, B)
);
INSERT INTO T VALUES ('a', 'p');
INSERT INTO T VALUES ('a', 'q');
INSERT INTO T VALUES ('b', 'q');
INSERT INTO T VALUES ('c', 'r');
INSERT INTO T VALUES ('b', 'r');
INSERT INTO T VALUES ('b', 't');
SELECT B, COUNT(DISTINCT A) AS D FROM T GROUP BY B ORDER BY D DESC, B ASC;
SELECT * FROM (SELECT * FROM T) AS t1 JOIN (SELECT * FROM T) AS t2 ON t1.c = t2.c;
INSERT INTO _m VALUES ('x') ON CONFLICT(x) DO UPDATE SET x = excluded.x;
ALTER TABLE T2 ADD COLUMN extra_239 NCHAR(55) DEFAULT NULL;
SELECT MAX(x) FROM _m;
DROP INDEX IF EXISTS _m;
SELECT * FROM _m;
INSERT OR REPLACE INTO t1 VALUES ('x', NULL);
INSERT OR ROLLBACK INTO T2 VALUES ('x', NULL);
CREATE TRIGGER IF NOT EXISTS trg__m_1421 AFTER UPDATE OF x ON _m BEGIN SELECT RAISE(IGNORE); END;
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;
CREATE TABLE T1 (
  A VARCHAR(10) PRIMARY KEY,
  B VARCHAR(15) UNIQUE,
  C BIGINT
);
CREATE TABLE T2 (
  X VARCHAR(20) PRIMARY KEY,
  A VARCHAR(10),
  FOREIGN KEY (A) REFERENCES T1(A)
);
INSERT INTO T1 VALUES ('a', 'p', 9999999999999);
INSERT INTO T1	VALUES ('b', 'q', -9999999999999);
INSERT INTO T2 VALUES ('m', 'a');
INSERT INTO T2 VALUES ('n', 'b');
SELECT T2.X, T1.C FROM T2 INNER JOIN T1 ON T2.A = T1.A WHERE T1.C > -1000000000000;
CREATE TEMPORARY  VIEW IF NOT EXISTS v_T_8465 AS SELECT b FROM T;
SELECT COUNT(*) FROM t1;
SELECT * FROM T1 WHERE B IN (SELECT B FROM T1 LIMIT 1);
ALTER TABLE T1 RENAME COLUMN C TO C_r8042;
ALTER TABLE t1 DROP COLUMN a;
SELECT COUNT(*) FILTER (WHERE C IS NOT NULL), SUM(rowid) FILTER (WHERE C > 0), COUNT(*) FILTER (WHERE 1=0), COUNT(*) FILTER (WHERE 1=1), COUNT(*) FILTER (WHERE NULL), AVG(C) FILTER (WHERE C > 0 AND C < 100), COUNT(*) FILTER (WHERE typeof(C) = "text") FROM T1;
ALTER TABLE T1 ADD COLUMN extra_2323 BOOLEAN;
SELECT R FROM t1 EXCEPT SELECT R FROM (SELECT * FROM t1) AS sub;
ALTER TABLE _m ADD COLUMN extra_2307 DOUBLE PRECISION COLLATE NOCASE;
INSERT INTO T VALUES (1, 1, NULL) ON CONFLICT(a) DO UPDATE SET a = excluded.a, b = excluded.b, c = excluded.c;
SELECT COUNT(a) FILTER (WHERE a IS NOT NULL) OVER (ORDER BY a ROWS BETWEEN 2 PRECEDING AND 2 FOLLOWING EXCLUDE CURRENT ROW) FROM t1;
REINDEX T;
SELECT * FROM T WHERE NOT EXISTS (SELECT 1 FROM T WHERE 1 = 0);
DETACH DATABASE aux7;
SELECT * FROM _m AS a FULL OUTER JOIN T1 AS b ON a.rowid = b.rowid;
UPDATE T1 SET C = C + 1;
SELECT * FROM T1 AS a INNER JOIN T2 AS b ON a.rowid = b.rowid;
REINDEX;
DELETE FROM _m WHERE rowid = 80;
SELECT MIN(b) FILTER (WHERE b IS NOT NULL) OVER (PARTITION BY b ORDER BY b RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING EXCLUDE NO OTHERS) FROM T;
ALTER TABLE t1 ADD COLUMN extra_5205 CLOB COLLATE NOCASE;
PRAGMA count_changes = TRUE;
WITH cte1 AS (SELECT * FROM T2), cte2 AS (SELECT * FROM T2) SELECT * FROM cte1 LEFT JOIN cte2 ON cte1.X = cte2.X;
ALTER TABLE _m RENAME COLUMN x TO x_r168;
PRAGMA reverse_unordered_selects = ON;
SELECT DENSE_RANK() OVER (PARTITION BY A ORDER BY A ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW EXCLUDE TIES) FROM T2;
INSERT INTO T VALUES (NULL, NULL, NULL);
SELECT COUNT(x) FILTER (WHERE NULL) OVER (ORDER BY x RANGE BETWEEN 1 PRECEDING AND 1 FOLLOWING) FROM _m;
CREATE TEMP  VIEW IF NOT EXISTS v_T2_1592 AS SELECT A FROM T2;
ALTER TABLE _m DROP COLUMN x;
PRAGMA legacy_file_format;
ALTER TABLE T1 ADD COLUMN extra_7201 TINYINT DEFAULT CURRENT_TIMESTAMP;
SELECT AVG(c) FROM T;
SELECT * FROM T2;
INSERT INTO _m VALUES ('x') ON CONFLICT(x) DO UPDATE SET x = excluded.x;
ALTER TABLE _m RENAME COLUMN x TO x_r2324;
ANALYZE _m;
ALTER TABLE _m RENAME COLUMN x TO x_r556;
CREATE UNIQUE  INDEX IF NOT EXISTS idx_T1_7163 ON T1((A + 1)) WHERE A > 0;
INSERT INTO T1 VALUES (NULL, NULL, NULL);
SELECT RANK() OVER (ORDER BY A GROUPS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) FROM T1;
COMMIT TRANSACTION;
WITH RECURSIVE multi(a, b, c) AS (VALUES(1, 2, 3) UNION ALL SELECT a+1, b+1, c+1 FROM multi WHERE a<54) SELECT * FROM multi;
ALTER TABLE t1 RENAME COLUMN a TO a_r8820;
ROLLBACK TO sp6770;
RELEASE sp6770;
CREATE TRIGGER IF NOT EXISTS trg_t1_2301 AFTER UPDATE ON t1 FOR EACH ROW BEGIN SELECT RAISE(IGNORE); END;

SELECT COUNT(*) FROM t1;

Actual output

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


Flag

-help