---
This commit is contained in:
@@ -0,0 +1,417 @@
|
||||
## 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
|
||||
ATTACH DATABASE ':memory:' AS aux37;
|
||||
ATTACH DATABASE ':memory:' AS aux69;
|
||||
PRAGMA foreign_key_check;
|
||||
CREATE TABLE t1(a CHARINT PRIMARY KEY, b TEXT, c INT, d INT);
|
||||
-- PRAGMA legacy_alter_table = OFF;
|
||||
|
||||
INSERT INTO t1 VALUES (CAST(CAST((sinh(-concat_ws(NULL, 'a', 'b')) - 0) AS CHARINT) AS ANY), '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
|
||||
SAVEPOINT sp9856;
|
||||
SAVEPOINT sp8755;
|
||||
ATTACH DATABASE ':memory:' AS aux98;
|
||||
ATTACH DATABASE ':memory:' AS aux57;
|
||||
.import corrupt001.db main
|
||||
BEGIN DEFERRED TRANSACTION;
|
||||
CREATE TABLE t0(c0);
|
||||
INSERT INTO t0(c0) VALUES (NULL);
|
||||
CREATE INDEX i0 ON t0(-(-(json_extract((like('1%', 1, '\\') + 0), '$.key')))) WHERE c0 NOT NULL;
|
||||
SELECT 1 FROM t0 WHERE (t0.c0 IS FALSE) IS FALSE;
|
||||
SELECT 1 FROM t0 WHERE (t0.c0 IS FALSE) BETWEEN FALSE OR TRUE;
|
||||
|
||||
UPDATE t0 SET c0 = 'x' WHERE c0 BETWEEN 0 AND 100 RETURNING *;
|
||||
ANALYZE t0;
|
||||
SELECT * FROM t0 WHERE c0 IN (SELECT c0 FROM t0 ORDER BY c0 LIMIT 1 OFFSET 1000);
|
||||
END;
|
||||
ANALYZE;
|
||||
|
||||
SELECT * FROM t0 AS a INNER JOIN t0 AS b ON a.rowid = b.rowid;
|
||||
SELECT * FROM t0;
|
||||
CREATE TEMP VIEW IF NOT EXISTS v_t0_2416 AS SELECT c0 FROM t0;
|
||||
|
||||
SELECT COUNT(*) FROM t0;
|
||||
DETACH DATABASE aux57;
|
||||
VACUUM main;
|
||||
WITH cte AS (SELECT c0, SUM(c0) OVER (ORDER BY c0) AS running FROM t0) SELECT * FROM cte;
|
||||
PRAGMA trusted_schema;
|
||||
CREATE TEMP VIEW IF NOT EXISTS v_t0_3032 AS SELECT c0 FROM t0;
|
||||
SELECT LEAD(c0, 2) OVER (ORDER BY c0) FROM t0;
|
||||
DROP TABLE IF EXISTS t0;
|
||||
WITH a AS (SELECT * FROM t0), b AS (SELECT * FROM t0) SELECT * FROM a UNION ALL SELECT * FROM b;
|
||||
|
||||
SELECT COUNT(*) FROM t0;
|
||||
SELECT * FROM t0 AS a JOIN t0 AS b ON a.rowid = b.rowid;
|
||||
ALTER TABLE t0 RENAME TO t0_r7864;
|
||||
DETACH DATABASE aux98;
|
||||
ROLLBACK TRANSACTION TO SAVEPOINT sp8755;
|
||||
RELEASE SAVEPOINT sp8755;
|
||||
ALTER TABLE t0 ADD COLUMN extra_4590 CHARACTER(20) COLLATE RTRIM;
|
||||
SAVEPOINT sp8755;
|
||||
ATTACH DATABASE ':memory:' AS aux98;
|
||||
ATTACH DATABASE ':memory:' AS aux57;
|
||||
.import corrupt001.db main
|
||||
BEGIN DEFERRED TRANSACTION;
|
||||
CREATE TABLE t0(c0);
|
||||
INSERT INTO t0(c0) VALUES (NULL);
|
||||
CREATE INDEX i0 ON t0(-(-(json_extract((like('1%', 1, '\\') + 0), '$.key')))) WHERE c0 NOT NULL;
|
||||
SELECT 1 FROM t0 WHERE (t0.c0 IS FALSE) IS FALSE;
|
||||
SELECT 1 FROM t0 WHERE (t0.c0 IS FALSE) BETWEEN FALSE OR TRUE;
|
||||
|
||||
UPDATE t0 SET c0 = 'x' WHERE c0 BETWEEN 0 AND 100 RETURNING *;
|
||||
ANALYZE t0;
|
||||
SELECT * FROM t0 WHERE c0 IN (SELECT c0 FROM t0 ORDER BY c0 LIMIT 1 OFFSET 1000);
|
||||
END;
|
||||
ANALYZE;
|
||||
|
||||
SELECT * FROM t0 AS a INNER JOIN t0 AS b ON a.rowid = b.rowid;
|
||||
SELECT * FROM t0;
|
||||
CREATE TEMP VIEW IF NOT EXISTS v_t0_2416 AS SELECT c0 FROM t0;
|
||||
|
||||
SELECT COUNT(*) FROM t0;
|
||||
DETACH DATABASE aux57;
|
||||
VACUUM main;
|
||||
WITH cte AS (SELECT c0, SUM(c0) OVER (ORDER BY c0) AS running FROM t0) SELECT * FROM cte;
|
||||
PRAGMA trusted_schema;
|
||||
CREATE TEMP VIEW IF NOT EXISTS v_t0_3032 AS SELECT c0 FROM t0;
|
||||
SELECT LEAD(c0, 2) OVER (ORDER BY c0) FROM t0;
|
||||
DROP TABLE IF EXISTS t0;
|
||||
WITH a AS (SELECT * FROM t0), b AS (SELECT * FROM t0) SELECT * FROM a UNION ALL SELECT * FROM b;
|
||||
|
||||
SELECT COUNT(*) FROM t0;
|
||||
SELECT * FROM t0 AS a JOIN t0 AS b ON a.rowid = b.rowid;
|
||||
ALTER TABLE t0 RENAME TO t0_r7864;
|
||||
DETACH DATABASE aux98;
|
||||
ROLLBACK TRANSACTION TO SAVEPOINT sp8755;
|
||||
RELEASE SAVEPOINT sp8755;
|
||||
ALTER TABLE t0 ADD COLUMN extra_4590 CHARACTER(20) COLLATE RTRIM;
|
||||
SAVEPOINT sp8755;
|
||||
ATTACH DATABASE ':memory:' AS aux98;
|
||||
ATTACH DATABASE ':memory:' AS aux57;
|
||||
.import corrupt001.db main
|
||||
BEGIN DEFERRED TRANSACTION;
|
||||
CREATE TABLE t0(c0);
|
||||
INSERT INTO t0(c0) VALUES (NULL);
|
||||
CREATE INDEX i0 ON t0(-(-(json_extract((like('1%', 1, '\\') + 0), '$.key')))) WHERE c0 NOT NULL;
|
||||
SELECT 1 FROM t0 WHERE (t0.c0 IS FALSE) IS FALSE;
|
||||
SELECT 1 FROM t0 WHERE (t0.c0 IS FALSE) BETWEEN FALSE OR TRUE;
|
||||
|
||||
UPDATE t0 SET c0 = 'x' WHERE c0 BETWEEN 0 AND 100 RETURNING *;
|
||||
ANALYZE t0;
|
||||
SELECT * FROM t0 WHERE c0 IN (SELECT c0 FROM t0 ORDER BY c0 LIMIT 1 OFFSET 1000);
|
||||
END;
|
||||
ANALYZE;
|
||||
|
||||
SELECT * FROM t0 AS a INNER JOIN t0 AS b ON a.rowid = b.rowid;
|
||||
SELECT * FROM t0;
|
||||
CREATE TEMP VIEW IF NOT EXISTS v_t0_2416 AS SELECT c0 FROM t0;
|
||||
|
||||
SELECT COUNT(*) FROM t0;
|
||||
DETACH DATABASE aux57;
|
||||
VACUUM main;
|
||||
WITH cte AS (SELECT c0, SUM(c0) OVER (ORDER BY c0) AS running FROM t0) SELECT * FROM cte;
|
||||
PRAGMA trusted_schema;
|
||||
CREATE TEMP VIEW IF NOT EXISTS v_t0_3032 AS SELECT c0 FROM t0;
|
||||
SELECT LEAD(c0, 2) OVER (ORDER BY c0) FROM t0;
|
||||
DROP TABLE IF EXISTS t0;
|
||||
WITH a AS (SELECT * FROM t0), b AS (SELECT * FROM t0) SELECT * FROM a UNION ALL SELECT * FROM b;
|
||||
|
||||
SELECT COUNT(*) FROM t0;
|
||||
SELECT * FROM t0 AS a JOIN t0 AS b ON a.rowid = b.rowid;
|
||||
ALTER TABLE t0 RENAME TO t0_r7864;
|
||||
DETACH DATABASE aux98;
|
||||
ROLLBACK TRANSACTION TO SAVEPOINT sp8755;
|
||||
RELEASE SAVEPOINT sp8755;
|
||||
ALTER TABLE t0 ADD COLUMN extra_4590 CHARACTER(20) COLLATE RTRIM;
|
||||
SAVEPOINT sp8755;
|
||||
ATTACH DATABASE ':memory:' AS aux98;
|
||||
ATTACH DATABASE ':memory:' AS aux57;
|
||||
.import corrupt001.db main
|
||||
BEGIN DEFERRED TRANSACTION;
|
||||
CREATE TABLE t0(c0);
|
||||
INSERT INTO t0(c0) VALUES (NULL);
|
||||
CREATE INDEX i0 ON t0(-(-(json_extract((like('1%', 1, '\\') + 0), '$.key')))) WHERE c0 NOT NULL;
|
||||
SELECT 1 FROM t0 WHERE (t0.c0 IS FALSE) IS FALSE;
|
||||
SELECT 1 FROM t0 WHERE (t0.c0 IS FALSE) BETWEEN FALSE OR TRUE;
|
||||
|
||||
UPDATE t0 SET c0 = 'x' WHERE c0 BETWEEN 0 AND 100 RETURNING *;
|
||||
ANALYZE t0;
|
||||
SELECT * FROM t0 WHERE c0 IN (SELECT c0 FROM t0 ORDER BY c0 LIMIT 1 OFFSET 1000);
|
||||
END;
|
||||
ANALYZE;
|
||||
|
||||
SELECT * FROM t0 AS a INNER JOIN t0 AS b ON a.rowid = b.rowid;
|
||||
SELECT * FROM t0;
|
||||
CREATE TEMP VIEW IF NOT EXISTS v_t0_2416 AS SELECT c0 FROM t0;
|
||||
|
||||
SELECT COUNT(*) FROM t0;
|
||||
DETACH DATABASE aux57;
|
||||
VACUUM main;
|
||||
WITH cte AS (SELECT c0, SUM(c0) OVER (ORDER BY c0) AS running FROM t0) SELECT * FROM cte;
|
||||
PRAGMA trusted_schema;
|
||||
CREATE TEMP VIEW IF NOT EXISTS v_t0_3032 AS SELECT c0 FROM t0;
|
||||
SELECT LEAD(c0, 2) OVER (ORDER BY c0) FROM t0;
|
||||
DROP TABLE IF EXISTS t0;
|
||||
WITH a AS (SELECT * FROM t0), b AS (SELECT * FROM t0) SELECT * FROM a UNION ALL SELECT * FROM b;
|
||||
|
||||
SELECT COUNT(*) FROM t0;
|
||||
SELECT * FROM t0 AS a JOIN t0 AS b ON a.rowid = b.rowid;
|
||||
ALTER TABLE t0 RENAME TO t0_r7864;
|
||||
DETACH DATABASE aux98;
|
||||
ROLLBACK TRANSACTION TO SAVEPOINT sp8755;
|
||||
RELEASE SAVEPOINT sp8755;
|
||||
ALTER TABLE t0 ADD COLUMN extra_4590 CHARACTER(20) COLLATE RTRIM;
|
||||
SAVEPOINT sp8755;
|
||||
ATTACH DATABASE ':memory:' AS aux98;
|
||||
ATTACH DATABASE ':memory:' AS aux57;
|
||||
.import corrupt001.db main
|
||||
BEGIN DEFERRED TRANSACTION;
|
||||
CREATE TABLE t0(c0);
|
||||
INSERT INTO t0(c0) VALUES (NULL);
|
||||
CREATE INDEX i0 ON t0(-(-(json_extract((like('1%', 1, '\\') + 0), '$.key')))) WHERE c0 NOT NULL;
|
||||
SELECT 1 FROM t0 WHERE (t0.c0 IS FALSE) IS FALSE;
|
||||
SELECT 1 FROM t0 WHERE (t0.c0 IS FALSE) BETWEEN FALSE OR TRUE;
|
||||
|
||||
UPDATE t0 SET c0 = 'x' WHERE c0 BETWEEN 0 AND 100 RETURNING *;
|
||||
ANALYZE t0;
|
||||
SELECT * FROM t0 WHERE c0 IN (SELECT c0 FROM t0 ORDER BY c0 LIMIT 1 OFFSET 1000);
|
||||
END;
|
||||
ANALYZE;
|
||||
|
||||
SELECT * FROM t0 AS a INNER JOIN t0 AS b ON a.rowid = b.rowid;
|
||||
SELECT * FROM t0;
|
||||
CREATE TEMP VIEW IF NOT EXISTS v_t0_2416 AS SELECT c0 FROM t0;
|
||||
|
||||
SELECT COUNT(*) FROM t0;
|
||||
DETACH DATABASE aux57;
|
||||
VACUUM main;
|
||||
WITH cte AS (SELECT c0, SUM(c0) OVER (ORDER BY c0) AS running FROM t0) SELECT * FROM cte;
|
||||
PRAGMA trusted_schema;
|
||||
CREATE TEMP VIEW IF NOT EXISTS v_t0_3032 AS SELECT c0 FROM t0;
|
||||
SELECT LEAD(c0, 2) OVER (ORDER BY c0) FROM t0;
|
||||
DROP TABLE IF EXISTS t0;
|
||||
WITH a AS (SELECT * FROM t0), b AS (SELECT * FROM t0) SELECT * FROM a UNION ALL SELECT * FROM b;
|
||||
|
||||
SELECT COUNT(*) FROM t0;
|
||||
SELECT * FROM t0 AS a JOIN t0 AS b ON a.rowid = b.rowid;
|
||||
ALTER TABLE t0 RENAME TO t0_r7864;
|
||||
DETACH DATABASE aux98;
|
||||
ROLLBACK TRANSACTION TO SAVEPOINT sp8755;
|
||||
RELEASE SAVEPOINT sp8755;
|
||||
ALTER TABLE t0 ADD COLUMN extra_4590 CHARACTER(20) COLLATE RTRIM;
|
||||
SAVEPOINT sp8755;
|
||||
ATTACH DATABASE ':memory:' AS aux98;
|
||||
ATTACH DATABASE ':memory:' AS aux57;
|
||||
.import corrupt001.db main
|
||||
BEGIN DEFERRED TRANSACTION;
|
||||
CREATE TABLE t0(c0);
|
||||
INSERT INTO t0(c0) VALUES (NULL);
|
||||
CREATE INDEX i0 ON t0(-(-(json_extract((like('1%', 1, '\\') + 0), '$.key')))) WHERE c0 NOT NULL;
|
||||
SELECT 1 FROM t0 WHERE (t0.c0 IS FALSE) IS FALSE;
|
||||
SELECT 1 FROM t0 WHERE (t0.c0 IS FALSE) BETWEEN FALSE OR TRUE;
|
||||
|
||||
UPDATE t0 SET c0 = 'x' WHERE c0 /* hex(NULL) */ BETWEEN 0 AND 100 RETURNING *;
|
||||
ANALYZE t0;
|
||||
SELECT * FROM t0 WHERE c0 IN (SELECT c0 FROM t0 ORDER BY c0 LIMIT 1 OFFSET 1000);
|
||||
END;
|
||||
ANALYZE;
|
||||
|
||||
SELECT * FROM t0 AS a INNER JOIN t0 AS b ON a.rowid = b.rowid;
|
||||
SELECT * FROM t0;
|
||||
CREATE TEMP VIEW IF NOT EXISTS v_t0_2416 AS SELECT c0 FROM t0;
|
||||
|
||||
SELECT COUNT(*) FROM t0;
|
||||
DETACH DATABASE aux57;
|
||||
VACUUM main;
|
||||
WITH cte AS (SELECT c0, SUM(c0) OVER (ORDER BY c0) AS running FROM t0) SELECT * FROM cte;
|
||||
PRAGMA trusted_schema;
|
||||
CREATE TEMP VIEW IF NOT EXISTS v_t0_3032 AS SELECT c0 FROM t0;
|
||||
SELECT LEAD(c0, 2) OVER (ORDER BY c0) FROM t0;
|
||||
DROP TABLE IF EXISTS t0;
|
||||
WITH a AS (SELECT * FROM t0), b AS (SELECT * FROM t0) SELECT * FROM a UNION ALL SELECT * FROM b;
|
||||
|
||||
SELECT COUNT(*) FROM t0;
|
||||
SELECT * FROM t0 AS a JOIN t0 AS b ON a.rowid = b.rowid;
|
||||
ALTER TABLE t0 RENAME TO t0_r7864;
|
||||
DETACH DATABASE aux98;
|
||||
ROLLBACK TRANSACTION TO SAVEPOINT sp8755;
|
||||
RELEASE SAVEPOINT sp8755;
|
||||
ALTER TABLE t0 ADD COLUMN extra_4590 CHARACTER(20) COLLATE RTRIM;
|
||||
SAVEPOINT sp8755;
|
||||
ATTACH DATABASE ':memory:' AS aux98;
|
||||
ATTACH DATABASE ':memory:' AS aux57;
|
||||
.import corrupt001.db main
|
||||
BEGIN DEFERRED TRANSACTION;
|
||||
CREATE TABLE t0(c0);
|
||||
INSERT INTO t0(c0) VALUES (NULL);
|
||||
CREATE INDEX i0 ON t0(-(-(json_extract((like('1%', 1, '\\') + 0), '$.key')))) WHERE c0 NOT NULL;
|
||||
SELECT 1 FROM t0 WHERE (t0.c0 IS FALSE) IS FALSE;
|
||||
SELECT 1 FROM t0 WHERE (t0.c0 IS FALSE) BETWEEN FALSE OR TRUE;
|
||||
|
||||
UPDATE t0 SET c0 = 'x' WHERE c0 BETWEEN 0 AND 100 RETURNING *;
|
||||
ANALYZE t0;
|
||||
SELECT * FROM t0 WHERE c0 IN (SELECT c0 FROM t0 ORDER BY c0 LIMIT 1 OFFSET 1000);
|
||||
END;
|
||||
ANALYZE;
|
||||
|
||||
SELECT * FROM t0 AS a INNER JOIN t0 AS b ON a.rowid = b.rowid;
|
||||
SELECT * FROM t0;
|
||||
CREATE TEMP VIEW IF NOT EXISTS v_t0_2416 AS SELECT c0 FROM t0;
|
||||
|
||||
SELECT COUNT(*) FROM t0;
|
||||
DETACH DATABASE aux57;
|
||||
VACUUM main;
|
||||
WITH cte AS (SELECT c0, SUM(c0) OVER (ORDER BY c0) AS running FROM t0) SELECT * FROM cte;
|
||||
PRAGMA trusted_schema;
|
||||
CREATE TEMP VIEW IF NOT EXISTS v_t0_3032 AS SELECT c0 FROM t0;
|
||||
SELECT LEAD(c0, 2) OVER (ORDER BY c0) FROM t0;
|
||||
DROP TABLE IF EXISTS t0;
|
||||
WITH a AS (SELECT * FROM t0), b AS (SELECT * FROM t0) SELECT * FROM a UNION ALL SELECT * FROM b;
|
||||
|
||||
SELECT COUNT(*) FROM t0;
|
||||
SELECT * FROM t0 AS a JOIN t0 AS b ON a.rowid = b.rowid;
|
||||
ALTER TABLE t0 RENAME TO t0_r7864;
|
||||
DETACH DATABASE aux98;
|
||||
ROLLBACK TRANSACTION TO SAVEPOINT sp8755;
|
||||
RELEASE SAVEPOINT sp8755;
|
||||
ALTER TABLE t0 ADD COLUMN extra_4590 CHARACTER(20) COLLATE RTRIM;
|
||||
SAVEPOINT sp8755;
|
||||
ATTACH DATABASE ':memory:' AS aux98;
|
||||
ATTACH DATABASE ':memory:' AS aux57;
|
||||
.import corrupt001.db main
|
||||
BEGIN DEFERRED TRANSACTION;
|
||||
CREATE TABLE t0(c0);
|
||||
INSERT INTO t0(c0) VALUES (NULL);
|
||||
CREATE INDEX i0 ON t0(-(-(json_extract((like('1%', 1, '\\') + 0), '$.key')))) WHERE c0 NOT NULL;
|
||||
SELECT 1 FROM t0 WHERE (t0.c0 IS FALSE) IS FALSE;
|
||||
SELECT 1 FROM t0 WHERE (t0.c0 IS FALSE) BETWEEN FALSE OR TRUE;
|
||||
|
||||
UPDATE t0 SET c0 = 'x' WHERE c0 BETWEEN 0 AND 100 RETURNING *;
|
||||
ANALYZE t0;
|
||||
SELECT * FROM t0 WHERE c0 IN (SELECT c0 FROM t0 ORDER BY c0 LIMIT 1 OFFSET 1000);
|
||||
END;
|
||||
ANALYZE;
|
||||
|
||||
SELECT * FROM t0 AS a INNER JOIN t0 AS b ON a.rowid = b.rowid;
|
||||
SELECT * FROM t0;
|
||||
CREATE TEMP VIEW IF NOT EXISTS v_t0_2416 AS SELECT c0 FROM t0;
|
||||
|
||||
SELECT COUNT(*) FROM t0;
|
||||
DETACH DATABASE aux57;
|
||||
VACUUM main;
|
||||
WITH cte AS (SELECT c0, SUM(c0) OVER (ORDER BY c0) AS running FROM t0) SELECT * FROM cte;
|
||||
PRAGMA trusted_schema;
|
||||
CREATE TEMP VIEW IF NOT EXISTS v_t0_3032 AS SELECT c0 FROM t0;
|
||||
SELECT LEAD(c0, 2) OVER (ORDER BY c0) FROM t0;
|
||||
DROP TABLE IF EXISTS t0;
|
||||
WITH a AS (SELECT * FROM t0), b AS (SELECT * FROM t0) SELECT * FROM a UNION ALL SELECT * FROM b;
|
||||
|
||||
SELECT COUNT(*) FROM t0;
|
||||
SELECT * FROM t0 AS a JOIN t0 AS b ON a.rowid = b.rowid;
|
||||
ALTER TABLE t0 RENAME TO t0_r7864;
|
||||
DETACH DATABASE aux98;
|
||||
ROLLBACK TRANSACTION TO SAVEPOINT sp8755;
|
||||
RELEASE SAVEPOINT sp8755;
|
||||
ALTER TABLE t0 ADD COLUMN extra_4590 CHARACTER(20) COLLATE RTRIM;
|
||||
SAVEPOINT sp8755;
|
||||
ATTACH DATABASE ':memory:' AS aux98;
|
||||
ATTACH DATABASE ':memory:' AS aux57;
|
||||
.import corrupt001.db main
|
||||
BEGIN DEFERRED TRANSACTION;
|
||||
CREATE TABLE t0(c0);
|
||||
INSERT INTO t0(c0) VALUES (NULL);
|
||||
CREATE INDEX i0 ON t0(-(-(json_extract((like('1%', 1, '\\') + 0), '$.key')))) WHERE c0 NOT NULL;
|
||||
SELECT 1 FROM t0 WHERE (t0.c0 IS FALSE) IS FALSE;
|
||||
SELECT 1 FROM t0 WHERE (t0.c0 IS FALSE) BETWEEN FALSE OR TRUE;
|
||||
|
||||
UPDATE t0 SET c0 = 'x' WHERE c0 BETWEEN 0 AND 100 RETURNING *;
|
||||
ANALYZE t0;
|
||||
SELECT * FROM t0 WHERE c0 IN (SELECT c0 FROM t0 ORDER BY c0 LIMIT 1 OFFSET 1000);
|
||||
END;
|
||||
ANALYZE;
|
||||
|
||||
SELECT * FROM t0 AS a INNER JOIN t0 AS b ON a.rowid = b.rowid;
|
||||
SELECT * FROM t0;
|
||||
CREATE TEMP VIEW IF NOT EXISTS v_t0_2416 AS SELECT c0 FROM t0;
|
||||
|
||||
SELECT COUNT(*) FROM t0;
|
||||
DETACH DATABASE aux57;
|
||||
VACUUM main;
|
||||
WITH cte AS (SELECT c0, SUM(c0) OVER (ORDER BY c0) AS running FROM t0) SELECT * FROM cte;
|
||||
PRAGMA trusted_schema;
|
||||
CREATE TEMP VIEW IF NOT EXISTS v_t0_3032 AS SELECT c0 FROM t0;
|
||||
SELECT LEAD(c0, 2) OVER (ORDER BY c0) FROM t0;
|
||||
DROP TABLE IF EXISTS t0;
|
||||
WITH a AS (SELECT * FROM t0), b AS (SELECT * FROM t0) SELECT * FROM a UNION ALL SELECT * FROM b;
|
||||
|
||||
SELECT COUNT(*) FROM t0;
|
||||
SELECT * FROM t0 AS a JOIN t0 AS b ON a.rowid = b.rowid;
|
||||
ALTER TABLE t0 RENAME TO t0_r7864;
|
||||
DETACH DATABASE aux98;
|
||||
ROLLBACK TRANSACTION TO SAVEPOINT sp8755;
|
||||
RELEASE SAVEPOINT sp8755;
|
||||
ALTER TABLE t0 ADD COLUMN extra_4590 CHARACTER(20) COLLATE RTRIM;
|
||||
|
||||
INSERT INTO t0 VALUES (NULL) ON CONFLICT(c0) DO UPDATE SET c0 = excluded.c0;
|
||||
ALTER TABLE t0 RENAME COLUMN c0 TO c0_r3992;
|
||||
RELEASE sp9856;
|
||||
ALTER TABLE t0 ADD COLUMN extra_4953 ANY UNIQUE;
|
||||
ALTER TABLE t0 DROP COLUMN c0;
|
||||
DETACH DATABASE aux69;
|
||||
WITH cte AS (SELECT NULL AS x) SELECT COALESCE(x, 0) FROM cte;
|
||||
DELETE FROM t0 WHERE 0 RETURNING *;
|
||||
SELECT * FROM t0 WHERE c0 IN (SELECT c0 FROM t0 WHERE ROW_NUMBER() OVER (ORDER BY c0) = 1);
|
||||
INSERT OR FAIL INTO t0 VALUES (0);
|
||||
INSERT INTO t0 DEFAULT VALUES;
|
||||
DETACH DATABASE aux37;
|
||||
ALTER TABLE t1 RENAME TO t1_r9055;
|
||||
DELETE FROM t0 WHERE 1;
|
||||
ALTER TABLE t1 RENAME COLUMN b TO b_r879;
|
||||
VACUUM;
|
||||
PRAGMA full_column_names = FALSE;
|
||||
CREATE INDEX IF NOT EXISTS idx_t0_8212 ON t0(c0);
|
||||
CREATE TEMPORARY VIEW IF NOT EXISTS v_t0_856 AS SELECT c0 FROM t0;
|
||||
SELECT MAX(b) FROM t1;
|
||||
ALTER TABLE t0 RENAME TO t0_r2529;
|
||||
```
|
||||
|
||||
## Actual output
|
||||
|
||||
```sql
|
||||
CREATE TABLE "t2"("b","c","_ROWID_",PRIMARY KEY("b","c","_ROWID_"))WITHOUT ROWID;
|
||||
WARNING: writing to an imposter table will corrupt the "t1bc" index!
|
||||
Braun|30|2
|
||||
von|20|1
|
||||
Braun|30
|
||||
von|20
|
||||
```
|
||||
|
||||
## Expectation
|
||||
|
||||
```sql
|
||||
|
||||
```
|
||||
|
||||
## Flag
|
||||
|
||||
```
|
||||
|
||||
```
|
||||
|
||||
@@ -0,0 +1,799 @@
|
||||
## 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
|
||||
.echo on
|
||||
CREATE TABLE T (
|
||||
A VARCHAR(20),
|
||||
B VARCHAR(30),
|
||||
C VARCHAR(30),
|
||||
PRIMARY KEY (A, B),
|
||||
UNIQUE (A, C)
|
||||
);
|
||||
INSERT INTO T VALUES ('a', 'p', 'x');
|
||||
INSERT INTO T VALUES ('a', 'q', 'y');
|
||||
INSERT INTO T VALUES ('b', 'p', 'z');
|
||||
INSERT INTO T VALUES ('c', 'r', 'w');
|
||||
INSERT INTO T VALUES ('d', 's', 'v');
|
||||
SELECT A, COUNT(DISTINCT B) AS D FROM T GROUP BY A HAVING COUNT(DISTINCT B) >= 1;
|
||||
PRAGMA automatic_index = 0;
|
||||
ATTACH DATABASE ':memory:' AS aux61;
|
||||
.log OFF
|
||||
ATTACH DATABASE ':memory:' AS aux10;
|
||||
PRAGMA vdbe_addoptrace = TRUE;
|
||||
CREATE TABLE t1(a INTEGER PRIMARY KEY, b TEXT, c INT, d INT);
|
||||
INSERT INTO t1 VALUES (unistr(NULL), 'Wernher', -atanh(1785583442693606558), 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 reverse_unordered_selects = YES;
|
||||
CREATE TABLE t1(n int, log int);
|
||||
BEGIN;
|
||||
INSERT INTO /**/ t1 VALUES(like('%2%', 1.7976931348623157e+308, '%'), 1);
|
||||
INSERT INTO t1 VALUES(3, 1);
|
||||
INSERT INTO t1 VALUES(4, 1);
|
||||
INSERT INTO t1 VALUES(4, 3);
|
||||
SELECT min(n),min(log),max(n),max(log),sum(n),sum(log),avg(n),avg(log) FROM t1;
|
||||
SELECT log, avg(n)+1 FROM t1 GROUP BY log ORDER BY log;
|
||||
SELECT log*2+1 AS x, count(*) AS y FROM t1 GROUP BY x ORDER BY 10-(x+y);
|
||||
SELECT log, count(*) FROM t1 GROUP BY log HAVING count(*)>=4 ORDER BY log;
|
||||
SELECT log, count(*), avg(n), max(n+log*2) FROM t1 GROUP BY log ORDER BY max(n+log*2)+0, min(log,avg(n))+0;
|
||||
|
||||
|
||||
DELETE FROM t1 WHERE NOT NOT (1) ;
|
||||
ANALYZE;
|
||||
VACUUM main;
|
||||
WITH cte(x) AS (VALUES(1),(2),(3)) SELECT * FROM cte;
|
||||
CREATE VIEW IF NOT EXISTS v_t1_1308 AS SELECT n FROM t1;
|
||||
CREATE INDEX IF NOT EXISTS idx_t1_3077 ON t1(log);
|
||||
PRAGMA vdbe_addoptrace = TRUE;
|
||||
CREATE TABLE t1(a INTEGER PRIMARY KEY, b TEXT, c INT, d INT);
|
||||
INSERT INTO t1 VALUES (unistr(NULL), '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 reverse_unordered_selects = YES;
|
||||
CREATE TABLE t1(n int, log int);
|
||||
BEGIN;
|
||||
INSERT INTO /**/ t1 VALUES(like('%2%', 1.7976931348623157e+308, '%'), 1);
|
||||
INSERT INTO t1 VALUES(3, 1);
|
||||
INSERT INTO t1 VALUES(4, 1);
|
||||
INSERT INTO t1 VALUES(4, 3);
|
||||
SELECT min(n),min(log),max(n),max(log),sum(n),sum(log),avg(n),avg(log) FROM t1;
|
||||
SELECT log, avg(n)+1 FROM t1 GROUP BY log ORDER BY log;
|
||||
SELECT log*2+1 AS x, count(*) AS y FROM t1 GROUP BY x ORDER BY 10-(x+y);
|
||||
SELECT log, count(*) FROM t1 GROUP BY log HAVING count(*)>=4 ORDER BY log;
|
||||
SELECT log, count(*), avg(n), max(n+log*2) FROM t1 GROUP BY log ORDER BY max(n+log*2)+0, min(log,avg(n))+0;
|
||||
|
||||
|
||||
DELETE FROM t1 WHERE NOT NOT (1) ;
|
||||
ANALYZE;
|
||||
VACUUM main;
|
||||
WITH cte(x) AS (VALUES(1),(2),(3)) SELECT * FROM cte;
|
||||
CREATE VIEW IF NOT EXISTS v_t1_1308 AS SELECT n FROM t1;
|
||||
CREATE INDEX IF NOT EXISTS idx_t1_3077 ON t1(log);
|
||||
|
||||
CREATE INDEX IF NOT EXISTS idx_t1_5776 ON t1((log + 1)) WHERE log IS NOT NULL;
|
||||
SELECT COUNT(*) FILTER (WHERE log IS NOT NULL), SUM(rowid) FILTER (WHERE log > 0), COUNT(*) FILTER (WHERE 1=0), COUNT(*) FILTER (WHERE 1=1), COUNT(*) FILTER (WHERE NULL), AVG(log) FILTER (WHERE log > 0 AND log < 100), COUNT(*) FILTER (WHERE typeof(log) = "text") FROM t1;
|
||||
PRAGMA vdbe_addoptrace = TRUE;
|
||||
CREATE TABLE t1(a INTEGER PRIMARY KEY, b TEXT, c INT, d INT);
|
||||
INSERT INTO t1 VALUES (unistr(NULL), 'Wernher', -9223372036854775808, 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 reverse_unordered_selects = YES;
|
||||
CREATE TABLE t1(n int, log int);
|
||||
BEGIN;
|
||||
INSERT INTO /**/ t1 VALUES(like('%2%', 1.7976931348623157e+308, '%'), 1);
|
||||
INSERT INTO t1 VALUES(3, 1);
|
||||
INSERT INTO t1 VALUES(4, 1);
|
||||
INSERT INTO t1 VALUES(4, 3);
|
||||
SELECT min(n),min(log),max(n),max(log),sum(n),sum(log),avg(n),avg(log) FROM t1;
|
||||
SELECT log, avg(n)+1 FROM t1 GROUP BY log ORDER BY log;
|
||||
SELECT log*2+1 AS x, count(*) AS y FROM t1 GROUP BY x ORDER BY 10-(x+y);
|
||||
SELECT log, count(*) FROM t1 GROUP BY log HAVING count(*)>=4 ORDER BY log;
|
||||
SELECT log, count(*), avg(n), max(n+log*2) FROM t1 GROUP BY log ORDER BY max(n+log*2)+0, min(log,avg(n))+0;
|
||||
|
||||
|
||||
DELETE FROM t1 WHERE NOT NOT (1) ;
|
||||
ANALYZE;
|
||||
VACUUM main;
|
||||
WITH cte(x) AS (VALUES(1),(2),(3)) SELECT * FROM cte;
|
||||
CREATE VIEW IF NOT EXISTS v_t1_1308 AS SELECT n FROM t1;
|
||||
CREATE INDEX IF NOT EXISTS idx_t1_3077 ON t1(log);
|
||||
PRAGMA vdbe_addoptrace = TRUE;
|
||||
CREATE TABLE t1(a INTEGER PRIMARY KEY, b TEXT, c INT, d INT);
|
||||
INSERT INTO t1 VALUES (unistr(NULL), '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 reverse_unordered_selects = YES;
|
||||
CREATE TABLE t1(n int, log int);
|
||||
BEGIN;
|
||||
INSERT INTO /**/ t1 VALUES(like('%2%', 1.7976931348623157e+308, '%'), 1);
|
||||
INSERT INTO t1 VALUES(3, 1);
|
||||
INSERT INTO t1 VALUES(4, 1);
|
||||
INSERT INTO t1 VALUES(4, 3);
|
||||
SELECT min(n),min(log),max(n),max(log),sum(n),sum(log),avg(n),avg(log) FROM t1;
|
||||
SELECT log, avg(n)+1 FROM t1 GROUP BY log ORDER BY log;
|
||||
SELECT log*2+1 AS x, count(*) AS y FROM t1 GROUP BY x ORDER BY 10-(x+y);
|
||||
SELECT log, count(*) FROM t1 GROUP BY log HAVING count(*)>=4 ORDER BY log;
|
||||
SELECT log, count(*), avg(n), max(n+log*2) FROM t1 GROUP BY log ORDER BY max(n+log*2)+0, min(log,avg(n))+0;
|
||||
|
||||
|
||||
DELETE FROM t1 WHERE NOT NOT (1) ;
|
||||
ANALYZE;
|
||||
VACUUM main;
|
||||
WITH cte(x) AS (VALUES(1),(2),(3)) SELECT * FROM cte;
|
||||
CREATE VIEW IF NOT EXISTS v_t1_1308 AS SELECT n FROM t1;
|
||||
CREATE INDEX IF NOT EXISTS idx_t1_3077 ON t1(log);
|
||||
|
||||
CREATE INDEX IF NOT EXISTS idx_t1_5776 ON t1((log + 1)) WHERE log IS NOT NULL;
|
||||
SELECT COUNT(*) FILTER (WHERE log IS NOT NULL), SUM(rowid) FILTER (WHERE log > 0), COUNT(*) FILTER (WHERE 1=0), COUNT(*) FILTER (WHERE 1=1), COUNT(*) FILTER (WHERE NULL), AVG(log) FILTER (WHERE log > 0 AND log < 100), COUNT(*) FILTER (WHERE typeof(log) = "text") FROM t1;
|
||||
PRAGMA vdbe_addoptrace = TRUE;
|
||||
CREATE TABLE t1(a INTEGER PRIMARY KEY, b TEXT, c INT, d INT);
|
||||
INSERT INTO t1 VALUES (unistr(NULL), 'Wernher', -9223372036854775808, 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 reverse_unordered_selects = YES;
|
||||
CREATE TABLE t1(n int, log int);
|
||||
BEGIN;
|
||||
INSERT INTO /**/ t1 VALUES(like('%2%', 1.7976931348623157e+308, '%'), 1);
|
||||
INSERT INTO t1 VALUES(3, 1);
|
||||
INSERT INTO t1 VALUES(4, 1);
|
||||
INSERT INTO t1 VALUES(4, 3);
|
||||
SELECT min(n),min(log),max(n),max(log),sum(n),sum(log),avg(n),avg(log) FROM t1;
|
||||
SELECT log, avg(n)+1 FROM t1 GROUP BY log ORDER BY log;
|
||||
SELECT log*2+1 AS x, count(*) AS y FROM t1 GROUP BY x ORDER BY 10-(x+y);
|
||||
SELECT log, count(*) FROM t1 GROUP BY log HAVING count(*)>=4 ORDER BY log;
|
||||
SELECT log, count(*), avg(n), max(n+log*2) FROM t1 GROUP BY log ORDER BY max(n+log*2)+0, min(log,avg(n))+0;
|
||||
|
||||
|
||||
DELETE FROM t1 WHERE NOT NOT (1) ;
|
||||
ANALYZE;
|
||||
VACUUM main;
|
||||
WITH cte(x) AS (VALUES(1),(2),(3)) SELECT * FROM cte;
|
||||
CREATE VIEW IF NOT EXISTS v_t1_1308 AS SELECT n FROM t1;
|
||||
CREATE INDEX IF NOT EXISTS idx_t1_3077 ON t1(log);
|
||||
PRAGMA vdbe_addoptrace = TRUE;
|
||||
CREATE TABLE t1(a INTEGER PRIMARY KEY, b TEXT, c INT, d INT);
|
||||
INSERT INTO t1 VALUES (unistr(NULL), '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 reverse_unordered_selects = YES;
|
||||
CREATE TABLE t1(n int, log int);
|
||||
BEGIN;
|
||||
INSERT INTO /**/ t1 VALUES(like('%2%', 1.7976931348623157e+308, '%'), 1);
|
||||
INSERT INTO t1 VALUES(3, 1);
|
||||
INSERT INTO t1 VALUES(4, 1);
|
||||
INSERT INTO t1 VALUES(4, 3);
|
||||
SELECT min(n),min(log),max(n),max(log),sum(n),sum(log),avg(n),avg(log) FROM t1;
|
||||
SELECT log, avg(n)+1 FROM t1 GROUP BY log ORDER BY log;
|
||||
SELECT log*2+1 AS x, count(*) AS y FROM t1 GROUP BY x ORDER BY 10-(x+y);
|
||||
SELECT log, count(*) FROM t1 GROUP BY log HAVING count(*)>=4 ORDER BY log;
|
||||
SELECT log, count(*), avg(n), max(n+log*2) FROM t1 GROUP BY log ORDER BY max(n+log*2)+0, min(log,avg(n))+0;
|
||||
|
||||
|
||||
DELETE FROM t1 WHERE NOT NOT (1) ;
|
||||
ANALYZE;
|
||||
VACUUM main;
|
||||
WITH cte(x) AS (VALUES(1),(2),(3)) SELECT * FROM cte;
|
||||
CREATE VIEW IF NOT EXISTS v_t1_1308 AS SELECT n FROM t1;
|
||||
CREATE INDEX IF NOT EXISTS idx_t1_3077 ON t1(log);
|
||||
|
||||
CREATE INDEX IF NOT EXISTS idx_t1_5776 ON t1((log + 1)) WHERE log IS NOT NULL;
|
||||
SELECT COUNT(*) FILTER (WHERE log IS NOT NULL), SUM(rowid) FILTER (WHERE log > 0), COUNT(*) FILTER (WHERE 1=0), COUNT(*) FILTER (WHERE 1=1), COUNT(*) FILTER (WHERE NULL), AVG(log) FILTER (WHERE log > 0 AND log < 100), COUNT(*) FILTER (WHERE typeof(log) = "text") FROM t1;
|
||||
PRAGMA vdbe_addoptrace = TRUE;
|
||||
CREATE TABLE t1(a INTEGER PRIMARY KEY, b TEXT, c INT, d INT);
|
||||
INSERT INTO t1 VALUES (unistr(NULL), 'Wernher', -9223372036854775808, 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 reverse_unordered_selects = YES;
|
||||
CREATE TABLE t1(n int, log int);
|
||||
BEGIN;
|
||||
INSERT INTO /**/ t1 VALUES(like('%2%', 1.7976931348623157e+308, '%'), 1);
|
||||
INSERT INTO t1 VALUES(3, 1);
|
||||
INSERT INTO t1 VALUES(4, 1);
|
||||
INSERT INTO t1 VALUES(4, 3);
|
||||
SELECT min(n),min(log),max(n),max(log),sum(n),sum(log),avg(n),avg(log) FROM t1;
|
||||
SELECT log, avg(n)+1 FROM t1 GROUP BY log ORDER BY log;
|
||||
SELECT log*2+1 AS x, count(*) AS y FROM t1 GROUP BY x ORDER BY 10-(x+y);
|
||||
SELECT log, count(*) FROM t1 GROUP BY log HAVING count(*)>=4 ORDER BY log;
|
||||
SELECT log, count(*), avg(n), max(n+log*2) FROM t1 GROUP BY log ORDER BY max(n+log*2)+0, min(log,avg(n))+0;
|
||||
|
||||
|
||||
DELETE FROM t1 WHERE NOT NOT (1) ;
|
||||
ANALYZE;
|
||||
VACUUM main;
|
||||
WITH cte(x) AS (VALUES(1),(2),(3)) SELECT * FROM cte;
|
||||
CREATE VIEW IF NOT EXISTS v_t1_1308 AS SELECT n FROM t1;
|
||||
CREATE INDEX IF NOT EXISTS idx_t1_3077 ON t1(log);
|
||||
PRAGMA vdbe_addoptrace = TRUE;
|
||||
CREATE TABLE t1(a INTEGER PRIMARY KEY, b TEXT, c INT, d INT);
|
||||
INSERT INTO t1 VALUES (unistr(NULL), '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 reverse_unordered_selects = YES;
|
||||
CREATE TABLE t1(n int, log int);
|
||||
BEGIN;
|
||||
INSERT INTO /**/ t1 VALUES(like('%2%', 1.7976931348623157e+308, '%'), 1);
|
||||
INSERT INTO t1 VALUES(3, 1);
|
||||
INSERT INTO t1 VALUES(4, 1);
|
||||
INSERT INTO t1 VALUES(4, 3);
|
||||
SELECT min(n),min(log),max(n),max(log),sum(n),sum(log),avg(n),avg(log) FROM t1;
|
||||
SELECT log, avg(n)+1 FROM t1 GROUP BY log ORDER BY log;
|
||||
SELECT log*2+1 AS x, count(*) AS y FROM t1 GROUP BY x ORDER BY 10-(x+y);
|
||||
SELECT log, count(*) FROM t1 GROUP BY log HAVING count(*)>=4 ORDER BY log;
|
||||
SELECT log, count(*), avg(n), max(n+log*2) FROM t1 GROUP BY log ORDER BY max(n+log*2)+0, min(log,avg(n))+0;
|
||||
|
||||
|
||||
DELETE FROM t1 WHERE NOT NOT (1) ;
|
||||
ANALYZE;
|
||||
VACUUM main;
|
||||
WITH cte(x) AS (VALUES(1),(2),(3)) SELECT * FROM cte;
|
||||
CREATE VIEW IF NOT EXISTS v_t1_1308 AS SELECT n FROM t1;
|
||||
CREATE INDEX IF NOT EXISTS idx_t1_3077 ON t1(log);
|
||||
|
||||
CREATE INDEX IF NOT EXISTS idx_t1_5776 ON t1((log + 1)) WHERE log IS NOT NULL;
|
||||
SELECT COUNT(*) FILTER (WHERE log IS NOT NULL), SUM(rowid) FILTER (WHERE log > 0), COUNT(*) FILTER (WHERE 1=0), COUNT(*) FILTER (WHERE 1=1), COUNT(*) FILTER (WHERE NULL), AVG(log) FILTER (WHERE log > 0 AND log < 100), COUNT(*) FILTER (WHERE typeof(log) = "text") FROM t1;
|
||||
PRAGMA vdbe_addoptrace = TRUE;
|
||||
CREATE TABLE t1(a INTEGER PRIMARY KEY, b TEXT, c INT, d INT);
|
||||
INSERT INTO t1 VALUES (unistr(NULL), 'Wernher', -9223372036854775808, 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 reverse_unordered_selects = YES;
|
||||
CREATE TABLE t1(n int, log int);
|
||||
BEGIN;
|
||||
INSERT INTO /**/ t1 VALUES(like('%2%', 1.7976931348623157e+308, '%'), 1);
|
||||
INSERT INTO t1 VALUES(3, 1);
|
||||
INSERT INTO t1 VALUES(4, 1);
|
||||
INSERT INTO t1 VALUES(4, 3);
|
||||
SELECT min(n),min(log),max(n),max(log),sum(n),sum(log),avg(n),avg(log) FROM t1;
|
||||
SELECT log, avg(n)+1 FROM t1 GROUP BY log ORDER BY log;
|
||||
SELECT log*2+1 AS x, count(*) AS y FROM t1 GROUP BY x ORDER BY 10-(x+y);
|
||||
SELECT log, count(*) FROM t1 GROUP BY log HAVING count(*)>=4 ORDER BY log;
|
||||
SELECT log, count(*), avg(n), max(n+log*2) FROM t1 GROUP BY log ORDER BY max(n+log*2)+0, min(log,avg(n))+0;
|
||||
|
||||
|
||||
DELETE FROM t1 WHERE NOT NOT (1) ;
|
||||
ANALYZE;
|
||||
VACUUM main;
|
||||
WITH cte(x) AS (VALUES(1),(2),(3)) SELECT * FROM cte;
|
||||
CREATE VIEW IF NOT EXISTS v_t1_1308 AS SELECT n FROM t1;
|
||||
CREATE INDEX IF NOT EXISTS idx_t1_3077 ON t1(log);
|
||||
PRAGMA vdbe_addoptrace = TRUE;
|
||||
CREATE TABLE t1(a INTEGER PRIMARY KEY, b TEXT, c INT, d INT);
|
||||
INSERT INTO t1 VALUES (unistr(NULL), '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 reverse_unordered_selects = YES;
|
||||
CREATE TABLE t1(n int, log int);
|
||||
BEGIN;
|
||||
INSERT INTO /**/ t1 VALUES(like('%2%', 1.7976931348623157e+308, '%'), 1);
|
||||
INSERT INTO t1 VALUES(3, 1);
|
||||
INSERT INTO t1 VALUES(4, 1);
|
||||
INSERT INTO t1 VALUES(4, 3);
|
||||
SELECT min(n),min(log),max(n),max(log),sum(n),sum(log),avg(n),avg(log) FROM t1;
|
||||
SELECT log, avg(n)+1 FROM t1 GROUP BY log ORDER BY log;
|
||||
SELECT log*2+1 AS x, count(*) AS y FROM t1 GROUP BY x ORDER BY 10-(x+y);
|
||||
SELECT log, count(*) FROM t1 GROUP BY log HAVING count(*)>=4 ORDER BY log;
|
||||
SELECT log, count(*), avg(n), max(n+log*2) FROM t1 GROUP BY log ORDER BY max(n+log*2)+0, min(log,avg(n))+0;
|
||||
|
||||
|
||||
DELETE FROM t1 WHERE NOT NOT (1) ;
|
||||
ANALYZE;
|
||||
VACUUM main;
|
||||
WITH cte(x) AS (VALUES(1),(2),(3)) SELECT * FROM cte;
|
||||
CREATE VIEW IF NOT EXISTS v_t1_1308 AS SELECT n FROM t1;
|
||||
CREATE INDEX IF NOT EXISTS idx_t1_3077 ON t1(log);
|
||||
|
||||
CREATE INDEX IF NOT EXISTS idx_t1_5776 ON t1((log + 1)) WHERE log IS NOT NULL;
|
||||
SELECT COUNT(*) FILTER (WHERE log IS NOT NULL), SUM(rowid) FILTER (WHERE log > 0), COUNT(*) FILTER (WHERE 1=0), COUNT(*) FILTER (WHERE 1=1), COUNT(*) FILTER (WHERE NULL), AVG(log) FILTER (WHERE log > 0 AND log < 100), COUNT(*) FILTER (WHERE typeof(log) = "text") FROM t1;
|
||||
PRAGMA vdbe_addoptrace = TRUE;
|
||||
CREATE TABLE t1(a INTEGER PRIMARY KEY, b TEXT, c INT, d INT);
|
||||
INSERT INTO t1 VALUES (unistr(NULL), 'Wernher', -9223372036854775808, 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 reverse_unordered_selects = YES;
|
||||
CREATE TABLE t1(n int, log int);
|
||||
BEGIN;
|
||||
INSERT INTO /**/ t1 VALUES(like('%2%', 1.7976931348623157e+308, '%'), 1);
|
||||
INSERT INTO t1 VALUES(3, 1);
|
||||
INSERT INTO t1 VALUES(4, 1);
|
||||
INSERT INTO t1 VALUES(4, 3);
|
||||
SELECT min(n),min(log),max(n),max(log),sum(n),sum(log),avg(n),avg(log) FROM t1;
|
||||
SELECT log, avg(n)+1 FROM t1 GROUP BY log ORDER BY log;
|
||||
SELECT log*2+1 AS x, count(*) AS y FROM t1 GROUP BY x ORDER BY 10-(x+y);
|
||||
SELECT log, count(*) FROM t1 GROUP BY log HAVING count(*)>=4 ORDER BY log;
|
||||
SELECT log, count(*), avg(n), max(n+log*2) FROM t1 GROUP BY log ORDER BY max(n+log*2)+0, min(log,avg(n))+0;
|
||||
|
||||
|
||||
DELETE FROM t1 WHERE NOT NOT (1) ;
|
||||
ANALYZE;
|
||||
VACUUM main;
|
||||
WITH cte(x) AS (VALUES(1),(2),(3)) SELECT * FROM cte;
|
||||
CREATE VIEW IF NOT EXISTS v_t1_1308 AS SELECT n FROM t1;
|
||||
CREATE INDEX IF NOT EXISTS idx_t1_3077 ON t1(log);
|
||||
PRAGMA vdbe_addoptrace = TRUE;
|
||||
CREATE TABLE t1(a INTEGER PRIMARY KEY, b TEXT, c INT, d INT);
|
||||
INSERT INTO t1 VALUES (unistr(NULL), '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 reverse_unordered_selects = YES;
|
||||
CREATE TABLE t1(n int, log int);
|
||||
BEGIN;
|
||||
INSERT INTO /**/ t1 VALUES(like('%2%', 1.7976931348623157e+308, '%'), 1);
|
||||
INSERT INTO t1 VALUES(3, 1);
|
||||
INSERT INTO t1 VALUES(4, 1);
|
||||
INSERT INTO t1 VALUES(4, 3);
|
||||
SELECT min(n),min(log),max(n),max(log),sum(n),sum(log),avg(n),avg(log) FROM t1;
|
||||
SELECT log, avg(n)+1 FROM t1 GROUP BY log ORDER BY log;
|
||||
SELECT log*2+1 AS x, count(*) AS y FROM t1 GROUP BY x ORDER BY 10-(x+y);
|
||||
SELECT log, count(*) FROM t1 GROUP BY log HAVING count(*)>=4 ORDER BY log;
|
||||
SELECT log, count(*), avg(n), max(n+log*2) FROM t1 GROUP BY log ORDER BY max(n+log*2)+0, min(log,avg(n))+0;
|
||||
|
||||
|
||||
DELETE FROM t1 WHERE NOT NOT (1) ;
|
||||
ANALYZE;
|
||||
VACUUM main;
|
||||
WITH cte(x) AS (VALUES(1),(2),(3)) SELECT * FROM cte;
|
||||
CREATE VIEW IF NOT EXISTS v_t1_1308 AS SELECT n FROM t1;
|
||||
CREATE INDEX IF NOT EXISTS idx_t1_3077 ON t1(log);
|
||||
|
||||
CREATE INDEX IF NOT EXISTS idx_t1_5776 ON t1((log + 1)) WHERE log IS NOT NULL;
|
||||
SELECT COUNT(*) FILTER (WHERE log IS NOT NULL), SUM(rowid) FILTER (WHERE log > 0), COUNT(*) FILTER (WHERE 1=0), COUNT(*) FILTER (WHERE 1=1), COUNT(*) FILTER (WHERE NULL), AVG(log) FILTER (WHERE log > 0 AND log < 100), COUNT(*) FILTER (WHERE typeof(log) = "text") FROM t1;
|
||||
PRAGMA vdbe_addoptrace = TRUE;
|
||||
CREATE TABLE t1(a INTEGER PRIMARY KEY, b TEXT, c INT, d INT);
|
||||
INSERT INTO t1 VALUES (unistr(NULL), 'Wernher', -9223372036854775808, 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 reverse_unordered_selects = YES;
|
||||
CREATE TABLE t1(n int, log int);
|
||||
BEGIN;
|
||||
INSERT INTO /**/ t1 VALUES(like('%2%', 1.7976931348623157e+308, '%'), 1);
|
||||
INSERT INTO t1 VALUES(3, 1);
|
||||
INSERT INTO t1 VALUES(4, 1);
|
||||
INSERT INTO t1 VALUES(4, 3);
|
||||
SELECT min(n),min(log),max(n),max(log),sum(n),sum(log),avg(n),avg(log) FROM t1;
|
||||
SELECT log, avg(n)+1 FROM t1 GROUP BY log ORDER BY log;
|
||||
SELECT log*2+1 AS x, count(*) AS y FROM t1 GROUP BY x ORDER BY 10-(x+y);
|
||||
SELECT log, count(*) FROM t1 GROUP BY log HAVING count(*)>=4 ORDER BY log;
|
||||
SELECT log, count(*), avg(n), max(n+log*2) FROM t1 GROUP BY log ORDER BY max(n+log*2)+0, min(log,avg(n))+0;
|
||||
|
||||
|
||||
DELETE FROM t1 WHERE NOT NOT (1) ;
|
||||
ANALYZE;
|
||||
VACUUM main;
|
||||
WITH cte(x) AS (VALUES(1),(2),(3)) SELECT * FROM cte;
|
||||
CREATE VIEW IF NOT EXISTS v_t1_1308 AS SELECT n FROM t1;
|
||||
CREATE INDEX IF NOT EXISTS idx_t1_3077 ON t1(log);
|
||||
PRAGMA vdbe_addoptrace = TRUE;
|
||||
CREATE TABLE t1(a INTEGER PRIMARY KEY, b TEXT, c INT, d INT);
|
||||
INSERT INTO t1 VALUES (unistr(NULL), '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 reverse_unordered_selects = YES;
|
||||
CREATE TABLE t1(n int, log int);
|
||||
BEGIN;
|
||||
INSERT INTO /**/ t1 VALUES(like('%2%', 1.7976931348623157e+308, '%'), 1);
|
||||
INSERT INTO t1 VALUES(3, 1);
|
||||
INSERT INTO t1 VALUES(4, 1);
|
||||
INSERT INTO t1 VALUES(4, 3);
|
||||
SELECT min(n),min(log),max(n),max(log),sum(n),sum(log),avg(n),avg(log) FROM t1;
|
||||
SELECT log, avg(n)+1 FROM t1 GROUP BY log ORDER BY log;
|
||||
SELECT log*2+1 AS x, count(*) AS y FROM t1 GROUP BY x ORDER BY 10-(x+y);
|
||||
SELECT log, count(*) FROM t1 GROUP BY log HAVING count(*)>=4 ORDER BY log;
|
||||
SELECT log, count(*), avg(n), max(n+log*2) FROM t1 GROUP BY log ORDER BY max(n+log*2)+0, min(log,avg(n))+0;
|
||||
|
||||
|
||||
DELETE FROM t1 WHERE NOT NOT (1) ;
|
||||
ANALYZE;
|
||||
VACUUM main;
|
||||
WITH cte(x) AS (VALUES(1),(2),(3)) SELECT * FROM cte;
|
||||
CREATE VIEW IF NOT EXISTS v_t1_1308 AS SELECT n FROM t1;
|
||||
CREATE INDEX IF NOT EXISTS idx_t1_3077 ON t1(log);
|
||||
|
||||
CREATE INDEX IF NOT EXISTS idx_t1_5776 ON t1((log + 1)) WHERE log IS NOT NULL;
|
||||
SELECT COUNT(*) FILTER (WHERE log IS NOT NULL), SUM(rowid) FILTER (WHERE log > 0), COUNT(*) FILTER (WHERE 1=0), COUNT(*) FILTER (WHERE 1=1), COUNT(*) FILTER (WHERE NULL), AVG(log) FILTER (WHERE log > 0 AND log < 100), COUNT(*) FILTER (WHERE typeof(log) = "text") FROM t1;
|
||||
PRAGMA vdbe_addoptrace = TRUE;
|
||||
CREATE TABLE t1(a INTEGER PRIMARY KEY, b TEXT, c INT, d INT);
|
||||
INSERT INTO t1 VALUES (unistr(NULL), 'Wernher', -9223372036854775808, 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 reverse_unordered_selects = YES;
|
||||
CREATE TABLE t1(n int, log int);
|
||||
BEGIN;
|
||||
INSERT INTO /**/ t1 VALUES(like('%2%', 1.7976931348623157e+308, '%'), 1);
|
||||
INSERT INTO t1 VALUES(3, 1);
|
||||
INSERT INTO t1 VALUES(4, 1);
|
||||
INSERT INTO t1 VALUES(4, 3);
|
||||
SELECT min(n),min(log),max(n),max(log),sum(n),sum(log),avg(n),avg(log) FROM t1;
|
||||
SELECT log, avg(n)+1 FROM t1 GROUP BY log ORDER BY log;
|
||||
SELECT log*2+1 AS x, count(*) AS y FROM t1 GROUP BY x ORDER BY 10-(x+y);
|
||||
SELECT log, count(*) FROM t1 GROUP BY log HAVING count(*)>=4 ORDER BY log;
|
||||
SELECT log, count(*), avg(n), max(n+log*2) FROM t1 GROUP BY log ORDER BY max(n+log*2)+0, min(log,avg(n))+0;
|
||||
|
||||
|
||||
DELETE FROM t1 WHERE NOT NOT (1) ;
|
||||
ANALYZE;
|
||||
VACUUM main;
|
||||
WITH cte(x) AS (VALUES(1),(2),(3)) SELECT * FROM cte;
|
||||
CREATE VIEW IF NOT EXISTS v_t1_1308 AS SELECT n FROM t1;
|
||||
CREATE INDEX IF NOT EXISTS idx_t1_3077 ON t1(log);
|
||||
PRAGMA vdbe_addoptrace = TRUE;
|
||||
CREATE TABLE t1(a INTEGER PRIMARY KEY, b TEXT, c INT, d INT);
|
||||
INSERT INTO t1 VALUES (unistr(NULL), '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 reverse_unordered_selects = YES;
|
||||
CREATE TABLE t1(n int, log int);
|
||||
BEGIN;
|
||||
INSERT INTO /**/ t1 VALUES(like('%2%', 1.7976931348623157e+308, '%'), 1);
|
||||
INSERT INTO t1 VALUES(3, 1);
|
||||
INSERT INTO t1 VALUES(4, 1);
|
||||
INSERT INTO t1 VALUES(4, 3);
|
||||
SELECT min(n),min(log),max(n),max(log),sum(n),sum(log),avg(n),avg(log) FROM t1;
|
||||
SELECT log, avg(n)+1 FROM t1 GROUP BY log ORDER BY log;
|
||||
SELECT log*2+1 AS x, count(*) AS y FROM t1 GROUP BY x ORDER BY 10-(x+y);
|
||||
SELECT log, count(*) FROM t1 GROUP BY log HAVING count(*)>=4 ORDER BY log;
|
||||
SELECT log, count(*), avg(n), max(n+log*2) FROM t1 GROUP BY log ORDER BY max(n+log*2)+0, min(log,avg(n))+0;
|
||||
|
||||
|
||||
DELETE FROM t1 WHERE NOT NOT (1) ;
|
||||
ANALYZE;
|
||||
VACUUM main;
|
||||
WITH cte(x) AS (VALUES(1),(2),(3)) SELECT * FROM cte;
|
||||
CREATE VIEW IF NOT EXISTS v_t1_1308 AS SELECT n FROM t1;
|
||||
CREATE INDEX IF NOT EXISTS idx_t1_3077 ON t1(log);
|
||||
|
||||
CREATE INDEX IF NOT EXISTS idx_t1_5776 ON t1((log + 1)) WHERE log IS NOT NULL;
|
||||
SELECT COUNT(*) FILTER (WHERE log IS NOT NULL), SUM(rowid) FILTER (WHERE log > 0), COUNT(*) FILTER (WHERE 1=0), COUNT(*) FILTER (WHERE 1=1), COUNT(*) FILTER (WHERE NULL), AVG(log) FILTER (WHERE log > 0 AND log < 100), COUNT(*) FILTER (WHERE typeof(log) = "text") FROM t1;
|
||||
PRAGMA vdbe_addoptrace = TRUE;
|
||||
CREATE TABLE t1(a INTEGER PRIMARY KEY, b TEXT, c INT, d INT);
|
||||
INSERT INTO t1 VALUES (unistr(NULL), 'Wernher', -9223372036854775808, 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 reverse_unordered_selects = YES;
|
||||
CREATE TABLE t1(n int, log int);
|
||||
BEGIN;
|
||||
INSERT INTO /**/ t1 VALUES(like('%2%', 1.7976931348623157e+308, '%'), 1);
|
||||
INSERT INTO t1 VALUES(3, 1);
|
||||
INSERT INTO t1 VALUES(4, 1);
|
||||
INSERT INTO t1 VALUES(4, 3);
|
||||
SELECT min(n),min(log),max(n),max(log),sum(n),sum(log),avg(n),avg(log) FROM t1;
|
||||
SELECT log, avg(n)+1 FROM t1 GROUP BY log ORDER BY log;
|
||||
SELECT log*2+1 AS x, count(*) AS y FROM t1 GROUP BY x ORDER BY 10-(x+y);
|
||||
SELECT log, count(*) FROM t1 GROUP BY log HAVING count(*)>=4 ORDER BY log;
|
||||
SELECT log, count(*), avg(n), max(n+log*2) FROM t1 GROUP BY log ORDER BY max(n+log*2)+0, min(log,avg(n))+0;
|
||||
|
||||
|
||||
DELETE FROM t1 WHERE NOT NOT (1) ;
|
||||
ANALYZE;
|
||||
VACUUM main;
|
||||
WITH cte(x) AS (VALUES(1),(2),(3)) SELECT * FROM cte;
|
||||
CREATE VIEW IF NOT EXISTS v_t1_1308 AS SELECT n FROM t1;
|
||||
CREATE INDEX IF NOT EXISTS idx_t1_3077 ON t1(log);
|
||||
PRAGMA vdbe_addoptrace = TRUE;
|
||||
CREATE TABLE t1(a INTEGER PRIMARY KEY, b TEXT, c INT, d INT);
|
||||
INSERT INTO t1 VALUES (unistr(NULL), '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 reverse_unordered_selects = YES;
|
||||
CREATE TABLE t1(n int, log int);
|
||||
BEGIN;
|
||||
INSERT INTO /**/ t1 VALUES(like('%2%', 1.7976931348623157e+308, '%'), 1);
|
||||
INSERT INTO t1 VALUES(3, 1);
|
||||
INSERT INTO t1 VALUES(4, 1);
|
||||
INSERT INTO t1 VALUES(4, 3);
|
||||
SELECT min(n),min(log),max(n),max(log),sum(n),sum(log),avg(n),avg(log) FROM t1;
|
||||
SELECT log, avg(n)+1 FROM t1 GROUP BY log ORDER BY log;
|
||||
SELECT log*2+1 AS x, count(*) AS y FROM t1 GROUP BY x ORDER BY 10-(x+y);
|
||||
SELECT log, count(*) FROM t1 GROUP BY log HAVING count(*)>=4 ORDER BY log;
|
||||
SELECT log, count(*), avg(n), max(n+log*2) FROM t1 GROUP BY log ORDER BY max(n+log*2)+0, min(log,avg(n))+0;
|
||||
|
||||
|
||||
DELETE FROM t1 WHERE NOT NOT (1) ;
|
||||
ANALYZE;
|
||||
VACUUM main;
|
||||
WITH cte(x) AS (VALUES(1),(2),(3)) SELECT * FROM cte;
|
||||
CREATE VIEW IF NOT EXISTS v_t1_1308 AS SELECT n FROM t1;
|
||||
CREATE INDEX IF NOT EXISTS idx_t1_3077 ON t1(log);
|
||||
|
||||
CREATE INDEX IF NOT EXISTS idx_t1_5776 ON t1((log + 1)) WHERE log IS NOT NULL;
|
||||
SELECT COUNT(*) FILTER (WHERE log IS NOT NULL), SUM(rowid) FILTER (WHERE log > 0), COUNT(*) FILTER (WHERE 1=0), COUNT(*) FILTER (WHERE 1=1), COUNT(*) FILTER (WHERE NULL), AVG(log) FILTER (WHERE log > 0 AND log < 100), COUNT(*) FILTER (WHERE typeof(log) = "text") FROM t1;
|
||||
|
||||
ALTER TABLE t1 RENAME COLUMN log TO log_r7139;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_t1_3483 AFTER UPDATE OF n ON t1 FOR EACH ROW BEGIN SELECT RAISE(FAIL, 'no'); END;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_t1_7296 AFTER INSERT ON t1 BEGIN INSERT INTO t1(log) VALUES (NULL); END;
|
||||
DETACH DATABASE aux10;
|
||||
SELECT n, (SELECT SUM(n) FROM t1) AS sum_val FROM t1;
|
||||
SELECT * FROM t1 AS a RIGHT JOIN t1 AS b ON a.rowid = b.rowid;
|
||||
CREATE UNIQUE INDEX IF NOT EXISTS idx_t1_4982 ON t1(log) WHERE log > 0;
|
||||
SELECT log, (SELECT MAX(log) FROM t1) AS max_val FROM t1;
|
||||
SELECT * FROM t1;
|
||||
DETACH DATABASE aux61;
|
||||
INSERT INTO t1 VALUES (NULL, NULL);
|
||||
INSERT INTO t1 VALUES (NULL, NULL) ON CONFLICT(n) DO UPDATE SET n = excluded.n, log = excluded.log;
|
||||
ALTER TABLE t1 ADD COLUMN extra_5625 BIGINT UNIQUE;
|
||||
INSERT INTO t1 SELECT * FROM t1;
|
||||
INSERT INTO t1 DEFAULT VALUES;
|
||||
SELECT COUNT(*) FILTER (WHERE n IS NOT NULL), SUM(rowid) FILTER (WHERE n > 0), COUNT(*) FILTER (WHERE 1=0), COUNT(*) FILTER (WHERE 1=1), COUNT(*) FILTER (WHERE NULL), AVG(n) FILTER (WHERE n > 0 AND n < 100), COUNT(*) FILTER (WHERE typeof(n) = "text") FROM t1;
|
||||
ALTER TABLE t1 RENAME COLUMN n TO n_r3718;
|
||||
SELECT * FROM t1 NATURAL JOIN t1;
|
||||
VACUUM main;
|
||||
```
|
||||
|
||||
## Actual output
|
||||
|
||||
```sql
|
||||
CREATE TABLE T (
|
||||
A VARCHAR(20),
|
||||
B VARCHAR(30),
|
||||
C VARCHAR(30),
|
||||
PRIMARY KEY (A, B),
|
||||
UNIQUE (A, C)
|
||||
);
|
||||
INSERT INTO T VALUES ('a', 'p', 'x');
|
||||
INSERT INTO T VALUES ('a', 'q', 'y');
|
||||
INSERT INTO T VALUES ('b', 'p', 'z');
|
||||
INSERT INTO T VALUES ('c', 'r', 'w');
|
||||
INSERT INTO T VALUES ('d', 's', 'v');
|
||||
SELECT A, COUNT(DISTINCT B) AS D FROM T GROUP BY A HAVING COUNT(DISTINCT B) >= 1;
|
||||
a|2
|
||||
b|1
|
||||
c|1
|
||||
d|1
|
||||
PRAGMA automatic_index = 0;
|
||||
ATTACH DATABASE ':memory:' AS aux61;
|
||||
.log OFF
|
||||
ATTACH DATABASE ':memory:' AS aux10;
|
||||
PRAGMA vdbe_addoptrace = TRUE;
|
||||
CREATE TABLE t1(a INTEGER PRIMARY KEY, b TEXT, c INT, d INT);
|
||||
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
|
||||
CREATE TABLE "t2"("b","c","_ROWID_",PRIMARY KEY("b","c","_ROWID_"))WITHOUT ROWID;
|
||||
WARNING: writing to an imposter table will corrupt the "t1bc" index!
|
||||
|
||||
SELECT * FROM t2;
|
||||
Braun|30|3
|
||||
von|20|2
|
||||
|
||||
SELECT b, c FROM t1 ORDER BY b, c;
|
||||
Braun|30
|
||||
von|20
|
||||
|
||||
.quit
|
||||
```
|
||||
|
||||
## Expectation
|
||||
|
||||
```sql
|
||||
|
||||
```
|
||||
|
||||
## Flag
|
||||
|
||||
```
|
||||
|
||||
```
|
||||
|
||||
@@ -0,0 +1,177 @@
|
||||
## 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 vdbe_addoptrace = TRUE;
|
||||
.lint
|
||||
ATTACH DATABASE ':memory:' AS aux9;
|
||||
.echo on
|
||||
PRAGMA automatic_index = NO;
|
||||
ATTACH DATABASE ':memory:' AS aux83;
|
||||
BEGIN EXCLUSIVE;
|
||||
CREATE TABLE t1(a INTEGER PRIMARY KEY, b TEXT, c INT, d INT);
|
||||
INSERT INTO t1 VALUES (asin(-json_quote(datetime(cosh(octet_length('Hello'))))) ->> -(-(-(char(1, 2, 3, 4, 5) + 0.0))), '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;
|
||||
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;
|
||||
.imposter t1bc t2
|
||||
|
||||
WITH _m AS MATERIALIZED (SELECT * FROM T2) SELECT * FROM t2;
|
||||
SELECT b, c FROM t1 ORDER BY b, c;
|
||||
.quit
|
||||
PRAGMA recursive_triggers = OFF;
|
||||
PRAGMA ignore_check_constraints != FALSE;
|
||||
PRAGMA wal_autocheckpoint;
|
||||
PRAGMA pragma_list;
|
||||
.sha3sum
|
||||
CREATE TABLE T (
|
||||
a TEXT,
|
||||
b TEXT
|
||||
);
|
||||
INSERT INTO T VALUES ('a','2020-01-01'), ('b','2026-01-01');
|
||||
SELECT a,
|
||||
CAST(
|
||||
(julianday('now')-julianday(b))/-if(-2814635466794726270, 2360804486672605089)
|
||||
AS INTEGER
|
||||
) AS c
|
||||
FROM T;
|
||||
CREATE /**/ TABLE T1 (
|
||||
A VARCHAR(10) PRIMARY KEY,
|
||||
B VARCHAR(15) UNIQUE,
|
||||
C INTEGER
|
||||
);
|
||||
CREATE TABLE _m (
|
||||
X VARCHAR(20) PRIMARY KEY,
|
||||
A VARCHAR(10) NOT NULL UNIQUE,
|
||||
FOREIGN KEY (A) REFERENCES T1(A)
|
||||
);
|
||||
INSERT INTO T1 VALUES ('a', 'p', -2147483648);
|
||||
INSERT INTO T1 VALUES ('b', 'q', 2147483647);
|
||||
INSERT INTO T2 VALUES ('m', 'a');
|
||||
INSERT INTO T2 VALUES ('n', 'b');
|
||||
SELECT T2.X, T1.B, T1.C FROM T2, T1 WHERE T2.A = T1.A AND T1.C >= 0;
|
||||
SELECT SUM(b) OVER (ORDER BY b ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING EXCLUDE GROUP) FROM T;
|
||||
ALTER TABLE T RENAME TO T_r3912;
|
||||
PRAGMA vdbe_trace = 0;
|
||||
CREATE INDEX IF NOT EXISTS idx_T_6324 ON T(a COLLATE NOCASE) WHERE a > 0;
|
||||
INSERT INTO T SELECT * FROM T;
|
||||
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;
|
||||
ALTER TABLE T1 RENAME TO T1_r9774;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_T1_9214 AFTER UPDATE ON T1 FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'abort'); END;
|
||||
PRAGMA page_size;
|
||||
SELECT * FROM T1 AS a FULL OUTER JOIN T AS b ON a.rowid = b.rowid;
|
||||
SELECT GROUP_CONCAT(b, '|') FROM T;
|
||||
SELECT COUNT(*) FROM T2;
|
||||
SELECT * FROM T2 AS a JOIN T1 AS b ON a.rowid = b.rowid;
|
||||
ROLLBACK;
|
||||
WITH RECURSIVE multi(a, b) AS (VALUES(1, 1.0) UNION ALL SELECT a+1, b*0.5 /**/ FROM multi WHERE a<48) SELECT * FROM multi;
|
||||
ALTER TABLE T RENAME COLUMN a TO a_r1923;
|
||||
SELECT * FROM _m;
|
||||
ALTER TABLE _m DROP COLUMN X;
|
||||
ALTER TABLE _m DROP COLUMN X;
|
||||
WITH RECURSIVE r AS (SELECT * FROM T1 LIMIT 1 UNION ALL SELECT t.* FROM T1 t JOIN r ON t.B = r.B LIMIT 10) SELECT * FROM r;
|
||||
INSERT INTO _m VALUES (NULL, NULL);
|
||||
DETACH DATABASE aux83;
|
||||
REINDEX T;
|
||||
CREATE VIEW IF NOT EXISTS v_T1_1238 AS SELECT A FROM T1;
|
||||
ALTER TABLE t1 ADD COLUMN extra_3847 DATE NOT NULL DEFAULT 0;
|
||||
SELECT * FROM T1 AS a JOIN T AS b ON a.rowid = b.rowid;
|
||||
UPDATE t1 SET b = b + 1 WHERE 1 RETURNING *;
|
||||
ALTER TABLE _m DROP COLUMN A;
|
||||
CREATE UNIQUE INDEX IF NOT EXISTS idx_t1_5390 ON t1(lower(a)) WHERE a > /* iif(1, {v}, {v}) */ 0;
|
||||
SELECT * FROM t1 WHERE EXISTS (SELECT 1 FROM t1 WHERE d < 0);
|
||||
PRAGMA full_column_names = TRUE;
|
||||
SELECT LAG(X, 2) OVER (PARTITION BY X ORDER BY X ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) FROM _m;
|
||||
WITH cte AS (SELECT a FROM T) SELECT * FROM cte;
|
||||
INSERT OR FAIL INTO t1 VALUES (NULL, 'x', NULL, 5);
|
||||
DELETE FROM t1 WHERE b IS NULL RETURNING *;
|
||||
CREATE INDEX IF NOT EXISTS idx_T1_3128 ON T1(A COLLATE NOCASE);
|
||||
CREATE TEMPORARY VIEW IF NOT EXISTS v_T1_1435 AS SELECT A FROM T1;
|
||||
SELECT COUNT(*) FILTER (WHERE B IS NOT NULL), SUM(rowid) FILTER (WHERE B > 0), COUNT(*) FILTER (WHERE 1=0), COUNT(*) FILTER (WHERE 1=1), COUNT(*) FILTER (WHERE NULL), AVG(B) FILTER (WHERE B > 0 AND B < 100), COUNT(*) FILTER (WHERE typeof(B) = "text") FROM T1;
|
||||
INSERT INTO _m SELECT * FROM _m;
|
||||
CREATE VIEW IF NOT EXISTS v__m_2373 AS SELECT X FROM _m;
|
||||
DETACH DATABASE aux9;
|
||||
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 t1 SELECT * FROM t1;
|
||||
SELECT * FROM T WHERE a = (SELECT SUM(a) FROM T);
|
||||
DELETE FROM T WHERE b > (SELECT AVG(b) FROM T);
|
||||
SELECT * FROM _m AS a LEFT JOIN t1 AS b ON a.rowid = b.rowid;
|
||||
CREATE VIEW IF NOT EXISTS v_t1_4826 AS SELECT a FROM t1;
|
||||
WITH cte AS (SELECT CASE WHEN b IS NULL THEN 0 ELSE b END AS val FROM T) SELECT * FROM cte;
|
||||
ANALYZE;
|
||||
ALTER TABLE T1 ADD COLUMN extra_313 INT2 DEFAULT '';
|
||||
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 AND X < 100), COUNT(*) FILTER (WHERE typeof(X) = "text") FROM _m;
|
||||
WITH cte AS (SELECT b FROM T) SELECT * FROM cte;
|
||||
DELETE FROM t1 WHERE 0 RETURNING *;
|
||||
INSERT INTO _m SELECT * FROM _m;
|
||||
SELECT * FROM T WHERE a > ANY (SELECT a FROM T);
|
||||
VACUUM main;
|
||||
```
|
||||
|
||||
## Actual output
|
||||
|
||||
```sql
|
||||
PRAGMA automatic_index = NO;
|
||||
ATTACH DATABASE ':memory:' AS aux83;
|
||||
BEGIN EXCLUSIVE;
|
||||
CREATE TABLE t1(a INTEGER PRIMARY KEY, b TEXT, c INT, d INT);
|
||||
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;
|
||||
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;
|
||||
q|2
|
||||
r|2
|
||||
p|1
|
||||
t|1
|
||||
.imposter t1bc t2
|
||||
CREATE TABLE "t2"("b","c","_ROWID_",PRIMARY KEY("b","c","_ROWID_"))WITHOUT ROWID;
|
||||
WARNING: writing to an imposter table will corrupt the "t1bc" index!
|
||||
|
||||
WITH _m AS MATERIALIZED (SELECT * FROM T2) SELECT * FROM t2;
|
||||
Braun|30|3
|
||||
von|20|2
|
||||
SELECT b, c FROM t1 ORDER BY b, c;
|
||||
Braun|30
|
||||
von|20
|
||||
.quit
|
||||
```
|
||||
|
||||
## Expectation
|
||||
|
||||
```sql
|
||||
|
||||
```
|
||||
|
||||
## Flag
|
||||
|
||||
```
|
||||
|
||||
```
|
||||
|
||||
@@ -0,0 +1,85 @@
|
||||
## 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
|
||||
ATTACH DATABASE ':memory:' AS aux65;
|
||||
CREATE TABLE T (
|
||||
a INTEGER,
|
||||
b TEXT,
|
||||
c INTEGER
|
||||
);
|
||||
INSERT INTO T VALUES (NULL,'a',NULL), (2,'b',1), (3,'c',2);
|
||||
WITH RECURSIVE d(a,b,c,e) AS (
|
||||
SELECT *,1 FROM T WHERE c IS NULL
|
||||
UNION ALL
|
||||
SELECT T.a,T.b,T.c,d.e+1
|
||||
FROM T JOIN d ON T.c=d.a
|
||||
)
|
||||
SELECT * FROM d;
|
||||
.timer on
|
||||
CREATE TABLE T1 (
|
||||
A VARCHAR(-1445937777629738465),
|
||||
X VARCHAR(10),
|
||||
PRIMARY KEY (A, X),
|
||||
UNIQUE (X)
|
||||
);
|
||||
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 * FROM T1 WHERE X < (SELECT MIN(X) FROM T1);
|
||||
DETACH DATABASE aux65;
|
||||
SELECT * FROM T2;
|
||||
```
|
||||
|
||||
## Actual output
|
||||
|
||||
```sql
|
||||
|a||1
|
||||
Run Time: real 0.000 user 0.000144 sys 0.000000
|
||||
Run Time: real 0.000 user 0.000082 sys 0.000000
|
||||
Run Time: real 0.000 user 0.000021 sys 0.000000
|
||||
Run Time: real 0.000 user 0.000014 sys 0.000000
|
||||
Run Time: real 0.000 user 0.000013 sys 0.000000
|
||||
a
|
||||
b
|
||||
b
|
||||
Run Time: real 0.000 user 0.000036 sys 0.000000
|
||||
Run Time: real 0.000 user 0.000044 sys 0.000000
|
||||
Run Time: real 0.000 user 0.000008 sys 0.000000
|
||||
b|k
|
||||
Run Time: real 0.000 user 0.000010 sys 0.000000
|
||||
```
|
||||
|
||||
## Expectation
|
||||
|
||||
```sql
|
||||
|a||1
|
||||
Run Time: real 0.000056 user 0.000064 sys 0.000000
|
||||
Run Time: real 0.000032 user 0.000033 sys 0.000000
|
||||
Run Time: real 0.000011 user 0.000011 sys 0.000000
|
||||
Run Time: real 0.000006 user 0.000006 sys 0.000000
|
||||
Run Time: real 0.000005 user 0.000005 sys 0.000000
|
||||
a
|
||||
b
|
||||
b
|
||||
Run Time: real 0.000016 user 0.000017 sys 0.000000
|
||||
Run Time: real 0.000021 user 0.000022 sys 0.000000
|
||||
Run Time: real 0.000005 user 0.000004 sys 0.000000
|
||||
b|k
|
||||
Run Time: real 0.000004 user 0.000005 sys 0.000000
|
||||
```
|
||||
|
||||
## Flag
|
||||
|
||||
```
|
||||
|
||||
```
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,153 @@
|
||||
## 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
|
||||
SAVEPOINT sp800;
|
||||
SAVEPOINT sp1369;
|
||||
ATTACH DATABASE ':memory:' AS aux20;
|
||||
PRAGMA short_column_names = YES;
|
||||
.progress datetime('Inf', '+1 day')
|
||||
.shell pwd
|
||||
CREATE TABLE T (
|
||||
a TEXT,
|
||||
b INTEGER,
|
||||
c REAL
|
||||
);
|
||||
INSERT INTO T VALUES (('a' || ''),ceiling(x'c5cb906e1c8cc13d197d23f8b3cc1209'),NULL), ('a',-zeroblob(','),-'%'), ('b',1,4.5);
|
||||
SELECT a,b,c,
|
||||
SUM(c) OVER (
|
||||
PARTITION BY a
|
||||
ORDER BY b
|
||||
) AS d
|
||||
FROM T;
|
||||
CREATE TABLE t1(a INTEGER PRIMARY KEY, b TEXT, c INT, d INT);
|
||||
INSERT INTO t1 VALUES (like('_1%', 1, '_'), 'Wernher', 10, 100);
|
||||
INSERT INTO t1 VALUES (2, 'von', 20, 200);
|
||||
creATE VIRTUAL TABLE t0 USING fts3("x", "y", "z");
|
||||
DROP TABLE t0;
|
||||
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
|
||||
BEGIN DEFERRED;
|
||||
CREATE TABLE T (
|
||||
a TEXT,
|
||||
b REAL
|
||||
);
|
||||
INSERT INTO T VALUES ('a',100.0), ('b',-200.5), ('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;
|
||||
PRAGMA cache_spill = NO;
|
||||
PRAGMA vdbe_listing = inf;
|
||||
PRAGMA empty_result_callbacks = 0;
|
||||
.timeout
|
||||
CREATE TABLE p1(a PRIMARY KEY, b UNIQUE);
|
||||
CREATE TABLE c1(x, y, z REFERENCES p1(c));
|
||||
CREATE TABLE c2(x, y, z, w REFERENCES p1(b));
|
||||
ALTER TABLE c1 DROP COLUMN z;
|
||||
ALTER TABLE c2 DROP COLUMN z;
|
||||
SELECT sql FROM sqlite_schema WHERE name IN ('c1', 'c2');
|
||||
COMMIT TRANSACTION;
|
||||
WITH RECURSIVE cnt(x) AS (VALUES(1) UNION ALL SELECT x+1 FROM cnt WHERE +x<31) SELECT x FROM cnt WHERE x > 15;
|
||||
CREATE TEMPORARY VIEW IF NOT EXISTS v_c1_2917 AS SELECT z FROM c1;
|
||||
SELECT * FROM c2 AS a FULL OUTER JOIN c1 AS b ON a.rowid = b.rowid;
|
||||
SELECT * FROM p1;
|
||||
UPDATE c2 SET z = NULL WHERE rowid = 1;
|
||||
CREATE INDEX IF NOT EXISTS idx_c2_3327 ON c2(lower(x)) WHERE x > 0;
|
||||
creATE VIRTUAL TABLE t0 USING fts3("x", "y", "z");
|
||||
DROP TABLE t0;
|
||||
SELECT COUNT(*) FILTER (WHERE z IS NOT NULL), SUM(rowid) FILTER (WHERE z > 0), COUNT(*) FILTER (WHERE 1=0), COUNT(*) FILTER (WHERE 1=1), COUNT(*) FILTER (WHERE NULL), AVG(z) FILTER (WHERE z > 0 AND z < 100), COUNT(*) FILTER (WHERE typeof(z) = "text") FROM c2;
|
||||
SELECT COUNT(*) FILTER (WHERE y IS NOT NULL), SUM(rowid) FILTER (WHERE y > 0), COUNT(*) FILTER (WHERE 1=0), COUNT(*) FILTER (WHERE 1=1), COUNT(*) FILTER (WHERE NULL), AVG(y) FILTER (WHERE y > 0 AND y < 100), COUNT(*) FILTER (WHERE typeof(y) = "text") FROM c1;
|
||||
REINDEX p1;
|
||||
ALTER TABLE c2 RENAME COLUMN w TO w_r831;
|
||||
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);
|
||||
SELECT 0x0ACB29BM205381;
|
||||
SELECT sqlite_compileoption_used('æçå¤©ä½ æ¯æä¹äº');
|
||||
SELECT 1 >> -999999999999999999999999999;
|
||||
SELECT sqlite_compileoption_get($1);
|
||||
SELECT sqlite_version();
|
||||
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;
|
||||
INSERT INTO t1 SELECT * FROM t1;
|
||||
SELECT * FROM c2 t1 LEFT JOIN c2 t2 ON t1.w = (SELECT w FROM c2 WHERE w = t1.w);
|
||||
ALTER TABLE p1 DROP COLUMN b;
|
||||
ANALYZE;
|
||||
SELECT COUNT(*) FROM T2;
|
||||
INSERT INTO T1 DEFAULT VALUES;
|
||||
INSERT INTO T2 VALUES (NULL, NULL);
|
||||
SELECT * FROM t1 AS a RIGHT JOIN c2 AS b ON a.rowid = b.rowid;
|
||||
DETACH DATABASE aux20;
|
||||
RELEASE sp1369;
|
||||
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;
|
||||
DROP VIEW IF EXISTS T1;
|
||||
INSERT INTO p1 DEFAULT VALUES;
|
||||
|
||||
SELECT COUNT(*) FROM c2;
|
||||
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 AND x < 100), COUNT(*) FILTER (WHERE typeof(x) = "text") FROM c2;
|
||||
ALTER TABLE c1 RENAME COLUMN z TO z_r2716;
|
||||
SELECT * FROM c2;
|
||||
DROP INDEX IF EXISTS p1;
|
||||
RELEASE sp800;
|
||||
|
||||
SELECT COUNT(*) FROM c1;
|
||||
INSERT INTO T2 VALUES (NULL, NULL);
|
||||
```
|
||||
|
||||
## Actual output
|
||||
|
||||
```sql
|
||||
/fuzzer
|
||||
a|||
|
||||
a|0|0.0|0.0
|
||||
b|1|4.5|4.5
|
||||
CREATE TABLE "t2"("b","c","_ROWID_",PRIMARY KEY("b","c","_ROWID_"))WITHOUT ROWID;
|
||||
WARNING: writing to an imposter table will corrupt the "t1bc" index!
|
||||
Braun|30|3
|
||||
Wernher|10|1
|
||||
von|20|2
|
||||
Braun|30
|
||||
Wernher|10
|
||||
von|20
|
||||
```
|
||||
|
||||
## Expectation
|
||||
|
||||
```sql
|
||||
/fuzzer
|
||||
a|||
|
||||
a|0|0.0|0.0
|
||||
b|1|4.5|4.5
|
||||
CREATE TABLE "t2"("b","c","_ROWID_",PRIMARY KEY("b","c","_ROWID_"))WITHOUT ROWID;
|
||||
Braun|30|3
|
||||
Wernher|10|1
|
||||
von|20|2
|
||||
Braun|30
|
||||
Wernher|10
|
||||
von|20
|
||||
```
|
||||
|
||||
## Flag
|
||||
|
||||
```
|
||||
|
||||
```
|
||||
|
||||
@@ -0,0 +1,47 @@
|
||||
## 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 TABLE t1(a, b);
|
||||
CREATE /* CHAR(10) */ INDEX i1 ON t1(a);
|
||||
INSERT INTO t1 VALUES('aaa', tanh(timediff(sign(0), 1)));
|
||||
INSERT INTO t1 VALUES('ddd', 2);
|
||||
INSERT INTO t1 VALUES('ccc', 3);
|
||||
INSERT INTO t1 VALUES('eee', 4);
|
||||
SELECT b FROM t1 WHERE a IN ('aaa', 'bbb', 'ccc');
|
||||
SELECT a FROM t1 WHERE rowid IN (1, 3);
|
||||
|
||||
ALTER TABLE t1 DROP COLUMN b;
|
||||
CREATE INDEX IF NOT EXISTS idx_t1_9614 ON t1(a COLLATE NOCASE) WHERE a IS NOT NULL;
|
||||
SELECT * FROM t1;
|
||||
|
||||
SELECT COUNT(*) FROM t1;
|
||||
INSERT INTO t1 DEFAULT VALUES;
|
||||
```
|
||||
|
||||
## Actual output
|
||||
|
||||
```sql
|
||||
3
|
||||
ddd
|
||||
eee
|
||||
ddd
|
||||
ccc
|
||||
eee
|
||||
3
|
||||
```
|
||||
|
||||
## Expectation
|
||||
|
||||
```sql
|
||||
|
||||
```
|
||||
|
||||
## Flag
|
||||
|
||||
```
|
||||
|
||||
```
|
||||
|
||||
@@ -0,0 +1,133 @@
|
||||
## 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 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
|
||||
BEGIN TRANSACTION;
|
||||
ATTACH DATABASE ':memory:' AS aux72;
|
||||
BEGIN DEFERRED;
|
||||
CREATE TABLE t1(a);
|
||||
INSERT INTO t1 VALUES('abc'),('def'),('ghi');
|
||||
CREATE TABLE t2(a);
|
||||
INSERT INTO t2 VALUES('DEF'),('abc');
|
||||
CREATE TABLE t3(a);
|
||||
INSERT INTO t3 VALUES('def'),('jkl');
|
||||
SELECT a FROM t1 EXCEPT SELECT a FROM t2 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE binary;
|
||||
DELETE FROM t2;
|
||||
DELETE FROM t3;
|
||||
INSERT INTO t2 VALUES('ABC'),('def'),('GHI'),('jkl');
|
||||
INSERT INTO t3 SELECT lower(a) FROM t2;
|
||||
SELECT a COLLATE nocase FROM t2 EXCEPT SELECT a FROM t3 ORDER BY 1
|
||||
|
||||
CREATE TABLE t1(a);
|
||||
INSERT INTO t1 VALUES('abc'),('def'),('ghi');
|
||||
CREATE TABLE t2(a);
|
||||
INSERT INTO t2 VALUES('DEF'),('abc');
|
||||
CREATE TABLE t3(a);
|
||||
INSERT INTO t3 VALUES('def'),('jkl');
|
||||
SELECT a FROM t1 EXCEPT SELECT a FROM t2 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE binary;
|
||||
DELETE FROM t2;
|
||||
DELETE FROM t3;
|
||||
INSERT INTO t2 VALUES('ABC'),('def'),('GHI'),('jkl');
|
||||
INSERT INTO t3 SELECT lower(a) FROM t2;
|
||||
SELECT a COLLATE nocase FROM t2 EXCEPT SELECT a FROM t3 ORDER BY 1
|
||||
|
||||
CREATE TABLE t1(a);
|
||||
INSERT INTO t1 VALUES('abc'),('def'),('ghi');
|
||||
CREATE TABLE t2(a);
|
||||
INSERT INTO t2 VALUES('DEF'),('abc');
|
||||
CREATE TABLE t3(a);
|
||||
INSERT INTO t3 VALUES('def'),('jkl');
|
||||
SELECT a FROM t1 EXCEPT SELECT a FROM t2 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE binary;
|
||||
DELETE FROM t2;
|
||||
DELETE FROM t3;
|
||||
INSERT INTO t2 VALUES('ABC'),('def'),('GHI'),('jkl');
|
||||
INSERT INTO t3 SELECT lower(a) FROM t2;
|
||||
SELECT a COLLATE nocase FROM t2 EXCEPT SELECT a FROM t3 ORDER BY 1
|
||||
|
||||
CREATE TABLE t1(a);
|
||||
INSERT INTO t1 VALUES('abc'),('def'),('ghi');
|
||||
CREATE TABLE t2(a);
|
||||
INSERT INTO t2 VALUES('DEF'),('abc');
|
||||
CREATE TABLE t3(a);
|
||||
INSERT INTO t3 VALUES('def'),('jkl');
|
||||
SELECT a FROM t1 EXCEPT SELECT a FROM t2 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE binary;
|
||||
DELETE FROM t2;
|
||||
DELETE FROM t3;
|
||||
INSERT INTO t2 VALUES('ABC'),('def'),('GHI'),('jkl');
|
||||
INSERT INTO t3 SELECT lower(a) FROM t2;
|
||||
SELECT a COLLATE nocase FROM t2 EXCEPT SELECT a FROM t3 ORDER BY 1
|
||||
|
||||
|
||||
COMMIT;
|
||||
REINDEX t1;
|
||||
CREATE UNIQUE INDEX IF NOT EXISTS idx_t3_1118 ON t3(a COLLATE NOCASE) WHERE a > 0;
|
||||
DROP INDEX IF EXISTS t2;
|
||||
SELECT LAST_VALUE(a) OVER (ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) FROM t3;
|
||||
DETACH DATABASE aux72;
|
||||
ALTER TABLE t1 RENAME COLUMN a TO a_r9525;
|
||||
ROLLBACK;
|
||||
ALTER TABLE t3 RENAME COLUMN a TO a_r8773;
|
||||
PRAGMA defer_foreign_keys = TRUE;
|
||||
SELECT * FROM t2;
|
||||
PRAGMA wal_checkpoint('RESTART');
|
||||
INSERT INTO t1 VALUES (NULL);
|
||||
INSERT INTO t1 VALUES (NULL) ON CONFLICT(a) DO UPDATE SET a = excluded.a;
|
||||
```
|
||||
|
||||
## Actual output
|
||||
|
||||
```sql
|
||||
CREATE TABLE "t2"("b","c","_ROWID_",PRIMARY KEY("b","c","_ROWID_"))WITHOUT ROWID;
|
||||
WARNING: writing to an imposter table will corrupt the "t1bc" index!
|
||||
Braun|30|3
|
||||
Wernher|10|1
|
||||
von|20|2
|
||||
Braun|30
|
||||
Wernher|10
|
||||
von|20
|
||||
```
|
||||
|
||||
## Expectation
|
||||
|
||||
```sql
|
||||
CREATE TABLE "t2"("b","c","_ROWID_",PRIMARY KEY("b","c","_ROWID_"))WITHOUT ROWID;
|
||||
Braun|30|3
|
||||
Wernher|10|1
|
||||
von|20|2
|
||||
Braun|30
|
||||
Wernher|10
|
||||
von|20
|
||||
```
|
||||
|
||||
## Flag
|
||||
|
||||
```
|
||||
-vfs memdb
|
||||
```
|
||||
|
||||
@@ -0,0 +1,117 @@
|
||||
## 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 case_sensitive_like = YES;
|
||||
PRAGMA user_version;
|
||||
PRAGMA wal_checkpoint('NOOP');
|
||||
.timer 192319231923
|
||||
DROP TABLE IF EXISTS t1;
|
||||
CREATE TABLE t1(w INT, x INT);
|
||||
INSERT INTO t1(w,x) VALUES(1,10),(2,20),(3,30), (2,21),(3,31), (3,32);
|
||||
CREATE INDEX t1wx ON t1(w,x);
|
||||
|
||||
DROP TABLE IF EXISTS t2;
|
||||
CREATE TABLE t2(w INT, y VARCHAR(8));
|
||||
INSERT INTO t2(w,y) VALUES(1,'one'),(2,'two'),(3,'three'),(4,'four');
|
||||
CREATE INDEX t2wy ON t2(w,y);
|
||||
|
||||
SELECT cnt, xyz, (SELECT y FROM t2 WHERE w=cnt), '|' FROM (SELECT count(*) AS cnt, w AS xyz FROM t1 GROUP BY 2) ORDER BY cnt, xyz;
|
||||
SELECT cnt, xyz, lower((SELECT y FROM t2 WHERE w=cnt)), '|' FROM (SELECT count(*) AS cnt, w AS xyz FROM t1 GROUP BY 2) ORDER BY cnt, xyz;
|
||||
SELECT cnt, xyz, CASE WHEN (SELECT y FROM t2 WHERE w=cnt)=='two' THEN 'aaa' ELSE 'bbb' END, '|' FROM (SELECT count(*) AS cnt, w AS xyz FROM t1 GROUP BY 2) ORDER BY +cnt;
|
||||
|
||||
WITH cte AS (SELECT * FROM t2 WHERE w IN (SELECT w FROM t2 LIMIT 5)) SELECT * FROM cte;
|
||||
REINDEX;
|
||||
INSERT INTO t1 DEFAULT VALUES;
|
||||
WITH n AS NOT MATERIALIZED (SELECT * FROM t2) SELECT * FROM n WHERE y > 0;
|
||||
INSERT INTO t1 SELECT * FROM t1;
|
||||
```
|
||||
|
||||
## Actual output
|
||||
|
||||
```sql
|
||||
0
|
||||
0|-1|-1
|
||||
Run Time: real 0.000 user 0.000024 sys 0.000000
|
||||
Run Time: real 0.000 user 0.000116 sys 0.000000
|
||||
Run Time: real 0.000 user 0.000029 sys 0.000000
|
||||
Run Time: real 0.000 user 0.000081 sys 0.000000
|
||||
Run Time: real 0.000 user 0.000004 sys 0.000000
|
||||
Run Time: real 0.000 user 0.000053 sys 0.000000
|
||||
Run Time: real 0.000 user 0.000016 sys 0.000000
|
||||
Run Time: real 0.000 user 0.000054 sys 0.000000
|
||||
1|1|one||
|
||||
2|2|two||
|
||||
3|3|three||
|
||||
Run Time: real 0.000 user 0.000088 sys 0.000000
|
||||
1|1|one||
|
||||
2|2|two||
|
||||
3|3|three||
|
||||
Run Time: real 0.000 user 0.000057 sys 0.000000
|
||||
1|1|bbb||
|
||||
2|2|aaa||
|
||||
3|3|bbb||
|
||||
Run Time: real 0.000 user 0.000051 sys 0.000000
|
||||
1|one
|
||||
2|two
|
||||
3|three
|
||||
4|four
|
||||
Run Time: real 0.001 user 0.000104 sys 0.000000
|
||||
Run Time: real 0.000 user 0.000027 sys 0.000000
|
||||
Run Time: real 0.000 user 0.000015 sys 0.000000
|
||||
1|one
|
||||
2|two
|
||||
3|three
|
||||
4|four
|
||||
Run Time: real 0.000 user 0.000024 sys 0.000000
|
||||
Run Time: real 0.000 user 0.000031 sys 0.000000
|
||||
```
|
||||
|
||||
## Expectation
|
||||
|
||||
```sql
|
||||
0
|
||||
0|-1|-1
|
||||
Run Time: real 0.000003 user 0.000010 sys 0.000000
|
||||
Run Time: real 0.000041 user 0.000041 sys 0.000000
|
||||
Run Time: real 0.000015 user 0.000015 sys 0.000000
|
||||
Run Time: real 0.000034 user 0.000034 sys 0.000000
|
||||
Run Time: real 0.000002 user 0.000002 sys 0.000000
|
||||
Run Time: real 0.000019 user 0.000020 sys 0.000000
|
||||
Run Time: real 0.000007 user 0.000006 sys 0.000000
|
||||
Run Time: real 0.000020 user 0.000020 sys 0.000000
|
||||
1|1|one||
|
||||
2|2|two||
|
||||
3|3|three||
|
||||
Run Time: real 0.000043 user 0.000044 sys 0.000000
|
||||
1|1|one||
|
||||
2|2|two||
|
||||
3|3|three||
|
||||
Run Time: real 0.000025 user 0.000025 sys 0.000000
|
||||
1|1|bbb||
|
||||
2|2|aaa||
|
||||
3|3|bbb||
|
||||
Run Time: real 0.000021 user 0.000020 sys 0.000000
|
||||
1|one
|
||||
2|two
|
||||
3|three
|
||||
4|four
|
||||
Run Time: real 0.000067 user 0.000067 sys 0.000000
|
||||
Run Time: real 0.000011 user 0.000012 sys 0.000000
|
||||
Run Time: real 0.000008 user 0.000008 sys 0.000000
|
||||
1|one
|
||||
2|two
|
||||
3|three
|
||||
4|four
|
||||
Run Time: real 0.000010 user 0.000010 sys 0.000000
|
||||
Run Time: real 0.000021 user 0.000022 sys 0.000000
|
||||
```
|
||||
|
||||
## Flag
|
||||
|
||||
```
|
||||
|
||||
```
|
||||
|
||||
@@ -0,0 +1,45 @@
|
||||
## 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
|
||||
.log stdout
|
||||
BEGIN DEFERRED TRANSACTION;
|
||||
SELECT (x'7933d886f723d94ae4daafa168938983' - substr(NULL, CAST((1 - 0) AS DATE)))x0ACB29BM205381;
|
||||
SELECT sqlite_compileoption_used('æçå¤©ä½ æ¯æä¹äº');
|
||||
SELECT 1 >> -999999999999999999999999999;
|
||||
SELECT sqlite_compileoption_get($1);
|
||||
SELECT sqlite_version();
|
||||
COMMIT;
|
||||
PRAGMA temp_store = 'MEMORY';
|
||||
PRAGMA empty_result_callbacks = ON;
|
||||
VACUUM;
|
||||
```
|
||||
|
||||
## Actual output
|
||||
|
||||
```sql
|
||||
0
|
||||
0
|
||||
ATOMIC_INTRINSICS=1
|
||||
3.39.0
|
||||
```
|
||||
|
||||
## Expectation
|
||||
|
||||
```sql
|
||||
0
|
||||
0
|
||||
(21) API called with NULL prepared statement
|
||||
(21) misuse at line 94038 of [281fc0e9af]
|
||||
ATOMIC_INTRINSICS=1
|
||||
3.51.1
|
||||
```
|
||||
|
||||
## Flag
|
||||
|
||||
```
|
||||
|
||||
```
|
||||
|
||||
@@ -0,0 +1,41 @@
|
||||
## 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
|
||||
SAVEPOINT sp3312;
|
||||
SELECT total_changes()x0ACB29BM205381;
|
||||
SELECT sqlite_compileoption_used('æçå¤©ä½ æ¯æä¹äº'); /* PRAGMA temp_store_directory; */ SELECT -(-(1)) >> -999999999999999999999999999;
|
||||
SELECT sqlite_compileoption_get($1);
|
||||
SELECT sqlite_version();
|
||||
ROLLBACK TRANSACTION TO SAVEPOINT sp3312;
|
||||
RELEASE SAVEPOINT sp3312;
|
||||
```
|
||||
|
||||
## Actual output
|
||||
|
||||
```sql
|
||||
0
|
||||
0
|
||||
0
|
||||
ATOMIC_INTRINSICS=1
|
||||
3.39.0
|
||||
```
|
||||
|
||||
## Expectation
|
||||
|
||||
```sql
|
||||
0
|
||||
0
|
||||
0
|
||||
ATOMIC_INTRINSICS=1
|
||||
3.51.1
|
||||
```
|
||||
|
||||
## Flag
|
||||
|
||||
```
|
||||
|
||||
```
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,954 @@
|
||||
## 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 count_changes = NO;
|
||||
ATTACH DATABASE '' || (':memory:') AS aux25;
|
||||
PRAGMA vdbe_trace = TRUE;
|
||||
-- PRAGMA query_only = NO;
|
||||
|
||||
.once log.txt
|
||||
BEGIN DEFERRED;
|
||||
PRAGMA ignore_check_constraints = NO;
|
||||
ATTACH DATABASE ':memory:' AS aux44;
|
||||
.output
|
||||
SAVEPOINT sp8760;
|
||||
SAVEPOINT sp9990;
|
||||
PRAGMA trusted_schema = TRUE;
|
||||
.once log.txt
|
||||
CREATE TABLE main.t1(a INTEGER PRIMARY KEY, b TEXT, c INT, d INT);
|
||||
INSERT INTO t1 VALUES (log10(((like(('' || ''), if(replace(x'b9863ad918881c72285170e0e3fb', mod(ceiling(-asin(NULL)) -> '$.a' -> '$.b', power(NULL, 0)), 0), 3.141592653589793, 0, 3.141592653589793)) * 1) - 0)), '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
|
||||
BEGIN TRANSACTION;
|
||||
ATTACH DATABASE ':memory:' AS aux72;
|
||||
BEGIN DEFERRED;
|
||||
CREATE TABLE t1(a);
|
||||
INSERT INTO t1 VALUES('abc'),('def'),('ghi');
|
||||
CREATE TABLE t2(a);
|
||||
INSERT INTO t2 VALUES('DEF'),('abc');
|
||||
CREATE TABLE t3(a);
|
||||
INSERT INTO t3 VALUES('def'),('jkl');
|
||||
SELECT a FROM t1 EXCEPT SELECT a FROM t2 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE binary;
|
||||
DELETE FROM t2;
|
||||
DELETE FROM t3;
|
||||
INSERT INTO t2 VALUES('ABC'),('def'),('GHI'),('jkl');
|
||||
INSERT INTO t3 SELECT lower(a) FROM t2;
|
||||
SELECT a COLLATE nocase FROM t2 EXCEPT SELECT a FROM t3 ORDER BY 1
|
||||
|
||||
CREATE TABLE t1(a);
|
||||
INSERT INTO t1 VALUES('abc'),('def'),('ghi');
|
||||
CREATE TABLE t2(a);
|
||||
INSERT INTO t2 VALUES('DEF'),('abc');
|
||||
CREATE TABLE t3(a);
|
||||
INSERT INTO t3 VALUES('def'),('jkl');
|
||||
SELECT a FROM t1 EXCEPT SELECT a FROM t2 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE binary;
|
||||
DELETE FROM t2;
|
||||
DELETE FROM t3;
|
||||
INSERT INTO t2 VALUES('ABC'),('def'),('GHI'),('jkl');
|
||||
INSERT INTO t3 SELECT lower(a) FROM t2;
|
||||
SELECT a COLLATE nocase FROM t2 EXCEPT SELECT a FROM t3 ORDER BY 1
|
||||
|
||||
CREATE TABLE t1(a);
|
||||
INSERT INTO t1 VALUES('abc'),('def'),('ghi');
|
||||
CREATE TABLE t2(a);
|
||||
INSERT INTO t2 VALUES('DEF'),('abc');
|
||||
CREATE TABLE t3(a);
|
||||
INSERT INTO t3 VALUES('def'),('jkl');
|
||||
SELECT a FROM t1 EXCEPT SELECT a FROM t2 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE binary;
|
||||
DELETE FROM t2;
|
||||
DELETE FROM t3;
|
||||
INSERT INTO t2 VALUES('ABC'),('def'),('GHI'),('jkl');
|
||||
INSERT INTO t3 SELECT lower(a) FROM t2;
|
||||
SELECT a COLLATE nocase FROM t2 EXCEPT SELECT a FROM t3 ORDER BY 1
|
||||
|
||||
CREATE TABLE t1(a);
|
||||
INSERT INTO t1 VALUES('abc'),('def'),('ghi');
|
||||
CREATE TABLE t2(a);
|
||||
INSERT INTO t2 VALUES('DEF'),('abc');
|
||||
CREATE TABLE t3(a);
|
||||
INSERT INTO t3 VALUES('def'),('jkl');
|
||||
SELECT a FROM t1 EXCEPT SELECT a FROM t2 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE binary;
|
||||
DELETE FROM t2;
|
||||
DELETE FROM t3;
|
||||
INSERT INTO t2 VALUES('ABC'),('def'),('GHI'),('jkl');
|
||||
INSERT INTO t3 SELECT lower(a) FROM t2;
|
||||
SELECT a COLLATE nocase FROM t2 EXCEPT SELECT a FROM t3 ORDER BY 1
|
||||
|
||||
|
||||
COMMIT;
|
||||
REINDEX t1;
|
||||
CREATE UNIQUE INDEX IF NoT EXISTS idx_t3_1118 ON t3(a COLLATE NOCASE) WHERE NOT NOT (NOT NOT (NOT NOT (NOT NOT (+a > 0)))) ;
|
||||
DROP INDEX IF EXISTS t2;
|
||||
SELECT LAST_VALUE(a) OVER (ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) FROM t3;
|
||||
DETACH DATABASE aux72;
|
||||
ALTER TABLE t1 RENAME COLUMN a TO a_r9525;
|
||||
ROLLBACK;
|
||||
ALTER TABLE t3 RENAME COLUMN a TO a_r8773;
|
||||
PRAGMA defer_foreign_keys = TRUE;
|
||||
SELECT * FROM t2;
|
||||
PRAGMA wal_checkpoint('RESTART');
|
||||
INSERT INTO t1 VALUES (NULL);
|
||||
INSERT INTO t1 VALUES (NULL) ON CONFLICT(a) DO UPDATE SET a = excluded.a;
|
||||
CREATE TABLE t1(a INTEGER PRIMARY KEY, b TEXT, c INT, d INT);
|
||||
INSERT INTO t1 VALUES (log10(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
|
||||
BEGIN TRANSACTION;
|
||||
ATTACH DATABASE ':memory:' AS aux72;
|
||||
BEGIN DEFERRED;
|
||||
CREATE TABLE t1(a);
|
||||
INSERT INTO t1 VALUES('abc'),('def'),('ghi');
|
||||
CREATE TABLE t2(a);
|
||||
INSERT INTO t2 VALUES('DEF'),('abc');
|
||||
CREATE TABLE t3(a);
|
||||
INSERT INTO t3 VALUES('def'),('jkl');
|
||||
SELECT a FROM t1 EXCEPT SELECT a FROM t2 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE binary;
|
||||
DELETE FROM t2;
|
||||
DELETE FROM t3;
|
||||
INSERT INTO t2 VALUES('ABC'),('def'),('GHI'),('jkl');
|
||||
INSERT INTO t3 SELECT lower(a) FROM t2;
|
||||
SELECT a COLLATE nocase FROM t2 EXCEPT SELECT a FROM t3 ORDER BY 1
|
||||
|
||||
CREATE TABLE t1(a);
|
||||
INSERT INTO t1 VALUES('abc'),('def'),('ghi');
|
||||
CREATE TABLE t2(a);
|
||||
INSERT INTO t2 VALUES('DEF'),('abc');
|
||||
CREATE TABLE t3(a);
|
||||
INSERT INTO t3 VALUES('def'),('jkl');
|
||||
SELECT a FROM t1 EXCEPT SELECT a FROM t2 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE binary;
|
||||
DELETE FROM t2;
|
||||
DELETE FROM t3;
|
||||
INSERT INTO t2 VALUES('ABC'),('def'),('GHI'),('jkl');
|
||||
INSERT INTO t3 SELECT lower(a) FROM t2;
|
||||
SELECT a COLLATE nocase FROM t2 EXCEPT SELECT a FROM t3 ORDER BY 1
|
||||
|
||||
CREATE TABLE t1(a);
|
||||
INSERT INTO t1 VALUES('abc'),('def'),('ghi');
|
||||
CREATE TABLE t2(a);
|
||||
INSERT INTO t2 VALUES('DEF'),('abc');
|
||||
CREATE TABLE t3(a);
|
||||
INSERT INTO t3 VALUES('def'),('jkl');
|
||||
SELECT a FROM t1 EXCEPT SELECT a FROM t2 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE binary;
|
||||
DELETE FROM t2;
|
||||
DELETE FROM t3;
|
||||
INSERT INTO t2 VALUES('ABC'),('def'),('GHI'),('jkl');
|
||||
INSERT INTO t3 SELECT lower(a) FROM t2;
|
||||
SELECT a COLLATE nocase FROM t2 EXCEPT SELECT a FROM t3 ORDER BY 1
|
||||
|
||||
CREATE TABLE t1(a);
|
||||
INSERT INTO t1 VALUES('abc'),('def'),('ghi');
|
||||
CREATE TABLE t2(a);
|
||||
INSERT INTO t2 VALUES('DEF'),('abc');
|
||||
CREATE TABLE t3(a);
|
||||
INSERT INTO t3 VALUES('def'),('jkl');
|
||||
SELECT a FROM t1 EXCEPT SELECT a FROM t2 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE binary;
|
||||
DELETE FROM t2;
|
||||
DELETE FROM t3;
|
||||
INSERT INTO t2 VALUES('ABC'),('def'),('GHI'),('jkl');
|
||||
INSERT INTO t3 SELECT lower(a) FROM t2;
|
||||
SELECT a COLLATE nocase FROM t2 EXCEPT SELECT a FROM t3 ORDER BY 1
|
||||
|
||||
|
||||
COMMIT;
|
||||
REINDEX t1;
|
||||
CREATE UNIQUE INDEX IF NOT EXISTS idx_t3_1118 ON t3(a COLLATE NOCASE) WHERE +a > 0;
|
||||
DROP INDEX IF EXISTS t2;
|
||||
SELECT LAST_VALUE(a) OVER (ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) FROM t3;
|
||||
DETACH DATABASE aux72;
|
||||
ALTER TABLE t1 RENAME COLUMN a TO a_r9525;
|
||||
ROLLBACK;
|
||||
ALTER TABLE t3 RENAME COLUMN a TO a_r8773;
|
||||
PRAGMA defer_foreign_keys = TRUE;
|
||||
SELECT * FROM t2;
|
||||
PRAGMA wal_checkpoint('RESTART');
|
||||
INSERT INTO t1 VALUES (NULL);
|
||||
INSERT INTO t1 VALUES (NULL) ON CONFLICT(a) DO UPDATE SET a = excluded.a;
|
||||
CREATE TABLE t1(a INTEGER PRIMARY KEY, /**/ b TEXT, c INT, d INT);
|
||||
INSERT INTO t1 VALUES (log10(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
|
||||
BEGIN TRANSACTION;
|
||||
ATTACH DATABASE ':memory:' AS aux72;
|
||||
BEGIN DEFERRED;
|
||||
CREATE TABLE t1(a);
|
||||
INSERT INTO t1 VALUES('abc'),('def'),('ghi');
|
||||
CREATE TABLE t2(a);
|
||||
INSERT INTO t2 VALUES('DEF'),('abc');
|
||||
CREATE TABLE t3(a);
|
||||
INSERT INTO t3 VALUES('def'),('jkl');
|
||||
SELECT a FROM t1 EXCEPT SELECT a FROM t2 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE binary;
|
||||
DELETE FROM t2;
|
||||
DELETE FROM t3;
|
||||
INSERT INTO t2 VALUES('ABC'),('def'),('GHI'),('jkl');
|
||||
INSERT INTO t3 SELECT lower(a) FROM t2;
|
||||
SELECT a COLLATE nocase FROM t2 EXCEPT SELECT a FROM t3 ORDER BY 1
|
||||
|
||||
CREATE TABLE t1(a);
|
||||
INSERT INTO t1 VALUES('abc'),('def'),('ghi');
|
||||
CREATE TABLE t2(a);
|
||||
INSERT INTO t2 VALUES('DEF'),('abc');
|
||||
CREATE TABLE t3(a);
|
||||
INSERT INTO t3 VALUES('def'),('jkl');
|
||||
SELECT a FROM t1 EXCEPT SELECT a FROM t2 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE binary;
|
||||
DELETE FROM t2;
|
||||
DELETE FROM t3;
|
||||
INSERT INTO t2 VALUES('ABC'),('def'),('GHI'),('jkl');
|
||||
INSERT INTO t3 SELECT lower(a) FROM t2;
|
||||
SELECT a COLLATE nocase FROM t2 EXCEPT SELECT a FROM t3 ORDER BY 1
|
||||
|
||||
CREATE TABLE t1(a);
|
||||
INSERT INTO t1 VALUES('abc'),('def'),('ghi');
|
||||
CREATE TABLE t2(a);
|
||||
INSERT INTO t2 VALUES('DEF'),('abc');
|
||||
CREATE TABLE t3(a);
|
||||
INSERT INTO t3 VALUES('def'),('jkl');
|
||||
SELECT a FROM t1 EXCEPT SELECT a FROM t2 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE binary;
|
||||
DELETE FROM t2;
|
||||
DELETE FROM t3;
|
||||
INSERT INTO t2 VALUES('ABC'),('def'),('GHI'),('jkl');
|
||||
INSERT INTO t3 SELECT lower(a) FROM t2;
|
||||
SELECT a COLLATE nocase FROM t2 EXCEPT SELECT a FROM t3 ORDER BY 1
|
||||
|
||||
CREATE TABLE t1(a);
|
||||
INSERT INTO t1 VALUES('abc'),('def'),('ghi');
|
||||
CREATE TABLE t2(a);
|
||||
INSERT INTO t2 VALUES('DEF'),('abc');
|
||||
CREATE TABLE t3(a);
|
||||
INSERT INTO t3 VALUES('def'),('jkl');
|
||||
SELECT a FROM t1 EXCEPT SELECT a FROM t2 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE binary;
|
||||
DELETE FROM t2;
|
||||
DELETE FROM t3;
|
||||
INSERT INTO t2 VALUES('ABC'),('def'),('GHI'),('jkl');
|
||||
INSERT INTO t3 SELECT lower(a) FROM t2;
|
||||
SELECT a COLLATE nocase FROM t2 EXCEPT SELECT a FROM t3 ORDER BY 1
|
||||
|
||||
|
||||
COMMIT;
|
||||
REINDEX t1;
|
||||
CREATE UNIQUE INDEX IF NOT EXISTS idx_t3_1118 ON t3(a COLLATE NOCASE) WHERE +a > 0;
|
||||
DROP INDEX IF EXISTS t2;
|
||||
SELECT LAST_VALUE(a) OVER (ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) FROM t3;
|
||||
DETACH DATABASE aux72;
|
||||
ALTER TABLE t1 RENAME COLUMN a TO a_r9525;
|
||||
ROLLBACK;
|
||||
ALTER TABLE t3 RENAME COLUMN a TO a_r8773;
|
||||
PRAGMA defer_foreign_keys = TRUE;
|
||||
SELECT * FROM t2;
|
||||
PRAGMA wal_checkpoint('RESTART');
|
||||
INSERT INTO t1 VALUES (NULL);
|
||||
INSERT INTO t1 VALUES (NULL) ON CONFLICT(a) DO UPDATE SET a = excluded.a;
|
||||
CREATE TABLE t1(a INTEGER PRIMARY KEY, b TEXT, c INT, d INT);
|
||||
INSERT INTO t1 VALUES (log10(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
|
||||
BEGIN TRANSACTION;
|
||||
ATTACH DATABASE ':memory:' AS aux72;
|
||||
BEGIN DEFERRED;
|
||||
CREATE TABLE t1(a);
|
||||
INSERT INTO t1 VALUES('abc'),('def'),('ghi');
|
||||
CREATE TABLE t2(a);
|
||||
INSERT INTO t2 VALUES('DEF'),('abc');
|
||||
CREATE TABLE t3(a);
|
||||
INSERT INTO t3 VALUES('def'),('jkl');
|
||||
SELECT a FROM t1 EXCEPT SELECT a FROM t2 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE binary;
|
||||
DELETE FROM t2;
|
||||
DELETE FROM t3;
|
||||
INSERT INTO t2 VALUES('ABC'),('def'),('GHI'),('jkl');
|
||||
INSERT INTO t3 SELECT lower(a) FROM t2;
|
||||
SELECT a COLLATE nocase FROM t2 EXCEPT SELECT a FROM t3 ORDER BY 1
|
||||
|
||||
CREATE TABLE t1(a);
|
||||
INSERT INTO t1 VALUES('abc'),('def'),('ghi');
|
||||
CREATE TABLE t2(a);
|
||||
INSERT INTO t2 VALUES('DEF'),('abc');
|
||||
CREATE TABLE t3(a);
|
||||
INSERT INTO t3 VALUES('def'),('jkl');
|
||||
SELECT a FROM t1 EXCEPT SELECT a FROM t2 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE binary;
|
||||
DELETE FROM t2;
|
||||
DELETE FROM t3;
|
||||
INSERT INTO t2 VALUES('ABC'),('def'),('GHI'),('jkl');
|
||||
INSERT INTO t3 SELECT lower(a) FROM t2;
|
||||
SELECT a COLLATE nocase FROM t2 EXCEPT SELECT a FROM t3 ORDER BY 1
|
||||
|
||||
CREATE TABLE t1(a);
|
||||
INSERT INTO t1 VALUES('abc'),('def'),('ghi');
|
||||
CREATE TABLE t2(a);
|
||||
INSERT INTO t2 VALUES('DEF'),('abc');
|
||||
CREATE TABLE t3(a);
|
||||
INSERT INTO t3 VALUES('def'),('jkl');
|
||||
SELECT a FROM t1 EXCEPT SELECT a FROM t2 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE binary;
|
||||
DELETE FROM t2;
|
||||
DELETE FROM t3;
|
||||
INSERT INTO t2 VALUES('ABC'),('def'),('GHI'),('jkl');
|
||||
INSERT INTO t3 SELECT lower(a) FROM t2;
|
||||
SELECT a COLLATE nocase FROM t2 EXCEPT SELECT a FROM t3 ORDER BY 1
|
||||
|
||||
CREATE TABLE t1(a);
|
||||
INSERT INTO t1 VALUES('abc'),('def'),('ghi');
|
||||
CREATE TABLE t2(a);
|
||||
INSERT INTO t2 VALUES('DEF'),('abc');
|
||||
CREATE TABLE t3(a);
|
||||
INSERT INTO t3 VALUES('def'),('jkl');
|
||||
SELECT a FROM t1 EXCEPT SELECT a FROM t2 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE binary;
|
||||
DELETE FROM t2;
|
||||
DELETE FROM t3;
|
||||
INSERT INTO t2 VALUES('ABC'),('def'),('GHI'),('jkl');
|
||||
INSERT INTO t3 SELECT lower(a) FROM t2;
|
||||
SELECT a COLLATE nocase FROM t2 EXCEPT SELECT a FROM t3 ORDER BY 1
|
||||
|
||||
|
||||
COMMIT;
|
||||
REINDEX t1;
|
||||
CREATE UNIQUE INDEX IF NOT EXISTS idx_t3_1118 ON t3(a COLLATE NOCASE) WHERE +a > 0;
|
||||
DROP INDEX IF EXISTS t2;
|
||||
SELECT LAST_VALUE(a) OVER (ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) FROM t3;
|
||||
DETACH DATABASE aux72;
|
||||
ALTER TABLE t1 RENAME COLUMN a TO a_r9525;
|
||||
ROLLBACK;
|
||||
ALTER TABLE t3 RENAME COLUMN a TO a_r8773;
|
||||
PRAGMA defer_foreign_keys = TRUE;
|
||||
SELECT * FROM t2;
|
||||
PRAGMA wal_checkpoint('RESTART');
|
||||
INSERT INTO t1 VALUES (NULL);
|
||||
INSERT INTO t1 VALUES (NULL) ON CONFLICT(a) DO UPDATE SET a = excluded.a;
|
||||
CREATE TABLE t1(a INTEGER PRIMARY KEY, b TEXT, c INT, d INT);
|
||||
INSERT INTO t1 VALUES (log10(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
|
||||
BEGIN TRANSACTION;
|
||||
ATTACH DATABASE ':memory:' AS aux72;
|
||||
BEGIN DEFERRED;
|
||||
CREATE TABLE t1(a);
|
||||
INSERT INTO t1 VALUES('abc'),('def'),('ghi');
|
||||
CREATE TABLE t2(a);
|
||||
INSERT INTO t2 VALUES('DEF'),('abc');
|
||||
CREATE TABLE t3(a);
|
||||
INSERT INTO t3 VALUES('def'),('jkl');
|
||||
SELECT a FROM t1 EXCEPT SELECT a FROM t2 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE binary;
|
||||
DELETE FROM t2;
|
||||
DELETE FROM t3;
|
||||
INSERT INTO t2 VALUES('ABC'),('def'),('GHI'),('jkl');
|
||||
INSERT INTO t3 SELECT lower(a) FROM t2;
|
||||
SELECT a COLLATE nocase FROM t2 EXCEPT SELECT a FROM t3 ORDER BY 1
|
||||
|
||||
CREATE TABLE t1(a);
|
||||
INSERT INTO t1 VALUES('abc'),('def'),('ghi');
|
||||
CREATE TABLE t2(a);
|
||||
INSERT INTO t2 VALUES('DEF'),('abc');
|
||||
CREATE TABLE t3(a);
|
||||
INSERT INTO t3 VALUES('def'),('jkl');
|
||||
SELECT a FROM t1 EXCEPT SELECT a FROM t2 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE binary;
|
||||
DELETE FROM t2;
|
||||
DELETE FROM t3;
|
||||
INSERT INTO t2 VALUES('ABC'),('def'),('GHI'),('jkl');
|
||||
INSERT INTO t3 SELECT lower(a) FROM t2;
|
||||
SELECT a COLLATE nocase FROM t2 EXCEPT SELECT a FROM t3 ORDER BY 1
|
||||
|
||||
CREATE TABLE t1(a);
|
||||
INSERT INTO t1 VALUES('abc'),('def'),('ghi');
|
||||
CREATE TABLE t2(a);
|
||||
INSERT INTO t2 VALUES('DEF'),('abc');
|
||||
CREATE TABLE t3(a);
|
||||
INSERT INTO t3 VALUES('def'),('jkl');
|
||||
SELECT a FROM t1 EXCEPT SELECT a FROM t2 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE binary;
|
||||
DELETE FROM t2;
|
||||
DELETE FROM t3;
|
||||
INSERT INTO t2 VALUES('ABC'),('def'),('GHI'),('jkl');
|
||||
INSERT INTO t3 SELECT lower(a) FROM t2;
|
||||
SELECT a COLLATE nocase FROM t2 EXCEPT SELECT a FROM t3 ORDER BY 1
|
||||
|
||||
CREATE TABLE t1(a);
|
||||
INSERT INTO t1 VALUES('abc'),('def'),('ghi');
|
||||
CREATE TABLE t2(a);
|
||||
INSERT INTO t2 VALUES('DEF'),('abc');
|
||||
CREATE TABLE t3(a);
|
||||
INSERT INTO t3 VALUES('def'),('jkl');
|
||||
SELECT a FROM t1 EXCEPT SELECT a FROM t2 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE binary;
|
||||
DELETE FROM t2;
|
||||
DELETE FROM t3;
|
||||
INSERT INTO t2 VALUES('ABC'),('def'),('GHI'),('jkl');
|
||||
INSERT INTO t3 SELECT lower(a) FROM t2;
|
||||
SELECT a COLLATE nocase FROM t2 EXCEPT SELECT a FROM t3 ORDER BY 1
|
||||
|
||||
|
||||
COMMIT;
|
||||
REINDEX t1;
|
||||
CREATE UNIQUE INDEX IF NOT EXISTS idx_t3_1118 ON t3(a COLLATE NOCASE) WHERE +a > 0;
|
||||
DROP INDEX IF EXISTS t2;
|
||||
SELECT LAST_VALUE(a) OVER (ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) FROM t3;
|
||||
DETACH DATABASE aux72;
|
||||
ALTER TABLE t1 RENAME COLUMN a TO a_r9525;
|
||||
ROLLBACK;
|
||||
ALTER TABLE t3 RENAME COLUMN a TO a_r8773;
|
||||
PRAGMA defer_foreign_keys = TRUE;
|
||||
SELECT * FROM t2;
|
||||
PRAGMA wal_checkpoint('RESTART');
|
||||
INSERT INTO t1 VALUES (NULL);
|
||||
INSERT INTO t1 VALUES (NULL) ON CONFLICT(a) DO UPDATE SET a = excluded.a;
|
||||
CREATE TABLE t1(a INTEGER PRIMARY KEY, b TEXT, c INT, d INT);
|
||||
INSERT INTO t1 VALUES (log10(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
|
||||
BEGIN TRANSACTION;
|
||||
ATTACH DATABASE ':memory:' AS aux72;
|
||||
BEGIN DEFERRED;
|
||||
CREATE TABLE t1(a);
|
||||
INSERT INTO t1 VALUES('abc'),('def'),('ghi');
|
||||
CREATE TABLE t2(a);
|
||||
INSERT INTO t2 VALUES('DEF'),('abc');
|
||||
CREATE TABLE t3(a);
|
||||
INSERT INTO t3 VALUES('def'),('jkl');
|
||||
SELECT a FROM t1 EXCEPT SELECT a FROM t2 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE binary;
|
||||
DELETE FROM t2;
|
||||
DELETE FROM t3;
|
||||
INSERT INTO t2 VALUES('ABC'),('def'),('GHI'),('jkl');
|
||||
INSERT INTO t3 SELECT lower(a) FROM t2;
|
||||
SELECT a COLLATE nocase FROM t2 EXCEPT SELECT a FROM t3 ORDER BY 1
|
||||
|
||||
CREATE TABLE t1(a);
|
||||
INSERT INTO t1 VALUES('abc'),('def'),('ghi');
|
||||
CREATE TABLE t2(a);
|
||||
INSERT INTO t2 VALUES('DEF'),('abc');
|
||||
CREATE TABLE t3(a);
|
||||
INSERT INTO t3 VALUES('def'),('jkl');
|
||||
SELECT a FROM t1 EXCEPT SELECT a FROM t2 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE binary;
|
||||
DELETE FROM t2;
|
||||
DELETE FROM t3;
|
||||
INSERT INTO t2 VALUES('ABC'),('def'),('GHI'),('jkl');
|
||||
INSERT INTO t3 SELECT lower(a) FROM t2;
|
||||
SELECT a COLLATE nocase FROM t2 EXCEPT SELECT a FROM t3 ORDER BY 1
|
||||
|
||||
CREATE TABLE t1(a);
|
||||
INSERT INTO t1 VALUES('abc'),('def'),('ghi');
|
||||
CREATE TABLE t2(a);
|
||||
INSERT INTO t2 VALUES('DEF'),('abc');
|
||||
CREATE TABLE t3(a);
|
||||
INSERT INTO t3 VALUES('def'),('jkl');
|
||||
SELECT a FROM t1 EXCEPT SELECT a FROM t2 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE binary;
|
||||
DELETE FROM t2;
|
||||
DELETE FROM t3;
|
||||
INSERT INTO t2 VALUES('ABC'),('def'),('GHI'),('jkl');
|
||||
INSERT INTO t3 SELECT lower(a) FROM t2;
|
||||
SELECT a COLLATE nocase FROM t2 EXCEPT SELECT a FROM t3 ORDER BY 1
|
||||
|
||||
CREATE TABLE t1(a);
|
||||
INSERT INTO t1 VALUES('abc'),('def'),('ghi');
|
||||
CREATE TABLE t2(a);
|
||||
INSERT INTO t2 VALUES('DEF'),('abc');
|
||||
CREATE TABLE t3(a);
|
||||
INSERT INTO t3 VALUES('def'),('jkl');
|
||||
SELECT a FROM t1 EXCEPT SELECT a FROM t2 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE binary;
|
||||
DELETE FROM t2;
|
||||
DELETE FROM t3;
|
||||
INSERT INTO t2 VALUES('ABC'),('def'),('GHI'),('jkl');
|
||||
INSERT INTO t3 SELECT lower(a) FROM t2;
|
||||
SELECT a COLLATE nocase FROM t2 EXCEPT SELECT a FROM t3 ORDER BY 1
|
||||
|
||||
|
||||
COMMIT;
|
||||
REINDEX t1;
|
||||
CREATE UNIQUE INDEX IF NOT EXISTS idx_t3_1118 ON t3(a COLLATE NOCASE) WHERE +a > 0;
|
||||
DROP INDEX IF EXISTS t2;
|
||||
SELECT LAST_VALUE(a) OVER (ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) FROM t3;
|
||||
DETACH DATABASE aux72;
|
||||
ALTER TABLE t1 RENAME COLUMN a TO a_r9525;
|
||||
ROLLBACK;
|
||||
ALTER TABLE t3 RENAME COLUMN a TO a_r8773;
|
||||
PRAGMA defer_foreign_keys = TRUE;
|
||||
SELECT * FROM t2;
|
||||
PRAGMA wal_checkpoint('RESTART');
|
||||
INSERT INTO t1 VALUES (NULL);
|
||||
INSERT INTO t1 VALUES (NULL) ON CONFLICT(a) DO UPDATE SET a = excluded.a;
|
||||
CREATE TABLE t1(a INTEGER PRIMARY KEY, b TEXT, c INT, d INT);
|
||||
INSERT INTO t1 VALUES (log10(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
|
||||
BEGIN TRANSACTION;
|
||||
ATTACH DATABASE ':memory:' AS aux72;
|
||||
BEGIN DEFERRED;
|
||||
CREATE TABLE t1(a);
|
||||
INSERT INTO t1 VALUES('abc'),('def'),('ghi');
|
||||
CREATE TABLE t2(a);
|
||||
INSERT INTO t2 VALUES('DEF'),('abc');
|
||||
CREATE TABLE t3(a);
|
||||
INSERT INTO t3 VALUES('def'),('jkl');
|
||||
SELECT a FROM t1 EXCEPT SELECT a FROM t2 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE binary;
|
||||
DELETE FROM t2;
|
||||
DELETE FROM t3;
|
||||
INSERT INTO t2 VALUES('ABC'),('def'),('GHI'),('jkl');
|
||||
INSERT INTO t3 SELECT lower(a) FROM t2;
|
||||
SELECT a COLLATE nocase FROM t2 EXCEPT SELECT a FROM t3 ORDER BY 1
|
||||
|
||||
CREATE TABLE t1(a);
|
||||
INSERT INTO t1 VALUES('abc'),('def'),('ghi');
|
||||
CREATE TABLE t2(a);
|
||||
INSERT INTO t2 VALUES('DEF'),('abc');
|
||||
CREATE TABLE t3(a);
|
||||
INSERT INTO t3 VALUES('def'),('jkl');
|
||||
SELECT a FROM t1 EXCEPT SELECT a FROM t2 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE binary;
|
||||
DELETE FROM t2;
|
||||
DELETE FROM t3;
|
||||
INSERT INTO t2 VALUES('ABC'),('def'),('GHI'),('jkl');
|
||||
INSERT INTO t3 SELECT lower(a) FROM t2;
|
||||
SELECT a COLLATE nocase FROM t2 EXCEPT SELECT a FROM t3 ORDER BY 1
|
||||
|
||||
CREATE TABLE t1(a);
|
||||
INSERT INTO t1 VALUES('abc'),('def'),('ghi');
|
||||
CREATE TABLE t2(a);
|
||||
INSERT INTO t2 VALUES('DEF'),('abc');
|
||||
CREATE TABLE t3(a);
|
||||
INSERT INTO t3 VALUES('def'),('jkl');
|
||||
SELECT a FROM t1 EXCEPT SELECT a FROM t2 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE binary;
|
||||
DELETE FROM t2;
|
||||
DELETE FROM t3;
|
||||
INSERT INTO t2 VALUES('ABC'),('def'),('GHI'),('jkl');
|
||||
INSERT INTO t3 SELECT lower(a) FROM t2;
|
||||
SELECT a COLLATE nocase FROM t2 EXCEPT SELECT a FROM t3 ORDER BY 1
|
||||
|
||||
CREATE TABLE t1(a);
|
||||
INSERT INTO t1 VALUES('abc'),('def'),('ghi');
|
||||
CREATE TABLE t2(a);
|
||||
INSERT INTO t2 VALUES('DEF'),('abc');
|
||||
CREATE TABLE t3(a);
|
||||
INSERT INTO t3 VALUES('def'),('jkl');
|
||||
SELECT a FROM t1 EXCEPT SELECT a FROM t2 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE binary;
|
||||
DELETE FROM t2;
|
||||
DELETE FROM t3;
|
||||
INSERT INTO t2 VALUES('ABC'),('def'),('GHI'),('jkl');
|
||||
INSERT INTO t3 SELECT lower(a) FROM t2;
|
||||
SELECT a COLLATE nocase FROM t2 EXCEPT SELECT a FROM t3 ORDER BY 1
|
||||
|
||||
|
||||
COMMIT;
|
||||
REINDEX t1;
|
||||
CREATE UNIQUE INDEX IF NOT EXISTS idx_t3_1118 ON t3(a COLLATE NOCASE) WHERE +a > 0;
|
||||
DROP INDEX IF EXISTS t2;
|
||||
WITH _m AS MATERIALIZED (SELECT * FROM T) SELEC_m LAST_VALUE(a) OVER (ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) FROM t3;
|
||||
DETACH DATABASE aux72;
|
||||
ALTER TABLE t1 RENAME COLUMN a TO a_r9525;
|
||||
ROLLBACK;
|
||||
ALTER TABLE t3 RENAME COLUMN a TO a_r8773;
|
||||
PRAGMA defer_foreign_keys = TRUE;
|
||||
CREATE TABLE T (
|
||||
a TEXT,
|
||||
b TEXT
|
||||
);
|
||||
INSERT INTO T VALUES ('a','b'), ('c','d');
|
||||
SELECT * FROM T WHERE +a = REPLACE('a;',';','') AND b = 'b';
|
||||
SELECT * FROM t2;
|
||||
PRAGMA wal_checkpoint('RESTART');
|
||||
INSERT INTO t1 VALUES (NULL);
|
||||
INSERT INTO t1 VALUES (NULL) ON CONFLICT(a) DO UPDATE SET a = excluded.a;
|
||||
CREATE TABLE t1(a INTEGER PRIMARY KEY, b TEXT, c INT, d INT);
|
||||
INSERT INTO t1 VALUES (log10(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
|
||||
BEGIN TRANSACTION;
|
||||
ATTACH DATABASE ':memory:' AS aux72;
|
||||
BEGIN DEFERRED;
|
||||
CREATE TABLE t1(a);
|
||||
INSERT INTO t1 VALUES('abc'),('def'),('ghi');
|
||||
CREATE TABLE t2(a);
|
||||
INSERT INTO t2 VALUES('DEF'),('abc');
|
||||
CREATE TABLE t3(a);
|
||||
INSERT INTO t3 VALUES('def'),('jkl');
|
||||
SELECT a FROM t1 EXCEPT SELECT a FROM t2 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE binary;
|
||||
DELETE FROM t2;
|
||||
DELETE FROM t3;
|
||||
INSERT INTO t2 VALUES('ABC'),('def'),('GHI'),('jkl');
|
||||
INSERT INTO t3 SELECT lower(a) FROM t2;
|
||||
SELECT a COLLATE nocase FROM t2 EXCEPT SELECT a FROM t3 ORDER BY 1
|
||||
|
||||
CREATE TABLE t1(a);
|
||||
INSERT INTO t1 VALUES('abc'),('def'),('ghi');
|
||||
CREATE TABLE t2(a);
|
||||
INSERT INTO t2 VALUES('DEF'),('abc');
|
||||
CREATE TABLE t3(a);
|
||||
INSERT INTO t3 VALUES('def'),('jkl');
|
||||
SELECT a FROM t1 EXCEPT SELECT a FROM t2 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE binary;
|
||||
DELETE FROM t2;
|
||||
DELETE FROM t3;
|
||||
INSERT INTO t2 VALUES('ABC'),('def'),('GHI'),('jkl');
|
||||
INSERT INTO t3 SELECT lower(a) FROM t2;
|
||||
SELECT a COLLATE nocase FROM t2 EXCEPT SELECT a FROM t3 ORDER BY 1
|
||||
|
||||
CREATE TABLE t1(a);
|
||||
INSERT INTO t1 VALUES('abc'),('def'),('ghi');
|
||||
CREATE TABLE t2(a);
|
||||
INSERT INTO t2 VALUES('DEF'),('abc');
|
||||
CREATE TABLE t3(a);
|
||||
INSERT INTO t3 VALUES('def'),('jkl');
|
||||
SELECT a FROM t1 EXCEPT SELECT a FROM t2 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE binary;
|
||||
DELETE FROM t2;
|
||||
DELETE FROM t3;
|
||||
INSERT INTO t2 VALUES('ABC'),('def'),('GHI'),('jkl');
|
||||
INSERT INTO t3 SELECT lower(a) FROM t2;
|
||||
SELECT a COLLATE nocase FROM t2 EXCEPT SELECT a FROM t3 ORDER BY 1
|
||||
|
||||
CREATE TABLE t1(a);
|
||||
INSERT INTO t1 VALUES('abc'),('def'),('ghi');
|
||||
CREATE TABLE t2(a);
|
||||
INSERT INTO t2 VALUES('DEF'),('abc');
|
||||
CREATE TABLE t3(a);
|
||||
INSERT INTO t3 VALUES('def'),('jkl');
|
||||
SELECT a FROM t1 EXCEPT SELECT a FROM t2 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE binary;
|
||||
DELETE FROM t2;
|
||||
DELETE FROM t3;
|
||||
INSERT INTO t2 VALUES('ABC'),('def'),('GHI'),('jkl');
|
||||
INSERT INTO t3 SELECT lower(a) FROM t2;
|
||||
SELECT a COLLATE nocase FROM t2 EXCEPT SELECT a FROM t3 ORDER BY 1
|
||||
|
||||
|
||||
COMMIT;
|
||||
REINDEX t1;
|
||||
CREATE UNIQUE INDEX IF NOT EXISTS idx_t3_1118 ON t3(a COLLATE NOCASE) WHERE +a > 0;
|
||||
DROP INDEX IF EXISTS t2;
|
||||
SELECT LAST_VALUE(a) OVER (ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) FROM t3;
|
||||
DETACH DATABASE aux72;
|
||||
ALTER TABLE t1 RENAME COLUMN a TO a_r9525;
|
||||
ROLLBACK;
|
||||
ALTER TABLE t3 RENAME COLUMN a TO a_r8773;
|
||||
PRAGMA defer_foreign_keys = TRUE;
|
||||
SELECT * FROM t2;
|
||||
PRAGMA wal_checkpoint('RESTART');
|
||||
INSERT INTO t1 VALUES (NULL);
|
||||
INSERT INTO t1 VALUES (NULL) ON CONFLICT(a) DO UPDATE SET a = excluded.a;
|
||||
CREATE TABLE t1(a INTEGER PRIMARY KEY, b TEXT, c INT, d INT);
|
||||
INSERT INTO t1 VALUES (log10(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
|
||||
BEGIN TRANSACTION;
|
||||
ATTACH DATABASE ':memory:' AS aux72;
|
||||
BEGIN DEFERRED;
|
||||
CREATE TABLE t1(a);
|
||||
INSERT INTO t1 VALUES('abc'),('def'),('ghi');
|
||||
CREATE TABLE t2(a);
|
||||
INSERT INTO t2 VALUES('DEF'),('abc');
|
||||
CREATE TABLE t3(a);
|
||||
INSERT INTO t3 VALUES('def'),('jkl');
|
||||
SELECT a FROM t1 EXCEPT SELECT a FROM t2 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE binary;
|
||||
DELETE FROM t2;
|
||||
DELETE FROM t3;
|
||||
INSERT INTO t2 VALUES('ABC'),('def'),('GHI'),('jkl');
|
||||
INSERT INTO t3 SELECT lower(a) FROM t2;
|
||||
SELECT a COLLATE nocase FROM t2 EXCEPT SELECT a FROM t3 ORDER BY 1
|
||||
|
||||
CREATE TABLE t1(a);
|
||||
INSERT INTO t1 VALUES('abc'),('def'),('ghi');
|
||||
CREATE TABLE t2(a);
|
||||
INSERT INTO t2 VALUES('DEF'),('abc');
|
||||
CREATE TABLE t3(a);
|
||||
INSERT INTO t3 VALUES('def'),('jkl');
|
||||
SELECT a FROM t1 EXCEPT SELECT a FROM t2 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE binary;
|
||||
DELETE FROM t2;
|
||||
DELETE FROM t3;
|
||||
INSERT INTO t2 VALUES('ABC'),('def'),('GHI'),('jkl');
|
||||
INSERT INTO t3 SELECT lower(a) FROM t2;
|
||||
SELECT a COLLATE nocase FROM t2 EXCEPT SELECT a FROM t3 ORDER BY 1
|
||||
|
||||
CREATE TABLE t1(a);
|
||||
INSERT INTO t1 VALUES('abc'),('def'),('ghi');
|
||||
CREATE TABLE t2(a);
|
||||
INSERT INTO t2 VALUES('DEF'),('abc');
|
||||
CREATE TABLE t3(a);
|
||||
INSERT INTO t3 VALUES('def'),('jkl');
|
||||
SELECT a FROM t1 EXCEPT SELECT a FROM t2 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE binary;
|
||||
DELETE FROM t2;
|
||||
DELETE FROM t3;
|
||||
INSERT INTO t2 VALUES('ABC'),('def'),('GHI'),('jkl');
|
||||
INSERT INTO t3 SELECT lower(a) FROM t2;
|
||||
SELECT a COLLATE nocase FROM t2 EXCEPT SELECT a FROM t3 ORDER BY 1
|
||||
|
||||
CREATE TABLE t1(a);
|
||||
INSERT INTO t1 VALUES('abc'),('def'),('ghi');
|
||||
CREATE TABLE t2(a);
|
||||
INSERT INTO t2 VALUES('DEF'),('abc');
|
||||
CREATE TABLE t3(a);
|
||||
INSERT INTO t3 VALUES('def'),('jkl');
|
||||
SELECT a FROM t1 EXCEPT SELECT a FROM t2 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE binary;
|
||||
DELETE FROM t2;
|
||||
DELETE FROM t3;
|
||||
INSERT INTO t2 VALUES('ABC'),('def'),('GHI'),('jkl');
|
||||
INSERT INTO t3 SELECT lower(a) FROM t2;
|
||||
SELECT a COLLATE nocase FROM t2 EXCEPT SELECT a FROM t3 ORDER BY 1
|
||||
|
||||
|
||||
COMMIT;
|
||||
REINDEX t1;
|
||||
CREATE UNIQUE INDEX IF NOT EXISTS idx_t3_1118 ON t3(a COLLATE NOCASE) WHERE +a > 0;
|
||||
DROP INDEX IF EXISTS t2;
|
||||
SELECT LAST_VALUE(a) OVER (ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) FROM t3;
|
||||
DETACH DATABASE aux72;
|
||||
ALTER TABLE t1 RENAME COLUMN a TO a_r9525;
|
||||
ROLLBACK;
|
||||
ALTER TABLE t3 RENAME COLUMN a TO a_r8773;
|
||||
PRAGMA defer_foreign_keys = TRUE;
|
||||
SELECT * FROM t2;
|
||||
PRAGMA wal_checkpoint('RESTART');
|
||||
INSERT INTO t1 VALUES (NULL);
|
||||
INSERT INTO t1 VALUES (NULL) ON CONFLICT(a) DO UPDATE SET a = excluded.a;
|
||||
INSERT INTO t1 VALUES (NULL) ON CONFLICT(a) DO UPDATE SET a = excluded.a;
|
||||
INSERT INTO t1 DEFAULT VALUES;
|
||||
CREATE TEMP VIEW IF NOT EXISTS v_t2_4298 AS SELECT a FROM t2;
|
||||
SELECT * FROM t1 WHERE a <= ANY (SELECT a FROM t1);
|
||||
INSERT INTO t3 DEFAULT VALUES;
|
||||
DELETE FROM t1 WHERE a IS NULL;
|
||||
INSERT INTO t2 SELECT * FROM t2;
|
||||
RELEASE sp9990;
|
||||
INSERT INTO t2 SELECT * FROM t2;
|
||||
SELECT GROUP_CONCAT(a, '.') OVER (PARTITION BY a ORDER BY a ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING EXCLUDE GROUP) FROM t3;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_t3_7930 BEFORE DELETE ON t3 BEGIN INSERT INTO t3(a) VALUES (NULL); END;
|
||||
SELECT COUNT(*) FROM t2;
|
||||
DELETE FROM t2 WHERE a IS NULL;
|
||||
CREATE INDEX IF NOT EXISTS idx_t1_5741 ON t1(a COLLATE NOCASE);
|
||||
DELETE FROM t3 WHERE a IS NULL RETURNING *;
|
||||
ALTER TABLE t1 RENAME COLUMN a TO a_r2002;
|
||||
SELECT COUNT(*) FROM t1;
|
||||
CREATE INDEX IF NOT EXISTS idx_t1_9369 ON t1(lower(a));
|
||||
SELECT GROUP_CONCAT(a) OVER (ORDER BY a) FROM t2;
|
||||
INSERT INTO t2 VALUES (1) ON CONFLICT(a) DO UPDATE SET a = excluded.a;
|
||||
CREATE UNIQUE INDEX IF NOT EXISTS idx_t2_1124 ON t2((a + 1)) WHERE a IS NOT NULL;
|
||||
ALTER TABLE t1 RENAME COLUMN a TO a_r6325;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_t3_5012 BEFORE DELETE ON t3 FOR EACH ROW BEGIN INSERT INTO t3(a) VALUES (NULL); END;
|
||||
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 t3;
|
||||
INSERT INTO t1 VALUES (NULL);
|
||||
WITH cte AS (SELECT NULL AS x) SELECT * FROM cte;
|
||||
WITH RECURSIVE self(x) AS (SELECT 1 UNION ALL SELECT x FROM self) SELECT * FROM self LIMIT 5;
|
||||
ROLLBACK TO sp8760;
|
||||
RELEASE sp8760;
|
||||
INSERT OR ABORT INTO t3 VALUES ('');
|
||||
ALTER TABLE t2 RENAME TO t2_r9030;
|
||||
DETACH DATABASE aux44;
|
||||
INSERT OR ROLLBACK INTO t3 VALUES ('x');
|
||||
CREATE TRIGGER IF NOT EXISTS trg_t1_4886 BEFORE UPDATE OF a ON t1 BEGIN SELECT RAISE(ABORT, 'abort'); END;
|
||||
REINDEX;
|
||||
INSERT INTO t3 DEFAULT VALUES;
|
||||
INSERT INTO t2 DEFAULT VALUES;
|
||||
ALTER TABLE T RENAME TO T_r523;
|
||||
INSERT OR REPLACE INTO T VALUES (NULL, NULL);
|
||||
INSERT INTO t2 VALUES (1) ON CONFLICT(a) DO UPDATE SET a = excluded.a;
|
||||
SELECT * FROM t3 AS a INNER JOIN t3 AS b ON a.rowid = b.rowid;
|
||||
END TRANSACTION;
|
||||
INSERT OR ROLLBACK INTO t2 VALUES (NULL);
|
||||
INSERT INTO t1 SELECT * FROM t1;
|
||||
ALTER TABLE T RENAME COLUMN b TO b_r7423;
|
||||
ALTER TABLE t3 RENAME COLUMN a TO a_r690;
|
||||
SELECT MAX(a) FROM t3;
|
||||
SELECT STRING_AGG(a, '|') FROM t1;
|
||||
ALTER TABLE T ADD COLUMN extra_3305 FLOAT DEFAULT (abs(random()) % 1000);
|
||||
INSERT INTO t3 VALUES (NULL);
|
||||
VACUUM;
|
||||
CREATE VIEW IF NOT EXISTS v_t1_3865 AS SELECT a FROM t1;
|
||||
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 t1;
|
||||
SELECT * FROM t1 AS a JOIN T AS b ON a.rowid = b.rowid;
|
||||
WITH cte AS (SELECT a, SUM(a) AS total FROM t2 GROUP BY a) SELECT * FROM cte ORDER BY total DESC;
|
||||
INSERT INTO t1 VALUES (NULL);
|
||||
ANALYZE T;
|
||||
WITH RECURSIVE cnt(x) AS (VALUES(1) UNION ALL SELECT x+1 FROM cnt WHERE x<1) SELECT * FROM cnt;
|
||||
ALTER TABLE T ADD COLUMN extra_190 DATE DEFAULT 0;
|
||||
WITH cte AS (SELECT b FROM T UNION SELECT b FROM T) SELECT * FROM cte;
|
||||
DROP VIEW IF EXISTS t2;
|
||||
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 t2;
|
||||
SELECT * FROM t3 AS a LEFT JOIN t2 AS b ON a.rowid = b.rowid;
|
||||
SELECT * FROM t2;
|
||||
ALTER TABLE t1 RENAME COLUMN a TO a_r4594;
|
||||
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;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_t1_5962 AFTER UPDATE ON t1 BEGIN SELECT RAISE(FAIL, 'no'); END;
|
||||
INSERT INTO T SELECT * FROM T;
|
||||
DROP TABLE IF EXISTS t1;
|
||||
INSERT OR FAIL INTO t2 VALUES (0);
|
||||
ALTER TABLE T ADD COLUMN extra_1673 CHARINT;
|
||||
PRAGMA fullsync = OFF;
|
||||
INSERT INTO T SELECT * FROM T;
|
||||
SELECT MAX(a) FROM t1;
|
||||
INSERT INTO T DEFAULT VALUES;
|
||||
SELECT * FROM t3 AS a JOIN t1 AS b ON a.rowid = b.rowid;
|
||||
INSERT OR ABORT INTO t3 VALUES ('x');
|
||||
DROP VIEW IF EXISTS t1;
|
||||
INSERT INTO t1 DEFAULT VALUES;
|
||||
INSERT INTO T DEFAULT VALUES;
|
||||
SELECT * FROM t2 WHERE a IN (SELECT a FROM t2);
|
||||
INSERT INTO t3 VALUES (NULL);
|
||||
INSERT INTO t2 VALUES (NULL) ON CONFLICT(a) DO UPDATE SET a = excluded.a;
|
||||
DETACH DATABASE aux25;
|
||||
WITH a AS (SELECT * FROM T), RECURSIVE cnt(x) AS (VALUES(1) UNION ALL SELECT x+1 FROM cnt WHERE x<75) SELECT * FROM a CROSS JOIN cnt;
|
||||
ALTER TABLE t1 RENAME TO t1_r9782;
|
||||
ALTER TABLE t1 RENAME TO t1_r4960;
|
||||
INSERT INTO t2 SELECT * FROM t2;
|
||||
REINDEX T;
|
||||
SELECT * FROM t2 WHERE a IN (SELECT a FROM t2 ORDER BY a LIMIT 1 OFFSET 1000);
|
||||
ALTER TABLE t1 RENAME TO t1_r1351;
|
||||
WITH cte AS (SELECT * FROM t2) SELECT * FROM cte c1 JOIN cte c2 ON c1.a = c2.a;
|
||||
SELECT * FROM t1;
|
||||
CREATE INDEX IF NOT EXISTS idx_t2_8308 ON t2(lower(a));
|
||||
DELETE FROM t3 WHERE 1;
|
||||
ALTER TABLE t2 RENAME COLUMN a TO a_r5048;
|
||||
WITH cte AS (SELECT a, COUNT(*) FROM t2 GROUP BY a) SELECT * FROM cte;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_T_1960 AFTER UPDATE OF a ON T FOR EACH ROW BEGIN SELECT RAISE(IGNORE); END;
|
||||
SELECT MIN(a) FROM T;
|
||||
VACUUM main;
|
||||
INSERT INTO T VALUES (NULL, NULL);
|
||||
CREATE INDEX IF NOT EXISTS idx_t3_6160 ON t3(lower(a));
|
||||
```
|
||||
|
||||
## Actual output
|
||||
|
||||
```sql
|
||||
CREATE TABLE "t2"("b","c","_ROWID_",PRIMARY KEY("b","c","_ROWID_"))WITHOUT ROWID;
|
||||
WARNING: writing to an imposter table will corrupt the "t1bc" index!
|
||||
Braun|30|3
|
||||
von|20|2
|
||||
Braun|30
|
||||
von|20
|
||||
```
|
||||
|
||||
## Expectation
|
||||
|
||||
```sql
|
||||
|
||||
```
|
||||
|
||||
## Flag
|
||||
|
||||
```
|
||||
-noheader
|
||||
```
|
||||
|
||||
@@ -0,0 +1,92 @@
|
||||
## 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
|
||||
.eqp off
|
||||
.prompt
|
||||
.connection
|
||||
ATTACH DATABASE ':memory:' AS aux57;
|
||||
.progress NULL
|
||||
ATTACH DATABASE ':memory:' AS aux98;
|
||||
CREATE TABLE T (
|
||||
a INTEGER,
|
||||
b TEXT,
|
||||
c REAL
|
||||
);
|
||||
INSERT INTO T VALUES (tan(concat('a', 'b', 'c')),'a',CAST(json_valid(datetime(nullif(NULL, unhex(2147483646, ' ')), '+1 day'), 2) AS SMALLINT)), (2,'b',-3.5), (3,'c',9e999);
|
||||
WITH d AS (SELECT * FROM T) SELECT * FROM d WHERE NOT +c < 0;
|
||||
UPDATE T SET b = -85 WHERE b IS NOT NULL;
|
||||
VACUUM;
|
||||
DETACH DATABASE aux98;
|
||||
WITH RECURSIVE tree(id, parent, depth) AS (VALUES(1, NULL, 0) UNION ALL SELECT id+1, id, depth+1 FROM tree WHERE depth<6) SELECT * FROM tree;
|
||||
SELECT * FROM T AS a JOIn T AS b ON a.rowid = b.rowid;
|
||||
SELECT * FROM T AS a RIGHT JOIN T AS b ON a.rowid = b.rowid;
|
||||
PRAGMA trusted_schema = ON;
|
||||
VACUUM;
|
||||
WITH cte(x) AS (VALUES(NULL),(1),(NULL)) SELECT * FROM cte WHERE x IS NOT NULL;
|
||||
DETACH DATABASE aux57;
|
||||
CREATE TABLE T1 (
|
||||
a INTEGER,
|
||||
b TEXT
|
||||
);
|
||||
CREATE TABLE "T2" (
|
||||
a INTEGER,
|
||||
b TEXT
|
||||
);
|
||||
INSERT INTO T1 VALUES (1,'a'),(2,'b');
|
||||
INSERT INTO T2 VALUES (1,'c'),(1,'d'); /* soundex('Rupert') */ SELECT T1.b,
|
||||
(
|
||||
SELECT GROUP_CONCAT(b,',')
|
||||
FROM T2
|
||||
WHERE T2.a=T1.a
|
||||
) AS c
|
||||
FROM T1;
|
||||
ANALYZE T1;
|
||||
ANALYZE T1;
|
||||
DELETE FROM T2 WHERE b > (SELECT AVG(b) FROM T2) RETURNING *;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_T1_2080 AFTER UPDATE OF b ON T1 FOR EACH ROW BEGIN SELECT RAISE(ROLLBACK, 'rb'); END;
|
||||
REINDEX T;
|
||||
DELETE FROM T1 WHERE 0;
|
||||
ALTER TABLE T2 RENAME COLUMN a TO a_r2;
|
||||
REINDEX;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_T_1920 AFTER DELETE ON T BEGIN SELECT RAISE(IGNORE); END;
|
||||
DROP INDEX IF EXISTS T2;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_T1_9937 BEFORE UPDATE OF b ON T1 BEGIN SELECT RAISE(ROLLBACK, 'rb'); END;
|
||||
WITH cte AS (SELECT b, COUNT(*) AS cnt FROM T1 GROUP BY b) SELECT * FROM cte WHERE cnt > 1;
|
||||
WITH cte AS (SELECT NULL AS x, NULL AS y) SELECT x, y, x IS NULL FROM cte;
|
||||
INSERT OR IGNORE INTO T1 VALUES (8, -3);
|
||||
```
|
||||
|
||||
## Actual output
|
||||
|
||||
```sql
|
||||
ACTIVE 0: :memory:
|
||||
1||0
|
||||
2|1|1
|
||||
3|2|2
|
||||
4|3|3
|
||||
5|4|4
|
||||
6|5|5
|
||||
7|6|6
|
||||
1
|
||||
a|c,d
|
||||
b|
|
||||
1|c
|
||||
1|d
|
||||
||1
|
||||
```
|
||||
|
||||
## Expectation
|
||||
|
||||
```sql
|
||||
|
||||
```
|
||||
|
||||
## Flag
|
||||
|
||||
```
|
||||
|
||||
```
|
||||
|
||||
@@ -0,0 +1,424 @@
|
||||
## 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
|
||||
SAVEPOINT sp4770;
|
||||
-- typeof(1.0)
|
||||
|
||||
.limit
|
||||
SAVEPOINT sp9818;
|
||||
ATTACH DATABASE ':memory:' AS aux84;
|
||||
SAVEPOINT sp2531;
|
||||
.check
|
||||
SAVEPOINT sp9694;
|
||||
PRAGMA encoding = 'UTF-8';
|
||||
ATTACH DATABASE ':memory:' AS aux44;
|
||||
CREATE TABLE main.main.`T` (
|
||||
a REAL,
|
||||
b REAL,
|
||||
c REAL
|
||||
);
|
||||
INSERT INTO T VALUES (strftime('%s', if(coalesce(NULL, NULL, NULL) -> sqrt(datetime(-(-(CAST(x'2f' AS BLOB))))), typeof(NULL), (-(-(0)) + 9145485036963515638))),1.5,10.0), (2,-2.5,20.0), (3,-9e999,30.0);
|
||||
WITH _m AS MATERIALIZED (WITH _m AS MATERIALIZED (SELECT * FROM T) SELEC_m * FROM T) SELEC_m * FROM T WHERE NOT NOT (NOT NOT (+b < 2.0)) ORDER BY b;
|
||||
DETACH DATABASE aux44;
|
||||
SELECT * FROM T WHERE EXISTS (SELECT 1 FROM T t2 WHERE t2.a = T.a);
|
||||
INSERT INTO T VALUES (NULL, NULL, NULL);
|
||||
INSERT OR ROLLBACK INTO T VALUES (NULL, NULL, '');
|
||||
WITH RECURSIVE cnt(x) AS (VALUES(1) UNION ALL SELECT x+1 FROM cnt WHERE +x<21) SELECT * FROM cnt;
|
||||
ALTER TABLE T DROP COLUMN b;
|
||||
DROP VIEW IF EXISTS T;
|
||||
SELECT ROW_NUMBER() OVER (ORDER BY a ROWS BETWEEN 2 PRECEDING AND 2 FOLLOWING EXCLUDE CURRENT ROW) FROM T;
|
||||
INSERT OR ROLLBACK INTO T VALUES (-2, NULL, 0);
|
||||
ROLLBACK TO sp9694;
|
||||
RELEASE sp9694;
|
||||
ALTER TABLE T ADD COLUMN extra_4532 UNSIGNED BIG INT DEFAULT (abs(random()) % 1000);
|
||||
SELECT a, COUNT(*) FROM T GROUP BY a HAVING COUNT(*) = (SELECT COUNT(*) FROM T);
|
||||
CREATE TRIGGER IF NOT EXISTS trg_T_7371 BEFORE UPDATE ON T FOR EACH ROW BEGIN SELECT RAISE(FAIL, 'no'); END;
|
||||
SELECT COUNT(*) FROM T;
|
||||
ROLLBACK TO sp2531;
|
||||
RELEASE sp2531;
|
||||
INSERT OR ABORT INTO T VALUES (6, 0, 0);
|
||||
SELECT COUNT(*) FROM T;
|
||||
WITH RECURSIVE cnt(x) AS (VALUES(1) UNION SELECT x+1 FROM cnt WHERE x<8) SELECT * FROM cnt;
|
||||
WITH RECURSIVE cnt(x) AS (VALUES(1) UNION ALL SELECT x+1 FROM cnt WHERE x<0) SELECT * FROM cnt;
|
||||
DETACH DATABASE aux84;
|
||||
SELECT * FROM T t1 JOIN T t2 ON t1.a = (SELECT a FROM T LIMIT 1);
|
||||
ALTER TABLE T RENAME TO T_r9068;
|
||||
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;
|
||||
ROLLBACK TRANSACTION TO SAVEPOINT sp9818;
|
||||
RELEASE SAVEPOINT sp9818;
|
||||
SELECT STRING_AGG(a, '|') FROM T;
|
||||
INSERT INTO T VALUES (NULL, NULL, NULL);
|
||||
SELECT LEAD(a, 1, NULL) OVER (ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) FROM T;
|
||||
SELECT RANK() OVER (ORDER BY c GROUPS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) FROM T;
|
||||
SELECT COUNT(*) FROM T;
|
||||
SELECT * FROM T AS a RIGHT OUTER JOIN T AS b ON a.rowid = b.rowid;
|
||||
INSERT INTO T VALUES (NULL, NULL, NULL);
|
||||
ALTER TABLE T ADD COLUMN extra_9504 DOUBLE COLLATE RTRIM;
|
||||
SELECT * FROM T NATURAL JOIN T;
|
||||
ANALYZE;
|
||||
INSERT INTO T DEFAULT VALUES;
|
||||
INSERT INTO T DEFAULT VALUES;
|
||||
INSERT INTO T VALUES (NULL, NULL, NULL);
|
||||
WITH cte AS (SELECT CASE WHEN a > 0 THEN "pos" ELSE "neg" END AS sign FROM T) SELECT * FROM cte;
|
||||
SELECT FIRST_VALUE(c) OVER (ORDER BY c ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW EXCLUDE TIES) FROM T;
|
||||
ALTER TABLE T ADD COLUMN extra_5697 BIGINT COLLATE NOCASE;
|
||||
RELEASE sp4770;
|
||||
PRAGMA short_column_names = OFF;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_T_534 AFTER UPDATE OF A ON T BEGIN SELECT RAISE(FAIL, 'no'); END;
|
||||
SELECT * FROM T WHERE C = (SELECT GROUP_CONCAT(C) FROM T);
|
||||
SAVEPOINT sp4770;
|
||||
.limit
|
||||
SAVEPOINT sp9818;
|
||||
ATTACH DATABASE ':memory:' AS aux84;
|
||||
SAVEPOINT sp2531;
|
||||
.check
|
||||
SAVEPOINT sp9694;
|
||||
PRAGMA encoding = 'UTF-8';
|
||||
ATTACH DATABASE ':memory:' AS aux44;
|
||||
CREATE TABLE main.main.`T` (
|
||||
a REAL,
|
||||
b REAL,
|
||||
c REAL
|
||||
);
|
||||
INSERT INTO T VALUES (strftime('%s', if(coalesce(NULL, NULL, NULL) -> sqrt(datetime(-(-(CAST(x'2f' AS BLOB))))), typeof(NULL), (0 + 9145485036963515638))),1.5,10.0), (2,-2.5,20.0), (3,-9e999,30.0);
|
||||
WITH _m AS MATERIALIZED (WITH _m AS MATERIALIZED (SELECT * FROM T) SELEC_m * FROM T) SELEC_m * FROM T WHERE NOT NOT (NOT NOT (+b < 2.0)) ORDER BY b;
|
||||
DETACH DATABASE aux44;
|
||||
SELECT * FROM T WHERE EXISTS (SELECT 1 FROM T t2 WHERE t2.a = T.a);
|
||||
INSERT INTO T VALUES (NULL, NULL, NULL);
|
||||
INSERT OR ROLLBACK INTO T VALUES (NULL, NULL, '');
|
||||
WITH RECURSIVE cnt(x) AS (VALUES(1) UNION ALL SELECT x+1 FROM cnt WHERE +x<21) SELECT * FROM cnt;
|
||||
ALTER TABLE T DROP COLUMN b;
|
||||
DROP VIEW IF EXISTS T;
|
||||
SELECT ROW_NUMBER() OVER (ORDER BY a ROWS BETWEEN 2 PRECEDING AND 2 FOLLOWING EXCLUDE CURRENT ROW) FROM T;
|
||||
INSERT OR ROLLBACK INTO T VALUES (-2, NULL, 0);
|
||||
ROLLBACK TO sp9694;
|
||||
RELEASE sp9694;
|
||||
ALTER TABLE T ADD COLUMN extra_4532 UNSIGNED BIG INT DEFAULT (abs(random()) % 1000);
|
||||
SELECT a, COUNT(*) FROM T GROUP BY a HAVING COUNT(*) = (SELECT COUNT(*) FROM T);
|
||||
CREATE TRIGGER IF NOT EXISTS trg_T_7371 BEFORE UPDATE ON T FOR EACH ROW BEGIN SELECT RAISE(FAIL, 'no'); END;
|
||||
SELECT COUNT(*) FROM T;
|
||||
ROLLBACK TO sp2531;
|
||||
RELEASE sp2531;
|
||||
INSERT OR ABORT INTO T VALUES (6, 0, 0);
|
||||
SELECT COUNT(*) FROM T;
|
||||
WITH RECURSIVE cnt(x) AS (VALUES(1) UNION SELECT x+1 FROM cnt WHERE x<8) SELECT * FROM cnt;
|
||||
WITH RECURSIVE cnt(x) AS (VALUES(1) UNION ALL SELECT x+1 FROM cnt WHERE x<0) SELECT * FROM cnt;
|
||||
DETACH DATABASE aux84;
|
||||
SELECT * FROM T t1 JOIN T t2 ON t1.a = (SELECT a FROM T LIMIT 1);
|
||||
ALTER TABLE T RENAME TO T_r9068;
|
||||
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;
|
||||
ROLLBACK TRANSACTION TO SAVEPOINT sp9818;
|
||||
RELEASE SAVEPOINT sp9818;
|
||||
SELECT STRING_AGG(a, '|') FROM T;
|
||||
INSERT INTO T VALUES (NULL, NULL, NULL);
|
||||
SELECT LEAD(a, 1, NULL) OVER (ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) FROM T;
|
||||
SELECT RANK() OVER (ORDER BY c GROUPS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) FROM T;
|
||||
SELECT COUNT(*) FROM T;
|
||||
SELECT * FROM T AS a RIGHT OUTER JOIN T AS b ON a.rowid = b.rowid;
|
||||
INSERT INTO T VALUES (NULL, NULL, NULL);
|
||||
ALTER TABLE T ADD COLUMN extra_9504 DOUBLE COLLATE RTRIM;
|
||||
SELECT * FROM T NATURAL JOIN T;
|
||||
ANALYZE;
|
||||
INSERT INTO T DEFAULT VALUES;
|
||||
INSERT INTO T DEFAULT VALUES;
|
||||
INSERT INTO T VALUES (NULL, NULL, NULL);
|
||||
WITH cte AS (SELECT CASE WHEN a > 0 THEN "pos" ELSE "neg" END AS sign FROM T) SELECT * FROM cte;
|
||||
SELECT FIRST_VALUE(c) OVER (ORDER BY c ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW EXCLUDE TIES) FROM T;
|
||||
ALTER TABLE T ADD COLUMN extra_5697 BIGINT COLLATE NOCASE;
|
||||
RELEASE sp4770;
|
||||
PRAGMA short_column_names = OFF;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_T_534 AFTER UPDATE OF A ON T BEGIN SELECT RAISE(FAIL, 'no'); END;
|
||||
SELECT * FROM T WHERE C = (SELECT GROUP_CONCAT(C) FROM T);
|
||||
SAVEPOINT sp4770;
|
||||
.limit
|
||||
SAVEPOINT sp9818;
|
||||
ATTACH DATABASE ':memory:' AS aux84;
|
||||
SAVEPOINT sp2531;
|
||||
.check
|
||||
SAVEPOINT sp9694;
|
||||
PRAGMA encoding = 'UTF-8';
|
||||
ATTACH DATABASE ':memory:' AS aux44;
|
||||
CREATE TABLE main.main.`T` (
|
||||
a REAL,
|
||||
b REAL,
|
||||
c REAL
|
||||
);
|
||||
INSERT INTO T VALUES (strftime('%s', if(coalesce(NULL, NULL, NULL) -> sqrt(datetime(-(-(CAST(x'2f' AS BLOB))))), typeof(NULL), (0 + 9145485036963515638))),1.5,10.0), (2,-2.5,20.0), (3,-9e999,30.0);
|
||||
WITH _m AS MATERIALIZED (WITH _m AS MATERIALIZED (SELECT * FROM T) SELEC_m * FROM T) SELEC_m * FROM T WHERE NOT NOT (NOT NOT (+b < 2.0)) ORDER BY b;
|
||||
DETACH DATABASE aux44;
|
||||
SELECT * FROM T WHERE EXISTS (SELECT 1 FROM T t2 WHERE t2.a = T.a);
|
||||
INSERT INTO T VALUES (NULL, NULL, NULL);
|
||||
INSERT OR ROLLBACK INTO T VALUES (NULL, NULL, '');
|
||||
WITH RECURSIVE cnt(x) AS (VALUES(1) UNION ALL SELECT x+1 FROM cnt WHERE +x<21) SELECT * FROM cnt;
|
||||
ALTER TABLE T DROP COLUMN b;
|
||||
DROP VIEW IF EXISTS T;
|
||||
SELECT ROW_NUMBER() OVER (ORDER BY a ROWS BETWEEN 2 PRECEDING AND 2 FOLLOWING EXCLUDE CURRENT ROW) FROM T;
|
||||
INSERT OR ROLLBACK INTO T VALUES (-2, NULL, 0);
|
||||
ROLLBACK TO sp9694;
|
||||
RELEASE sp9694;
|
||||
ALTER TABLE T ADD COLUMN extra_4532 UNSIGNED BIG INT DEFAULT (abs(random()) % 1000);
|
||||
SELECT a, COUNT(*) FROM T GROUP BY a HAVING COUNT(*) = (SELECT COUNT(*) FROM T);
|
||||
CREATE TRIGGER IF NOT EXISTS trg_T_7371 BEFORE UPDATE ON T FOR EACH ROW BEGIN SELECT RAISE(FAIL, 'no'); END;
|
||||
SELECT COUNT(*) FROM T;
|
||||
ROLLBACK TO sp2531;
|
||||
RELEASE sp2531;
|
||||
INSERT OR ABORT INTO T VALUES (6, 0, 0);
|
||||
SELECT COUNT(*) FROM T;
|
||||
WITH RECURSIVE cnt(x) AS (VALUES(1) UNION SELECT x+1 FROM cnt WHERE x<8) SELECT * FROM cnt;
|
||||
WITH RECURSIVE cnt(x) AS (VALUES(1) UNION ALL SELECT x+1 FROM cnt WHERE x<0) SELECT * FROM cnt;
|
||||
DETACH DATABASE aux84;
|
||||
SELECT * FROM T t1 JOIN T t2 ON t1.a = (SELECT a FROM T LIMIT 1);
|
||||
ALTER TABLE T RENAME TO T_r9068;
|
||||
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;
|
||||
ROLLBACK TRANSACTION TO SAVEPOINT sp9818;
|
||||
RELEASE SAVEPOINT sp9818;
|
||||
SELECT STRING_AGG(a, '|') FROM T;
|
||||
INSERT INTO T VALUES (NULL, NULL, NULL);
|
||||
SELECT LEAD(a, 1, NULL) OVER (ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) FROM T;
|
||||
SELECT RANK() OVER (ORDER BY c GROUPS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) FROM T;
|
||||
SELECT COUNT(*) FROM T;
|
||||
SELECT * FROM T AS a RIGHT OUTER JOIN T AS b ON a.rowid = b.rowid;
|
||||
INSERT INTO T VALUES (NULL, NULL, NULL);
|
||||
ALTER TABLE T ADD COLUMN extra_9504 DOUBLE COLLATE RTRIM;
|
||||
SELECT * FROM T NATURAL JOIN T;
|
||||
ANALYZE;
|
||||
INSERT INTO T DEFAULT VALUES;
|
||||
INSERT INTO T DEFAULT VALUES;
|
||||
INSERT INTO T VALUES (NULL, NULL, NULL);
|
||||
WITH cte AS (SELECT CASE WHEN a > 0 THEN "pos" ELSE "neg" END AS sign FROM T) SELECT * FROM cte;
|
||||
SELECT FIRST_VALUE(c) OVER (ORDER BY c ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW EXCLUDE TIES) FROM T;
|
||||
ALTER TABLE T ADD COLUMN extra_5697 BIGINT COLLATE NOCASE;
|
||||
RELEASE sp4770;
|
||||
PRAGMA short_column_names = OFF;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_T_534 AFTER UPDATE OF A ON T BEGIN SELECT RAISE(FAIL, 'no'); END;
|
||||
SELECT * FROM T WHERE C = (SELECT GROUP_CONCAT(C) FROM T);
|
||||
SAVEPOINT sp4770;
|
||||
.limit
|
||||
SAVEPOINT sp9818;
|
||||
ATTACH DATABASE ':memory:' AS aux84;
|
||||
SAVEPOINT sp2531;
|
||||
.check
|
||||
SAVEPOINT sp9694;
|
||||
PRAGMA encoding = 'UTF-8';
|
||||
ATTACH DATABASE ':memory:' AS aux44;
|
||||
CREATE TABLE main.main.`T` (
|
||||
a REAL,
|
||||
b REAL,
|
||||
c REAL
|
||||
);
|
||||
INSERT INTO T VALUES (strftime('%s', if(coalesce(NULL, NULL, NULL) -> sqrt(datetime(-(-(CAST(x'2f' AS BLOB))))), typeof(NULL), (0 + 9145485036963515638))),1.5,10.0), (2,-2.5,20.0), (3,-9e999,30.0);
|
||||
WITH _m AS MATERIALIZED (WITH _m AS MATERIALIZED (SELECT * FROM T) SELEC_m * FROM T) SELEC_m * FROM T WHERE NOT NOT (NOT NOT (+b < 2.0)) ORDER BY b;
|
||||
DETACH DATABASE aux44;
|
||||
SELECT * FROM T WHERE EXISTS (SELECT 1 FROM T t2 WHERE t2.a = T.a);
|
||||
INSERT INTO T VALUES (NULL, NULL, NULL);
|
||||
INSERT OR ROLLBACK INTO T VALUES (NULL, NULL, '');
|
||||
WITH RECURSIVE cnt(x) AS (VALUES(1) UNION ALL SELECT x+1 FROM cnt WHERE +x<21) SELECT * FROM cnt;
|
||||
ALTER TABLE T DROP COLUMN b;
|
||||
DROP VIEW IF EXISTS T;
|
||||
SELECT ROW_NUMBER() OVER (ORDER BY a ROWS BETWEEN 2 PRECEDING AND 2 FOLLOWING EXCLUDE CURRENT ROW) FROM T;
|
||||
INSERT OR ROLLBACK INTO T VALUES (-2, NULL, 0);
|
||||
ROLLBACK TO sp9694;
|
||||
RELEASE sp9694;
|
||||
ALTER TABLE T ADD COLUMN extra_4532 UNSIGNED BIG INT DEFAULT (abs(random()) % 1000);
|
||||
SELECT a, COUNT(*) FROM T GROUP BY a HAVING COUNT(*) = (SELECT COUNT(*) FROM T);
|
||||
CREATE TRIGGER IF NOT EXISTS trg_T_7371 BEFORE UPDATE ON T FOR EACH ROW BEGIN SELECT RAISE(FAIL, 'no'); END;
|
||||
SELECT COUNT(*) FROM T;
|
||||
ROLLBACK TO sp2531;
|
||||
RELEASE sp2531;
|
||||
INSERT OR ABORT INTO T VALUES (6, 0, 0);
|
||||
SELECT COUNT(*) FROM T;
|
||||
WITH RECURSIVE cnt(x) AS (VALUES(1) UNION SELECT x+1 FROM cnt WHERE x<8) SELECT * FROM cnt;
|
||||
WITH RECURSIVE cnt(x) AS (VALUES(1) UNION ALL SELECT x+1 FROM cnt WHERE x<0) SELECT * FROM cnt;
|
||||
DETACH DATABASE aux84;
|
||||
SELECT * FROM T t1 JOIN T t2 ON t1.a = (SELECT a FROM T LIMIT 1);
|
||||
ALTER TABLE T RENAME TO T_r9068;
|
||||
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;
|
||||
ROLLBACK TRANSACTION TO SAVEPOINT sp9818;
|
||||
RELEASE SAVEPOINT sp9818;
|
||||
SELECT STRING_AGG(a, '|') FROM T;
|
||||
INSERT INTO T VALUES (NULL, NULL, NULL);
|
||||
SELECT LEAD(a, 1, NULL) OVER (ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) FROM T;
|
||||
SELECT RANK() OVER (ORDER BY c GROUPS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) FROM T;
|
||||
SELECT COUNT(*) FROM T;
|
||||
SELECT * FROM T AS a RIGHT OUTER JOIN T AS b ON a.rowid = b.rowid;
|
||||
INSERT INTO T VALUES (NULL, NULL, NULL);
|
||||
ALTER TABLE T ADD COLUMN extra_9504 DOUBLE COLLATE RTRIM;
|
||||
SELECT * FROM T NATURAL JOIN T;
|
||||
ANALYZE;
|
||||
INSERT INTO T DEFAULT VALUES;
|
||||
INSERT INTO T DEFAULT VALUES;
|
||||
INSERT INTO T VALUES (NULL, NULL, NULL);
|
||||
WITH cte AS (SELECT CASE WHEN a > 0 THEN "pos" ELSE "neg" END AS sign FROM T) SELECT * FROM cte;
|
||||
SELECT FIRST_VALUE(c) OVER (ORDER BY c ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW EXCLUDE TIES) FROM T;
|
||||
ALTER TABLE T ADD COLUMN extra_5697 BIGINT COLLATE NOCASE;
|
||||
RELEASE sp4770;
|
||||
PRAGMA short_column_names = OFF;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_T_534 AFTER UPDATE OF A ON T BEGIN SELECT RAISE(FAIL, 'no'); END;
|
||||
SELECT * FROM T WHERE C = (SELECT GROUP_CONCAT(C) FROM T);
|
||||
SAVEPOINT sp4770;
|
||||
.limit
|
||||
SAVEPOINT sp9818;
|
||||
ATTACH DATABASE ':memory:' AS aux84;
|
||||
SAVEPOINT sp2531;
|
||||
.check
|
||||
SAVEPOINT sp9694;
|
||||
PRAGMA encoding = 'UTF-8';
|
||||
ATTACH DATABASE ':memory:' AS aux44;
|
||||
CREATE TABLE main.main.`T` (
|
||||
a REAL,
|
||||
b REAL,
|
||||
c REAL
|
||||
);
|
||||
INSERT INTO T VALUES (strftime('%s', if(coalesce(NULL, NULL, NULL) -> sqrt(datetime(-(-(CAST(x'2f' AS BLOB))))), typeof(NULL), (0 + 9145485036963515638))),1.5,10.0), (2,-2.5,20.0), (3,-9e999,30.0);
|
||||
WITH _m AS MATERIALIZED (WITH _m AS MATERIALIZED (SELECT * FROM T) SELEC_m * FROM T) SELEC_m * FROM T WHERE NOT NOT (NOT NOT (+b < 2.0)) ORDER BY b;
|
||||
DETACH DATABASE aux44;
|
||||
SELECT * FROM T WHERE EXISTS (SELECT 1 FROM T t2 WHERE t2.a = T.a);
|
||||
INSERT INTO T VALUES (NULL, NULL, NULL);
|
||||
INSERT OR ROLLBACK INTO T VALUES (NULL, NULL, '');
|
||||
WITH RECURSIVE cnt(x) AS (VALUES(1) UNION ALL SELECT x+1 FROM cnt WHERE +x<21) SELECT * FROM cnt;
|
||||
ALTER TABLE T DROP COLUMN b;
|
||||
DROP VIEW IF EXISTS T;
|
||||
SELECT ROW_NUMBER() OVER (ORDER BY a ROWS BETWEEN 2 PRECEDING AND 2 FOLLOWING EXCLUDE CURRENT ROW) FROM T;
|
||||
INSERT OR ROLLBACK INTO T VALUES (-2, NULL, 0);
|
||||
ROLLBACK TO sp9694;
|
||||
RELEASE sp9694;
|
||||
ALTER TABLE T ADD COLUMN extra_4532 UNSIGNED BIG INT DEFAULT (abs(random()) % 1000);
|
||||
SELECT a, COUNT(*) FROM T GROUP BY a HAVING COUNT(*) = (SELECT COUNT(*) FROM T);
|
||||
CREATE TRIGGER IF NOT EXISTS trg_T_7371 BEFORE UPDATE ON T FOR EACH ROW BEGIN SELECT RAISE(FAIL, 'no'); END;
|
||||
SELECT COUNT(*) FROM T;
|
||||
ROLLBACK TO sp2531;
|
||||
RELEASE sp2531;
|
||||
INSERT OR ABORT INTO T VALUES (6, 0, 0);
|
||||
SELECT COUNT(*) FROM T;
|
||||
WITH RECURSIVE cnt(x) AS (VALUES(1) UNION SELECT x+1 FROM cnt WHERE x<8) SELECT * FROM cnt;
|
||||
WITH RECURSIVE cnt(x) AS (VALUES(1) UNION ALL SELECT x+1 FROM cnt WHERE x<0) SELECT * FROM cnt;
|
||||
DETACH DATABASE aux84;
|
||||
SELECT * FROM T t1 JOIN T t2 ON t1.a = (SELECT a FROM T LIMIT 1);
|
||||
ALTER TABLE T RENAME TO T_r9068;
|
||||
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;
|
||||
ROLLBACK TRANSACTION TO SAVEPOINT sp9818;
|
||||
RELEASE SAVEPOINT sp9818;
|
||||
SELECT STRING_AGG(a, '|') FROM T;
|
||||
INSERT INTO T VALUES (NULL, NULL, NULL);
|
||||
SELECT LEAD(a, 1, NULL) OVER (ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) FROM T;
|
||||
SELECT RANK() OVER (ORDER BY c GROUPS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) FROM T;
|
||||
SELECT COUNT(*) FROM T;
|
||||
SELECT * FROM T AS a RIGHT OUTER JOIN T AS b ON a.rowid = b.rowid;
|
||||
INSERT INTO T VALUES (NULL, NULL, NULL);
|
||||
ALTER TABLE T ADD COLUMN extra_9504 DOUBLE COLLATE RTRIM;
|
||||
SELECT * FROM T NATURAL JOIN T;
|
||||
ANALYZE;
|
||||
INSERT INTO T DEFAULT VALUES;
|
||||
INSERT INTO T DEFAULT VALUES;
|
||||
INSERT INTO T VALUES (NULL, NULL, NULL);
|
||||
WITH cte AS (SELECT CASE WHEN a > 0 THEN "pos" ELSE "neg" END AS sign FROM T) SELECT * FROM cte;
|
||||
SELECT FIRST_VALUE(c) OVER (ORDER BY c ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW EXCLUDE TIES) FROM T;
|
||||
ALTER TABLE T ADD COLUMN extra_5697 BIGINT COLLATE NOCASE;
|
||||
RELEASE sp4770;
|
||||
PRAGMA short_column_names = OFF;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_T_534 AFTER UPDATE OF A ON T BEGIN SELECT RAISE(FAIL, 'no'); END;
|
||||
SELECT * FROM T WHERE C = (SELECT GROUP_CONCAT(C) FROM T);
|
||||
|
||||
ALTER TABLE T RENAME TO T_r7047;
|
||||
SELECT * FROM T WHERE EXISTS (SELECT 1 FROM T WHERE EXISTS (SELECT 1 FROM T));
|
||||
CREATE INDEX IF NOT EXISTS idx_T_4760 ON T(lower(A));
|
||||
```
|
||||
|
||||
## Actual output
|
||||
|
||||
```sql
|
||||
length 1000000000
|
||||
sql_length 1000000000
|
||||
column 2000
|
||||
expr_depth 1000
|
||||
compound_select 500
|
||||
vdbe_op 250000000
|
||||
function_arg 127
|
||||
attached 10
|
||||
like_pattern_length 50000
|
||||
variable_number 32766
|
||||
trigger_depth 1000
|
||||
worker_threads 0
|
||||
```
|
||||
|
||||
## Expectation
|
||||
|
||||
```sql
|
||||
length 1000000000
|
||||
sql_length 1000000000
|
||||
column 2000
|
||||
expr_depth 1000
|
||||
compound_select 500
|
||||
vdbe_op 250000000
|
||||
function_arg 1000
|
||||
attached 10
|
||||
like_pattern_length 50000
|
||||
variable_number 32766
|
||||
trigger_depth 1000
|
||||
worker_threads 0
|
||||
```
|
||||
|
||||
## Flag
|
||||
|
||||
```
|
||||
|
||||
```
|
||||
|
||||
@@ -0,0 +1,194 @@
|
||||
## 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
|
||||
.headers off
|
||||
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 foreign_keys;
|
||||
-- PRAGMA query_only = TRUE;
|
||||
|
||||
.connection
|
||||
CREATE TABLE T (
|
||||
a TEXT,
|
||||
b TEXT,
|
||||
c REAL
|
||||
);
|
||||
INSERT INTO T VALUES ('a','b',concat_ws(',', 1, 2, 3)), ('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;
|
||||
ANALYZE;
|
||||
ANALYZE T;
|
||||
INSERT INTO T VALUES (NULL, NULL, NULL);
|
||||
SELECT LAST_VALUE(b) OVER (PARTITION BY b ORDER BY b GROUPS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) FROM T;
|
||||
SELECT COUNT(b) FROM T;
|
||||
REINDEX;
|
||||
|
||||
SELECT COUNT(*) FROM T;
|
||||
PRAGMA temp_store;
|
||||
WITH cte(a, b, c) AS (SELECT c, c, c FROM T) SELECT a, b, c FROM cte;
|
||||
PRAGMA foreign_keys;
|
||||
-- PRAGMA query_only = TRUE;
|
||||
|
||||
.connection
|
||||
CREATE TABLE T (
|
||||
a TEXT,
|
||||
b TEXT,
|
||||
c REAL
|
||||
);
|
||||
INSERT INTO T VALUES ('a','b',concat_ws(',', 1, 2, 3)), ('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;
|
||||
ANALYZE;
|
||||
ANALYZE T;
|
||||
INSERT INTO T VALUES (NULL, NULL, NULL);
|
||||
SELECT LAST_VALUE(b) OVER (PARTITION BY b ORDER BY b GROUPS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) FROM T;
|
||||
SELECT COUNT(b) FROM T;
|
||||
REINDEX;
|
||||
|
||||
SELECT COUNT(*) FROM T;
|
||||
PRAGMA temp_store;
|
||||
WITH cte(a, b, c) AS (SELECT c, c, c FROM T) SELECT a, b, c FROM cte;
|
||||
PRAGMA foreign_keys;
|
||||
-- PRAGMA query_only = TRUE;
|
||||
|
||||
.connection
|
||||
CREATE TABLE T (
|
||||
a TEXT,
|
||||
b TEXT,
|
||||
c REAL
|
||||
);
|
||||
INSERT INTO T VALUES ('a','b',concat_ws(',', 1, 2, 3)), ('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;
|
||||
ANALYZE;
|
||||
ANALYZE T;
|
||||
INSERT INTO T VALUES (NULL, NULL, NULL);
|
||||
SELECT LAST_VALUE(b) OVER (PARTITION BY b ORDER BY b GROUPS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) FROM T;
|
||||
SELECT COUNT(b) FROM T;
|
||||
REINDEX;
|
||||
|
||||
SELECT COUNT(*) FROM T;
|
||||
PRAGMA temp_store;
|
||||
WITH cte(a, b, c) AS (SELECT c, c, c FROM T) SELECT a, b, c FROM cte;
|
||||
PRAGMA foreign_keys;
|
||||
-- PRAGMA query_only = TRUE;
|
||||
|
||||
.connection
|
||||
CREATE TABLE T (
|
||||
a TEXT,
|
||||
b TEXT,
|
||||
c REAL
|
||||
);
|
||||
INSERT INTO T VALUES ('a','b',concat_ws(',', 1, 2, 3)), ('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;
|
||||
ANALYZE;
|
||||
ANALYZE T;
|
||||
INSERT INTO T VALUES (NULL, NULL, NULL);
|
||||
SELECT LAST_VALUE(b) OVER (PARTITION BY b ORDER BY b GROUPS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) FROM T;
|
||||
SELECT COUNT(b) FROM T;
|
||||
REINDEX;
|
||||
|
||||
SELECT COUNT(*) FROM T;
|
||||
PRAGMA temp_store;
|
||||
WITH cte(a, b, c) AS (SELECT c, c, c FROM T) SELECT a, b, c FROM cte;
|
||||
PRAGMA foreign_keys;
|
||||
-- PRAGMA query_only = TRUE;
|
||||
|
||||
.connection
|
||||
CREATE TABLE T (
|
||||
a TEXT,
|
||||
b TEXT,
|
||||
c REAL
|
||||
);
|
||||
INSERT INTO T VALUES ('a','b',concat_ws(',', 1, 2, 3)), ('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;
|
||||
ANALYZE;
|
||||
ANALYZE T;
|
||||
INSERT INTO T VALUES (NULL, NULL, NULL);
|
||||
SELECT LAST_VALUE(b) OVER (PARTITION BY b ORDER BY b GROUPS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) FROM T;
|
||||
SELECT COUNT(b) FROM T;
|
||||
REINDEX;
|
||||
|
||||
SELECT COUNT(*) FROM T;
|
||||
PRAGMA temp_store;
|
||||
WITH cte(a, b, c) AS (SELECT c, c, c FROM T) SELECT a, b, c FROM cte;
|
||||
PRAGMA foreign_keys;
|
||||
-- PRAGMA query_only = TRUE;
|
||||
|
||||
.connection
|
||||
CREATE TABLE T (
|
||||
a TEXT,
|
||||
b TEXT,
|
||||
c REAL
|
||||
);
|
||||
INSERT INTO T VALUES ('a','b',concat_ws(',', 1, 2, 3)), ('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;
|
||||
ANALYZE;
|
||||
ANALYZE T;
|
||||
INSERT INTO T VALUES (NULL, NULL, NULL);
|
||||
SELECT LAST_VALUE(b) OVER (PARTITION BY b ORDER BY b GROUPS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) FROM T;
|
||||
SELECT COUNT(b) FROM T;
|
||||
REINDEX;
|
||||
|
||||
SELECT COUNT(*) FROM T;
|
||||
PRAGMA temp_store;
|
||||
WITH cte(a, b, c) AS (SELECT c, c, c FROM T) SELECT a, b, c FROM cte;
|
||||
|
||||
ALTER TABLE T ADD COLUMN extra_6385 DOUB DEFAULT CURRENT_TIMESTAMP;
|
||||
ALTER TABLE T ADD COLUMN extra_2442 FLOA COLLATE NOCASE;
|
||||
ALTER TABLE t1 ADD COLUMN extra_8702 TEXT DEFAULT (random());
|
||||
|
||||
SELECT COUNT(*) FROM T;
|
||||
```
|
||||
|
||||
## Actual output
|
||||
|
||||
```sql
|
||||
CREATE TABLE "t2"("b","c","_ROWID_",PRIMARY KEY("b","c","_ROWID_"))WITHOUT ROWID;
|
||||
WARNING: writing to an imposter table will corrupt the "t1bc" index!
|
||||
Braun|30|3
|
||||
Wernher|10|1
|
||||
von|20|2
|
||||
Braun|30
|
||||
Wernher|10
|
||||
von|20
|
||||
```
|
||||
|
||||
## Expectation
|
||||
|
||||
```sql
|
||||
CREATE TABLE "t2"("b","c","_ROWID_",PRIMARY KEY("b","c","_ROWID_"))WITHOUT ROWID;
|
||||
Braun|30|3
|
||||
Wernher|10|1
|
||||
von|20|2
|
||||
Braun|30
|
||||
Wernher|10
|
||||
von|20
|
||||
```
|
||||
|
||||
## Flag
|
||||
|
||||
```
|
||||
|
||||
```
|
||||
|
||||
@@ -0,0 +1,84 @@
|
||||
## 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 TABLE t1(a INTEGER PRIMARY KEY, b TEXT, c INT, d INT);
|
||||
INSERT INTO t1 VALUES (CAST(nullif(1, NULL) AS CHAR(10)), '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
|
||||
.dump
|
||||
CREATE TABLE T (
|
||||
a INTEGER,
|
||||
b REAL
|
||||
);
|
||||
INSERT INTO T VALUES (cosh(1),1.5), (2,-2.5), (3,0.0);
|
||||
CREATE INDEX c
|
||||
ON T(b);
|
||||
SELECT * FROM T WHERE NOT NOT (NOT b >= -2.5 AND b < 2.0) ;
|
||||
REINDEX T;
|
||||
UPDATE T SET b = CURRENT_TIMESTAMP WHERE 1 RETURNING *;
|
||||
INSERT INTO T SELECT * FROM T;
|
||||
SELECT * FROM T WHERE EXISTS (SELECT 1 FROM T WHERE a > 0);
|
||||
CREATE TABLE T (
|
||||
A VARCHAR(10) PRIMARY KEY,
|
||||
B VARCHAR(15),
|
||||
C BIGINT,
|
||||
UNIQUE (B, C)
|
||||
);
|
||||
INSERT INTO T VALUES ('a', 'p', -9223372036854775808);
|
||||
INSERT INTO T VALUES ('b', 'q', 4000);
|
||||
INSERT INTO T VALUES ('c', 'r', 1700);
|
||||
INSERT INTO T VALUES ('d', 'r', 9223372036854775807);
|
||||
INSERT INTO T VALUES ('e', 's', 0);
|
||||
SELECT A, C FROM T WHERE C > 1200 AND C < 9999999999 ORDER BY C;
|
||||
WITH m AS MATERIALIZED (SELECT * FROM T) SELECT m.a FROM m JOIN m AS m2 ON m.a = m2.a;
|
||||
ALTER TABLE T ADD COLUMN extra_7396 FLOA COLLATE NOCASE;
|
||||
ALTER TABLE T ADD COLUMN extra_5763 BIGINT DEFAULT NULL;
|
||||
SELECT * FROM T WHERE a IN (SELECT DISTINCT a FROM T);
|
||||
DELETE FROM T WHERE rowid = 52;
|
||||
DELETE FROM T WHERE 1;
|
||||
SELECT STRING_AGG(b) FROM T;
|
||||
CREATE UNIQUE INDEX IF NOT EXISTS idx_T_150 ON T((a + 1));
|
||||
ALTER TABLE T RENAME COLUMN B TO B_r1410;
|
||||
```
|
||||
|
||||
## Actual output
|
||||
|
||||
```sql
|
||||
CREATE TABLE "t2"("b","c","_ROWID_",PRIMARY KEY("b","c","_ROWID_"))WITHOUT ROWID;
|
||||
WARNING: writing to an imposter table will corrupt the "t1bc" index!
|
||||
Braun|30|3
|
||||
Wernher|10|1
|
||||
von|20|2
|
||||
Braun|30
|
||||
Wernher|10
|
||||
von|20
|
||||
```
|
||||
|
||||
## Expectation
|
||||
|
||||
```sql
|
||||
CREATE TABLE "t2"("b","c","_ROWID_",PRIMARY KEY("b","c","_ROWID_"))WITHOUT ROWID;
|
||||
Braun|30|3
|
||||
Wernher|10|1
|
||||
von|20|2
|
||||
Braun|30
|
||||
Wernher|10
|
||||
von|20
|
||||
```
|
||||
|
||||
## Flag
|
||||
|
||||
```
|
||||
|
||||
```
|
||||
|
||||
@@ -0,0 +1,430 @@
|
||||
## 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 incremental_vacuum(100);
|
||||
.bail off
|
||||
.clone new_db
|
||||
BEGIN EXCLUSIVE TRANSACTION;
|
||||
SAVEPOINT sp374;
|
||||
ATTACH DATABASE (':memory:' || '') AS aux37;
|
||||
ATTACH DATABASE ':memory:' AS aux69;
|
||||
PRAGMA foreign_key_check;
|
||||
CREATE TABLE t1(a CHARINT PRIMARY KEY, b TEXT, c INT, d INT);
|
||||
-- PRAGMA legacy_alter_table = OFF;
|
||||
INSERT INTO t1 VALUES (CAST(CAST((sinh(-concat_ws(NULL, 'a', 'b')) - '$') AS CHARINT) AS ANY), 'Wernher', exp(sqlite_compileoption_used(NULL)), sin(log10(jsonb_extract(total_changes(), '$.key'))));
|
||||
INSERT INTO t1 VALUES (sqrt(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;
|
||||
WITH _m AS MATERIALIZED (SELECT * FROM t0) SELECT b, c FROM t1 ORDER BY b, c;
|
||||
.quit
|
||||
SAVEPOINT sp9856;
|
||||
SAVEPOINT sp8755;
|
||||
ATTACH DATABASE ':memory:' AS aux98;
|
||||
ATTACH DATABASE ':memory:' AS aux57;
|
||||
.import corrup_m01.db main
|
||||
BEGIN DEFERRED TRANSACTION;
|
||||
CREATE TABLE t0(c0);
|
||||
INSERT INTO t0(c0) VALUES (NULL);
|
||||
CREATE INDEX i0 ON t0(-(-(json_extract((like('1%', 1, '\\') + 0), '$.key')))) WHERE NOT NOT (NOT c0 NOT NULL) ;
|
||||
SELECT 1 FROM t0 WHERE (t0.c0 IS FALSE) IS FALSE;
|
||||
SELECT 1 FROM t0 WHERE (t0.c0 IS FALSE) BETWEEN FALSE OR TRUE;
|
||||
UPDATE t0 SET c0 = 'x' WHERE c0 BETWEEN 0 AND 100 RETURNING *;
|
||||
ANALYZE t0;
|
||||
SELECT * FROM t0 WHERE c0 IN (SELECT c0 FROM t0 ORDER BY c0 LIMIT 1 OFFSET 1000);
|
||||
END;
|
||||
ANALYZE;
|
||||
SELECT * FROM t0 AS a LEFT JOIN t0 AS b ON a.rowid = b.rowid;
|
||||
SELECT * FROM t0;
|
||||
CREATE TEMP VIEW IF NOT EXISTS v_t0_2416 AS SELECT c0 FROM t0;
|
||||
SELECT COUNT(*) FROM t0;
|
||||
DETACH DATABASE aux57;
|
||||
VACUUM main;
|
||||
WITH cte AS (SELECT c0, SUM(c0) OVER (ORDER BY c0) AS running FROM t0) SELECT * FROM cte;
|
||||
PRAGMA trusted_schema;
|
||||
CREATE TEMP VIEW IF NOT EXISTS v_t0_3032 AS SELECT c0 FROM t0;
|
||||
SELECT LEAD(c0, 2) OVER (ORDER BY c0) FROM t0;
|
||||
DROP TABLE IF EXISTS t0;
|
||||
WITH a AS (SELECT * FROM t0), b AS (SELECT * FROM t0) SELECT * FROM a UNION ALL SELECT * FROM b;
|
||||
SELECT COUNT(*) FROM t0;
|
||||
SELECT * FROM t0 AS a JOIN t0 AS b ON a.rowid = b.rowid;
|
||||
ALTER TABLE t0 RENAME TO t0_r7864;
|
||||
DETACH DATABASE aux98;
|
||||
ROLLBACK TRANSACTION TO SAVEPOINT sp8755;
|
||||
RELEASE SAVEPOINT sp8755;
|
||||
ALTER TABLE t0 ADD COLUMN extra_4590 CHARACTER(20) COLLATE RTRIM;
|
||||
SAVEPOINT sp8755;
|
||||
ATTACH DATABASE ':memory:' AS aux98;
|
||||
ATTACH DATABASE ':memory:' AS aux57;
|
||||
.import corrupt001.db main
|
||||
BEGIN DEFERRED TRANSACTION;
|
||||
CREATE TABLE t0(c0);
|
||||
INSERT INTO t0(c0) VALUES (NULL);
|
||||
CREATE INDEX i0 ON t0(-(-(json_extract((like('1%', 1, '\\') + 0), '$.key')))) WHERE c0 NOT NULL;
|
||||
SELECT 1 FROM t0 WHERE (t0.c0 IS FALSE) IS FALSE;
|
||||
SELECT 1 FROM t0 WHERE (t0.c0 IS FALSE) BETWEEN FALSE OR TRUE;
|
||||
UPDATE t0 SET c0 = 'x' WHERE c0 BETWEEN 0 AND 100 RETURNING *;
|
||||
ANALYZE t0;
|
||||
SELECT * FROM t0 WHERE c0 IN (SELECT c0 FROM t0 ORDER BY c0 LIMIT 1 OFFSET 1000);
|
||||
END;
|
||||
ANALYZE;
|
||||
SELECT * FROM t0 AS a INNER JOIN t0 AS b ON a.rowid = b.rowid;
|
||||
SELECT * FROM t0;
|
||||
CREATE TEMP VIEW IF NOT EXISTS v_t0_2416 AS SELECT c0 FROM t0;
|
||||
SELECT COUNT(*) FROM t0;
|
||||
DETACH DATABASE aux57;
|
||||
VACUUM main;
|
||||
WITH cte AS (SELECT c0, SUM(c0) OVER (ORDER BY c0) AS running FROM t0) SELECT * FROM cte;
|
||||
PRAGMA trusted_schema;
|
||||
CREATE TEMP VIEW IF NOT EXISTS v_t0_3032 AS SELECT c0 FROM t0;
|
||||
SELECT LEAD(c0, 2) OVER (ORDER BY c0) FROM t0;
|
||||
DROP TABLE IF EXISTS t0;
|
||||
WITH a AS (SELECT * FROM t0), b AS (SELECT * FROM t0) SELECT * FROM a UNION ALL SELECT * FROM b;
|
||||
SELECT COUNT(*) FROM t0;
|
||||
SELECT * FROM t0 AS a JOIN t0 AS b ON a.rowid = b.rowid;
|
||||
ALTER TABLE t0 RENAME TO t0_r7864;
|
||||
DETACH DATABASE aux98;
|
||||
ROLLBACK TRANSACTION TO SAVEPOINT sp8755;
|
||||
RELEASE SAVEPOINT sp8755;
|
||||
ALTER TABLE t0 ADD COLUMN extra_4590 CHARACTER(20) COLLATE RTRIM;
|
||||
SAVEPOINT sp8755;
|
||||
ATTACH DATABASE ':memory:' AS aux98;
|
||||
ATTACH DATABASE ':memory:' AS aux57;
|
||||
.import corrupt001.db main
|
||||
BEGIN DEFERRED TRANSACTION;
|
||||
CREATE TABLE t0(c0);
|
||||
INSERT INTO t0(c0) VALUES (NULL);
|
||||
CREATE INDEX i0 ON t0(-(-(json_extract((like('1%', 1, '\\') + 0), '$.key')))) WHERE c0 NOT NULL;
|
||||
SELECT 1 FROM t0 WHERE (t0.c0 IS FALSE) IS FALSE;
|
||||
SELECT 1 FROM t0 WHERE (t0.c0 IS FALSE) BETWEEN FALSE OR TRUE;
|
||||
UPDATE t0 SET c0 = 'x' WHERE c0 BETWEEN 0 AND 100 RETURNING *;
|
||||
ANALYZE t0;
|
||||
SELECT * FROM t0 WHERE c0 IN (SELECT c0 FROM t0 ORDER BY c0 LIMIT 1 OFFSET 1000);
|
||||
END;
|
||||
ANALYZE;
|
||||
SELECT * FROM t0 AS a INNER JOIN t0 AS b ON a.rowid = b.rowid;
|
||||
SELECT * FROM t0;
|
||||
CREATE TEMP VIEW IF NOT EXISTS v_t0_2416 AS SELECT c0 FROM t0;
|
||||
SELECT COUNT(*) FROM t0;
|
||||
DETACH DATABASE aux57;
|
||||
VACUUM main;
|
||||
WITH cte AS (SELECT c0, SUM(c0) OVER (ORDER BY c0) AS running FROM t0) SELECT * FROM cte;
|
||||
PRAGMA trusted_schema;
|
||||
CREATE TEMP VIEW IF NOT EXISTS v_t0_3032 AS SELECT c0 FROM t0;
|
||||
SELECT LEAD(c0, 2) OVER (ORDER BY c0) FROM t0;
|
||||
DROP TABLE IF EXISTS t0;
|
||||
WITH a AS (SELECT * FROM t0), b AS (SELECT * FROM t0) SELECT * FROM a UNION ALL SELECT * FROM b;
|
||||
SELECT COUNT(*) FROM t0;
|
||||
SELECT * FROM t0 AS a JOIN t0 AS b ON a.rowid = b.rowid;
|
||||
ALTER TABLE t0 RENAME TO t0_r7864;
|
||||
DETACH DATABASE aux98;
|
||||
ROLLBACK TRANSACTION TO SAVEPOINT sp8755;
|
||||
RELEASE SAVEPOINT sp8755;
|
||||
ALTER TABLE t0 ADD COLUMN extra_4590 CHARACTER(20) COLLATE RTRIM;
|
||||
SAVEPOINT sp8755;
|
||||
ATTACH DATABASE ':memory:' AS aux98;
|
||||
ATTACH DATABASE ':memory:' AS aux57;
|
||||
.import corrupt001.db main
|
||||
BEGIN DEFERRED TRANSACTION;
|
||||
CREATE TABLE t0(c0);
|
||||
INSERT INTO t0(c0) VALUES (NULL);
|
||||
CREATE INDEX i0 ON t0(-(-(json_extract((like('1%', 1, '\\') + 0), '$.key')))) WHERE c0 NOT NULL;
|
||||
SELECT 1 FROM t0 WHERE (t0.c0 IS FALSE) IS FALSE;
|
||||
SELECT 1 FROM t0 WHERE (t0.c0 IS FALSE) BETWEEN FALSE OR TRUE;
|
||||
UPDATE t0 SET c0 = 'x' WHERE c0 BETWEEN 0 AND 100 RETURNING *;
|
||||
ANALYZE t0;
|
||||
SELECT * FROM t0 WHERE c0 IN (SELECT c0 FROM t0 ORDER BY c0 LIMIT 1 OFFSET 1000);
|
||||
END;
|
||||
ANALYZE;
|
||||
SELECT * FROM t0 AS a INNER JOIN t0 AS b ON a.rowid = b.rowid;
|
||||
SELECT * FROM t0;
|
||||
CREATE TEMP VIEW IF NOT EXISTS v_t0_2416 AS SELECT c0 FROM t0;
|
||||
SELECT COUNT(*) FROM t0;
|
||||
DETACH DATABASE aux57;
|
||||
VACUUM main;
|
||||
WITH cte AS (SELECT c0, SUM(c0) OVER (ORDER BY c0) AS running FROM t0) SELECT * FROM cte;
|
||||
PRAGMA trusted_schema;
|
||||
CREATE TEMP VIEW IF NOT EXISTS v_t0_3032 AS SELECT c0 FROM t0;
|
||||
SELECT LEAD(c0, 2) OVER (ORDER BY c0) FROM t0;
|
||||
DROP TABLE IF EXISTS t0;
|
||||
WITH a AS (SELECT * FROM t0), b AS (SELECT * FROM t0) SELECT /* PRAGMA defer_foreign_keys = OFF; */ * FROM a UNION ALL SELECT * FROM b;
|
||||
SELECT COUNT(*) FROM t0;
|
||||
SELECT * FROM t0 AS a JOIN t0 AS b ON a.rowid = b.rowid;
|
||||
ALTER TABLE t0 RENAME TO t0_r7864;
|
||||
DETACH DATABASE aux98;
|
||||
ROLLBACK TRANSACTION TO SAVEPOINT sp8755;
|
||||
RELEASE SAVEPOINT sp8755;
|
||||
ALTER TABLE t0 ADD COLUMN extra_4590 CHARACTER(20) COLLATE RTRIM;
|
||||
SAVEPOINT sp8755;
|
||||
ATTACH DATABASE ':memory:' AS aux98;
|
||||
ATTACH DATABASE ':memory:' AS aux57;
|
||||
.import corrupt001.db main
|
||||
BEGIN DEFERRED TRANSACTION;
|
||||
CREATE TABLE t0(c0);
|
||||
INSERT INTO t0(c0) VALUES (NULL);
|
||||
CREATE INDEX i0 ON t0(-(-(json_extract((like('1%', 1, '\\') + 0), '$.key')))) WHERE c0 NOT NULL;
|
||||
SELECT 1 FROM t0 WHERE (t0.c0 IS FALSE) IS FALSE;
|
||||
SELECT 1 FROM t0 WHERE (t0.c0 IS FALSE) BETWEEN FALSE OR TRUE;
|
||||
UPDATE t0 SET c0 = 'x' WHERE c0 BETWEEN 0 AND 100 RETURNING *;
|
||||
ANALYZE t0;
|
||||
SELECT * FROM t0 WHERE c0 IN (SELECT c0 FROM t0 ORDER BY c0 LIMIT 1 OFFSET 1000);
|
||||
END;
|
||||
ANALYZE;
|
||||
SELECT * FROM t0 AS a INNER JOIN t0 AS b ON a.rowid = b.rowid;
|
||||
SELECT * FROM t0;
|
||||
CREATE TEMP VIEW IF NOT EXISTS v_t0_2416 AS SELECT c0 FROM t0;
|
||||
SELECT COUNT(*) FROM t0;
|
||||
DETACH DATABASE aux57;
|
||||
VACUUM main;
|
||||
WITH cte AS (SELECT c0, SUM(c0) OVER (ORDER BY c0) AS running FROM t0) SELECT * FROM cte;
|
||||
PRAGMA trusted_schema;
|
||||
CREATE TEMP VIEW IF NOT EXISTS v_t0_3032 AS SELECT c0 FROM t0;
|
||||
SELECT LEAD(c0, 2) OVER (ORDER BY c0) FROM t0;
|
||||
DROP TABLE IF EXISTS t0;
|
||||
WITH a AS (SELECT * FROM t0), b AS (SELECT * FROM t0) SELECT * FROM a UNION ALL SELECT * FROM b;
|
||||
SELECT COUNT(*) FROM t0;
|
||||
SELECT * FROM t0 AS a JOIN t0 AS b ON a.rowid = b.rowid;
|
||||
ALTER TABLE t0 RENAME TO t0_r7864;
|
||||
DETACH DATABASE aux98;
|
||||
ROLLBACK TRANSACTION TO SAVEPOINT sp8755;
|
||||
RELEASE SAVEPOINT sp8755;
|
||||
ALTER TABLE t0 ADD COLUMN extra_4590 CHARACTER(20) COLLATE RTRIM;
|
||||
SAVEPOINT sp8755;
|
||||
ATTACH DATABASE ':memory:' AS aux98;
|
||||
ATTACH DATABASE ':memory:' AS aux57;
|
||||
.import corrupt001.db main
|
||||
BEGIN DEFERRED TRANSACTION;
|
||||
CREATE TABLE t0(c0);
|
||||
INSERT INTO t0(c0) VALUES (NULL);
|
||||
CREATE INDEX i0 ON t0(-(-(json_extract((like('1%', 1, '\\') + 0), '$.key')))) WHERE c0 NOT NULL;
|
||||
SELECT 1 FROM t0 WHERE (t0.c0 IS FALSE) IS FALSE;
|
||||
SELECT 1 FROM t0 WHERE (t0.c0 IS FALSE) BETWEEN FALSE OR TRUE;
|
||||
UPDATE t0 SET c0 = 'x' WHERE c0 /* hex(NULL) */ BETWEEN 0 AND 100 RETURNING *;
|
||||
ANALYZE t0;
|
||||
SELECT * FROM t0 WHERE c0 IN (SELECT c0 FROM t0 ORDER BY c0 LIMIT 1 OFFSET 1000);
|
||||
END;
|
||||
ANALYZE;
|
||||
SELECT * FROM t0 AS a INNER JOIN t0 AS b ON a.rowid = b.rowid;
|
||||
SELECT * FROM t0;
|
||||
CREATE TEMP VIEW IF NOT EXISTS v_t0_2416 AS SELECT c0 FROM t0;
|
||||
SELECT COUNT(*) FROM t0;
|
||||
DETACH DATABASE aux57;
|
||||
VACUUM main;
|
||||
WITH cte AS (SELECT c0, SUM(c0) OVER (ORDER BY c0) AS running FROM t0) SELECT * FROM cte;
|
||||
PRAGMA trusted_schema;
|
||||
CREATE TEMP VIEW IF NOT EXISTS v_t0_3032 AS SELECT c0 FROM t0;
|
||||
SELECT LEAD(c0, 2) OVER (ORDER BY c0) FROM t0;
|
||||
DROP TABLE IF EXISTS t0;
|
||||
WITH a AS (SELECT * FROM t0), b AS (SELECT * FROM t0) SELECT * FROM a UNION ALL SELECT * FROM b;
|
||||
SELECT COUNT(*) FROM t0;
|
||||
SELECT * FROM t0 AS a JOIN t0 AS b ON a.rowid = b.rowid;
|
||||
ALTER TABLE t0 RENAME TO t0_r7864;
|
||||
DETACH DATABASE aux98;
|
||||
ROLLBACK TRANSACTION TO SAVEPOINT sp8755;
|
||||
RELEASE SAVEPOINT sp8755;
|
||||
ALTER TABLE t0 ADD COLUMN extra_4590 CHARACTER(20) COLLATE RTRIM;
|
||||
SAVEPOINT sp8755;
|
||||
ATTACH DATABASE ':memory:' AS aux98;
|
||||
ATTACH DATABASE ':memory:' AS aux57;
|
||||
.import corrupt001.db main
|
||||
BEGIN DEFERRED TRANSACTION;
|
||||
CREATE TABLE t0(c0);
|
||||
INSERT INTO t0(c0) VALUES (NULL);
|
||||
CREATE INDEX i0 ON t0(-(-(json_extract((like('1%', 1, '\\') + 0), '$.key')))) WHERE c0 NOT NULL;
|
||||
SELECT 1 FROM t0 WHERE (t0.c0 IS FALSE) IS FALSE;
|
||||
SELECT 1 FROM t0 WHERE (t0.c0 IS FALSE) BETWEEN FALSE OR TRUE;
|
||||
UPDATE t0 SET c0 = 'x' WHERE c0 BETWEEN 0 AND 100 RETURNING *;
|
||||
ANALYZE t0;
|
||||
SELECT * FROM t0 WHERE c0 IN (SELECT c0 FROM t0 ORDER BY c0 LIMIT 1 OFFSET 1000);
|
||||
END;
|
||||
ANALYZE;
|
||||
SELECT * FROM t0 AS a INNER JOIN t0 AS b ON a.rowid = b.rowid;
|
||||
SELECT * FROM t0;
|
||||
CREATE TEMP VIEW IF NOT EXISTS v_t0_2416 AS SELECT c0 FROM t0;
|
||||
SELECT COUNT(*) FROM t0;
|
||||
DETACH DATABASE aux57;
|
||||
VACUUM main;
|
||||
WITH cte AS (SELECT c0, SUM(c0) OVER (ORDER BY c0) AS running FROM t0) SELECT * FROM cte;
|
||||
PRAGMA trusted_schema;
|
||||
CREATE TEMP VIEW IF NOT EXISTS v_t0_3032 AS SELECT c0 FROM t0;
|
||||
SELECT LEAD(c0, 2) OVER (ORDER BY c0) FROM t0;
|
||||
DROP TABLE IF EXISTS t0;
|
||||
WITH a AS (SELECT * FROM t0), b AS (SELECT * FROM t0) SELECT * FROM a UNION ALL SELECT * FROM b;
|
||||
SELECT COUNT(*) FROM t0;
|
||||
SELECT * FROM t0 AS a JOIN t0 AS b ON a.rowid = b.rowid;
|
||||
ALTER TABLE t0 RENAME TO t0_r7864;
|
||||
DETACH DATABASE aux98;
|
||||
ROLLBACK TRANSACTION TO SAVEPOINT sp8755;
|
||||
RELEASE SAVEPOINT sp8755;
|
||||
ALTER TABLE t0 ADD COLUMN extra_4590 CHARACTER(20) COLLATE RTRIM;
|
||||
SAVEPOINT sp8755;
|
||||
ATTACH DATABASE ':memory:' AS aux98;
|
||||
CREATE TABLE T (
|
||||
a TEXT,
|
||||
b INTEGER,
|
||||
c REAL
|
||||
);
|
||||
INSERT INTO T VALUES ('a',1,2.0), ('a',2,-3.0), ('b',1,4.5);
|
||||
SELECT a,b,c,
|
||||
SUM(c) OVER (
|
||||
PARTITION BY a
|
||||
ORDER BY b
|
||||
) AS d
|
||||
FROM T;
|
||||
ATTACH DATABASE ':memory:' AS aux57;
|
||||
.import corrupt001.db main
|
||||
BEGIN DEFERRED TRANSACTION;
|
||||
CREATE TABLE t0(c0);
|
||||
INSERT INTO t0(c0) VALUES (NULL);
|
||||
CREATE INDEX i0 ON t0(-(-(json_extract((like('1%', 1, '\\') + 0), '$.key')))) WHERE c0 NOT NULL;
|
||||
SELECT 1 FROM t0 WHERE (t0.c0 IS FALSE) IS FALSE;
|
||||
SELECT 1 FROM t0 WHERE (t0.c0 IS FALSE) BETWEEN FALSE OR TRUE;
|
||||
UPDATE t0 SET c0 = 'x' WHERE c0 BETWEEN 0 AND 100 RETURNING *;
|
||||
ANALYZE t0;
|
||||
SELECT * FROM t0 WHERE c0 IN (SELECT c0 FROM t0 ORDER BY c0 LIMIT 1 OFFSET 1000);
|
||||
END;
|
||||
ANALYZE;
|
||||
SELECT * FROM t0 AS a INNER JOIN t0 AS b ON a.rowid = b.rowid;
|
||||
SELECT * FROM t0;
|
||||
CREATE TEMP VIEW IF NOT EXISTS v_t0_2416 AS SELECT c0 FROM t0;
|
||||
SELECT COUNT(*) FROM t0;
|
||||
DETACH DATABASE aux57;
|
||||
VACUUM main;
|
||||
WITH cte AS (SELECT c0, SUM(c0) OVER (ORDER BY c0) AS running FROM t0) SELECT * FROM cte;
|
||||
PRAGMA trusted_schema;
|
||||
CREATE TEMP VIEW IF NOT EXISTS v_t0_3032 AS SELECT c0 FROM t0;
|
||||
SELECT LEAD(c0, 2) OVER (ORDER BY c0) FROM t0;
|
||||
DROP TABLE IF EXISTS t0;
|
||||
WITH a AS (SELECT * FROM t0), b AS (SELECT * FROM t0) SELECT * FROM a UNION ALL SELECT * FROM b;
|
||||
SELECT COUNT(*) FROM t0;
|
||||
SELECT * FROM t0 AS a JOIN t0 AS b ON a.rowid = b.rowid;
|
||||
ALTER TABLE t0 RENAME TO t0_r7864;
|
||||
DETACH DATABASE aux98;
|
||||
ROLLBACK TRANSACTION TO SAVEPOINT sp8755;
|
||||
RELEASE SAVEPOINT sp8755;
|
||||
ALTER TABLE t0 ADD COLUMN extra_4590 CHARACTER(20) COLLATE RTRIM;
|
||||
SAVEPOINT sp8755;
|
||||
ATTACH DATABASE ':memory:' AS aux98;
|
||||
ATTACH DATABASE ':memory:' AS aux57;
|
||||
.import corrupt001.db main
|
||||
BEGIN DEFERRED TRANSACTION;
|
||||
CREATE TABLE t0(c0);
|
||||
INSERT INTO t0(c0) VALUES (NULL);
|
||||
CREATE INDEX i0 ON t0(-(-(json_extract((like('1%', 1, '\\') + 0), '$.key')))) WHERE c0 NOT NULL;
|
||||
SELECT 1 FROM t0 WHERE (t0.c0 IS FALSE) IS FALSE;
|
||||
SELECT 1 FROM t0 WHERE (t0.c0 IS FALSE) BETWEEN FALSE OR TRUE;
|
||||
UPDATE t0 SET c0 = 'x' WHERE c0 BETWEEN 0 AND 100 RETURNING *;
|
||||
ANALYZE t0;
|
||||
SELECT * FROM t0 WHERE c0 IN (SELECT c0 FROM t0 ORDER BY c0 LIMIT 1 OFFSET 1000);
|
||||
END;
|
||||
ANALYZE;
|
||||
SELECT * FROM t0 AS a INNER JOIN t0 AS b ON a.rowid = b.rowid;
|
||||
SELECT * FROM t0;
|
||||
CREATE TEMP VIEW IF NOT EXISTS v_t0_2416 AS SELECT c0 FROM t0;
|
||||
SELECT COUNT(*) FROM t0;
|
||||
DETACH DATABASE aux57;
|
||||
VACUUM main;
|
||||
WITH cte AS (SELECT c0, SUM(c0) OVER (ORDER BY c0) AS running FROM t0) SELECT * FROM cte;
|
||||
PRAGMA trusted_schema;
|
||||
CREATE TEMP VIEW IF NOT EXISTS v_t0_3032 AS SELECT c0 FROM t0;
|
||||
SELECT LEAD(c0, 2) OVER (ORDER BY c0) FROM t0;
|
||||
DROP TABLE IF EXISTS t0;
|
||||
WITH a AS (SELECT * FROM t0), b AS (SELECT * FROM t0) SELECT * FROM a UNION ALL SELECT * FROM b;
|
||||
SELECT COUNT(*) FROM t0;
|
||||
SELECT * FROM t0 AS a JOIN t0 AS b ON a.rowid = b.rowid;
|
||||
ALTER TABLE t0 RENAME TO t0_r7864;
|
||||
DETACH DATABASE aux98;
|
||||
ROLLBACK TRANSACTION TO SAVEPOINT sp8755;
|
||||
RELEASE SAVEPOINT sp8755;
|
||||
ALTER TABLE t0 ADD COLUMN extra_4590 CHARACTER(20) COLLATE RTRIM;
|
||||
INSERT INTO t0 VALUES (NULL) ON CONFLICT(c0) DO UPDATE SET c0 = excluded.c0;
|
||||
ALTER TABLE t0 RENAME COLUMN c0 TO c0_r3992;
|
||||
RELEASE sp9856;
|
||||
ALTER TABLE t0 ADD COLUMN extra_4953 ANY UNIQUE;
|
||||
ALTER TABLE t0 DROP COLUMN c0;
|
||||
DETACH DATABASE aux69;
|
||||
WITH cte AS (SELECT NULL AS x) SELECT COALESCE(x, 0) FROM cte;
|
||||
DELETE FROM t0 WHERE 0 RETURNING *;
|
||||
SELECT * FROM t0 WHERE c0 IN (SELECT c0 FROM t0 WHERE ROW_NUMBER() OVER (ORDER BY c0) = 1);
|
||||
INSERT OR FAIL INTO t0 VALUES (0);
|
||||
INSERT INTO t0 DEFAULT VALUES;
|
||||
DETACH DATABASE aux37;
|
||||
ALTER TABLE t1 RENAME TO t1_r9055;
|
||||
DELETE FROM t0 WHERE 1;
|
||||
ALTER TABLE t1 RENAME COLUMN b TO b_r879;
|
||||
VACUUM;
|
||||
PRAGMA full_column_names = FALSE;
|
||||
CREATE INDEX IF NOT EXISTS idx_t0_8212 ON t0(c0);
|
||||
CREATE TEMPORARY VIEW IF NOT EXISTS v_t0_856 AS SELECT c0 FROM t0;
|
||||
SELECT MAX(b) FROM t1;
|
||||
ALTER TABLE t0 RENAME TO t0_r2529;
|
||||
SELECT * FROM t1;
|
||||
SELECT * FROM t0 CROSS JOIN t1;
|
||||
REINDEX;
|
||||
SELECT COUNT(*) FROM t1;
|
||||
SELECT * FROM t0 WHERE c0 NOT IN (SELECT c0 FROM t0 WHERE c0 IS NULL);
|
||||
INSERT INTO t0 SELECT * FROM t0;
|
||||
DELETE FROM t0 WHERE 0;
|
||||
ROLLBACK TO sp374;
|
||||
RELEASE sp374;
|
||||
PRAGMA vdbe_addoptrace = ON;
|
||||
INSERT INTO t1 VALUES (NULL, 1, 1, 'x') ON CONFLICT(a) DO UPDATE SET a = excluded.a, b = excluded.b, c = excluded.c;
|
||||
ANALYZE;
|
||||
UPDATE t1 SET a = json_object('k', a) WHERE a IS NOT NULL;
|
||||
END TRANSACTION;
|
||||
INSERT INTO t1 DEFAULT VALUES;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_t1_8796 BEFORE UPDATE ON t1 FOR EACH ROW BEGIN SELECT RAISE(ROLLBACK, 'rb'); END;
|
||||
INSERT INTO T SELECT * FROM T;
|
||||
SELECT TOTAL(b) FROM T;
|
||||
INSERT OR ABORT INTO T VALUES ('', 0, '');
|
||||
UPDATE t1 SET a = 'x' WHERE a IS NOT NULL;
|
||||
DROP TRIGGER IF EXISTS t1;
|
||||
SELECT COUNT(*) FILTER (WHERE b IS NOT NULL), SUM(rowid) FILTER (WHERE b > 0), COUNT(*) FILTER (WHERE 1=0), COUNT(*) FILTER (WHERE 1=1), COUNT(*) FILTER (WHERE NULL), AVG(b) FILTER (WHERE b > 0 AND b < 100), COUNT(*) FILTER (WHERE typeof(b) = "text") FROM T;
|
||||
SELECT * FROM T;
|
||||
INSERT INTO t1 DEFAULT VALUES;
|
||||
INSERT INTO t1 VALUES ('x', 1, 'x', 1) ON CONFLICT(a) DO UPDATE SET a = excluded.a, b = excluded.b, c = excluded.c;
|
||||
INSERT OR IGNORE INTO T VALUES (5, 7, 7);
|
||||
CREATE TEMPORARY VIEW IF NOT EXISTS v_t0_1374 AS SELECT c0 FROM t0;
|
||||
DELETE FROM t1 WHERE c > (SELECT AVG(c) FROM t1) RETURNING *;
|
||||
WITH RECURSIVE cnt(x) AS (VALUES(1) UNION ALL SELECT x+1 FROM cnt WHERE x<0) SELECT * FROM cnt;
|
||||
INSERT INTO t0 SELECT * FROM t0;
|
||||
CREATE INDEX IF NOT EXISTS idx_T_8281 ON T(b COLLATE NOCASE) WHERE b > 0;
|
||||
ALTER TABLE t1 RENAME TO t1_r1412;
|
||||
VACUUM main;
|
||||
REINDEX;
|
||||
ALTER TABLE t0 DROP COLUMN c0;
|
||||
INSERT OR ROLLBACK INTO t1 VALUES (NULL, '', 0, NULL);
|
||||
SELECT * FROM T;
|
||||
ALTER TABLE t1 ADD COLUMN extra_8623 CHARINT COLLATE NOCASE;
|
||||
SELECT b, (SELECT AVG(b) FROM T) AS avg_val FROM T;
|
||||
```
|
||||
|
||||
## Actual output
|
||||
|
||||
```sql
|
||||
CREATE TABLE "t2"("b","c","_ROWID_",PRIMARY KEY("b","c","_ROWID_"))WITHOUT ROWID;
|
||||
WARNING: writing to an imposter table will corrupt the "t1bc" index!
|
||||
Braun|30|2
|
||||
von|20|1
|
||||
Braun|30
|
||||
von|20
|
||||
```
|
||||
|
||||
## Expectation
|
||||
|
||||
```sql
|
||||
|
||||
```
|
||||
|
||||
## Flag
|
||||
|
||||
```
|
||||
|
||||
```
|
||||
|
||||
@@ -0,0 +1,98 @@
|
||||
## 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 wal_checkpoint('PASSIVE');
|
||||
.prompt 'IPA eli isopropanoli on loistava puhdistusaine joka irrataa'
|
||||
.width -(-((x'ff77' + jsonb_array(1)))) 2 3
|
||||
CREATE TABLE t1(a INTEGER PRIMARY KEY, b TEXT, c INT, d INT);
|
||||
-- PRAGMA empty_result_callbacks;
|
||||
|
||||
INSERT INTO t1 VALUES (CAST(nullif(1, NULL) AS CHAR(10)), '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
|
||||
.dump
|
||||
CREATE TABLE T (
|
||||
a INTEGER,
|
||||
b REAL
|
||||
);
|
||||
INSERT INTO T VALUES (cosh(1),1.5), (2,-2.5), (3,0.0);
|
||||
CREATE INDEX c
|
||||
ON T(b);
|
||||
SELECT * FROM T WHERE NOT NOT (NOT NOT (NOT b >= -2.5 AND b < 2.0)) ;
|
||||
REINDEX T;
|
||||
UPDATE T SET b = CURRENT_TIMESTAMP WHERE 1 RETURNING *;
|
||||
INSERT INTO T SELECT * FROM T;
|
||||
SELECT * FROM T WHERE EXISTS (SELECT 1 FROM T WHERE +a > 0);
|
||||
CREATE TABLE T (
|
||||
A VARCHAR(10) PRIMARY KEY,
|
||||
B VARCHAR(15),
|
||||
C BIGINT,
|
||||
UNIQUE (B, C)
|
||||
);
|
||||
INSERT INTO T VALUES ('a', 'p', -9223372036854775808);
|
||||
INSERT INTO T VALUES ('b', 'q', 4000);
|
||||
INSERT INTO T VALUES ('c', 'r', 1700);
|
||||
INSERT INTO T VALUES ('d', 'r', 9223372036854775807);
|
||||
INSERT INTO T VALUES ('e', 's', 0);
|
||||
SELECT A, C FROM T WHERE +C > 1200 AND C < 9999999999 ORDER BY C;
|
||||
WITH m AS MATERIALIZED (SELECT * FROM T) SELECT m.a FROM m JOIN m AS m2 ON m.a = m2.a;
|
||||
ALTER TABLE T ADD COLUMN extra_7396 FLOA COLLATE NOCASE;
|
||||
ALTER TABLE T ADD COLUMN extra_5763 BIGINT DEFAULT NULL;
|
||||
SELECT * FROM T WHERE a IN (SELECT DISTINCT a FROM T);
|
||||
DELETE FROM T WHERE +rowid = 52;
|
||||
DELETE FROM T WHERE 1;
|
||||
SELECT STRING_AGG(b) FROM T;
|
||||
CREATE UNIQUE INDEX IF NOT EXISTS idx_T_150 ON T((a + 1));
|
||||
ALTER TABLE T RENAME COLUMN B TO B_r1410;
|
||||
ALTER TABLE t1 DROP COLUMN a;
|
||||
INSERT INTO t1 VALUES (NULL, NULL, NULL, NULL);
|
||||
ALTER TABLE t1 DROP COLUMN d;
|
||||
VACUUM;
|
||||
INSERT INTO T SELECT * FROM T;
|
||||
CREATE UNIQUE INDEX IF NOT EXISTS idx_T_2079 ON T(C COLLATE NOCASE) WHERE C IS NOT NULL;
|
||||
INSERT INTO T VALUES (1, 1, 'x') ON CONFLICT(A) DO UPDATE SET A = excluded.A, B = excluded.B, C = excluded.C;
|
||||
```
|
||||
|
||||
## Actual output
|
||||
|
||||
```sql
|
||||
0|-1|-1
|
||||
CREATE TABLE "t2"("b","c","_ROWID_",PRIMARY KEY("b","c","_ROWID_"))WITHOUT ROWID;
|
||||
WARNING: writing to an imposter table will corrupt the "t1bc" index!
|
||||
Braun|30|3
|
||||
Wernher|10|1
|
||||
von|20|2
|
||||
Braun|30
|
||||
Wernher|10
|
||||
von|20
|
||||
```
|
||||
|
||||
## Expectation
|
||||
|
||||
```sql
|
||||
0|-1|-1
|
||||
CREATE TABLE "t2"("b","c","_ROWID_",PRIMARY KEY("b","c","_ROWID_"))WITHOUT ROWID;
|
||||
Braun|30|3
|
||||
Wernher|10|1
|
||||
von|20|2
|
||||
Braun|30
|
||||
Wernher|10
|
||||
von|20
|
||||
```
|
||||
|
||||
## Flag
|
||||
|
||||
```
|
||||
|
||||
```
|
||||
|
||||
@@ -0,0 +1,98 @@
|
||||
## 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 IMMEDIATE TRANSACTION;
|
||||
.tables non_existent_table
|
||||
CREATE TABLE T (
|
||||
a INTEGER,
|
||||
b TEXT,
|
||||
c INTEGER
|
||||
);
|
||||
INSERT INTO T VALUES ((0 + 1),'a',NULL), (2,'b',1), (3,'c',2);
|
||||
WITH RECURSIVE d(a,b,c,e) AS (
|
||||
SELECT *,1 FROM T WHERE c IS NULL
|
||||
UNION ALL
|
||||
SELECT T.a,T.b,T.c,d.e+1
|
||||
FROM T JOIN d ON T.c=d.a
|
||||
)
|
||||
SELECT * FROM d;
|
||||
PRAGMA cache_spill = 0;
|
||||
CREATE TABLE main.artists (id integer NOT NULL PRIMARY KEY AUTOINCREMENT, name varchar(255));
|
||||
CREATE TABLE albums ( id integer NOT NULL PRIMARY KEY AUTOINCREMENT, name varchar(255), artist_id integer REFERENCES artists);
|
||||
INSERT INTO artists (name) VALUES ('Ar');
|
||||
INSERT INTO albums (name, artist_id) VALUES ('Al', 1);
|
||||
SELECT artists.* FROM artists INNER JOIN artists AS b ON (b.id = artists.id) WHERE (artists.id IN ( SELECT albums.artist_id FROM albums WHERE ((name = 'Al') AND (albums.artist_id IS NOT NULL) AND (albums.id IN ( SELECT id FROM ( SELECT albums.id, row_number() OVER (PARTITION BY /**/ albums.artist_id ORDER BY name) AS x FROM albums WHERE (name = 'Al') ) AS t1 WHERE (x = 1) )) AND (albums.id IN (1, 2))) ));
|
||||
|
||||
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
|
||||
ANALYZE;
|
||||
REINDEX albums;
|
||||
REINDEX artists;
|
||||
SELECT AVG(id) FROM artists;
|
||||
ALTER TABLE t1 DROP COLUMN c;
|
||||
DELETE FROM t1 WHERE 0 RETURNING *;
|
||||
SELECT AVG(b) FROM t1;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_T_5677 BEFORE UPDATE ON T FOR EACH ROW BEGIN SELECT RAISE(IGNORE); END;
|
||||
WITH cte AS (SELECT a, COUNT(*) AS cnt FROM t1 GROUP BY a) SELECT * FROM cte WHERE cnt > 1;
|
||||
INSERT INTO t1 SELECT * FROM t1;
|
||||
UPDATE albums SET artist_id = artist_id + 1 WHERE artist_id IS NOT NULL RETURNING *;
|
||||
END;
|
||||
SELECT DENSE_RANK() OVER (PARTITION BY a ORDER BY a RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING EXCLUDE NO OTHERS) FROM t1;
|
||||
```
|
||||
|
||||
## Actual output
|
||||
|
||||
```sql
|
||||
1|a||1
|
||||
2|b|1|2
|
||||
3|c|2|3
|
||||
1|Ar
|
||||
CREATE TABLE "t2"("b","c","_ROWID_",PRIMARY KEY("b","c","_ROWID_"))WITHOUT ROWID;
|
||||
WARNING: writing to an imposter table will corrupt the "t1bc" index!
|
||||
Braun|30|3
|
||||
Wernher|10|1
|
||||
von|20|2
|
||||
Braun|30
|
||||
Wernher|10
|
||||
von|20
|
||||
```
|
||||
|
||||
## Expectation
|
||||
|
||||
```sql
|
||||
1|a||1
|
||||
2|b|1|2
|
||||
3|c|2|3
|
||||
1|Ar
|
||||
CREATE TABLE "t2"("b","c","_ROWID_",PRIMARY KEY("b","c","_ROWID_"))WITHOUT ROWID;
|
||||
Braun|30|3
|
||||
Wernher|10|1
|
||||
von|20|2
|
||||
Braun|30
|
||||
Wernher|10
|
||||
von|20
|
||||
```
|
||||
|
||||
## Flag
|
||||
|
||||
```
|
||||
|
||||
```
|
||||
|
||||
@@ -0,0 +1,379 @@
|
||||
## 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
|
||||
ATTACH DATABASE ':memory:' AS aux78;
|
||||
.limit
|
||||
CREATE TABLE T1 (
|
||||
a INTEGER,
|
||||
b REAL
|
||||
);
|
||||
CREATE TABLE T2 (
|
||||
a INTEGER,
|
||||
b REAL
|
||||
);
|
||||
INSERT INTO T1 VALUES (ifnull(timediff(concat_ws(',', CAST(upper(-(-(-6.283185307179586))) AS INT2), 2, 3), 1), 2),1.0);
|
||||
INSERT INTO T2 VALUES (1,-1.0),(2,9e999);
|
||||
INSERT OR REPLACE INTO T1
|
||||
SELECT * FROM T2;
|
||||
SELECT * FROM T1;
|
||||
PRAGMA writable_schema = YES;
|
||||
SAVEPOINT sp6649;
|
||||
ATTACH DATABASE ':memory:' AS aux69;
|
||||
.quit
|
||||
.trace
|
||||
CREATE TABLE main.T (
|
||||
a DOUBLE,
|
||||
b TEXT,
|
||||
c REAL
|
||||
);
|
||||
INSERT INTO T VALUES (CAST(json_array_length(if(CAST(-(-(length(randomblob(CAST(mod(1.7976931348623157e+308, 1465368752231950166) AS INTEGER))))) AS TINYINT), 1, 0, 1, 0, 1), '$') AS NUMERIC),'a',3.14), (1,'b',-7.75), (2,'c',-9e999);
|
||||
WITH _m AS MATERIALIZED (SELECT * FROM t1) SELECT b,a,c,
|
||||
RANK() OVER (PARTITION BY a ORDER BY c DESC) AS d FROM T;
|
||||
ATTACH DATABASE ':memory:' AS aux86;
|
||||
PRAGMA full_column_names = YES;
|
||||
DROP TABLE IF EXISTS _m;
|
||||
CREATE TABLE t1 (c0, c1 REAL PRIMARY KEY);
|
||||
INSERT INTO t1(c0, c1) VALUES ('{', -(-(1))), (0, 0);
|
||||
UPDATE t1 SET c0 = NULL;
|
||||
UPDATE OR REPLACE t1 SET c1 = 1;
|
||||
SELECT DISTINCT * FROM t1 WHERE NOT NOT (NOT NOT (t1.c0 IS NULL)) ;
|
||||
PRAGMA integrity_check;
|
||||
SELECT COUNT(*) FROM t1;
|
||||
SELECT * FROM t1;
|
||||
DETACH DATABASE aux86;
|
||||
REINDEX;
|
||||
ALTER TABLE T ADD COLUMN extra_5481 BLOB NOT NULL DEFAULT 0;
|
||||
SELECT COUNT(*) FROM T;
|
||||
CREATE TABLE T1 (
|
||||
A VARCHAR(15) PRIMARY KEY,
|
||||
B VARCHAR(30) NOT NULL UNIQUE
|
||||
);
|
||||
CREATE TABLE T2 (
|
||||
A VARCHAR(10) PRIMARY KEY,
|
||||
X VARCHAR(15) NOT NULL,
|
||||
C BIGINT,
|
||||
FOREIGN KEY (X) REFERENCES T1(A)
|
||||
);
|
||||
INSERT INTO T1 VALUES ('p', 'x');
|
||||
INSERT INTO T1 VALUES ('q', 'y');
|
||||
INSERT INTO T2 VALUES ('a', 'p', 9223372036854775807);
|
||||
INSERT INTO T2 VALUES ('b', 'q', -9223372036854775808);
|
||||
SELECT X, SUM(C) AS D, COUNT(*) AS E FROM T2 GROUP BY X;
|
||||
SELECT LAG(c0, 2, 'default') OVER (PARTITION BY c0 ORDER BY c0 ROWS BETWEEN 2 PRECEDING AND 2 FOLLOWING EXCLUDE CURRENT ROW) FROM t1;
|
||||
SELECT * FROM t1;
|
||||
CREATE VIEW IF NOT EXISTS v_t1_6883 AS SELECT c1 FROM t1;
|
||||
ALTER TABLE t1 ADD COLUMN extra_3184 INT2 COLLATE NOCASE;
|
||||
SELECT * FROM t1;
|
||||
REINDEX;
|
||||
SELECT c, COUNT(*) FROM T GROUP BY c HAVING COUNT(*) = (SELECT COUNT(*) FROM T);
|
||||
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;
|
||||
PRAGMA temp_store = 'MEMORY';
|
||||
VACUUM main;
|
||||
SELECT * FROM T1 WHERE EXISTS (SELECT 1 FROM T1 WHERE 1 = 0);
|
||||
SELECT * FROM T1 WHERE A <> ANY (SELECT A FROM T1);
|
||||
CREATE TEMPORARY VIEW IF NOT EXISTS v_t1_5592 AS SELECT c0 FROM t1;
|
||||
REINDEX T2;
|
||||
UPDATE T SET b = json_object('k', b);
|
||||
DETACH DATABASE aux69;
|
||||
DROP INDEX IF EXISTS T1;
|
||||
SELECT STRING_AGG(C) FROM T2;
|
||||
ROLLBACK TO sp6649;
|
||||
RELEASE sp6649;
|
||||
INSERT OR ABORT INTO T2 VALUES ('x', -9, -9);
|
||||
SELECT COUNT(*) FILTER (WHERE c1 IS NOT NULL), SUM(rowid) FILTER (WHERE c1 > 0), COUNT(*) FILTER (WHERE 1=0), COUNT(*) FILTER (WHERE 1=1), COUNT(*) FILTER (WHERE NULL), AVG(c1) FILTER (WHERE c1 > 0 AND c1 < 100), COUNT(*) FILTER (WHERE typeof(c1) = "text") FROM t1;
|
||||
ALTER TABLE T RENAME COLUMN b TO b_r9085;
|
||||
INSERT INTO t1 DEFAULT VALUES;
|
||||
SELECT GROUP_CONCAT(A, '|') FROM T2;
|
||||
INSERT OR ROLLBACK INTO T1 VALUES (6, '');
|
||||
WITH RECURSIVE tree(id, path) AS (VALUES(1, "/1") UNION ALL SELECT id+1, path || "/" || (id+1) FROM tree WHERE id<14) SELECT * FROM tree;
|
||||
CREATE VIEW IF NOT EXISTS v_T1_7673 AS SELECT B FROM T1;
|
||||
SELECT COUNT(*) FILTER (WHERE B IS NOT NULL), SUM(rowid) FILTER (WHERE B > 0), COUNT(*) FILTER (WHERE 1=0), COUNT(*) FILTER (WHERE 1=1), COUNT(*) FILTER (WHERE NULL), AVG(B) FILTER (WHERE B > 0 AND B < 100), COUNT(*) FILTER (WHERE typeof(B) = "text") FROM T1;
|
||||
CREATE TABLE T1 (
|
||||
a INTEGER,
|
||||
b REAL
|
||||
);
|
||||
CREATE TABLE T2 (
|
||||
a INTEGER,
|
||||
b REAL
|
||||
);
|
||||
INSERT INTO T1 VALUES (1,1.0);
|
||||
INSERT INTO T2 VALUES (1,-1.0),(2,9e999);
|
||||
INSERT OR REPLACE INTO T1
|
||||
SELECT * FROM T2;
|
||||
SELECT * FROM T1;
|
||||
SELECT COUNT(c) FROM T;
|
||||
UPDATE T SET a = a + 1 WHERE 1;
|
||||
ALTER TABLE T ADD COLUMN extra_6983 DATETIME DEFAULT CURRENT_TIMESTAMP;
|
||||
INSERT INTO T2 VALUES (NULL, NULL);
|
||||
.limit
|
||||
CREATE TABLE T1 (
|
||||
a INTEGER,
|
||||
b REAL
|
||||
);
|
||||
CREATE TABLE T2 (
|
||||
a INTEGER,
|
||||
b REAL
|
||||
);
|
||||
INSERT INTO T1 VALUES (ifnull(timediff(concat_ws(',', CAST(upper(1) AS INT2), 2, 3), 1), 2),1.0);
|
||||
INSERT INTO T2 VALUES (1,-1.0),(2,9e999);
|
||||
INSERT OR REPLACE INTO T1
|
||||
SELECT * FROM T2;
|
||||
SELECT * FROM T1;
|
||||
PRAGMA writable_schema = YES;
|
||||
SAVEPOINT sp6649;
|
||||
ATTACH DATABASE ':memory:' AS aux69;
|
||||
.quit
|
||||
.trace
|
||||
CREATE TABLE T (
|
||||
a DOUBLE,
|
||||
b TEXT,
|
||||
c REAL
|
||||
);
|
||||
INSERT INTO T VALUES (CAST(json_array_length(if(CAST(-(-(length(randomblob(CAST(mod(1.7976931348623157e+308, 1465368752231950166) AS INTEGER))))) AS TINYINT), 1, 0, 1, 0, 1), '$') AS NUMERIC),'a',3.14), (1,'b',-7.75), (2,'c',-9e999);
|
||||
WITH _m AS MATERIALIZED (SELECT * FROM t1) SELECT b,a,c,
|
||||
RANK() OVER (PARTITION BY a ORDER BY c DESC) AS d FROM T;
|
||||
ATTACH DATABASE ':memory:' AS aux86;
|
||||
PRAGMA full_column_names = YES;
|
||||
DROP TABLE IF EXISTS _m;
|
||||
CREATE TABLE t1 (c0, c1 REAL PRIMARY KEY);
|
||||
INSERT INTO t1(c0, c1) VALUES ('{', -(-(1))), (0, 0);
|
||||
UPDATE t1 SET c0 = NULL;
|
||||
UPDATE OR REPLACE t1 SET c1 = 1;
|
||||
SELECT DISTINCT * FROM t1 WHERE NOT NOT (t1.c0 IS NULL);
|
||||
PRAGMA integrity_check;
|
||||
SELECT COUNT(*) FROM t1;
|
||||
SELECT * FROM t1;
|
||||
DETACH DATABASE aux86;
|
||||
REINDEX;
|
||||
ALTER TABLE T ADD COLUMN extra_5481 BLOB NOT NULL DEFAULT 0;
|
||||
SELECT COUNT(*) FROM T;
|
||||
CREATE TABLE T1 (
|
||||
A VARCHAR(15) PRIMARY KEY,
|
||||
B VARCHAR(30) NOT NULL UNIQUE
|
||||
);
|
||||
CREATE TABLE T2 (
|
||||
A VARCHAR(10) PRIMARY KEY,
|
||||
X VARCHAR(15) NOT NULL,
|
||||
C BIGINT,
|
||||
FOREIGN KEY (X) REFERENCES T1(A)
|
||||
);
|
||||
INSERT INTO T1 VALUES ('p', 'x');
|
||||
INSERT INTO T1 VALUES ('q', 'y');
|
||||
INSERT INTO T2 VALUES ('a', 'p', 9223372036854775807);
|
||||
INSERT INTO T2 VALUES ('b', 'q', -9223372036854775808);
|
||||
SELECT X, SUM(C) AS D, COUNT(*) AS E FROM T2 GROUP BY X;
|
||||
SELECT LAG(c0, 2, 'default') OVER (PARTITION BY c0 ORDER BY c0 ROWS BETWEEN 2 PRECEDING AND 2 FOLLOWING EXCLUDE CURRENT ROW) FROM t1;
|
||||
SELECT * FROM t1;
|
||||
CREATE VIEW IF NOT EXISTS v_t1_6883 AS SELECT c1 FROM t1;
|
||||
ALTER TABLE t1 ADD COLUMN extra_3184 INT2 COLLATE NOCASE;
|
||||
SELECT * FROM t1;
|
||||
REINDEX;
|
||||
SELECT c, COUNT(*) FROM T GROUP BY c HAVING COUNT(*) = (SELECT COUNT(*) FROM T);
|
||||
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;
|
||||
PRAGMA temp_store = 'MEMORY';
|
||||
VACUUM main;
|
||||
SELECT * FROM T1 WHERE EXISTS (SELECT 1 FROM T1 WHERE 1 = 0);
|
||||
SELECT * FROM T1 WHERE A <> ANY (SELECT A FROM T1);
|
||||
CREATE TEMPORARY VIEW IF NOT EXISTS v_t1_5592 AS SELECT c0 FROM t1;
|
||||
REINDEX T2;
|
||||
UPDATE T SET b = json_object('k', b);
|
||||
DETACH DATABASE aux69;
|
||||
DROP INDEX IF EXISTS T1;
|
||||
SELECT STRING_AGG(C) FROM T2;
|
||||
ROLLBACK TO sp6649;
|
||||
RELEASE sp6649;
|
||||
INSERT OR ABORT INTO T2 VALUES ('x', -9, -9);
|
||||
SELECT COUNT(*) FILTER (WHERE c1 IS NOT NULL), SUM(rowid) FILTER (WHERE c1 > 0), COUNT(*) FILTER (WHERE 1=0), COUNT(*) FILTER (WHERE 1=1), COUNT(*) FILTER (WHERE NULL), AVG(c1) FILTER (WHERE c1 > 0 AND c1 < 100), COUNT(*) FILTER (WHERE typeof(c1) = "text") FROM t1;
|
||||
ALTER TABLE T RENAME COLUMN b TO b_r9085;
|
||||
INSERT INTO t1 DEFAULT VALUES;
|
||||
SELECT GROUP_CONCAT(A, '|') FROM T2;
|
||||
INSERT OR ROLLBACK INTO T1 VALUES (6, '');
|
||||
WITH RECURSIVE tree(id, path) AS (VALUES(1, "/1") UNION ALL SELECT id+1, path || "/" || (id+1) FROM tree WHERE id<14) SELECT * FROM tree;
|
||||
CREATE VIEW IF NOT EXISTS v_T1_7673 AS SELECT B FROM T1;
|
||||
SELECT COUNT(*) FILTER (WHERE B IS NOT NULL), SUM(rowid) FILTER (WHERE B > 0), COUNT(*) FILTER (WHERE 1=0), COUNT(*) FILTER (WHERE 1=1), COUNT(*) FILTER (WHERE NULL), AVG(B) FILTER (WHERE B > 0 AND B < 100), COUNT(*) FILTER (WHERE typeof(B) = "text") FROM T1;
|
||||
CREATE TABLE T1 (
|
||||
a INTEGER,
|
||||
b REAL
|
||||
);
|
||||
CREATE TABLE T2 (
|
||||
a INTEGER,
|
||||
b REAL
|
||||
);
|
||||
INSERT INTO T1 VALUES (1,1.0);
|
||||
INSERT INTO T2 VALUES (1,-1.0),(2,9e999);
|
||||
INSERT OR REPLACE INTO T1
|
||||
SELECT * FROM T2;
|
||||
SELECT * FROM T1;
|
||||
SELECT COUNT(c) FROM T;
|
||||
UPDATE T SET a = a + 1 WHERE 1;
|
||||
ALTER TABLE T ADD COLUMN extra_6983 DATETIME DEFAULT CURRENT_TIMESTAMP;
|
||||
INSERT INTO T2 VALUES (NULL, NULL);
|
||||
.limit
|
||||
CREATE TABLE T1 (
|
||||
a INTEGER,
|
||||
b REAL
|
||||
);
|
||||
CREATE TABLE T2 (
|
||||
a INTEGER,
|
||||
b REAL
|
||||
);
|
||||
INSERT INTO T1 VALUES (ifnull(timediff(concat_ws(',', CAST(upper(1) AS INT2), 2, 3), 1), 2),1.0);
|
||||
INSERT INTO T2 VALUES (1,-1.0),(2,9e999);
|
||||
INSERT OR REPLACE INTO T1
|
||||
SELECT * FROM T2;
|
||||
SELECT * FROM T1;
|
||||
PRAGMA writable_schema = YES;
|
||||
SAVEPOINT sp6649;
|
||||
ATTACH DATABASE ':memory:' AS aux69;
|
||||
.quit
|
||||
.trace
|
||||
CREATE TABLE T (
|
||||
a DOUBLE,
|
||||
b TEXT,
|
||||
c REAL
|
||||
);
|
||||
INSERT INTO T VALUES (CAST(json_array_length(if(CAST(-(-(length(randomblob(CAST(mod(1.7976931348623157e+308, 1465368752231950166) AS INTEGER))))) AS TINYINT), 1, 0, 1, 0, 1), '$') AS NUMERIC),'a',3.14), (1,'b',-7.75), (2,'c',-9e999);
|
||||
WITH _m AS MATERIALIZED (SELECT * FROM t1) SELECT b,a,c,
|
||||
RANK() OVER (PARTITION BY a ORDER BY c DESC) AS d FROM T;
|
||||
ATTACH DATABASE ':memory:' AS aux86;
|
||||
PRAGMA full_column_names = YES;
|
||||
DROP TABLE IF EXISTS _m;
|
||||
CREATE TABLE t1 (c0, c1 REAL PRIMARY KEY);
|
||||
INSERT INTO t1(c0, c1) VALUES ('{', -(-(1))), (0, 0);
|
||||
UPDATE t1 SET c0 = NULL;
|
||||
UPDATE OR REPLACE t1 SET c1 = 1;
|
||||
SELECT DISTINCT * FROM t1 WHERE NOT NOT (t1.c0 IS NULL);
|
||||
PRAGMA integrity_check;
|
||||
SELECT COUNT(*) FROM t1;
|
||||
SELECT * FROM t1;
|
||||
DETACH DATABASE aux86;
|
||||
REINDEX;
|
||||
ALTER TABLE T ADD COLUMN extra_5481 BLOB NOT NULL DEFAULT 0;
|
||||
SELECT COUNT(*) FROM T;
|
||||
CREATE TABLE T1 (
|
||||
A VARCHAR(15) PRIMARY KEY,
|
||||
B VARCHAR(30) NOT NULL UNIQUE
|
||||
);
|
||||
CREATE TABLE T2 (
|
||||
A VARCHAR(10) PRIMARY KEY,
|
||||
X VARCHAR(15) NOT NULL,
|
||||
C BIGINT,
|
||||
FOREIGN KEY (X) REFERENCES T1(A)
|
||||
);
|
||||
INSERT INTO T1 VALUES ('p', 'x');
|
||||
INSERT INTO T1 VALUES ('q', 'y');
|
||||
INSERT INTO T2 VALUES ('a', 'p', 9223372036854775807);
|
||||
INSERT INTO T2 VALUES ('b', 'q', -9223372036854775808);
|
||||
SELECT X, SUM(C) AS D, COUNT(*) AS E FROM T2 GROUP BY X;
|
||||
SELECT LAG(c0, 2, 'default') OVER (PARTITION BY c0 ORDER BY c0 ROWS BETWEEN 2 PRECEDING AND 2 FOLLOWING EXCLUDE CURRENT ROW) FROM t1;
|
||||
SELECT * FROM t1;
|
||||
CREATE VIEW IF NOT EXISTS v_t1_6883 AS SELECT c1 FROM t1;
|
||||
ALTER TABLE t1 ADD COLUMN extra_3184 INT2 COLLATE NOCASE;
|
||||
SELECT * FROM t1;
|
||||
REINDEX;
|
||||
SELECT c, COUNT(*) FROM T GROUP BY c HAVING COUNT(*) = (SELECT COUNT(*) FROM T);
|
||||
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;
|
||||
PRAGMA temp_store = 'MEMORY';
|
||||
VACUUM main;
|
||||
SELECT * FROM T1 WHERE EXISTS (SELECT 1 FROM T1 WHERE 1 = 0);
|
||||
SELECT * FROM T1 WHERE A <> ANY (SELECT A FROM T1);
|
||||
CREATE TEMPORARY VIEW IF NOT EXISTS v_t1_5592 AS SELECT c0 FROM t1;
|
||||
REINDEX T2;
|
||||
UPDATE T SET b = json_object('k', b);
|
||||
DETACH DATABASE aux69;
|
||||
DROP INDEX IF EXISTS T1;
|
||||
SELECT STRING_AGG(C) FROM T2;
|
||||
ROLLBACK TO sp6649;
|
||||
RELEASE sp6649;
|
||||
INSERT OR ABORT INTO T2 VALUES ('x', -9, -9);
|
||||
SELECT COUNT(*) FILTER (WHERE c1 IS NOT NULL), SUM(rowid) FILTER (WHERE c1 > 0), COUNT(*) FILTER (WHERE 1=0), COUNT(*) FILTER (WHERE 1=1), COUNT(*) FILTER (WHERE NULL), AVG(c1) FILTER (WHERE c1 > 0 AND c1 < 100), COUNT(*) FILTER (WHERE typeof(c1) = "text") FROM t1;
|
||||
ALTER TABLE T RENAME COLUMN b TO b_r9085;
|
||||
INSERT INTO t1 DEFAULT VALUES;
|
||||
SELECT GROUP_CONCAT(A, '|') FROM T2;
|
||||
INSERT OR ROLLBACK INTO T1 VALUES (6, '');
|
||||
WITH RECURSIVE tree(id, path) AS (VALUES(1, "/1") UNION ALL SELECT id+1, path || "/" || (id+1) FROM tree WHERE id<14) SELECT * FROM tree;
|
||||
CREATE VIEW IF NOT EXISTS v_T1_7673 AS SELECT B FROM T1;
|
||||
SELECT COUNT(*) FILTER (WHERE B IS NOT NULL), SUM(rowid) FILTER (WHERE B > 0), COUNT(*) FILTER (WHERE 1=0), COUNT(*) FILTER (WHERE 1=1), COUNT(*) FILTER (WHERE NULL), AVG(B) FILTER (WHERE B > 0 AND B < 100), COUNT(*) FILTER (WHERE typeof(B) = "text") FROM T1;
|
||||
CREATE TABLE T1 (
|
||||
a INTEGER,
|
||||
b REAL
|
||||
);
|
||||
CREATE TABLE T2 (
|
||||
a INTEGER,
|
||||
b REAL
|
||||
);
|
||||
INSERT INTO T1 VALUES (1,1.0);
|
||||
INSERT INTO T2 VALUES (1,-1.0),(2,9e999);
|
||||
INSERT OR REPLACE INTO T1
|
||||
SELECT * FROM T2;
|
||||
SELECT * FROM T1;
|
||||
SELECT COUNT(c) FROM T;
|
||||
UPDATE T SET a = a + 1 WHERE 1;
|
||||
ALTER TABLE T ADD COLUMN extra_6983 DATETIME DEFAULT CURRENT_TIMESTAMP;
|
||||
INSERT INTO T2 VALUES (NULL, NULL);
|
||||
|
||||
VACUUM;
|
||||
CREATE VIEW IF NOT EXISTS v_T2_6393 AS SELECT a FROM T2;
|
||||
ALTER TABLE T1 RENAME COLUMN b TO b_r8651;
|
||||
SELECT LEAD(a) OVER (ORDER BY a) FROM T1;
|
||||
ALTER TABLE T DROP COLUMN a;
|
||||
SELECT * FROM T1 AS a INNER JOIN T1 AS b ON a.rowid = b.rowid;
|
||||
CREATE TABLE T1 (
|
||||
A VARCHAR(10) PRIMARY KEY,
|
||||
B VARCHAR(15) UNIQUE,
|
||||
C INTEGER
|
||||
);
|
||||
CREATE TABLE T2 (
|
||||
X VARCHAR(20) PRIMARY KEY,
|
||||
A VARCHAR(10) NOT NULL UNIQUE,
|
||||
FOREIGN KEY (A) REFERENCES T1(A)
|
||||
);
|
||||
INSERT INTO T1 VALUES ('a', 'p', -2147483648);
|
||||
INSERT INTO T1 VALUES ('b', 'q', 2147483647);
|
||||
INSERT INTO T2 VALUES ('m', 'a');
|
||||
INSERT INTO T2 VALUES ('n', 'b');
|
||||
SELECT T2.X, T1.B, T1.C FROM T2, T1 WHERE T2.A = T1.A AND T1.C >= 0;
|
||||
SELECT * FROM t1 WHERE c1 IN (SELECT c1 FROM t1 t2 WHERE t2.c1 = t1.c1);
|
||||
SELECT * FROM T2 AS a INNER JOIN T AS b ON a.rowid = b.rowid;
|
||||
DETACH DATABASE aux78;
|
||||
SELECT COUNT(*) FILTER (WHERE c1 IS NOT NULL), SUM(rowid) FILTER (WHERE c1 > 0), COUNT(*) FILTER (WHERE 1=0), COUNT(*) FILTER (WHERE 1=1), COUNT(*) FILTER (WHERE NULL), AVG(c1) FILTER (WHERE c1 > 0 AND c1 < 100), COUNT(*) FILTER (WHERE typeof(c1) = "text") FROM t1;
|
||||
UPDATE T2 SET A = 'x';
|
||||
PRAGMA cache_spill = NO;
|
||||
INSERT INTO T2 SELECT * FROM T2;
|
||||
VACUUM main;
|
||||
```
|
||||
|
||||
## Actual output
|
||||
|
||||
```sql
|
||||
length 1000000000
|
||||
sql_length 1000000000
|
||||
column 2000
|
||||
expr_depth 1000
|
||||
compound_select 500
|
||||
vdbe_op 250000000
|
||||
function_arg 127
|
||||
attached 10
|
||||
like_pattern_length 50000
|
||||
variable_number 32766
|
||||
trigger_depth 1000
|
||||
worker_threads 0
|
||||
1|-1.0
|
||||
2|Inf
|
||||
```
|
||||
|
||||
## Expectation
|
||||
|
||||
```sql
|
||||
|
||||
```
|
||||
|
||||
## Flag
|
||||
|
||||
```
|
||||
|
||||
```
|
||||
|
||||
@@ -0,0 +1,215 @@
|
||||
## 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
|
||||
SAVEPOINT sp2891;
|
||||
SAVEPOINT sp3175;
|
||||
SAVEPOINT sp7170;
|
||||
-- NTILE(0)
|
||||
|
||||
PRAGMA empty_result_callbacks = TRUE;
|
||||
SAVEPOINT sp7793;
|
||||
PRAGMA reverse_unordered_selects = -9223372036854775808;
|
||||
.quit
|
||||
PRAGMA writable_schema IS NOT NO;
|
||||
BEGIN IMMEDIATE TRANSACTION;
|
||||
PRAGMA cache_size = -strftime('%s', CAST(2000 AS CHAR(10)));
|
||||
ATTACH DATABASE ':memory:' AS aux23;
|
||||
PRAGMA empty_result_callbacks = ON;
|
||||
SAVEPOINT sp2455;
|
||||
CREATE TABLE T1 (
|
||||
a DOUBLE PRECISION,
|
||||
b REAL
|
||||
);
|
||||
CREATE TABLE T2 (
|
||||
a INTEGER,
|
||||
b REAL
|
||||
);
|
||||
INSERT INTO T1 VALUES (1,1.0);
|
||||
INSERT INTO T2 VALUES (1,-1.0),(2,9e999);
|
||||
INSERT AND REPLACE INTO T1
|
||||
SELECT * FROM T2;
|
||||
SELECT * FROM T1;
|
||||
.show
|
||||
ATTACH DATABASE ':memory:' AS aux46;
|
||||
create temp table `t1`(x);
|
||||
insert into t1 values('amx');
|
||||
insert into t1 values('anx');
|
||||
insert into t1 values('amy');
|
||||
insert /* -vfs unix */ into t1 values('bmy');
|
||||
CREATE TABLE T1 (
|
||||
A VARCHAR(20) PRIMARY KEY,
|
||||
X VARCHAR(10) UNIQUE
|
||||
);
|
||||
CREATE TABLE T2 (
|
||||
A VARCHAR(20) PRIMARY KEY,
|
||||
Y VARCHAR(10) UNIQUE
|
||||
);
|
||||
INSERT INTO T1 VALUES ('a', 'm');
|
||||
INSERT INTO T1 VALUES ('b', 'n');
|
||||
INSERT INTO T1 VALUES ('c', 'o');
|
||||
INSERT INTO T2 VALUES ('b', 'k');
|
||||
INSERT INTO T2 VALUES ('c', 'l');
|
||||
SELECT A FROM T1 INTERSECT SELECT A FROM T2;
|
||||
select * from t1 WHERE NOT x like 'a__' intersect select * from t1 where x like '_m_' intersect select * from t1 where x like '__x';
|
||||
SELECT TOTAL(x) FROM t1;
|
||||
SELECT * FROM t1 AS a LEFT JOIN t1 AS b ON a.rowid = b.rowid;
|
||||
DETACH DATABASE aux46;
|
||||
INSERT INTO t1 SELECT * FROM t1;
|
||||
WITH a AS (SELECT x FROM t1), b AS (SELECT COUNT(*) AS cnt FROM a) SELECT * FROM b;
|
||||
CREATE VIEW IF NOT EXISTS v_t1_5880 AS SELECT x FROM t1;
|
||||
DROP INDEX IF EXISTS t1;
|
||||
INSERT INTO t1 VALUES (NULL);
|
||||
REINDEX t1;
|
||||
INSERT INTO t1 SELECT * FROM t1;
|
||||
SELECT COUNT(x) FROM t1;
|
||||
SELECT * FROM t1 t1 JOIN (SELECT * FROM t1) AS sub ON t1.x = sub.x;
|
||||
REINDEX;
|
||||
INSERT OR ABORT INTO t1 VALUES (-CAST(9 AS DATE));
|
||||
SELECT MIN(x) FILTER (WHERE x IS NOT NULL) OVER (ORDER BY x ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) FROM t1;
|
||||
ALTER TABLE t1 RENAME TO t1_r5893;
|
||||
INSERT INTO t1 SELECT * FROM t1;
|
||||
ALTER TABLE T2 ADD COLUMN extra_1904 DATETIME;
|
||||
RELEASE sp2455;
|
||||
ANALYZE;
|
||||
VACUUM;
|
||||
SELECT * FROM t1 AS a LEFT JOIN T2 AS b ON a.rowid = b.rowid;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_T1_9347 AFTER uPdaTE ON T1 FOR EACH ROW BEGIN SELECT RAISE(ROLLBACK, 'rb'); END;
|
||||
VACUUM;
|
||||
SELECT COUNT(a) FILTER (WHERE NULL) OVER (PARTITION BY a ORDER BY a ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING EXCLUDE GROUP) FROM T2;
|
||||
DETACH DATABASE aux23;
|
||||
INSERT INTO T2 DEFAULT VALUES;
|
||||
DROP VIEW IF EXISTS t1;
|
||||
SELECT * FROM t1 NATURAL JOIN T1;
|
||||
CREATE TABLE T1 (
|
||||
a INTEGER,
|
||||
b REAL
|
||||
);
|
||||
CREATE TABLE T2 (
|
||||
a INTEGER,
|
||||
b REAL
|
||||
);
|
||||
INSERT INTO T1 VALUES (1,1.0);
|
||||
INSERT INTO T2 VALUES (1,-1.0),(2,9e999);
|
||||
INSERT OR REPLACE INTO T1
|
||||
SELECT * FROM T2;
|
||||
SELECT * FROM T1;
|
||||
END;
|
||||
SELECT * FROM t1;
|
||||
INSERT INTO T1 VALUES (NULL, NULL);
|
||||
INSERT INTO T2 VALUES (NULL, NULL);
|
||||
INSERT INTO T2 DEFAULT VALUES;
|
||||
SELECT x FROM t1 EXCEPT SELECT x FROM (SELECT * FROM t1) AS sub;
|
||||
ANALYZE T2;
|
||||
SELECT ROW_NUMBER() OVER (PARTITION BY b ORDER BY b RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING EXCLUDE NO OTHERS) FROM T1;
|
||||
INSERT OR REPLACE INTO t1 VALUES (-8);
|
||||
CREATE UNIQUE INDEX IF NOT EXISTS idx_t1_8548 ON t1(x COLLATE NOCASE) WHERE x IS NOT NULL;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_t1_9457 BEFORE INSERT ON t1 FOR EACH ROW BEGIN INSERT INTO t1(x) VALUES (NULL); END;
|
||||
INSERT INTO T2 VALUES (NULL, NULL) ON CONFLICT(a) DO UPDATE SET a = excluded.a, b = excluded.b;
|
||||
DELETE FROM t1 WHERE +rowid = 54;
|
||||
INSERT INTO T1 VALUES (1, 'x') ON CONFLICT(a) DO UPDATE SET a = excluded.a, b = excluded.b;
|
||||
SELECT * FROM T1;
|
||||
WITH a AS NOT MATERIALIZED (SELECT * FROM t1), b AS MATERIALIZED (SELECT * FROM a) SELECT * FROM b;
|
||||
CREATE TEMP VIEW IF /* PRAGMA read_uncommitted = OFF; */ NOT EXISTS v_T2_3416 AS SELECT a FROM T2;
|
||||
CREATE UNIQUE INDEX IF NOT EXISTS idx_t1_2725 ON t1(x) WHERE x > 0;
|
||||
SELECT LAG(x, 1) OVER (PARTITION BY x ORDER BY x RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING EXCLUDE NO OTHERS) FROM t1;
|
||||
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 T2;
|
||||
CREATE TABLE T (
|
||||
A VARCHAR(15) PRIMARY KEY,
|
||||
B VARCHAR(30) NOT NULL,
|
||||
C BIGINT UNIQUE
|
||||
);
|
||||
INSERT INTO T VALUES ('a', 'x', -9223372036854775808);
|
||||
INSERT INTO T VALUES ('b', 'y', -1000000);
|
||||
INSERT INTO T VALUES ('c', 'y', 0);
|
||||
INSERT INTO T VALUES ('d', 'y', 42);
|
||||
INSERT INTO T VALUES ('e', 'x', 9223372036854775807);
|
||||
INSERT INTO T VALUES ('f', 'z', 2147483648);
|
||||
SELECT * FROM T WHERE C > 0 ORDER BY C DESC;
|
||||
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 T1;
|
||||
INSERT INTO T1 VALUES (NULL, NULL);
|
||||
ROLLBACK TO sp7793;
|
||||
RELEASE sp7793;
|
||||
SELECT AVG(B) FROM T;
|
||||
DROP TABLE IF EXISTS T2;
|
||||
WITH a AS (SELECT a FROM T2), b AS (SELECT a FROM a), c AS (SELECT a FROM b) SELECT * FROM c;
|
||||
SELECT * FROM T1 WHERE a > (SELECT MAX(a) FROM T1);
|
||||
SELECT FIRST_VALUE(a) OVER (PARTITION BY a ORDER BY a GROUPS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) FROM T2;
|
||||
RELEASE sp7170;
|
||||
CREATE TABLE T (
|
||||
A VARCHAR(10) PRIMARY KEY,
|
||||
B VARCHAR(15),
|
||||
C BIGINT,
|
||||
UNIQUE (B, C)
|
||||
);
|
||||
INSERT INTO T VALUES ('a', 'p', -9223372036854775808);
|
||||
INSERT INTO T VALUES ('b', 'q', 4000);
|
||||
CREATE TABLE T1 (
|
||||
A VARCHAR(15) PRIMARY KEY,
|
||||
B VARCHAR(30) NOT NULL UNIQUE
|
||||
);
|
||||
CREATE TABLE T2 (
|
||||
A VARCHAR(10) PRIMARY KEY,
|
||||
X VARCHAR(15) NOT NULL,
|
||||
C BIGINT,
|
||||
FOREIGN KEY (X) REFERENCES T1(A)
|
||||
);
|
||||
INSERT INTO T1 VALUES ('p', 'x');
|
||||
INSERT INTO T1 VALUES ('q', 'y');
|
||||
INSERT INTO T2 VALUES ('a', 'p', 9223372036854775807);
|
||||
INSERT INTO T2 VALUES ('b', 'q', -9223372036854775808);
|
||||
SELECT X, SUM(C) AS D, COUNT(*) AS E FROM T2 GROUP BY X;
|
||||
INSERT INTO T VALUES ('c', 'r', 1700);
|
||||
INSERT INTO T VALUES ('d', 'r', 9223372036854775807);
|
||||
INSERT INTO T VALUES ('e', 's', 0);
|
||||
SELECT A, C FROM T WHERE C > 1200 AND C < 9999999999 ORDER BY C;
|
||||
CREATE TEMP VIEW IF NOT EXISTS v_T1_1990 AS SELECT b FROM T1;
|
||||
INSERT INTO T VALUES (1, 'x', 'x') ON CONFLICT(A) DO UPDATE SET A = excluded.A, B = excluded.B, C = excluded.C;
|
||||
SELECT * FROM T1 AS a RIGHT JOIN T AS b ON a.rowid = b.rowid;
|
||||
SELECT * FROM T2 AS a RIGHT OUTER JOIN T AS b ON a.rowid = b.rowid;
|
||||
ALTER TABLE T1 ADD COLUMN extra_5061 NATIVE CHARACTER(70)NVARCHAR(100) DEFAULT (abs(random()) % 1000);
|
||||
INSERT INTO t1 DEFAULT VALUES;
|
||||
DELETE FROM T1 WHERE b > (SELECT AVG(b) FROM T1) RETURNING *;
|
||||
VACUUM;
|
||||
REINDEX T;
|
||||
INSERT OR REPLACE INTO T2 VALUES (7, 'x', '');
|
||||
SELECT COUNT(*) FILTER (WHERE B IS NOT NULL), SUM(rowid) FILTER (WHERE B > 0), COUNT(*) FILTER (WHERE 1=0), COUNT(*) FILTER (WHERE 1=1), COUNT(*) FILTER (WHERE NULL), AVG(B) FILTER (WHERE B > 0 AND B < 100), COUNT(*) FILTER (WHERE typeof(B) = "text") FROM T;
|
||||
INSERT INTO T2 SELECT * FROM T2;
|
||||
INSERT OR REPLACE INTO T2 VALUES (-2, 'x', 0);
|
||||
CREATE TRIGGER IF NOT EXISTS trg_T_3874 BEFORE INSERT ON T BEGIN SELECT RAISE(FAIL, 'no'); END;
|
||||
ROLLBACK TRANSACTION TO SAVEPOINT sp3175;
|
||||
RELEASE SAVEPOINT sp3175;
|
||||
CREATE TABLE T (
|
||||
a INTEGER,
|
||||
b REAL,
|
||||
c REAL
|
||||
);
|
||||
INSERT INTO T VALUES (1,2.0,10.5), (1,-3.5,20.25), (2,9e999,-1.0);
|
||||
WITH d AS (SELECT a,SUM(b*c) AS e FROM T GROUP BY a) SELECT * FROM d;
|
||||
UPDATE t1 SET x = 'x' WHERE rowid = 1 RETURNING *;
|
||||
CREATE VIRTUAL TABLE t0 USING fts4("x", "y", "z");
|
||||
DROP TABLE t0;
|
||||
INSERT INTO t1 DEFAULT VALUES;
|
||||
RELEASE sp2891;
|
||||
```
|
||||
|
||||
## Actual output
|
||||
|
||||
```sql
|
||||
3.39.0 2022-05-10 23:28:12 764b71267e0b31ff7eaf2a0def7526a1a02dce4d5b456dea060d97ed342ealt1
|
||||
```
|
||||
|
||||
## Expectation
|
||||
|
||||
```sql
|
||||
3.51.1 2025-11-28 17:28:25 281fc0e9afc38674b9b0991943b9e9d1e64c6cbdb133d35f6f5c87ff6af38a88 (64-bit)
|
||||
```
|
||||
|
||||
## Flag
|
||||
|
||||
```
|
||||
-version
|
||||
```
|
||||
|
||||
@@ -0,0 +1,62 @@
|
||||
## 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
|
||||
ATTACH DATABASE ':memory:' AS aux63;
|
||||
ATTACH DATABASE ':memory:' AS aux96;
|
||||
DROP TABLE IF EXISTS t1;
|
||||
CREATE TABLE t1(w INT, x INT);
|
||||
INSERT INTO t1(w,x) VALUES(9223372036854775808,10),(2,20),(3,30), (2,21),(3,31), (3,32);
|
||||
CREATE INDEX t1wx ON t1(w,x);
|
||||
|
||||
DROP TABLE IF EXISTS t2;
|
||||
CREATE TABLE t2(w INT, y VARCHAR(8));
|
||||
INSERT INTO t2(w,y) VALUES(1,'one'),(2,'two'),(3,'three'),(4,'four');
|
||||
CREATE INDEX t2wy ON t2(w,y);
|
||||
|
||||
WITH _m AS MATERIALIZED (SELECT * FROM t2) SELECT cnt, xyz, (SELECT y FROM _m WHERE w=cnt), '|' FROM (SELECT count(*) AS cnt, w AS xyz FROM t1 GROUP BY 2) ORDER BY cnt, xyz;
|
||||
SELECT cnt, xyz, lower((SELECT y FROM t2 WHERE w=cnt)), '|' FROM (SELECT count(*) AS cnt, w AS xyz FROM t1 GROUP BY 2) ORDER BY cnt, xyz;
|
||||
SELECT cnt, xyz, CASE WHEN (SELECT y FROM t2 WHERE w=cnt)=='two' THEN 'aaa' ELSE 'bbb' END, '|' FROM (SELECT count(*) AS cnt, w AS xyz FROM t1 GROUP BY 2) ORDER BY +cnt;
|
||||
|
||||
DETACH DATABASE aux96;
|
||||
|
||||
SELECT COUNT(*) FROM t1;
|
||||
ALTER TABLE t2 ADD COLUMN extra_1857 MEDIUMINT DEFAULT NULL;
|
||||
UPDATE t1 SET w = CURRENT_TIMESTAMP WHERE rowid = 1;
|
||||
DETACH DATABASE aux63;
|
||||
DELETE FROM t1 WHERE x > (SELECT AVG(x) FROM t1) RETURNING *;
|
||||
SELECT STRING_AGG(x, '|') FROM t1;
|
||||
```
|
||||
|
||||
## Actual output
|
||||
|
||||
```sql
|
||||
1|9.22337203685478e+18|one||
|
||||
2|2|two||
|
||||
3|3|three||
|
||||
1|9.22337203685478e+18|one||
|
||||
2|2|two||
|
||||
3|3|three||
|
||||
1|9.22337203685478e+18|bbb||
|
||||
2|2|aaa||
|
||||
3|3|bbb||
|
||||
6
|
||||
3|30
|
||||
3|31
|
||||
3|32
|
||||
```
|
||||
|
||||
## Expectation
|
||||
|
||||
```sql
|
||||
|
||||
```
|
||||
|
||||
## Flag
|
||||
|
||||
```
|
||||
|
||||
```
|
||||
|
||||
@@ -0,0 +1,689 @@
|
||||
## 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
|
||||
.dbconfig
|
||||
BEGIN TRANSACTION;
|
||||
-- PRAGMA hard_heap_limit = 50000000;
|
||||
|
||||
CREATE TABLE T (
|
||||
a TEXT,
|
||||
b TEXT,
|
||||
c REAL
|
||||
);
|
||||
INSERT INTO T VALUES (('a' || ''),'b',cos(json_array(2147483648, 2147483648))), ('a','c',-2.25), ('b','b',4.75);
|
||||
SELECT a,
|
||||
SUM(CASE WHEN b='b' THEN c ELSE 0 End) AS d,
|
||||
SUM(CASE WHEN b='c' THEN c ELSE 0 END) AS e
|
||||
FROM T
|
||||
GROUP BY a;
|
||||
.exit --1
|
||||
ATTACH DATABASE ':memory:' AS aux29;
|
||||
BEGIN DEFERRED TRANSACTION;
|
||||
PRAGMA cache_spill = OFF;
|
||||
PRAGMA default_cache_size = -1000;
|
||||
PRAGMA soft_heap_limit = 10000000;
|
||||
.eqp off
|
||||
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) ;
|
||||
COMMIT TRANSACTION;
|
||||
ALTER TABLE T RENAME COLUMN a TO a_r9356;
|
||||
CREATE TABLE T1 (
|
||||
a INTEGER,
|
||||
b REAL
|
||||
);
|
||||
CREATE TABLE T2 (
|
||||
a INTEGER,
|
||||
b REAL
|
||||
);
|
||||
INSERT INTO T1 VALUES (1,1.0);
|
||||
INSERT INTO T2 VALUES (1,-1.0),(2,9e999);
|
||||
INSERT AND REPLACE INTO T1
|
||||
SELECT * FROM T2;
|
||||
SELECT * FROM T1;
|
||||
INSERT INTO T WITH _m AS MATERIALIZED (SELECT * FROM T2) SELECT * FROM T;
|
||||
INSERT INTO T DEFAULT VALUES;
|
||||
CREATE TABLE T1 (
|
||||
a INTEGER,
|
||||
b REAL
|
||||
);
|
||||
CREATE TABLE _m (
|
||||
a INTEGER,
|
||||
b REAL
|
||||
);
|
||||
INSERT INTO T1 VALUES (1,1.0);
|
||||
INSERT INTO T2 VALUES (1,-1.0),(2,9e999);
|
||||
INSERT OR REPLACE INTO T1
|
||||
SELECT * FROM T2;
|
||||
SELECT * FROM T1;
|
||||
INSERT INTO T1
|
||||
VALUES (1, 1) ON CONFLICT(a) DO UPDATE SET a = excluded.a, b = excluded.b;
|
||||
SELECT * FROM T1;
|
||||
DETACH DATABASE aux29;
|
||||
SELECT LAG(b, 0) OVER (ORDER BY b ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING EXCLUDE GROUP) FROM T1;
|
||||
SELECT * FROM T1;
|
||||
INSERT INTO T VALUES (NULL, NULL, NULL);
|
||||
INSERT INTO T1 VALUES ('x', 'x') ON CONFLICT(a) DO UPDATE SET a = excluded.a, b = excluded.b;
|
||||
PRAGMA application_id;
|
||||
ALTER TABLE T1 RENAME COLUMN a TO a_r5154;
|
||||
SELECT * FROM T1;
|
||||
SELECT * FROM T2 AS a RIGHT OUTER JOIN T AS b ON a.rowid = b.rowid;
|
||||
END;
|
||||
INSERT INTO T1 DEFAULT VALUES;
|
||||
DELETE FROM T1 WHERE b IS NULL;
|
||||
ALTER TABLE _m RENAME TO _m_r6295;
|
||||
SELECT * FROM T1 WHERE NOT EXISTS (SELECT 1 FROM T1 t2 WHERE t2.b = T1.b);
|
||||
WITH RECURSIVE self(x) AS (SELECT 1 UNION ALL SELECT x FROM self) SELECT * FROM self LIMIT 5;
|
||||
DELETE FROM T WHERE 1;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_T1_9606 BEFORE DELETE ON T1 BEGIN SELECT RAISE(ABORT, 'abort'); END;
|
||||
WITH cte(a, b) AS (VALUES(1, "a"),(2, "b"),(3, "c")) SELECT * FROM cte;
|
||||
SELECT * FROM T WHERE +c < (SELECT AVG(c) FROM T);
|
||||
SELECT NTH_VALUE(a, 2) OVER (ORDER BY a RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING EXCLUDE NO OTHERS) FROM T;
|
||||
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 T1;
|
||||
ALTER TABLE T RENAME TO T_r1340;
|
||||
ALTER TABLE T2 RENAME COLUMN a TO a_r3688;
|
||||
CREATE TABLE T (
|
||||
a INTEGER,
|
||||
b TEXT,
|
||||
c INTEGER
|
||||
);
|
||||
INSERT INTO T VALUES (1,'a',NULL), (2,'b',1), (3,'c',2);
|
||||
WITH RECURSIVE d(a,b,c,e) AS (
|
||||
SELECT *,1 FROM T WHERE c IS NULL
|
||||
UNION ALL
|
||||
SELECT T.a,T.b,T.c,d.e+1
|
||||
FROM T JOIN d ON T.c=d.a
|
||||
)
|
||||
SELECT * FROM d;
|
||||
SELECT * FROM T2 CROSS JOIN T;
|
||||
PRAGMA read_uncommitted = TRUE;
|
||||
INSERT OR REPLACE INTO T2 VALUES (NULL, 'x');
|
||||
BEGIN TRANSACTION;
|
||||
-- PRAGMA hard_heap_limit = 50000000;
|
||||
|
||||
CREATE TABLE T (
|
||||
a TEXT,
|
||||
b TEXT,
|
||||
c REAL
|
||||
);
|
||||
INSERT INTO T VALUES (('a' || ''),'b',2147483648), ('a','c',-2.25), ('b','b',4.75);
|
||||
SELECT a,
|
||||
SUM(CASE WHEN b='b' THEN c ELSE 0 End) AS d,
|
||||
SUM(CASE WHEN b='c' THEN c ELSE 0 END) AS e
|
||||
FROM T
|
||||
GROUP BY a;
|
||||
.exit --1
|
||||
ATTACH DATABASE ':memory:' AS aux29;
|
||||
BEGIN DEFERRED TRANSACTION;
|
||||
PRAGMA cache_spill = OFF;
|
||||
PRAGMA default_cache_size = -1000;
|
||||
PRAGMA soft_heap_limit = 10000000;
|
||||
.eqp off
|
||||
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) ;
|
||||
COMMIT TRANSACTION;
|
||||
ALTER TABLE T RENAME COLUMN a TO a_r9356;
|
||||
CREATE TABLE T1 (
|
||||
a INTEGER,
|
||||
b REAL
|
||||
);
|
||||
CREATE TABLE T2 (
|
||||
a INTEGER,
|
||||
b REAL
|
||||
);
|
||||
INSERT INTO T1 VALUES (1,1.0);
|
||||
INSERT INTO T2 VALUES (1,-1.0),(2,9e999);
|
||||
INSERT AND REPLACE INTO T1
|
||||
SELECT * FROM T2;
|
||||
SELECT * FROM T1;
|
||||
INSERT INTO T WITH _m AS MATERIALIZED (SELECT * FROM T2) SELECT * FROM T;
|
||||
INSERT INTO T DEFAULT VALUES;
|
||||
CREATE TABLE T1 (
|
||||
a INTEGER,
|
||||
b REAL
|
||||
);
|
||||
CREATE TABLE _m (
|
||||
a INTEGER,
|
||||
b REAL
|
||||
);
|
||||
INSERT INTO T1 VALUES (1,1.0);
|
||||
INSERT INTO T2 VALUES (1,-1.0),(2,9e999);
|
||||
INSERT OR REPLACE INTO T1
|
||||
SELECT * FROM T2;
|
||||
SELECT * FROM T1;
|
||||
INSERT INTO T1
|
||||
VALUES (1, 1) ON CONFLICT(a) DO UPDATE SET a = excluded.a, b = excluded.b;
|
||||
SELECT * FROM T1;
|
||||
DETACH DATABASE aux29;
|
||||
SELECT LAG(b, 0) OVER (ORDER BY b ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING EXCLUDE GROUP) FROM T1;
|
||||
SELECT * FROM T1;
|
||||
INSERT INTO T VALUES (NULL, NULL, NULL);
|
||||
INSERT INTO T1 VALUES ('x', 'x') ON CONFLICT(a) DO UPDATE SET a = excluded.a, b = excluded.b;
|
||||
PRAGMA application_id;
|
||||
ALTER TABLE T1 RENAME COLUMN a TO a_r5154;
|
||||
SELECT * FROM T1;
|
||||
SELECT * FROM T2 AS a RIGHT OUTER JOIN T AS b ON a.rowid = b.rowid;
|
||||
END;
|
||||
INSERT INTO T1 DEFAULT VALUES;
|
||||
DELETE FROM T1 WHERE b IS NULL;
|
||||
ALTER TABLE _m RENAME TO _m_r6295;
|
||||
SELECT * FROM T1 WHERE NOT EXISTS (SELECT 1 FROM T1 t2 WHERE t2.b = T1.b);
|
||||
WITH RECURSIVE self(x) AS (SELECT 1 UNION ALL SELECT x FROM self) SELECT * FROM self LIMIT 5;
|
||||
DELETE FROM T WHERE 1;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_T1_9606 BEFORE DELETE ON T1 BEGIN SELECT RAISE(ABORT, 'abort'); END;
|
||||
WITH cte(a, b) AS (VALUES(1, "a"),(2, "b"),(3, "c")) SELECT * FROM cte;
|
||||
SELECT * FROM T WHERE +c < (SELECT AVG(c) FROM T);
|
||||
SELECT NTH_VALUE(a, 2) OVER (ORDER BY a RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING EXCLUDE NO OTHERS) FROM T;
|
||||
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 T1;
|
||||
ALTER TABLE T RENAME TO T_r1340;
|
||||
ALTER TABLE T2 RENAME COLUMN a TO a_r3688;
|
||||
CREATE TABLE T (
|
||||
a INTEGER,
|
||||
b TEXT,
|
||||
c INTEGER
|
||||
);
|
||||
INSERT INTO T VALUES (1,'a',NULL), (2,'b',1), (3,'c',2);
|
||||
WITH RECURSIVE d(a,b,c,e) AS (
|
||||
SELECT *,1 FROM T WHERE c IS NULL
|
||||
UNION ALL
|
||||
SELECT T.a,T.b,T.c,d.e+1
|
||||
FROM T JOIN d ON T.c=d.a
|
||||
)
|
||||
SELECT * FROM d;
|
||||
SELECT * FROM T2 CROSS JOIN T;
|
||||
PRAGMA read_uncommitted = TRUE;
|
||||
INSERT OR REPLACE INTO T2 VALUES (NULL, 'x');
|
||||
BEGIN TRANSACTION;
|
||||
-- PRAGMA hard_heap_limit = 50000000;
|
||||
|
||||
CREATE TABLE T (
|
||||
a TEXT,
|
||||
b TEXT,
|
||||
c REAL
|
||||
);
|
||||
INSERT INTO T VALUES (('a' || ''),'b',2147483648), ('a','c',-2.25), ('b','b',4.75);
|
||||
SELECT a,
|
||||
SUM(CASE WHEN b='b' THEN c ELSE 0 End) AS d,
|
||||
SUM(CASE WHEN b='c' THEN c ELSE 0 END) AS e
|
||||
FROM T
|
||||
GROUP BY a;
|
||||
.exit --1
|
||||
ATTACH DATABASE ':memory:' AS aux29;
|
||||
BEGIN DEFERRED TRANSACTION;
|
||||
PRAGMA cache_spill = OFF;
|
||||
PRAGMA default_cache_size = -1000;
|
||||
PRAGMA soft_heap_limit = 10000000;
|
||||
.eqp off
|
||||
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) ;
|
||||
COMMIT TRANSACTION;
|
||||
ALTER TABLE T RENAME COLUMN a TO a_r9356;
|
||||
CREATE TABLE T1 (
|
||||
a INTEGER,
|
||||
b REAL
|
||||
);
|
||||
CREATE TABLE T2 (
|
||||
a INTEGER,
|
||||
b REAL
|
||||
);
|
||||
INSERT INTO T1 VALUES (1,1.0);
|
||||
INSERT INTO T2 VALUES (1,-1.0),(2,9e999);
|
||||
INSERT AND REPLACE INTO T1
|
||||
SELECT * FROM T2;
|
||||
SELECT * FROM T1;
|
||||
INSERT INTO T WITH _m AS MATERIALIZED (SELECT * FROM T2) SELECT * FROM T;
|
||||
INSERT INTO T DEFAULT VALUES;
|
||||
CREATE TABLE T1 (
|
||||
a INTEGER,
|
||||
b REAL
|
||||
);
|
||||
CREATE TABLE _m (
|
||||
a INTEGER,
|
||||
b REAL
|
||||
);
|
||||
INSERT INTO T1 VALUES (1,1.0);
|
||||
INSERT INTO T2 VALUES (1,-1.0),(2,9e999);
|
||||
INSERT OR REPLACE INTO T1
|
||||
SELECT * FROM T2;
|
||||
SELECT * FROM T1;
|
||||
INSERT INTO T1
|
||||
VALUES (1, 1) ON CONFLICT(a) DO UPDATE SET a = excluded.a, b = excluded.b;
|
||||
SELECT * FROM T1;
|
||||
DETACH DATABASE aux29;
|
||||
SELECT LAG(b, 0) OVER (ORDER BY b ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING EXCLUDE GROUP) FROM T1;
|
||||
SELECT * FROM T1;
|
||||
INSERT INTO T VALUES (NULL, NULL, NULL);
|
||||
INSERT INTO T1 VALUES ('x', 'x') ON CONFLICT(a) DO UPDATE SET a = excluded.a, b = excluded.b;
|
||||
PRAGMA application_id;
|
||||
ALTER TABLE T1 RENAME COLUMN a TO a_r5154;
|
||||
SELECT * FROM T1;
|
||||
SELECT * FROM T2 AS a RIGHT OUTER JOIN T AS b ON a.rowid = b.rowid;
|
||||
END;
|
||||
INSERT INTO T1 DEFAULT VALUES;
|
||||
DELETE FROM T1 WHERE b IS NULL;
|
||||
ALTER TABLE _m RENAME TO _m_r6295;
|
||||
SELECT * FROM T1 WHERE NOT EXISTS (SELECT 1 FROM T1 t2 WHERE t2.b = T1.b);
|
||||
WITH RECURSIVE self(x) AS (SELECT 1 UNION ALL SELECT x FROM self) SELECT * FROM self LIMIT 5;
|
||||
DELETE FROM T WHERE 1;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_T1_9606 BEFORE DELETE ON T1 BEGIN SELECT RAISE(ABORT, 'abort'); END;
|
||||
WITH cte(a, b) AS (VALUES(1, "a"),(2, "b"),(3, "c")) SELECT * FROM cte;
|
||||
SELECT * FROM T WHERE +c < (SELECT AVG(c) FROM T);
|
||||
SELECT NTH_VALUE(a, 2) OVER (ORDER BY a RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING EXCLUDE NO OTHERS) FROM T;
|
||||
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 T1;
|
||||
ALTER TABLE T RENAME TO T_r1340;
|
||||
ALTER TABLE T2 RENAME COLUMN a TO a_r3688;
|
||||
CREATE TABLE T (
|
||||
a INTEGER,
|
||||
b TEXT,
|
||||
c INTEGER
|
||||
);
|
||||
INSERT INTO T VALUES (1,'a',NULL), (2,'b',1), (3,'c',2);
|
||||
WITH RECURSIVE d(a,b,c,e) AS (
|
||||
SELECT *,1 FROM T WHERE c IS NULL
|
||||
UNION ALL
|
||||
SELECT T.a,T.b,T.c,d.e+1
|
||||
FROM T JOIN d ON T.c=d.a
|
||||
)
|
||||
SELECT * FROM d;
|
||||
SELECT * FROM T2 CROSS JOIN T;
|
||||
PRAGMA read_uncommitted = TRUE;
|
||||
INSERT OR REPLACE INTO T2 VALUES (NULL, 'x');
|
||||
BEGIN TRANSACTION;
|
||||
-- PRAGMA hard_heap_limit = 50000000;
|
||||
|
||||
CREATE TABLE T (
|
||||
a TEXT,
|
||||
b TEXT,
|
||||
c REAL
|
||||
);
|
||||
INSERT INTO T VALUES (('a' || ''),'b',2147483648), ('a','c',-2.25), ('b','b',4.75);
|
||||
SELECT a,
|
||||
SUM(CASE WHEN b='b' THEN c ELSE 0 End) AS d,
|
||||
SUM(CASE WHEN b='c' THEN c ELSE 0 END) AS e
|
||||
FROM T
|
||||
GROUP BY a;
|
||||
.exit --1
|
||||
ATTACH DATABASE ':memory:' AS aux29;
|
||||
BEGIN DEFERRED TRANSACTION;
|
||||
PRAGMA cache_spill = OFF;
|
||||
PRAGMA default_cache_size = -1000;
|
||||
PRAGMA soft_heap_limit = 10000000;
|
||||
.eqp off
|
||||
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) ;
|
||||
COMMIT TRANSACTION;
|
||||
ALTER TABLE T RENAME COLUMN a TO a_r9356;
|
||||
CREATE TABLE T1 (
|
||||
a INTEGER,
|
||||
b REAL
|
||||
);
|
||||
CREATE TABLE T2 (
|
||||
a INTEGER,
|
||||
b REAL
|
||||
);
|
||||
INSERT INTO T1 VALUES (1,1.0);
|
||||
INSERT INTO T2 VALUES (1,-1.0),(2,9e999);
|
||||
INSERT AND REPLACE INTO T1
|
||||
SELECT * FROM T2;
|
||||
SELECT * FROM T1;
|
||||
INSERT INTO T WITH _m AS MATERIALIZED (SELECT * FROM T2) SELECT * FROM T;
|
||||
INSERT INTO T DEFAULT VALUES;
|
||||
CREATE TABLE T1 (
|
||||
a INTEGER,
|
||||
b REAL
|
||||
);
|
||||
CREATE TABLE _m (
|
||||
a INTEGER,
|
||||
b REAL
|
||||
);
|
||||
INSERT INTO T1 VALUES (1,1.0);
|
||||
INSERT INTO T2 VALUES (1,-1.0),(2,9e999);
|
||||
INSERT OR REPLACE INTO T1
|
||||
SELECT * FROM T2;
|
||||
SELECT * FROM T1;
|
||||
INSERT INTO T1
|
||||
VALUES (1, 1) ON CONFLICT(a) DO UPDATE SET a = excluded.a, b = excluded.b;
|
||||
SELECT * FROM T1;
|
||||
DETACH DATABASE aux29;
|
||||
SELECT LAG(b, 0) OVER (ORDER BY b ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING EXCLUDE GROUP) FROM T1;
|
||||
SELECT * FROM T1;
|
||||
INSERT INTO T VALUES (NULL, NULL, NULL);
|
||||
INSERT INTO T1 VALUES ('x', 'x') ON CONFLICT(a) DO UPDATE SET a = excluded.a, b = excluded.b;
|
||||
PRAGMA application_id;
|
||||
ALTER TABLE T1 RENAME COLUMN a TO a_r5154;
|
||||
SELECT * FROM T1;
|
||||
SELECT * FROM T2 AS a RIGHT OUTER JOIN T AS b ON a.rowid = b.rowid;
|
||||
END;
|
||||
INSERT INTO T1 DEFAULT VALUES;
|
||||
DELETE FROM T1 WHERE b IS NULL;
|
||||
ALTER TABLE _m RENAME TO _m_r6295;
|
||||
SELECT * FROM T1 WHERE NOT EXISTS (SELECT 1 FROM T1 t2 WHERE t2.b = T1.b);
|
||||
WITH RECURSIVE self(x) AS (SELECT 1 UNION ALL SELECT x FROM self) SELECT * FROM self LIMIT 5;
|
||||
DELETE FROM T WHERE 1;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_T1_9606 BEFORE DELETE ON T1 BEGIN SELECT RAISE(ABORT, 'abort'); END;
|
||||
WITH cte(a, b) AS (VALUES(1, "a"),(2, "b"),(3, "c")) SELECT * FROM cte;
|
||||
SELECT * FROM T WHERE +c < (SELECT AVG(c) FROM T);
|
||||
SELECT NTH_VALUE(a, 2) OVER (ORDER BY a RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING EXCLUDE NO OTHERS) FROM T;
|
||||
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 T1;
|
||||
ALTER TABLE T RENAME TO T_r1340;
|
||||
ALTER TABLE T2 RENAME COLUMN a TO a_r3688;
|
||||
CREATE TABLE T (
|
||||
a INTEGER,
|
||||
b TEXT,
|
||||
c INTEGER
|
||||
);
|
||||
INSERT INTO T VALUES (1,'a',NULL), (2,'b',1), (3,'c',2);
|
||||
WITH RECURSIVE d(a,b,c,e) AS (
|
||||
SELECT *,1 FROM T WHERE c IS NULL
|
||||
UNION ALL
|
||||
SELECT T.a,T.b,T.c,d.e+1
|
||||
FROM T JOIN d ON T.c=d.a
|
||||
)
|
||||
SELECT * FROM d;
|
||||
SELECT * FROM T2 CROSS JOIN T;
|
||||
PRAGMA read_uncommitted = TRUE;
|
||||
INSERT OR REPLACE INTO T2 VALUES (NULL, 'x');
|
||||
BEGIN TRANSACTION;
|
||||
-- PRAGMA hard_heap_limit = 50000000;
|
||||
|
||||
CREATE TABLE T (
|
||||
a TEXT,
|
||||
b TEXT,
|
||||
c REAL
|
||||
);
|
||||
INSERT INTO T VALUES (('a' || ''),'b',2147483648), ('a','c',-2.25), ('b','b',4.75);
|
||||
SELECT a,
|
||||
SUM(CASE WHEN b='b' THEN c ELSE 0 End) AS d,
|
||||
SUM(CASE WHEN b='c' THEN c ELSE 0 END) AS e
|
||||
FROM T
|
||||
GROUP BY a;
|
||||
.exit --1
|
||||
ATTACH DATABASE ':memory:' AS aux29;
|
||||
BEGIN DEFERRED TRANSACTION;
|
||||
PRAGMA cache_spill = OFF;
|
||||
PRAGMA default_cache_size = -1000;
|
||||
PRAGMA soft_heap_limit = 10000000;
|
||||
.eqp off
|
||||
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) ;
|
||||
COMMIT TRANSACTION;
|
||||
ALTER TABLE T RENAME COLUMN a TO a_r9356;
|
||||
CREATE TABLE T1 (
|
||||
a INTEGER,
|
||||
b REAL
|
||||
);
|
||||
CREATE TABLE T2 (
|
||||
a INTEGER,
|
||||
b REAL
|
||||
);
|
||||
INSERT INTO T1 VALUES (1,1.0);
|
||||
INSERT INTO T2 VALUES (1,-1.0),(2,9e999);
|
||||
INSERT AND REPLACE INTO T1
|
||||
SELECT * FROM T2;
|
||||
SELECT * FROM T1;
|
||||
INSERT INTO T WITH _m AS MATERIALIZED (SELECT * FROM T2) SELECT * FROM T;
|
||||
INSERT INTO T DEFAULT VALUES;
|
||||
CREATE TABLE T1 (
|
||||
a INTEGER,
|
||||
b REAL
|
||||
);
|
||||
CREATE TABLE _m (
|
||||
a INTEGER,
|
||||
b REAL
|
||||
);
|
||||
INSERT INTO T1 VALUES (1,1.0);
|
||||
INSERT INTO T2 VALUES (1,-1.0),(2,9e999);
|
||||
INSERT OR REPLACE INTO T1
|
||||
SELECT * FROM T2;
|
||||
SELECT * FROM T1;
|
||||
INSERT INTO T1
|
||||
VALUES (1, 1) ON CONFLICT(a) DO UPDATE SET a = excluded.a, b = excluded.b;
|
||||
SELECT * FROM T1;
|
||||
DETACH DATABASE aux29;
|
||||
SELECT LAG(b, 0) OVER (ORDER BY b ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING EXCLUDE GROUP) FROM T1;
|
||||
SELECT * FROM T1;
|
||||
INSERT INTO T VALUES (NULL, NULL, NULL);
|
||||
INSERT INTO T1 VALUES ('x', 'x') ON CONFLICT(a) DO UPDATE SET a = excluded.a, b = excluded.b;
|
||||
PRAGMA application_id;
|
||||
ALTER TABLE T1 RENAME COLUMN a TO a_r5154;
|
||||
SELECT * FROM T1;
|
||||
SELECT * FROM T2 AS a RIGHT OUTER JOIN T AS b ON a.rowid = b.rowid;
|
||||
END;
|
||||
INSERT INTO T1 DEFAULT VALUES;
|
||||
DELETE FROM T1 WHERE b IS NULL;
|
||||
ALTER TABLE _m RENAME TO _m_r6295;
|
||||
SELECT * FROM T1 WHERE NOT EXISTS (SELECT 1 FROM T1 t2 WHERE t2.b = T1.b);
|
||||
WITH RECURSIVE self(x) AS (SELECT 1 UNION ALL SELECT x FROM self) SELECT * FROM self LIMIT 5;
|
||||
DELETE FROM T WHERE 1;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_T1_9606 BEFORE DELETE ON T1 BEGIN SELECT RAISE(ABORT, 'abort'); END;
|
||||
WITH cte(a, b) AS (VALUES(1, "a"),(2, "b"),(3, "c")) SELECT * FROM cte;
|
||||
SELECT * FROM T WHERE +c < (SELECT AVG(c) FROM T);
|
||||
SELECT NTH_VALUE(a, 2) OVER (ORDER BY a RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING EXCLUDE NO OTHERS) FROM T;
|
||||
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 T1;
|
||||
ALTER TABLE T RENAME TO T_r1340;
|
||||
ALTER TABLE T2 RENAME COLUMN a TO a_r3688;
|
||||
CREATE TABLE T (
|
||||
a INTEGER,
|
||||
b TEXT,
|
||||
c INTEGER
|
||||
);
|
||||
INSERT INTO T VALUES (1,'a',NULL), (2,'b',1), (3,'c',2);
|
||||
WITH RECURSIVE d(a,b,c,e) AS (
|
||||
SELECT *,1 FROM T WHERE c IS NULL
|
||||
UNION ALL
|
||||
SELECT T.a,T.b,T.c,d.e+1
|
||||
FROM T JOIN d ON T.c=d.a
|
||||
)
|
||||
SELECT * FROM d;
|
||||
SELECT * FROM T2 CROSS JOIN T;
|
||||
PRAGMA read_uncommitted = TRUE;
|
||||
INSERT OR REPLACE INTO T2 VALUES (NULL, 'x');
|
||||
BEGIN TRANSACTION;
|
||||
-- PRAGMA hard_heap_limit = 50000000;
|
||||
|
||||
CREATE TABLE T (
|
||||
a TEXT,
|
||||
b TEXT,
|
||||
c REAL
|
||||
);
|
||||
INSERT INTO T VALUES (('a' || ''),'b',2147483648), ('a','c',-2.25), ('b','b',4.75);
|
||||
SELECT a,
|
||||
SUM(CASE WHEN b='b' THEN c ELSE 0 End) AS d,
|
||||
SUM(CASE WHEN b='c' THEN c ELSE 0 END) AS e
|
||||
FROM T
|
||||
GROUP BY a;
|
||||
.exit --1
|
||||
ATTACH DATABASE ':memory:' AS aux29;
|
||||
BEGIN DEFERRED TRANSACTION;
|
||||
PRAGMA cache_spill = OFF;
|
||||
PRAGMA default_cache_size = -1000;
|
||||
PRAGMA soft_heap_limit = 10000000;
|
||||
.eqp off
|
||||
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) ;
|
||||
COMMIT TRANSACTION;
|
||||
ALTER TABLE T RENAME COLUMN a TO a_r9356;
|
||||
CREATE TABLE T1 (
|
||||
a INTEGER,
|
||||
b REAL
|
||||
);
|
||||
CREATE TABLE T2 (
|
||||
a INTEGER,
|
||||
b REAL
|
||||
);
|
||||
INSERT INTO T1 VALUES (1,1.0);
|
||||
INSERT INTO T2 VALUES (1,-1.0),(2,9e999);
|
||||
INSERT AND REPLACE INTO T1
|
||||
SELECT * FROM T2;
|
||||
SELECT * FROM T1;
|
||||
INSERT INTO T WITH _m AS MATERIALIZED (SELECT * FROM T2) SELECT * FROM T;
|
||||
INSERT INTO T DEFAULT VALUES;
|
||||
CREATE TABLE T1 (
|
||||
a INTEGER,
|
||||
b REAL
|
||||
);
|
||||
CREATE TABLE _m (
|
||||
a INTEGER,
|
||||
b REAL
|
||||
);
|
||||
INSERT INTO T1 VALUES (1,1.0);
|
||||
INSERT INTO T2 VALUES (1,-1.0),(2,9e999);
|
||||
INSERT OR REPLACE INTO T1
|
||||
SELECT * FROM T2;
|
||||
SELECT * FROM T1;
|
||||
INSERT INTO T1
|
||||
VALUES (1, 1) ON CONFLICT(a) DO UPDATE SET a = excluded.a, b = excluded.b;
|
||||
SELECT * FROM T1;
|
||||
DETACH DATABASE aux29;
|
||||
SELECT LAG(b, 0) OVER (ORDER BY b ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING EXCLUDE GROUP) FROM T1;
|
||||
SELECT * FROM T1;
|
||||
INSERT INTO T VALUES (NULL, NULL, NULL);
|
||||
INSERT INTO T1 VALUES ('x', 'x') ON CONFLICT(a) DO UPDATE SET a = excluded.a, b = excluded.b;
|
||||
PRAGMA application_id;
|
||||
ALTER TABLE T1 RENAME COLUMN a TO a_r5154;
|
||||
SELECT * FROM T1;
|
||||
SELECT * FROM T2 AS a RIGHT OUTER JOIN T AS b ON a.rowid = b.rowid;
|
||||
END;
|
||||
INSERT INTO T1 DEFAULT VALUES;
|
||||
DELETE FROM T1 WHERE b IS NULL;
|
||||
ALTER TABLE _m RENAME TO _m_r6295;
|
||||
SELECT * FROM T1 WHERE NOT EXISTS (SELECT 1 FROM T1 t2 WHERE t2.b = T1.b);
|
||||
WITH RECURSIVE self(x) AS (SELECT 1 UNION ALL SELECT x FROM self) SELECT * FROM self LIMIT 5;
|
||||
DELETE FROM T WHERE 1;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_T1_9606 BEFORE DELETE ON T1 BEGIN SELECT RAISE(ABORT, 'abort'); END;
|
||||
WITH cte(a, b) AS (VALUES(1, "a"),(2, "b"),(3, "c")) SELECT * FROM cte;
|
||||
SELECT * FROM T WHERE +c < (SELECT AVG(c) FROM T);
|
||||
SELECT NTH_VALUE(a, 2) OVER (ORDER BY a RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING EXCLUDE NO OTHERS) FROM T;
|
||||
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 T1;
|
||||
ALTER TABLE T RENAME TO T_r1340;
|
||||
ALTER TABLE T2 RENAME COLUMN a TO a_r3688;
|
||||
CREATE TABLE T (
|
||||
a INTEGER,
|
||||
b TEXT,
|
||||
c INTEGER
|
||||
);
|
||||
INSERT INTO T VALUES (1,'a',NULL), (2,'b',1), (3,'c',2);
|
||||
WITH RECURSIVE d(a,b,c,e) AS (
|
||||
SELECT *,1 FROM T WHERE c IS NULL
|
||||
UNION ALL
|
||||
SELECT T.a,T.b,T.c,d.e+1
|
||||
FROM T JOIN d ON T.c=d.a
|
||||
)
|
||||
SELECT * FROM d;
|
||||
SELECT * FROM T2 CROSS JOIN T;
|
||||
PRAGMA read_uncommitted = TRUE;
|
||||
INSERT OR REPLACE INTO T2 VALUES (NULL, 'x');
|
||||
|
||||
DROP TRIGGER IF EXISTS T2;
|
||||
ANALYZE _m;
|
||||
UPDATE _m SET a = json_object('k', a) WHERE a IS NOT NULL RETURNING *;
|
||||
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 _m;
|
||||
ALTER TABLE _m DROP COLUMN a;
|
||||
SELECT GROUP_CONCAT(a, a) OVER (PARTITION BY a ORDER BY a RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING EXCLUDE NO OTHERS) FROM _m;
|
||||
CREATE TABLE T (
|
||||
a INTEGER,
|
||||
b TEXT,
|
||||
c INTEGER
|
||||
);
|
||||
INSERT INTO T VALUES (1,'a',NULL), (2,'b',1), (3,'c',2);
|
||||
WITH RECURSIVE d(a,b,c,e) AS (
|
||||
SELECT *,1 FROM T WHERE c IS NULL
|
||||
UNION ALL
|
||||
SELECT T.a,T.b,T.c,d.e+1
|
||||
FROM T JOIN d ON T.c=d.a
|
||||
)
|
||||
SELECT * FROM d;
|
||||
SELECT * FROM _m CROSS JOIN _m;
|
||||
PRAGMA wal_checkpoint('FULL');
|
||||
WITH cte AS (SELECT a, COUNT(*) AS cnt FROM T1 GROUP BY a) SELECT * FROM cte;
|
||||
```
|
||||
|
||||
## Actual output
|
||||
|
||||
```sql
|
||||
defensive off
|
||||
dqs_ddl on
|
||||
dqs_dml on
|
||||
enable_fkey off
|
||||
enable_qpsg off
|
||||
enable_trigger on
|
||||
enable_view on
|
||||
fts3_tokenizer off
|
||||
legacy_alter_table off
|
||||
legacy_file_format off
|
||||
load_extension on
|
||||
no_ckpt_on_close off
|
||||
reset_database off
|
||||
trigger_eqp off
|
||||
trusted_schema on
|
||||
writable_schema off
|
||||
a|0|-2.25
|
||||
b|4.75|0
|
||||
```
|
||||
|
||||
## Expectation
|
||||
|
||||
```sql
|
||||
attach_create on
|
||||
attach_write on
|
||||
comments on
|
||||
defensive on
|
||||
dqs_ddl off
|
||||
dqs_dml off
|
||||
enable_fkey off
|
||||
enable_qpsg off
|
||||
enable_trigger on
|
||||
enable_view on
|
||||
fts3_tokenizer off
|
||||
legacy_alter_table off
|
||||
legacy_file_format off
|
||||
load_extension on
|
||||
no_ckpt_on_close off
|
||||
reset_database off
|
||||
reverse_scanorder off
|
||||
stmt_scanstatus off
|
||||
trigger_eqp off
|
||||
trusted_schema off
|
||||
writable_schema off
|
||||
a|0|-2.25
|
||||
b|4.75|0
|
||||
```
|
||||
|
||||
## Flag
|
||||
|
||||
```
|
||||
|
||||
```
|
||||
|
||||
@@ -0,0 +1,61 @@
|
||||
## 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
|
||||
.tables non_existent_table
|
||||
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
|
||||
INSERT INTO t1 VALUES (NULL, 'x', 1, NULL) ON CONFLICT(a) DO UPDATE SET a = excluded.a, b = excluded.b, c = excluded.c;
|
||||
UPDATE t1 SET c = '' WHERE c IS NOT NULL RETURNING *;
|
||||
|
||||
SELECT COUNT(*) FROM t1;
|
||||
SELECT c, COUNT(*) FROM t1 GROUP BY c HAVING COUNT(*) > (SELECT COUNT(*) FROM t1 LIMIT 1);
|
||||
```
|
||||
|
||||
## Actual output
|
||||
|
||||
```sql
|
||||
CREATE TABLE "t2"("b","c","_ROWID_",PRIMARY KEY("b","c","_ROWID_"))WITHOUT ROWID;
|
||||
WARNING: writing to an imposter table will corrupt the "t1bc" index!
|
||||
Braun 30 3
|
||||
Wernher 10 1
|
||||
von 20 2
|
||||
Braun 30
|
||||
Wernher 10
|
||||
von 20
|
||||
```
|
||||
|
||||
## Expectation
|
||||
|
||||
```sql
|
||||
CREATE TABLE "t2"("b","c","_ROWID_",PRIMARY KEY("b","c","_ROWID_"))WITHOUT ROWID;
|
||||
Braun 30 3
|
||||
Wernher 10 1
|
||||
von 20 2
|
||||
Braun 30
|
||||
Wernher 10
|
||||
von 20
|
||||
```
|
||||
|
||||
## Flag
|
||||
|
||||
```
|
||||
-column
|
||||
```
|
||||
|
||||
@@ -0,0 +1,927 @@
|
||||
## 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 vdbe_trace = TRUE;
|
||||
-- PRAGMA query_only = NO;
|
||||
|
||||
.once log.txt
|
||||
BEGIN DEFERRED;
|
||||
PRAGMA ignore_check_constraints = NO;
|
||||
ATTACH DATABASE ':memory:' AS aux44;
|
||||
.output
|
||||
SAVEPOINT sp8760;
|
||||
SAVEPOINT sp9990;
|
||||
PRAGMA trusted_schema = TRUE;
|
||||
.once log.txt
|
||||
CREATE TABLE t1(a INTEGER PRIMARY KEY, b TEXT, c INT, d INT);
|
||||
INSERT INTO t1 VALUES (log10(((like(('' || ''), if(replace(x'b9863ad918881c72285170e0e3fb', mod(ceiling(-asin(NULL)) -> '$.a' -> '$.b', power(0, 0)), 0), 3.141592653589793, 0, 3.141592653589793)) * 1) - 0)), '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
|
||||
BEGIN TRANSACTION;
|
||||
ATTACH DATABASE ':memory:' AS aux72;
|
||||
BEGIN DEFERRED;
|
||||
CREATE TABLE t1(a);
|
||||
INSERT INTO t1 VALUES('abc'),('def'),('ghi');
|
||||
CREATE TABLE t2(a);
|
||||
INSERT INTO t2 VALUES('DEF'),('abc');
|
||||
CREATE TABLE t3(a);
|
||||
INSERT INTO t3 VALUES('def'),('jkl');
|
||||
SELECT a FROM t1 EXCEPT SELECT a FROM t2 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE binary;
|
||||
DELETE FROM t2;
|
||||
DELETE FROM t3;
|
||||
INSERT INTO t2 VALUES('ABC'),('def'),('GHI'),('jkl');
|
||||
INSERT INTO t3 SELECT lower(a) FROM t2;
|
||||
SELECT a COLLATE nocase FROM t2 EXCEPT SELECT a FROM t3 ORDER BY 1
|
||||
|
||||
CREATE TABLE t1(a);
|
||||
INSERT INTO t1 VALUES('abc'),('def'),('ghi');
|
||||
CREATE TABLE t2(a);
|
||||
INSERT INTO t2 VALUES('DEF'),('abc');
|
||||
CREATE TABLE t3(a);
|
||||
INSERT INTO t3 VALUES('def'),('jkl');
|
||||
SELECT a FROM t1 EXCEPT SELECT a FROM t2 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE binary;
|
||||
DELETE FROM t2;
|
||||
DELETE FROM t3;
|
||||
INSERT INTO t2 VALUES('ABC'),('def'),('GHI'),('jkl');
|
||||
INSERT INTO t3 SELECT lower(a) FROM t2;
|
||||
SELECT a COLLATE nocase FROM t2 EXCEPT SELECT a FROM t3 ORDER BY 1
|
||||
|
||||
CREATE TABLE t1(a);
|
||||
INSERT INTO t1 VALUES('abc'),('def'),('ghi');
|
||||
CREATE TABLE t2(a);
|
||||
INSERT INTO t2 VALUES('DEF'),('abc');
|
||||
CREATE TABLE t3(a);
|
||||
INSERT INTO t3 VALUES('def'),('jkl');
|
||||
SELECT a FROM t1 EXCEPT SELECT a FROM t2 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE binary;
|
||||
DELETE FROM t2;
|
||||
DELETE FROM t3;
|
||||
INSERT INTO t2 VALUES('ABC'),('def'),('GHI'),('jkl');
|
||||
INSERT INTO t3 SELECT lower(a) FROM t2;
|
||||
SELECT a COLLATE nocase FROM t2 EXCEPT SELECT a FROM t3 ORDER BY 1
|
||||
|
||||
CREATE TABLE t1(a);
|
||||
INSERT INTO t1 VALUES('abc'),('def'),('ghi');
|
||||
CREATE TABLE t2(a);
|
||||
INSERT INTO t2 VALUES('DEF'),('abc');
|
||||
CREATE TABLE t3(a);
|
||||
INSERT INTO t3 VALUES('def'),('jkl');
|
||||
SELECT a FROM t1 EXCEPT SELECT a FROM t2 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE binary;
|
||||
DELETE FROM t2;
|
||||
DELETE FROM t3;
|
||||
INSERT INTO t2 VALUES('ABC'),('def'),('GHI'),('jkl');
|
||||
INSERT INTO t3 SELECT lower(a) FROM t2;
|
||||
SELECT a COLLATE nocase FROM t2 EXCEPT SELECT a FROM t3 ORDER BY 1
|
||||
|
||||
|
||||
COMMIT;
|
||||
REINDEX t1;
|
||||
CREATE UNIQUE INDEX IF NOT EXISTS idx_t3_1118 ON t3(a COLLATE NOCASE) WHERE NOT NOT (NOT NOT (NOT NOT (NOT NOT (+a > 0)))) ;
|
||||
DROP INDEX IF EXISTS t2;
|
||||
SELECT LAST_VALUE(a) OVER (ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) FROM t3;
|
||||
DETACH DATABASE aux72;
|
||||
ALTER TABLE t1 RENAME COLUMN a TO a_r9525;
|
||||
ROLLBACK;
|
||||
ALTER TABLE t3 RENAME COLUMN a TO a_r8773;
|
||||
PRAGMA defer_foreign_keys = TRUE;
|
||||
SELECT * FROM t2;
|
||||
PRAGMA wal_checkpoint('RESTART');
|
||||
INSERT INTO t1 VALUES (NULL);
|
||||
INSERT INTO t1 VALUES (NULL) ON CONFLICT(a) DO UPDATE SET a = excluded.a;
|
||||
CREATE TABLE t1(a INTEGER PRIMARY KEY, b TEXT, c INT, d INT);
|
||||
INSERT INTO t1 VALUES (log10(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
|
||||
BEGIN TRANSACTION;
|
||||
ATTACH DATABASE ':memory:' AS aux72;
|
||||
BEGIN DEFERRED;
|
||||
CREATE TABLE t1(a);
|
||||
INSERT INTO t1 VALUES('abc'),('def'),('ghi');
|
||||
CREATE TABLE t2(a);
|
||||
INSERT INTO t2 VALUES('DEF'),('abc');
|
||||
CREATE TABLE t3(a);
|
||||
INSERT INTO t3 VALUES('def'),('jkl');
|
||||
SELECT a FROM t1 EXCEPT SELECT a FROM t2 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE binary;
|
||||
DELETE FROM t2;
|
||||
DELETE FROM t3;
|
||||
INSERT INTO t2 VALUES('ABC'),('def'),('GHI'),('jkl');
|
||||
INSERT INTO t3 SELECT lower(a) FROM t2;
|
||||
SELECT a COLLATE nocase FROM t2 EXCEPT SELECT a FROM t3 ORDER BY 1
|
||||
|
||||
CREATE TABLE t1(a);
|
||||
INSERT INTO t1 VALUES('abc'),('def'),('ghi');
|
||||
CREATE TABLE t2(a);
|
||||
INSERT INTO t2 VALUES('DEF'),('abc');
|
||||
CREATE TABLE t3(a);
|
||||
INSERT INTO t3 VALUES('def'),('jkl');
|
||||
SELECT a FROM t1 EXCEPT SELECT a FROM t2 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE binary;
|
||||
DELETE FROM t2;
|
||||
DELETE FROM t3;
|
||||
INSERT INTO t2 VALUES('ABC'),('def'),('GHI'),('jkl');
|
||||
INSERT INTO t3 SELECT lower(a) FROM t2;
|
||||
SELECT a COLLATE nocase FROM t2 EXCEPT SELECT a FROM t3 ORDER BY 1
|
||||
|
||||
CREATE TABLE t1(a);
|
||||
INSERT INTO t1 VALUES('abc'),('def'),('ghi');
|
||||
CREATE TABLE t2(a);
|
||||
INSERT INTO t2 VALUES('DEF'),('abc');
|
||||
CREATE TABLE t3(a);
|
||||
INSERT INTO t3 VALUES('def'),('jkl');
|
||||
SELECT a FROM t1 EXCEPT SELECT a FROM t2 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE binary;
|
||||
DELETE FROM t2;
|
||||
DELETE FROM t3;
|
||||
INSERT INTO t2 VALUES('ABC'),('def'),('GHI'),('jkl');
|
||||
INSERT INTO t3 SELECT lower(a) FROM t2;
|
||||
SELECT a COLLATE nocase FROM t2 EXCEPT SELECT a FROM t3 ORDER BY 1
|
||||
|
||||
CREATE TABLE t1(a);
|
||||
INSERT INTO t1 VALUES('abc'),('def'),('ghi');
|
||||
CREATE TABLE t2(a);
|
||||
INSERT INTO t2 VALUES('DEF'),('abc');
|
||||
CREATE TABLE t3(a);
|
||||
INSERT INTO t3 VALUES('def'),('jkl');
|
||||
SELECT a FROM t1 EXCEPT SELECT a FROM t2 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE binary;
|
||||
DELETE FROM t2;
|
||||
DELETE FROM t3;
|
||||
INSERT INTO t2 VALUES('ABC'),('def'),('GHI'),('jkl');
|
||||
INSERT INTO t3 SELECT lower(a) FROM t2;
|
||||
SELECT a COLLATE nocase FROM t2 EXCEPT SELECT a FROM t3 ORDER BY 1
|
||||
|
||||
|
||||
COMMIT;
|
||||
REINDEX t1;
|
||||
CREATE UNIQUE INDEX IF NOT EXISTS idx_t3_1118 ON t3(a COLLATE NOCASE) WHERE +a > 0;
|
||||
DROP INDEX IF EXISTS t2;
|
||||
SELECT LAST_VALUE(a) OVER (ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) FROM t3;
|
||||
DETACH DATABASE aux72;
|
||||
ALTER TABLE t1 RENAME COLUMN a TO a_r9525;
|
||||
ROLLBACK;
|
||||
ALTER TABLE t3 RENAME COLUMN a TO a_r8773;
|
||||
PRAGMA defer_foreign_keys = TRUE;
|
||||
SELECT * FROM t2;
|
||||
PRAGMA wal_checkpoint('RESTART');
|
||||
INSERT INTO t1 VALUES (NULL);
|
||||
INSERT INTO t1 VALUES (NULL) ON CONFLICT(a) DO UPDATE SET a = excluded.a;
|
||||
CREATE TABLE t1(a INTEGER PRIMARY KEY, b TEXT, c INT, d INT);
|
||||
INSERT INTO t1 VALUES (log10(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
|
||||
BEGIN TRANSACTION;
|
||||
ATTACH DATABASE ':memory:' AS aux72;
|
||||
BEGIN DEFERRED;
|
||||
CREATE TABLE t1(a);
|
||||
INSERT INTO t1 VALUES('abc'),('def'),('ghi');
|
||||
CREATE TABLE t2(a);
|
||||
INSERT INTO t2 VALUES('DEF'),('abc');
|
||||
CREATE TABLE t3(a);
|
||||
INSERT INTO t3 VALUES('def'),('jkl');
|
||||
SELECT a FROM t1 EXCEPT SELECT a FROM t2 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE binary;
|
||||
DELETE FROM t2;
|
||||
DELETE FROM t3;
|
||||
INSERT INTO t2 VALUES('ABC'),('def'),('GHI'),('jkl');
|
||||
INSERT INTO t3 SELECT lower(a) FROM t2;
|
||||
SELECT a COLLATE nocase FROM t2 EXCEPT SELECT a FROM t3 ORDER BY 1
|
||||
|
||||
CREATE TABLE t1(a);
|
||||
INSERT INTO t1 VALUES('abc'),('def'),('ghi');
|
||||
CREATE TABLE t2(a);
|
||||
INSERT INTO t2 VALUES('DEF'),('abc');
|
||||
CREATE TABLE t3(a);
|
||||
INSERT INTO t3 VALUES('def'),('jkl');
|
||||
SELECT a FROM t1 EXCEPT SELECT a FROM t2 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE binary;
|
||||
DELETE FROM t2;
|
||||
DELETE FROM t3;
|
||||
INSERT INTO t2 VALUES('ABC'),('def'),('GHI'),('jkl');
|
||||
INSERT INTO t3 SELECT lower(a) FROM t2;
|
||||
SELECT a COLLATE nocase FROM t2 EXCEPT SELECT a FROM t3 ORDER BY 1
|
||||
|
||||
CREATE TABLE t1(a);
|
||||
INSERT INTO t1 VALUES('abc'),('def'),('ghi');
|
||||
CREATE TABLE t2(a);
|
||||
INSERT INTO t2 VALUES('DEF'),('abc');
|
||||
CREATE TABLE t3(a);
|
||||
INSERT INTO t3 VALUES('def'),('jkl');
|
||||
SELECT a FROM t1 EXCEPT SELECT a FROM t2 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE binary;
|
||||
DELETE FROM t2;
|
||||
DELETE FROM t3;
|
||||
INSERT INTO t2 VALUES('ABC'),('def'),('GHI'),('jkl');
|
||||
INSERT INTO t3 SELECT lower(a) FROM t2;
|
||||
SELECT a COLLATE nocase FROM t2 EXCEPT SELECT a FROM t3 ORDER BY 1
|
||||
|
||||
CREATE TABLE t1(a);
|
||||
INSERT INTO t1 VALUES('abc'),('def'),('ghi');
|
||||
CREATE TABLE t2(a);
|
||||
INSERT INTO t2 VALUES('DEF'),('abc');
|
||||
CREATE TABLE t3(a);
|
||||
INSERT INTO t3 VALUES('def'),('jkl');
|
||||
SELECT a FROM t1 EXCEPT SELECT a FROM t2 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE binary;
|
||||
DELETE FROM t2;
|
||||
DELETE FROM t3;
|
||||
INSERT INTO t2 VALUES('ABC'),('def'),('GHI'),('jkl');
|
||||
INSERT INTO t3 SELECT lower(a) FROM t2;
|
||||
SELECT a COLLATE nocase FROM t2 EXCEPT SELECT a FROM t3 ORDER BY 1
|
||||
|
||||
|
||||
COMMIT;
|
||||
REINDEX t1;
|
||||
CREATE UNIQUE INDEX IF NOT EXISTS idx_t3_1118 ON t3(a COLLATE NOCASE) WHERE +a > 0;
|
||||
DROP INDEX IF EXISTS t2;
|
||||
SELECT LAST_VALUE(a) OVER (ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) FROM t3;
|
||||
DETACH DATABASE aux72;
|
||||
ALTER TABLE t1 RENAME COLUMN a TO a_r9525;
|
||||
ROLLBACK;
|
||||
ALTER TABLE t3 RENAME COLUMN a TO a_r8773;
|
||||
PRAGMA defer_foreign_keys = TRUE;
|
||||
SELECT * FROM t2;
|
||||
PRAGMA wal_checkpoint('RESTART');
|
||||
INSERT INTO t1 VALUES (NULL);
|
||||
INSERT INTO t1 VALUES (NULL) ON CONFLICT(a) DO UPDATE SET a = excluded.a;
|
||||
CREATE TABLE t1(a INTEGER PRIMARY KEY, b TEXT, c INT, d INT);
|
||||
INSERT INTO t1 VALUES (log10(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
|
||||
BEGIN TRANSACTION;
|
||||
ATTACH DATABASE ':memory:' AS aux72;
|
||||
BEGIN DEFERRED;
|
||||
CREATE TABLE t1(a);
|
||||
INSERT INTO t1 VALUES('abc'),('def'),('ghi');
|
||||
CREATE TABLE t2(a);
|
||||
INSERT INTO t2 VALUES('DEF'),('abc');
|
||||
CREATE TABLE t3(a);
|
||||
INSERT INTO t3 VALUES('def'),('jkl');
|
||||
SELECT a FROM t1 EXCEPT SELECT a FROM t2 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE binary;
|
||||
DELETE FROM t2;
|
||||
DELETE FROM t3;
|
||||
INSERT INTO t2 VALUES('ABC'),('def'),('GHI'),('jkl');
|
||||
INSERT INTO t3 SELECT lower(a) FROM t2;
|
||||
SELECT a COLLATE nocase FROM t2 EXCEPT SELECT a FROM t3 ORDER BY 1
|
||||
|
||||
CREATE TABLE t1(a);
|
||||
INSERT INTO t1 VALUES('abc'),('def'),('ghi');
|
||||
CREATE TABLE t2(a);
|
||||
INSERT INTO t2 VALUES('DEF'),('abc');
|
||||
CREATE TABLE t3(a);
|
||||
INSERT INTO t3 VALUES('def'),('jkl');
|
||||
SELECT a FROM t1 EXCEPT SELECT a FROM t2 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE binary;
|
||||
DELETE FROM t2;
|
||||
DELETE FROM t3;
|
||||
INSERT INTO t2 VALUES('ABC'),('def'),('GHI'),('jkl');
|
||||
INSERT INTO t3 SELECT lower(a) FROM t2;
|
||||
SELECT a COLLATE nocase FROM t2 EXCEPT SELECT a FROM t3 ORDER BY 1
|
||||
|
||||
CREATE TABLE t1(a);
|
||||
INSERT INTO t1 VALUES('abc'),('def'),('ghi');
|
||||
CREATE TABLE t2(a);
|
||||
INSERT INTO t2 VALUES('DEF'),('abc');
|
||||
CREATE TABLE t3(a);
|
||||
INSERT INTO t3 VALUES('def'),('jkl');
|
||||
SELECT a FROM t1 EXCEPT SELECT a FROM t2 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE binary;
|
||||
DELETE FROM t2;
|
||||
DELETE FROM t3;
|
||||
INSERT INTO t2 VALUES('ABC'),('def'),('GHI'),('jkl');
|
||||
INSERT INTO t3 SELECT lower(a) FROM t2;
|
||||
SELECT a COLLATE nocase FROM t2 EXCEPT SELECT a FROM t3 ORDER BY 1
|
||||
|
||||
CREATE TABLE t1(a);
|
||||
INSERT INTO t1 VALUES('abc'),('def'),('ghi');
|
||||
CREATE TABLE t2(a);
|
||||
INSERT INTO t2 VALUES('DEF'),('abc');
|
||||
CREATE TABLE t3(a);
|
||||
INSERT INTO t3 VALUES('def'),('jkl');
|
||||
SELECT a FROM t1 EXCEPT SELECT a FROM t2 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE binary;
|
||||
DELETE FROM t2;
|
||||
DELETE FROM t3;
|
||||
INSERT INTO t2 VALUES('ABC'),('def'),('GHI'),('jkl');
|
||||
INSERT INTO t3 SELECT lower(a) FROM t2;
|
||||
SELECT a COLLATE nocase FROM t2 EXCEPT SELECT a FROM t3 ORDER BY 1
|
||||
|
||||
|
||||
COMMIT;
|
||||
REINDEX t1;
|
||||
CREATE UNIQUE INDEX IF NOT EXISTS idx_t3_1118 ON t3(a COLLATE NOCASE) WHERE +a > 0;
|
||||
DROP INDEX IF EXISTS t2;
|
||||
SELECT LAST_VALUE(a) OVER (ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) FROM t3;
|
||||
DETACH DATABASE aux72;
|
||||
ALTER TABLE t1 RENAME COLUMN a TO a_r9525;
|
||||
ROLLBACK;
|
||||
ALTER TABLE t3 RENAME COLUMN a TO a_r8773;
|
||||
PRAGMA defer_foreign_keys = TRUE;
|
||||
SELECT * FROM t2;
|
||||
PRAGMA wal_checkpoint('RESTART');
|
||||
INSERT INTO t1 VALUES (NULL);
|
||||
INSERT INTO t1 VALUES (NULL) ON CONFLICT(a) DO UPDATE SET a = excluded.a;
|
||||
CREATE TABLE t1(a INTEGER PRIMARY KEY, b TEXT, c INT, d INT);
|
||||
INSERT INTO t1 VALUES (log10(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
|
||||
BEGIN TRANSACTION;
|
||||
ATTACH DATABASE ':memory:' AS aux72;
|
||||
BEGIN DEFERRED;
|
||||
CREATE TABLE t1(a);
|
||||
INSERT INTO t1 VALUES('abc'),('def'),('ghi');
|
||||
CREATE TABLE t2(a);
|
||||
INSERT INTO t2 VALUES('DEF'),('abc');
|
||||
CREATE TABLE t3(a);
|
||||
INSERT INTO t3 VALUES('def'),('jkl');
|
||||
SELECT a FROM t1 EXCEPT SELECT a FROM t2 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE binary;
|
||||
DELETE FROM t2;
|
||||
DELETE FROM t3;
|
||||
INSERT INTO t2 VALUES('ABC'),('def'),('GHI'),('jkl');
|
||||
INSERT INTO t3 SELECT lower(a) FROM t2;
|
||||
SELECT a COLLATE nocase FROM t2 EXCEPT SELECT a FROM t3 ORDER BY 1
|
||||
|
||||
CREATE TABLE t1(a);
|
||||
INSERT INTO t1 VALUES('abc'),('def'),('ghi');
|
||||
CREATE TABLE t2(a);
|
||||
INSERT INTO t2 VALUES('DEF'),('abc');
|
||||
CREATE TABLE t3(a);
|
||||
INSERT INTO t3 VALUES('def'),('jkl');
|
||||
SELECT a FROM t1 EXCEPT SELECT a FROM t2 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE binary;
|
||||
DELETE FROM t2;
|
||||
DELETE FROM t3;
|
||||
INSERT INTO t2 VALUES('ABC'),('def'),('GHI'),('jkl');
|
||||
INSERT INTO t3 SELECT lower(a) FROM t2;
|
||||
SELECT a COLLATE nocase FROM t2 EXCEPT SELECT a FROM t3 ORDER BY 1
|
||||
|
||||
CREATE TABLE t1(a);
|
||||
INSERT INTO t1 VALUES('abc'),('def'),('ghi');
|
||||
CREATE TABLE t2(a);
|
||||
INSERT INTO t2 VALUES('DEF'),('abc');
|
||||
CREATE TABLE t3(a);
|
||||
INSERT INTO t3 VALUES('def'),('jkl');
|
||||
SELECT a FROM t1 EXCEPT SELECT a FROM t2 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE binary;
|
||||
DELETE FROM t2;
|
||||
DELETE FROM t3;
|
||||
INSERT INTO t2 VALUES('ABC'),('def'),('GHI'),('jkl');
|
||||
INSERT INTO t3 SELECT lower(a) FROM t2;
|
||||
SELECT a COLLATE nocase FROM t2 EXCEPT SELECT a FROM t3 ORDER BY 1
|
||||
|
||||
CREATE TABLE t1(a);
|
||||
INSERT INTO t1 VALUES('abc'),('def'),('ghi');
|
||||
CREATE TABLE t2(a);
|
||||
INSERT INTO t2 VALUES('DEF'),('abc');
|
||||
CREATE TABLE t3(a);
|
||||
INSERT INTO t3 VALUES('def'),('jkl');
|
||||
SELECT a FROM t1 EXCEPT SELECT a FROM t2 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE binary;
|
||||
DELETE FROM t2;
|
||||
DELETE FROM t3;
|
||||
INSERT INTO t2 VALUES('ABC'),('def'),('GHI'),('jkl');
|
||||
INSERT INTO t3 SELECT lower(a) FROM t2;
|
||||
SELECT a COLLATE nocase FROM t2 EXCEPT SELECT a FROM t3 ORDER BY 1
|
||||
|
||||
|
||||
COMMIT;
|
||||
REINDEX t1;
|
||||
CREATE UNIQUE INDEX IF NOT EXISTS idx_t3_1118 ON t3(a COLLATE NOCASE) WHERE +a > 0;
|
||||
DROP INDEX IF EXISTS t2;
|
||||
SELECT LAST_VALUE(a) OVER (ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) FROM t3;
|
||||
DETACH DATABASE aux72;
|
||||
ALTER TABLE t1 RENAME COLUMN a TO a_r9525;
|
||||
ROLLBACK;
|
||||
ALTER TABLE t3 RENAME COLUMN a TO a_r8773;
|
||||
PRAGMA defer_foreign_keys = TRUE;
|
||||
SELECT * FROM t2;
|
||||
PRAGMA wal_checkpoint('RESTART');
|
||||
INSERT INTO t1 VALUES (NULL);
|
||||
INSERT INTO t1 VALUES (NULL) ON CONFLICT(a) DO UPDATE SET a = excluded.a;
|
||||
CREATE TABLE t1(a INTEGER PRIMARY KEY, b TEXT, c INT, d INT);
|
||||
INSERT INTO t1 VALUES (log10(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
|
||||
BEGIN TRANSACTION;
|
||||
ATTACH DATABASE ':memory:' AS aux72;
|
||||
BEGIN DEFERRED;
|
||||
CREATE TABLE t1(a);
|
||||
INSERT INTO t1 VALUES('abc'),('def'),('ghi');
|
||||
CREATE TABLE t2(a);
|
||||
INSERT INTO t2 VALUES('DEF'),('abc');
|
||||
CREATE TABLE t3(a);
|
||||
INSERT INTO t3 VALUES('def'),('jkl');
|
||||
SELECT a FROM t1 EXCEPT SELECT a FROM t2 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE binary;
|
||||
DELETE FROM t2;
|
||||
DELETE FROM t3;
|
||||
INSERT INTO t2 VALUES('ABC'),('def'),('GHI'),('jkl');
|
||||
INSERT INTO t3 SELECT lower(a) FROM t2;
|
||||
SELECT a COLLATE nocase FROM t2 EXCEPT SELECT a FROM t3 ORDER BY 1
|
||||
|
||||
CREATE TABLE t1(a);
|
||||
INSERT INTO t1 VALUES('abc'),('def'),('ghi');
|
||||
CREATE TABLE t2(a);
|
||||
INSERT INTO t2 VALUES('DEF'),('abc');
|
||||
CREATE TABLE t3(a);
|
||||
INSERT INTO t3 VALUES('def'),('jkl');
|
||||
SELECT a FROM t1 EXCEPT SELECT a FROM t2 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE binary;
|
||||
DELETE FROM t2;
|
||||
DELETE FROM t3;
|
||||
INSERT INTO t2 VALUES('ABC'),('def'),('GHI'),('jkl');
|
||||
INSERT INTO t3 SELECT lower(a) FROM t2;
|
||||
SELECT a COLLATE nocase FROM t2 EXCEPT SELECT a FROM t3 ORDER BY 1
|
||||
|
||||
CREATE TABLE t1(a);
|
||||
INSERT INTO t1 VALUES('abc'),('def'),('ghi');
|
||||
CREATE TABLE t2(a);
|
||||
INSERT INTO t2 VALUES('DEF'),('abc');
|
||||
CREATE TABLE t3(a);
|
||||
INSERT INTO t3 VALUES('def'),('jkl');
|
||||
SELECT a FROM t1 EXCEPT SELECT a FROM t2 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE binary;
|
||||
DELETE FROM t2;
|
||||
DELETE FROM t3;
|
||||
INSERT INTO t2 VALUES('ABC'),('def'),('GHI'),('jkl');
|
||||
INSERT INTO t3 SELECT lower(a) FROM t2;
|
||||
SELECT a COLLATE nocase FROM t2 EXCEPT SELECT a FROM t3 ORDER BY 1
|
||||
|
||||
CREATE TABLE t1(a);
|
||||
INSERT INTO t1 VALUES('abc'),('def'),('ghi');
|
||||
CREATE TABLE t2(a);
|
||||
INSERT INTO t2 VALUES('DEF'),('abc');
|
||||
CREATE TABLE t3(a);
|
||||
INSERT INTO t3 VALUES('def'),('jkl');
|
||||
SELECT a FROM t1 EXCEPT SELECT a FROM t2 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE binary;
|
||||
DELETE FROM t2;
|
||||
DELETE FROM t3;
|
||||
INSERT INTO t2 VALUES('ABC'),('def'),('GHI'),('jkl');
|
||||
INSERT INTO t3 SELECT lower(a) FROM t2;
|
||||
SELECT a COLLATE nocase FROM t2 EXCEPT SELECT a FROM t3 ORDER BY 1
|
||||
|
||||
|
||||
COMMIT;
|
||||
REINDEX t1;
|
||||
CREATE UNIQUE INDEX IF NOT EXISTS idx_t3_1118 ON t3(a COLLATE NOCASE) WHERE +a > 0;
|
||||
DROP INDEX IF EXISTS t2;
|
||||
SELECT LAST_VALUE(a) OVER (ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) FROM t3;
|
||||
DETACH DATABASE aux72;
|
||||
ALTER TABLE t1 RENAME COLUMN a TO a_r9525;
|
||||
ROLLBACK;
|
||||
ALTER TABLE t3 RENAME COLUMN a TO a_r8773;
|
||||
PRAGMA defer_foreign_keys = TRUE;
|
||||
SELECT * FROM t2;
|
||||
PRAGMA wal_checkpoint('RESTART');
|
||||
INSERT INTO t1 VALUES (NULL);
|
||||
INSERT INTO t1 VALUES (NULL) ON CONFLICT(a) DO UPDATE SET a = excluded.a;
|
||||
CREATE TABLE t1(a INTEGER PRIMARY KEY, b TEXT, c INT, d INT);
|
||||
INSERT INTO t1 VALUES (log10(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
|
||||
BEGIN TRANSACTION;
|
||||
ATTACH DATABASE ':memory:' AS aux72;
|
||||
BEGIN DEFERRED;
|
||||
CREATE TABLE t1(a);
|
||||
INSERT INTO t1 VALUES('abc'),('def'),('ghi');
|
||||
CREATE TABLE t2(a);
|
||||
INSERT INTO t2 VALUES('DEF'),('abc');
|
||||
CREATE TABLE t3(a);
|
||||
INSERT INTO t3 VALUES('def'),('jkl');
|
||||
SELECT a FROM t1 EXCEPT SELECT a FROM t2 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE binary;
|
||||
DELETE FROM t2;
|
||||
DELETE FROM t3;
|
||||
INSERT INTO t2 VALUES('ABC'),('def'),('GHI'),('jkl');
|
||||
INSERT INTO t3 SELECT lower(a) FROM t2;
|
||||
SELECT a COLLATE nocase FROM t2 EXCEPT SELECT a FROM t3 ORDER BY 1
|
||||
|
||||
CREATE TABLE t1(a);
|
||||
INSERT INTO t1 VALUES('abc'),('def'),('ghi');
|
||||
CREATE TABLE t2(a);
|
||||
INSERT INTO t2 VALUES('DEF'),('abc');
|
||||
CREATE TABLE t3(a);
|
||||
INSERT INTO t3 VALUES('def'),('jkl');
|
||||
SELECT a FROM t1 EXCEPT SELECT a FROM t2 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE binary;
|
||||
DELETE FROM t2;
|
||||
DELETE FROM t3;
|
||||
INSERT INTO t2 VALUES('ABC'),('def'),('GHI'),('jkl');
|
||||
INSERT INTO t3 SELECT lower(a) FROM t2;
|
||||
SELECT a COLLATE nocase FROM t2 EXCEPT SELECT a FROM t3 ORDER BY 1
|
||||
|
||||
CREATE TABLE t1(a);
|
||||
INSERT INTO t1 VALUES('abc'),('def'),('ghi');
|
||||
CREATE TABLE t2(a);
|
||||
INSERT INTO t2 VALUES('DEF'),('abc');
|
||||
CREATE TABLE t3(a);
|
||||
INSERT INTO t3 VALUES('def'),('jkl');
|
||||
SELECT a FROM t1 EXCEPT SELECT a FROM t2 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE binary;
|
||||
DELETE FROM t2;
|
||||
DELETE FROM t3;
|
||||
INSERT INTO t2 VALUES('ABC'),('def'),('GHI'),('jkl');
|
||||
INSERT INTO t3 SELECT lower(a) FROM t2;
|
||||
SELECT a COLLATE nocase FROM t2 EXCEPT SELECT a FROM t3 ORDER BY 1
|
||||
|
||||
CREATE TABLE t1(a);
|
||||
INSERT INTO t1 VALUES('abc'),('def'),('ghi');
|
||||
CREATE TABLE t2(a);
|
||||
INSERT INTO t2 VALUES('DEF'),('abc');
|
||||
CREATE TABLE t3(a);
|
||||
INSERT INTO t3 VALUES('def'),('jkl');
|
||||
SELECT a FROM t1 EXCEPT SELECT a FROM t2 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE binary;
|
||||
DELETE FROM t2;
|
||||
DELETE FROM t3;
|
||||
INSERT INTO t2 VALUES('ABC'),('def'),('GHI'),('jkl');
|
||||
INSERT INTO t3 SELECT lower(a) FROM t2;
|
||||
SELECT a COLLATE nocase FROM t2 EXCEPT SELECT a FROM t3 ORDER BY 1
|
||||
|
||||
|
||||
COMMIT;
|
||||
REINDEX t1;
|
||||
CREATE UNIQUE INDEX IF NOT EXISTS idx_t3_1118 ON t3(a COLLATE NOCASE) WHERE +a > 0;
|
||||
DROP INDEX IF EXISTS t2;
|
||||
WITH _m AS MATERIALIZED (SELECT * FROM T) SELEC_m LAST_VALUE(a) OVER (ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) FROM t3;
|
||||
DETACH DATABASE aux72;
|
||||
ALTER TABLE t1 RENAME COLUMN a TO a_r9525;
|
||||
ROLLBACK;
|
||||
ALTER TABLE t3 RENAME COLUMN a TO a_r8773;
|
||||
PRAGMA defer_foreign_keys = TRUE;
|
||||
CREATE TABLE T (
|
||||
a TEXT,
|
||||
b TEXT
|
||||
);
|
||||
INSERT INTO T VALUES ('a','b'), ('c','d');
|
||||
SELECT * FROM T WHERE +a = REPLACE('a;',';','') AND b = 'b';
|
||||
SELECT * FROM t2;
|
||||
PRAGMA wal_checkpoint('RESTART');
|
||||
INSERT INTO t1 VALUES (NULL);
|
||||
INSERT INTO t1 VALUES (NULL) ON CONFLICT(a) DO UPDATE SET a = excluded.a;
|
||||
CREATE TABLE t1(a INTEGER PRIMARY KEY, b TEXT, c INT, d INT);
|
||||
INSERT INTO t1 VALUES (log10(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
|
||||
BEGIN TRANSACTION;
|
||||
ATTACH DATABASE ':memory:' AS aux72;
|
||||
BEGIN DEFERRED;
|
||||
CREATE TABLE t1(a);
|
||||
INSERT INTO t1 VALUES('abc'),('def'),('ghi');
|
||||
CREATE TABLE t2(a);
|
||||
INSERT INTO t2 VALUES('DEF'),('abc');
|
||||
CREATE TABLE t3(a);
|
||||
INSERT INTO t3 VALUES('def'),('jkl');
|
||||
SELECT a FROM t1 EXCEPT SELECT a FROM t2 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE binary;
|
||||
DELETE FROM t2;
|
||||
DELETE FROM t3;
|
||||
INSERT INTO t2 VALUES('ABC'),('def'),('GHI'),('jkl');
|
||||
INSERT INTO t3 SELECT lower(a) FROM t2;
|
||||
SELECT a COLLATE nocase FROM t2 EXCEPT SELECT a FROM t3 ORDER BY 1
|
||||
|
||||
CREATE TABLE t1(a);
|
||||
INSERT INTO t1 VALUES('abc'),('def'),('ghi');
|
||||
CREATE TABLE t2(a);
|
||||
INSERT INTO t2 VALUES('DEF'),('abc');
|
||||
CREATE TABLE t3(a);
|
||||
INSERT INTO t3 VALUES('def'),('jkl');
|
||||
SELECT a FROM t1 EXCEPT SELECT a FROM t2 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE binary;
|
||||
DELETE FROM t2;
|
||||
DELETE FROM t3;
|
||||
INSERT INTO t2 VALUES('ABC'),('def'),('GHI'),('jkl');
|
||||
INSERT INTO t3 SELECT lower(a) FROM t2;
|
||||
SELECT a COLLATE nocase FROM t2 EXCEPT SELECT a FROM t3 ORDER BY 1
|
||||
|
||||
CREATE TABLE t1(a);
|
||||
INSERT INTO t1 VALUES('abc'),('def'),('ghi');
|
||||
CREATE TABLE t2(a);
|
||||
INSERT INTO t2 VALUES('DEF'),('abc');
|
||||
CREATE TABLE t3(a);
|
||||
INSERT INTO t3 VALUES('def'),('jkl');
|
||||
SELECT a FROM t1 EXCEPT SELECT a FROM t2 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE binary;
|
||||
DELETE FROM t2;
|
||||
DELETE FROM t3;
|
||||
INSERT INTO t2 VALUES('ABC'),('def'),('GHI'),('jkl');
|
||||
INSERT INTO t3 SELECT lower(a) FROM t2;
|
||||
SELECT a COLLATE nocase FROM t2 EXCEPT SELECT a FROM t3 ORDER BY 1
|
||||
|
||||
CREATE TABLE t1(a);
|
||||
INSERT INTO t1 VALUES('abc'),('def'),('ghi');
|
||||
CREATE TABLE t2(a);
|
||||
INSERT INTO t2 VALUES('DEF'),('abc');
|
||||
CREATE TABLE t3(a);
|
||||
INSERT INTO t3 VALUES('def'),('jkl');
|
||||
SELECT a FROM t1 EXCEPT SELECT a FROM t2 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE binary;
|
||||
DELETE FROM t2;
|
||||
DELETE FROM t3;
|
||||
INSERT INTO t2 VALUES('ABC'),('def'),('GHI'),('jkl');
|
||||
INSERT INTO t3 SELECT lower(a) FROM t2;
|
||||
SELECT a COLLATE nocase FROM t2 EXCEPT SELECT a FROM t3 ORDER BY 1
|
||||
|
||||
|
||||
COMMIT;
|
||||
REINDEX t1;
|
||||
CREATE UNIQUE INDEX IF NOT EXISTS idx_t3_1118 ON t3(a COLLATE NOCASE) WHERE +a > 0;
|
||||
DROP INDEX IF EXISTS t2;
|
||||
SELECT LAST_VALUE(a) OVER (ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) FROM t3;
|
||||
DETACH DATABASE aux72;
|
||||
ALTER TABLE t1 RENAME COLUMN a TO a_r9525;
|
||||
ROLLBACK;
|
||||
ALTER TABLE t3 RENAME COLUMN a TO a_r8773;
|
||||
PRAGMA defer_foreign_keys = TRUE;
|
||||
SELECT * FROM t2;
|
||||
PRAGMA wal_checkpoint('RESTART');
|
||||
INSERT INTO t1 VALUES (NULL);
|
||||
INSERT INTO t1 VALUES (NULL) ON CONFLICT(a) DO UPDATE SET a = excluded.a;
|
||||
CREATE TABLE t1(a INTEGER PRIMARY KEY, b TEXT, c INT, d INT);
|
||||
INSERT INTO t1 VALUES (log10(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
|
||||
BEGIN TRANSACTION;
|
||||
ATTACH DATABASE ':memory:' AS aux72;
|
||||
BEGIN DEFERRED;
|
||||
CREATE TABLE t1(a);
|
||||
INSERT INTO t1 VALUES('abc'),('def'),('ghi');
|
||||
CREATE TABLE t2(a);
|
||||
INSERT INTO t2 VALUES('DEF'),('abc');
|
||||
CREATE TABLE t3(a);
|
||||
INSERT INTO t3 VALUES('def'),('jkl');
|
||||
SELECT a FROM t1 EXCEPT SELECT a FROM t2 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE binary;
|
||||
DELETE FROM t2;
|
||||
DELETE FROM t3;
|
||||
INSERT INTO t2 VALUES('ABC'),('def'),('GHI'),('jkl');
|
||||
INSERT INTO t3 SELECT lower(a) FROM t2;
|
||||
SELECT a COLLATE nocase FROM t2 EXCEPT SELECT a FROM t3 ORDER BY 1
|
||||
|
||||
CREATE TABLE t1(a);
|
||||
INSERT INTO t1 VALUES('abc'),('def'),('ghi');
|
||||
CREATE TABLE t2(a);
|
||||
INSERT INTO t2 VALUES('DEF'),('abc');
|
||||
CREATE TABLE t3(a);
|
||||
INSERT INTO t3 VALUES('def'),('jkl');
|
||||
SELECT a FROM t1 EXCEPT SELECT a FROM t2 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE binary;
|
||||
DELETE FROM t2;
|
||||
DELETE FROM t3;
|
||||
INSERT INTO t2 VALUES('ABC'),('def'),('GHI'),('jkl');
|
||||
INSERT INTO t3 SELECT lower(a) FROM t2;
|
||||
SELECT a COLLATE nocase FROM t2 EXCEPT SELECT a FROM t3 ORDER BY 1
|
||||
|
||||
CREATE TABLE t1(a);
|
||||
INSERT INTO t1 VALUES('abc'),('def'),('ghi');
|
||||
CREATE TABLE t2(a);
|
||||
INSERT INTO t2 VALUES('DEF'),('abc');
|
||||
CREATE TABLE t3(a);
|
||||
INSERT INTO t3 VALUES('def'),('jkl');
|
||||
SELECT a FROM t1 EXCEPT SELECT a FROM t2 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE binary;
|
||||
DELETE FROM t2;
|
||||
DELETE FROM t3;
|
||||
INSERT INTO t2 VALUES('ABC'),('def'),('GHI'),('jkl');
|
||||
INSERT INTO t3 SELECT lower(a) FROM t2;
|
||||
SELECT a COLLATE nocase FROM t2 EXCEPT SELECT a FROM t3 ORDER BY 1
|
||||
|
||||
CREATE TABLE t1(a);
|
||||
INSERT INTO t1 VALUES('abc'),('def'),('ghi');
|
||||
CREATE TABLE t2(a);
|
||||
INSERT INTO t2 VALUES('DEF'),('abc');
|
||||
CREATE TABLE t3(a);
|
||||
INSERT INTO t3 VALUES('def'),('jkl');
|
||||
SELECT a FROM t1 EXCEPT SELECT a FROM t2 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE binary;
|
||||
DELETE FROM t2;
|
||||
DELETE FROM t3;
|
||||
INSERT INTO t2 VALUES('ABC'),('def'),('GHI'),('jkl');
|
||||
INSERT INTO t3 SELECT lower(a) FROM t2;
|
||||
SELECT a COLLATE nocase FROM t2 EXCEPT SELECT a FROM t3 ORDER BY 1
|
||||
|
||||
|
||||
COMMIT;
|
||||
REINDEX t1;
|
||||
CREATE UNIQUE INDEX IF NOT EXISTS idx_t3_1118 ON t3(a COLLATE NOCASE) WHERE +a > 0;
|
||||
DROP INDEX IF EXISTS t2;
|
||||
SELECT LAST_VALUE(a) OVER (ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) FROM t3;
|
||||
DETACH DATABASE aux72;
|
||||
ALTER TABLE t1 RENAME COLUMN a TO a_r9525;
|
||||
ROLLBACK;
|
||||
ALTER TABLE t3 RENAME COLUMN a TO a_r8773;
|
||||
PRAGMA defer_foreign_keys = TRUE;
|
||||
SELECT * FROM t2;
|
||||
PRAGMA wal_checkpoint('RESTART');
|
||||
INSERT INTO t1 VALUES (NULL);
|
||||
INSERT INTO t1 VALUES (NULL) ON CONFLICT(a) DO UPDATE SET a = excluded.a;
|
||||
INSERT INTO t1 VALUES (NULL) ON CONFLICT(a) DO UPDATE SET a = excluded.a;
|
||||
INSERT INTO t1 DEFAULT VALUES;
|
||||
CREATE TEMP VIEW IF NOT EXISTS v_t2_4298 AS SELECT a FROM t2;
|
||||
SELECT * FROM t1 WHERE a <= ANY (SELECT a FROM t1);
|
||||
INSERT INTO t3 DEFAULT VALUES;
|
||||
DELETE FROM t1 WHERE a IS NULL;
|
||||
INSERT INTO t2 SELECT * FROM t2;
|
||||
RELEASE sp9990;
|
||||
INSERT INTO t2 SELECT * FROM t2;
|
||||
SELECT GROUP_CONCAT(a, '.') OVER (PARTITION BY a ORDER BY a ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING EXCLUDE GROUP) FROM t3;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_t3_7930 BEFORE DELETE ON t3 BEGIN INSERT INTO t3(a) VALUES (NULL); END;
|
||||
SELECT COUNT(*) FROM t2;
|
||||
DELETE FROM t2 WHERE a IS NULL;
|
||||
CREATE INDEX IF NOT EXISTS idx_t1_5741 ON t1(a COLLATE NOCASE);
|
||||
DELETE FROM t3 WHERE a IS NULL RETURNING *;
|
||||
ALTER TABLE t1 RENAME COLUMN a TO a_r2002;
|
||||
SELECT COUNT(*) FROM t1;
|
||||
CREATE INDEX IF NOT EXISTS idx_t1_9369 ON t1(lower(a));
|
||||
SELECT GROUP_CONCAT(a) OVER (ORDER BY a) FROM t2;
|
||||
INSERT INTO t2 VALUES (1) ON CONFLICT(a) DO UPDATE SET a = excluded.a;
|
||||
CREATE UNIQUE INDEX IF NOT EXISTS idx_t2_1124 ON t2((a + 1)) WHERE a IS NOT NULL;
|
||||
ALTER TABLE t1 RENAME COLUMN a TO a_r6325;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_t3_5012 BEFORE DELETE ON t3 FOR EACH ROW BEGIN INSERT INTO t3(a) VALUES (NULL); END;
|
||||
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 t3;
|
||||
INSERT INTO t1 VALUES (NULL);
|
||||
WITH cte AS (SELECT NULL AS x) SELECT * FROM cte;
|
||||
WITH RECURSIVE self(x) AS (SELECT 1 UNION ALL SELECT x FROM self) SELECT * FROM self LIMIT 5;
|
||||
ROLLBACK TO sp8760;
|
||||
RELEASE sp8760;
|
||||
INSERT OR ABORT INTO t3 VALUES ('');
|
||||
ALTER TABLE t2 RENAME TO t2_r9030;
|
||||
DETACH DATABASE aux44;
|
||||
INSERT OR ROLLBACK INTO t3 VALUES ('x');
|
||||
CREATE TRIGGER IF NOT EXISTS trg_t1_4886 BEFORE UPDATE OF a ON t1 BEGIN SELECT RAISE(ABORT, 'abort'); END;
|
||||
REINDEX;
|
||||
INSERT INTO t3 DEFAULT VALUES;
|
||||
INSERT INTO t2 DEFAULT VALUES;
|
||||
ALTER TABLE T RENAME TO T_r523;
|
||||
INSERT OR REPLACE INTO T VALUES (NULL, NULL);
|
||||
INSERT INTO t2 VALUES (1) ON CONFLICT(a) DO UPDATE SET a = excluded.a;
|
||||
SELECT * FROM t3 AS a INNER JOIN t3 AS b ON a.rowid = b.rowid;
|
||||
END TRANSACTION;
|
||||
INSERT OR ROLLBACK INTO t2 VALUES (NULL);
|
||||
INSERT INTO t1 SELECT * FROM t1;
|
||||
ALTER TABLE T RENAME COLUMN b TO b_r7423;
|
||||
ALTER TABLE t3 RENAME COLUMN a TO a_r690;
|
||||
SELECT MAX(a) FROM t3;
|
||||
SELECT STRING_AGG(a, '|') FROM t1;
|
||||
ALTER TABLE T ADD COLUMN extra_3305 FLOAT DEFAULT (abs(random()) % 1000);
|
||||
INSERT INTO t3 VALUES (NULL);
|
||||
VACUUM;
|
||||
CREATE VIEW IF NOT EXISTS v_t1_3865 AS SELECT a FROM t1;
|
||||
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 t1;
|
||||
SELECT * FROM t1 AS a JOIN T AS b ON a.rowid = b.rowid;
|
||||
WITH cte AS (SELECT a, SUM(a) AS total FROM t2 GROUP BY a) SELECT * FROM cte ORDER BY total DESC;
|
||||
INSERT INTO t1 VALUES (NULL);
|
||||
ANALYZE T;
|
||||
WITH RECURSIVE cnt(x) AS (VALUES(1) UNION ALL SELECT x+1 FROM cnt WHERE x<1) SELECT * FROM cnt;
|
||||
ALTER TABLE T ADD COLUMN extra_190 DATE DEFAULT 0;
|
||||
WITH cte AS (SELECT b FROM T UNION SELECT b FROM T) SELECT * FROM cte;
|
||||
DROP VIEW IF EXISTS t2;
|
||||
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 t2;
|
||||
SELECT * FROM t3 AS a LEFT JOIN t2 AS b ON a.rowid = b.rowid;
|
||||
SELECT * FROM t2;
|
||||
ALTER TABLE t1 RENAME COLUMN a TO a_r4594;
|
||||
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;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_t1_5962 AFTER UPDATE ON t1 BEGIN SELECT RAISE(FAIL, 'no'); END;
|
||||
INSERT INTO T SELECT * FROM T;
|
||||
DROP TABLE IF EXISTS t1;
|
||||
INSERT OR FAIL INTO t2 VALUES (0);
|
||||
ALTER TABLE T ADD COLUMN extra_1673 CHARINT;
|
||||
PRAGMA fullsync = OFF;
|
||||
INSERT INTO T SELECT * FROM T;
|
||||
SELECT MAX(a) FROM t1;
|
||||
INSERT INTO T DEFAULT VALUES;
|
||||
SELECT * FROM t3 AS a JOIN t1 AS b ON a.rowid = b.rowid;
|
||||
INSERT OR ABORT INTO t3 VALUES ('x');
|
||||
```
|
||||
|
||||
## Actual output
|
||||
|
||||
```sql
|
||||
CREATE TABLE "t2"("b","c","_ROWID_",PRIMARY KEY("b","c","_ROWID_"))WITHOUT ROWID;
|
||||
WARNING: writing to an imposter table will corrupt the "t1bc" index!
|
||||
Braun|30|3
|
||||
von|20|2
|
||||
Braun|30
|
||||
von|20
|
||||
```
|
||||
|
||||
## Expectation
|
||||
|
||||
```sql
|
||||
|
||||
```
|
||||
|
||||
## Flag
|
||||
|
||||
```
|
||||
|
||||
```
|
||||
|
||||
@@ -0,0 +1,651 @@
|
||||
## 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
|
||||
SAVEPOINT sp8595;
|
||||
SAVEPOINT sp6434;
|
||||
CREATE TABLE T (
|
||||
a TEXT,
|
||||
b TEXT
|
||||
);
|
||||
INSERT INTO T VALUES ('a','b'), ('c','d');
|
||||
SELECT * FROM T WHERE a <= REPLACE('a;',';','') AND b = 'b';
|
||||
SELECT GROUP_CONCAT(b, '|') FROM T;
|
||||
ROLLBACK TRANSACTION TO SAVEPOINT sp6434;
|
||||
RELEASE SAVEPOINT sp6434;
|
||||
ROLLBACK TRANSACTION TO SAVEPOINT sp8595;
|
||||
RELEASE SAVEPOINT sp8595;
|
||||
```
|
||||
|
||||
## Actual output
|
||||
|
||||
```sql
|
||||
Memory Used: 62608 (max 62608) bytes
|
||||
Number of Outstanding Allocations: 122 (max 122)
|
||||
Number of Pcache Overflow Bytes: 4104 (max 4104) bytes
|
||||
Largest Allocation: 48000 bytes
|
||||
Largest Pcache Allocation: 4104 bytes
|
||||
Lookaside Slots Used: 37 (max 37)
|
||||
Successful lookaside attempts: 37
|
||||
Lookaside failures due to size: 0
|
||||
Lookaside failures due to OOM: 0
|
||||
Pager Heap Usage: 4904 bytes
|
||||
Page cache hits: 0
|
||||
Page cache misses: 0
|
||||
Page cache writes: 0
|
||||
Page cache spills: 0
|
||||
Schema Heap Usage: 0 bytes
|
||||
Statement Heap/Lookaside Usage: 2656 bytes
|
||||
Fullscan Steps: 0
|
||||
Sort Operations: 0
|
||||
Autoindex Inserts: 0
|
||||
Virtual Machine Steps: 3
|
||||
Reprepare operations: 0
|
||||
Number of times run: 1
|
||||
Memory used by prepared stmt: 2656
|
||||
Bytes received by read(): 6663
|
||||
Bytes sent to write(): 0
|
||||
Read() system calls: 13
|
||||
Write() system calls: 0
|
||||
Bytes read from storage: 0
|
||||
Bytes written to storage: 0
|
||||
Cancelled write bytes: 0
|
||||
Memory Used: 62608 (max 62608) bytes
|
||||
Number of Outstanding Allocations: 122 (max 122)
|
||||
Number of Pcache Overflow Bytes: 4104 (max 4104) bytes
|
||||
Largest Allocation: 48000 bytes
|
||||
Largest Pcache Allocation: 4104 bytes
|
||||
Lookaside Slots Used: 38 (max 38)
|
||||
Successful lookaside attempts: 42
|
||||
Lookaside failures due to size: 0
|
||||
Lookaside failures due to OOM: 0
|
||||
Pager Heap Usage: 4904 bytes
|
||||
Page cache hits: 0
|
||||
Page cache misses: 0
|
||||
Page cache writes: 0
|
||||
Page cache spills: 0
|
||||
Schema Heap Usage: 0 bytes
|
||||
Statement Heap/Lookaside Usage: 2656 bytes
|
||||
Fullscan Steps: 0
|
||||
Sort Operations: 0
|
||||
Autoindex Inserts: 0
|
||||
Virtual Machine Steps: 3
|
||||
Reprepare operations: 0
|
||||
Number of times run: 1
|
||||
Memory used by prepared stmt: 2656
|
||||
Bytes received by read(): 6757
|
||||
Bytes sent to write(): 1285
|
||||
Read() system calls: 15
|
||||
Write() system calls: 1
|
||||
Bytes read from storage: 0
|
||||
Bytes written to storage: 0
|
||||
Cancelled write bytes: 0
|
||||
Memory Used: 86232 (max 86752) bytes
|
||||
Number of Outstanding Allocations: 171 (max 176)
|
||||
Number of Pcache Overflow Bytes: 16928 (max 16928) bytes
|
||||
Largest Allocation: 48000 bytes
|
||||
Largest Pcache Allocation: 4360 bytes
|
||||
Lookaside Slots Used: 34 (max 90)
|
||||
Successful lookaside attempts: 117
|
||||
Lookaside failures due to size: 0
|
||||
Lookaside failures due to OOM: 0
|
||||
Pager Heap Usage: 13592 bytes
|
||||
Page cache hits: 4
|
||||
Page cache misses: 0
|
||||
Page cache writes: 0
|
||||
Page cache spills: 0
|
||||
Schema Heap Usage: 1008 bytes
|
||||
Statement Heap/Lookaside Usage: 2416 bytes
|
||||
Fullscan Steps: 0
|
||||
Sort Operations: 0
|
||||
Autoindex Inserts: 0
|
||||
Virtual Machine Steps: 30
|
||||
Reprepare operations: 0
|
||||
Number of times run: 1
|
||||
Memory used by prepared stmt: 2416
|
||||
Bytes received by read(): 7110
|
||||
Bytes sent to write(): 2573
|
||||
Read() system calls: 18
|
||||
Write() system calls: 2
|
||||
Bytes read from storage: 0
|
||||
Bytes written to storage: 0
|
||||
Cancelled write bytes: 0
|
||||
Memory Used: 83840 (max 86752) bytes
|
||||
Number of Outstanding Allocations: 160 (max 176)
|
||||
Number of Pcache Overflow Bytes: 16928 (max 16928) bytes
|
||||
Largest Allocation: 48000 bytes
|
||||
Largest Pcache Allocation: 4360 bytes
|
||||
Lookaside Slots Used: 44 (max 90)
|
||||
Successful lookaside attempts: 143
|
||||
Lookaside failures due to size: 0
|
||||
Lookaside failures due to OOM: 0
|
||||
Pager Heap Usage: 13592 bytes
|
||||
Page cache hits: 1
|
||||
Page cache misses: 0
|
||||
Page cache writes: 0
|
||||
Page cache spills: 0
|
||||
Schema Heap Usage: 1032 bytes
|
||||
Statement Heap/Lookaside Usage: 3424 bytes
|
||||
Fullscan Steps: 0
|
||||
Sort Operations: 0
|
||||
Autoindex Inserts: 0
|
||||
Virtual Machine Steps: 24
|
||||
Reprepare operations: 0
|
||||
Number of times run: 1
|
||||
Memory used by prepared stmt: 3424
|
||||
Bytes received by read(): 7207
|
||||
Bytes sent to write(): 3869
|
||||
Read() system calls: 20
|
||||
Write() system calls: 3
|
||||
Bytes read from storage: 0
|
||||
Bytes written to storage: 0
|
||||
Cancelled write bytes: 0
|
||||
a|b
|
||||
Memory Used: 83840 (max 86752) bytes
|
||||
Number of Outstanding Allocations: 160 (max 176)
|
||||
Number of Pcache Overflow Bytes: 16928 (max 16928) bytes
|
||||
Largest Allocation: 48000 bytes
|
||||
Largest Pcache Allocation: 4360 bytes
|
||||
Lookaside Slots Used: 53 (max 90)
|
||||
Successful lookaside attempts: 200
|
||||
Lookaside failures due to size: 0
|
||||
Lookaside failures due to OOM: 0
|
||||
Pager Heap Usage: 13592 bytes
|
||||
Page cache hits: 1
|
||||
Page cache misses: 0
|
||||
Page cache writes: 0
|
||||
Page cache spills: 0
|
||||
Schema Heap Usage: 1032 bytes
|
||||
Statement Heap/Lookaside Usage: 5648 bytes
|
||||
Fullscan Steps: 1
|
||||
Sort Operations: 0
|
||||
Autoindex Inserts: 0
|
||||
Virtual Machine Steps: 24
|
||||
Reprepare operations: 0
|
||||
Number of times run: 1
|
||||
Memory used by prepared stmt: 5648
|
||||
Bytes received by read(): 7304
|
||||
Bytes sent to write(): 5165
|
||||
Read() system calls: 22
|
||||
Write() system calls: 4
|
||||
Bytes read from storage: 0
|
||||
Bytes written to storage: 0
|
||||
Cancelled write bytes: 0
|
||||
b|d
|
||||
Memory Used: 83840 (max 86752) bytes
|
||||
Number of Outstanding Allocations: 160 (max 176)
|
||||
Number of Pcache Overflow Bytes: 16928 (max 16928) bytes
|
||||
Largest Allocation: 48000 bytes
|
||||
Largest Pcache Allocation: 4360 bytes
|
||||
Lookaside Slots Used: 44 (max 90)
|
||||
Successful lookaside attempts: 231
|
||||
Lookaside failures due to size: 0
|
||||
Lookaside failures due to OOM: 0
|
||||
Pager Heap Usage: 13592 bytes
|
||||
Page cache hits: 1
|
||||
Page cache misses: 0
|
||||
Page cache writes: 0
|
||||
Page cache spills: 0
|
||||
Schema Heap Usage: 1032 bytes
|
||||
Statement Heap/Lookaside Usage: 3424 bytes
|
||||
Fullscan Steps: 1
|
||||
Sort Operations: 0
|
||||
Autoindex Inserts: 0
|
||||
Virtual Machine Steps: 18
|
||||
Reprepare operations: 0
|
||||
Number of times run: 1
|
||||
Memory used by prepared stmt: 3424
|
||||
Bytes received by read(): 7401
|
||||
Bytes sent to write(): 6465
|
||||
Read() system calls: 24
|
||||
Write() system calls: 5
|
||||
Bytes read from storage: 0
|
||||
Bytes written to storage: 0
|
||||
Cancelled write bytes: 0
|
||||
Memory Used: 82784 (max 86752) bytes
|
||||
Number of Outstanding Allocations: 134 (max 176)
|
||||
Number of Pcache Overflow Bytes: 16928 (max 16928) bytes
|
||||
Largest Allocation: 48000 bytes
|
||||
Largest Pcache Allocation: 4360 bytes
|
||||
Lookaside Slots Used: 38 (max 90)
|
||||
Successful lookaside attempts: 235
|
||||
Lookaside failures due to size: 0
|
||||
Lookaside failures due to OOM: 0
|
||||
Pager Heap Usage: 13592 bytes
|
||||
Page cache hits: 0
|
||||
Page cache misses: 0
|
||||
Page cache writes: 0
|
||||
Page cache spills: 0
|
||||
Schema Heap Usage: 0 bytes
|
||||
Statement Heap/Lookaside Usage: 2656 bytes
|
||||
Fullscan Steps: 0
|
||||
Sort Operations: 0
|
||||
Autoindex Inserts: 0
|
||||
Virtual Machine Steps: 3
|
||||
Reprepare operations: 0
|
||||
Number of times run: 1
|
||||
Memory used by prepared stmt: 2656
|
||||
Bytes received by read(): 7498
|
||||
Bytes sent to write(): 7765
|
||||
Read() system calls: 26
|
||||
Write() system calls: 6
|
||||
Bytes read from storage: 0
|
||||
Bytes written to storage: 0
|
||||
Cancelled write bytes: 0
|
||||
Memory Used: 77104 (max 86752) bytes
|
||||
Number of Outstanding Allocations: 128 (max 176)
|
||||
Number of Pcache Overflow Bytes: 16928 (max 16928) bytes
|
||||
Largest Allocation: 48000 bytes
|
||||
Largest Pcache Allocation: 4360 bytes
|
||||
Lookaside Slots Used: 37 (max 90)
|
||||
Successful lookaside attempts: 239
|
||||
Lookaside failures due to size: 0
|
||||
Lookaside failures due to OOM: 0
|
||||
Pager Heap Usage: 13592 bytes
|
||||
Page cache hits: 0
|
||||
Page cache misses: 0
|
||||
Page cache writes: 0
|
||||
Page cache spills: 0
|
||||
Schema Heap Usage: 0 bytes
|
||||
Statement Heap/Lookaside Usage: 2656 bytes
|
||||
Fullscan Steps: 0
|
||||
Sort Operations: 0
|
||||
Autoindex Inserts: 0
|
||||
Virtual Machine Steps: 3
|
||||
Reprepare operations: 0
|
||||
Number of times run: 1
|
||||
Memory used by prepared stmt: 2656
|
||||
Bytes received by read(): 7595
|
||||
Bytes sent to write(): 9057
|
||||
Read() system calls: 28
|
||||
Write() system calls: 7
|
||||
Bytes read from storage: 0
|
||||
Bytes written to storage: 0
|
||||
Cancelled write bytes: 0
|
||||
Memory Used: 77104 (max 86752) bytes
|
||||
Number of Outstanding Allocations: 128 (max 176)
|
||||
Number of Pcache Overflow Bytes: 16928 (max 16928) bytes
|
||||
Largest Allocation: 48000 bytes
|
||||
Largest Pcache Allocation: 4360 bytes
|
||||
Lookaside Slots Used: 37 (max 90)
|
||||
Successful lookaside attempts: 243
|
||||
Lookaside failures due to size: 0
|
||||
Lookaside failures due to OOM: 0
|
||||
Pager Heap Usage: 13592 bytes
|
||||
Page cache hits: 0
|
||||
Page cache misses: 0
|
||||
Page cache writes: 0
|
||||
Page cache spills: 0
|
||||
Schema Heap Usage: 0 bytes
|
||||
Statement Heap/Lookaside Usage: 2656 bytes
|
||||
Fullscan Steps: 0
|
||||
Sort Operations: 0
|
||||
Autoindex Inserts: 0
|
||||
Virtual Machine Steps: 3
|
||||
Reprepare operations: 0
|
||||
Number of times run: 1
|
||||
Memory used by prepared stmt: 2656
|
||||
Bytes received by read(): 7692
|
||||
Bytes sent to write(): 10349
|
||||
Read() system calls: 30
|
||||
Write() system calls: 8
|
||||
Bytes read from storage: 0
|
||||
Bytes written to storage: 0
|
||||
Cancelled write bytes: 0
|
||||
Memory Used: 71072 (max 86752) bytes
|
||||
Number of Outstanding Allocations: 124 (max 176)
|
||||
Number of Pcache Overflow Bytes: 12568 (max 16928) bytes
|
||||
Largest Allocation: 48000 bytes
|
||||
Largest Pcache Allocation: 4360 bytes
|
||||
Lookaside Slots Used: 36 (max 90)
|
||||
Successful lookaside attempts: 247
|
||||
Lookaside failures due to size: 0
|
||||
Lookaside failures due to OOM: 0
|
||||
Pager Heap Usage: 9248 bytes
|
||||
Page cache hits: 0
|
||||
Page cache misses: 0
|
||||
Page cache writes: 0
|
||||
Page cache spills: 0
|
||||
Schema Heap Usage: 0 bytes
|
||||
Statement Heap/Lookaside Usage: 2656 bytes
|
||||
Fullscan Steps: 0
|
||||
Sort Operations: 0
|
||||
Autoindex Inserts: 0
|
||||
Virtual Machine Steps: 2
|
||||
Reprepare operations: 0
|
||||
Number of times run: 1
|
||||
Memory used by prepared stmt: 2656
|
||||
Bytes received by read(): 7790
|
||||
Bytes sent to write(): 11642
|
||||
Read() system calls: 33
|
||||
Write() system calls: 9
|
||||
Bytes read from storage: 0
|
||||
Bytes written to storage: 0
|
||||
Cancelled write bytes: 0
|
||||
```
|
||||
|
||||
## Expectation
|
||||
|
||||
```sql
|
||||
Memory Used: 63416 (max 63416) bytes
|
||||
Number of Outstanding Allocations: 132 (max 132)
|
||||
Number of Pcache Overflow Bytes: 4104 (max 4104) bytes
|
||||
Largest Allocation: 48000 bytes
|
||||
Largest Pcache Allocation: 4104 bytes
|
||||
Lookaside Slots Used: 53 (max 53)
|
||||
Successful lookaside attempts: 53
|
||||
Lookaside failures due to size: 0
|
||||
Lookaside failures due to OOM: 0
|
||||
Pager Heap Usage: 4904 bytes
|
||||
Page cache hits: 0
|
||||
Page cache misses: 0
|
||||
Page cache writes: 0
|
||||
Page cache spills: 0
|
||||
Temporary data spilled to disk: 0
|
||||
Schema Heap Usage: 0 bytes
|
||||
Statement Heap/Lookaside Usage: 2656 bytes
|
||||
Fullscan Steps: 0
|
||||
Sort Operations: 0
|
||||
Autoindex Inserts: 0
|
||||
Virtual Machine Steps: 4
|
||||
Reprepare operations: 0
|
||||
Number of times run: 1
|
||||
Memory used by prepared stmt: 2656
|
||||
Bytes received by read(): 7439
|
||||
Bytes sent to write(): 0
|
||||
Read() system calls: 14
|
||||
Write() system calls: 0
|
||||
Bytes read from storage: 0
|
||||
Bytes written to storage: 0
|
||||
Cancelled write bytes: 0
|
||||
Memory Used: 63416 (max 63416) bytes
|
||||
Number of Outstanding Allocations: 132 (max 132)
|
||||
Number of Pcache Overflow Bytes: 4104 (max 4104) bytes
|
||||
Largest Allocation: 48000 bytes
|
||||
Largest Pcache Allocation: 4104 bytes
|
||||
Lookaside Slots Used: 54 (max 54)
|
||||
Successful lookaside attempts: 58
|
||||
Lookaside failures due to size: 0
|
||||
Lookaside failures due to OOM: 0
|
||||
Pager Heap Usage: 4904 bytes
|
||||
Page cache hits: 0
|
||||
Page cache misses: 0
|
||||
Page cache writes: 0
|
||||
Page cache spills: 0
|
||||
Temporary data spilled to disk: 0
|
||||
Schema Heap Usage: 0 bytes
|
||||
Statement Heap/Lookaside Usage: 2656 bytes
|
||||
Fullscan Steps: 0
|
||||
Sort Operations: 0
|
||||
Autoindex Inserts: 0
|
||||
Virtual Machine Steps: 4
|
||||
Reprepare operations: 0
|
||||
Number of times run: 1
|
||||
Memory used by prepared stmt: 2656
|
||||
Bytes received by read(): 7533
|
||||
Bytes sent to write(): 1324
|
||||
Read() system calls: 16
|
||||
Write() system calls: 1
|
||||
Bytes read from storage: 0
|
||||
Bytes written to storage: 0
|
||||
Cancelled write bytes: 0
|
||||
Memory Used: 86688 (max 87200) bytes
|
||||
Number of Outstanding Allocations: 181 (max 186)
|
||||
Number of Pcache Overflow Bytes: 16936 (max 16936) bytes
|
||||
Largest Allocation: 48000 bytes
|
||||
Largest Pcache Allocation: 4368 bytes
|
||||
Lookaside Slots Used: 50 (max 99)
|
||||
Successful lookaside attempts: 126
|
||||
Lookaside failures due to size: 0
|
||||
Lookaside failures due to OOM: 0
|
||||
Pager Heap Usage: 13608 bytes
|
||||
Page cache hits: 4
|
||||
Page cache misses: 0
|
||||
Page cache writes: 0
|
||||
Page cache spills: 0
|
||||
Temporary data spilled to disk: 0
|
||||
Schema Heap Usage: 856 bytes
|
||||
Statement Heap/Lookaside Usage: 2304 bytes
|
||||
Fullscan Steps: 0
|
||||
Sort Operations: 0
|
||||
Autoindex Inserts: 0
|
||||
Virtual Machine Steps: 30
|
||||
Reprepare operations: 0
|
||||
Number of times run: 1
|
||||
Memory used by prepared stmt: 2304
|
||||
Bytes received by read(): 7630
|
||||
Bytes sent to write(): 2651
|
||||
Read() system calls: 18
|
||||
Write() system calls: 2
|
||||
Bytes read from storage: 0
|
||||
Bytes written to storage: 0
|
||||
Cancelled write bytes: 0
|
||||
Memory Used: 84392 (max 87200) bytes
|
||||
Number of Outstanding Allocations: 170 (max 186)
|
||||
Number of Pcache Overflow Bytes: 16936 (max 16936) bytes
|
||||
Largest Allocation: 48000 bytes
|
||||
Largest Pcache Allocation: 4368 bytes
|
||||
Lookaside Slots Used: 61 (max 99)
|
||||
Successful lookaside attempts: 158
|
||||
Lookaside failures due to size: 0
|
||||
Lookaside failures due to OOM: 0
|
||||
Pager Heap Usage: 13608 bytes
|
||||
Page cache hits: 1
|
||||
Page cache misses: 0
|
||||
Page cache writes: 0
|
||||
Page cache spills: 0
|
||||
Temporary data spilled to disk: 0
|
||||
Schema Heap Usage: 864 bytes
|
||||
Statement Heap/Lookaside Usage: 4624 bytes
|
||||
Fullscan Steps: 0
|
||||
Sort Operations: 0
|
||||
Autoindex Inserts: 0
|
||||
Virtual Machine Steps: 24
|
||||
Reprepare operations: 0
|
||||
Number of times run: 1
|
||||
Memory used by prepared stmt: 4624
|
||||
Bytes received by read(): 7727
|
||||
Bytes sent to write(): 3985
|
||||
Read() system calls: 20
|
||||
Write() system calls: 3
|
||||
Bytes read from storage: 0
|
||||
Bytes written to storage: 0
|
||||
Cancelled write bytes: 0
|
||||
a|b
|
||||
Memory Used: 84392 (max 87200) bytes
|
||||
Number of Outstanding Allocations: 170 (max 186)
|
||||
Number of Pcache Overflow Bytes: 16936 (max 16936) bytes
|
||||
Largest Allocation: 48000 bytes
|
||||
Largest Pcache Allocation: 4368 bytes
|
||||
Lookaside Slots Used: 65 (max 99)
|
||||
Successful lookaside attempts: 211
|
||||
Lookaside failures due to size: 0
|
||||
Lookaside failures due to OOM: 0
|
||||
Pager Heap Usage: 13608 bytes
|
||||
Page cache hits: 1
|
||||
Page cache misses: 0
|
||||
Page cache writes: 0
|
||||
Page cache spills: 0
|
||||
Temporary data spilled to disk: 0
|
||||
Schema Heap Usage: 864 bytes
|
||||
Statement Heap/Lookaside Usage: 5136 bytes
|
||||
Fullscan Steps: 1
|
||||
Sort Operations: 0
|
||||
Autoindex Inserts: 0
|
||||
Virtual Machine Steps: 24
|
||||
Reprepare operations: 0
|
||||
Number of times run: 1
|
||||
Memory used by prepared stmt: 5136
|
||||
Bytes received by read(): 7824
|
||||
Bytes sent to write(): 5319
|
||||
Read() system calls: 22
|
||||
Write() system calls: 4
|
||||
Bytes read from storage: 0
|
||||
Bytes written to storage: 0
|
||||
Cancelled write bytes: 0
|
||||
b|d
|
||||
Memory Used: 84392 (max 87200) bytes
|
||||
Number of Outstanding Allocations: 170 (max 186)
|
||||
Number of Pcache Overflow Bytes: 16936 (max 16936) bytes
|
||||
Largest Allocation: 48000 bytes
|
||||
Largest Pcache Allocation: 4368 bytes
|
||||
Lookaside Slots Used: 59 (max 99)
|
||||
Successful lookaside attempts: 241
|
||||
Lookaside failures due to size: 0
|
||||
Lookaside failures due to OOM: 0
|
||||
Pager Heap Usage: 13608 bytes
|
||||
Page cache hits: 1
|
||||
Page cache misses: 0
|
||||
Page cache writes: 0
|
||||
Page cache spills: 0
|
||||
Temporary data spilled to disk: 0
|
||||
Schema Heap Usage: 864 bytes
|
||||
Statement Heap/Lookaside Usage: 3296 bytes
|
||||
Fullscan Steps: 1
|
||||
Sort Operations: 0
|
||||
Autoindex Inserts: 0
|
||||
Virtual Machine Steps: 18
|
||||
Reprepare operations: 0
|
||||
Number of times run: 1
|
||||
Memory used by prepared stmt: 3296
|
||||
Bytes received by read(): 7921
|
||||
Bytes sent to write(): 6657
|
||||
Read() system calls: 24
|
||||
Write() system calls: 5
|
||||
Bytes read from storage: 0
|
||||
Bytes written to storage: 0
|
||||
Cancelled write bytes: 0
|
||||
Memory Used: 83528 (max 87200) bytes
|
||||
Number of Outstanding Allocations: 144 (max 186)
|
||||
Number of Pcache Overflow Bytes: 16936 (max 16936) bytes
|
||||
Largest Allocation: 48000 bytes
|
||||
Largest Pcache Allocation: 4368 bytes
|
||||
Lookaside Slots Used: 54 (max 99)
|
||||
Successful lookaside attempts: 245
|
||||
Lookaside failures due to size: 0
|
||||
Lookaside failures due to OOM: 0
|
||||
Pager Heap Usage: 13608 bytes
|
||||
Page cache hits: 0
|
||||
Page cache misses: 0
|
||||
Page cache writes: 0
|
||||
Page cache spills: 0
|
||||
Temporary data spilled to disk: 0
|
||||
Schema Heap Usage: 0 bytes
|
||||
Statement Heap/Lookaside Usage: 2656 bytes
|
||||
Fullscan Steps: 0
|
||||
Sort Operations: 0
|
||||
Autoindex Inserts: 0
|
||||
Virtual Machine Steps: 4
|
||||
Reprepare operations: 0
|
||||
Number of times run: 1
|
||||
Memory used by prepared stmt: 2656
|
||||
Bytes received by read(): 8018
|
||||
Bytes sent to write(): 7995
|
||||
Read() system calls: 26
|
||||
Write() system calls: 6
|
||||
Bytes read from storage: 0
|
||||
Bytes written to storage: 0
|
||||
Cancelled write bytes: 0
|
||||
Memory Used: 77896 (max 87200) bytes
|
||||
Number of Outstanding Allocations: 138 (max 186)
|
||||
Number of Pcache Overflow Bytes: 16936 (max 16936) bytes
|
||||
Largest Allocation: 48000 bytes
|
||||
Largest Pcache Allocation: 4368 bytes
|
||||
Lookaside Slots Used: 53 (max 99)
|
||||
Successful lookaside attempts: 249
|
||||
Lookaside failures due to size: 0
|
||||
Lookaside failures due to OOM: 0
|
||||
Pager Heap Usage: 13608 bytes
|
||||
Page cache hits: 0
|
||||
Page cache misses: 0
|
||||
Page cache writes: 0
|
||||
Page cache spills: 0
|
||||
Temporary data spilled to disk: 0
|
||||
Schema Heap Usage: 0 bytes
|
||||
Statement Heap/Lookaside Usage: 2656 bytes
|
||||
Fullscan Steps: 0
|
||||
Sort Operations: 0
|
||||
Autoindex Inserts: 0
|
||||
Virtual Machine Steps: 4
|
||||
Reprepare operations: 0
|
||||
Number of times run: 1
|
||||
Memory used by prepared stmt: 2656
|
||||
Bytes received by read(): 8115
|
||||
Bytes sent to write(): 9326
|
||||
Read() system calls: 28
|
||||
Write() system calls: 7
|
||||
Bytes read from storage: 0
|
||||
Bytes written to storage: 0
|
||||
Cancelled write bytes: 0
|
||||
Memory Used: 77896 (max 87200) bytes
|
||||
Number of Outstanding Allocations: 138 (max 186)
|
||||
Number of Pcache Overflow Bytes: 16936 (max 16936) bytes
|
||||
Largest Allocation: 48000 bytes
|
||||
Largest Pcache Allocation: 4368 bytes
|
||||
Lookaside Slots Used: 53 (max 99)
|
||||
Successful lookaside attempts: 253
|
||||
Lookaside failures due to size: 0
|
||||
Lookaside failures due to OOM: 0
|
||||
Pager Heap Usage: 13608 bytes
|
||||
Page cache hits: 0
|
||||
Page cache misses: 0
|
||||
Page cache writes: 0
|
||||
Page cache spills: 0
|
||||
Temporary data spilled to disk: 0
|
||||
Schema Heap Usage: 0 bytes
|
||||
Statement Heap/Lookaside Usage: 2656 bytes
|
||||
Fullscan Steps: 0
|
||||
Sort Operations: 0
|
||||
Autoindex Inserts: 0
|
||||
Virtual Machine Steps: 4
|
||||
Reprepare operations: 0
|
||||
Number of times run: 1
|
||||
Memory used by prepared stmt: 2656
|
||||
Bytes received by read(): 8212
|
||||
Bytes sent to write(): 10657
|
||||
Read() system calls: 30
|
||||
Write() system calls: 8
|
||||
Bytes read from storage: 0
|
||||
Bytes written to storage: 0
|
||||
Cancelled write bytes: 0
|
||||
Memory Used: 71880 (max 87200) bytes
|
||||
Number of Outstanding Allocations: 134 (max 186)
|
||||
Number of Pcache Overflow Bytes: 12568 (max 16936) bytes
|
||||
Largest Allocation: 48000 bytes
|
||||
Largest Pcache Allocation: 4368 bytes
|
||||
Lookaside Slots Used: 52 (max 99)
|
||||
Successful lookaside attempts: 257
|
||||
Lookaside failures due to size: 0
|
||||
Lookaside failures due to OOM: 0
|
||||
Pager Heap Usage: 9256 bytes
|
||||
Page cache hits: 0
|
||||
Page cache misses: 0
|
||||
Page cache writes: 0
|
||||
Page cache spills: 0
|
||||
Temporary data spilled to disk: 0
|
||||
Schema Heap Usage: 0 bytes
|
||||
Statement Heap/Lookaside Usage: 2656 bytes
|
||||
Fullscan Steps: 0
|
||||
Sort Operations: 0
|
||||
Autoindex Inserts: 0
|
||||
Virtual Machine Steps: 3
|
||||
Reprepare operations: 0
|
||||
Number of times run: 1
|
||||
Memory used by prepared stmt: 2656
|
||||
Bytes received by read(): 8310
|
||||
Bytes sent to write(): 11989
|
||||
Read() system calls: 33
|
||||
Write() system calls: 9
|
||||
Bytes read from storage: 0
|
||||
Bytes written to storage: 0
|
||||
Cancelled write bytes: 0
|
||||
```
|
||||
|
||||
## Flag
|
||||
|
||||
```
|
||||
-stats
|
||||
```
|
||||
|
||||
@@ -0,0 +1,140 @@
|
||||
## 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
|
||||
.timer on
|
||||
CREATE TEMPORARY TABLE t0(x, y, z);
|
||||
SELECT -99999999999999999999999999999999999999999999999999;
|
||||
SELECT * FROM sqlite_temp_master WHERE sql GLOB '000[]***';
|
||||
DROP TABLE t0;
|
||||
ATTACH DATABASE ':memory:' AS aux41;
|
||||
ATTACH DATABASE ':memory:' AS aux57;
|
||||
CREATE TABLE "T" (
|
||||
a INTEGER,
|
||||
b REAL
|
||||
);
|
||||
inSeRT INTO T VALUES (pi(),-9223372036854775808), (2,-2.5), (3,0.0);
|
||||
CREATE INDEX c
|
||||
ON T(b);
|
||||
SELECT * FROM T WHERE b >= -2.5 AND b < 2.0;
|
||||
|
||||
SELECT COUNT(*) FROM T;
|
||||
REINDEX;
|
||||
SELECT SUM(b) FROM T;
|
||||
SELECT COUNT(*) FROM T;
|
||||
DELETE FROM T WHERE 0;
|
||||
DELETE FROM T WHERE b > (SELECT AVG(b) FROM T);
|
||||
CREATE TRIGGER IF NOT EXISTS trg_T_842 BEFORE DELETE ON T BEGIN SELECT RAISE(IGNORE); END;
|
||||
CREATE INDEX IF NOT EXISTS idx_T_1447 ON T(lower(b));
|
||||
DETACH DATABASE aux57;
|
||||
SELECT AVG(a) FILTER (WHERE a != 0) OVER (PARTITION BY a ORDER BY a ROWS BETWEEN 2 PRECEDING AND 2 FOLLOWING EXCLUDE CURRENT ROW) FROM T;
|
||||
DELETE FROM T WHERE b IS NULL;
|
||||
WITH a AS (SELECT * FROM T), b AS (SELECT * FROM a) SELECT * FROM b;
|
||||
DETACH DATABASE aux41;
|
||||
|
||||
SELECT COUNT(*) FROM T;
|
||||
PRAGMA defer_foreign_keys = NO;
|
||||
SELECT * FROM T WHERE a IN (SELECT a FROM T WHERE 1/0 = 0);SELECT * FROM T WHERE a IN (SELECT a FROM T LIMIT -1);
|
||||
|
||||
SELECT COUNT(*) FROM T;
|
||||
SELECT * FROM T WHERE b IN (SELECT ALL b FROM T);
|
||||
```
|
||||
|
||||
## Actual output
|
||||
|
||||
```sql
|
||||
Run Time: real 0.001 user 0.000329 sys 0.000000
|
||||
-1.0e+50
|
||||
Run Time: real 0.000 user 0.000014 sys 0.000000
|
||||
Run Time: real 0.000 user 0.000026 sys 0.000000
|
||||
Run Time: real 0.000 user 0.000110 sys 0.000000
|
||||
Run Time: real 0.000 user 0.000035 sys 0.000000
|
||||
Run Time: real 0.000 user 0.000026 sys 0.000000
|
||||
Run Time: real 0.000 user 0.000060 sys 0.000000
|
||||
Run Time: real 0.000 user 0.000025 sys 0.000000
|
||||
Run Time: real 0.000 user 0.000069 sys 0.000000
|
||||
2|-2.5
|
||||
3|0.0
|
||||
Run Time: real 0.000 user 0.000030 sys 0.000000
|
||||
3
|
||||
Run Time: real 0.000 user 0.000011 sys 0.000000
|
||||
Run Time: real 0.000 user 0.000012 sys 0.000000
|
||||
-9.22337203685478e+18
|
||||
Run Time: real 0.000 user 0.000017 sys 0.000000
|
||||
3
|
||||
Run Time: real 0.000 user 0.000007 sys 0.000000
|
||||
Run Time: real 0.000 user 0.000009 sys 0.000000
|
||||
Run Time: real 0.000 user 0.000031 sys 0.000000
|
||||
Run Time: real 0.000 user 0.000056 sys 0.000000
|
||||
Run Time: real 0.000 user 0.000059 sys 0.000000
|
||||
Run Time: real 0.000 user 0.000007 sys 0.000000
|
||||
|
||||
Run Time: real 0.000 user 0.000087 sys 0.000000
|
||||
Run Time: real 0.000 user 0.000028 sys 0.000000
|
||||
3.14159265358979|-9.22337203685478e+18
|
||||
Run Time: real 0.000 user 0.000030 sys 0.000000
|
||||
Run Time: real 0.000 user 0.000004 sys 0.000000
|
||||
1
|
||||
Run Time: real 0.000 user 0.000008 sys 0.000000
|
||||
Run Time: real 0.000 user 0.000009 sys 0.000000
|
||||
3.14159265358979|-9.22337203685478e+18
|
||||
Run Time: real 0.000 user 0.000057 sys 0.000000
|
||||
1
|
||||
Run Time: real 0.000 user 0.000007 sys 0.000000
|
||||
3.14159265358979|-9.22337203685478e+18
|
||||
Run Time: real 0.001 user 0.000026 sys 0.000000
|
||||
```
|
||||
|
||||
## Expectation
|
||||
|
||||
```sql
|
||||
Run Time: real 0.000115 user 0.000123 sys 0.000000
|
||||
-1.0e+50
|
||||
Run Time: real 0.000007 user 0.000007 sys 0.000000
|
||||
Run Time: real 0.000011 user 0.000011 sys 0.000000
|
||||
Run Time: real 0.000047 user 0.000047 sys 0.000000
|
||||
Run Time: real 0.000015 user 0.000015 sys 0.000000
|
||||
Run Time: real 0.000010 user 0.000011 sys 0.000000
|
||||
Run Time: real 0.000025 user 0.000025 sys 0.000000
|
||||
Run Time: real 0.000013 user 0.000013 sys 0.000000
|
||||
Run Time: real 0.000026 user 0.000027 sys 0.000000
|
||||
2|-2.5
|
||||
3|0.0
|
||||
Run Time: real 0.000011 user 0.000012 sys 0.000000
|
||||
3
|
||||
Run Time: real 0.000005 user 0.000005 sys 0.000000
|
||||
Run Time: real 0.000004 user 0.000005 sys 0.000000
|
||||
-9.22337203685478e+18
|
||||
Run Time: real 0.000007 user 0.000007 sys 0.000000
|
||||
3
|
||||
Run Time: real 0.000003 user 0.000002 sys 0.000000
|
||||
Run Time: real 0.000003 user 0.000004 sys 0.000000
|
||||
Run Time: real 0.000015 user 0.000015 sys 0.000000
|
||||
Run Time: real 0.000023 user 0.000022 sys 0.000000
|
||||
Run Time: real 0.000023 user 0.000024 sys 0.000000
|
||||
Run Time: real 0.000003 user 0.000003 sys 0.000000
|
||||
|
||||
Run Time: real 0.000040 user 0.000039 sys 0.000000
|
||||
Run Time: real 0.000011 user 0.000012 sys 0.000000
|
||||
3.14159265358979|-9.22337203685478e+18
|
||||
Run Time: real 0.000012 user 0.000013 sys 0.000000
|
||||
Run Time: real 0.000002 user 0.000002 sys 0.000000
|
||||
1
|
||||
Run Time: real 0.000003 user 0.000003 sys 0.000000
|
||||
Run Time: real 0.000002 user 0.000003 sys 0.000000
|
||||
3.14159265358979|-9.22337203685478e+18
|
||||
Run Time: real 0.000025 user 0.000026 sys 0.000000
|
||||
1
|
||||
Run Time: real 0.000002 user 0.000003 sys 0.000000
|
||||
3.14159265358979|-9.22337203685478e+18
|
||||
Run Time: real 0.000010 user 0.000011 sys 0.000000
|
||||
```
|
||||
|
||||
## Flag
|
||||
|
||||
```
|
||||
|
||||
```
|
||||
|
||||
@@ -0,0 +1,42 @@
|
||||
## 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
|
||||
.imposter off
|
||||
CREATE TABLE main.T (
|
||||
a INTEGER,
|
||||
b TEXT,
|
||||
c REAL
|
||||
);
|
||||
INSERT INTO T VALUES (concat('a', 'b', 'c'),'a',3.14), (1,'b',-7.75), (2,'c',-9e999);
|
||||
SELECT b,a,c,
|
||||
RANK() OVER (PARTITION BY a ORDER BY c DESC) AS d FROM T;
|
||||
WITH cte AS (SELECT * FROM T WHERE EXISTS (SELECT 1 FROM T WHERE a > 0)) SELECT * FROM cte;
|
||||
PRAGMA short_column_names = NO;
|
||||
INSERT INTO T VALUES (NULL, NULL, NULL);
|
||||
SELECT * FROM T NATURAL JOIN T;
|
||||
SELECT * FROM (SELECT b FROM T WHERE b IS NOT NULL) AS sub;
|
||||
```
|
||||
|
||||
## Actual output
|
||||
|
||||
```sql
|
||||
Parse error near line 7: no such function: concat
|
||||
INSERT INTO T VALUES (concat('a', 'b', 'c'),'a',3.14), (1,'b',-7.75), (2,'c',-
|
||||
^--- error here
|
||||
```
|
||||
|
||||
## Expectation
|
||||
|
||||
```sql
|
||||
|
||||
```
|
||||
|
||||
## Flag
|
||||
|
||||
```
|
||||
|
||||
```
|
||||
|
||||
@@ -0,0 +1,117 @@
|
||||
## 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 short_column_names;
|
||||
ATTACH DATABASE ':memory:' AS aux31;
|
||||
ATTACH DATABASE ':memory:' AS aux55;
|
||||
-- json_set({v}, '$.new_key', {v})
|
||||
|
||||
ATTACH DATABASE ':memory:' AS aux6;
|
||||
CREATE TABLE T (
|
||||
a INTEGER,
|
||||
b TEXT,
|
||||
c REAL
|
||||
);
|
||||
INSERT INTO T VALUES (asinh(-7932293039094677366),'a',1.25), (2,'b',-3.5), (3,'c',9e999);
|
||||
WITH d AS (SELECT * FROM T) SELECT * FROM d WHERE c > 0;
|
||||
PRAGMA module_list;
|
||||
PRAGMA journal_mode;
|
||||
PRAGMA user_version;
|
||||
.prompt 'IPA eli isopropanoli on loistava puhdistusaine joka irrataa'
|
||||
CREATE TABLE t1(a,b,x);
|
||||
CREATE TABLE t2(c,d,y);
|
||||
CREATE INDEX t1b ON t1(b);
|
||||
CREATE INDEX t2d ON t2(d);
|
||||
ANALYZE sqlite_master;
|
||||
INSERT INTO sqlite_stat1 VALUES('t1','t1b','10000 500');
|
||||
INSERT INTO sqlite_stat1 VALUES('t2','t2d','10000 500');
|
||||
ANALYZE sqlite_master;
|
||||
SELECT * FROM t1, t2 WHERE d=b;
|
||||
SELECT * FROM t1, t2 WHERE d>b AND x=y;
|
||||
DETACH DATABASE aux6;
|
||||
SELECT * FROM T WHERE a IN (SELECT a FROM T);
|
||||
SELECT MAX(x) FROM t1;
|
||||
PRAGMA soft_heap_limit = 10000000;
|
||||
CREATE TEMP VIEW IF NOT EXISTS v_T_6525 AS SELECT a FROM T;
|
||||
SELECT * FROM t2 AS a JOIN t1 AS b ON a.rowid = b.rowid;
|
||||
REINDEX;
|
||||
SELECT SUM(c) OVER (ORDER BY c RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING EXCLUDE NO OTHERS) FROM t2;
|
||||
DETACH DATABASE aux55;
|
||||
DETACH DATABASE aux31;
|
||||
UPDATE t1 SET b = CURRENT_TIMESTAMP;
|
||||
CREATE TEMPORARY VIEW IF NOT EXISTS v_t1_6727 AS SELECT a FROM t1;
|
||||
INSERT INTO t1 VALUES (NULL, NULL, NULL);
|
||||
```
|
||||
|
||||
## Actual output
|
||||
|
||||
```sql
|
||||
1
|
||||
-44.210621008338|a|1.25
|
||||
3|c|Inf
|
||||
sqlite_dbdata
|
||||
generate_series
|
||||
completion
|
||||
fsdir
|
||||
tables_used
|
||||
sqlite_stmt
|
||||
json_tree
|
||||
fts4aux
|
||||
fts3
|
||||
fts4
|
||||
sqlite_dbptr
|
||||
fts3tokenize
|
||||
bytecode
|
||||
rtree_i32
|
||||
sqlite_dbpage
|
||||
rtree
|
||||
dbstat
|
||||
json_each
|
||||
memory
|
||||
0
|
||||
-44.210621008338|a|1.25
|
||||
2|b|-3.5
|
||||
3|c|Inf
|
||||
|
||||
10000000
|
||||
```
|
||||
|
||||
## Expectation
|
||||
|
||||
```sql
|
||||
1
|
||||
-44.210621008338|a|1.25
|
||||
3|c|Inf
|
||||
fsdir
|
||||
generate_series
|
||||
bytecode
|
||||
dbstat
|
||||
tables_used
|
||||
sqlite_stmt
|
||||
sqlite_dbpage
|
||||
rtree_i32
|
||||
fts4aux
|
||||
fts3
|
||||
zipfile
|
||||
fts4
|
||||
completion
|
||||
rtree
|
||||
fts3tokenize
|
||||
memory
|
||||
0
|
||||
-44.210621008338|a|1.25
|
||||
2|b|-3.5
|
||||
3|c|Inf
|
||||
|
||||
10000000
|
||||
```
|
||||
|
||||
## Flag
|
||||
|
||||
```
|
||||
|
||||
```
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,40 @@
|
||||
## 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
|
||||
SELECT asinh(-x'c36e2d')x0ACB29BM205381;
|
||||
SELECT sqlite_compileoption_used('æçå¤©ä½ æ¯æä¹äº');
|
||||
SELECT -(-(1)) >> -999999999999999999999999999;
|
||||
SELECT sqlite_compileoption_get($1);
|
||||
SELECT sqlite_version();
|
||||
VACUUM main;
|
||||
```
|
||||
|
||||
## Actual output
|
||||
|
||||
```sql
|
||||
0.0
|
||||
0
|
||||
0
|
||||
ATOMIC_INTRINSICS=1
|
||||
3.39.0
|
||||
```
|
||||
|
||||
## Expectation
|
||||
|
||||
```sql
|
||||
0.0
|
||||
0
|
||||
0
|
||||
ATOMIC_INTRINSICS=1
|
||||
3.51.1
|
||||
```
|
||||
|
||||
## Flag
|
||||
|
||||
```
|
||||
|
||||
```
|
||||
|
||||
@@ -0,0 +1,39 @@
|
||||
## 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
|
||||
SELECT json_array_length(0)x0ACB29BM205381;
|
||||
SELECT sqlite_compileoption_used('æçå¤©ä½ æ¯æä¹äº');
|
||||
SELECT 1 >> -999999999999999999999999999;
|
||||
SELECT sqlite_compileoption_get($1);
|
||||
SELECT sqlite_version();
|
||||
```
|
||||
|
||||
## Actual output
|
||||
|
||||
```sql
|
||||
0
|
||||
0
|
||||
0
|
||||
ATOMIC_INTRINSICS=1
|
||||
3.39.0
|
||||
```
|
||||
|
||||
## Expectation
|
||||
|
||||
```sql
|
||||
0
|
||||
0
|
||||
0
|
||||
ATOMIC_INTRINSICS=1
|
||||
3.51.1
|
||||
```
|
||||
|
||||
## Flag
|
||||
|
||||
```
|
||||
|
||||
```
|
||||
|
||||
@@ -0,0 +1,89 @@
|
||||
## 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
|
||||
.eqp off
|
||||
.prompt
|
||||
.connection
|
||||
ATTACH DATABASE ':memory:' AS aux57;
|
||||
.progress NULL
|
||||
ATTACH DATABASE ':memory:' AS aux98;
|
||||
CREATE TABLE T (
|
||||
a INTEGER,
|
||||
b TEXT,
|
||||
c REAL
|
||||
);
|
||||
INSERT INTO T VALUES (tan(concat('a', 'b', 'c')),'a',CAST(json_valid(1.25, 2) AS SMALLINT)), (2,'b',-3.5), (3,'c',9e999);
|
||||
WITH d AS (SELECT * FROM T) SELECT * FROM d WHERE +c < 0;
|
||||
UPDATE T SET b = -85 WHERE b IS NOT NULL;
|
||||
VACUUM;
|
||||
DETACH DATABASE aux98;
|
||||
WITH RECURSIVE tree(id, parent, depth) AS (VALUES(1, NULL, 0) UNION ALL SELECT id+1, id, depth+1 FROM tree WHERE depth<6) SELECT * FROM tree;
|
||||
SELECT * FROM T AS a JOIn T AS b ON a.rowid = b.rowid;
|
||||
SELECT * FROM T AS a RIGHT JOIN T AS b ON a.rowid = b.rowid;
|
||||
PRAGMA trusted_schema = ON;
|
||||
VACUUM;
|
||||
WITH cte(x) AS (VALUES(NULL),(1),(NULL)) SELECT * FROM cte WHERE x IS NOT NULL;
|
||||
DETACH DATABASE aux57;
|
||||
CREATE TABLE T1 (
|
||||
a INTEGER,
|
||||
b TEXT
|
||||
);
|
||||
CREATE TABLE "T2" (
|
||||
a INTEGER,
|
||||
b TEXT
|
||||
);
|
||||
INSERT INTO T1 VALUES (1,'a'),(2,'b');
|
||||
INSERT INTO T2 VALUES (1,'c'),(1,'d');
|
||||
SELECT T1.b,
|
||||
(
|
||||
SELECT GROUP_CONCAT(b,',')
|
||||
FROM T2
|
||||
WHERE T2.a=T1.a
|
||||
) AS c
|
||||
FROM T1;
|
||||
ANALYZE T1;
|
||||
ANALYZE T1;
|
||||
DELETE FROM T2 WHERE b > (SELECT AVG(b) FROM T2) RETURNING *;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_T1_2080 AFTER UPDATE OF b ON T1 FOR EACH ROW BEGIN SELECT RAISE(ROLLBACK, 'rb'); END;
|
||||
REINDEX T;
|
||||
DELETE FROM T1 WHERE 0;
|
||||
ALTER TABLE T2 RENAME COLUMN a TO a_r2;
|
||||
REINDEX;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_T_1920 AFTER DELETE ON T BEGIN SELECT RAISE(IGNORE); END;
|
||||
DROP INDEX IF EXISTS T2;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_T1_9937 BEFORE UPDATE OF b ON T1 BEGIN SELECT RAISE(ROLLBACK, 'rb'); END;
|
||||
```
|
||||
|
||||
## Actual output
|
||||
|
||||
```sql
|
||||
ACTIVE 0: :memory:
|
||||
1||0
|
||||
2|1|1
|
||||
3|2|2
|
||||
4|3|3
|
||||
5|4|4
|
||||
6|5|5
|
||||
7|6|6
|
||||
1
|
||||
a|c,d
|
||||
b|
|
||||
1|c
|
||||
1|d
|
||||
```
|
||||
|
||||
## Expectation
|
||||
|
||||
```sql
|
||||
|
||||
```
|
||||
|
||||
## Flag
|
||||
|
||||
```
|
||||
|
||||
```
|
||||
|
||||
@@ -0,0 +1,450 @@
|
||||
## 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 count_changes = ON;
|
||||
ATTACH DATABASE (':memory:' || '') AS aux24;
|
||||
.lint
|
||||
BEGIN EXCLUSIVE TRANSACTION;
|
||||
-- PRAGMA trusted_schema = 1;
|
||||
|
||||
.system false && echo "success" || echo "error code: $?"
|
||||
CREATE TABLE main.t1(a INTEGER PRIMARY KEY, b TEXT, c INT, d INT);
|
||||
INSERT INTO t1 VALUES (unixepoch(likelihood(-(-(-jsonb_object('k1', load_extension(datetime(2147483649, '+1 day'), 2147483649), 'k2', 2147483649))), 0.0625)), '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
|
||||
SAVEPOINT sp6237;
|
||||
CREATE TABLE T (
|
||||
A VARCHAR(concat_ws('', 'a', 'b', 'c')) PRIMARY KEY,
|
||||
B VARCHAR(if(0,30,0,30,0,30,0,30,0,30,0,30,30)) NOT NULL,
|
||||
C BIGINT UNIQUE
|
||||
);
|
||||
INSERT INTO T VALUES ('a', 'x', -9223372036854775808);
|
||||
INSERT INTO T VALUES ('b', 'y', -1000000);
|
||||
INSERT INTO T VALUES ('c', 'y', 0);
|
||||
INSERT INTO T VALUES ('d', 'y', 42);
|
||||
INSERT INTO T VALUES ('e', 'x', 9223372036854775807);
|
||||
INSERT INTO T VALUES ('f', 'z', 2147483648);
|
||||
SELECT * FROM T WHERE C > 0 ORDER BY C DESC;
|
||||
BEGIN EXCLUSIVE TRANSACTION;
|
||||
.timer off
|
||||
.schema
|
||||
PRAGMA foreign_keys = -CAST(-1 AS BIGINT);
|
||||
PRAGMA threads;
|
||||
PRAGMA foreign_keys = ON;
|
||||
.timeout -1
|
||||
CREATE TABLE t0 (c0, c1 NOT NULL DEFAULT 1, c2, PRIMARY KEY (c0, c1));
|
||||
INSERT INTO t0(c2) VALUES (NULL), (NULL);
|
||||
INSERT INTO t0(c2) VALUES('a');
|
||||
SELECT DISTINCT * FROM t0 WHERE NULL IS t0.c0;
|
||||
SELECT * FROM t0 WHERE (( (0 IS NOT FALSE) OR NOT (0 IS FALSE OR (t0.c0 = 1)) ) IS 0);
|
||||
SELECT ((0 IS NOT FALSE) OR NOT (0 IS FALSE OR (t0.c0 = 1)) ) IS 0 FROM t0;
|
||||
SELECT ( (0 IS NOT FALSE) OR NOT (0 IS 0 OR (t0.c0 = 1)) ) IS 0 FROM t0;
|
||||
SELECT ((0 IS NOT FALSE) OR NOT (0 IS FALSE OR (t0.c0 = 1)) ) FROM t0;
|
||||
SELECT NOT (0 IS FALSE OR (t0.c0 = 1)) FROM t0;
|
||||
SELECT * FROM (SELECT * FROM t0) AS sub;
|
||||
REINDEX;
|
||||
CREATE INDEX IF NOT EXISTS idx_t0_6740 ON t0(c2 COLLATE NOCASE) WHERE c2 IS NOT NULL;
|
||||
SELECT * FROM t0 WHERE c1 = (SELECT c1 FROM t0 t2 WHERE t2.c1 = t0.c1 LIMIT 1);
|
||||
CREATE TRIGGER IF NOT EXISTS trg_t0_2041 BEFORE INSERT ON t0 FOR EACH ROW BEGIN SELECT RAISE(FAIL, 'no'); END;
|
||||
WITH RECURSIVE cnt(x) AS (VALUES(1) UNION ALL SELECT x+1 FROM cnt WHERE x<37), filtered AS (SELECT * FROM cnt WHERE x > 18) SELECT * FROM filtered;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_t0_1600 BEFORE INSERT ON t0 FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'abort'); END;
|
||||
INSERT OR FAIL INTO t0 VALUES (0, 0, '');
|
||||
CREATE TABLE T1 (
|
||||
A VARCHAR(20),
|
||||
X VARCHAR(10),
|
||||
PRIMARY KEY (A, X)
|
||||
);
|
||||
CREATE TABLE T2 (
|
||||
A VARCHAR(20),
|
||||
Y VARCHAR(10),
|
||||
PRIMARY KEY (A, Y)
|
||||
);
|
||||
INSERT INTO T1 VALUES ('a', 'm');
|
||||
INSERT INTO T1 VALUES ('b', 'n');
|
||||
INSERT INTO T1 VALUES ('c', 'o');
|
||||
INSERT INTO T2 VALUES ('b', 'k');
|
||||
SELECT A FROM T1 EXCEPT SELECT A FROM T2;
|
||||
ROLLBACK;
|
||||
UPDATE t0 SET c1 = json_object('k', c1);
|
||||
SELECT * FROM t0;
|
||||
ROLLBACK TRANSACTION TO SAVEPOINT sp6237;
|
||||
RELEASE SAVEPOINT sp6237;
|
||||
INSERT OR ABORT INTO t0 VALUES ('', NULL, NULL);
|
||||
WITH RECURSIVE multi(a, b) AS (VALUES(1, "x") UNION ALL SELECT a+1, "x" FROM multi WHERE a<2) SELECT * FROM multi;
|
||||
END;
|
||||
CREATE VIEW IF NOT EXISTS v_t0_7574 AS SELECT c1 FROM t0;
|
||||
ANALYZE;
|
||||
PRAGMA writable_schema = YES;
|
||||
WITH RECURSIVE cnt(x) AS (VALUES(1) UNION ALL SELECT x+1 FROM cnt WHERE x<5) SELECT SUM(x) FROM cnt;
|
||||
SELECT * FROM T WHERE B = (SELECT MAX(B) FROM T WHERE B = (SELECT MAX(B) FROM T));
|
||||
DELETE FROM t1 WHERE 1;
|
||||
INSERT INTO T1 VALUES ('x', 1) ON CONFLICT(A) DO UPDATE SET A = excluded.A, X = excluded.X;
|
||||
VACUUM main;
|
||||
INSERT INTO t1 SELECT * FROM t1;
|
||||
|
||||
SELECT COUNT(*) FROM T;
|
||||
ANALYZE;
|
||||
CREATE TABLE T (
|
||||
a INTEGER,
|
||||
b TEXT,
|
||||
c INTEGER
|
||||
);
|
||||
INSERT INTO T VALUES (1,'a',NULL), (2,'b',1), (3,'c',2);
|
||||
WITH RECURSIVE d(a,b,c,e) AS (
|
||||
SELECT *,1 FROM T WHERE c IS NULL
|
||||
UNION ALL
|
||||
SELECT T.a,T.b,T.c,d.e+1
|
||||
FROM T JOIN d ON T.c=d.a
|
||||
)
|
||||
SELECT * FROM d;
|
||||
SELECT * FROM T1 WHERE A > (SELECT MAX(A) FROM T1);
|
||||
SELECT * FROM t1;
|
||||
INSERT OR ROLLBACK INTO t1 VALUES ('', -2, 6, -9);
|
||||
CREATE TEMP VIEW IF NOT EXISTS v_T_9745 AS SELECT a FROM T;
|
||||
ALTER TABLE T1 RENAME TO T1_r1976;
|
||||
REINDEX;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_T1_4621 BEFORE DELETE ON T1 FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'abort'); END;
|
||||
SELECT * FROM T2 AS a LEFT JOIN T1 AS b ON a.rowid = b.rowid;
|
||||
ALTER TABLE T ADD COLUMN extra_1665 DOUBLE;
|
||||
INSERT INTO T2 VALUES (NULL, 1) ON CONFLICT(A) DO UPDATE SET A = excluded.A, Y = excluded.Y;
|
||||
DROP VIEW IF EXISTS T1;
|
||||
INSERT INTO T VALUES (NULL, NULL, NULL);
|
||||
INSERT INTO T1 VALUES (NULL, NULL);
|
||||
CREATE TRIGGER IF NOT EXISTS trg_T1_5266 AFTER UPDATE OF A ON T1 BEGIN INSERT INTO T1(A) VALUES (NULL); END;
|
||||
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
|
||||
INSERT INTO t0 VALUES ('x', 1, 1) ON CONFLICT(c0) DO UPDATE SET c0 = excluded.c0, c1 = excluded.c1, c2 = excluded.c2;
|
||||
.lint
|
||||
BEGIN EXCLUSIVE TRANSACTION;
|
||||
-- PRAGMA trusted_schema = 1;
|
||||
|
||||
.system false && echo "success" || echo "error code: $?"
|
||||
CREATE TABLE main.t1(a INTEGER PRIMARY KEY, b TEXT, c INT, d INT);
|
||||
INSERT INTO t1 VALUES (unixepoch(likelihood(-(-(-jsonb_object('k1', 2147483649, 'k2', 2147483649))), 0.0625)), '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
|
||||
SAVEPOINT sp6237;
|
||||
CREATE TABLE T (
|
||||
A VARCHAR(concat_ws('', 'a', 'b', 'c')) PRIMARY KEY,
|
||||
B VARCHAR(if(0,30,0,30,0,30,0,30,0,30,0,30,30)) NOT NULL,
|
||||
C BIGINT UNIQUE
|
||||
);
|
||||
INSERT INTO T VALUES ('a', 'x', -9223372036854775808);
|
||||
INSERT INTO T VALUES ('b', 'y', -1000000);
|
||||
INSERT INTO T VALUES ('c', 'y', 0);
|
||||
INSERT INTO T VALUES ('d', 'y', 42);
|
||||
INSERT INTO T VALUES ('e', 'x', 9223372036854775807);
|
||||
INSERT INTO T VALUES ('f', 'z', 2147483648);
|
||||
SELECT * FROM T WHERE C > 0 ORDER BY C DESC;
|
||||
BEGIN EXCLUSIVE TRANSACTION;
|
||||
.timer off
|
||||
.schema
|
||||
PRAGMA foreign_keys = -CAST(-1 AS BIGINT);
|
||||
PRAGMA threads;
|
||||
PRAGMA foreign_keys = ON;
|
||||
.timeout -1
|
||||
CREATE TABLE t0 (c0, c1 NOT NULL DEFAULT 1, c2, PRIMARY KEY (c0, c1));
|
||||
INSERT INTO t0(c2) VALUES (NULL), (NULL);
|
||||
INSERT INTO t0(c2) VALUES('a');
|
||||
SELECT DISTINCT * FROM t0 WHERE NULL IS t0.c0;
|
||||
SELECT * FROM t0 WHERE (( (0 IS NOT FALSE) OR NOT (0 IS FALSE OR (t0.c0 = 1)) ) IS 0);
|
||||
SELECT ((0 IS NOT FALSE) OR NOT (0 IS FALSE OR (t0.c0 = 1)) ) IS 0 FROM t0;
|
||||
SELECT ( (0 IS NOT FALSE) OR NOT (0 IS 0 OR (t0.c0 = 1)) ) IS 0 FROM t0;
|
||||
SELECT ((0 IS NOT FALSE) OR NOT (0 IS FALSE OR (t0.c0 = 1)) ) FROM t0;
|
||||
SELECT NOT (0 IS FALSE OR (t0.c0 = 1)) FROM t0;
|
||||
SELECT * FROM (SELECT * FROM t0) AS sub;
|
||||
REINDEX;
|
||||
CREATE INDEX IF NOT EXISTS idx_t0_6740 ON t0(c2 COLLATE NOCASE) WHERE c2 IS NOT NULL;
|
||||
SELECT * FROM t0 WHERE c1 = (SELECT c1 FROM t0 t2 WHERE t2.c1 = t0.c1 LIMIT 1);
|
||||
CREATE TRIGGER IF NOT EXISTS trg_t0_2041 BEFORE INSERT ON t0 FOR EACH ROW BEGIN SELECT RAISE(FAIL, 'no'); END;
|
||||
WITH RECURSIVE cnt(x) AS (VALUES(1) UNION ALL SELECT x+1 FROM cnt WHERE x<37), filtered AS (SELECT * FROM cnt WHERE x > 18) SELECT * FROM filtered;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_t0_1600 BEFORE INSERT ON t0 FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'abort'); END;
|
||||
INSERT OR FAIL INTO t0 VALUES (0, 0, '');
|
||||
CREATE TABLE T1 (
|
||||
A VARCHAR(20),
|
||||
X VARCHAR(10),
|
||||
PRIMARY KEY (A, X)
|
||||
);
|
||||
CREATE TABLE T2 (
|
||||
A VARCHAR(20),
|
||||
Y VARCHAR(10),
|
||||
PRIMARY KEY (A, Y)
|
||||
);
|
||||
INSERT INTO T1 VALUES ('a', 'm');
|
||||
INSERT INTO T1 VALUES ('b', 'n');
|
||||
INSERT INTO T1 VALUES ('c', 'o');
|
||||
INSERT INTO T2 VALUES ('b', 'k');
|
||||
SELECT A FROM T1 EXCEPT SELECT A FROM T2;
|
||||
ROLLBACK;
|
||||
UPDATE t0 SET c1 = json_object('k', c1);
|
||||
SELECT * FROM t0;
|
||||
ROLLBACK TRANSACTION TO SAVEPOINT sp6237;
|
||||
RELEASE SAVEPOINT sp6237;
|
||||
INSERT OR ABORT INTO t0 VALUES ('', NULL, NULL);
|
||||
WITH RECURSIVE multi(a, b) AS (VALUES(1, "x") UNION ALL SELECT a+1, "x" FROM multi WHERE a<2) SELECT * FROM multi;
|
||||
END;
|
||||
CREATE VIEW IF NOT EXISTS v_t0_7574 AS SELECT c1 FROM t0;
|
||||
ANALYZE;
|
||||
PRAGMA writable_schema = YES;
|
||||
WITH RECURSIVE cnt(x) AS (VALUES(1) UNION ALL SELECT x+1 FROM cnt WHERE x<5) SELECT SUM(x) FROM cnt;
|
||||
SELECT * FROM T WHERE B = (SELECT MAX(B) FROM T WHERE B = (SELECT MAX(B) FROM T));
|
||||
DELETE FROM t1 WHERE 1;
|
||||
INSERT INTO T1 VALUES ('x', 1) ON CONFLICT(A) DO UPDATE SET A = excluded.A, X = excluded.X;
|
||||
VACUUM main;
|
||||
INSERT INTO t1 SELECT * FROM t1;
|
||||
|
||||
SELECT COUNT(*) FROM T;
|
||||
ANALYZE;
|
||||
CREATE TABLE T (
|
||||
a INTEGER,
|
||||
b TEXT,
|
||||
c INTEGER
|
||||
);
|
||||
INSERT INTO T VALUES (1,'a',NULL), (2,'b',1), (3,'c',2);
|
||||
WITH RECURSIVE d(a,b,c,e) AS (
|
||||
SELECT *,1 FROM T WHERE c IS NULL
|
||||
UNION ALL
|
||||
SELECT T.a,T.b,T.c,d.e+1
|
||||
FROM T JOIN d ON T.c=d.a
|
||||
)
|
||||
SELECT * FROM d;
|
||||
SELECT * FROM T1 WHERE A > (SELECT MAX(A) FROM T1);
|
||||
SELECT * FROM t1;
|
||||
INSERT OR ROLLBACK INTO t1 VALUES ('', -2, 6, -9);
|
||||
CREATE TEMP VIEW IF NOT EXISTS v_T_9745 AS SELECT a FROM T;
|
||||
ALTER TABLE T1 RENAME TO T1_r1976;
|
||||
REINDEX;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_T1_4621 BEFORE DELETE ON T1 FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'abort'); END;
|
||||
SELECT * FROM T2 AS a LEFT JOIN T1 AS b ON a.rowid = b.rowid;
|
||||
ALTER TABLE T ADD COLUMN extra_1665 DOUBLE;
|
||||
INSERT INTO T2 VALUES (NULL, 1) ON CONFLICT(A) DO UPDATE SET A = excluded.A, Y = excluded.Y;
|
||||
DROP VIEW IF EXISTS T1;
|
||||
INSERT INTO T VALUES (NULL, NULL, NULL);
|
||||
INSERT INTO T1 VALUES (NULL, NULL);
|
||||
CREATE TRIGGER IF NOT EXISTS trg_T1_5266 AFTER UPDATE OF A ON T1 BEGIN INSERT INTO T1(A) VALUES (NULL); END;
|
||||
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
|
||||
INSERT INTO t0 VALUES ('x', 1, 1) ON CONFLICT(c0) DO UPDATE SET c0 = excluded.c0, c1 = excluded.c1, c2 = excluded.c2;
|
||||
.lint
|
||||
BEGIN EXCLUSIVE TRANSACTION;
|
||||
-- PRAGMA trusted_schema = 1;
|
||||
|
||||
.system false && echo "success" || echo "error code: $?"
|
||||
CREATE TABLE main.t1(a INTEGER PRIMARY KEY, b TEXT, c INT, d INT);
|
||||
INSERT INTO t1 VALUES (unixepoch(likelihood(-(-(-jsonb_object('k1', 2147483649, 'k2', 2147483649))), 0.0625)), '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
|
||||
SAVEPOINT sp6237;
|
||||
CREATE TABLE T (
|
||||
A VARCHAR(concat_ws('', 'a', 'b', 'c')) PRIMARY KEY,
|
||||
B VARCHAR(if(0,30,0,30,0,30,0,30,0,30,0,30,30)) NOT NULL,
|
||||
C BIGINT UNIQUE
|
||||
);
|
||||
INSERT INTO T VALUES ('a', 'x', -9223372036854775808);
|
||||
INSERT INTO T VALUES ('b', 'y', -1000000);
|
||||
INSERT INTO T VALUES ('c', 'y', 0);
|
||||
INSERT INTO T VALUES ('d', 'y', 42);
|
||||
INSERT INTO T VALUES ('e', 'x', 9223372036854775807);
|
||||
INSERT INTO T VALUES ('f', 'z', 2147483648);
|
||||
SELECT * FROM T WHERE C > 0 ORDER BY C DESC;
|
||||
BEGIN EXCLUSIVE TRANSACTION;
|
||||
.timer off
|
||||
.schema
|
||||
PRAGMA foreign_keys = -CAST(-1 AS BIGINT);
|
||||
PRAGMA threads;
|
||||
PRAGMA foreign_keys = ON;
|
||||
.timeout -1
|
||||
CREATE TABLE t0 (c0, c1 NOT NULL DEFAULT 1, c2, PRIMARY KEY (c0, c1));
|
||||
INSERT INTO t0(c2) VALUES (NULL), (NULL);
|
||||
INSERT INTO t0(c2) VALUES('a');
|
||||
SELECT DISTINCT * FROM t0 WHERE NULL IS t0.c0;
|
||||
SELECT * FROM t0 WHERE (( (0 IS NOT FALSE) OR NOT (0 IS FALSE OR (t0.c0 = 1)) ) IS 0);
|
||||
SELECT ((0 IS NOT FALSE) OR NOT (0 IS FALSE OR (t0.c0 = 1)) ) IS 0 FROM t0;
|
||||
SELECT ( (0 IS NOT FALSE) OR NOT (0 IS 0 OR (t0.c0 = 1)) ) IS 0 FROM t0;
|
||||
SELECT ((0 IS NOT FALSE) OR NOT (0 IS FALSE OR (t0.c0 = 1)) ) FROM t0;
|
||||
SELECT NOT (0 IS FALSE OR (t0.c0 = 1)) FROM t0;
|
||||
SELECT * FROM (SELECT * FROM t0) AS sub;
|
||||
REINDEX;
|
||||
CREATE INDEX IF NOT EXISTS idx_t0_6740 ON t0(c2 COLLATE NOCASE) WHERE c2 IS NOT NULL;
|
||||
SELECT * FROM t0 WHERE c1 = (SELECT c1 FROM t0 t2 WHERE t2.c1 = t0.c1 LIMIT 1);
|
||||
CREATE TRIGGER IF NOT EXISTS trg_t0_2041 BEFORE INSERT ON t0 FOR EACH ROW BEGIN SELECT RAISE(FAIL, 'no'); END;
|
||||
WITH RECURSIVE cnt(x) AS (VALUES(1) UNION ALL SELECT x+1 FROM cnt WHERE x<37), filtered AS (SELECT * FROM cnt WHERE x > 18) SELECT * FROM filtered;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_t0_1600 BEFORE INSERT ON t0 FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'abort'); END;
|
||||
INSERT OR FAIL INTO t0 VALUES (0, 0, '');
|
||||
CREATE TABLE T1 (
|
||||
A VARCHAR(20),
|
||||
X VARCHAR(10),
|
||||
PRIMARY KEY (A, X)
|
||||
);
|
||||
CREATE TABLE T2 (
|
||||
A VARCHAR(20),
|
||||
Y VARCHAR(10),
|
||||
PRIMARY KEY (A, Y)
|
||||
);
|
||||
INSERT INTO T1 VALUES ('a', 'm');
|
||||
INSERT INTO T1 VALUES ('b', 'n');
|
||||
INSERT INTO T1 VALUES ('c', 'o');
|
||||
INSERT INTO T2 VALUES ('b', 'k');
|
||||
SELECT A FROM T1 EXCEPT SELECT A FROM T2;
|
||||
ROLLBACK;
|
||||
UPDATE t0 SET c1 = json_object('k', c1);
|
||||
SELECT * FROM t0;
|
||||
ROLLBACK TRANSACTION TO SAVEPOINT sp6237;
|
||||
RELEASE SAVEPOINT sp6237;
|
||||
INSERT OR ABORT INTO t0 VALUES ('', NULL, NULL);
|
||||
WITH RECURSIVE multi(a, b) AS (VALUES(1, "x") UNION ALL SELECT a+1, "x" FROM multi WHERE a<2) SELECT * FROM multi;
|
||||
END;
|
||||
CREATE VIEW IF NOT EXISTS v_t0_7574 AS SELECT c1 FROM t0;
|
||||
ANALYZE;
|
||||
PRAGMA writable_schema = YES;
|
||||
WITH RECURSIVE cnt(x) AS (VALUES(1) UNION ALL SELECT x+1 FROM cnt WHERE x<5) SELECT SUM(x) FROM cnt;
|
||||
SELECT * FROM T WHERE B = (SELECT MAX(B) FROM T WHERE B = (SELECT MAX(B) FROM T));
|
||||
DELETE FROM t1 WHERE 1;
|
||||
INSERT INTO T1 VALUES ('x', 1) ON CONFLICT(A) DO UPDATE SET A = excluded.A, X = excluded.X;
|
||||
VACUUM main;
|
||||
INSERT INTO t1 SELECT * FROM t1;
|
||||
|
||||
SELECT COUNT(*) FROM T;
|
||||
ANALYZE;
|
||||
CREATE TABLE T (
|
||||
a INTEGER,
|
||||
b TEXT,
|
||||
c INTEGER
|
||||
);
|
||||
INSERT INTO T VALUES (1,'a',NULL), (2,'b',1), (3,'c',2);
|
||||
WITH RECURSIVE d(a,b,c,e) AS (
|
||||
SELECT *,1 FROM T WHERE c IS NULL
|
||||
UNION ALL
|
||||
SELECT T.a,T.b,T.c,d.e+1
|
||||
FROM T JOIN d ON T.c=d.a
|
||||
)
|
||||
SELECT * FROM d;
|
||||
SELECT * FROM T1 WHERE A > (SELECT MAX(A) FROM T1);
|
||||
SELECT * FROM t1;
|
||||
INSERT OR ROLLBACK INTO t1 VALUES ('', -2, 6, -9);
|
||||
CREATE TEMP VIEW IF NOT EXISTS v_T_9745 AS SELECT a FROM T;
|
||||
ALTER TABLE T1 RENAME TO T1_r1976;
|
||||
REINDEX;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_T1_4621 BEFORE DELETE ON T1 FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'abort'); END;
|
||||
SELECT * FROM T2 AS a LEFT JOIN T1 AS b ON a.rowid = b.rowid;
|
||||
ALTER TABLE T ADD COLUMN extra_1665 DOUBLE;
|
||||
INSERT INTO T2 VALUES (NULL, 1) ON CONFLICT(A) DO UPDATE SET A = excluded.A, Y = excluded.Y;
|
||||
DROP VIEW IF EXISTS T1;
|
||||
INSERT INTO T VALUES (NULL, NULL, NULL);
|
||||
INSERT INTO T1 VALUES (NULL, NULL);
|
||||
CREATE TRIGGER IF NOT EXISTS trg_T1_5266 AFTER UPDATE OF A ON T1 BEGIN INSERT INTO T1(A) VALUES (NULL); END;
|
||||
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
|
||||
INSERT INTO t0 VALUES ('x', 1, 1) ON CONFLICT(c0) DO UPDATE SET c0 = excluded.c0, c1 = excluded.c1, c2 = excluded.c2;
|
||||
|
||||
WITH RECURSIVE r AS (SELECT Y FROM T2 UNION ALL SELECT Y FROM T2 LIMIT 5) SELECT * FROM r;
|
||||
DETACH DATABASE aux24;
|
||||
VACUUM;
|
||||
SELECT * FROM T;
|
||||
ALTER TABLE t1 DROP COLUMN b;
|
||||
INSERT INTO t1 VALUES (NULL, NULL, NULL, NULL);
|
||||
SELECT * FROM T1 AS a FULL JOIN T1 AS b ON a.rowid = b.rowid;
|
||||
INSERT INTO t0 DEFAULT VALUES;
|
||||
ALTER TABLE t1 ADD COLUMN extra_3968 INT8 UNIQUE;
|
||||
CREATE VIEW IF NOT EXISTS v_T1_673 AS SELECT A FROM T1;
|
||||
WITH cte AS (SELECT c2, SUM(c2) AS total FROM t0 GROUP BY c2) SELECT * FROM cte ORDER BY total DESC;
|
||||
INSERT INTO T2 VALUES (1, 'x') ON CONFLICT(A) DO UPDATE SET A = excluded.A, Y = excluded.Y;
|
||||
CREATE UNIQUE INDEX IF NOT EXISTS idx_T_5205 ON T((b + 1)) WHERE b > 0;
|
||||
UPDATE T1 SET X = '' WHERE X IS NOT NULL RETURNING *;
|
||||
SELECT * FROM T WHERE c NOT IN (SELECT c FROM T WHERE c IS NULL);
|
||||
|
||||
SELECT COUNT(*) FROM T1;
|
||||
```
|
||||
|
||||
## Actual output
|
||||
|
||||
```sql
|
||||
error code: 1
|
||||
1
|
||||
1
|
||||
CREATE TABLE "t2"("b","c","_ROWID_",PRIMARY KEY("b","c","_ROWID_"))WITHOUT ROWID;
|
||||
WARNING: writing to an imposter table will corrupt the "t1bc" index!
|
||||
Braun|30|3
|
||||
von|20|2
|
||||
Braun|30
|
||||
von|20
|
||||
```
|
||||
|
||||
## Expectation
|
||||
|
||||
```sql
|
||||
|
||||
```
|
||||
|
||||
## Flag
|
||||
|
||||
```
|
||||
|
||||
```
|
||||
|
||||
@@ -0,0 +1,916 @@
|
||||
## 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 index_list(users);
|
||||
PRAGMA trusted_schema = NO;
|
||||
BEGIN TRANSACTION;
|
||||
.timeout -jsonb_extract(typeof('#'), '$')
|
||||
SAVEPOINT sp4770;
|
||||
-- typeof(1.0)
|
||||
|
||||
.limit
|
||||
SAVEPOINT sp9818;
|
||||
ATTACH DATABASE ':memory:' AS aux84;
|
||||
SAVEPOINT sp2531;
|
||||
.check
|
||||
SAVEPOINT sp9694;
|
||||
PRAGMA encoding < 'UTF-8';
|
||||
ATTACH DATABASE ':memory:' AS aux44;
|
||||
CREATE TABLE main.main.`T` (
|
||||
a DOUBLE,
|
||||
b REAL,
|
||||
c REAL
|
||||
);
|
||||
INSERT INTO T VALUES (strftime('%s', if(coalesce(NULL, NULL, NULL) -> sqrt(datetime(-(-(CAST(x'2f' AS BLOB))))), typeof(NULL), (-(-(datetime(CAST(((json_object('k', json(x'096c11a26d368c64')) + 0.0) + 0.0) AS BIGINT)))) + 9145485036963515638))),1.5,10.0), (2,-2.5,20.0), (3,-9e999,30.0);
|
||||
WITH _m AS MATERIALIZED (WITH _m AS MATERIALIZED (WITH _m AS MATERIALIZED (SELECT * FROM T) SELEC_m * FROM T) SELEC_m * FROM T) SELEC_m * FROM T WHERE NOT NOT (NOT NOT (+b < 2.0)) ORDER BY b;
|
||||
DETACH DATABASE aux44;
|
||||
SELECT * FROM T WHERE EXISTS (SELECT 1 FROM T t2 WHERE t2.a = T.a);
|
||||
INSERT INTO T VALUES (NULL, NULL, NULL);
|
||||
INSERT OR ROLLBACK INTO T VALUES (NULL, NULL, '');
|
||||
WITH RECURSIVE cnt(x) AS (VALUES(1) UNION ALL SELECT x+1 FROM cnt WHERE +x<21) SELECT * FROM cnt;
|
||||
ALTER TABLE T DROP COLUMN b;
|
||||
DROP VIEW IF EXISTS T;
|
||||
SELECT ROW_NUMBER() OVER (ORDER BY a ROWS BETWEEN 2 PRECEDING AND 2 FOLLOWING EXCLUDE CURRENT ROW) FROM T;
|
||||
INSERT OR ROLLBACK INTO T VALUES (-2, NULL, 0);
|
||||
ROLLBACK TO sp9694;
|
||||
RELEASE sp9694;
|
||||
ALTER TABLE T ADD COLUMN extra_4532 UNSIGNED BIG INT DEFAULT (abs(random()) % 1000);
|
||||
SELECT a, COUNT(*) FROM T GROUP BY a HAVING COUNT(*) = (SELECT COUNT(*) FROM T);
|
||||
CREATE TRIGGER IF NOT EXISTS trg_T_7371 BEFORE UPDATE ON T FOR EACH ROW BEGIN SELECT RAISE(FAIL, 'no'); END;
|
||||
SELECT COUNT(*) FROM T;
|
||||
ROLLBACK TO sp2531;
|
||||
RELEASE sp2531;
|
||||
INSERT OR ABORT INTO T VALUES (6, 0, 0);
|
||||
SELECT COUNT(*) FROM T;
|
||||
WITH RECURSIVE cnt(x) AS (VALUES(1) UNION SELECT x+1 FROM cnt WHERE x<8) SELECT * FROM cnt;
|
||||
WITH RECURSIVE cnt(x) AS (VALUES(1) UNION ALL SELECT x+1 FROM cnt WHERE x<0) SELECT * FROM cnt;
|
||||
DETACH DATABASE aux84;
|
||||
SELECT * FROM T t1 JOIN T t2 ON t1.a = (SELECT a FROM T LIMIT 1);
|
||||
ALTER TABLE T RENAME TO T_r9068;
|
||||
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;
|
||||
ROLLBACK TRANSACTION TO SAVEPOINT sp9818;
|
||||
RELEASE SAVEPOINT sp9818;
|
||||
SELECT STRING_AGG(a, '|') FROM T;
|
||||
INSERT INTO T VALUES (NULL, NULL, NULL);
|
||||
SELECT LEAD(a, 1, NULL) OVER (ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) FROM T;
|
||||
SELECT RANK() OVER (ORDER BY c GROUPS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) FROM T;
|
||||
SELECT COUNT(*) FROM T;
|
||||
SELECT * FROM T AS a RIGHT OUTER JOIN T AS b ON a.rowid = b.rowid;
|
||||
INSERT INTO T VALUES (NULL, NULL, NULL);
|
||||
ALTER TABLE T ADD COLUMN extra_9504 DOUBLE COLLATE RTRIM;
|
||||
SELECT * FROM T NATURAL JOIN T;
|
||||
ANALYZE;
|
||||
INSERT INTO T DEFAULT VALUES;
|
||||
INSERT INTO T DEFAULT VALUES;
|
||||
INSERT INTO T VALUES (NULL, NULL, NULL);
|
||||
WITH cte AS (SELECT CASE WHEN a > 0 THEN "pos" ELSE "neg" END AS sign FROM T) SELECT * FROM cte;
|
||||
SELECT FIRST_VALUE(c) OVER (ORDER BY c ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW EXCLUDE TIES) FROM T;
|
||||
ALTER TABLE T ADD COLUMN extra_5697 BIGINT COLLATE NOCASE;
|
||||
RELEASE sp4770;
|
||||
PRAGMA short_column_names = OFF;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_T_534 AFTER UPDATE OF A ON T BEGIN SELECT RAISE(FAIL, 'no'); END;
|
||||
SELECT * FROM T WHERE C = (SELECT GROUP_CONCAT(C) FROM T);
|
||||
SAVEPOINT sp4770;
|
||||
.limit
|
||||
SAVEPOINT sp9818;
|
||||
ATTACH DATABASE ':memory:' AS aux84;
|
||||
SAVEPOINT sp2531;
|
||||
.check
|
||||
SAVEPOINT sp9694;
|
||||
PRAGMA encoding = 'UTF-8';
|
||||
ATTACH DATABASE ':memory:' AS aux44;
|
||||
CREATE TABLE main.main.`T` (
|
||||
a REAL,
|
||||
b REAL,
|
||||
c REAL
|
||||
);
|
||||
INSERT INTO T VALUES (strftime('%s', if(coalesce(NULL, NULL, NULL) -> sqrt(datetime(-(-(CAST(x'2f' AS BLOB))))), typeof(NULL), (0 + 9145485036963515638))),1.5,10.0), (2,-2.5,20.0), (3,-9e999,30.0);
|
||||
WITH _m AS MATERIALIZED (WITH _m AS MATERIALIZED (SELECT * FROM T) SELEC_m * FROM T) SELEC_m * FROM T WHERE NOT NOT (NOT NOT (+b < 2.0)) ORDER BY b;
|
||||
DETACH DATABASE aux44;
|
||||
SELECT * FROM T WHERE EXISTS (SELECT 1 FROM T t2 WHERE t2.a = T.a);
|
||||
INSERT INTO T VALUES (NULL, NULL, NULL);
|
||||
INSERT OR ROLLBACK INTO T VALUES (NULL, NULL, '');
|
||||
WITH RECURSIVE cnt(x) AS (VALUES(1) UNION ALL SELECT x+1 FROM cnt WHERE +x<21) SELECT * FROM cnt;
|
||||
ALTER TABLE T DROP COLUMN b;
|
||||
DROP VIEW IF EXISTS T;
|
||||
SELECT ROW_NUMBER() OVER (ORDER BY a ROWS BETWEEN 2 PRECEDING AND 2 FOLLOWING EXCLUDE CURRENT ROW) FROM T;
|
||||
INSERT OR ROLLBACK INTO T VALUES (-2, NULL, 0);
|
||||
ROLLBACK TO sp9694;
|
||||
RELEASE sp9694;
|
||||
ALTER TABLE T ADD COLUMN extra_4532 UNSIGNED BIG INT DEFAULT (abs(random()) % 1000);
|
||||
SELECT a, COUNT(*) FROM T GROUP BY a HAVING COUNT(*) = (SELECT COUNT(*) FROM T);
|
||||
CREATE TRIGGER IF NOT EXISTS trg_T_7371 BEFORE UPDATE ON T FOR EACH ROW BEGIN SELECT RAISE(FAIL, 'no'); END;
|
||||
SELECT COUNT(*) FROM T;
|
||||
ROLLBACK TO sp2531;
|
||||
RELEASE sp2531;
|
||||
INSERT OR ABORT INTO T VALUES (6, 0, 0);
|
||||
SELECT COUNT(*) FROM T;
|
||||
WITH RECURSIVE cnt(x) AS (VALUES(1) UNION SELECT x+1 FROM cnt WHERE x<8) SELECT * FROM cnt;
|
||||
WITH RECURSIVE cnt(x) AS (VALUES(1) UNION ALL SELECT x+1 FROM cnt WHERE x<0) SELECT * FROM cnt;
|
||||
DETACH DATABASE aux84;
|
||||
SELECT * FROM T t1 JOIN T t2 ON t1.a = (SELECT a FROM T LIMIT 1);
|
||||
ALTER TABLE T RENAME TO T_r9068;
|
||||
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;
|
||||
ROLLBACK TRANSACTION TO SAVEPOINT sp9818;
|
||||
RELEASE SAVEPOINT sp9818;
|
||||
SELECT STRING_AGG(a, '|') FROM T;
|
||||
INSERT INTO T VALUES (NULL, NULL, NULL);
|
||||
SELECT LEAD(a, 1, NULL) OVER (ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) FROM T;
|
||||
SELECT RANK() OVER (ORDER BY c GROUPS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) FROM T;
|
||||
SELECT COUNT(*) FROM T;
|
||||
SELECT * FROM T AS a RIGHT OUTER JOIN T AS b ON a.rowid = b.rowid;
|
||||
INSERT INTO T VALUES (NULL, NULL, NULL);
|
||||
ALTER TABLE T ADD COLUMN extra_9504 DOUBLE COLLATE RTRIM;
|
||||
SELECT * FROM T NATURAL JOIN T;
|
||||
ANALYZE;
|
||||
INSERT INTO T DEFAULT VALUES;
|
||||
INSERT INTO T DEFAULT VALUES;
|
||||
INSERT INTO T VALUES (NULL, NULL, NULL);
|
||||
WITH cte AS (SELECT CASE WHEN a > 0 THEN "pos" ELSE "neg" END AS sign FROM T) SELECT * FROM cte;
|
||||
SELECT FIRST_VALUE(c) OVER (ORDER BY c ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW EXCLUDE TIES) FROM T;
|
||||
ALTER TABLE T ADD COLUMN extra_5697 BIGINT COLLATE NOCASE;
|
||||
RELEASE sp4770;
|
||||
PRAGMA short_column_names = OFF;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_T_534 AFTER UPDATE OF A ON T BEGIN SELECT RAISE(FAIL, 'no'); END;
|
||||
SELECT * FROM T WHERE C = (SELECT GROUP_CONCAT(C) FROM T);
|
||||
SAVEPOINT sp4770;
|
||||
.limit
|
||||
SAVEPOINT sp9818;
|
||||
ATTACH DATABASE ':memory:' AS aux84;
|
||||
SAVEPOINT sp2531;
|
||||
.check
|
||||
SAVEPOINT sp9694;
|
||||
PRAGMA encoding = 'UTF-8';
|
||||
ATTACH DATABASE ':memory:' AS aux44;
|
||||
CREATE TABLE main.main.`T` (
|
||||
a REAL,
|
||||
b REAL,
|
||||
c REAL
|
||||
);
|
||||
INSERT INTO T VALUES (strftime('%s', if(coalesce(NULL, NULL, NULL) -> sqrt(datetime(-(-(CAST(x'2f' AS BLOB))))), typeof(NULL), (0 + 9145485036963515638))),1.5,10.0), (2,-2.5,20.0), (3,-9e999,30.0);
|
||||
WITH _m AS MATERIALIZED (WITH _m AS MATERIALIZED (SELECT * FROM T) SELEC_m * FROM T) SELEC_m * FROM T WHERE NOT NOT (NOT NOT (+b < 2.0)) ORDER BY b;
|
||||
DETACH DATABASE aux44;
|
||||
SELECT * FROM T WHERE EXISTS (SELECT 1 FROM T t2 WHERE t2.a = T.a);
|
||||
INSERT INTO T VALUES (NULL, NULL, NULL);
|
||||
INSERT OR ROLLBACK INTO T VALUES (NULL, NULL, '');
|
||||
WITH RECURSIVE cnt(x) AS (VALUES(1) UNION ALL SELECT x+1 FROM cnt WHERE +x<21) SELECT * FROM cnt;
|
||||
ALTER TABLE T DROP COLUMN b;
|
||||
DROP VIEW IF EXISTS T;
|
||||
SELECT ROW_NUMBER() OVER (ORDER BY a ROWS BETWEEN 2 PRECEDING AND 2 FOLLOWING EXCLUDE CURRENT ROW) FROM T;
|
||||
INSERT OR ROLLBACK INTO T VALUES (-2, NULL, 0);
|
||||
ROLLBACK TO sp9694;
|
||||
RELEASE sp9694;
|
||||
ALTER TABLE T ADD COLUMN extra_4532 UNSIGNED BIG INT DEFAULT (abs(random()) % 1000);
|
||||
SELECT a, COUNT(*) FROM T GROUP BY a HAVING COUNT(*) = (SELECT COUNT(*) FROM T);
|
||||
CREATE TRIGGER IF NOT EXISTS trg_T_7371 BEFORE UPDATE ON T FOR EACH ROW BEGIN SELECT RAISE(FAIL, 'no'); END;
|
||||
SELECT COUNT(*) FROM T;
|
||||
ROLLBACK TO sp2531;
|
||||
RELEASE sp2531;
|
||||
INSERT OR ABORT INTO T VALUES (6, 0, 0);
|
||||
SELECT COUNT(*) FROM T;
|
||||
WITH RECURSIVE cnt(x) AS (VALUES(1) UNION SELECT x+1 FROM cnt WHERE x<8) SELECT * FROM cnt;
|
||||
WITH RECURSIVE cnt(x) AS (VALUES(1) UNION ALL SELECT x+1 FROM cnt WHERE x<0) SELECT * FROM cnt;
|
||||
DETACH DATABASE aux84;
|
||||
SELECT * FROM T t1 JOIN T t2 ON t1.a = (SELECT a FROM T LIMIT 1);
|
||||
ALTER TABLE T RENAME TO T_r9068;
|
||||
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;
|
||||
ROLLBACK TRANSACTION TO SAVEPOINT sp9818;
|
||||
RELEASE SAVEPOINT sp9818;
|
||||
SELECT STRING_AGG(a, '|') FROM T;
|
||||
INSERT INTO T VALUES (NULL, NULL, NULL);
|
||||
SELECT LEAD(a, 1, NULL) OVER (ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) FROM T;
|
||||
SELECT RANK() OVER (ORDER BY c GROUPS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) FROM T;
|
||||
SELECT COUNT(*) FROM T;
|
||||
SELECT * FROM T AS a RIGHT OUTER JOIN T AS b ON a.rowid = b.rowid;
|
||||
INSERT INTO T VALUES (NULL, NULL, NULL);
|
||||
ALTER TABLE T ADD COLUMN extra_9504 DOUBLE COLLATE RTRIM;
|
||||
SELECT * FROM T NATURAL JOIN T;
|
||||
ANALYZE;
|
||||
INSERT INTO T DEFAULT VALUES;
|
||||
INSERT INTO T DEFAULT VALUES;
|
||||
INSERT INTO T VALUES (NULL, NULL, NULL);
|
||||
WITH cte AS (SELECT CASE WHEN a > 0 THEN "pos" ELSE "neg" END AS sign FROM T) SELECT * FROM cte;
|
||||
SELECT FIRST_VALUE(c) OVER (ORDER BY c ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW EXCLUDE TIES) FROM T;
|
||||
ALTER TABLE T ADD COLUMN extra_5697 BIGINT COLLATE NOCASE;
|
||||
RELEASE sp4770;
|
||||
PRAGMA short_column_names = OFF;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_T_534 AFTER UPDATE OF A ON T BEGIN SELECT RAISE(FAIL, 'no'); END;
|
||||
SELECT * FROM T WHERE C = (SELECT GROUP_CONCAT(C) FROM T);
|
||||
SAVEPOINT sp4770;
|
||||
.limit
|
||||
SAVEPOINT sp9818;
|
||||
ATTACH DATABASE ':memory:' AS aux84;
|
||||
SAVEPOINT sp2531;
|
||||
.check
|
||||
SAVEPOINT sp9694;
|
||||
PRAGMA encoding = 'UTF-8';
|
||||
ATTACH DATABASE ':memory:' AS aux44;
|
||||
CREATE TABLE main.main.`T` (
|
||||
a REAL,
|
||||
b REAL,
|
||||
c REAL
|
||||
);
|
||||
INSERT INTO T VALUES (strftime('%s', if(coalesce(NULL, NULL, NULL) -> sqrt(datetime(-(-(CAST(x'2f' AS BLOB))))), typeof(NULL), (0 + 9145485036963515638))),1.5,10.0), (2,-2.5,20.0), (3,-9e999,30.0);
|
||||
WITH _m AS MATERIALIZED (WITH _m AS MATERIALIZED (SELECT * FROM T) SELEC_m * FROM T) SELEC_m * FROM T WHERE NOT NOT (NOT NOT (+b < 2.0)) ORDER BY b;
|
||||
DETACH DATABASE aux44;
|
||||
SELECT * FROM T WHERE EXISTS (SELECT 1 FROM T t2 WHERE t2.a = T.a);
|
||||
INSERT INTO T VALUES (NULL, NULL, NULL);
|
||||
INSERT OR ROLLBACK INTO T VALUES (NULL, NULL, '');
|
||||
WITH RECURSIVE cnt(x) AS (VALUES(1) UNION ALL SELECT x+1 FROM cnt WHERE +x<21) SELECT * FROM cnt;
|
||||
ALTER TABLE T DROP COLUMN b;
|
||||
DROP VIEW IF EXISTS T;
|
||||
SELECT ROW_NUMBER() OVER (ORDER BY a ROWS BETWEEN 2 PRECEDING AND 2 FOLLOWING EXCLUDE CURRENT ROW) FROM T;
|
||||
INSERT OR ROLLBACK INTO T VALUES (-2, NULL, 0);
|
||||
ROLLBACK TO sp9694;
|
||||
RELEASE sp9694;
|
||||
ALTER TABLE T ADD COLUMN extra_4532 UNSIGNED BIG INT DEFAULT (abs(random()) % 1000);
|
||||
SELECT a, COUNT(*) FROM T GROUP BY a HAVING COUNT(*) = (SELECT COUNT(*) FROM T);
|
||||
CREATE TRIGGER IF NOT EXISTS trg_T_7371 BEFORE UPDATE ON T FOR EACH ROW BEGIN SELECT RAISE(FAIL, 'no'); END;
|
||||
SELECT COUNT(*) FROM T;
|
||||
ROLLBACK TO sp2531;
|
||||
RELEASE sp2531;
|
||||
INSERT OR ABORT INTO T VALUES (6, 0, 0);
|
||||
SELECT COUNT(*) FROM T;
|
||||
WITH RECURSIVE cnt(x) AS (VALUES(1) UNION SELECT x+1 FROM cnt WHERE x<8) SELECT * FROM cnt;
|
||||
WITH RECURSIVE cnt(x) AS (VALUES(1) UNION ALL SELECT x+1 FROM cnt WHERE x<0) SELECT * FROM cnt;
|
||||
DETACH DATABASE aux84;
|
||||
SELECT * FROM T t1 JOIN T t2 ON t1.a = (SELECT a FROM T LIMIT 1);
|
||||
ALTER TABLE T RENAME TO T_r9068;
|
||||
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;
|
||||
ROLLBACK TRANSACTION TO SAVEPOINT sp9818;
|
||||
RELEASE SAVEPOINT sp9818;
|
||||
SELECT STRING_AGG(a, '|') FROM T;
|
||||
INSERT INTO T VALUES (NULL, NULL, NULL);
|
||||
SELECT LEAD(a, 1, NULL) OVER (ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) FROM T;
|
||||
SELECT RANK() OVER (ORDER BY c GROUPS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) FROM T;
|
||||
SELECT COUNT(*) FROM T;
|
||||
SELECT * FROM T AS a RIGHT OUTER JOIN T AS b ON a.rowid = b.rowid;
|
||||
INSERT INTO T VALUES (NULL, NULL, NULL);
|
||||
ALTER TABLE T ADD COLUMN extra_9504 DOUBLE COLLATE RTRIM;
|
||||
SELECT * FROM T NATURAL JOIN T;
|
||||
ANALYZE;
|
||||
INSERT INTO T DEFAULT VALUES;
|
||||
INSERT INTO T DEFAULT VALUES;
|
||||
INSERT INTO T VALUES (NULL, NULL, NULL);
|
||||
WITH cte AS (SELECT CASE WHEN a > 0 THEN "pos" ELSE "neg" END AS sign FROM T) SELECT * FROM cte;
|
||||
SELECT FIRST_VALUE(c) OVER (ORDER BY c ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW EXCLUDE TIES) FROM T;
|
||||
ALTER TABLE T ADD COLUMN extra_5697 BIGINT COLLATE NOCASE;
|
||||
RELEASE sp4770;
|
||||
PRAGMA short_column_names = OFF;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_T_534 AFTER UPDATE OF A ON T BEGIN SELECT RAISE(FAIL, 'no'); END;
|
||||
SELECT * FROM T WHERE C = (SELECT GROUP_CONCAT(C) FROM T);
|
||||
SAVEPOINT sp4770;
|
||||
.limit
|
||||
SAVEPOINT sp9818;
|
||||
ATTACH DATABASE ':memory:' AS aux84;
|
||||
SAVEPOINT sp2531;
|
||||
.check
|
||||
SAVEPOINT sp9694;
|
||||
PRAGMA encoding = 'UTF-8';
|
||||
ATTACH DATABASE ':memory:' AS aux44;
|
||||
CREATE TABLE main.main.`T` (
|
||||
a REAL,
|
||||
b REAL,
|
||||
c REAL
|
||||
);
|
||||
INSERT INTO T VALUES (strftime('%s', if(coalesce(NULL, NULL, NULL) -> sqrt(datetime(-(-(CAST(x'2f' AS BLOB))))), typeof(NULL), (0 + 9145485036963515638))),1.5,10.0), (2,-2.5,20.0), (3,-9e999,30.0);
|
||||
WITH _m AS MATERIALIZED (WITH _m AS MATERIALIZED (SELECT * FROM T) SELEC_m * FROM T) SELEC_m * FROM T WHERE NOT NOT (NOT NOT (+b < 2.0)) ORDER BY b;
|
||||
DETACH DATABASE aux44;
|
||||
SELECT * FROM T WHERE EXISTS (SELECT 1 FROM T t2 WHERE t2.a = T.a);
|
||||
INSERT INTO T VALUES (NULL, NULL, NULL);
|
||||
INSERT OR ROLLBACK INTO T VALUES (NULL, NULL, '');
|
||||
WITH RECURSIVE cnt(x) AS (VALUES(1) UNION ALL SELECT x+1 FROM cnt WHERE +x<21) SELECT * FROM cnt;
|
||||
ALTER TABLE T DROP COLUMN b;
|
||||
DROP VIEW IF EXISTS T;
|
||||
SELECT ROW_NUMBER() OVER (ORDER BY a ROWS BETWEEN 2 PRECEDING AND 2 FOLLOWING EXCLUDE CURRENT ROW) FROM T;
|
||||
INSERT OR ROLLBACK INTO T VALUES (-2, NULL, 0);
|
||||
ROLLBACK TO sp9694;
|
||||
RELEASE sp9694;
|
||||
ALTER TABLE T ADD COLUMN extra_4532 UNSIGNED BIG INT DEFAULT (abs(random()) % 1000);
|
||||
SELECT a, COUNT(*) FROM T GROUP BY a HAVING COUNT(*) = (SELECT COUNT(*) FROM T);
|
||||
CREATE TRIGGER IF NOT EXISTS trg_T_7371 BEFORE UPDATE ON T FOR EACH ROW BEGIN SELECT RAISE(FAIL, 'no'); END;
|
||||
SELECT COUNT(*) FROM T;
|
||||
ROLLBACK TO sp2531;
|
||||
RELEASE sp2531;
|
||||
INSERT OR ABORT INTO T VALUES (6, 0, 0);
|
||||
SELECT COUNT(*) FROM T;
|
||||
WITH RECURSIVE cnt(x) AS (VALUES(1) UNION SELECT x+1 FROM cnt WHERE x<8) SELECT * FROM cnt;
|
||||
WITH RECURSIVE cnt(x) AS (VALUES(1) UNION ALL SELECT x+1 FROM cnt WHERE x<0) SELECT * FROM cnt;
|
||||
DETACH DATABASE aux84;
|
||||
SELECT * FROM T t1 JOIN T t2 ON t1.a = (SELECT a FROM T LIMIT 1);
|
||||
ALTER TABLE T RENAME TO T_r9068;
|
||||
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;
|
||||
ROLLBACK TRANSACTION TO SAVEPOINT sp9818;
|
||||
RELEASE SAVEPOINT sp9818;
|
||||
SELECT STRING_AGG(a, '|') FROM T;
|
||||
INSERT INTO T VALUES (NULL, NULL, NULL);
|
||||
SELECT LEAD(a, 1, NULL) OVER (ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) FROM T;
|
||||
SELECT RANK() OVER (ORDER BY c GROUPS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) FROM T;
|
||||
SELECT COUNT(*) FROM T;
|
||||
SELECT * FROM T AS a RIGHT OUTER JOIN T AS b ON a.rowid = b.rowid;
|
||||
INSERT INTO T VALUES (NULL, NULL, NULL);
|
||||
ALTER TABLE T ADD COLUMN extra_9504 DOUBLE COLLATE RTRIM;
|
||||
SELECT * FROM T NATURAL JOIN T;
|
||||
ANALYZE;
|
||||
INSERT INTO T DEFAULT VALUES;
|
||||
INSERT INTO T DEFAULT VALUES;
|
||||
INSERT INTO T VALUES (NULL, NULL, NULL);
|
||||
WITH cte AS (SELECT CASE WHEN a > 0 THEN "pos" ELSE "neg" END AS sign FROM T) SELECT * FROM cte;
|
||||
SELECT FIRST_VALUE(c) OVER (ORDER BY c ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW EXCLUDE TIES) FROM T;
|
||||
ALTER TABLE T ADD COLUMN extra_5697 BIGINT COLLATE NOCASE;
|
||||
RELEASE sp4770;
|
||||
PRAGMA short_column_names = OFF;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_T_534 AFTER UPDATE OF A ON T BEGIN SELECT RAISE(FAIL, 'no'); END;
|
||||
SELECT * FROM T WHERE C = (SELECT GROUP_CONCAT(C) FROM T);
|
||||
|
||||
ALTER TABLE T RENAME TO T_r7047;
|
||||
SELECT * FROM T WHERE EXISTS (SELECT 1 FROM T WHERE EXISTS (SELECT 1 FROM T));
|
||||
CREATE INDEX IF NOT EXISTS idx_T_4760 ON T(lower(A));
|
||||
INSERT INTO T DEFAULT VALUES;
|
||||
DROP TABLE IF EXISTS T;
|
||||
INSERT INTO T VALUES (NULL, NULL, NULL);
|
||||
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
|
||||
DELETE FROM t1 WHERE a IS NULL;
|
||||
VACUUM main;
|
||||
CREATE INDEX IF NOT EXISTS idx_T_3264 ON T((B + 1)) WHERE B > 0;
|
||||
ALTER TABLE T RENAME COLUMN A TO A_r3473;
|
||||
SELECT * FROM T AS a FULL JOIN T AS b ON a.rowid = b.rowid;
|
||||
INSERT INTO T SELECT * FROM T;
|
||||
DELETE FROM T WHERE rowid = 71;
|
||||
CREATE TABLE T (
|
||||
a TEXT,
|
||||
b INTEGER,
|
||||
c REAL
|
||||
);
|
||||
INSERT INTO T VALUES ('a',1,2.0), ('a',2,-3.0), ('b',1,4.5);
|
||||
SELECT a,b,c,
|
||||
SUM(c) OVER (
|
||||
PARTITION BY a
|
||||
ORDER BY b
|
||||
) AS d
|
||||
FROM T;
|
||||
INSERT INTO T DEFAULT VALUES;
|
||||
SELECT MAX(c) FROM t1;
|
||||
SELECT * FROM t1;
|
||||
SELECT MIN(b) FROM T;
|
||||
WITH RECURSIVE r AS (SELECT c FROM t1 UNION ALL SELECT c FROM t1 LIMIT 5) SELECT * FROM r;
|
||||
REINDEX;
|
||||
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;
|
||||
DELETE FROM t1 WHERE 0;
|
||||
SELECT TOTAL(d) FROM t1;
|
||||
SELECT * FROM t1 WHERE EXISTS (SELECT 1 FROM t1 t2 WHERE t2.a = t1.a);
|
||||
CREATE TRIGGER IF NOT EXISTS trg_T_1588 BEFORE UPDATE OF c ON T FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'abort'); END;
|
||||
ANALYZE;
|
||||
COMMIT;
|
||||
INSERT INTO t1 SELECT * FROM t1;
|
||||
SELECT * FROM t1 NATURAL JOIN T;
|
||||
PRAGMA trusted_schema = NO;
|
||||
BEGIN TRANSACTION;
|
||||
.timeout -jsonb_extract(typeof('#'), '$')
|
||||
SAVEPOINT sp4770;
|
||||
-- typeof(1.0)
|
||||
|
||||
.limit
|
||||
SAVEPOINT sp9818;
|
||||
ATTACH DATABASE ':memory:' AS aux84;
|
||||
SAVEPOINT sp2531;
|
||||
.check
|
||||
SAVEPOINT sp9694;
|
||||
PRAGMA encoding < 'UTF-8';
|
||||
ATTACH DATABASE ':memory:' AS aux44;
|
||||
CREATE TABLE main.main.`T` (
|
||||
a DOUBLE,
|
||||
b REAL,
|
||||
c REAL
|
||||
);
|
||||
INSERT INTO T VALUES (strftime('%s', if(coalesce(NULL, NULL, NULL) -> sqrt(datetime(-(-(CAST(x'2f' AS BLOB))))), typeof(NULL), (-(-(datetime(CAST(((json_object('k', json(x'096c11a26d368c64')) + 0.0) + 0.0) AS BIGINT)))) + 9145485036963515638))),1.5,10.0), (2,-2.5,20.0), (3,-9e999,30.0);
|
||||
WITH _m AS MATERIALIZED (WITH _m AS MATERIALIZED (WITH _m AS MATERIALIZED (SELECT * FROM T) SELEC_m * FROM T) SELEC_m * FROM T) SELEC_m * FROM T WHERE NOT NOT (NOT NOT (+b < 2.0)) ORDER BY b;
|
||||
DETACH DATABASE aux44;
|
||||
SELECT * FROM T WHERE EXISTS (SELECT 1 FROM T t2 WHERE t2.a = T.a);
|
||||
INSERT INTO T VALUES (NULL, NULL, NULL);
|
||||
INSERT OR ROLLBACK INTO T VALUES (NULL, NULL, '');
|
||||
WITH RECURSIVE cnt(x) AS (VALUES(1) UNION ALL SELECT x+1 FROM cnt WHERE +x<21) SELECT * FROM cnt;
|
||||
ALTER TABLE T DROP COLUMN b;
|
||||
DROP VIEW IF EXISTS T;
|
||||
SELECT ROW_NUMBER() OVER (ORDER BY a ROWS BETWEEN 2 PRECEDING AND 2 FOLLOWING EXCLUDE CURRENT ROW) FROM T;
|
||||
INSERT OR ROLLBACK INTO T VALUES (-2, NULL, 0);
|
||||
ROLLBACK TO sp9694;
|
||||
RELEASE sp9694;
|
||||
ALTER TABLE T ADD COLUMN extra_4532 UNSIGNED BIG INT DEFAULT (abs(random()) % 1000);
|
||||
SELECT a, COUNT(*) FROM T GROUP BY a HAVING COUNT(*) = (SELECT COUNT(*) FROM T);
|
||||
CREATE TRIGGER IF NOT EXISTS trg_T_7371 BEFORE UPDATE ON T FOR EACH ROW BEGIN SELECT RAISE(FAIL, 'no'); END;
|
||||
SELECT COUNT(*) FROM T;
|
||||
ROLLBACK TO sp2531;
|
||||
RELEASE sp2531;
|
||||
INSERT OR ABORT INTO T VALUES (6, 0, 0);
|
||||
SELECT COUNT(*) FROM T;
|
||||
WITH RECURSIVE cnt(x) AS (VALUES(1) UNION SELECT x+1 FROM cnt WHERE x<8) SELECT * FROM cnt;
|
||||
WITH RECURSIVE cnt(x) AS (VALUES(1) UNION ALL SELECT x+1 FROM cnt WHERE x<0) SELECT * FROM cnt;
|
||||
DETACH DATABASE aux84;
|
||||
SELECT * FROM T t1 JOIN T t2 ON t1.a = (SELECT a FROM T LIMIT 1);
|
||||
ALTER TABLE T RENAME TO T_r9068;
|
||||
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;
|
||||
ROLLBACK TRANSACTION TO SAVEPOINT sp9818;
|
||||
RELEASE SAVEPOINT sp9818;
|
||||
SELECT STRING_AGG(a, '|') FROM T;
|
||||
INSERT INTO T VALUES (NULL, NULL, NULL);
|
||||
SELECT LEAD(a, 1, NULL) OVER (ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) FROM T;
|
||||
SELECT RANK() OVER (ORDER BY c GROUPS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) FROM T;
|
||||
SELECT COUNT(*) FROM T;
|
||||
SELECT * FROM T AS a RIGHT OUTER JOIN T AS b ON a.rowid = b.rowid;
|
||||
INSERT INTO T VALUES (NULL, NULL, NULL);
|
||||
ALTER TABLE T ADD COLUMN extra_9504 DOUBLE COLLATE RTRIM;
|
||||
SELECT * FROM T NATURAL JOIN T;
|
||||
ANALYZE;
|
||||
INSERT INTO T DEFAULT VALUES;
|
||||
INSERT INTO T DEFAULT VALUES;
|
||||
INSERT INTO T VALUES (NULL, NULL, NULL);
|
||||
WITH cte AS (SELECT CASE WHEN a > 0 THEN "pos" ELSE "neg" END AS sign FROM T) SELECT * FROM cte;
|
||||
SELECT FIRST_VALUE(c) OVER (ORDER BY c ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW EXCLUDE TIES) FROM T;
|
||||
ALTER TABLE T ADD COLUMN extra_5697 BIGINT COLLATE NOCASE;
|
||||
RELEASE sp4770;
|
||||
PRAGMA short_column_names = OFF;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_T_534 AFTER UPDATE OF A ON T BEGIN SELECT RAISE(FAIL, 'no'); END;
|
||||
SELECT * FROM T WHERE C = (SELECT GROUP_CONCAT(C) FROM T);
|
||||
SAVEPOINT sp4770;
|
||||
.limit
|
||||
SAVEPOINT sp9818;
|
||||
ATTACH DATABASE ':memory:' AS aux84;
|
||||
SAVEPOINT sp2531;
|
||||
.check
|
||||
SAVEPOINT sp9694;
|
||||
PRAGMA encoding = 'UTF-8';
|
||||
ATTACH DATABASE ':memory:' AS aux44;
|
||||
CREATE TABLE main.main.`T` (
|
||||
a REAL,
|
||||
b REAL,
|
||||
c REAL
|
||||
);
|
||||
INSERT INTO T VALUES (strftime('%s', if(coalesce(NULL, NULL, NULL) -> sqrt(datetime(-(-(CAST(x'2f' AS BLOB))))), typeof(NULL), (0 + 9145485036963515638))),1.5,10.0), (2,-2.5,20.0), (3,-9e999,30.0);
|
||||
WITH _m AS MATERIALIZED (WITH _m AS MATERIALIZED (SELECT * FROM T) SELEC_m * FROM T) SELEC_m * FROM T WHERE NOT NOT (NOT NOT (+b < 2.0)) ORDER BY b;
|
||||
DETACH DATABASE aux44;
|
||||
SELECT * FROM T WHERE EXISTS (SELECT 1 FROM T t2 WHERE t2.a = T.a);
|
||||
INSERT INTO T VALUES (NULL, NULL, NULL);
|
||||
INSERT OR ROLLBACK INTO T VALUES (NULL, NULL, '');
|
||||
WITH RECURSIVE cnt(x) AS (VALUES(1) UNION ALL SELECT x+1 FROM cnt WHERE +x<21) SELECT * FROM cnt;
|
||||
ALTER TABLE T DROP COLUMN b;
|
||||
DROP VIEW IF EXISTS T;
|
||||
SELECT ROW_NUMBER() OVER (ORDER BY a ROWS BETWEEN 2 PRECEDING AND 2 FOLLOWING EXCLUDE CURRENT ROW) FROM T;
|
||||
INSERT OR ROLLBACK INTO T VALUES (-2, NULL, 0);
|
||||
ROLLBACK TO sp9694;
|
||||
RELEASE sp9694;
|
||||
ALTER TABLE T ADD COLUMN extra_4532 UNSIGNED BIG INT DEFAULT (abs(random()) % 1000);
|
||||
SELECT a, COUNT(*) FROM T GROUP BY a HAVING COUNT(*) = (SELECT COUNT(*) FROM T);
|
||||
CREATE TRIGGER IF NOT EXISTS trg_T_7371 BEFORE UPDATE ON T FOR EACH ROW BEGIN SELECT RAISE(FAIL, 'no'); END;
|
||||
SELECT COUNT(*) FROM T;
|
||||
ROLLBACK TO sp2531;
|
||||
RELEASE sp2531;
|
||||
INSERT OR ABORT INTO T VALUES (6, 0, 0);
|
||||
SELECT COUNT(*) FROM T;
|
||||
WITH RECURSIVE cnt(x) AS (VALUES(1) UNION SELECT x+1 FROM cnt WHERE x<8) SELECT * FROM cnt;
|
||||
WITH RECURSIVE cnt(x) AS (VALUES(1) UNION ALL SELECT x+1 FROM cnt WHERE x<0) SELECT * FROM cnt;
|
||||
DETACH DATABASE aux84;
|
||||
SELECT * FROM T t1 JOIN T t2 ON t1.a = (SELECT a FROM T LIMIT 1);
|
||||
ALTER TABLE T RENAME TO T_r9068;
|
||||
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;
|
||||
ROLLBACK TRANSACTION TO SAVEPOINT sp9818;
|
||||
RELEASE SAVEPOINT sp9818;
|
||||
SELECT STRING_AGG(a, '|') FROM T;
|
||||
INSERT INTO T VALUES (NULL, NULL, NULL);
|
||||
SELECT LEAD(a, 1, NULL) OVER (ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) FROM T;
|
||||
SELECT RANK() OVER (ORDER BY c GROUPS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) FROM T;
|
||||
SELECT COUNT(*) FROM T;
|
||||
SELECT * FROM T AS a RIGHT OUTER JOIN T AS b ON a.rowid = b.rowid;
|
||||
INSERT INTO T VALUES (NULL, NULL, NULL);
|
||||
ALTER TABLE T ADD COLUMN extra_9504 DOUBLE COLLATE RTRIM;
|
||||
SELECT * FROM T NATURAL JOIN T;
|
||||
ANALYZE;
|
||||
INSERT INTO T DEFAULT VALUES;
|
||||
INSERT INTO T DEFAULT VALUES;
|
||||
INSERT INTO T VALUES (NULL, NULL, NULL);
|
||||
WITH cte AS (SELECT CASE WHEN a > 0 THEN "pos" ELSE "neg" END AS sign FROM T) SELECT * FROM cte;
|
||||
SELECT FIRST_VALUE(c) OVER (ORDER BY c ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW EXCLUDE TIES) FROM T;
|
||||
ALTER TABLE T ADD COLUMN extra_5697 BIGINT COLLATE NOCASE;
|
||||
RELEASE sp4770;
|
||||
PRAGMA short_column_names = OFF;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_T_534 AFTER UPDATE OF A ON T BEGIN SELECT RAISE(FAIL, 'no'); END;
|
||||
SELECT * FROM T WHERE C = (SELECT GROUP_CONCAT(C) FROM T);
|
||||
SAVEPOINT sp4770;
|
||||
.limit
|
||||
SAVEPOINT sp9818;
|
||||
ATTACH DATABASE ':memory:' AS aux84;
|
||||
SAVEPOINT sp2531;
|
||||
.check
|
||||
SAVEPOINT sp9694;
|
||||
PRAGMA encoding = 'UTF-8';
|
||||
ATTACH DATABASE ':memory:' AS aux44;
|
||||
CREATE TABLE main.main.`T` (
|
||||
a REAL,
|
||||
b REAL,
|
||||
c REAL
|
||||
);
|
||||
INSERT INTO T VALUES (strftime('%s', if(coalesce(NULL, NULL, NULL) -> sqrt(datetime(-(-(CAST(x'2f' AS BLOB))))), typeof(NULL), (0 + 9145485036963515638))),1.5,10.0), (2,-2.5,20.0), (3,-9e999,30.0);
|
||||
WITH _m AS MATERIALIZED (WITH _m AS MATERIALIZED (SELECT * FROM T) SELEC_m * FROM T) SELEC_m * FROM T WHERE NOT NOT (NOT NOT (+b < 2.0)) ORDER BY b;
|
||||
DETACH DATABASE aux44;
|
||||
SELECT * FROM T WHERE EXISTS (SELECT 1 FROM T t2 WHERE t2.a = T.a);
|
||||
INSERT INTO T VALUES (NULL, NULL, NULL);
|
||||
INSERT OR ROLLBACK INTO T VALUES (NULL, NULL, '');
|
||||
WITH RECURSIVE cnt(x) AS (VALUES(1) UNION ALL SELECT x+1 FROM cnt WHERE +x<21) SELECT * FROM cnt;
|
||||
ALTER TABLE T DROP COLUMN b;
|
||||
DROP VIEW IF EXISTS T;
|
||||
SELECT ROW_NUMBER() OVER (ORDER BY a ROWS BETWEEN 2 PRECEDING AND 2 FOLLOWING EXCLUDE CURRENT ROW) FROM T;
|
||||
INSERT OR ROLLBACK INTO T VALUES (-2, NULL, 0);
|
||||
ROLLBACK TO sp9694;
|
||||
RELEASE sp9694;
|
||||
ALTER TABLE T ADD COLUMN extra_4532 UNSIGNED BIG INT DEFAULT (abs(random()) % 1000);
|
||||
SELECT a, COUNT(*) FROM T GROUP BY a HAVING COUNT(*) = (SELECT COUNT(*) FROM T);
|
||||
CREATE TRIGGER IF NOT EXISTS trg_T_7371 BEFORE UPDATE ON T FOR EACH ROW BEGIN SELECT RAISE(FAIL, 'no'); END;
|
||||
SELECT COUNT(*) FROM T;
|
||||
ROLLBACK TO sp2531;
|
||||
RELEASE sp2531;
|
||||
INSERT OR ABORT INTO T VALUES (6, 0, 0);
|
||||
SELECT COUNT(*) FROM T;
|
||||
WITH RECURSIVE cnt(x) AS (VALUES(1) UNION SELECT x+1 FROM cnt WHERE x<8) SELECT * FROM cnt;
|
||||
WITH RECURSIVE cnt(x) AS (VALUES(1) UNION ALL SELECT x+1 FROM cnt WHERE x<0) SELECT * FROM cnt;
|
||||
DETACH DATABASE aux84;
|
||||
SELECT * FROM T t1 JOIN T t2 ON t1.a = (SELECT a FROM T LIMIT 1);
|
||||
ALTER TABLE T RENAME TO T_r9068;
|
||||
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;
|
||||
ROLLBACK TRANSACTION TO SAVEPOINT sp9818;
|
||||
RELEASE SAVEPOINT sp9818;
|
||||
SELECT STRING_AGG(a, '|') FROM T;
|
||||
INSERT INTO T VALUES (NULL, NULL, NULL);
|
||||
SELECT LEAD(a, 1, NULL) OVER (ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) FROM T;
|
||||
SELECT RANK() OVER (ORDER BY c GROUPS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) FROM T;
|
||||
SELECT COUNT(*) FROM T;
|
||||
SELECT * FROM T AS a RIGHT OUTER JOIN T AS b ON a.rowid = b.rowid;
|
||||
INSERT INTO T VALUES (NULL, NULL, NULL);
|
||||
ALTER TABLE T ADD COLUMN extra_9504 DOUBLE COLLATE RTRIM;
|
||||
SELECT * FROM T NATURAL JOIN T;
|
||||
ANALYZE;
|
||||
INSERT INTO T DEFAULT VALUES;
|
||||
INSERT INTO T DEFAULT VALUES;
|
||||
INSERT INTO T VALUES (NULL, NULL, NULL);
|
||||
WITH cte AS (SELECT CASE WHEN a > 0 THEN "pos" ELSE "neg" END AS sign FROM T) SELECT * FROM cte;
|
||||
SELECT FIRST_VALUE(c) OVER (ORDER BY c ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW EXCLUDE TIES) FROM T;
|
||||
ALTER TABLE T ADD COLUMN extra_5697 BIGINT COLLATE NOCASE;
|
||||
RELEASE sp4770;
|
||||
PRAGMA short_column_names = OFF;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_T_534 AFTER UPDATE OF A ON T BEGIN SELECT RAISE(FAIL, 'no'); END;
|
||||
SELECT * FROM T WHERE C = (SELECT GROUP_CONCAT(C) FROM T);
|
||||
SAVEPOINT sp4770;
|
||||
.limit
|
||||
SAVEPOINT sp9818;
|
||||
ATTACH DATABASE ':memory:' AS aux84;
|
||||
SAVEPOINT sp2531;
|
||||
.check
|
||||
SAVEPOINT sp9694;
|
||||
PRAGMA encoding = 'UTF-8';
|
||||
ATTACH DATABASE ':memory:' AS aux44;
|
||||
CREATE TABLE main.main.`T` (
|
||||
a REAL,
|
||||
b REAL,
|
||||
c REAL
|
||||
);
|
||||
INSERT INTO T VALUES (strftime('%s', if(coalesce(NULL, NULL, NULL) -> sqrt(datetime(-(-(CAST(x'2f' AS BLOB))))), typeof(NULL), (0 + 9145485036963515638))),1.5,10.0), (2,-2.5,20.0), (3,-9e999,30.0);
|
||||
WITH _m AS MATERIALIZED (WITH _m AS MATERIALIZED (SELECT * FROM T) SELEC_m * FROM T) SELEC_m * FROM T WHERE NOT NOT (NOT NOT (+b < 2.0)) ORDER BY b;
|
||||
DETACH DATABASE aux44;
|
||||
SELECT * FROM T WHERE EXISTS (SELECT 1 FROM T t2 WHERE t2.a = T.a);
|
||||
INSERT INTO T VALUES (NULL, NULL, NULL);
|
||||
INSERT OR ROLLBACK INTO T VALUES (NULL, NULL, '');
|
||||
WITH RECURSIVE cnt(x) AS (VALUES(1) UNION ALL SELECT x+1 FROM cnt WHERE +x<21) SELECT * FROM cnt;
|
||||
ALTER TABLE T DROP COLUMN b;
|
||||
DROP VIEW IF EXISTS T;
|
||||
SELECT ROW_NUMBER() OVER (ORDER BY a ROWS BETWEEN 2 PRECEDING AND 2 FOLLOWING EXCLUDE CURRENT ROW) FROM T;
|
||||
INSERT OR ROLLBACK INTO T VALUES (-2, NULL, 0);
|
||||
ROLLBACK TO sp9694;
|
||||
RELEASE sp9694;
|
||||
ALTER TABLE T ADD COLUMN extra_4532 UNSIGNED BIG INT DEFAULT (abs(random()) % 1000);
|
||||
SELECT a, COUNT(*) FROM T GROUP BY a HAVING COUNT(*) = (SELECT COUNT(*) FROM T);
|
||||
CREATE TRIGGER IF NOT EXISTS trg_T_7371 BEFORE UPDATE ON T FOR EACH ROW BEGIN SELECT RAISE(FAIL, 'no'); END;
|
||||
SELECT COUNT(*) FROM T;
|
||||
ROLLBACK TO sp2531;
|
||||
RELEASE sp2531;
|
||||
INSERT OR ABORT INTO T VALUES (6, 0, 0);
|
||||
SELECT COUNT(*) FROM T;
|
||||
WITH RECURSIVE cnt(x) AS (VALUES(1) UNION SELECT x+1 FROM cnt WHERE x<8) SELECT * FROM cnt;
|
||||
WITH RECURSIVE cnt(x) AS (VALUES(1) UNION ALL SELECT x+1 FROM cnt WHERE x<0) SELECT * FROM cnt;
|
||||
DETACH DATABASE aux84;
|
||||
SELECT * FROM T t1 JOIN T t2 ON t1.a = (SELECT a FROM T LIMIT 1);
|
||||
ALTER TABLE T RENAME TO T_r9068;
|
||||
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;
|
||||
ROLLBACK TRANSACTION TO SAVEPOINT sp9818;
|
||||
RELEASE SAVEPOINT sp9818;
|
||||
SELECT STRING_AGG(a, '|') FROM T;
|
||||
INSERT INTO T VALUES (NULL, NULL, NULL);
|
||||
SELECT LEAD(a, 1, NULL) OVER (ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) FROM T;
|
||||
SELECT RANK() OVER (ORDER BY c GROUPS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) FROM T;
|
||||
SELECT COUNT(*) FROM T;
|
||||
SELECT * FROM T AS a RIGHT OUTER JOIN T AS b ON a.rowid = b.rowid;
|
||||
INSERT INTO T VALUES (NULL, NULL, NULL);
|
||||
ALTER TABLE T ADD COLUMN extra_9504 DOUBLE COLLATE RTRIM;
|
||||
SELECT * FROM T NATURAL JOIN T;
|
||||
ANALYZE;
|
||||
INSERT INTO T DEFAULT VALUES;
|
||||
INSERT INTO T DEFAULT VALUES;
|
||||
INSERT INTO T VALUES (NULL, NULL, NULL);
|
||||
WITH cte AS (SELECT CASE WHEN a > 0 THEN "pos" ELSE "neg" END AS sign FROM T) SELECT * FROM cte;
|
||||
SELECT FIRST_VALUE(c) OVER (ORDER BY c ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW EXCLUDE TIES) FROM T;
|
||||
ALTER TABLE T ADD COLUMN extra_5697 BIGINT COLLATE NOCASE;
|
||||
RELEASE sp4770;
|
||||
PRAGMA short_column_names = OFF;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_T_534 AFTER UPDATE OF A ON T BEGIN SELECT RAISE(FAIL, 'no'); END;
|
||||
SELECT * FROM T WHERE C = (SELECT GROUP_CONCAT(C) FROM T);
|
||||
SAVEPOINT sp4770;
|
||||
.limit
|
||||
SAVEPOINT sp9818;
|
||||
ATTACH DATABASE ':memory:' AS aux84;
|
||||
SAVEPOINT sp2531;
|
||||
.check
|
||||
SAVEPOINT sp9694;
|
||||
PRAGMA encoding = 'UTF-8';
|
||||
ATTACH DATABASE ':memory:' AS aux44;
|
||||
CREATE TABLE main.main.`T` (
|
||||
a REAL,
|
||||
b REAL,
|
||||
c REAL
|
||||
);
|
||||
INSERT INTO T VALUES (strftime('%s', if(coalesce(NULL, NULL, NULL) -> sqrt(datetime(-(-(CAST(x'2f' AS BLOB))))), typeof(NULL), (0 + 9145485036963515638))),1.5,10.0), (2,-2.5,20.0), (3,-9e999,30.0);
|
||||
WITH _m AS MATERIALIZED (WITH _m AS MATERIALIZED (SELECT * FROM T) SELEC_m * FROM T) SELEC_m * FROM T WHERE NOT NOT (NOT NOT (+b < 2.0)) ORDER BY b;
|
||||
DETACH DATABASE aux44;
|
||||
SELECT * FROM T WHERE EXISTS (SELECT 1 FROM T t2 WHERE t2.a = T.a);
|
||||
INSERT INTO T VALUES (NULL, NULL, NULL);
|
||||
INSERT OR ROLLBACK INTO T VALUES (NULL, NULL, '');
|
||||
WITH RECURSIVE cnt(x) AS (VALUES(1) UNION ALL SELECT x+1 FROM cnt WHERE +x<21) SELECT * FROM cnt;
|
||||
ALTER TABLE T DROP COLUMN b;
|
||||
DROP VIEW IF EXISTS T;
|
||||
SELECT ROW_NUMBER() OVER (ORDER BY a ROWS BETWEEN 2 PRECEDING AND 2 FOLLOWING EXCLUDE CURRENT ROW) FROM T;
|
||||
INSERT OR ROLLBACK INTO T VALUES (-2, NULL, 0);
|
||||
ROLLBACK TO sp9694;
|
||||
RELEASE sp9694;
|
||||
ALTER TABLE T ADD COLUMN extra_4532 UNSIGNED BIG INT DEFAULT (abs(random()) % 1000);
|
||||
SELECT a, COUNT(*) FROM T GROUP BY a HAVING COUNT(*) = (SELECT COUNT(*) FROM T);
|
||||
CREATE TRIGGER IF NOT EXISTS trg_T_7371 BEFORE UPDATE ON T FOR EACH ROW BEGIN SELECT RAISE(FAIL, 'no'); END;
|
||||
SELECT COUNT(*) FROM T;
|
||||
ROLLBACK TO sp2531;
|
||||
RELEASE sp2531;
|
||||
INSERT OR ABORT INTO T VALUES (6, 0, 0);
|
||||
SELECT COUNT(*) FROM T;
|
||||
WITH RECURSIVE cnt(x) AS (VALUES(1) UNION SELECT x+1 FROM cnt WHERE x<8) SELECT * FROM cnt;
|
||||
WITH RECURSIVE cnt(x) AS (VALUES(1) UNION ALL SELECT x+1 FROM cnt WHERE x<0) SELECT * FROM cnt;
|
||||
DETACH DATABASE aux84;
|
||||
SELECT * FROM T t1 JOIN T t2 ON t1.a = (SELECT a FROM T LIMIT 1);
|
||||
ALTER TABLE T RENAME TO T_r9068;
|
||||
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;
|
||||
ROLLBACK TRANSACTION TO SAVEPOINT sp9818;
|
||||
RELEASE SAVEPOINT sp9818;
|
||||
SELECT STRING_AGG(a, '|') FROM T;
|
||||
INSERT INTO T VALUES (NULL, NULL, NULL);
|
||||
SELECT LEAD(a, 1, NULL) OVER (ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) FROM T;
|
||||
SELECT RANK() OVER (ORDER BY c GROUPS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) FROM T;
|
||||
SELECT COUNT(*) FROM T;
|
||||
SELECT * FROM T AS a RIGHT OUTER JOIN T AS b ON a.rowid = b.rowid;
|
||||
INSERT INTO T VALUES (NULL, NULL, NULL);
|
||||
ALTER TABLE T ADD COLUMN extra_9504 DOUBLE COLLATE RTRIM;
|
||||
SELECT * FROM T NATURAL JOIN T;
|
||||
ANALYZE;
|
||||
INSERT INTO T DEFAULT VALUES;
|
||||
INSERT INTO T DEFAULT VALUES;
|
||||
INSERT INTO T VALUES (NULL, NULL, NULL);
|
||||
WITH cte AS (SELECT CASE WHEN a > 0 THEN "pos" ELSE "neg" END AS sign FROM T) SELECT * FROM cte;
|
||||
SELECT FIRST_VALUE(c) OVER (ORDER BY c ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW EXCLUDE TIES) FROM T;
|
||||
ALTER TABLE T ADD COLUMN extra_5697 BIGINT COLLATE NOCASE;
|
||||
RELEASE sp4770;
|
||||
PRAGMA short_column_names = OFF;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_T_534 AFTER UPDATE OF A ON T BEGIN SELECT RAISE(FAIL, 'no'); END;
|
||||
SELECT * FROM T WHERE C = (SELECT GROUP_CONCAT(C) FROM T);
|
||||
|
||||
ALTER TABLE T RENAME TO T_r7047;
|
||||
SELECT * FROM T WHERE EXISTS (SELECT 1 FROM T WHERE EXISTS (SELECT 1 FROM T));
|
||||
CREATE INDEX IF NOT EXISTS idx_T_4760 ON T(lower(A));
|
||||
INSERT INTO T DEFAULT VALUES;
|
||||
DROP TABLE IF EXISTS T;
|
||||
INSERT INTO T VALUES (NULL, NULL, NULL);
|
||||
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
|
||||
DELETE FROM t1 WHERE a IS NULL;
|
||||
VACUUM main;
|
||||
CREATE INDEX IF NOT EXISTS idx_T_3264 ON T((B + 1)) WHERE B > 0;
|
||||
ALTER TABLE T RENAME COLUMN A TO A_r3473;
|
||||
SELECT * FROM T AS a FULL JOIN T AS b ON a.rowid = b.rowid;
|
||||
INSERT INTO T SELECT * FROM T;
|
||||
DELETE FROM T WHERE rowid = 71;
|
||||
CREATE TABLE T (
|
||||
a TEXT,
|
||||
b INTEGER,
|
||||
c REAL
|
||||
);
|
||||
INSERT INTO T VALUES ('a',1,2.0), ('a',2,-3.0), ('b',1,4.5);
|
||||
SELECT a,b,c,
|
||||
SUM(c) OVER (
|
||||
PARTITION BY a
|
||||
ORDER BY b
|
||||
) AS d
|
||||
FROM T;
|
||||
INSERT INTO T DEFAULT VALUES;
|
||||
SELECT MAX(c) FROM t1;
|
||||
SELECT * FROM t1;
|
||||
SELECT MIN(b) FROM T;
|
||||
WITH RECURSIVE r AS (SELECT c FROM t1 UNION ALL SELECT c FROM t1 LIMIT 5) SELECT * FROM r;
|
||||
REINDEX;
|
||||
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;
|
||||
DELETE FROM t1 WHERE 0;
|
||||
SELECT TOTAL(d) FROM t1;
|
||||
SELECT * FROM t1 WHERE EXISTS (SELECT 1 FROM t1 t2 WHERE t2.a = t1.a);
|
||||
CREATE TRIGGER IF NOT EXISTS trg_T_1588 BEFORE UPDATE OF c ON T FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'abort'); END;
|
||||
ANALYZE;
|
||||
COMMIT;
|
||||
INSERT INTO t1 SELECT * FROM t1;
|
||||
SELECT * FROM t1 NATURAL JOIN T;
|
||||
|
||||
VACUUM main;
|
||||
ALTER TABLE T RENAME TO T_r8860;
|
||||
```
|
||||
|
||||
## Actual output
|
||||
|
||||
```sql
|
||||
length 1000000000
|
||||
sql_length 1000000000
|
||||
column 2000
|
||||
expr_depth 1000
|
||||
compound_select 500
|
||||
vdbe_op 250000000
|
||||
function_arg 127
|
||||
attached 10
|
||||
like_pattern_length 50000
|
||||
variable_number 32766
|
||||
trigger_depth 1000
|
||||
worker_threads 0
|
||||
```
|
||||
|
||||
## Expectation
|
||||
|
||||
```sql
|
||||
length 1000000000
|
||||
sql_length 1000000000
|
||||
column 2000
|
||||
expr_depth 1000
|
||||
compound_select 500
|
||||
vdbe_op 250000000
|
||||
function_arg 1000
|
||||
attached 10
|
||||
like_pattern_length 50000
|
||||
variable_number 32766
|
||||
trigger_depth 1000
|
||||
worker_threads 0
|
||||
```
|
||||
|
||||
## Flag
|
||||
|
||||
```
|
||||
|
||||
```
|
||||
|
||||
@@ -0,0 +1,72 @@
|
||||
## 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 TABLE T (
|
||||
a TEXT,
|
||||
b TEXT,
|
||||
c REAL
|
||||
);
|
||||
INSERT INTO T VALUES ('a','b',if(1, 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;
|
||||
CREATE TABLE T1 (
|
||||
a INTEGER,
|
||||
b TEXT
|
||||
);
|
||||
CREATE TABLE T2 (
|
||||
a INTEGER,
|
||||
b TEXT
|
||||
);
|
||||
INSERT INTO T1 VALUES (1,'a'),(2,'b');
|
||||
INSERT INTO T2 VALUES (1,'c'),(1,'d');
|
||||
SELECT T1.b,
|
||||
(
|
||||
SELECT GROUP_CONCAT(b,',')
|
||||
FROM T2
|
||||
WHERE T2.a=T1.a
|
||||
) AS c
|
||||
FROM T1;
|
||||
INSERT INTO T1 DEFAULT VALUES;
|
||||
INSERT INTO T2 VALUES (NULL, NULL);
|
||||
UPDATE T2 SET b = 74 WHERE b BETWEEN 0 AND 100;
|
||||
INSERT INTO T2 SELECT * FROM T2;
|
||||
UPDATE T SET a = -84 WHERE +rowid = 1;
|
||||
SELECT * FROM T2;
|
||||
SELECT * FROM T;
|
||||
WITH cte AS (SELECT COUNT(*) AS cnt FROM T1) SELECT * FROM cte WHERE +cnt > 0;
|
||||
CREATE INDEX IF NOT EXISTS idx_T1_97 ON T1((a + 1)) WHERE a IS NOT NULL;
|
||||
```
|
||||
|
||||
## Actual output
|
||||
|
||||
```sql
|
||||
a|c,d
|
||||
b|
|
||||
1|c
|
||||
1|d
|
||||
|
|
||||
1|c
|
||||
1|d
|
||||
|
|
||||
3
|
||||
```
|
||||
|
||||
## Expectation
|
||||
|
||||
```sql
|
||||
|
||||
```
|
||||
|
||||
## Flag
|
||||
|
||||
```
|
||||
|
||||
```
|
||||
|
||||
@@ -0,0 +1,70 @@
|
||||
## 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 analysis_limit;
|
||||
PRAGMA full_column_names = YES;
|
||||
PRAGMA query_only = 0;
|
||||
.mode
|
||||
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;
|
||||
DELETE FROM T2 WHERE A > (SELECT AVG(A) FROM T2) RETURNING *;
|
||||
REINDEX T2;
|
||||
CREATE INDEX IF NOT EXISTS idx_T2_3616 ON T2(lower(X)) WHERE X > 0;
|
||||
INSERT INTO T1 VALUES (NULL, NULL, NULL);
|
||||
CREATE UNIQUE INDEX IF NOT EXISTS idx_T2_745 ON T2((X + 1)) WHERE X > 0;
|
||||
SELECT * FROM T1 NATURAL JOIN T1;
|
||||
SELECT * FROM T1;
|
||||
```
|
||||
|
||||
## Actual output
|
||||
|
||||
```sql
|
||||
0
|
||||
current output mode: list
|
||||
m|9999999999999
|
||||
m|a
|
||||
n|b
|
||||
a|p|9999999999999
|
||||
b|q|-9999999999999
|
||||
a|p|9999999999999
|
||||
b|q|-9999999999999
|
||||
||
|
||||
```
|
||||
|
||||
## Expectation
|
||||
|
||||
```sql
|
||||
0
|
||||
current output mode: list --escape ascii
|
||||
m|9999999999999
|
||||
m|a
|
||||
n|b
|
||||
a|p|9999999999999
|
||||
b|q|-9999999999999
|
||||
a|p|9999999999999
|
||||
b|q|-9999999999999
|
||||
||
|
||||
```
|
||||
|
||||
## Flag
|
||||
|
||||
```
|
||||
|
||||
```
|
||||
|
||||
@@ -0,0 +1,927 @@
|
||||
## 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 vdbe_trace = TRUE;
|
||||
-- PRAGMA query_only = NO;
|
||||
|
||||
.once log.txt
|
||||
BEGIN DEFERRED;
|
||||
PRAGMA ignore_check_constraints = NO;
|
||||
ATTACH DATABASE ':memory:' AS aux44;
|
||||
.output
|
||||
SAVEPOINT sp8760;
|
||||
SAVEPOINT sp9990;
|
||||
PRAGMA trusted_schema = TRUE;
|
||||
.once log.txt
|
||||
CREATE TABLE t1(a INTEGER PRIMARY KEY, b TEXT, c INT, d INT);
|
||||
INSERT INTO t1 VALUES (log10(((like(('' || ''), if(replace(x'b9863ad918881c72285170e0e3fb', mod(ceiling(-asin(NULL)) -> '$.a' -> '$.b', power(0, 0)), 0), 3.141592653589793, 0, 3.141592653589793)) * 1) - 0)), '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
|
||||
BEGIN TRANSACTION;
|
||||
ATTACH DATABASE ':memory:' AS aux72;
|
||||
BEGIN DEFERRED;
|
||||
CREATE TABLE t1(a);
|
||||
INSERT INTO t1 VALUES('abc'),('def'),('ghi');
|
||||
CREATE TABLE t2(a);
|
||||
INSERT INTO t2 VALUES('DEF'),('abc');
|
||||
CREATE TABLE t3(a);
|
||||
INSERT INTO t3 VALUES('def'),('jkl');
|
||||
SELECT a FROM t1 EXCEPT SELECT a FROM t2 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE binary;
|
||||
DELETE FROM t2;
|
||||
DELETE FROM t3;
|
||||
INSERT INTO t2 VALUES('ABC'),('def'),('GHI'),('jkl');
|
||||
INSERT INTO t3 SELECT lower(a) FROM t2;
|
||||
SELECT a COLLATE nocase FROM t2 EXCEPT SELECT a FROM t3 ORDER BY 1
|
||||
|
||||
CREATE TABLE t1(a);
|
||||
INSERT INTO t1 VALUES('abc'),('def'),('ghi');
|
||||
CREATE TABLE t2(a);
|
||||
INSERT INTO t2 VALUES('DEF'),('abc');
|
||||
CREATE TABLE t3(a);
|
||||
INSERT INTO t3 VALUES('def'),('jkl');
|
||||
SELECT a FROM t1 EXCEPT SELECT a FROM t2 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE binary;
|
||||
DELETE FROM t2;
|
||||
DELETE FROM t3;
|
||||
INSERT INTO t2 VALUES('ABC'),('def'),('GHI'),('jkl');
|
||||
INSERT INTO t3 SELECT lower(a) FROM t2;
|
||||
SELECT a COLLATE nocase FROM t2 EXCEPT SELECT a FROM t3 ORDER BY 1
|
||||
|
||||
CREATE TABLE t1(a);
|
||||
INSERT INTO t1 VALUES('abc'),('def'),('ghi');
|
||||
CREATE TABLE t2(a);
|
||||
INSERT INTO t2 VALUES('DEF'),('abc');
|
||||
CREATE TABLE t3(a);
|
||||
INSERT INTO t3 VALUES('def'),('jkl');
|
||||
SELECT a FROM t1 EXCEPT SELECT a FROM t2 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE binary;
|
||||
DELETE FROM t2;
|
||||
DELETE FROM t3;
|
||||
INSERT INTO t2 VALUES('ABC'),('def'),('GHI'),('jkl');
|
||||
INSERT INTO t3 SELECT lower(a) FROM t2;
|
||||
SELECT a COLLATE nocase FROM t2 EXCEPT SELECT a FROM t3 ORDER BY 1
|
||||
|
||||
CREATE TABLE t1(a);
|
||||
INSERT INTO t1 VALUES('abc'),('def'),('ghi');
|
||||
CREATE TABLE t2(a);
|
||||
INSERT INTO t2 VALUES('DEF'),('abc');
|
||||
CREATE TABLE t3(a);
|
||||
INSERT INTO t3 VALUES('def'),('jkl');
|
||||
SELECT a FROM t1 EXCEPT SELECT a FROM t2 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE binary;
|
||||
DELETE FROM t2;
|
||||
DELETE FROM t3;
|
||||
INSERT INTO t2 VALUES('ABC'),('def'),('GHI'),('jkl');
|
||||
INSERT INTO t3 SELECT lower(a) FROM t2;
|
||||
SELECT a COLLATE nocase FROM t2 EXCEPT SELECT a FROM t3 ORDER BY 1
|
||||
|
||||
|
||||
COMMIT;
|
||||
REINDEX t1;
|
||||
CREATE UNIQUE INDEX IF NOT EXISTS idx_t3_1118 ON t3(a COLLATE NOCASE) WHERE NOT NOT (NOT NOT (NOT NOT (NOT NOT (+a > 0)))) ;
|
||||
DROP INDEX IF EXISTS t2;
|
||||
SELECT LAST_VALUE(a) OVER (ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) FROM t3;
|
||||
DETACH DATABASE aux72;
|
||||
ALTER TABLE t1 RENAME COLUMN a TO a_r9525;
|
||||
ROLLBACK;
|
||||
ALTER TABLE t3 RENAME COLUMN a TO a_r8773;
|
||||
PRAGMA defer_foreign_keys = TRUE;
|
||||
SELECT * FROM t2;
|
||||
PRAGMA wal_checkpoint('RESTART');
|
||||
INSERT INTO t1 VALUES (NULL);
|
||||
INSERT INTO t1 VALUES (NULL) ON CONFLICT(a) DO UPDATE SET a = excluded.a;
|
||||
CREATE TABLE t1(a INTEGER PRIMARY KEY, b TEXT, c INT, d INT);
|
||||
INSERT INTO t1 VALUES (log10(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
|
||||
BEGIN TRANSACTION;
|
||||
ATTACH DATABASE ':memory:' AS aux72;
|
||||
BEGIN DEFERRED;
|
||||
CREATE TABLE t1(a);
|
||||
INSERT INTO t1 VALUES('abc'),('def'),('ghi');
|
||||
CREATE TABLE t2(a);
|
||||
INSERT INTO t2 VALUES('DEF'),('abc');
|
||||
CREATE TABLE t3(a);
|
||||
INSERT INTO t3 VALUES('def'),('jkl');
|
||||
SELECT a FROM t1 EXCEPT SELECT a FROM t2 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE binary;
|
||||
DELETE FROM t2;
|
||||
DELETE FROM t3;
|
||||
INSERT INTO t2 VALUES('ABC'),('def'),('GHI'),('jkl');
|
||||
INSERT INTO t3 SELECT lower(a) FROM t2;
|
||||
SELECT a COLLATE nocase FROM t2 EXCEPT SELECT a FROM t3 ORDER BY 1
|
||||
|
||||
CREATE TABLE t1(a);
|
||||
INSERT INTO t1 VALUES('abc'),('def'),('ghi');
|
||||
CREATE TABLE t2(a);
|
||||
INSERT INTO t2 VALUES('DEF'),('abc');
|
||||
CREATE TABLE t3(a);
|
||||
INSERT INTO t3 VALUES('def'),('jkl');
|
||||
SELECT a FROM t1 EXCEPT SELECT a FROM t2 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE binary;
|
||||
DELETE FROM t2;
|
||||
DELETE FROM t3;
|
||||
INSERT INTO t2 VALUES('ABC'),('def'),('GHI'),('jkl');
|
||||
INSERT INTO t3 SELECT lower(a) FROM t2;
|
||||
SELECT a COLLATE nocase FROM t2 EXCEPT SELECT a FROM t3 ORDER BY 1
|
||||
|
||||
CREATE TABLE t1(a);
|
||||
INSERT INTO t1 VALUES('abc'),('def'),('ghi');
|
||||
CREATE TABLE t2(a);
|
||||
INSERT INTO t2 VALUES('DEF'),('abc');
|
||||
CREATE TABLE t3(a);
|
||||
INSERT INTO t3 VALUES('def'),('jkl');
|
||||
SELECT a FROM t1 EXCEPT SELECT a FROM t2 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE binary;
|
||||
DELETE FROM t2;
|
||||
DELETE FROM t3;
|
||||
INSERT INTO t2 VALUES('ABC'),('def'),('GHI'),('jkl');
|
||||
INSERT INTO t3 SELECT lower(a) FROM t2;
|
||||
SELECT a COLLATE nocase FROM t2 EXCEPT SELECT a FROM t3 ORDER BY 1
|
||||
|
||||
CREATE TABLE t1(a);
|
||||
INSERT INTO t1 VALUES('abc'),('def'),('ghi');
|
||||
CREATE TABLE t2(a);
|
||||
INSERT INTO t2 VALUES('DEF'),('abc');
|
||||
CREATE TABLE t3(a);
|
||||
INSERT INTO t3 VALUES('def'),('jkl');
|
||||
SELECT a FROM t1 EXCEPT SELECT a FROM t2 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE binary;
|
||||
DELETE FROM t2;
|
||||
DELETE FROM t3;
|
||||
INSERT INTO t2 VALUES('ABC'),('def'),('GHI'),('jkl');
|
||||
INSERT INTO t3 SELECT lower(a) FROM t2;
|
||||
SELECT a COLLATE nocase FROM t2 EXCEPT SELECT a FROM t3 ORDER BY 1
|
||||
|
||||
|
||||
COMMIT;
|
||||
REINDEX t1;
|
||||
CREATE UNIQUE INDEX IF NOT EXISTS idx_t3_1118 ON t3(a COLLATE NOCASE) WHERE +a > 0;
|
||||
DROP INDEX IF EXISTS t2;
|
||||
SELECT LAST_VALUE(a) OVER (ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) FROM t3;
|
||||
DETACH DATABASE aux72;
|
||||
ALTER TABLE t1 RENAME COLUMN a TO a_r9525;
|
||||
ROLLBACK;
|
||||
ALTER TABLE t3 RENAME COLUMN a TO a_r8773;
|
||||
PRAGMA defer_foreign_keys = TRUE;
|
||||
SELECT * FROM t2;
|
||||
PRAGMA wal_checkpoint('RESTART');
|
||||
INSERT INTO t1 VALUES (NULL);
|
||||
INSERT INTO t1 VALUES (NULL) ON CONFLICT(a) DO UPDATE SET a = excluded.a;
|
||||
CREATE TABLE t1(a INTEGER PRIMARY KEY, b TEXT, c INT, d INT);
|
||||
INSERT INTO t1 VALUES (log10(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
|
||||
BEGIN TRANSACTION;
|
||||
ATTACH DATABASE ':memory:' AS aux72;
|
||||
BEGIN DEFERRED;
|
||||
CREATE TABLE t1(a);
|
||||
INSERT INTO t1 VALUES('abc'),('def'),('ghi');
|
||||
CREATE TABLE t2(a);
|
||||
INSERT INTO t2 VALUES('DEF'),('abc');
|
||||
CREATE TABLE t3(a);
|
||||
INSERT INTO t3 VALUES('def'),('jkl');
|
||||
SELECT a FROM t1 EXCEPT SELECT a FROM t2 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE binary;
|
||||
DELETE FROM t2;
|
||||
DELETE FROM t3;
|
||||
INSERT INTO t2 VALUES('ABC'),('def'),('GHI'),('jkl');
|
||||
INSERT INTO t3 SELECT lower(a) FROM t2;
|
||||
SELECT a COLLATE nocase FROM t2 EXCEPT SELECT a FROM t3 ORDER BY 1
|
||||
|
||||
CREATE TABLE t1(a);
|
||||
INSERT INTO t1 VALUES('abc'),('def'),('ghi');
|
||||
CREATE TABLE t2(a);
|
||||
INSERT INTO t2 VALUES('DEF'),('abc');
|
||||
CREATE TABLE t3(a);
|
||||
INSERT INTO t3 VALUES('def'),('jkl');
|
||||
SELECT a FROM t1 EXCEPT SELECT a FROM t2 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE binary;
|
||||
DELETE FROM t2;
|
||||
DELETE FROM t3;
|
||||
INSERT INTO t2 VALUES('ABC'),('def'),('GHI'),('jkl');
|
||||
INSERT INTO t3 SELECT lower(a) FROM t2;
|
||||
SELECT a COLLATE nocase FROM t2 EXCEPT SELECT a FROM t3 ORDER BY 1
|
||||
|
||||
CREATE TABLE t1(a);
|
||||
INSERT INTO t1 VALUES('abc'),('def'),('ghi');
|
||||
CREATE TABLE t2(a);
|
||||
INSERT INTO t2 VALUES('DEF'),('abc');
|
||||
CREATE TABLE t3(a);
|
||||
INSERT INTO t3 VALUES('def'),('jkl');
|
||||
SELECT a FROM t1 EXCEPT SELECT a FROM t2 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE binary;
|
||||
DELETE FROM t2;
|
||||
DELETE FROM t3;
|
||||
INSERT INTO t2 VALUES('ABC'),('def'),('GHI'),('jkl');
|
||||
INSERT INTO t3 SELECT lower(a) FROM t2;
|
||||
SELECT a COLLATE nocase FROM t2 EXCEPT SELECT a FROM t3 ORDER BY 1
|
||||
|
||||
CREATE TABLE t1(a);
|
||||
INSERT INTO t1 VALUES('abc'),('def'),('ghi');
|
||||
CREATE TABLE t2(a);
|
||||
INSERT INTO t2 VALUES('DEF'),('abc');
|
||||
CREATE TABLE t3(a);
|
||||
INSERT INTO t3 VALUES('def'),('jkl');
|
||||
SELECT a FROM t1 EXCEPT SELECT a FROM t2 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE binary;
|
||||
DELETE FROM t2;
|
||||
DELETE FROM t3;
|
||||
INSERT INTO t2 VALUES('ABC'),('def'),('GHI'),('jkl');
|
||||
INSERT INTO t3 SELECT lower(a) FROM t2;
|
||||
SELECT a COLLATE nocase FROM t2 EXCEPT SELECT a FROM t3 ORDER BY 1
|
||||
|
||||
|
||||
COMMIT;
|
||||
REINDEX t1;
|
||||
CREATE UNIQUE INDEX IF NOT EXISTS idx_t3_1118 ON t3(a COLLATE NOCASE) WHERE +a > 0;
|
||||
DROP INDEX IF EXISTS t2;
|
||||
SELECT LAST_VALUE(a) OVER (ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) FROM t3;
|
||||
DETACH DATABASE aux72;
|
||||
ALTER TABLE t1 RENAME COLUMN a TO a_r9525;
|
||||
ROLLBACK;
|
||||
ALTER TABLE t3 RENAME COLUMN a TO a_r8773;
|
||||
PRAGMA defer_foreign_keys = TRUE;
|
||||
SELECT * FROM t2;
|
||||
PRAGMA wal_checkpoint('RESTART');
|
||||
INSERT INTO t1 VALUES (NULL);
|
||||
INSERT INTO t1 VALUES (NULL) ON CONFLICT(a) DO UPDATE SET a = excluded.a;
|
||||
CREATE TABLE t1(a INTEGER PRIMARY KEY, b TEXT, c INT, d INT);
|
||||
INSERT INTO t1 VALUES (log10(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
|
||||
BEGIN TRANSACTION;
|
||||
ATTACH DATABASE ':memory:' AS aux72;
|
||||
BEGIN DEFERRED;
|
||||
CREATE TABLE t1(a);
|
||||
INSERT INTO t1 VALUES('abc'),('def'),('ghi');
|
||||
CREATE TABLE t2(a);
|
||||
INSERT INTO t2 VALUES('DEF'),('abc');
|
||||
CREATE TABLE t3(a);
|
||||
INSERT INTO t3 VALUES('def'),('jkl');
|
||||
SELECT a FROM t1 EXCEPT SELECT a FROM t2 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE binary;
|
||||
DELETE FROM t2;
|
||||
DELETE FROM t3;
|
||||
INSERT INTO t2 VALUES('ABC'),('def'),('GHI'),('jkl');
|
||||
INSERT INTO t3 SELECT lower(a) FROM t2;
|
||||
SELECT a COLLATE nocase FROM t2 EXCEPT SELECT a FROM t3 ORDER BY 1
|
||||
|
||||
CREATE TABLE t1(a);
|
||||
INSERT INTO t1 VALUES('abc'),('def'),('ghi');
|
||||
CREATE TABLE t2(a);
|
||||
INSERT INTO t2 VALUES('DEF'),('abc');
|
||||
CREATE TABLE t3(a);
|
||||
INSERT INTO t3 VALUES('def'),('jkl');
|
||||
SELECT a FROM t1 EXCEPT SELECT a FROM t2 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE binary;
|
||||
DELETE FROM t2;
|
||||
DELETE FROM t3;
|
||||
INSERT INTO t2 VALUES('ABC'),('def'),('GHI'),('jkl');
|
||||
INSERT INTO t3 SELECT lower(a) FROM t2;
|
||||
SELECT a COLLATE nocase FROM t2 EXCEPT SELECT a FROM t3 ORDER BY 1
|
||||
|
||||
CREATE TABLE t1(a);
|
||||
INSERT INTO t1 VALUES('abc'),('def'),('ghi');
|
||||
CREATE TABLE t2(a);
|
||||
INSERT INTO t2 VALUES('DEF'),('abc');
|
||||
CREATE TABLE t3(a);
|
||||
INSERT INTO t3 VALUES('def'),('jkl');
|
||||
SELECT a FROM t1 EXCEPT SELECT a FROM t2 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE binary;
|
||||
DELETE FROM t2;
|
||||
DELETE FROM t3;
|
||||
INSERT INTO t2 VALUES('ABC'),('def'),('GHI'),('jkl');
|
||||
INSERT INTO t3 SELECT lower(a) FROM t2;
|
||||
SELECT a COLLATE nocase FROM t2 EXCEPT SELECT a FROM t3 ORDER BY 1
|
||||
|
||||
CREATE TABLE t1(a);
|
||||
INSERT INTO t1 VALUES('abc'),('def'),('ghi');
|
||||
CREATE TABLE t2(a);
|
||||
INSERT INTO t2 VALUES('DEF'),('abc');
|
||||
CREATE TABLE t3(a);
|
||||
INSERT INTO t3 VALUES('def'),('jkl');
|
||||
SELECT a FROM t1 EXCEPT SELECT a FROM t2 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE binary;
|
||||
DELETE FROM t2;
|
||||
DELETE FROM t3;
|
||||
INSERT INTO t2 VALUES('ABC'),('def'),('GHI'),('jkl');
|
||||
INSERT INTO t3 SELECT lower(a) FROM t2;
|
||||
SELECT a COLLATE nocase FROM t2 EXCEPT SELECT a FROM t3 ORDER BY 1
|
||||
|
||||
|
||||
COMMIT;
|
||||
REINDEX t1;
|
||||
CREATE UNIQUE INDEX IF NOT EXISTS idx_t3_1118 ON t3(a COLLATE NOCASE) WHERE +a > 0;
|
||||
DROP INDEX IF EXISTS t2;
|
||||
SELECT LAST_VALUE(a) OVER (ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) FROM t3;
|
||||
DETACH DATABASE aux72;
|
||||
ALTER TABLE t1 RENAME COLUMN a TO a_r9525;
|
||||
ROLLBACK;
|
||||
ALTER TABLE t3 RENAME COLUMN a TO a_r8773;
|
||||
PRAGMA defer_foreign_keys = TRUE;
|
||||
SELECT * FROM t2;
|
||||
PRAGMA wal_checkpoint('RESTART');
|
||||
INSERT INTO t1 VALUES (NULL);
|
||||
INSERT INTO t1 VALUES (NULL) ON CONFLICT(a) DO UPDATE SET a = excluded.a;
|
||||
CREATE TABLE t1(a INTEGER PRIMARY KEY, b TEXT, c INT, d INT);
|
||||
INSERT INTO t1 VALUES (log10(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
|
||||
BEGIN TRANSACTION;
|
||||
ATTACH DATABASE ':memory:' AS aux72;
|
||||
BEGIN DEFERRED;
|
||||
CREATE TABLE t1(a);
|
||||
INSERT INTO t1 VALUES('abc'),('def'),('ghi');
|
||||
CREATE TABLE t2(a);
|
||||
INSERT INTO t2 VALUES('DEF'),('abc');
|
||||
CREATE TABLE t3(a);
|
||||
INSERT INTO t3 VALUES('def'),('jkl');
|
||||
SELECT a FROM t1 EXCEPT SELECT a FROM t2 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE binary;
|
||||
DELETE FROM t2;
|
||||
DELETE FROM t3;
|
||||
INSERT INTO t2 VALUES('ABC'),('def'),('GHI'),('jkl');
|
||||
INSERT INTO t3 SELECT lower(a) FROM t2;
|
||||
SELECT a COLLATE nocase FROM t2 EXCEPT SELECT a FROM t3 ORDER BY 1
|
||||
|
||||
CREATE TABLE t1(a);
|
||||
INSERT INTO t1 VALUES('abc'),('def'),('ghi');
|
||||
CREATE TABLE t2(a);
|
||||
INSERT INTO t2 VALUES('DEF'),('abc');
|
||||
CREATE TABLE t3(a);
|
||||
INSERT INTO t3 VALUES('def'),('jkl');
|
||||
SELECT a FROM t1 EXCEPT SELECT a FROM t2 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE binary;
|
||||
DELETE FROM t2;
|
||||
DELETE FROM t3;
|
||||
INSERT INTO t2 VALUES('ABC'),('def'),('GHI'),('jkl');
|
||||
INSERT INTO t3 SELECT lower(a) FROM t2;
|
||||
SELECT a COLLATE nocase FROM t2 EXCEPT SELECT a FROM t3 ORDER BY 1
|
||||
|
||||
CREATE TABLE t1(a);
|
||||
INSERT INTO t1 VALUES('abc'),('def'),('ghi');
|
||||
CREATE TABLE t2(a);
|
||||
INSERT INTO t2 VALUES('DEF'),('abc');
|
||||
CREATE TABLE t3(a);
|
||||
INSERT INTO t3 VALUES('def'),('jkl');
|
||||
SELECT a FROM t1 EXCEPT SELECT a FROM t2 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE binary;
|
||||
DELETE FROM t2;
|
||||
DELETE FROM t3;
|
||||
INSERT INTO t2 VALUES('ABC'),('def'),('GHI'),('jkl');
|
||||
INSERT INTO t3 SELECT lower(a) FROM t2;
|
||||
SELECT a COLLATE nocase FROM t2 EXCEPT SELECT a FROM t3 ORDER BY 1
|
||||
|
||||
CREATE TABLE t1(a);
|
||||
INSERT INTO t1 VALUES('abc'),('def'),('ghi');
|
||||
CREATE TABLE t2(a);
|
||||
INSERT INTO t2 VALUES('DEF'),('abc');
|
||||
CREATE TABLE t3(a);
|
||||
INSERT INTO t3 VALUES('def'),('jkl');
|
||||
SELECT a FROM t1 EXCEPT SELECT a FROM t2 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE binary;
|
||||
DELETE FROM t2;
|
||||
DELETE FROM t3;
|
||||
INSERT INTO t2 VALUES('ABC'),('def'),('GHI'),('jkl');
|
||||
INSERT INTO t3 SELECT lower(a) FROM t2;
|
||||
SELECT a COLLATE nocase FROM t2 EXCEPT SELECT a FROM t3 ORDER BY 1
|
||||
|
||||
|
||||
COMMIT;
|
||||
REINDEX t1;
|
||||
CREATE UNIQUE INDEX IF NOT EXISTS idx_t3_1118 ON t3(a COLLATE NOCASE) WHERE +a > 0;
|
||||
DROP INDEX IF EXISTS t2;
|
||||
SELECT LAST_VALUE(a) OVER (ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) FROM t3;
|
||||
DETACH DATABASE aux72;
|
||||
ALTER TABLE t1 RENAME COLUMN a TO a_r9525;
|
||||
ROLLBACK;
|
||||
ALTER TABLE t3 RENAME COLUMN a TO a_r8773;
|
||||
PRAGMA defer_foreign_keys = TRUE;
|
||||
SELECT * FROM t2;
|
||||
PRAGMA wal_checkpoint('RESTART');
|
||||
INSERT INTO t1 VALUES (NULL);
|
||||
INSERT INTO t1 VALUES (NULL) ON CONFLICT(a) DO UPDATE SET a = excluded.a;
|
||||
CREATE TABLE t1(a INTEGER PRIMARY KEY, b TEXT, c INT, d INT);
|
||||
INSERT INTO t1 VALUES (log10(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
|
||||
BEGIN TRANSACTION;
|
||||
ATTACH DATABASE ':memory:' AS aux72;
|
||||
BEGIN DEFERRED;
|
||||
CREATE TABLE t1(a);
|
||||
INSERT INTO t1 VALUES('abc'),('def'),('ghi');
|
||||
CREATE TABLE t2(a);
|
||||
INSERT INTO t2 VALUES('DEF'),('abc');
|
||||
CREATE TABLE t3(a);
|
||||
INSERT INTO t3 VALUES('def'),('jkl');
|
||||
SELECT a FROM t1 EXCEPT SELECT a FROM t2 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE binary;
|
||||
DELETE FROM t2;
|
||||
DELETE FROM t3;
|
||||
INSERT INTO t2 VALUES('ABC'),('def'),('GHI'),('jkl');
|
||||
INSERT INTO t3 SELECT lower(a) FROM t2;
|
||||
SELECT a COLLATE nocase FROM t2 EXCEPT SELECT a FROM t3 ORDER BY 1
|
||||
|
||||
CREATE TABLE t1(a);
|
||||
INSERT INTO t1 VALUES('abc'),('def'),('ghi');
|
||||
CREATE TABLE t2(a);
|
||||
INSERT INTO t2 VALUES('DEF'),('abc');
|
||||
CREATE TABLE t3(a);
|
||||
INSERT INTO t3 VALUES('def'),('jkl');
|
||||
SELECT a FROM t1 EXCEPT SELECT a FROM t2 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE binary;
|
||||
DELETE FROM t2;
|
||||
DELETE FROM t3;
|
||||
INSERT INTO t2 VALUES('ABC'),('def'),('GHI'),('jkl');
|
||||
INSERT INTO t3 SELECT lower(a) FROM t2;
|
||||
SELECT a COLLATE nocase FROM t2 EXCEPT SELECT a FROM t3 ORDER BY 1
|
||||
|
||||
CREATE TABLE t1(a);
|
||||
INSERT INTO t1 VALUES('abc'),('def'),('ghi');
|
||||
CREATE TABLE t2(a);
|
||||
INSERT INTO t2 VALUES('DEF'),('abc');
|
||||
CREATE TABLE t3(a);
|
||||
INSERT INTO t3 VALUES('def'),('jkl');
|
||||
SELECT a FROM t1 EXCEPT SELECT a FROM t2 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE binary;
|
||||
DELETE FROM t2;
|
||||
DELETE FROM t3;
|
||||
INSERT INTO t2 VALUES('ABC'),('def'),('GHI'),('jkl');
|
||||
INSERT INTO t3 SELECT lower(a) FROM t2;
|
||||
SELECT a COLLATE nocase FROM t2 EXCEPT SELECT a FROM t3 ORDER BY 1
|
||||
|
||||
CREATE TABLE t1(a);
|
||||
INSERT INTO t1 VALUES('abc'),('def'),('ghi');
|
||||
CREATE TABLE t2(a);
|
||||
INSERT INTO t2 VALUES('DEF'),('abc');
|
||||
CREATE TABLE t3(a);
|
||||
INSERT INTO t3 VALUES('def'),('jkl');
|
||||
SELECT a FROM t1 EXCEPT SELECT a FROM t2 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE binary;
|
||||
DELETE FROM t2;
|
||||
DELETE FROM t3;
|
||||
INSERT INTO t2 VALUES('ABC'),('def'),('GHI'),('jkl');
|
||||
INSERT INTO t3 SELECT lower(a) FROM t2;
|
||||
SELECT a COLLATE nocase FROM t2 EXCEPT SELECT a FROM t3 ORDER BY 1
|
||||
|
||||
|
||||
COMMIT;
|
||||
REINDEX t1;
|
||||
CREATE UNIQUE INDEX IF NOT EXISTS idx_t3_1118 ON t3(a COLLATE NOCASE) WHERE +a > 0;
|
||||
DROP INDEX IF EXISTS t2;
|
||||
SELECT LAST_VALUE(a) OVER (ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) FROM t3;
|
||||
DETACH DATABASE aux72;
|
||||
ALTER TABLE t1 RENAME COLUMN a TO a_r9525;
|
||||
ROLLBACK;
|
||||
ALTER TABLE t3 RENAME COLUMN a TO a_r8773;
|
||||
PRAGMA defer_foreign_keys = TRUE;
|
||||
SELECT * FROM t2;
|
||||
PRAGMA wal_checkpoint('RESTART');
|
||||
INSERT INTO t1 VALUES (NULL);
|
||||
INSERT INTO t1 VALUES (NULL) ON CONFLICT(a) DO UPDATE SET a = excluded.a;
|
||||
CREATE TABLE t1(a INTEGER PRIMARY KEY, b TEXT, c INT, d INT);
|
||||
INSERT INTO t1 VALUES (log10(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
|
||||
BEGIN TRANSACTION;
|
||||
ATTACH DATABASE ':memory:' AS aux72;
|
||||
BEGIN DEFERRED;
|
||||
CREATE TABLE t1(a);
|
||||
INSERT INTO t1 VALUES('abc'),('def'),('ghi');
|
||||
CREATE TABLE t2(a);
|
||||
INSERT INTO t2 VALUES('DEF'),('abc');
|
||||
CREATE TABLE t3(a);
|
||||
INSERT INTO t3 VALUES('def'),('jkl');
|
||||
SELECT a FROM t1 EXCEPT SELECT a FROM t2 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE binary;
|
||||
DELETE FROM t2;
|
||||
DELETE FROM t3;
|
||||
INSERT INTO t2 VALUES('ABC'),('def'),('GHI'),('jkl');
|
||||
INSERT INTO t3 SELECT lower(a) FROM t2;
|
||||
SELECT a COLLATE nocase FROM t2 EXCEPT SELECT a FROM t3 ORDER BY 1
|
||||
|
||||
CREATE TABLE t1(a);
|
||||
INSERT INTO t1 VALUES('abc'),('def'),('ghi');
|
||||
CREATE TABLE t2(a);
|
||||
INSERT INTO t2 VALUES('DEF'),('abc');
|
||||
CREATE TABLE t3(a);
|
||||
INSERT INTO t3 VALUES('def'),('jkl');
|
||||
SELECT a FROM t1 EXCEPT SELECT a FROM t2 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE binary;
|
||||
DELETE FROM t2;
|
||||
DELETE FROM t3;
|
||||
INSERT INTO t2 VALUES('ABC'),('def'),('GHI'),('jkl');
|
||||
INSERT INTO t3 SELECT lower(a) FROM t2;
|
||||
SELECT a COLLATE nocase FROM t2 EXCEPT SELECT a FROM t3 ORDER BY 1
|
||||
|
||||
CREATE TABLE t1(a);
|
||||
INSERT INTO t1 VALUES('abc'),('def'),('ghi');
|
||||
CREATE TABLE t2(a);
|
||||
INSERT INTO t2 VALUES('DEF'),('abc');
|
||||
CREATE TABLE t3(a);
|
||||
INSERT INTO t3 VALUES('def'),('jkl');
|
||||
SELECT a FROM t1 EXCEPT SELECT a FROM t2 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE binary;
|
||||
DELETE FROM t2;
|
||||
DELETE FROM t3;
|
||||
INSERT INTO t2 VALUES('ABC'),('def'),('GHI'),('jkl');
|
||||
INSERT INTO t3 SELECT lower(a) FROM t2;
|
||||
SELECT a COLLATE nocase FROM t2 EXCEPT SELECT a FROM t3 ORDER BY 1
|
||||
|
||||
CREATE TABLE t1(a);
|
||||
INSERT INTO t1 VALUES('abc'),('def'),('ghi');
|
||||
CREATE TABLE t2(a);
|
||||
INSERT INTO t2 VALUES('DEF'),('abc');
|
||||
CREATE TABLE t3(a);
|
||||
INSERT INTO t3 VALUES('def'),('jkl');
|
||||
SELECT a FROM t1 EXCEPT SELECT a FROM t2 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE binary;
|
||||
DELETE FROM t2;
|
||||
DELETE FROM t3;
|
||||
INSERT INTO t2 VALUES('ABC'),('def'),('GHI'),('jkl');
|
||||
INSERT INTO t3 SELECT lower(a) FROM t2;
|
||||
SELECT a COLLATE nocase FROM t2 EXCEPT SELECT a FROM t3 ORDER BY 1
|
||||
|
||||
|
||||
COMMIT;
|
||||
REINDEX t1;
|
||||
CREATE UNIQUE INDEX IF NOT EXISTS idx_t3_1118 ON t3(a COLLATE NOCASE) WHERE +a > 0;
|
||||
DROP INDEX IF EXISTS t2;
|
||||
WITH _m AS MATERIALIZED (SELECT * FROM T) SELEC_m LAST_VALUE(a) OVER (ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) FROM t3;
|
||||
DETACH DATABASE aux72;
|
||||
ALTER TABLE t1 RENAME COLUMN a TO a_r9525;
|
||||
ROLLBACK;
|
||||
ALTER TABLE t3 RENAME COLUMN a TO a_r8773;
|
||||
PRAGMA defer_foreign_keys = TRUE;
|
||||
CREATE TABLE T (
|
||||
a TEXT,
|
||||
b TEXT
|
||||
);
|
||||
INSERT INTO T VALUES ('a','b'), ('c','d');
|
||||
SELECT * FROM T WHERE +a = REPLACE('a;',';','') AND b = 'b';
|
||||
SELECT * FROM t2;
|
||||
PRAGMA wal_checkpoint('RESTART');
|
||||
INSERT INTO t1 VALUES (NULL);
|
||||
INSERT INTO t1 VALUES (NULL) ON CONFLICT(a) DO UPDATE SET a = excluded.a;
|
||||
CREATE TABLE t1(a INTEGER PRIMARY KEY, b TEXT, c INT, d INT);
|
||||
INSERT INTO t1 VALUES (log10(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
|
||||
BEGIN TRANSACTION;
|
||||
ATTACH DATABASE ':memory:' AS aux72;
|
||||
BEGIN DEFERRED;
|
||||
CREATE TABLE t1(a);
|
||||
INSERT INTO t1 VALUES('abc'),('def'),('ghi');
|
||||
CREATE TABLE t2(a);
|
||||
INSERT INTO t2 VALUES('DEF'),('abc');
|
||||
CREATE TABLE t3(a);
|
||||
INSERT INTO t3 VALUES('def'),('jkl');
|
||||
SELECT a FROM t1 EXCEPT SELECT a FROM t2 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE binary;
|
||||
DELETE FROM t2;
|
||||
DELETE FROM t3;
|
||||
INSERT INTO t2 VALUES('ABC'),('def'),('GHI'),('jkl');
|
||||
INSERT INTO t3 SELECT lower(a) FROM t2;
|
||||
SELECT a COLLATE nocase FROM t2 EXCEPT SELECT a FROM t3 ORDER BY 1
|
||||
|
||||
CREATE TABLE t1(a);
|
||||
INSERT INTO t1 VALUES('abc'),('def'),('ghi');
|
||||
CREATE TABLE t2(a);
|
||||
INSERT INTO t2 VALUES('DEF'),('abc');
|
||||
CREATE TABLE t3(a);
|
||||
INSERT INTO t3 VALUES('def'),('jkl');
|
||||
SELECT a FROM t1 EXCEPT SELECT a FROM t2 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE binary;
|
||||
DELETE FROM t2;
|
||||
DELETE FROM t3;
|
||||
INSERT INTO t2 VALUES('ABC'),('def'),('GHI'),('jkl');
|
||||
INSERT INTO t3 SELECT lower(a) FROM t2;
|
||||
SELECT a COLLATE nocase FROM t2 EXCEPT SELECT a FROM t3 ORDER BY 1
|
||||
|
||||
CREATE TABLE t1(a);
|
||||
INSERT INTO t1 VALUES('abc'),('def'),('ghi');
|
||||
CREATE TABLE t2(a);
|
||||
INSERT INTO t2 VALUES('DEF'),('abc');
|
||||
CREATE TABLE t3(a);
|
||||
INSERT INTO t3 VALUES('def'),('jkl');
|
||||
SELECT a FROM t1 EXCEPT SELECT a FROM t2 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE binary;
|
||||
DELETE FROM t2;
|
||||
DELETE FROM t3;
|
||||
INSERT INTO t2 VALUES('ABC'),('def'),('GHI'),('jkl');
|
||||
INSERT INTO t3 SELECT lower(a) FROM t2;
|
||||
SELECT a COLLATE nocase FROM t2 EXCEPT SELECT a FROM t3 ORDER BY 1
|
||||
|
||||
CREATE TABLE t1(a);
|
||||
INSERT INTO t1 VALUES('abc'),('def'),('ghi');
|
||||
CREATE TABLE t2(a);
|
||||
INSERT INTO t2 VALUES('DEF'),('abc');
|
||||
CREATE TABLE t3(a);
|
||||
INSERT INTO t3 VALUES('def'),('jkl');
|
||||
SELECT a FROM t1 EXCEPT SELECT a FROM t2 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE binary;
|
||||
DELETE FROM t2;
|
||||
DELETE FROM t3;
|
||||
INSERT INTO t2 VALUES('ABC'),('def'),('GHI'),('jkl');
|
||||
INSERT INTO t3 SELECT lower(a) FROM t2;
|
||||
SELECT a COLLATE nocase FROM t2 EXCEPT SELECT a FROM t3 ORDER BY 1
|
||||
|
||||
|
||||
COMMIT;
|
||||
REINDEX t1;
|
||||
CREATE UNIQUE INDEX IF NOT EXISTS idx_t3_1118 ON t3(a COLLATE NOCASE) WHERE +a > 0;
|
||||
DROP INDEX IF EXISTS t2;
|
||||
SELECT LAST_VALUE(a) OVER (ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) FROM t3;
|
||||
DETACH DATABASE aux72;
|
||||
ALTER TABLE t1 RENAME COLUMN a TO a_r9525;
|
||||
ROLLBACK;
|
||||
ALTER TABLE t3 RENAME COLUMN a TO a_r8773;
|
||||
PRAGMA defer_foreign_keys = TRUE;
|
||||
SELECT * FROM t2;
|
||||
PRAGMA wal_checkpoint('RESTART');
|
||||
INSERT INTO t1 VALUES (NULL);
|
||||
INSERT INTO t1 VALUES (NULL) ON CONFLICT(a) DO UPDATE SET a = excluded.a;
|
||||
CREATE TABLE t1(a INTEGER PRIMARY KEY, b TEXT, c INT, d INT);
|
||||
INSERT INTO t1 VALUES (log10(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
|
||||
BEGIN TRANSACTION;
|
||||
ATTACH DATABASE ':memory:' AS aux72;
|
||||
BEGIN DEFERRED;
|
||||
CREATE TABLE t1(a);
|
||||
INSERT INTO t1 VALUES('abc'),('def'),('ghi');
|
||||
CREATE TABLE t2(a);
|
||||
INSERT INTO t2 VALUES('DEF'),('abc');
|
||||
CREATE TABLE t3(a);
|
||||
INSERT INTO t3 VALUES('def'),('jkl');
|
||||
SELECT a FROM t1 EXCEPT SELECT a FROM t2 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE binary;
|
||||
DELETE FROM t2;
|
||||
DELETE FROM t3;
|
||||
INSERT INTO t2 VALUES('ABC'),('def'),('GHI'),('jkl');
|
||||
INSERT INTO t3 SELECT lower(a) FROM t2;
|
||||
SELECT a COLLATE nocase FROM t2 EXCEPT SELECT a FROM t3 ORDER BY 1
|
||||
|
||||
CREATE TABLE t1(a);
|
||||
INSERT INTO t1 VALUES('abc'),('def'),('ghi');
|
||||
CREATE TABLE t2(a);
|
||||
INSERT INTO t2 VALUES('DEF'),('abc');
|
||||
CREATE TABLE t3(a);
|
||||
INSERT INTO t3 VALUES('def'),('jkl');
|
||||
SELECT a FROM t1 EXCEPT SELECT a FROM t2 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE binary;
|
||||
DELETE FROM t2;
|
||||
DELETE FROM t3;
|
||||
INSERT INTO t2 VALUES('ABC'),('def'),('GHI'),('jkl');
|
||||
INSERT INTO t3 SELECT lower(a) FROM t2;
|
||||
SELECT a COLLATE nocase FROM t2 EXCEPT SELECT a FROM t3 ORDER BY 1
|
||||
|
||||
CREATE TABLE t1(a);
|
||||
INSERT INTO t1 VALUES('abc'),('def'),('ghi');
|
||||
CREATE TABLE t2(a);
|
||||
INSERT INTO t2 VALUES('DEF'),('abc');
|
||||
CREATE TABLE t3(a);
|
||||
INSERT INTO t3 VALUES('def'),('jkl');
|
||||
SELECT a FROM t1 EXCEPT SELECT a FROM t2 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE binary;
|
||||
DELETE FROM t2;
|
||||
DELETE FROM t3;
|
||||
INSERT INTO t2 VALUES('ABC'),('def'),('GHI'),('jkl');
|
||||
INSERT INTO t3 SELECT lower(a) FROM t2;
|
||||
SELECT a COLLATE nocase FROM t2 EXCEPT SELECT a FROM t3 ORDER BY 1
|
||||
|
||||
CREATE TABLE t1(a);
|
||||
INSERT INTO t1 VALUES('abc'),('def'),('ghi');
|
||||
CREATE TABLE t2(a);
|
||||
INSERT INTO t2 VALUES('DEF'),('abc');
|
||||
CREATE TABLE t3(a);
|
||||
INSERT INTO t3 VALUES('def'),('jkl');
|
||||
SELECT a FROM t1 EXCEPT SELECT a FROM t2 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE nocase;
|
||||
SELECT a FROM t2 EXCEPT SELECT a FROM t3 ORDER BY a COLLATE binary;
|
||||
DELETE FROM t2;
|
||||
DELETE FROM t3;
|
||||
INSERT INTO t2 VALUES('ABC'),('def'),('GHI'),('jkl');
|
||||
INSERT INTO t3 SELECT lower(a) FROM t2;
|
||||
SELECT a COLLATE nocase FROM t2 EXCEPT SELECT a FROM t3 ORDER BY 1
|
||||
|
||||
|
||||
COMMIT;
|
||||
REINDEX t1;
|
||||
CREATE UNIQUE INDEX IF NOT EXISTS idx_t3_1118 ON t3(a COLLATE NOCASE) WHERE +a > 0;
|
||||
DROP INDEX IF EXISTS t2;
|
||||
SELECT LAST_VALUE(a) OVER (ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) FROM t3;
|
||||
DETACH DATABASE aux72;
|
||||
ALTER TABLE t1 RENAME COLUMN a TO a_r9525;
|
||||
ROLLBACK;
|
||||
ALTER TABLE t3 RENAME COLUMN a TO a_r8773;
|
||||
PRAGMA defer_foreign_keys = TRUE;
|
||||
SELECT * FROM t2;
|
||||
PRAGMA wal_checkpoint('RESTART');
|
||||
INSERT INTO t1 VALUES (NULL);
|
||||
INSERT INTO t1 VALUES (NULL) ON CONFLICT(a) DO UPDATE SET a = excluded.a;
|
||||
INSERT INTO t1 VALUES (NULL) ON CONFLICT(a) DO UPDATE SET a = excluded.a;
|
||||
INSERT INTO t1 DEFAULT VALUES;
|
||||
CREATE TEMP VIEW IF NOT EXISTS v_t2_4298 AS SELECT a FROM t2;
|
||||
SELECT * FROM t1 WHERE a <= ANY (SELECT a FROM t1);
|
||||
INSERT INTO t3 DEFAULT VALUES;
|
||||
DELETE FROM t1 WHERE a IS NULL;
|
||||
INSERT INTO t2 SELECT * FROM t2;
|
||||
RELEASE sp9990;
|
||||
INSERT INTO t2 SELECT * FROM t2;
|
||||
SELECT GROUP_CONCAT(a, '.') OVER (PARTITION BY a ORDER BY a ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING EXCLUDE GROUP) FROM t3;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_t3_7930 BEFORE DELETE ON t3 BEGIN INSERT INTO t3(a) VALUES (NULL); END;
|
||||
SELECT COUNT(*) FROM t2;
|
||||
DELETE FROM t2 WHERE a IS NULL;
|
||||
CREATE INDEX IF NOT EXISTS idx_t1_5741 ON t1(a COLLATE NOCASE);
|
||||
DELETE FROM t3 WHERE a IS NULL RETURNING *;
|
||||
ALTER TABLE t1 RENAME COLUMN a TO a_r2002;
|
||||
SELECT COUNT(*) FROM t1;
|
||||
CREATE INDEX IF NOT EXISTS idx_t1_9369 ON t1(lower(a));
|
||||
SELECT GROUP_CONCAT(a) OVER (ORDER BY a) FROM t2;
|
||||
INSERT INTO t2 VALUES (1) ON CONFLICT(a) DO UPDATE SET a = excluded.a;
|
||||
CREATE UNIQUE INDEX IF NOT EXISTS idx_t2_1124 ON t2((a + 1)) WHERE a IS NOT NULL;
|
||||
ALTER TABLE t1 RENAME COLUMN a TO a_r6325;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_t3_5012 BEFORE DELETE ON t3 FOR EACH ROW BEGIN INSERT INTO t3(a) VALUES (NULL); END;
|
||||
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 t3;
|
||||
INSERT INTO t1 VALUES (NULL);
|
||||
WITH cte AS (SELECT NULL AS x) SELECT * FROM cte;
|
||||
WITH RECURSIVE self(x) AS (SELECT 1 UNION ALL SELECT x FROM self) SELECT * FROM self LIMIT 5;
|
||||
ROLLBACK TO sp8760;
|
||||
RELEASE sp8760;
|
||||
INSERT OR ABORT INTO t3 VALUES ('');
|
||||
ALTER TABLE t2 RENAME TO t2_r9030;
|
||||
DETACH DATABASE aux44;
|
||||
INSERT OR ROLLBACK INTO t3 VALUES ('x');
|
||||
CREATE TRIGGER IF NOT EXISTS trg_t1_4886 BEFORE UPDATE OF a ON t1 BEGIN SELECT RAISE(ABORT, 'abort'); END;
|
||||
REINDEX;
|
||||
INSERT INTO t3 DEFAULT VALUES;
|
||||
INSERT INTO t2 DEFAULT VALUES;
|
||||
ALTER TABLE T RENAME TO T_r523;
|
||||
INSERT OR REPLACE INTO T VALUES (NULL, NULL);
|
||||
INSERT INTO t2 VALUES (1) ON CONFLICT(a) DO UPDATE SET a = excluded.a;
|
||||
SELECT * FROM t3 AS a INNER JOIN t3 AS b ON a.rowid = b.rowid;
|
||||
END TRANSACTION;
|
||||
INSERT OR ROLLBACK INTO t2 VALUES (NULL);
|
||||
INSERT INTO t1 SELECT * FROM t1;
|
||||
ALTER TABLE T RENAME COLUMN b TO b_r7423;
|
||||
ALTER TABLE t3 RENAME COLUMN a TO a_r690;
|
||||
SELECT MAX(a) FROM t3;
|
||||
SELECT STRING_AGG(a, '|') FROM t1;
|
||||
ALTER TABLE T ADD COLUMN extra_3305 FLOAT DEFAULT (abs(random()) % 1000);
|
||||
INSERT INTO t3 VALUES (NULL);
|
||||
VACUUM;
|
||||
CREATE VIEW IF NOT EXISTS v_t1_3865 AS SELECT a FROM t1;
|
||||
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 t1;
|
||||
SELECT * FROM t1 AS a JOIN T AS b ON a.rowid = b.rowid;
|
||||
WITH cte AS (SELECT a, SUM(a) AS total FROM t2 GROUP BY a) SELECT * FROM cte ORDER BY total DESC;
|
||||
INSERT INTO t1 VALUES (NULL);
|
||||
ANALYZE T;
|
||||
WITH RECURSIVE cnt(x) AS (VALUES(1) UNION ALL SELECT x+1 FROM cnt WHERE x<1) SELECT * FROM cnt;
|
||||
ALTER TABLE T ADD COLUMN extra_190 DATE DEFAULT 0;
|
||||
WITH cte AS (SELECT b FROM T UNION SELECT b FROM T) SELECT * FROM cte;
|
||||
DROP VIEW IF EXISTS t2;
|
||||
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 t2;
|
||||
SELECT * FROM t3 AS a LEFT JOIN t2 AS b ON a.rowid = b.rowid;
|
||||
SELECT * FROM t2;
|
||||
ALTER TABLE t1 RENAME COLUMN a TO a_r4594;
|
||||
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;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_t1_5962 AFTER UPDATE ON t1 BEGIN SELECT RAISE(FAIL, 'no'); END;
|
||||
INSERT INTO T SELECT * FROM T;
|
||||
DROP TABLE IF EXISTS t1;
|
||||
INSERT OR FAIL INTO t2 VALUES (0);
|
||||
ALTER TABLE T ADD COLUMN extra_1673 CHARINT;
|
||||
PRAGMA fullsync = OFF;
|
||||
INSERT INTO T SELECT * FROM T;
|
||||
SELECT MAX(a) FROM t1;
|
||||
INSERT INTO T DEFAULT VALUES;
|
||||
SELECT * FROM t3 AS a JOIN t1 AS b ON a.rowid = b.rowid;
|
||||
INSERT OR ABORT INTO t3 VALUES ('x');
|
||||
```
|
||||
|
||||
## Actual output
|
||||
|
||||
```sql
|
||||
CREATE TABLE "t2"("b","c","_ROWID_",PRIMARY KEY("b","c","_ROWID_"))WITHOUT ROWID;
|
||||
WARNING: writing to an imposter table will corrupt the "t1bc" index!
|
||||
Braun|30|3
|
||||
von|20|2
|
||||
Braun|30
|
||||
von|20
|
||||
```
|
||||
|
||||
## Expectation
|
||||
|
||||
```sql
|
||||
|
||||
```
|
||||
|
||||
## Flag
|
||||
|
||||
```
|
||||
|
||||
```
|
||||
|
||||
@@ -0,0 +1,80 @@
|
||||
## 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 t0 USING fts4("x", "y", "z");
|
||||
DROP TABLE t0;
|
||||
.dbinfo main
|
||||
BEGIN IMMEDIATE;
|
||||
PRAGMA secure_delete = ON;
|
||||
-- unistr_quote('Hello')
|
||||
|
||||
CREATE TABLE t0(c0 FLOAT, c1 REAL GENERATED ALWAYS AS (c0));
|
||||
INSERT INTO t0(c0) VALUES (-(-(unhex(1))));
|
||||
SELECT * FROM t0 GROUP BY c0;
|
||||
CREATE TABLE t1(a, b);
|
||||
CREATE TABLE t2(c, d);
|
||||
SELECT max(t1.a), (SELECT 'xyz' FROM (SELECT * FROM t2 WHERE 0) WHERE t1.b=1) FROM t1;
|
||||
|
||||
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 t1 ADD COLUMN extra_7155 MEDIUMINT COLLATE RTRIM;
|
||||
PRAGMA cache_spill = FALSE;
|
||||
INSERT INTO t0 DEFAULT VALUES;
|
||||
END TRANSACTION;
|
||||
ALTER TABLE T ADD COLUMN extra_8857 UNSIGNED BIG INT NOT NULL DEFAULT 0;
|
||||
UPDATE t1 SET a = json_object('k', a) WHERE rowid = 1;
|
||||
SELECT * FROM t1;
|
||||
ALTER TABLE t1 RENAME TO t1_r7117;
|
||||
```
|
||||
|
||||
## Actual output
|
||||
|
||||
```sql
|
||||
database page size: 4096
|
||||
write format: 1
|
||||
read format: 1
|
||||
reserved bytes: 0
|
||||
file change counter: 0
|
||||
database page count: 7
|
||||
freelist page count: 6
|
||||
schema cookie: 7
|
||||
schema format: 4
|
||||
default cache size: 0
|
||||
autovacuum top root: 0
|
||||
incremental vacuum: 0
|
||||
text encoding: 1 (utf8)
|
||||
user version: 0
|
||||
application id: 0
|
||||
software version: 0
|
||||
number of tables: 0
|
||||
number of indexes: 0
|
||||
number of triggers: 0
|
||||
number of views: 0
|
||||
schema size: 0
|
||||
data version 3
|
||||
1
|
||||
|
|
||||
2|-7.25
|
||||
3|0.0
|
||||
```
|
||||
|
||||
## Expectation
|
||||
|
||||
```sql
|
||||
|
||||
```
|
||||
|
||||
## Flag
|
||||
|
||||
```
|
||||
|
||||
```
|
||||
|
||||
@@ -0,0 +1,104 @@
|
||||
## 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 TABLE t1(a SMALLINT PRIMARY KEY, b TEXT, c INT, d INT);
|
||||
INSERT INTO t1 VALUES ('_', 'Wernher', timediff(sinh((';' * quote(NULL))), -2147483648), 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 foreign_keys = NO;
|
||||
creATE VIRTUAL TABLE t0 USING fts3("x", "y", "z");
|
||||
DROP TABLE t0;
|
||||
PRAGMA writable_schema = -2147483648;
|
||||
PRAGMA reverse_unordered_selects = YES;
|
||||
PRAGMA vdbe_trace = YES;
|
||||
.eqp auto
|
||||
BEGIN TRANSACTION;
|
||||
CREATE TABLE main.t1(a, b, c);
|
||||
INSERT INTO "t1" VALUES(1,'one','I');
|
||||
CREATE TABLE t2(d, e, f);
|
||||
INSERT INTO "t2" VALUES(5,'ten','XX');
|
||||
INSERT INTO "t2" VALUES(6,NULL,NULL);
|
||||
CREATE INDEX i1 ON t1(b, a);
|
||||
COMMIT;
|
||||
|
||||
INSERT AND FAIL INTO t2 VALUES (0, -6, 'x');
|
||||
SELECT SUM(c) FROM t1;
|
||||
INSERT INTO t1 SELECT * FROM t1;
|
||||
CREATE UNIQUE INDEX IF NOT EXISTS idx_t2_3495 ON t2((e + 1)) WHERE NOT +e > 0;
|
||||
|
||||
SELECT COUNT(*) FROM t2;
|
||||
INSERT INTO t1 SELECT * FROM t1;
|
||||
INSERT INTO t2 DEFAULT VALUES;
|
||||
CREATE TABLE /* .archive */ 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 t2 RENAME COLUMN e TO e_r5138;
|
||||
SELECT SUM(c) FROM t1;
|
||||
INSERT INTO t2 VALUES (NULL, 1, NULL) ON CONFLICT(d) DO UPDATE SET d = excluded.d, e = excluded.e, f = excluded.f;
|
||||
DELETE FROM t1 WHERE 1 RETURNING *;
|
||||
SELECT FIRST_VALUE(e) OVER (ORDER BY e ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW EXCLUDE TIES) FROM t2;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_t2_3447 AFTER UPDATE ON t2 FOR EACH ROW BEGIN SELECT RAISE(ROLLBACK, 'rb'); END;
|
||||
VACUUM main;
|
||||
INSERT INTO t1 SELECT * FROM t1;
|
||||
REINDEX t2;
|
||||
ANALYZE;
|
||||
SELECT LAG(a) OVER (ORDER BY a ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING EXCLUDE GROUP) FROM t1;
|
||||
SELECT * FROM t2;
|
||||
CREATE TABLE T (
|
||||
a TEXT,
|
||||
b INTEGER,
|
||||
c REAL
|
||||
);
|
||||
INSERT INTO T VALUES ('a',1,2.0), ('a',2,-3.0), ('b',1,4.5);
|
||||
SELECT a,b,c,
|
||||
SUM(c) OVER (
|
||||
PARTITION BY a
|
||||
ORDER BY b
|
||||
) AS d
|
||||
FROM T;
|
||||
ALTER TABLE T DROP COLUMN a;
|
||||
INSERT INTO t2 VALUES (NULL, NULL, NULL);
|
||||
INSERT INTO T SELECT * FROM T;
|
||||
```
|
||||
|
||||
## Actual output
|
||||
|
||||
```sql
|
||||
CREATE TABLE "t2"("b","c","_ROWID_",PRIMARY KEY("b","c","_ROWID_"))WITHOUT ROWID;
|
||||
WARNING: writing to an imposter table will corrupt the "t1bc" index!
|
||||
Braun|30|2
|
||||
von|20|1
|
||||
Braun|30
|
||||
von|20
|
||||
```
|
||||
|
||||
## Expectation
|
||||
|
||||
```sql
|
||||
|
||||
```
|
||||
|
||||
## Flag
|
||||
|
||||
```
|
||||
|
||||
```
|
||||
|
||||
@@ -0,0 +1,440 @@
|
||||
## 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
|
||||
SAVEPOINT sp1179;
|
||||
PRAGMA reverse_unordered_selects = NO;
|
||||
PRAGMA short_column_names = TRUE;
|
||||
.databases
|
||||
SAVEPOINT sp5671;
|
||||
.once log.txt
|
||||
ATTACH DATABASE ('' || '') || ('') || (':memory:') AS aux78;
|
||||
.limit
|
||||
CREATE TABLE T1 (
|
||||
a INT2,
|
||||
b REAL
|
||||
);
|
||||
CREATE TABLE T2 (
|
||||
a INTEGER,
|
||||
b REAL
|
||||
);
|
||||
INSERT INTO T1 VALUES (ifnull(timediff(concat_ws(',', CAST(upper(-(-(-json_array_length(strftime('%s', sinh(lower('HELLO'))))))) AS INT2), format(NULL, if(NULL, NULL, NULL)), datetime(unhex('4G'), '+1 day')), lower('HeLLo')), (2 + 0.0)),1.0);
|
||||
INSERT INTO T2 VALUES (1,-1.0),(2,9e999);
|
||||
INSERT OR REPLACE INTO T1
|
||||
SELECT * FROM T2;
|
||||
SELECT * FROM T1;
|
||||
PRAGMA writable_schema = YES;
|
||||
SAVEPOINT sp6649;
|
||||
ATTACH DATABASE ':memory:' AS aux69;
|
||||
.quit
|
||||
.trace
|
||||
CREATE TABLE main.T (
|
||||
a DOUBLE,
|
||||
b TEXT,
|
||||
c REAL
|
||||
);
|
||||
INSERT INTO T VALUES (CAST(json_array_length(if(CAST(-(-(length(randomblob(CAST(mod(1.7976931348623157e+308, 1465368752231950166) AS INTEGER))))) AS TINYINT), 1, 0, 1, 0, 1), '$') AS NUMERIC),'a',3.14), (1,'b',-7.75), (2,'c',-9e999);
|
||||
WITH _m AS MATERIALIZED (SELECT * FROM t1) SELECT b,a,c,
|
||||
RANK() OVER (PARTITION BY a ORDER BY c DESC) AS d FROM T;
|
||||
ATTACH DATABASE ':memory:' AS aux86;
|
||||
PRAGMA full_column_names = YES;
|
||||
DROP TABLE IF EXISTS _m;
|
||||
CREATE TABLE t1 (c0, c1 REAL PRIMARY KEY);
|
||||
INSERT INTO t1(c0, c1) VALUES ('{', -(-(1))), (0, 0);
|
||||
UPDATE t1 SET c0 = NULL;
|
||||
UPDATE OR REPLACE t1 SET c1 = 1;
|
||||
SELECT DISTINCT * FROM t1 WHERE NOT NOT (NOT NOT (t1.c0 IS NULL)) ;
|
||||
PRAGMA integrity_check;
|
||||
SELECT COUNT(*) FROM t1;
|
||||
SELECT * FROM t1;
|
||||
DETACH DATABASE aux86;
|
||||
REINDEX;
|
||||
ALTER TABLE T ADD COLUMN extra_5481 BLOB NOT NULL DEFAULT 0;
|
||||
SELECT COUNT(*) FROM T;
|
||||
CREATE TABLE T (
|
||||
a TEXT,
|
||||
b TEXT
|
||||
);
|
||||
INSERT INTO T VALUES ('a','b'), ('c','d');
|
||||
SELECT * FROM T WHERE +a = REPLACE('a;',';','') AND b = 'b';
|
||||
CREATE TABLE T1 (
|
||||
A VARCHAR(15) PRIMARY KEY,
|
||||
B VARCHAR(30) NOT NULL UNIQUE
|
||||
);
|
||||
CREATE TABLE T2 (
|
||||
A VARCHAR(10) PRIMARY KEY,
|
||||
X VARCHAR(15) NOT NULL,
|
||||
C BIGINT,
|
||||
FOREIGN KEY (X) REFERENCES T1(A)
|
||||
);
|
||||
INSERT INTO T1 VALUES ('p', 'x');
|
||||
INSERT INTO T1 VALUES ('q', 'y');
|
||||
INSERT INTO T2 VALUES ('a', 'p', 9223372036854775807);
|
||||
INSERT INTO T2 VALUES ('b', 'q', -9223372036854775808);
|
||||
SELECT X, SUM(C) AS D, COUNT(*) AS E FROM T2 GROUP BY X;
|
||||
SELECT LAG(c0, 2, 'default') OVER (PARTITION BY c0 ORDER BY c0 ROWS BETWEEN 2 PRECEDING AND 2 FOLLOWING EXCLUDE CURRENT ROW) FROM t1;
|
||||
SELECT * FROM t1;
|
||||
CREATE VIEW IF NOT EXISTS v_t1_6883 AS SELECT c1 FROM t1;
|
||||
ALTER TABLE t1 ADD COLUMN extra_3184 INT2 COLLATE NOCASE;
|
||||
SELECT * FROM t1;
|
||||
REINDEX;
|
||||
SELECT c, COUNT(*) FROM T GROUP BY c HAVING COUNT(*) = (SELECT COUNT(*) FROM T);
|
||||
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;
|
||||
PRAGMA temp_store = 'MEMORY';
|
||||
VACUUM main;
|
||||
SELECT * FROM T1 WHERE EXISTS (SELECT 1 FROM T1 WHERE 1 = 0);
|
||||
SELECT * FROM T1 WHERE A <> ANY (SELECT A FROM T1);
|
||||
CREATE TEMPORARY VIEW IF NOT EXISTS v_t1_5592 AS SELECT c0 FROM t1;
|
||||
REINDEX T2;
|
||||
UPDATE T SET b = json_object('k', b);
|
||||
DETACH DATABASE aux69;
|
||||
DROP INDEX IF EXISTS T1;
|
||||
SELECT STRING_AGG(C) FROM T2;
|
||||
ROLLBACK TO sp6649;
|
||||
RELEASE sp6649;
|
||||
INSERT OR ABORT INTO T2 VALUES ('x', -9, -9);
|
||||
SELECT COUNT(*) FILTER (WHERE c1 IS NOT NULL), SUM(rowid) FILTER (WHERE c1 > 0), COUNT(*) FILTER (WHERE 1=0), COUNT(*) FILTER (WHERE 1=1), COUNT(*) FILTER (WHERE NULL), AVG(c1) FILTER (WHERE c1 > 0 AND c1 < 100), COUNT(*) FILTER (WHERE typeof(c1) = "text") FROM t1;
|
||||
ALTER TABLE T RENAME COLUMN b TO b_r9085;
|
||||
INSERT INTO t1 DEFAULT VALUES;
|
||||
SELECT GROUP_CONCAT(A, '|') FROM T2;
|
||||
INSERT OR ROLLBACK INTO T1 VALUES (6, '');
|
||||
WITH RECURSIVE tree(id, path) AS (VALUES(1, "/1") UNION ALL SELECT id+1, path || "/" || (id+1) FROM tree WHERE id<14) SELECT * FROM tree;
|
||||
CREATE VIEW IF NOT EXISTS v_T1_7673 AS SELECT B FROM T1;
|
||||
SELECT COUNT(*) FILTER (WHERE B IS NOT NULL), SUM(rowid) FILTER (WHERE B > 0), COUNT(*) FILTER (WHERE 1=0), COUNT(*) FILTER (WHERE 1=1), COUNT(*) FILTER (WHERE NULL), AVG(B) FILTER (WHERE B > 0 AND B < 100), COUNT(*) FILTER (WHERE typeof(B) = "text") FROM T1;
|
||||
CREATE TABLE T1 (
|
||||
a INTEGER,
|
||||
b REAL
|
||||
);
|
||||
CREATE TABLE T2 (
|
||||
a INTEGER,
|
||||
b REAL
|
||||
);
|
||||
INSERT INTO T1 VALUES (1,1.0);
|
||||
INSERT INTO T2 VALUES (1,-1.0),(2,9e999);
|
||||
INSERT OR REPLACE INTO T1
|
||||
SELECT * FROM T2;
|
||||
SELECT * FROM T1;
|
||||
SELECT COUNT(c) FROM T;
|
||||
UPDATE T SET a = a + 1 WHERE 1;
|
||||
ALTER TABLE T ADD COLUMN extra_6983 DATETIME DEFAULT CURRENT_TIMESTAMP;
|
||||
INSERT INTO T2 VALUES (NULL, NULL);
|
||||
.limit
|
||||
CREATE TABLE T1 (
|
||||
a INTEGER,
|
||||
b REAL
|
||||
);
|
||||
CREATE TABLE T2 (
|
||||
a INTEGER,
|
||||
b REAL
|
||||
);
|
||||
INSERT INTO T1 VALUES (ifnull(timediff(concat_ws(',', CAST(upper(1) AS INT2), 2, 3), 1), 2),1.0);
|
||||
INSERT INTO T2 VALUES (1,-1.0),(2,9e999);
|
||||
INSERT OR REPLACE INTO T1
|
||||
SELECT * FROM T2;
|
||||
SELECT * FROM T1;
|
||||
PRAGMA writable_schema = YES;
|
||||
SAVEPOINT sp6649;
|
||||
ATTACH DATABASE ':memory:' AS aux69;
|
||||
.quit
|
||||
.trace
|
||||
CREATE TABLE T (
|
||||
a DOUBLE,
|
||||
b TEXT,
|
||||
c REAL
|
||||
);
|
||||
INSERT INTO T VALUES (CAST(json_array_length(if(CAST(-(-(length(randomblob(CAST(mod(1.7976931348623157e+308, 1465368752231950166) AS INTEGER))))) AS TINYINT), 1, 0, 1, 0, 1), '$') AS NUMERIC),'a',3.14), (1,'b',-7.75), (2,'c',-9e999);
|
||||
WITH _m AS MATERIALIZED (SELECT * FROM t1) SELECT b,a,c,
|
||||
RANK() OVER (PARTITION BY a ORDER BY c DESC) AS d FROM T;
|
||||
ATTACH DATABASE ':memory:' AS aux86;
|
||||
PRAGMA full_column_names = YES;
|
||||
DROP TABLE IF EXISTS _m;
|
||||
CREATE TABLE t1 (c0, c1 REAL PRIMARY KEY);
|
||||
INSERT INTO t1(c0, c1) VALUES ('{', -(-(1))), (0, 0);
|
||||
UPDATE t1 SET c0 = NULL;
|
||||
UPDATE OR REPLACE t1 SET c1 = 1;
|
||||
SELECT DISTINCT * FROM t1 WHERE NOT NOT (t1.c0 IS NULL);
|
||||
PRAGMA integrity_check;
|
||||
SELECT COUNT(*) FROM t1;
|
||||
SELECT * FROM t1;
|
||||
DETACH DATABASE aux86;
|
||||
REINDEX;
|
||||
ALTER TABLE T ADD COLUMN extra_5481 BLOB NOT NULL DEFAULT 0;
|
||||
SELECT COUNT(*) FROM T;
|
||||
CREATE TABLE T1 (
|
||||
A VARCHAR(15) PRIMARY KEY,
|
||||
B VARCHAR(30) NOT NULL UNIQUE
|
||||
);
|
||||
CREATE TABLE T2 (
|
||||
A VARCHAR(10) PRIMARY KEY,
|
||||
X VARCHAR(15) NOT NULL,
|
||||
C BIGINT,
|
||||
FOREIGN KEY (X) REFERENCES T1(A)
|
||||
);
|
||||
INSERT INTO T1 VALUES ('p', 'x');
|
||||
INSERT INTO T1 VALUES ('q', 'y');
|
||||
INSERT INTO T2 VALUES ('a', 'p', 9223372036854775807);
|
||||
INSERT INTO T2 VALUES ('b', 'q', -9223372036854775808);
|
||||
SELECT X, SUM(C) AS D, COUNT(*) AS E FROM T2 GROUP BY X;
|
||||
SELECT LAG(c0, 2, 'default') OVER (PARTITION BY c0 ORDER BY c0 ROWS BETWEEN 2 PRECEDING AND 2 FOLLOWING EXCLUDE CURRENT ROW) FROM t1;
|
||||
SELECT * FROM t1;
|
||||
CREATE VIEW IF NOT EXISTS v_t1_6883 AS SELECT c1 FROM t1;
|
||||
ALTER TABLE t1 ADD COLUMN extra_3184 INT2 COLLATE NOCASE;
|
||||
SELECT * FROM t1;
|
||||
REINDEX;
|
||||
SELECT c, COUNT(*) FROM T GROUP BY c HAVING COUNT(*) = (SELECT COUNT(*) FROM T);
|
||||
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;
|
||||
PRAGMA temp_store = 'MEMORY';
|
||||
VACUUM main;
|
||||
SELECT * FROM T1 WHERE EXISTS (SELECT 1 FROM T1 WHERE 1 = 0);
|
||||
SELECT * FROM T1 WHERE A <> ANY (SELECT A /**/ FROM T1);
|
||||
CREATE TEMPORARY VIEW IF NOT EXISTS v_t1_5592 AS SELECT c0 FROM t1;
|
||||
REINDEX T2;
|
||||
UPDATE T SET b = json_object('k', b);
|
||||
DETACH DATABASE aux69;
|
||||
DROP INDEX IF EXISTS T1;
|
||||
SELECT STRING_AGG(C) FROM T2;
|
||||
ROLLBACK TO sp6649;
|
||||
RELEASE sp6649;
|
||||
INSERT OR ABORT INTO T2 VALUES ('x', -9, -9);
|
||||
SELECT COUNT(*) FILTER (WHERE c1 IS NOT NULL), SUM(rowid) FILTER (WHERE c1 > 0), COUNT(*) FILTER (WHERE 1=0), COUNT(*) FILTER (WHERE 1=1), COUNT(*) FILTER (WHERE NULL), AVG(c1) FILTER (WHERE c1 > 0 AND /**/ c1 < 100), COUNT(*) FILTER (WHERE typeof(c1) = "text") FROM t1;
|
||||
ALTER TABLE T RENAME COLUMN b TO b_r9085;
|
||||
INSERT INTO t1 DEFAULT VALUES;
|
||||
SELECT GROUP_CONCAT(A, '|') FROM T2;
|
||||
INSERT OR ROLLBACK INTO T1 VALUES (6, '');
|
||||
WITH RECURSIVE tree(id, path) AS (VALUES(1, "/1") UNION ALL SELECT id+1, path || "/" || (id+1) FROM tree WHERE id<14) SELECT * FROM tree;
|
||||
CREATE VIEW IF NOT EXISTS v_T1_7673 AS SELECT B FROM T1;
|
||||
SELECT COUNT(*) FILTER (WHERE B IS NOT NULL), SUM(rowid) FILTER (WHERE B > 0), COUNT(*) FILTER (WHERE 1=0), COUNT(*) FILTER (WHERE 1=1), COUNT(*) FILTER (WHERE NULL), AVG(B) FILTER (WHERE B > 0 AND B < 100), COUNT(*) FILTER (WHERE typeof(B) = "text") FROM T1;
|
||||
CREATE TABLE T1 (
|
||||
a INTEGER,
|
||||
b REAL
|
||||
);
|
||||
CREATE TABLE T2 (
|
||||
a INTEGER,
|
||||
b REAL
|
||||
);
|
||||
INSERT INTO T1 VALUES (1,1.0);
|
||||
INSERT INTO T2 VALUES (1,-1.0),(2,9e999);
|
||||
INSERT OR REPLACE INTO T1
|
||||
SELECT * FROM T2;
|
||||
SELECT * FROM T1;
|
||||
SELECT COUNT(c) FROM T;
|
||||
UPDATE T SET a = a + 1 WHERE 1;
|
||||
ALTER TABLE T ADD COLUMN extra_6983 DATETIME DEFAULT CURRENT_TIMESTAMP;
|
||||
INSERT INTO T2 VALUES (NULL, NULL);
|
||||
.limit
|
||||
CREATE TABLE T1 (
|
||||
a INTEGER,
|
||||
b REAL
|
||||
);
|
||||
CREATE TABLE T2 (
|
||||
a INTEGER,
|
||||
b REAL
|
||||
);
|
||||
INSERT INTO T1 VALUES (ifnull(timediff(concat_ws(',', CAST(upper(1) AS INT2), 2, 3), 1), 2),1.0);
|
||||
INSERT INTO T2 VALUES (1,-1.0),(2,9e999);
|
||||
INSERT OR REPLACE INTO T1
|
||||
SELECT * FROM T2;
|
||||
SELECT * FROM T1;
|
||||
PRAGMA writable_schema = YES;
|
||||
SAVEPOINT sp6649;
|
||||
ATTACH DATABASE ':memory:' AS aux69;
|
||||
.quit
|
||||
.trace
|
||||
CREATE TABLE T (
|
||||
a DOUBLE,
|
||||
b TEXT,
|
||||
c REAL
|
||||
);
|
||||
INSERT INTO T VALUES (CAST(json_array_length(if(CAST(-(-(length(randomblob(CAST(mod(1.7976931348623157e+308, 1465368752231950166) AS INTEGER))))) AS TINYINT), 1, 0, 1, 0, 1), '$') AS NUMERIC),'a',3.14), (1,'b',-7.75), (2,'c',-9e999);
|
||||
WITH _m AS MATERIALIZED (SELECT * FROM t1) SELECT b,a,c,
|
||||
RANK() OVER (PARTITION BY a ORDER BY c DESC) AS d FROM T;
|
||||
ATTACH DATABASE ':memory:' AS aux86;
|
||||
PRAGMA full_column_names = YES;
|
||||
DROP TABLE IF EXISTS _m;
|
||||
CREATE TABLE t1 (c0, c1 REAL PRIMARY KEY);
|
||||
INSERT INTO t1(c0, c1) VALUES ('{', -(-(1))), (0, 0);
|
||||
UPDATE t1 SET c0 = NULL;
|
||||
UPDATE OR REPLACE t1 SET c1 = 1;
|
||||
SELECT DISTINCT * FROM t1 WHERE NOT NOT (t1.c0 IS NULL);
|
||||
PRAGMA integrity_check;
|
||||
SELECT COUNT(*) FROM t1;
|
||||
SELECT * FROM t1;
|
||||
DETACH DATABASE aux86;
|
||||
REINDEX;
|
||||
ALTER TABLE T ADD COLUMN extra_5481 BLOB NOT NULL DEFAULT 0;
|
||||
SELECT COUNT(*) FROM T;
|
||||
CREATE TABLE T1 (
|
||||
A VARCHAR(15) PRIMARY KEY,
|
||||
B VARCHAR(30) NOT NULL UNIQUE
|
||||
);
|
||||
CREATE TABLE T2 (
|
||||
A VARCHAR(10) PRIMARY KEY,
|
||||
X VARCHAR(15) NOT NULL,
|
||||
C BIGINT,
|
||||
FOREIGN KEY (X) REFERENCES T1(A)
|
||||
);
|
||||
INSERT INTO T1 /* .recover */ VALUES ('p', 'x');
|
||||
INSERT INTO T1 VALUES ('q', 'y');
|
||||
INSERT INTO T2 VALUES ('a', 'p', 9223372036854775807);
|
||||
INSERT INTO T2 VALUES ('b', 'q', -9223372036854775808);
|
||||
SELECT X, SUM(C) AS D, COUNT(*) AS E FROM T2 GROUP BY X;
|
||||
SELECT LAG(c0, 2, 'default') OVER (PARTITION BY c0 ORDER BY c0 ROWS BETWEEN 2 PRECEDING AND 2 FOLLOWING EXCLUDE CURRENT ROW) FROM t1;
|
||||
SELECT * FROM t1;
|
||||
CREATE VIEW IF NOT EXISTS v_t1_6883 AS SELECT c1 FROM t1;
|
||||
ALTER TABLE t1 ADD COLUMN extra_3184 INT2 COLLATE NOCASE;
|
||||
SELECT * FROM t1;
|
||||
REINDEX;
|
||||
SELECT c, COUNT(*) FROM T GROUP BY c HAVING COUNT(*) = (SELECT COUNT(*) FROM T);
|
||||
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;
|
||||
PRAGMA temp_store = 'MEMORY';
|
||||
VACUUM main;
|
||||
SELECT * FROM T1 WHERE EXISTS (SELECT 1 FROM T1 WHERE 1 = 0);
|
||||
SELECT * FROM T1 WHERE A <> ANY (SELECT A FROM T1);
|
||||
CREATE TEMPORARY VIEW IF NOT EXISTS v_t1_5592 AS SELECT c0 FROM t1;
|
||||
REINDEX T2;
|
||||
UPDATE T SET b = json_object('k', b);
|
||||
DETACH DATABASE aux69;
|
||||
DROP INDEX IF EXISTS T1;
|
||||
SELECT STRING_AGG(C) FROM T2;
|
||||
ROLLBACK TO sp6649;
|
||||
RELEASE sp6649;
|
||||
INSERT OR ABORT INTO T2 VALUES ('x', -9, -9);
|
||||
SELECT COUNT(*) FILTER (WHERE c1 IS NOT NULL), SUM(rowid) FILTER (WHERE c1 > 0), COUNT(*) FILTER (WHERE 1=0), COUNT(*) FILTER (WHERE 1=1), COUNT(*) FILTER (WHERE NULL), AVG(c1) FILTER (WHERE c1 > 0 AND c1 < 100), COUNT(*) FILTER (WHERE typeof(c1) = "text") FROM t1;
|
||||
ALTER TABLE T RENAME COLUMN b TO b_r9085;
|
||||
INSERT INTO t1 DEFAULT VALUES;
|
||||
SELECT GROUP_CONCAT(A, '|') FROM T2;
|
||||
INSERT OR ROLLBACK INTO T1 VALUES (6, '');
|
||||
WITH RECURSIVE tree(id, path) AS (VALUES(1, "/1") UNION ALL SELECT id+1, path || "/" || (id+1) FROM tree WHERE id<14) SELECT * FROM tree;
|
||||
CREATE VIEW IF NOT EXISTS v_T1_7673 AS SELECT B FROM T1;
|
||||
SELECT COUNT(*) FILTER (WHERE B IS NOT NULL), SUM(rowid) FILTER (WHERE B > 0), COUNT(*) FILTER (WHERE 1=0), COUNT(*) FILTER (WHERE 1=1), COUNT(*) FILTER (WHERE NULL), AVG(B) FILTER (WHERE B > 0 AND B < 100), COUNT(*) FILTER (WHERE typeof(B) = "text") FROM T1;
|
||||
CREATE TABLE T1 (
|
||||
a INTEGER,
|
||||
b REAL
|
||||
);
|
||||
CREATE TABLE T2 (
|
||||
a INTEGER,
|
||||
b REAL
|
||||
);
|
||||
INSERT INTO T1 VALUES (1,1.0);
|
||||
INSERT INTO T2 VALUES (1,-1.0),(2,9e999);
|
||||
INSERT OR REPLACE INTO T1
|
||||
SELECT * FROM T2;
|
||||
SELECT * FROM T1;
|
||||
SELECT COUNT(c) FROM T;
|
||||
UPDATE T SET a = a + 1 WHERE 1;
|
||||
ALTER TABLE T ADD COLUMN extra_6983 DATETIME DEFAULT CURRENT_TIMESTAMP;
|
||||
INSERT INTO T2 VALUES (NULL, NULL);
|
||||
VACUUM;
|
||||
CREATE VIEW IF NOT EXISTS v_T2_6393 AS SELECT a FROM T2;
|
||||
ALTER TABLE T1 RENAME COLUMN b TO b_r8651;
|
||||
SELECT LEAD(a) OVER (ORDER BY a) FROM T1;
|
||||
ALTER TABLE T DROP COLUMN a;
|
||||
SELECT * FROM T1 AS a INNER JOIN T1 AS b ON a.rowid = b.rowid;
|
||||
CREATE TABLE T1 (
|
||||
A VARCHAR(10) PRIMARY KEY,
|
||||
B VARCHAR(15) UNIQUE,
|
||||
C INTEGER
|
||||
);
|
||||
CREATE TABLE T2 (
|
||||
X VARCHAR(20) PRIMARY KEY,
|
||||
A VARCHAR(10) NOT NULL UNIQUE,
|
||||
FOREIGN KEY (A) REFERENCES T1(A)
|
||||
);
|
||||
INSERT INTO T1 VALUES ('a', 'p', -2147483648);
|
||||
INSERT INTO T1 VALUES ('b', 'q', 2147483647);
|
||||
INSERT INTO T2 VALUES ('m', 'a');
|
||||
INSERT INTO T2 VALUES ('n', 'b');
|
||||
SELECT T2.X, T1.B, T1.C FROM T2, T1 WHERE T2.A = T1.A AND T1.C >= 0;
|
||||
SELECT * FROM t1 WHERE c1 IN (SELECT c1 FROM t1 t2 WHERE t2.c1 = t1.c1);
|
||||
SELECT * FROM T2 AS /* load_extension({v}) */ a INNER JOIN T AS b ON a.rowid = b.rowid;
|
||||
DETACH DATABASE aux78;
|
||||
SELECT COUNT(*) FILTER (WHERE c1 IS NOT NULL), SUM(rowid) FILTER (WHERE c1 > 0), COUNT(*) FILTER (WHERE 1=0), COUNT(*) FILTER (WHERE 1=1), COUNT(*) FILTER (WHERE NULL), AVG(c1) FILTER (WHERE c1 > 0 AND c1 < 100), COUNT(*) FILTER (WHERE typeof(c1) = "text") FROM t1;
|
||||
UPDATE T2 SET A = 'x';
|
||||
PRAGMA cache_spill = NO;
|
||||
INSERT INTO T2 SELECT * FROM T2;
|
||||
VACUUM main;
|
||||
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';
|
||||
SELECT * FROM T1 WHERE EXISTS (SELECT 1 FROM T1 WHERE C > 0);
|
||||
ROLLBACK TRANSACTION TO SAVEPOINT sp5671;
|
||||
RELEASE SAVEPOINT sp5671;
|
||||
ALTER TABLE T DROP COLUMN a;
|
||||
SELECT A, (SELECT MIN(A) FROM T2) AS min_val FROM T2;
|
||||
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 T1;
|
||||
SELECT * FROM T1 WHERE A IN (SELECT A FROM T1 WHERE A IN (SELECT A FROM T1));
|
||||
ALTER TABLE t1 ADD COLUMN extra_514 DATE DEFAULT (abs(random()) % 1000);
|
||||
SELECT SUM(A) FROM T1;
|
||||
ALTER TABLE t1 RENAME TO t1_r1859;
|
||||
SELECT COUNT(*) FROM t1;
|
||||
SELECT MAX(c0) FROM t1;
|
||||
SELECT NTILE(1) OVER (PARTITION BY X ORDER BY X ROWS BETWEEN 2 PRECEDING AND 2 FOLLOWING EXCLUDE CURRENT ROW) FROM T2;
|
||||
CREATE TEMP VIEW IF NOT EXISTS v_T_8701 AS SELECT b FROM T;
|
||||
REINDEX;
|
||||
SELECT 0x0ACB29BM205381;
|
||||
SELECT sqlite_compileoption_used('æçå¤©ä½ æ¯æä¹äº');
|
||||
SELECT 1 >> -999999999999999999999999999;
|
||||
SELECT sqlite_compileoption_get($1);
|
||||
SELECT sqlite_version();
|
||||
INSERT INTO t1 SELECT * FROM t1;
|
||||
SELECT * FROM t1;
|
||||
SELECT STRING_AGG(a, '|') FROM T;
|
||||
SELECT * FROM T1;
|
||||
SELECT GROUP_CONCAT(X, '|') FROM T2;
|
||||
ALTER TABLE T2 DROP COLUMN A;
|
||||
INSERT INTO T VALUES (NULL, NULL, NULL);
|
||||
INSERT INTO t1 SELECT * FROM t1;
|
||||
CREATE INDEX IF NOT EXISTS idx_T1_6502 ON T1(B);
|
||||
SELECT COUNT(*) FROM T2;
|
||||
ROLLBACK TO sp1179;
|
||||
RELEASE sp1179;
|
||||
SELECT * FROM t1;
|
||||
INSERT INTO T2 DEFAULT VALUES;
|
||||
INSERT OR REPLACE INTO t1 VALUES (-5, 7);
|
||||
VACUUM;
|
||||
ALTER TABLE T2 DROP COLUMN X;
|
||||
SELECT * FROM T1;
|
||||
SELECT * FROM T1 AS a JOIN T AS b ON a.rowid = b.rowid;
|
||||
ALTER TABLE T2 ADD COLUMN extra_7126 FLOAT DEFAULT CURRENT_TIMESTAMP;
|
||||
INSERT INTO T VALUES (NULL, NULL, NULL);
|
||||
ALTER TABLE T1 DROP COLUMN A;
|
||||
SELECT c, (SELECT AVG(c) FROM T) AS avg_val FROM T;
|
||||
SELECT COUNT(*) FROM T2;
|
||||
ALTER TABLE t1 DROP COLUMN c0;
|
||||
```
|
||||
|
||||
## Actual output
|
||||
|
||||
```sql
|
||||
main: "" r/w
|
||||
length 1000000000
|
||||
sql_length 1000000000
|
||||
column 2000
|
||||
expr_depth 1000
|
||||
compound_select 500
|
||||
vdbe_op 250000000
|
||||
function_arg 127
|
||||
attached 10
|
||||
like_pattern_length 50000
|
||||
variable_number 32766
|
||||
trigger_depth 1000
|
||||
worker_threads 0
|
||||
1|-1.0
|
||||
2|Inf
|
||||
```
|
||||
|
||||
## Expectation
|
||||
|
||||
```sql
|
||||
|
||||
```
|
||||
|
||||
## Flag
|
||||
|
||||
```
|
||||
|
||||
```
|
||||
|
||||
@@ -0,0 +1,175 @@
|
||||
## 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
|
||||
SAVEPOINT sp5525;
|
||||
-- changes()
|
||||
|
||||
PRAGMA compile_options;
|
||||
CREATE TABLE t1(x INTEGER PRIMARY KEY, y, z);
|
||||
CREATE TABLE t2(a, b);
|
||||
CREATE TABLE T (
|
||||
a TEXT,
|
||||
b TEXT,
|
||||
c REAL
|
||||
);
|
||||
INSERT INTO T VALUES ('a','b','-'), ('a','c',-1222056731234344303), ('b','b',4.75);
|
||||
SELECT a,
|
||||
SUM(CASE WHEN b!='b' THEN c ELSE 0 END) AS d,
|
||||
SUM(CASE WHEN b='c' THEN c ELSE 0 END) AS e
|
||||
FROM T
|
||||
GROUP BY a;
|
||||
CREATE VIEW agg2 AS SELECT a, sum(b) AS m FROM t2 GROUP BY a;
|
||||
SELECT t1.z, agg2.m FROM t1 JOIN agg2 ON t1.y==agg2.m WHERE NOT NOT (t1.x IN (1,2,3)) ;
|
||||
CREATE TABLE t920(x);
|
||||
INSERT INTO t920 VALUES(3),(4),(5);
|
||||
SELECT * FROM t920,(SELECT 0 FROM t920),(VALUES(9)) WHERE 5 IN (x);
|
||||
PRAGMA fullsync = 0;
|
||||
CREATE INDEX IF NOT EXISTS idx_t2_788 ON t2(lower(a)) WHERE +a > 0;
|
||||
ALTER TABLE t1 RENAME COLUMN y TO y_r8132;
|
||||
DELETE FROM t920 WHERE +x > (SELECT AVG(x) FROM t920) RETURNING *;
|
||||
SELECT * FROM t2;
|
||||
ALTER TABLE t920 ADD COLUMN extra_3469 NCHAR(55) DEFAULT 0;
|
||||
SELECT * FROM T;
|
||||
SELECT AVG(b) FROM t2;
|
||||
DELETE FROM t2 WHERE a > (SELECT AVG(a) FROM t2);
|
||||
RELEASE sp5525;
|
||||
SELECT * FROM (SELECT * FROM t1) AS sub;
|
||||
SELECT a, (SELECT MAX(a) FROM t2) AS max_val FROM t2;
|
||||
```
|
||||
|
||||
## Actual output
|
||||
|
||||
```sql
|
||||
ATOMIC_INTRINSICS=1
|
||||
COMPILER=gcc-14.2.0
|
||||
DEFAULT_AUTOVACUUM
|
||||
DEFAULT_CACHE_SIZE=-2000
|
||||
DEFAULT_FILE_FORMAT=4
|
||||
DEFAULT_JOURNAL_SIZE_LIMIT=-1
|
||||
DEFAULT_MMAP_SIZE=0
|
||||
DEFAULT_PAGE_SIZE=4096
|
||||
DEFAULT_PCACHE_INITSZ=20
|
||||
DEFAULT_RECURSIVE_TRIGGERS
|
||||
DEFAULT_SECTOR_SIZE=4096
|
||||
DEFAULT_SYNCHRONOUS=2
|
||||
DEFAULT_WAL_AUTOCHECKPOINT=1000
|
||||
DEFAULT_WAL_SYNCHRONOUS=2
|
||||
DEFAULT_WORKER_THREADS=0
|
||||
ENABLE_BYTECODE_VTAB
|
||||
ENABLE_DBPAGE_VTAB
|
||||
ENABLE_DBSTAT_VTAB
|
||||
ENABLE_EXPLAIN_COMMENTS
|
||||
ENABLE_FTS3
|
||||
ENABLE_FTS4
|
||||
ENABLE_MATH_FUNCTIONS
|
||||
ENABLE_OFFSET_SQL_FUNC
|
||||
ENABLE_RTREE
|
||||
ENABLE_STMTVTAB
|
||||
ENABLE_UNKNOWN_SQL_FUNCTION
|
||||
HAVE_ISNAN
|
||||
MALLOC_SOFT_LIMIT=1024
|
||||
MAX_ATTACHED=10
|
||||
MAX_COLUMN=2000
|
||||
MAX_COMPOUND_SELECT=500
|
||||
MAX_DEFAULT_PAGE_SIZE=8192
|
||||
MAX_EXPR_DEPTH=1000
|
||||
MAX_FUNCTION_ARG=127
|
||||
MAX_LENGTH=1000000000
|
||||
MAX_LIKE_PATTERN_LENGTH=50000
|
||||
MAX_MMAP_SIZE=0x7fff0000
|
||||
MAX_PAGE_COUNT=1073741823
|
||||
MAX_PAGE_SIZE=65536
|
||||
MAX_SQL_LENGTH=1000000000
|
||||
MAX_TRIGGER_DEPTH=1000
|
||||
MAX_VARIABLE_NUMBER=32766
|
||||
MAX_VDBE_OP=250000000
|
||||
MAX_WORKER_THREADS=8
|
||||
MUTEX_PTHREADS
|
||||
SYSTEM_MALLOC
|
||||
TEMP_STORE=1
|
||||
THREADSAFE=1
|
||||
a|-1.22205673123434e+18|-1.22205673123434e+18
|
||||
b|0|0
|
||||
5|0|9
|
||||
5|0|9
|
||||
5|0|9
|
||||
5
|
||||
a|b|-
|
||||
a|c|-1.22205673123434e+18
|
||||
b|b|4.75
|
||||
```
|
||||
|
||||
## Expectation
|
||||
|
||||
```sql
|
||||
ATOMIC_INTRINSICS=1
|
||||
COMPILER=gcc-11.4.0
|
||||
DEFAULT_AUTOVACUUM
|
||||
DEFAULT_CACHE_SIZE=-2000
|
||||
DEFAULT_FILE_FORMAT=4
|
||||
DEFAULT_JOURNAL_SIZE_LIMIT=-1
|
||||
DEFAULT_MMAP_SIZE=0
|
||||
DEFAULT_PAGE_SIZE=4096
|
||||
DEFAULT_PCACHE_INITSZ=20
|
||||
DEFAULT_RECURSIVE_TRIGGERS
|
||||
DEFAULT_SECTOR_SIZE=4096
|
||||
DEFAULT_SYNCHRONOUS=2
|
||||
DEFAULT_WAL_AUTOCHECKPOINT=1000
|
||||
DEFAULT_WAL_SYNCHRONOUS=2
|
||||
DEFAULT_WORKER_THREADS=0
|
||||
DIRECT_OVERFLOW_READ
|
||||
DQS=0
|
||||
ENABLE_BYTECODE_VTAB
|
||||
ENABLE_DBPAGE_VTAB
|
||||
ENABLE_DBSTAT_VTAB
|
||||
ENABLE_EXPLAIN_COMMENTS
|
||||
ENABLE_FTS3
|
||||
ENABLE_FTS4
|
||||
ENABLE_MATH_FUNCTIONS
|
||||
ENABLE_OFFSET_SQL_FUNC
|
||||
ENABLE_PERCENTILE
|
||||
ENABLE_RTREE
|
||||
ENABLE_STMTVTAB
|
||||
ENABLE_UNKNOWN_SQL_FUNCTION
|
||||
HAVE_ISNAN
|
||||
MALLOC_SOFT_LIMIT=1024
|
||||
MAX_ATTACHED=10
|
||||
MAX_COLUMN=2000
|
||||
MAX_COMPOUND_SELECT=500
|
||||
MAX_DEFAULT_PAGE_SIZE=8192
|
||||
MAX_EXPR_DEPTH=1000
|
||||
MAX_FUNCTION_ARG=1000
|
||||
MAX_LENGTH=1000000000
|
||||
MAX_LIKE_PATTERN_LENGTH=50000
|
||||
MAX_MMAP_SIZE=0x7fff0000
|
||||
MAX_PAGE_COUNT=0xfffffffe
|
||||
MAX_PAGE_SIZE=65536
|
||||
MAX_SQL_LENGTH=1000000000
|
||||
MAX_TRIGGER_DEPTH=1000
|
||||
MAX_VARIABLE_NUMBER=32766
|
||||
MAX_VDBE_OP=250000000
|
||||
MAX_WORKER_THREADS=8
|
||||
MUTEX_PTHREADS
|
||||
SYSTEM_MALLOC
|
||||
TEMP_STORE=1
|
||||
THREADSAFE=1
|
||||
a|-1.22205673123434e+18|-1.22205673123434e+18
|
||||
b|0|0
|
||||
5|0|9
|
||||
5|0|9
|
||||
5|0|9
|
||||
5
|
||||
a|b|-
|
||||
a|c|-1.22205673123434e+18
|
||||
b|b|4.75
|
||||
```
|
||||
|
||||
## Flag
|
||||
|
||||
```
|
||||
|
||||
```
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,43 @@
|
||||
## 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 TABLE t1(a, b);
|
||||
CREATE /* CHAR(10) */ INDEX i1 ON t1(a);
|
||||
INSERT INTO t1 VALUES('aaa', tanh(timediff(sign(0), 1)));
|
||||
INSERT INTO t1 VALUES('ddd', 2);
|
||||
INSERT INTO t1 VALUES('ccc', 3);
|
||||
INSERT INTO t1 VALUES('eee', 4);
|
||||
SELECT b FROM t1 WHERE a IN ('aaa', 'bbb', 'ccc');
|
||||
SELECT a FROM t1 WHERE rowid IN (1, 3);
|
||||
|
||||
ALTER TABLE t1 DROP COLUMN b;
|
||||
CREATE INDEX IF NOT EXISTS idx_t1_9614 ON t1(a COLLATE NOCASE) WHERE a IS NOT NULL;
|
||||
SELECT * FROM t1;
|
||||
```
|
||||
|
||||
## Actual output
|
||||
|
||||
```sql
|
||||
3
|
||||
ddd
|
||||
eee
|
||||
ddd
|
||||
ccc
|
||||
eee
|
||||
```
|
||||
|
||||
## Expectation
|
||||
|
||||
```sql
|
||||
|
||||
```
|
||||
|
||||
## Flag
|
||||
|
||||
```
|
||||
|
||||
```
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,71 @@
|
||||
## 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
|
||||
.timer on
|
||||
CREATE TEMPORARY TABLE t0(x, y, z);
|
||||
SELECT -99999999999999999999999999999999999999999999999999;
|
||||
SELECT * FROM sqlite_temp_master WHERE sql GLOB '000[]***';
|
||||
DROP TABLE t0;
|
||||
BEGIN IMMEDIATE;
|
||||
.exit -log10(radians(json_group_object('k', -(-(1)))))
|
||||
PRAGMA read_uncommitted;
|
||||
PRAGMA ignore_check_constraints = YES;
|
||||
PRAGMA legacy_alter_table;
|
||||
.parameter
|
||||
CREATE TABLE t1(a, b, c, d);
|
||||
CREATE UNIQUE INDEX i1 ON t1(b, c);
|
||||
CREATE UNIQUE INDEX i2 ON t1(d COLLATE nocase);
|
||||
CREATE TABLE t2(x DECIMAL(10,5) PRIMARY KEY, y);
|
||||
CREATE TABLE t3(c1 PRIMARY KEY NOT NULL, c2 NOT NULL);
|
||||
CREATE INDEX i3 ON t3(c2);
|
||||
CREATE TABLE t4(a, b NOT NULL, c NOT NULL, d NOT NULL);
|
||||
CREATE UNIQUE INDEX t4i1 ON t4(b, c);
|
||||
CREATE UNIQUE INDEX t4i2 ON t4(d COLLATE nocase);
|
||||
SELECT DISTINCT c FROM t1 WHERE NOT b = ?;
|
||||
SELECT DISTINCT c FROM t1 WHERE b IN (1,2);
|
||||
SELECT DISTINCT a, b, c COLLATE nocase FROM t1
|
||||
|
||||
PRAGMA integrity_check("users");
|
||||
CREATE UNIQUE INDEX IF NOT EXISTS idx_t1_5148 ON t1(lower(c)) WHERE c > 0;
|
||||
SELECT * FROM t1;
|
||||
COMMIT;
|
||||
SELECT COUNT(b) FROM t1;
|
||||
INSERT INTO t2 DEFAULT VALUES;
|
||||
WITH cte AS (SELECT * FROM t4) SELECT * FROM cte WHERE c > 0 UNION ALL SELECT * FROM cte WHERE c <= 0;
|
||||
CREATE TEMP VIEW IF NOT EXISTS v_t1_244 AS SELECT c FROM t1;
|
||||
INSERT INTO t1 SELECT * FROM t1;
|
||||
ALTER TABLE t2 RENAME TO t2_r6544;
|
||||
INSERT INTO t4 SELECT * FROM t4;
|
||||
```
|
||||
|
||||
## Actual output
|
||||
|
||||
```sql
|
||||
Run Time: real 0.000 user 0.000321 sys 0.000000
|
||||
-1.0e+50
|
||||
Run Time: real 0.000 user 0.000015 sys 0.000000
|
||||
Run Time: real 0.000 user 0.000023 sys 0.000000
|
||||
Run Time: real 0.000 user 0.000101 sys 0.000000
|
||||
Run Time: real 0.000 user 0.000004 sys 0.000000
|
||||
```
|
||||
|
||||
## Expectation
|
||||
|
||||
```sql
|
||||
Run Time: real 0.000130 user 0.000135 sys 0.000000
|
||||
-1.0e+50
|
||||
Run Time: real 0.000009 user 0.000009 sys 0.000000
|
||||
Run Time: real 0.000011 user 0.000011 sys 0.000000
|
||||
Run Time: real 0.000060 user 0.000059 sys 0.000000
|
||||
Run Time: real 0.000003 user 0.000003 sys 0.000000
|
||||
```
|
||||
|
||||
## Flag
|
||||
|
||||
```
|
||||
|
||||
```
|
||||
|
||||
@@ -0,0 +1,515 @@
|
||||
## 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 writable_schema = '|';
|
||||
.schema @@@@@@@@@@@@@@@@
|
||||
PRAGMA vdbe_debug = YES;
|
||||
ATTACH DATABASE ':memory:' AS aux63;
|
||||
ATTACH DATABASE ':memory:' AS aux96;
|
||||
DROP TABLE IF EXISTS t1;
|
||||
CREATE TABLE t1(w INT, x INT);
|
||||
INSERT INTO t1(w,x) VALUES(format(NULL, 2.718281828459045),10),(2,20),(3,30), (2,21),(3,31), (3,32);
|
||||
CREATE INDEX t1wx ON t1(w,x);
|
||||
|
||||
DROP TABLE IF EXISTS t2;
|
||||
CREATE TABLE t2(w INT, y VARCHAR(8));
|
||||
INSERT INTO t2(w,y) VALUES(1,'one'),(2,'two'),(3,'three'),(4,'four');
|
||||
CREATE INDEX t2wy ON t2(w,y);
|
||||
|
||||
WITH _m AS MATERIALIZED (SELECT * FROM t2) SELECT cnt, xyz, (SELECT y FROM _m WHERE +w=cnt), '|' FROM (SELECT count(*) AS cnt, w AS xyz FROM t1 GROUP BY 2) ORDER BY cnt, xyz;
|
||||
SELECT cnt, xyz, lower((SELECT y FROM t2 WHERE w=cnt)), '|' FROM (SELECT count(*) AS cnt, w AS xyz FROM t1 GROUP BY 2) ORDER BY cnt, xyz;
|
||||
SELECT cnt, xyz, CASE WHEN (SELECT y FROM t2 WHERE w=cnt)=='two' THEN 'aaa' ELSE 'bbb' END, '|' FROM (SELECT count(*) AS cnt, w AS xyz FROM t1 GROUP BY 2) ORDER BY +cnt;
|
||||
|
||||
DETACH DATABASE aux96;
|
||||
|
||||
SELECT COUNT(*) FROM t1;
|
||||
ALTER TABLE t2 ADD COLUMN extra_1857 MEDIUMINT DEFAULT NULL;
|
||||
UPDATE t1 SET w = CURRENT_TIMESTAMP WHERE rowid = 1;
|
||||
DETACH DATABASE aux63;
|
||||
DELETE FROM t1 WHERE x > (SELECT AVG(x) FROM t1) RETURNING *;
|
||||
SELECT STRING_AGG(x, '|') FROM t1;
|
||||
REINDEX;
|
||||
INSERT INTO t1 VALUES (NULL, NULL);
|
||||
DROP TRIGGER IF EXISTS t2;
|
||||
DROP TRIGGER /* .restore */ IF EXISTS t1;
|
||||
SELECT * FROM t2 AS a LEFT OUTER JOIN t1 AS b ON a.rowid = b.rowid;
|
||||
ANALYZE;
|
||||
SELECT * FROM t2 WHERE EXISTS (SELECT 1 FROM t2 WHERE EXISTS (SELECT 1 FROM t2));
|
||||
WITH cte AS (SELECT * FROM t1 WHERE x = (SELECT MAX(x) FROM t1)) SELECT * FROM cte;
|
||||
INSERT INTO t1 DEFAULT VALUES;
|
||||
CREATE INDEX IF NOT EXISTS idx_t2_9622 ON t2(y) WHERE y IS NOT NULL;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_t2_942 AFTER DELETE ON t2 BEGIN SELECT RAISE(IGNORE); END;
|
||||
ALTER TABLE t2 RENAME COLUMN y TO y_r7009;
|
||||
PRAGMA writable_schema = '|';
|
||||
.schema @@@@@@@@@@@@@@@@
|
||||
PRAGMA vdbe_debug = YES;
|
||||
ATTACH DATABASE ':memory:' AS aux63;
|
||||
ATTACH DATABASE ':memory:' AS aux96;
|
||||
DROP TABLE IF EXISTS t1;
|
||||
CREATE TABLE t1(w INT, x INT);
|
||||
INSERT INTO t1(w,x) VALUES(format(NULL, 144337552170438577),10),(2,20),(3,30), (2,21),(3,31), (3,32);
|
||||
CREATE INDEX t1wx ON t1(w,x);
|
||||
|
||||
DROP TABLE IF EXISTS t2;
|
||||
CREATE TABLE t2(w INT, y VARCHAR(8));
|
||||
INSERT INTO t2(w,y) VALUES(1,'one'),(2,'two'),(3,'three'),(4,'four');
|
||||
CREATE INDEX t2wy ON t2(w,y);
|
||||
|
||||
WITH _m AS MATERIALIZED (SELECT * FROM t2) SELECT cnt, xyz, (SELECT y FROM _m WHERE w=cnt), '|' FROM (SELECT count(*) AS cnt, w AS xyz FROM t1 GROUP BY 2) ORDER BY cnt, xyz;
|
||||
SELECT cnt, xyz, lower((SELECT y FROM t2 WHERE w=cnt)), '|' FROM (SELECT count(*) AS cnt, w AS xyz FROM t1 GROUP BY 2) ORDER BY cnt, xyz;
|
||||
SELECT cnt, xyz, CASE WHEN (SELECT y FROM t2 WHERE w=cnt)=='two' THEN 'aaa' ELSE 'bbb' END, '|' FROM (SELECT count(*) AS cnt, w AS xyz FROM t1 GROUP BY 2) ORDER BY +cnt;
|
||||
|
||||
DETACH DATABASE aux96;
|
||||
|
||||
SELECT COUNT(*) FROM t1;
|
||||
ALTER TABLE t2 ADD COLUMN extra_1857 MEDIUMINT DEFAULT NULL;
|
||||
UPDATE t1 SET w = CURRENT_TIMESTAMP WHERE rowid = 1;
|
||||
DETACH DATABASE aux63;
|
||||
DELETE FROM t1 WHERE x > (SELECT AVG(x) FROM t1) RETURNING *;
|
||||
SELECT STRING_AGG(x, '|') FROM t1;
|
||||
REINDEX;
|
||||
INSERT INTO t1 VALUES (NULL, NULL);
|
||||
DROP TRIGGER IF EXISTS t2;
|
||||
DROP TRIGGER /* .restore */ IF EXISTS t1;
|
||||
SELECT * FROM t2 AS a LEFT OUTER JOIN t1 AS b ON a.rowid = b.rowid;
|
||||
ANALYZE;
|
||||
SELECT * FROM t2 WHERE EXISTS (SELECT 1 FROM t2 WHERE EXISTS (SELECT 1 FROM t2));
|
||||
WITH cte AS (SELECT * FROM t1 WHERE x = (SELECT MAX(x) FROM t1)) SELECT * FROM cte;
|
||||
INSERT INTO t1 DEFAULT VALUES;
|
||||
CREATE INDEX IF NOT EXISTS idx_t2_9622 ON t2(y) WHERE y IS NOT NULL;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_t2_942 AFTER DELETE ON t2 BEGIN SELECT RAISE(IGNORE); END;
|
||||
ALTER TABLE t2 RENAME COLUMN y TO y_r7009;
|
||||
PRAGMA writable_schema = '|';
|
||||
.schema @@@@@@@@@@@@@@@@
|
||||
PRAGMA vdbe_debug = YES;
|
||||
ATTACH DATABASE ':memory:' AS aux63;
|
||||
ATTACH DATABASE ':memory:' AS aux96;
|
||||
DROP TABLE IF EXISTS t1;
|
||||
CREATE TABLE t1(w INT, x INT);
|
||||
INSERT INTO t1(w,x) VALUES(format(NULL, 144337552170438577),10),(2,20),(3,30), (2,21),(3,31), (3,32);
|
||||
CREATE INDEX t1wx ON t1(w,x);
|
||||
|
||||
DROP TABLE IF EXISTS t2;
|
||||
CREATE TABLE t2(w INT, y VARCHAR(8));
|
||||
INSERT INTO t2(w,y) VALUES(1,'one'),(2,'two'),(3,'three'),(4,'four');
|
||||
CREATE INDEX t2wy ON t2(w,y);
|
||||
|
||||
WITH _m AS MATERIALIZED (SELECT * FROM t2) SELECT cnt, xyz, (SELECT y FROM _m WHERE w=cnt), '|' FROM (SELECT count(*) AS cnt, w AS xyz FROM t1 GROUP BY 2) ORDER BY cnt, xyz;
|
||||
SELECT cnt, xyz, lower((SELECT y FROM t2 WHERE w=cnt)), '|' FROM (SELECT count(*) AS cnt, w AS xyz FROM t1 GROUP BY 2) ORDER BY cnt, xyz;
|
||||
SELECT cnt, xyz, CASE WHEN (SELECT y FROM t2 WHERE w=cnt)=='two' THEN 'aaa' ELSE 'bbb' END, '|' FROM (SELECT count(*) AS cnt, w AS xyz FROM t1 GROUP BY 2) ORDER BY +cnt;
|
||||
|
||||
DETACH DATABASE aux96;
|
||||
|
||||
SELECT COUNT(*) FROM t1;
|
||||
ALTER TABLE t2 ADD COLUMN extra_1857 MEDIUMINT DEFAULT NULL;
|
||||
UPDATE t1 SET w = CURRENT_TIMESTAMP WHERE rowid = 1;
|
||||
DETACH DATABASE aux63;
|
||||
DELETE FROM t1 WHERE x > (SELECT AVG(x) FROM t1) RETURNING *;
|
||||
SELECT STRING_AGG(x, '|') FROM t1;
|
||||
REINDEX;
|
||||
INSERT INTO t1 VALUES (NULL, NULL);
|
||||
DROP TRIGGER IF EXISTS t2;
|
||||
DROP TRIGGER /* .restore */ IF EXISTS t1;
|
||||
SELECT * FROM t2 AS a LEFT OUTER JOIN t1 AS b ON a.rowid = b.rowid;
|
||||
ANALYZE;
|
||||
SELECT * FROM t2 WHERE EXISTS (SELECT 1 FROM t2 WHERE EXISTS (SELECT 1 FROM t2));
|
||||
WITH cte AS (SELECT * FROM t1 WHERE x = (SELECT MAX(x) FROM t1)) SELECT * FROM cte;
|
||||
INSERT INTO t1 DEFAULT VALUES;
|
||||
CREATE INDEX IF NOT EXISTS idx_t2_9622 ON t2(y) WHERE y IS NOT NULL;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_t2_942 AFTER DELETE ON t2 BEGIN SELECT RAISE(IGNORE); END;
|
||||
ALTER TABLE t2 RENAME COLUMN y TO y_r7009;
|
||||
PRAGMA writable_schema = '|';
|
||||
.schema @@@@@@@@@@@@@@@@
|
||||
PRAGMA vdbe_debug = YES;
|
||||
ATTACH DATABASE ':memory:' AS aux63;
|
||||
ATTACH DATABASE ':memory:' AS aux96;
|
||||
DROP TABLE IF EXISTS t1;
|
||||
CREATE TABLE t1(w INT, x INT);
|
||||
INSERT INTO t1(w,x) VALUES(format(NULL, 144337552170438577),10),(2,20),(3,30), (2,21),(3,31), (3,32);
|
||||
CREATE INDEX t1wx ON t1(w,x);
|
||||
|
||||
DROP TABLE IF EXISTS t2;
|
||||
CREATE TABLE t2(w INT, y VARCHAR(8));
|
||||
INSERT INTO t2(w,y) VALUES(1,'one'),(2,'two'),(3,'three'),(4,'four');
|
||||
CREATE INDEX t2wy ON t2(w,y);
|
||||
|
||||
WITH _m AS MATERIALIZED (SELECT * FROM t2) SELECT cnt, xyz, (SELECT y FROM _m WHERE w=cnt), '|' FROM (SELECT count(*) AS cnt, w AS xyz FROM t1 GROUP BY 2) ORDER BY cnt, xyz;
|
||||
SELECT cnt, xyz, lower((SELECT y FROM t2 WHERE w=cnt)), '|' FROM (SELECT count(*) AS cnt, w AS xyz FROM t1 GROUP BY 2) ORDER BY cnt, xyz;
|
||||
SELECT cnt, xyz, CASE WHEN (SELECT y FROM t2 WHERE w=cnt)=='two' THEN 'aaa' ELSE 'bbb' END, '|' FROM (SELECT count(*) AS cnt, w AS xyz FROM t1 GROUP BY 2) ORDER BY +cnt;
|
||||
|
||||
DETACH DATABASE aux96;
|
||||
|
||||
SELECT COUNT(*) FROM t1;
|
||||
ALTER TABLE t2 ADD COLUMN extra_1857 MEDIUMINT DEFAULT NULL;
|
||||
UPDATE t1 SET w = CURRENT_TIMESTAMP WHERE rowid = 1;
|
||||
DETACH DATABASE aux63;
|
||||
DELETE FROM t1 WHERE x > (SELECT AVG(x) FROM t1) RETURNING *;
|
||||
SELECT STRING_AGG(x, '|') FROM t1;
|
||||
REINDEX;
|
||||
INSERT INTO t1 VALUES (NULL, NULL);
|
||||
DROP TRIGGER IF EXISTS t2;
|
||||
DROP TRIGGER /* .restore */ IF EXISTS t1;
|
||||
SELECT * FROM t2 AS a LEFT OUTER JOIN t1 AS b ON a.rowid = b.rowid;
|
||||
ANALYZE;
|
||||
SELECT * FROM t2 WHERE EXISTS (SELECT 1 FROM t2 WHERE EXISTS (SELECT 1 FROM t2));
|
||||
WITH cte AS (SELECT * FROM t1 WHERE x = (SELECT MAX(x) FROM t1)) SELECT * FROM cte;
|
||||
INSERT INTO t1 DEFAULT VALUES;
|
||||
CREATE INDEX IF NOT EXISTS idx_t2_9622 ON t2(y) WHERE y IS NOT NULL;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_t2_942 AFTER DELETE ON t2 BEGIN SELECT RAISE(IGNORE); END;
|
||||
ALTER TABLE t2 RENAME COLUMN y TO y_r7009;
|
||||
PRAGMA writable_schema = '|';
|
||||
.schema @@@@@@@@@@@@@@@@
|
||||
PRAGMA vdbe_debug = YES;
|
||||
ATTACH DATABASE ':memory:' AS aux63;
|
||||
ATTACH DATABASE ':memory:' AS aux96;
|
||||
DROP TABLE IF EXISTS t1;
|
||||
CREATE TABLE t1(w INT, x INT);
|
||||
INSERT INTO t1(w,x) VALUES(format(NULL, 144337552170438577),10),(2,20),(3,30), (2,21),(3,31), (3,32);
|
||||
CREATE INDEX t1wx ON t1(w,x);
|
||||
|
||||
DROP TABLE IF EXISTS t2;
|
||||
CREATE TABLE t2(w INT, y VARCHAR(8));
|
||||
INSERT INTO t2(w,y) VALUES(1,'one'),(2,'two'),(3,'three'),(4,'four');
|
||||
CREATE INDEX t2wy ON t2(w,y);
|
||||
|
||||
WITH _m AS MATERIALIZED (SELECT * FROM t2) SELECT cnt, xyz, (SELECT y FROM _m WHERE w=cnt), '|' FROM (SELECT count(*) AS cnt, w AS xyz FROM t1 GROUP BY 2) ORDER BY cnt, xyz;
|
||||
SELECT cnt, xyz, lower((SELECT y FROM t2 WHERE w=cnt)), '|' FROM (SELECT count(*) AS cnt, w AS xyz FROM t1 GROUP BY 2) ORDER BY cnt, xyz;
|
||||
SELECT cnt, xyz, CASE WHEN (SELECT y FROM t2 WHERE w=cnt)=='two' THEN 'aaa' ELSE 'bbb' END, '|' FROM (SELECT count(*) AS cnt, w AS xyz FROM t1 GROUP BY 2) ORDER BY +cnt;
|
||||
|
||||
DETACH DATABASE aux96;
|
||||
|
||||
SELECT COUNT(*) FROM t1;
|
||||
ALTER TABLE t2 ADD COLUMN extra_1857 MEDIUMINT DEFAULT NULL;
|
||||
UPDATE t1 SET w = CURRENT_TIMESTAMP WHERE rowid = 1;
|
||||
DETACH DATABASE aux63;
|
||||
DELETE FROM t1 WHERE x > (SELECT AVG(x) FROM t1) RETURNING *;
|
||||
SELECT STRING_AGG(x, '|') FROM t1;
|
||||
REINDEX;
|
||||
INSERT INTO t1 VALUES (NULL, NULL);
|
||||
DROP TRIGGER IF EXISTS t2;
|
||||
DROP TRIGGER /* .restore */ IF EXISTS t1;
|
||||
SELECT * FROM t2 AS a LEFT OUTER JOIN t1 AS b ON a.rowid = b.rowid;
|
||||
ANALYZE;
|
||||
SELECT * FROM t2 WHERE EXISTS (SELECT 1 FROM t2 WHERE EXISTS (SELECT 1 FROM t2));
|
||||
WITH cte AS (SELECT * FROM t1 WHERE x = (SELECT MAX(x) FROM t1)) SELECT * FROM cte;
|
||||
INSERT INTO t1 DEFAULT VALUES;
|
||||
CREATE INDEX IF NOT EXISTS idx_t2_9622 ON t2(y) WHERE y IS NOT NULL;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_t2_942 AFTER DELETE ON t2 BEGIN SELECT RAISE(IGNORE); END;
|
||||
ALTER TABLE t2 RENAME COLUMN y TO y_r7009;
|
||||
PRAGMA writable_schema = '|';
|
||||
.schema @@@@@@@@@@@@@@@@
|
||||
PRAGMA vdbe_debug = YES;
|
||||
ATTACH DATABASE ':memory:' AS aux63;
|
||||
ATTACH DATABASE ':memory:' AS aux96;
|
||||
DROP TABLE IF EXISTS t1;
|
||||
CREATE TABLE t1(w INT, x INT);
|
||||
INSERT INTO t1(w,x) VALUES(format(NULL, 144337552170438577),10),(2,20),(3,30), (2,21),(3,31), (3,32);
|
||||
CREATE INDEX t1wx ON t1(w,x);
|
||||
|
||||
DROP TABLE IF EXISTS t2;
|
||||
CREATE TABLE t2(w INT, y VARCHAR(8));
|
||||
INSERT INTO t2(w,y) VALUES(1,'one'),(2,'two'),(3,'three'),(4,'four');
|
||||
CREATE INDEX t2wy ON t2(w,y);
|
||||
|
||||
WITH _m AS MATERIALIZED (SELECT * FROM t2) SELECT cnt, xyz, (SELECT y FROM _m WHERE w=cnt), '|' FROM (SELECT count(*) AS cnt, w AS xyz FROM t1 GROUP BY 2) ORDER BY cnt, xyz;
|
||||
SELECT cnt, xyz, lower((SELECT y FROM t2 WHERE w=cnt)), '|' FROM (SELECT count(*) AS cnt, w AS xyz FROM t1 GROUP BY 2) ORDER BY cnt, xyz;
|
||||
SELECT cnt, xyz, CASE WHEN (SELECT y FROM t2 WHERE w=cnt)=='two' THEN 'aaa' ELSE 'bbb' END, '|' FROM (SELECT count(*) AS cnt, w AS xyz FROM t1 GROUP BY 2) ORDER BY +cnt;
|
||||
|
||||
DETACH DATABASE aux96;
|
||||
|
||||
SELECT COUNT(*) FROM t1;
|
||||
ALTER TABLE t2 ADD COLUMN extra_1857 MEDIUMINT DEFAULT NULL;
|
||||
UPDATE t1 SET w = CURRENT_TIMESTAMP WHERE rowid = 1;
|
||||
DETACH DATABASE aux63;
|
||||
DELETE FROM t1 WHERE x > (SELECT AVG(x) FROM t1) RETURNING *;
|
||||
SELECT STRING_AGG(x, '|') FROM t1;
|
||||
REINDEX;
|
||||
INSERT INTO t1 VALUES (NULL, NULL);
|
||||
DROP TRIGGER IF EXISTS t2;
|
||||
DROP TRIGGER /* .restore */ IF EXISTS t1;
|
||||
SELECT * FROM t2 AS a LEFT OUTER JOIN t1 AS b ON a.rowid = b.rowid;
|
||||
ANALYZE;
|
||||
SELECT * FROM t2 WHERE EXISTS (SELECT 1 FROM t2 WHERE EXISTS (SELECT 1 FROM t2));
|
||||
WITH cte AS (SELECT * FROM t1 WHERE x = (SELECT MAX(x) FROM t1)) SELECT * FROM cte;
|
||||
INSERT INTO t1 DEFAULT VALUES;
|
||||
CREATE INDEX IF NOT EXISTS idx_t2_9622 ON t2(y) WHERE y IS NOT NULL;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_t2_942 AFTER DELETE ON t2 BEGIN SELECT RAISE(IGNORE); END;
|
||||
ALTER TABLE t2 RENAME COLUMN y TO y_r7009;
|
||||
PRAGMA writable_schema = '|';
|
||||
.schema @@@@@@@@@@@@@@@@
|
||||
PRAGMA vdbe_debug = YES;
|
||||
ATTACH DATABASE ':memory:' AS aux63;
|
||||
ATTACH DATABASE ':memory:' AS aux96;
|
||||
DROP TABLE IF EXISTS t1;
|
||||
CREATE TABLE t1(w INT, x INT);
|
||||
INSERT INTO t1(w,x) VALUES(format(NULL, 144337552170438577),10),(2,20),(3,30), (2,21),(3,31), (3,32);
|
||||
CREATE INDEX t1wx ON t1(w,x);
|
||||
|
||||
DROP TABLE IF EXISTS t2;
|
||||
CREATE TABLE t2(w INT, y VARCHAR(8));
|
||||
INSERT INTO t2(w,y) VALUES(1,'one'),(2,'two'),(3,'three'),(4,'four');
|
||||
CREATE INDEX t2wy ON t2(w,y);
|
||||
|
||||
WITH _m AS MATERIALIZED (SELECT * FROM t2) SELECT cnt, xyz, (SELECT y FROM _m WHERE w=cnt), '|' FROM (SELECT count(*) AS cnt, w AS xyz FROM t1 GROUP BY 2) ORDER BY cnt, xyz;
|
||||
SELECT cnt, xyz, lower((SELECT y FROM t2 WHERE w=cnt)), '|' FROM (SELECT count(*) AS cnt, w AS xyz FROM t1 GROUP BY 2) ORDER BY cnt, xyz;
|
||||
SELECT cnt, xyz, CASE WHEN (SELECT y FROM t2 WHERE w=cnt)=='two' THEN 'aaa' ELSE 'bbb' END, '|' FROM (SELECT count(*) AS cnt, w AS xyz FROM t1 GROUP BY 2) ORDER BY +cnt;
|
||||
|
||||
DETACH DATABASE aux96;
|
||||
|
||||
SELECT COUNT(*) FROM t1;
|
||||
ALTER TABLE t2 ADD COLUMN extra_1857 MEDIUMINT DEFAULT NULL;
|
||||
UPDATE t1 SET w = CURRENT_TIMESTAMP WHERE rowid = 1;
|
||||
DETACH DATABASE aux63;
|
||||
DELETE FROM t1 WHERE x > (SELECT AVG(x) FROM t1) RETURNING *;
|
||||
SELECT STRING_AGG(x, '|') FROM t1;
|
||||
REINDEX;
|
||||
INSERT INTO t1 VALUES (NULL, NULL);
|
||||
DROP TRIGGER IF EXISTS t2;
|
||||
DROP TRIGGER /* .restore */ IF EXISTS t1;
|
||||
SELECT * FROM t2 AS a LEFT OUTER JOIN t1 AS b ON a.rowid = b.rowid;
|
||||
ANALYZE;
|
||||
SELECT * FROM t2 WHERE EXISTS (SELECT 1 FROM t2 WHERE EXISTS (SELECT 1 FROM t2));
|
||||
WITH cte AS (SELECT * FROM t1 WHERE x = (SELECT MAX(x) FROM t1)) SELECT * FROM cte;
|
||||
INSERT INTO t1 DEFAULT VALUES;
|
||||
CREATE INDEX IF NOT EXISTS idx_t2_9622 ON t2(y) WHERE y IS NOT NULL;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_t2_942 AFTER DELETE ON t2 BEGIN SELECT RAISE(IGNORE); END;
|
||||
ALTER TABLE t2 RENAME COLUMN y TO y_r7009;
|
||||
PRAGMA writable_schema = '|';
|
||||
.schema @@@@@@@@@@@@@@@@
|
||||
PRAGMA vdbe_debug = YES;
|
||||
ATTACH DATABASE ':memory:' AS aux63;
|
||||
ATTACH DATABASE ':memory:' AS aux96;
|
||||
DROP TABLE IF EXISTS t1;
|
||||
CREATE TABLE t1(w INT, x INT);
|
||||
INSERT INTO t1(w,x) VALUES(format(NULL, 144337552170438577),10),(2,20),(3,30), (2,21),(3,31), (3,32);
|
||||
CREATE INDEX t1wx ON t1(w,x);
|
||||
|
||||
DROP TABLE IF EXISTS t2;
|
||||
CREATE TABLE t2(w INT, y VARCHAR(8));
|
||||
INSERT INTO t2(w,y) VALUES(1,'one'),(2,'two'),(3,'three'),(4,'four');
|
||||
CREATE INDEX t2wy ON t2(w,y);
|
||||
|
||||
WITH _m AS MATERIALIZED (SELECT * FROM t2) SELECT cnt, xyz, (SELECT y FROM _m WHERE w=cnt), '|' FROM (SELECT count(*) AS cnt, w AS xyz FROM t1 GROUP BY 2) ORDER BY cnt, xyz;
|
||||
SELECT cnt, xyz, lower((SELECT y FROM t2 WHERE w=cnt)), '|' FROM (SELECT count(*) AS cnt, w AS xyz FROM t1 GROUP BY 2) ORDER BY cnt, xyz;
|
||||
SELECT cnt, xyz, CASE WHEN (SELECT y FROM t2 WHERE w=cnt)=='two' THEN 'aaa' ELSE 'bbb' END, '|' FROM (SELECT count(*) AS cnt, w AS xyz FROM t1 GROUP BY 2) ORDER BY +cnt;
|
||||
|
||||
DETACH DATABASE aux96;
|
||||
|
||||
SELECT COUNT(*) FROM t1;
|
||||
ALTER TABLE t2 ADD COLUMN extra_1857 MEDIUMINT DEFAULT NULL;
|
||||
UPDATE t1 SET w = CURRENT_TIMESTAMP WHERE rowid = 1;
|
||||
DETACH DATABASE aux63;
|
||||
DELETE FROM t1 WHERE x > (SELECT AVG(x) FROM t1) RETURNING *;
|
||||
SELECT STRING_AGG(x, '|') FROM t1;
|
||||
REINDEX;
|
||||
INSERT INTO t1 VALUES (NULL, NULL);
|
||||
DROP TRIGGER IF EXISTS t2;
|
||||
DROP TRIGGER /* .restore */ IF EXISTS t1;
|
||||
SELECT * FROM t2 AS a LEFT OUTER JOIN t1 AS b ON a.rowid = b.rowid;
|
||||
ANALYZE;
|
||||
SELECT * FROM t2 WHERE EXISTS (SELECT 1 FROM t2 WHERE EXISTS (SELECT 1 FROM t2));
|
||||
WITH cte AS (SELECT * FROM t1 WHERE x = (SELECT MAX(x) FROM t1)) SELECT * FROM cte;
|
||||
INSERT INTO t1 DEFAULT VALUES;
|
||||
CREATE INDEX IF NOT EXISTS idx_t2_9622 ON t2(y) WHERE y IS NOT NULL;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_t2_942 AFTER DELETE ON t2 BEGIN SELECT RAISE(IGNORE); END;
|
||||
ALTER TABLE t2 RENAME COLUMN y TO y_r7009;
|
||||
|
||||
ALTER TABLE t1 RENAME TO t1_r3903;
|
||||
```
|
||||
|
||||
## Actual output
|
||||
|
||||
```sql
|
||||
1||one||
|
||||
2|2|two||
|
||||
3|3|three||
|
||||
1||one||
|
||||
2|2|two||
|
||||
3|3|three||
|
||||
1||bbb||
|
||||
2|2|aaa||
|
||||
3|3|bbb||
|
||||
6
|
||||
3|30
|
||||
3|31
|
||||
3|32
|
||||
1|one||2026-05-15 11:39:33|10
|
||||
2|two||2|20
|
||||
3|three|||
|
||||
4|four||2|21
|
||||
1|one|
|
||||
2|two|
|
||||
3|three|
|
||||
4|four|
|
||||
2|21
|
||||
1||one||
|
||||
2|2|two||
|
||||
3|3|three||
|
||||
1||one||
|
||||
2|2|two||
|
||||
3|3|three||
|
||||
1||bbb||
|
||||
2|2|aaa||
|
||||
3|3|bbb||
|
||||
6
|
||||
3|30
|
||||
3|31
|
||||
3|32
|
||||
1|one||2026-05-15 11:39:33|10
|
||||
2|two||2|20
|
||||
3|three|||
|
||||
4|four||2|21
|
||||
1|one|
|
||||
2|two|
|
||||
3|three|
|
||||
4|four|
|
||||
2|21
|
||||
1||one||
|
||||
2|2|two||
|
||||
3|3|three||
|
||||
1||one||
|
||||
2|2|two||
|
||||
3|3|three||
|
||||
1||bbb||
|
||||
2|2|aaa||
|
||||
3|3|bbb||
|
||||
6
|
||||
3|30
|
||||
3|31
|
||||
3|32
|
||||
1|one||2026-05-15 11:39:33|10
|
||||
2|two||2|20
|
||||
3|three|||
|
||||
4|four||2|21
|
||||
1|one|
|
||||
2|two|
|
||||
3|three|
|
||||
4|four|
|
||||
2|21
|
||||
1||one||
|
||||
2|2|two||
|
||||
3|3|three||
|
||||
1||one||
|
||||
2|2|two||
|
||||
3|3|three||
|
||||
1||bbb||
|
||||
2|2|aaa||
|
||||
3|3|bbb||
|
||||
6
|
||||
3|30
|
||||
3|31
|
||||
3|32
|
||||
1|one||2026-05-15 11:39:33|10
|
||||
2|two||2|20
|
||||
3|three|||
|
||||
4|four||2|21
|
||||
1|one|
|
||||
2|two|
|
||||
3|three|
|
||||
4|four|
|
||||
2|21
|
||||
1||one||
|
||||
2|2|two||
|
||||
3|3|three||
|
||||
1||one||
|
||||
2|2|two||
|
||||
3|3|three||
|
||||
1||bbb||
|
||||
2|2|aaa||
|
||||
3|3|bbb||
|
||||
6
|
||||
3|30
|
||||
3|31
|
||||
3|32
|
||||
1|one||2026-05-15 11:39:33|10
|
||||
2|two||2|20
|
||||
3|three|||
|
||||
4|four||2|21
|
||||
1|one|
|
||||
2|two|
|
||||
3|three|
|
||||
4|four|
|
||||
2|21
|
||||
1||one||
|
||||
2|2|two||
|
||||
3|3|three||
|
||||
1||one||
|
||||
2|2|two||
|
||||
3|3|three||
|
||||
1||bbb||
|
||||
2|2|aaa||
|
||||
3|3|bbb||
|
||||
6
|
||||
3|30
|
||||
3|31
|
||||
3|32
|
||||
1|one||2026-05-15 11:39:33|10
|
||||
2|two||2|20
|
||||
3|three|||
|
||||
4|four||2|21
|
||||
1|one|
|
||||
2|two|
|
||||
3|three|
|
||||
4|four|
|
||||
2|21
|
||||
1||one||
|
||||
2|2|two||
|
||||
3|3|three||
|
||||
1||one||
|
||||
2|2|two||
|
||||
3|3|three||
|
||||
1||bbb||
|
||||
2|2|aaa||
|
||||
3|3|bbb||
|
||||
6
|
||||
3|30
|
||||
3|31
|
||||
3|32
|
||||
1|one||2026-05-15 11:39:33|10
|
||||
2|two||2|20
|
||||
3|three|||
|
||||
4|four||2|21
|
||||
1|one|
|
||||
2|two|
|
||||
3|three|
|
||||
4|four|
|
||||
2|21
|
||||
1||one||
|
||||
2|2|two||
|
||||
3|3|three||
|
||||
1||one||
|
||||
2|2|two||
|
||||
3|3|three||
|
||||
1||bbb||
|
||||
2|2|aaa||
|
||||
3|3|bbb||
|
||||
6
|
||||
3|30
|
||||
3|31
|
||||
3|32
|
||||
1|one||2026-05-15 11:39:33|10
|
||||
2|two||2|20
|
||||
3|three|||
|
||||
4|four||2|21
|
||||
1|one|
|
||||
2|two|
|
||||
3|three|
|
||||
4|four|
|
||||
2|21
|
||||
```
|
||||
|
||||
## Expectation
|
||||
|
||||
```sql
|
||||
|
||||
```
|
||||
|
||||
## Flag
|
||||
|
||||
```
|
||||
|
||||
```
|
||||
|
||||
@@ -0,0 +1,604 @@
|
||||
## 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
|
||||
ATTACH DATABASE ':memory:' AS aux86;
|
||||
PRAGMA function_list;
|
||||
.exit
|
||||
ATTACH DATABASE '' || (':memory:') AS aux5;
|
||||
.output
|
||||
PRAGMA full_column_names = unistr(NULL);
|
||||
.shell pwd
|
||||
BEGIN EXCLUSIVE;
|
||||
.quit
|
||||
PRAGMA full_column_names;
|
||||
PRAGMA integrity_check(load_extension(json_valid(-'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx', -(-(NULL)))));
|
||||
PRAGMA max_page_count = 5000000;
|
||||
.backup
|
||||
CREATE TABLE t1(a DOUBLE PRECISION, b INTEGER PRIMARY KEY, c BLOB, FOREIGN KEY (b) REFERENCES t2);
|
||||
CREATE TABLE t2(c, d, e);
|
||||
insErT INTO t1 VALUES(1, 2, 3);
|
||||
ALTER TABLE t1 RENAME COLUMN b TO d;
|
||||
CREATE TABLE t3(a, b, c, d, e, f, g, h, i, j, k, l, m, FOREIGN KEY (b, c, d, e, f, g, h, i, j, k, l, m) REFERENCES main.t4);
|
||||
CREATE TABLE t4(x, y, z);
|
||||
INSERT INTO t4 VALUES(3, 2, 1);
|
||||
|
||||
SELECT * FROM t1 WHERE NOT NOT (NOT a > /* .changes */ ALL (SELECT a FROM t1)) ;
|
||||
COMMIT;
|
||||
ALTER TABLE t4 ADD COLUMN extra_8043 CLOB COLLATE RTRIM;
|
||||
VACUUM;
|
||||
|
||||
SELECT COUNT(*) FROM t3;
|
||||
PRAGMA foreign_keys = 1;
|
||||
WITH cte(a, b, c) AS (SELECT d, d, d FROM t2) SELECT a, b, c FROM cte;
|
||||
SELECT * FROM (SELECT * FROM (SELECT * FROM t3) AS inner1) AS inner2;
|
||||
SELECT STRING_AGG(x) FROM t4;
|
||||
WITH RECURSIVE fib(a,b,n) AS (VALUES(1,1,1) UNION ALL SELECT b, a+b, n+1 FROM fib WHERE +n<82) SELECT a, n FROM fib;
|
||||
PRAGMA recursive_triggers = NO;
|
||||
VACUUM;
|
||||
DELETE FROM t2 WHERE c IS NULL RETURNING *;
|
||||
SELECT * FROM t3 AS a JOIN t2 AS b ON a.rowid = b.rowid;
|
||||
INSERT INTO t3 VALUES ('x', 'x', NULL, 'x', 'x', NULL, NULL, 'x', 'x', NULL, 1, NULL, 'x') ON CONFLICT(a) DO UPDATE SET a = excluded.a, b = excluded.b, c = excluded.c;
|
||||
CREATE VIEW IF NOT EXISTS v_t3_25 AS SELECT f FROM t3;
|
||||
CREATE TEMPORARY VIEW IF NOT EXISTS v_t2_5761 AS SELECT d FROM t2;
|
||||
VACUUM;
|
||||
WITH RECURSIVE cnt(x) AS (VALUES(0) UNION ALL SELECT x-1 FROM cnt WHERE +x>-61) SELECT * FROM cnt;
|
||||
|
||||
SELECT COUNT(*) FROM t2;
|
||||
SELECT x, (SELECT MAX(x) FROM t4) AS max_val FROM t4;
|
||||
ALTER TABLE t2 RENAME TO t2_r4493;
|
||||
REINDEX;
|
||||
DETACH DATABASE aux5;
|
||||
|
||||
SELECT COUNT(*) FROM t1;
|
||||
VACUUM;
|
||||
ALTER TABLE t2 DROP COLUMN e;
|
||||
ALTER TABLE t1 RENAME TO t1_r2401;
|
||||
INSERT AND REPLACE INTO t1 VALUES ('', 'x', -7);
|
||||
SELECT COUNT(c) FROM t2;
|
||||
PRAGMA vdbe_addoptrace = 0;
|
||||
DROP TABLE IF EXISTS t1;
|
||||
SELECT LAG(z, 0, 'default') OVER (ORDER BY z ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW EXCLUDE TIES) FROM t4;
|
||||
DELETE FROM t3 WHERE rowid = 56 RETURNING *;
|
||||
INSERT INTO t2 VALUES ('x', 'x', 1) ON CONFLICT(c) DO UPDATE SET c = excluded.c, d = excluded.d, e = excluded.e;
|
||||
UPDATE t2 SET e = NULL RETURNING *;
|
||||
PRAGMA function_list;
|
||||
.exit
|
||||
ATTACH DATABASE '' || (':memory:') AS aux5;
|
||||
.output
|
||||
PRAGMA full_column_names = unistr(NULL);
|
||||
.shell pwd
|
||||
BEGIN EXCLUSIVE;
|
||||
.quit
|
||||
PRAGMA full_column_names;
|
||||
PRAGMA integrity_check(load_extension(json_valid(-'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx', -(-(0.0)))));
|
||||
PRAGMA max_page_count = 5000000;
|
||||
.backup
|
||||
CREATE TABLE t1(a DOUBLE PRECISION, b INTEGER PRIMARY KEY, c BLOB, FOREIGN KEY (b) REFERENCES t2);
|
||||
CREATE TABLE t2(c, d, e);
|
||||
insErT INTO t1 VALUES(1, 2, 3);
|
||||
ALTER TABLE t1 RENAME COLUMN b TO d;
|
||||
CREATE TABLE t3(a, b, c, d, e, f, g, h, i, j, k, l, m, FOREIGN KEY (b, c, d, e, f, g, h, i, j, k, l, m) REFERENCES main.t4);
|
||||
CREATE TABLE t4(x, y, z);
|
||||
INSERT INTO t4 VALUES(3, 2, 1);
|
||||
|
||||
SELECT * FROM t1 WHERE NOT NOT (NOT a > /* .changes */ ALL (SELECT a FROM t1)) ;
|
||||
COMMIT;
|
||||
ALTER TABLE t4 ADD COLUMN extra_8043 CLOB COLLATE RTRIM;
|
||||
VACUUM;
|
||||
|
||||
SELECT COUNT(*) FROM t3;
|
||||
PRAGMA foreign_keys = 1;
|
||||
WITH cte(a, b, c) AS (SELECT d, d, d FROM t2) SELECT a, b, c FROM cte;
|
||||
SELECT * FROM (SELECT * FROM (SELECT * FROM t3) AS inner1) AS inner2;
|
||||
SELECT STRING_AGG(x) FROM t4;
|
||||
WITH RECURSIVE fib(a,b,n) AS (VALUES(1,1,1) UNION ALL SELECT b, a+b, n+1 FROM fib WHERE +n<82) SELECT a, n FROM fib;
|
||||
PRAGMA recursive_triggers = NO;
|
||||
VACUUM;
|
||||
DELETE FROM t2 WHERE c IS NULL RETURNING *;
|
||||
SELECT * FROM t3 AS a FULL JOIN t2 AS b ON a.rowid = b.rowid;
|
||||
INSERT INTO t3 VALUES ('x', 'x', NULL, 'x', 'x', NULL, NULL, 'x', 'x', NULL, 1, NULL, 'x') ON CONFLICT(a) DO UPDATE SET a = excluded.a, b = excluded.b, c = excluded.c;
|
||||
CREATE VIEW IF NOT EXISTS v_t3_25 AS SELECT f FROM t3;
|
||||
CREATE TEMPORARY VIEW IF NOT EXISTS v_t2_5761 AS SELECT d FROM t2;
|
||||
VACUUM;
|
||||
WITH RECURSIVE cnt(x) AS (VALUES(0) UNION ALL SELECT x-1 FROM cnt WHERE x>-61) SELECT * FROM cnt;
|
||||
|
||||
SELECT COUNT(*) FROM t2;
|
||||
SELECT x, (SELECT MAX(x) FROM t4) AS max_val FROM t4;
|
||||
ALTER TABLE t2 RENAME TO t2_r4493;
|
||||
REINDEX;
|
||||
DETACH DATABASE aux5;
|
||||
|
||||
SELECT COUNT(*) FROM t1;
|
||||
VACUUM;
|
||||
ALTER TABLE t2 DROP COLUMN e;
|
||||
ALTER TABLE t1 RENAME TO t1_r2401;
|
||||
INSERT OR REPLACE INTO t1 VALUES ('', 'x', -7);
|
||||
SELECT COUNT(c) FROM t2;
|
||||
PRAGMA vdbe_addoptrace = 0;
|
||||
DROP TABLE IF EXISTS t1;
|
||||
SELECT LAG(z, 0, 'default') OVER (ORDER BY z ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW EXCLUDE TIES) FROM t4;
|
||||
DELETE FROM t3 WHERE rowid = 56 RETURNING *;
|
||||
INSERT INTO t2 VALUES ('x', 'x', 1) ON CONFLICT(c) DO UPDATE SET c = excluded.c, d = excluded.d, e = excluded.e;
|
||||
UPDATE t2 SET e = NULL RETURNING *;
|
||||
PRAGMA function_list;
|
||||
.exit
|
||||
ATTACH DATABASE '' || (':memory:') AS aux5;
|
||||
.output
|
||||
PRAGMA full_column_names = unistr(NULL);
|
||||
.shell pwd
|
||||
BEGIN EXCLUSIVE;
|
||||
.quit
|
||||
PRAGMA full_column_names;
|
||||
PRAGMA integrity_check(load_extension(json_valid(-'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx', -(-(0.0)))));
|
||||
PRAGMA max_page_count = 5000000;
|
||||
.backup
|
||||
CREATE TABLE t1(a DOUBLE PRECISION, b INTEGER PRIMARY KEY, c BLOB, FOREIGN KEY (b) REFERENCES t2);
|
||||
CREATE TABLE t2(c, d, e);
|
||||
insErT INTO t1 VALUES(1, 2, 3);
|
||||
ALTER TABLE t1 RENAME COLUMN b TO d;
|
||||
CREATE TABLE t3(a, b, c, d, e, f, g, h, i, j, k, l, m, FOREIGN KEY (b, c, d, e, f, g, h, i, j, k, l, m) REFERENCES main.t4);
|
||||
CREATE TABLE t4(x, y, z);
|
||||
INSERT INTO t4 VALUES(3, 2, 1);
|
||||
|
||||
SELECT * FROM t1 WHERE NOT NOT (NOT a > /* .changes */ ALL (SELECT a FROM t1)) ;
|
||||
COMMIT;
|
||||
ALTER TABLE t4 ADD COLUMN extra_8043 CLOB COLLATE RTRIM;
|
||||
VACUUM;
|
||||
|
||||
SELECT COUNT(*) FROM t3;
|
||||
PRAGMA foreign_keys = 1;
|
||||
WITH cte(a, b, c) AS (SELECT d, d, d FROM t2) SELECT a, b, c FROM cte;
|
||||
SELECT * FROM (SELECT * FROM (SELECT * FROM t3) AS inner1) AS inner2;
|
||||
SELECT STRING_AGG(x) FROM t4;
|
||||
WITH RECURSIVE fib(a,b,n) AS (VALUES(1,1,1) UNION ALL SELECT b, a+b, n+1 FROM fib WHERE +n<82) SELECT a, n FROM fib;
|
||||
PRAGMA recursive_triggers = NO;
|
||||
VACUUM;
|
||||
DELETE FROM t2 WHERE c IS NULL RETURNING *;
|
||||
SELECT * FROM t3 AS a FULL JOIN t2 AS b ON a.rowid = b.rowid;
|
||||
INSERT INTO t3 VALUES ('x', 'x', NULL, 'x', 'x', NULL, NULL, 'x', 'x', NULL, 1, NULL, 'x') ON CONFLICT(a) DO UPDATE SET a = excluded.a, b = excluded.b, c = excluded.c;
|
||||
CREATE VIEW IF NOT EXISTS v_t3_25 AS SELECT f FROM t3;
|
||||
CREATE TEMPORARY VIEW IF NOT EXISTS v_t2_5761 AS SELECT d FROM t2;
|
||||
VACUUM;
|
||||
WITH RECURSIVE cnt(x) AS (VALUES(0) UNION ALL SELECT x-1 FROM cnt WHERE x>-61) SELECT * FROM cnt;
|
||||
|
||||
SELECT COUNT(*) FROM t2;
|
||||
SELECT x, (SELECT MAX(x) FROM t4) AS max_val FROM t4;
|
||||
ALTER TABLE t2 RENAME TO t2_r4493;
|
||||
REINDEX;
|
||||
DETACH DATABASE aux5;
|
||||
|
||||
SELECT COUNT(*) FROM t1;
|
||||
VACUUM;
|
||||
ALTER TABLE t2 DROP COLUMN e;
|
||||
ALTER TABLE t1 RENAME TO t1_r2401;
|
||||
INSERT OR REPLACE INTO t1 VALUES ('', 'x', -7);
|
||||
SELECT COUNT(c) FROM t2;
|
||||
PRAGMA vdbe_addoptrace = 0;
|
||||
DROP TABLE IF EXISTS t1;
|
||||
SELECT LAG(z, 0, 'default') OVER (ORDER BY z ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW EXCLUDE TIES) FROM t4;
|
||||
DELETE FROM t3 WHERE rowid = 56 RETURNING *;
|
||||
INSERT INTO t2 VALUES ('x', 'x', 1) ON CONFLICT(c) DO UPDATE SET c = excluded.c, d = excluded.d, e = excluded.e;
|
||||
UPDATE t2 SET e = NULL RETURNING *;
|
||||
|
||||
DETACH DATABASE aux86;
|
||||
ALTER TABLE t4 ADD COLUMN extra_6476 INT8 DEFAULT (random());
|
||||
```
|
||||
|
||||
## Actual output
|
||||
|
||||
```sql
|
||||
pow|1|s|utf8|2|2099200
|
||||
group_concat|1|w|utf8|1|2097152
|
||||
group_concat|1|w|utf8|2|2097152
|
||||
json_type|1|s|utf8|1|2048
|
||||
json_type|1|s|utf8|2|2048
|
||||
julianday|1|s|utf8|-1|2099200
|
||||
ntile|1|w|utf8|1|2097152
|
||||
nullif|1|s|utf8|2|2099200
|
||||
sqlite_compileoption_get|1|s|utf8|1|2097152
|
||||
json_valid|1|s|utf8|1|2048
|
||||
json_quote|1|s|utf8|1|2048
|
||||
json_patch|1|s|utf8|2|2048
|
||||
->|1|s|utf8|2|2048
|
||||
json_array|1|s|utf8|-1|2048
|
||||
current_timestamp|1|s|utf8|0|2097152
|
||||
power|1|s|utf8|2|2099200
|
||||
sqlite_compileoption_used|1|s|utf8|1|2097152
|
||||
json_remove|1|s|utf8|-1|2048
|
||||
json_object|1|s|utf8|-1|2048
|
||||
json_insert|1|s|utf8|-1|2048
|
||||
->>|1|s|utf8|2|2048
|
||||
sin|1|s|utf8|1|2099200
|
||||
sum|1|w|utf8|1|2097152
|
||||
quote|1|s|utf8|1|2099200
|
||||
printf|1|s|utf8|-1|2099200
|
||||
likelihood|1|s|utf8|2|2099200
|
||||
json_replace|1|s|utf8|-1|2048
|
||||
json_extract|1|s|utf8|-1|2048
|
||||
last_value|1|w|utf8|1|2097152
|
||||
rank|1|w|utf8|0|2097152
|
||||
sign|1|s|utf8|1|2099200
|
||||
sqrt|1|s|utf8|1|2099200
|
||||
sinh|1|s|utf8|1|2099200
|
||||
tan|1|s|utf8|1|2099200
|
||||
round|1|s|utf8|1|2099200
|
||||
round|1|s|utf8|2|2099200
|
||||
rtrim|1|s|utf8|1|2099200
|
||||
rtrim|1|s|utf8|2|2099200
|
||||
nth_value|1|w|utf8|2|2097152
|
||||
tanh|1|s|utf8|1|2099200
|
||||
random|1|s|utf8|0|2097152
|
||||
trim|1|s|utf8|1|2099200
|
||||
trim|1|s|utf8|2|2099200
|
||||
time|1|s|utf8|-1|2099200
|
||||
radians|1|s|utf8|1|2099200
|
||||
trunc|1|s|utf8|1|2099200
|
||||
total|1|w|utf8|1|2097152
|
||||
substr|1|s|utf8|2|2099200
|
||||
substr|1|s|utf8|3|2099200
|
||||
replace|1|s|utf8|3|2099200
|
||||
upper|1|s|utf8|1|2099200
|
||||
subtype|1|s|utf8|1|2099200
|
||||
typeof|1|s|utf8|1|2099200
|
||||
load_extension|1|s|utf8|1|524288
|
||||
load_extension|1|s|utf8|2|524288
|
||||
json_group_array|1|w|utf8|1|1050624
|
||||
avg|1|w|utf8|1|2097152
|
||||
abs|1|s|utf8|1|2099200
|
||||
json_group_object|1|w|utf8|2|1050624
|
||||
json_array_length|1|s|utf8|1|2048
|
||||
json_array_length|1|s|utf8|2|2048
|
||||
strftime|1|s|utf8|-1|2099200
|
||||
atan|1|s|utf8|1|2099200
|
||||
asin|1|s|utf8|1|2099200
|
||||
acos|1|s|utf8|1|2099200
|
||||
unknown|1|s|utf8|-1|2099200
|
||||
substring|1|s|utf8|2|2099200
|
||||
substring|1|s|utf8|3|2099200
|
||||
randomblob|1|s|utf8|1|2097152
|
||||
unicode|1|s|utf8|1|2099200
|
||||
percent_rank|1|w|utf8|0|2097152
|
||||
row_number|1|w|utf8|0|2097152
|
||||
atanh|1|s|utf8|1|2099200
|
||||
asinh|1|s|utf8|1|2099200
|
||||
acosh|1|s|utf8|1|2099200
|
||||
cos|1|s|utf8|1|2099200
|
||||
atan2|1|s|utf8|2|2099200
|
||||
last_insert_rowid|1|s|utf8|0|2097152
|
||||
sqlite_log|1|s|utf8|2|2099200
|
||||
unlikely|1|s|utf8|1|2099200
|
||||
cosh|1|s|utf8|1|2099200
|
||||
ceil|1|s|utf8|1|2099200
|
||||
char|1|s|utf8|-1|2099200
|
||||
unixepoch|1|s|utf8|-1|2099200
|
||||
exp|1|s|utf8|1|2099200
|
||||
count|1|w|utf8|0|2097152
|
||||
count|1|w|utf8|1|2097152
|
||||
date|1|s|utf8|-1|2099200
|
||||
sqlite_offset|1|s|utf8|1|2097152
|
||||
ceiling|1|s|utf8|1|2099200
|
||||
total_changes|1|s|utf8|0|2097152
|
||||
changes|1|s|utf8|0|2097152
|
||||
sqlite_version|1|s|utf8|0|2097152
|
||||
degrees|1|s|utf8|1|2099200
|
||||
floor|1|s|utf8|1|2099200
|
||||
coalesce|1|s|utf8|-1|2099200
|
||||
glob|1|s|utf8|2|2099200
|
||||
zeroblob|1|s|utf8|1|2099200
|
||||
hex|1|s|utf8|1|2099200
|
||||
iif|1|s|utf8|3|2099200
|
||||
sqlite_source_id|1|s|utf8|0|2097152
|
||||
format|1|s|utf8|-1|2099200
|
||||
datetime|1|s|utf8|-1|2099200
|
||||
cume_dist|1|w|utf8|0|2097152
|
||||
ln|1|s|utf8|1|2099200
|
||||
instr|1|s|utf8|2|2099200
|
||||
json|1|s|utf8|1|2048
|
||||
dense_rank|1|w|utf8|0|2097152
|
||||
log|1|s|utf8|1|2099200
|
||||
log|1|s|utf8|2|2099200
|
||||
ifnull|1|s|utf8|2|2099200
|
||||
current_date|1|s|utf8|0|2097152
|
||||
current_time|1|s|utf8|0|2097152
|
||||
lag|1|w|utf8|1|2097152
|
||||
lag|1|w|utf8|3|2097152
|
||||
lag|1|w|utf8|2|2097152
|
||||
mod|1|s|utf8|2|2099200
|
||||
log2|1|s|utf8|1|2099200
|
||||
like|1|s|utf8|2|2099200
|
||||
like|1|s|utf8|3|2099200
|
||||
max|1|s|utf8|-1|2099200
|
||||
max|1|w|utf8|1|2097152
|
||||
min|1|s|utf8|-1|2099200
|
||||
min|1|w|utf8|1|2097152
|
||||
lead|1|w|utf8|1|2097152
|
||||
lead|1|w|utf8|3|2097152
|
||||
lead|1|w|utf8|2|2097152
|
||||
log10|1|s|utf8|1|2099200
|
||||
lower|1|s|utf8|1|2099200
|
||||
ltrim|1|s|utf8|1|2099200
|
||||
ltrim|1|s|utf8|2|2099200
|
||||
first_value|1|w|utf8|1|2097152
|
||||
pi|1|s|utf8|0|2099200
|
||||
length|1|s|utf8|1|2099200
|
||||
likely|1|s|utf8|1|2099200
|
||||
json_set|1|s|utf8|-1|2048
|
||||
edit|0|s|utf8|2|0
|
||||
edit|0|s|utf8|1|0
|
||||
usleep|0|s|utf8|1|0
|
||||
shell_idquote|0|s|utf8|1|0
|
||||
shell_escape_crnl|0|s|utf8|1|0
|
||||
shell_putsnl|0|s|utf8|1|0
|
||||
ieee754_from_blob|0|s|utf8|1|2097152
|
||||
shell_add_schema|0|s|utf8|3|0
|
||||
ieee754_to_blob|0|s|utf8|1|2097152
|
||||
ieee754|0|s|utf8|2|2097152
|
||||
ieee754|0|s|utf8|1|2097152
|
||||
shell_int32|0|s|utf8|2|0
|
||||
regexp|0|s|utf8|2|2099200
|
||||
ieee754_exponent|0|s|utf8|1|2097152
|
||||
decimal_sub|0|s|utf8|2|2099200
|
||||
decimal_cmp|0|s|utf8|2|2099200
|
||||
writefile|0|s|utf8|-1|524288
|
||||
lsmode|0|s|utf8|1|0
|
||||
readfile|0|s|utf8|1|524288
|
||||
match|0|s|utf8|2|0
|
||||
fts3_tokenizer|0|s|utf8|2|524288
|
||||
fts3_tokenizer|0|s|utf8|1|524288
|
||||
ieee754_mantissa|0|s|utf8|1|2097152
|
||||
decimal_add|0|s|utf8|2|2099200
|
||||
decimal|0|s|utf8|1|2099200
|
||||
snippet|0|s|utf8|-1|0
|
||||
offsets|0|s|utf8|1|0
|
||||
shell_module_schema|0|s|utf8|1|0
|
||||
matchinfo|0|s|utf8|2|0
|
||||
matchinfo|0|s|utf8|1|0
|
||||
optimize|0|s|utf8|1|0
|
||||
decimal_sum|0|w|utf8|1|2099200
|
||||
sha3|0|s|utf8|2|2099200
|
||||
sha3|0|s|utf8|1|2099200
|
||||
rtreedepth|0|s|utf8|1|0
|
||||
regexpi|0|s|utf8|2|2099200
|
||||
decimal_mul|0|s|utf8|2|2099200
|
||||
sha3_query|0|s|utf8|2|524288
|
||||
sha3_query|0|s|utf8|1|524288
|
||||
rtreenode|0|s|utf8|2|0
|
||||
rtreecheck|0|s|utf8|-1|0
|
||||
```
|
||||
|
||||
## Expectation
|
||||
|
||||
```sql
|
||||
pow|1|s|utf8|2|2099200
|
||||
median|1|w|utf8|1|0
|
||||
group_concat|1|w|utf8|1|2097152
|
||||
group_concat|1|w|utf8|2|2097152
|
||||
json_type|1|s|utf8|1|2099200
|
||||
json_type|1|s|utf8|2|2099200
|
||||
jsonb_set|1|s|utf8|-1|3147776
|
||||
julianday|1|s|utf8|-1|2099200
|
||||
ntile|1|w|utf8|1|2097152
|
||||
nullif|1|s|utf8|2|2099200
|
||||
sqlite_compileoption_get|1|s|utf8|1|2097152
|
||||
json_valid|1|s|utf8|1|2099200
|
||||
json_valid|1|s|utf8|2|2099200
|
||||
json_quote|1|s|utf8|1|3147776
|
||||
json_patch|1|s|utf8|2|2099200
|
||||
->|1|s|utf8|2|2099200
|
||||
json_array|1|s|utf8|-1|3147776
|
||||
current_timestamp|1|s|utf8|0|2097152
|
||||
power|1|s|utf8|2|2099200
|
||||
sqlite_compileoption_used|1|s|utf8|1|2097152
|
||||
json_remove|1|s|utf8|-1|2099200
|
||||
json_pretty|1|s|utf8|1|2099200
|
||||
json_pretty|1|s|utf8|2|2099200
|
||||
jsonb_patch|1|s|utf8|2|2099200
|
||||
json_object|1|s|utf8|-1|3147776
|
||||
json_insert|1|s|utf8|-1|3147776
|
||||
->>|1|s|utf8|2|2099200
|
||||
jsonb_array|1|s|utf8|-1|3147776
|
||||
sin|1|s|utf8|1|2099200
|
||||
sum|1|w|utf8|1|2097152
|
||||
quote|1|s|utf8|1|2099200
|
||||
printf|1|s|utf8|-1|2099200
|
||||
likelihood|1|s|utf8|2|2099200
|
||||
json_replace|1|s|utf8|-1|3147776
|
||||
jsonb_remove|1|s|utf8|-1|2099200
|
||||
jsonb_object|1|s|utf8|-1|3147776
|
||||
jsonb_insert|1|s|utf8|-1|3147776
|
||||
json_extract|1|s|utf8|-1|2099200
|
||||
last_value|1|w|utf8|1|2097152
|
||||
rank|1|w|utf8|0|2097152
|
||||
sign|1|s|utf8|1|2099200
|
||||
sqrt|1|s|utf8|1|2099200
|
||||
sinh|1|s|utf8|1|2099200
|
||||
tan|1|s|utf8|1|2099200
|
||||
round|1|s|utf8|1|2099200
|
||||
round|1|s|utf8|2|2099200
|
||||
rtrim|1|s|utf8|1|2099200
|
||||
rtrim|1|s|utf8|2|2099200
|
||||
jsonb_replace|1|s|utf8|-1|3147776
|
||||
jsonb_extract|1|s|utf8|-1|2099200
|
||||
nth_value|1|w|utf8|2|2097152
|
||||
tanh|1|s|utf8|1|2099200
|
||||
random|1|s|utf8|0|2097152
|
||||
trim|1|s|utf8|1|2099200
|
||||
trim|1|s|utf8|2|2099200
|
||||
time|1|s|utf8|-1|2099200
|
||||
radians|1|s|utf8|1|2099200
|
||||
trunc|1|s|utf8|1|2099200
|
||||
total|1|w|utf8|1|2097152
|
||||
substr|1|s|utf8|2|2099200
|
||||
substr|1|s|utf8|3|2099200
|
||||
replace|1|s|utf8|3|2099200
|
||||
percentile|1|w|utf8|2|0
|
||||
unhex|1|s|utf8|1|2099200
|
||||
unhex|1|s|utf8|2|2099200
|
||||
upper|1|s|utf8|1|2099200
|
||||
subtype|1|s|utf8|1|3147776
|
||||
typeof|1|s|utf8|1|2099200
|
||||
load_extension|1|s|utf8|1|524288
|
||||
load_extension|1|s|utf8|2|524288
|
||||
json_group_array|1|w|utf8|1|3147776
|
||||
avg|1|w|utf8|1|2097152
|
||||
unistr|1|s|utf8|1|2099200
|
||||
abs|1|s|utf8|1|2099200
|
||||
octet_length|1|s|utf8|1|2099200
|
||||
json_group_object|1|w|utf8|2|3147776
|
||||
jsonb_group_array|1|w|utf8|1|3147776
|
||||
json_array_length|1|s|utf8|1|2099200
|
||||
json_array_length|1|s|utf8|2|2099200
|
||||
strftime|1|s|utf8|-1|2099200
|
||||
atan|1|s|utf8|1|2099200
|
||||
asin|1|s|utf8|1|2099200
|
||||
acos|1|s|utf8|1|2099200
|
||||
unknown|1|s|utf8|-1|2099200
|
||||
substring|1|s|utf8|2|2099200
|
||||
substring|1|s|utf8|3|2099200
|
||||
randomblob|1|s|utf8|1|2097152
|
||||
unicode|1|s|utf8|1|2099200
|
||||
jsonb_group_object|1|w|utf8|2|3147776
|
||||
timediff|1|s|utf8|2|2099200
|
||||
percent_rank|1|w|utf8|0|2097152
|
||||
row_number|1|w|utf8|0|2097152
|
||||
atanh|1|s|utf8|1|2099200
|
||||
asinh|1|s|utf8|1|2099200
|
||||
acosh|1|s|utf8|1|2099200
|
||||
cos|1|s|utf8|1|2099200
|
||||
atan2|1|s|utf8|2|2099200
|
||||
string_agg|1|w|utf8|2|2097152
|
||||
last_insert_rowid|1|s|utf8|0|2097152
|
||||
sqlite_log|1|s|utf8|2|2099200
|
||||
unlikely|1|s|utf8|1|2099200
|
||||
json_error_position|1|s|utf8|1|2099200
|
||||
cosh|1|s|utf8|1|2099200
|
||||
ceil|1|s|utf8|1|2099200
|
||||
char|1|s|utf8|-1|2099200
|
||||
unixepoch|1|s|utf8|-1|2099200
|
||||
exp|1|s|utf8|1|2099200
|
||||
percentile_disc|1|w|utf8|2|0
|
||||
percentile_cont|1|w|utf8|2|0
|
||||
count|1|w|utf8|0|2097152
|
||||
count|1|w|utf8|1|2097152
|
||||
date|1|s|utf8|-1|2099200
|
||||
concat|1|s|utf8|-3|2099200
|
||||
sqlite_offset|1|s|utf8|1|2099200
|
||||
ceiling|1|s|utf8|1|2099200
|
||||
total_changes|1|s|utf8|0|2097152
|
||||
changes|1|s|utf8|0|2097152
|
||||
unistr_quote|1|s|utf8|1|2099200
|
||||
sqlite_version|1|s|utf8|0|2097152
|
||||
if|1|s|utf8|-4|2099200
|
||||
coalesce|1|s|utf8|-4|2099200
|
||||
degrees|1|s|utf8|1|2099200
|
||||
floor|1|s|utf8|1|2099200
|
||||
glob|1|s|utf8|2|2099200
|
||||
zeroblob|1|s|utf8|1|2099200
|
||||
hex|1|s|utf8|1|2099200
|
||||
iif|1|s|utf8|-4|2099200
|
||||
sqlite_source_id|1|s|utf8|0|2097152
|
||||
concat_ws|1|s|utf8|-4|2099200
|
||||
format|1|s|utf8|-1|2099200
|
||||
datetime|1|s|utf8|-1|2099200
|
||||
cume_dist|1|w|utf8|0|2097152
|
||||
ln|1|s|utf8|1|2099200
|
||||
instr|1|s|utf8|2|2099200
|
||||
json|1|s|utf8|1|2099200
|
||||
dense_rank|1|w|utf8|0|2097152
|
||||
log|1|s|utf8|1|2099200
|
||||
log|1|s|utf8|2|2099200
|
||||
ifnull|1|s|utf8|2|2099200
|
||||
jsonb|1|s|utf8|1|2099200
|
||||
current_date|1|s|utf8|0|2097152
|
||||
current_time|1|s|utf8|0|2097152
|
||||
lag|1|w|utf8|1|2097152
|
||||
lag|1|w|utf8|3|2097152
|
||||
lag|1|w|utf8|2|2097152
|
||||
mod|1|s|utf8|2|2099200
|
||||
log2|1|s|utf8|1|2099200
|
||||
like|1|s|utf8|2|2099200
|
||||
like|1|s|utf8|3|2099200
|
||||
max|1|s|utf8|-3|2099200
|
||||
max|1|w|utf8|1|2097152
|
||||
min|1|s|utf8|-3|2099200
|
||||
min|1|w|utf8|1|2097152
|
||||
lead|1|w|utf8|1|2097152
|
||||
lead|1|w|utf8|3|2097152
|
||||
lead|1|w|utf8|2|2097152
|
||||
log10|1|s|utf8|1|2099200
|
||||
lower|1|s|utf8|1|2099200
|
||||
ltrim|1|s|utf8|1|2099200
|
||||
ltrim|1|s|utf8|2|2099200
|
||||
first_value|1|w|utf8|1|2097152
|
||||
pi|1|s|utf8|0|2099200
|
||||
length|1|s|utf8|1|2099200
|
||||
likely|1|s|utf8|1|2099200
|
||||
json_set|1|s|utf8|-1|3147776
|
||||
usleep|0|s|utf8|1|0
|
||||
shell_putsnl|0|s|utf8|1|0
|
||||
dtostr|0|s|utf8|2|0
|
||||
dtostr|0|s|utf8|1|0
|
||||
sqlar_uncompress|0|s|utf8|2|2097152
|
||||
sqlar_compress|0|s|utf8|1|2097152
|
||||
zipfile|0|a|utf8|-1|0
|
||||
lsmode|0|s|utf8|1|0
|
||||
writefile|0|s|utf8|-1|524288
|
||||
readfile|0|s|utf8|1|524288
|
||||
ieee754_from_blob|0|s|utf8|1|2097152
|
||||
offsets|0|s|utf8|1|0
|
||||
decimal_cmp|0|s|utf8|2|2099200
|
||||
fts3_tokenizer|0|s|utf8|2|524288
|
||||
fts3_tokenizer|0|s|utf8|1|524288
|
||||
decimal|0|s|utf8|1|2099200
|
||||
sha1b|0|s|utf8|1|2099200
|
||||
zipfile_cds|0|s|utf8|-1|0
|
||||
decimal_mul|0|s|utf8|2|2099200
|
||||
matchinfo|0|s|utf8|2|0
|
||||
matchinfo|0|s|utf8|1|0
|
||||
ieee754_inc|0|s|utf8|2|2097152
|
||||
optimize|0|s|utf8|1|0
|
||||
rtreedepth|0|s|utf8|1|0
|
||||
ieee754_mantissa|0|s|utf8|1|2097152
|
||||
rtreenode|0|s|utf8|2|0
|
||||
shell_add_schema|0|s|utf8|3|0
|
||||
strtod|0|s|utf8|1|0
|
||||
rtreecheck|0|s|utf8|-1|0
|
||||
shell_module_schema|0|s|utf8|1|0
|
||||
match|0|s|utf8|2|0
|
||||
sha1|0|s|utf8|1|2099200
|
||||
sha1_query|0|s|utf8|1|524288
|
||||
sha3|0|s|utf8|2|2099200
|
||||
sha3|0|s|utf8|1|2099200
|
||||
sha3_agg|0|a|utf8|2|2099200
|
||||
sha3_agg|0|a|utf8|1|2099200
|
||||
ieee754_exponent|0|s|utf8|1|2097152
|
||||
ieee754|0|s|utf8|2|2097152
|
||||
ieee754|0|s|utf8|1|2097152
|
||||
decimal_sub|0|s|utf8|2|2099200
|
||||
regexpi|0|s|utf8|2|2099200
|
||||
sha3_query|0|s|utf8|2|524288
|
||||
sha3_query|0|s|utf8|1|524288
|
||||
stmtrand|0|s|utf8|0|0
|
||||
stmtrand|0|s|utf8|1|0
|
||||
decimal_exp|0|s|utf8|1|2099200
|
||||
ieee754_to_blob|0|s|utf8|1|2097152
|
||||
base85|0|s|utf8|1|2623488
|
||||
decimal_add|0|s|utf8|2|2099200
|
||||
edit|0|s|utf8|2|0
|
||||
edit|0|s|utf8|1|0
|
||||
decimal_pow2|0|s|utf8|1|2099200
|
||||
base64|0|s|utf8|1|2623488
|
||||
snippet|0|s|utf8|-1|0
|
||||
decimal_sum|0|w|utf8|1|2099200
|
||||
regexp|0|s|utf8|2|2099200
|
||||
```
|
||||
|
||||
## Flag
|
||||
|
||||
```
|
||||
|
||||
```
|
||||
|
||||
@@ -0,0 +1,414 @@
|
||||
## 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 EXCLUSIVE;
|
||||
BEGIN DEFERRED;
|
||||
SAVEPOINT sp873;
|
||||
BEGIN TRANSACTION;
|
||||
PRAGMA quick_check(CAST(CAST(time(json_array()) AS REAL) AS INTEGER));
|
||||
.exit
|
||||
SAVEPOINT sp9184;
|
||||
SAVEPOINT sp1810;
|
||||
CREATE TABLE T1 (
|
||||
a FLOAT,
|
||||
b TEXT
|
||||
);
|
||||
CREATE TABLE T2 (
|
||||
a INTEGER,
|
||||
b /**/ TEXT
|
||||
);
|
||||
INSERT INTO T1 VALUES (1,'' || ('a')),(2,'b');
|
||||
INSERT INTO T2 VALUES (1,'c'),(1,'d');
|
||||
SELECT T1.b,
|
||||
(
|
||||
SELECT GROUP_CONCAT(b,',')
|
||||
FROM T2
|
||||
WHERE NOT T2.a=T1.a
|
||||
) AS c
|
||||
FROM /* PRAGMA pragma_list; */ T1;
|
||||
SELECT * FROM T2 AS a LEFT JOIN T1 AS b ON a.rowid = b.rowid;
|
||||
SELECT COUNT(*) FILTER (WHERE b IS NOT NULL), SUM(rowid) FILTER (WHERE b > 0), COUNT(*) FILTER (WHERE 1=0), COUNT(*) FILTER (WHERE 1=1), COUNT(*) FILTER (WHERE NULL), AVG(b) FILTER (WHERE b > 0 AND b < 100), COUNT(*) FILTER (WHERE typeof(b) = "text") FROM T1;
|
||||
ROLLBACK TRANSACTION TO SAVEPOINT sp1810;
|
||||
RELEASE SAVEPOINT sp1810;
|
||||
INSERT OR IGNORE INTO T2 VALUES (0, 3);
|
||||
ALTER TABLE T1 ADD COLUMN extra_3426 ANY DEFAULT 0;
|
||||
INSERT INTO T2 DEFAULT VALUES;
|
||||
ROLLBACK TO sp9184;
|
||||
RELEASE sp9184;
|
||||
DROP INDEX IF EXISTS T1;
|
||||
ANALYZE;
|
||||
COMMIT TRANSACTION;
|
||||
ALTER TABLE T1 RENAME COLUMN b TO b_r7501;
|
||||
SELECT MIN(a) FROM T2;
|
||||
SELECT b FROM T1 EXCEPT SELECT b FROM (SELECT * FROM T1) AS sub;
|
||||
UPDATE T2 SET a = json_object('k', a) WHERE a IS NOT NULL RETURNING *;
|
||||
PRAGMA locking_mode;
|
||||
CREATE INDEX IF NOT EXISTS idx_T1_2051 ON T1(b COLLATE NOCASE);
|
||||
CREATE UNIQUE INDEX IF NOT EXISTS idx_T1_8990 ON T1(lower(a));
|
||||
WITH n AS NOT MATERIALIZED (SELECT * FROM T1) SELECT * FROM n WHERE a > 0;
|
||||
UPDATE T2 SET a = json_object('k', a) WHERE a IS NOT NULL;
|
||||
SELECT STRING_AGG(b) FROM T1;
|
||||
ROLLBACK TO sp873;
|
||||
RELEASE sp873;
|
||||
WITH RECURSIVE cnt(x) AS (VALUES(1) UNION ALL SELECT x+1 FROM cnt WHERE x<1) SELECT * FROM cnt;
|
||||
END TRANSACTION;
|
||||
ROLLBACK;
|
||||
BEGIN EXCLUSIVE;
|
||||
BEGIN DEFERRED;
|
||||
SAVEPOINT sp873;
|
||||
BEGIN TRANSACTION;
|
||||
PRAGMA quick_check(CAST(1.0 AS INTEGER));
|
||||
.exit
|
||||
SAVEPOINT sp9184;
|
||||
SAVEPOINT sp1810;
|
||||
CREATE TABLE T1 (
|
||||
a FLOAT,
|
||||
b TEXT
|
||||
);
|
||||
CREATE TABLE T2 (
|
||||
a INTEGER,
|
||||
b /**/ TEXT
|
||||
);
|
||||
INSERT INTO T1 VALUES (1,'' || ('a')),(2,'b');
|
||||
INSERT INTO T2 VALUES (1,'c'),(1,'d');
|
||||
SELECT T1.b,
|
||||
(
|
||||
SELECT GROUP_CONCAT(b,',')
|
||||
FROM T2
|
||||
WHERE NOT T2.a=T1.a
|
||||
) AS c
|
||||
FROM /* PRAGMA pragma_list; */ T1;
|
||||
SELECT * FROM T2 AS a LEFT JOIN T1 AS b ON a.rowid = b.rowid;
|
||||
SELECT COUNT(*) FILTER (WHERE b IS NOT NULL), SUM(rowid) FILTER (WHERE b > 0), COUNT(*) FILTER (WHERE 1=0), COUNT(*) FILTER (WHERE 1=1), COUNT(*) FILTER (WHERE NULL), AVG(b) FILTER (WHERE b > 0 AND b < 100), COUNT(*) FILTER (WHERE typeof(b) = "text") FROM T1;
|
||||
ROLLBACK TRANSACTION TO SAVEPOINT sp1810;
|
||||
RELEASE SAVEPOINT sp1810;
|
||||
INSERT OR IGNORE INTO T2 VALUES (0, 3);
|
||||
ALTER TABLE T1 ADD COLUMN extra_3426 ANY DEFAULT 0;
|
||||
INSERT INTO T2 DEFAULT VALUES;
|
||||
ROLLBACK TO sp9184;
|
||||
RELEASE sp9184;
|
||||
DROP INDEX IF EXISTS T1;
|
||||
ANALYZE;
|
||||
COMMIT TRANSACTION;
|
||||
ALTER TABLE T1 RENAME COLUMN b TO b_r7501;
|
||||
SELECT MIN(a) FROM T2;
|
||||
SELECT b FROM T1 EXCEPT SELECT b FROM (SELECT * FROM T1) AS sub;
|
||||
UPDATE T2 SET a = json_object('k', a) WHERE a IS NOT NULL RETURNING *;
|
||||
PRAGMA locking_mode;
|
||||
CREATE INDEX IF NOT EXISTS idx_T1_2051 ON T1(b COLLATE NOCASE);
|
||||
CREATE UNIQUE INDEX IF NOT EXISTS idx_T1_8990 ON T1(lower(a));
|
||||
WITH n AS NOT MATERIALIZED (SELECT * FROM T1) SELECT * FROM n WHERE a > 0;
|
||||
UPDATE T2 SET a = json_object('k', a) WHERE a IS NOT NULL;
|
||||
SELECT STRING_AGG(b) FROM T1;
|
||||
ROLLBACK TO sp873;
|
||||
RELEASE sp873;
|
||||
WITH RECURSIVE cnt(x) AS (VALUES(1) UNION ALL SELECT x+1 FROM cnt WHERE x<1) SELECT * FROM cnt;
|
||||
END TRANSACTION;
|
||||
ROLLBACK;
|
||||
BEGIN EXCLUSIVE;
|
||||
BEGIN DEFERRED;
|
||||
SAVEPOINT sp873;
|
||||
BEGIN TRANSACTION;
|
||||
PRAGMA quick_check(CAST(1.0 AS INTEGER));
|
||||
.exit
|
||||
SAVEPOINT sp9184;
|
||||
SAVEPOINT sp1810;
|
||||
CREATE TABLE T1 (
|
||||
a FLOAT,
|
||||
b TEXT
|
||||
);
|
||||
CREATE TABLE T2 (
|
||||
a INTEGER,
|
||||
b /**/ TEXT
|
||||
);
|
||||
INSERT INTO T1 VALUES (1,'' || ('a')),(2,'b');
|
||||
INSERT INTO T2 VALUES (1,'c'),(1,'d');
|
||||
SELECT T1.b,
|
||||
(
|
||||
SELECT GROUP_CONCAT(b,',')
|
||||
FROM T2
|
||||
WHERE NOT T2.a=T1.a
|
||||
) AS c
|
||||
FROM /* PRAGMA pragma_list; */ T1;
|
||||
SELECT * FROM T2 AS a LEFT JOIN T1 AS b ON a.rowid = b.rowid;
|
||||
SELECT COUNT(*) FILTER (WHERE b IS NOT NULL), SUM(rowid) FILTER (WHERE b > 0), COUNT(*) FILTER (WHERE 1=0), COUNT(*) FILTER (WHERE 1=1), COUNT(*) FILTER (WHERE NULL), AVG(b) FILTER (WHERE b > 0 AND b < 100), COUNT(*) FILTER (WHERE typeof(b) = "text") FROM T1;
|
||||
ROLLBACK TRANSACTION TO SAVEPOINT sp1810;
|
||||
RELEASE SAVEPOINT sp1810;
|
||||
INSERT OR IGNORE INTO T2 VALUES (0, 3);
|
||||
ALTER TABLE T1 ADD COLUMN extra_3426 ANY DEFAULT 0;
|
||||
INSERT INTO T2 DEFAULT VALUES;
|
||||
ROLLBACK TO sp9184;
|
||||
RELEASE sp9184;
|
||||
DROP INDEX IF EXISTS T1;
|
||||
ANALYZE;
|
||||
COMMIT TRANSACTION;
|
||||
ALTER TABLE T1 RENAME COLUMN b TO b_r7501;
|
||||
SELECT MIN(a) FROM T2;
|
||||
SELECT b FROM T1 EXCEPT SELECT b FROM (SELECT * FROM T1) AS sub;
|
||||
UPDATE T2 SET a = json_object('k', a) WHERE a IS NOT NULL RETURNING *;
|
||||
PRAGMA locking_mode;
|
||||
CREATE INDEX IF NOT EXISTS idx_T1_2051 ON T1(b COLLATE NOCASE);
|
||||
CREATE UNIQUE INDEX IF NOT EXISTS idx_T1_8990 ON T1(lower(a));
|
||||
WITH n AS NOT MATERIALIZED (SELECT * FROM T1) SELECT * FROM n WHERE a > 0;
|
||||
UPDATE T2 SET a = json_object('k', a) WHERE a IS NOT NULL;
|
||||
SELECT STRING_AGG(b) FROM T1;
|
||||
ROLLBACK TO sp873;
|
||||
RELEASE sp873;
|
||||
WITH RECURSIVE cnt(x) AS (VALUES(1) UNION ALL SELECT x+1 FROM cnt WHERE x<1) SELECT * FROM cnt;
|
||||
END TRANSACTION;
|
||||
ROLLBACK;
|
||||
BEGIN EXCLUSIVE;
|
||||
BEGIN DEFERRED;
|
||||
SAVEPOINT sp873;
|
||||
BEGIN TRANSACTION;
|
||||
PRAGMA quick_check(CAST(1.0 AS INTEGER));
|
||||
.exit
|
||||
SAVEPOINT sp9184;
|
||||
SAVEPOINT sp1810;
|
||||
CREATE TABLE T1 (
|
||||
a FLOAT,
|
||||
b TEXT
|
||||
);
|
||||
CREATE TABLE T2 (
|
||||
a INTEGER,
|
||||
b /**/ TEXT
|
||||
);
|
||||
INSERT INTO T1 VALUES (1,'' || ('a')),(2,'b');
|
||||
INSERT INTO T2 VALUES (1,'c'),(1,'d');
|
||||
SELECT T1.b,
|
||||
(
|
||||
SELECT GROUP_CONCAT(b,',')
|
||||
FROM T2
|
||||
WHERE NOT T2.a=T1.a
|
||||
) AS c
|
||||
FROM /* PRAGMA pragma_list; */ T1;
|
||||
SELECT * FROM T2 AS a LEFT JOIN T1 AS b ON a.rowid = b.rowid;
|
||||
SELECT COUNT(*) FILTER (WHERE b IS NOT NULL), SUM(rowid) FILTER (WHERE b > 0), COUNT(*) FILTER (WHERE 1=0), COUNT(*) FILTER (WHERE 1=1), COUNT(*) FILTER (WHERE NULL), AVG(b) FILTER (WHERE b > 0 AND b < 100), COUNT(*) FILTER (WHERE typeof(b) = "text") FROM T1;
|
||||
ROLLBACK TRANSACTION TO SAVEPOINT sp1810;
|
||||
RELEASE SAVEPOINT sp1810;
|
||||
INSERT OR IGNORE INTO T2 VALUES (0, 3);
|
||||
ALTER TABLE T1 ADD COLUMN extra_3426 ANY DEFAULT 0;
|
||||
INSERT INTO T2 DEFAULT VALUES;
|
||||
ROLLBACK TO sp9184;
|
||||
RELEASE sp9184;
|
||||
DROP INDEX IF EXISTS T1;
|
||||
ANALYZE;
|
||||
COMMIT TRANSACTION;
|
||||
ALTER TABLE T1 RENAME COLUMN b TO b_r7501;
|
||||
SELECT MIN(a) FROM T2;
|
||||
SELECT b FROM T1 EXCEPT SELECT b FROM (SELECT * FROM T1) AS sub;
|
||||
UPDATE T2 SET a = json_object('k', a) WHERE a IS NOT NULL RETURNING *;
|
||||
PRAGMA locking_mode;
|
||||
CREATE INDEX IF NOT EXISTS idx_T1_2051 ON T1(b COLLATE NOCASE);
|
||||
CREATE UNIQUE INDEX IF NOT EXISTS idx_T1_8990 ON T1(lower(a));
|
||||
WITH n AS NOT MATERIALIZED (SELECT * FROM T1) SELECT * FROM n WHERE a > 0;
|
||||
UPDATE T2 SET a = json_object('k', a) WHERE a IS NOT NULL;
|
||||
SELECT STRING_AGG(b) FROM T1;
|
||||
ROLLBACK TO sp873;
|
||||
RELEASE sp873;
|
||||
WITH RECURSIVE cnt(x) AS (VALUES(1) UNION ALL SELECT x+1 FROM cnt WHERE x<1) SELECT * FROM cnt;
|
||||
END TRANSACTION;
|
||||
ROLLBACK;
|
||||
BEGIN EXCLUSIVE;
|
||||
BEGIN DEFERRED;
|
||||
SAVEPOINT sp873;
|
||||
BEGIN TRANSACTION;
|
||||
PRAGMA quick_check(CAST(1.0 AS INTEGER));
|
||||
.exit
|
||||
SAVEPOINT sp9184;
|
||||
SAVEPOINT sp1810;
|
||||
CREATE TABLE T1 (
|
||||
a FLOAT,
|
||||
b TEXT
|
||||
);
|
||||
CREATE TABLE T2 (
|
||||
a INTEGER,
|
||||
b /**/ TEXT
|
||||
);
|
||||
INSERT INTO T1 VALUES (1,'' || ('a')),(2,'b');
|
||||
INSERT INTO T2 VALUES (1,'c'),(1,'d');
|
||||
SELECT T1.b,
|
||||
(
|
||||
SELECT GROUP_CONCAT(b,',')
|
||||
FROM T2
|
||||
WHERE NOT T2.a=T1.a
|
||||
) AS c
|
||||
FROM /* PRAGMA pragma_list; */ T1;
|
||||
SELECT * FROM T2 AS a LEFT JOIN T1 AS b ON a.rowid = b.rowid;
|
||||
SELECT COUNT(*) FILTER (WHERE b IS NOT NULL), SUM(rowid) FILTER (WHERE b > 0), COUNT(*) FILTER (WHERE 1=0), COUNT(*) FILTER (WHERE 1=1), COUNT(*) FILTER (WHERE NULL), AVG(b) FILTER (WHERE b > 0 AND b < 100), COUNT(*) FILTER (WHERE typeof(b) = "text") FROM T1;
|
||||
ROLLBACK TRANSACTION TO SAVEPOINT sp1810;
|
||||
RELEASE SAVEPOINT sp1810;
|
||||
INSERT OR IGNORE INTO T2 VALUES (0, 3);
|
||||
ALTER TABLE T1 ADD COLUMN extra_3426 ANY DEFAULT 0;
|
||||
INSERT INTO T2 DEFAULT VALUES;
|
||||
ROLLBACK TO sp9184;
|
||||
RELEASE sp9184;
|
||||
DROP INDEX IF EXISTS T1;
|
||||
ANALYZE;
|
||||
COMMIT TRANSACTION;
|
||||
ALTER TABLE T1 RENAME COLUMN b TO b_r7501;
|
||||
SELECT MIN(a) FROM T2;
|
||||
SELECT b FROM T1 EXCEPT SELECT b FROM (SELECT * FROM T1) AS sub;
|
||||
UPDATE T2 SET a = json_object('k', a) WHERE a IS NOT NULL RETURNING *;
|
||||
PRAGMA locking_mode;
|
||||
CREATE INDEX IF NOT EXISTS idx_T1_2051 ON T1(b COLLATE NOCASE);
|
||||
CREATE UNIQUE INDEX IF NOT EXISTS idx_T1_8990 ON T1(lower(a));
|
||||
WITH n AS NOT MATERIALIZED (SELECT * FROM T1) SELECT * FROM n WHERE a > 0;
|
||||
UPDATE T2 SET a = json_object('k', a) WHERE a IS NOT NULL;
|
||||
SELECT STRING_AGG(b) FROM T1;
|
||||
ROLLBACK TO sp873;
|
||||
RELEASE sp873;
|
||||
WITH RECURSIVE cnt(x) AS (VALUES(1) UNION ALL SELECT x+1 FROM cnt WHERE x<1) SELECT * FROM cnt;
|
||||
END TRANSACTION;
|
||||
ROLLBACK;
|
||||
BEGIN EXCLUSIVE;
|
||||
BEGIN DEFERRED;
|
||||
SAVEPOINT sp873;
|
||||
BEGIN TRANSACTION;
|
||||
PRAGMA quick_check(CAST(1.0 AS INTEGER));
|
||||
.exit
|
||||
SAVEPOINT sp9184;
|
||||
SAVEPOINT sp1810;
|
||||
CREATE TABLE T1 (
|
||||
a FLOAT,
|
||||
b TEXT
|
||||
);
|
||||
CREATE TABLE T2 (
|
||||
a INTEGER,
|
||||
b /**/ TEXT
|
||||
);
|
||||
INSERT INTO T1 VALUES (1,'' || ('a')),(2,'b');
|
||||
INSERT INTO T2 VALUES (1,'c'),(1,'d');
|
||||
SELECT T1.b,
|
||||
(
|
||||
SELECT GROUP_CONCAT(b,',')
|
||||
FROM T2
|
||||
WHERE NOT T2.a=T1.a
|
||||
) AS c
|
||||
FROM /* PRAGMA pragma_list; */ T1;
|
||||
SELECT * FROM T2 AS a LEFT JOIN T1 AS b ON a.rowid = b.rowid;
|
||||
SELECT COUNT(*) FILTER (WHERE b IS NOT NULL), SUM(rowid) FILTER (WHERE b > 0), COUNT(*) FILTER (WHERE 1=0), COUNT(*) FILTER (WHERE 1=1), COUNT(*) FILTER (WHERE NULL), AVG(b) FILTER (WHERE b > 0 AND b < 100), COUNT(*) FILTER (WHERE typeof(b) = "text") FROM T1;
|
||||
ROLLBACK TRANSACTION TO SAVEPOINT sp1810;
|
||||
RELEASE SAVEPOINT sp1810;
|
||||
INSERT OR IGNORE INTO T2 VALUES (0, 3);
|
||||
ALTER TABLE T1 ADD COLUMN extra_3426 ANY DEFAULT 0;
|
||||
INSERT INTO T2 DEFAULT VALUES;
|
||||
ROLLBACK TO sp9184;
|
||||
RELEASE sp9184;
|
||||
DROP INDEX IF EXISTS T1;
|
||||
ANALYZE;
|
||||
COMMIT TRANSACTION;
|
||||
ALTER TABLE T1 RENAME COLUMN b TO b_r7501;
|
||||
SELECT MIN(a) FROM T2;
|
||||
SELECT b FROM T1 EXCEPT SELECT b FROM (SELECT * FROM T1) AS sub;
|
||||
UPDATE T2 SET a = json_object('k', a) WHERE a IS NOT NULL RETURNING *;
|
||||
PRAGMA locking_mode;
|
||||
CREATE INDEX IF NOT EXISTS idx_T1_2051 ON T1(b COLLATE NOCASE);
|
||||
CREATE UNIQUE INDEX IF NOT EXISTS idx_T1_8990 ON T1(lower(a));
|
||||
WITH n AS NOT MATERIALIZED (SELECT * FROM T1) SELECT * FROM n WHERE a > 0;
|
||||
UPDATE T2 SET a = json_object('k', a) WHERE a IS NOT NULL;
|
||||
SELECT STRING_AGG(b) FROM T1;
|
||||
ROLLBACK TO sp873;
|
||||
RELEASE sp873;
|
||||
WITH RECURSIVE cnt(x) AS (VALUES(1) UNION ALL SELECT x+1 FROM cnt WHERE x<1) SELECT * FROM cnt;
|
||||
END TRANSACTION;
|
||||
ROLLBACK;
|
||||
BEGIN EXCLUSIVE;
|
||||
BEGIN DEFERRED;
|
||||
SAVEPOINT sp873;
|
||||
BEGIN TRANSACTION;
|
||||
PRAGMA quick_check(CAST(1.0 AS INTEGER));
|
||||
.exit
|
||||
SAVEPOINT sp9184;
|
||||
SAVEPOINT sp1810;
|
||||
CREATE TABLE T1 (
|
||||
a FLOAT,
|
||||
b TEXT
|
||||
);
|
||||
CREATE TABLE T2 (
|
||||
a INTEGER,
|
||||
b /**/ TEXT
|
||||
);
|
||||
INSERT INTO T1 VALUES (1,'' || ('a')),(2,'b');
|
||||
INSERT INTO T2 VALUES (1,'c'),(1,'d');
|
||||
SELECT T1.b,
|
||||
(
|
||||
SELECT GROUP_CONCAT(b,',')
|
||||
FROM T2
|
||||
WHERE NOT T2.a=T1.a
|
||||
) AS c
|
||||
FROM /* PRAGMA pragma_list; */ T1;
|
||||
SELECT * FROM T2 AS a LEFT JOIN T1 AS b ON a.rowid = b.rowid;
|
||||
SELECT COUNT(*) FILTER (WHERE b IS NOT NULL), SUM(rowid) FILTER (WHERE b > 0), COUNT(*) FILTER (WHERE 1=0), COUNT(*) FILTER (WHERE 1=1), COUNT(*) FILTER (WHERE NULL), AVG(b) FILTER (WHERE b > 0 AND b < 100), COUNT(*) FILTER (WHERE typeof(b) = "text") FROM T1;
|
||||
ROLLBACK TRANSACTION TO SAVEPOINT sp1810;
|
||||
RELEASE SAVEPOINT sp1810;
|
||||
INSERT OR IGNORE INTO T2 VALUES (0, 3);
|
||||
ALTER TABLE T1 ADD COLUMN extra_3426 ANY DEFAULT 0;
|
||||
INSERT INTO T2 DEFAULT VALUES;
|
||||
ROLLBACK TO sp9184;
|
||||
RELEASE sp9184;
|
||||
DROP INDEX IF EXISTS T1;
|
||||
ANALYZE;
|
||||
COMMIT TRANSACTION;
|
||||
ALTER TABLE T1 RENAME COLUMN b TO b_r7501;
|
||||
SELECT MIN(a) FROM T2;
|
||||
SELECT b FROM T1 EXCEPT SELECT b FROM (SELECT * FROM T1) AS sub;
|
||||
UPDATE T2 SET a = json_object('k', a) WHERE a IS NOT NULL RETURNING *;
|
||||
PRAGMA locking_mode;
|
||||
CREATE INDEX IF NOT EXISTS idx_T1_2051 ON T1(b COLLATE NOCASE);
|
||||
CREATE UNIQUE INDEX IF NOT EXISTS idx_T1_8990 ON T1(lower(a));
|
||||
WITH n AS NOT MATERIALIZED (SELECT * FROM T1) SELECT * FROM n WHERE a > 0;
|
||||
UPDATE T2 SET a = json_object('k', a) WHERE a IS NOT NULL;
|
||||
SELECT STRING_AGG(b) FROM T1;
|
||||
ROLLBACK TO sp873;
|
||||
RELEASE sp873;
|
||||
WITH RECURSIVE cnt(x) AS (VALUES(1) UNION ALL SELECT x+1 FROM cnt WHERE x<1) SELECT * FROM cnt;
|
||||
END TRANSACTION;
|
||||
ROLLBACK;
|
||||
|
||||
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
|
||||
DELETE FROM t1 WHERE d IS NULL;
|
||||
INSERT INTO T2 VALUES (NULL, NULL);
|
||||
|
||||
SELECT COUNT(*) FROM T2;
|
||||
SELECT LEAD(b, 1, NULL) OVER (ORDER BY b) FROM T2;
|
||||
REINDEX T2;
|
||||
ALTER TABLE T1 RENAME COLUMN a TO a_r6095;
|
||||
```
|
||||
|
||||
## Actual output
|
||||
|
||||
```sql
|
||||
3.39.0 2022-05-10 23:28:12 764b71267e0b31ff7eaf2a0def7526a1a02dce4d5b456dea060d97ed342ealt1
|
||||
```
|
||||
|
||||
## Expectation
|
||||
|
||||
```sql
|
||||
3.51.1 2025-11-28 17:28:25 281fc0e9afc38674b9b0991943b9e9d1e64c6cbdb133d35f6f5c87ff6af38a88 (64-bit)
|
||||
```
|
||||
|
||||
## Flag
|
||||
|
||||
```
|
||||
-version
|
||||
```
|
||||
|
||||
@@ -0,0 +1,87 @@
|
||||
## 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 fullfsync;
|
||||
PRAGMA automatic_index = ON;
|
||||
PRAGMA wal_checkpoint;
|
||||
.tables
|
||||
CREATE TABLE t1(c1);
|
||||
INSERT INTO t1 VALUES(if(1, 12, 0, 12, 0, 12, 12)),(123),(1234),(NULL),('abc');
|
||||
CREATE TABLE t2(c2);
|
||||
INSERT INTO t2 VALUES(44),(55),(123);
|
||||
CREATE TABLE t3(c3,c4);
|
||||
INSERT INTO t3 VALUES(66,1),(123,2),(77,3);
|
||||
CREATE VIEW t4 AS SELECT c3 FROM t3;
|
||||
CREATE VIEW t5 AS SELECT c3 FROM t3 ORDER BY c4;
|
||||
SELECT * FROM t1, t2 WHERE c1=(SELECT 123 INTERSECT SELECT c2 FROM t4) AND c1=123;
|
||||
SELECT * FROM t1, t2 WHERE c1=(SELECT 123 INTERSECT SELECT c2 FROM t5) AND c1=123;
|
||||
|
||||
|
||||
SELECT COUNT(*) FROM t1;
|
||||
ANALYZE;
|
||||
INSERT OR IGNORE INTO t1 VALUES ('');
|
||||
SELECT * FROM t1 WHERE c1 = (SELECT SUM(c1) FROM t1);
|
||||
INSERT INTO t2 DEFAULT VALUES;
|
||||
```
|
||||
|
||||
## 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
|
||||
```
|
||||
|
||||
@@ -0,0 +1,76 @@
|
||||
## 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 EXCLUSIVE TRANSACTION;
|
||||
PRAGMA writable_schema = RESET;
|
||||
CREATE TABLE main.t1(a INTEGER PRIMARY KEY, b TEXT, c INT, d INT);
|
||||
iNSErt INTO t1 VALUES (-2147483647, '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
|
||||
SELECT * FROM t1 AS a JOIN t1 AS b ON a.rowid = b.rowid;
|
||||
UPDATE t1 SET b = 'x' WHERE 1 RETURNING *;
|
||||
INSERT INTO t1 DEFAULT VALUES;
|
||||
REINDEX;
|
||||
INSERT INTO t1 VALUES (NULL, NULL, NULL, NULL);
|
||||
INSERT INTO t1 DEFAULT VALUES;
|
||||
COMMIT TRANSACTION;
|
||||
CREATE INDEX IF NOT EXISTS idx_t1_9558 ON t1(lower(d)) WHERE d IS NOT NULL;
|
||||
INSERT INTO t1 VALUES (NULL, 1, 1, NULL) ON CONFLICT(a) DO UPDATE SET a = excluded.a, b = excluded.b, c = excluded.c;
|
||||
SELECT MIN(c) OVER (PARTITION BY c ORDER BY c ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING EXCLUDE GROUP) FROM t1;
|
||||
SELECT * FROM t1 WHERE EXISTS (SELECT 1 FROM t1 WHERE a < 0);
|
||||
CREATE TABLE T (
|
||||
a INTEGER,
|
||||
b REAL
|
||||
);
|
||||
INSERT INTO T VALUES (1,1.5), (2,-2.5), (3,0.0);
|
||||
CREATE INDEX c
|
||||
ON T(b);
|
||||
SELECT * FROM T WHERE b >= -2.5 AND b < 2.0;
|
||||
```
|
||||
|
||||
## Actual output
|
||||
|
||||
```sql
|
||||
CREATE TABLE "t2"("b","c","_ROWID_",PRIMARY KEY("b","c","_ROWID_"))WITHOUT ROWID;
|
||||
WARNING: writing to an imposter table will corrupt the "t1bc" index!
|
||||
[{"b":"Braun","c":30,"_ROWID_":3},
|
||||
{"b":"Wernher","c":10,"_ROWID_":-2147483647},
|
||||
{"b":"von","c":20,"_ROWID_":2}]
|
||||
[{"b":"Braun","c":30},
|
||||
{"b":"Wernher","c":10},
|
||||
{"b":"von","c":20}]
|
||||
```
|
||||
|
||||
## Expectation
|
||||
|
||||
```sql
|
||||
CREATE TABLE "t2"("b","c","_ROWID_",PRIMARY KEY("b","c","_ROWID_"))WITHOUT ROWID;
|
||||
[{"b":"Braun","c":30,"_ROWID_":3},
|
||||
{"b":"Wernher","c":10,"_ROWID_":-2147483647},
|
||||
{"b":"von","c":20,"_ROWID_":2}]
|
||||
[{"b":"Braun","c":30},
|
||||
{"b":"Wernher","c":10},
|
||||
{"b":"von","c":20}]
|
||||
```
|
||||
|
||||
## Flag
|
||||
|
||||
```
|
||||
-json
|
||||
```
|
||||
|
||||
@@ -0,0 +1,412 @@
|
||||
## 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 quick_check(20);
|
||||
SAVEPOINT sp2208;
|
||||
.eqp auto
|
||||
CREATE TABLE T (
|
||||
a BIGINT,
|
||||
b REAL
|
||||
);
|
||||
INSERT INTO T VALUES ('a',abs(json_valid(acos(if(NULL, json_type(exp(json_valid(1.7976931348623157e+308, 6)), '$'), 0, 1.7976931348623157e+308, 0, 1.7976931348623157e+308, 1.7976931348623157e+308)), 6))), ('b',-200.5), ('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;
|
||||
PRAGMA short_column_names = NO;
|
||||
PRAGMA cell_size_check;
|
||||
.parameter
|
||||
ATTACH DATABASE ':memory:' AS aux30;
|
||||
.log ON
|
||||
SAVEPOINT sp6089;
|
||||
ATTACH DATABASE '' || (':memory:') AS aux56;
|
||||
CREATE TABLE main.t1(a INTEGER PRIMARY KEY, b TEXT, c INT, d INT);
|
||||
INSERT INTO t1 VALUES (strftime('%s', format('%d', 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 ignore_check_constraints = 0;
|
||||
DETACH DATABASE aux56;
|
||||
INSERT INTO t1 SELECT * FROM t1;
|
||||
PRAGMA recursive_triggers = OFF;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_t1_1212 AFTER UPDATE OF c ON t1 BEGIN SELECT RAISE(ROLLBACK, 'rb'); END;
|
||||
RELEASE sp6089;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_t1_4991 BEFORE UPDATE OF a ON t1 FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'abort'); END;
|
||||
INSERT INTO t1 VALUES (1, 'x', 'x', 'x') ON CONFLICT(a) DO UPDATE SET a = excluded.a, b = excluded.b, c = excluded.c;
|
||||
ALTER TABLE t1 ADD COLUMN extra_6256 CLOB DEFAULT '';
|
||||
WITH RECURSIVE cnt(x) AS (VALUES(1) UNION ALL SELECT x+1 FROM cnt WHERE x<1) SELECT * FROM cnt;
|
||||
CREATE TABLE T1 (
|
||||
A VARCHAR(20),
|
||||
X VARCHAR(10),
|
||||
PRIMARY KEY (A, X),
|
||||
UNIQUE (X)
|
||||
);
|
||||
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 * FROM t1 NATURAL JOIN t1;
|
||||
ALTER TABLE t1 RENAME COLUMN d TO d_r9145;
|
||||
INSERT OR FAIL INTO t1 VALUES ('x', 'x', '', -7);
|
||||
INSERT INTO t1 VALUES (NULL, NULL, NULL, NULL);
|
||||
UPDATE t1 SET d = d + 1 RETURNING *;
|
||||
WITH RECURSIVE fib(a,b) AS (VALUES(1,1) UNION ALL SELECT b, a+b FROM fib WHERE b<1000) SELECT a FROM fib;
|
||||
SELECT COUNT(*) FILTER (WHERE b IS NOT NULL), SUM(rowid) FILTER (WHERE b > 0), COUNT(*) FILTER (WHERE 1=0), COUNT(*) FILTER (WHERE 1=1), COUNT(*) FILTER (WHERE NULL), AVG(b) FILTER (WHERE b > 0 AND b < 100), COUNT(*) FILTER (WHERE typeof(b) = "text") FROM t1;
|
||||
INSERT INTO T1 VALUES ('x', 'x') ON CONFLICT(A) DO UPDATE SET A = excluded.A, X = excluded.X;
|
||||
ALTER TABLE T1 DROP COLUMN A;
|
||||
CREATE TEMP VIEW IF NOT EXISTS v_t1_7233 AS SELECT c FROM t1;
|
||||
DETACH DATABASE aux30;
|
||||
UPDATE T1 SET A = A + 1 WHERE rowid = 1;
|
||||
INSERT INTO T1 SELECT * FROM T1;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_t1_9997 BEFORE UPDATE ON t1 FOR EACH ROW BEGIN SELECT RAISE(ROLLBACK, 'rb'); END;
|
||||
DELETE FROM T1 WHERE 0;
|
||||
INSERT INTO t1 DEFAULT VALUES;
|
||||
ALTER TABLE T2 RENAME TO T2_r5714;
|
||||
DELETE FROM T2 WHERE 1;
|
||||
SELECT * FROM T2 WHERE Y > ALL (SELECT Y FROM T2);
|
||||
SELECT * FROM T2;
|
||||
ALTER TABLE T1 ADD COLUMN extra_1823 FLOAT UNIQUE;
|
||||
WITH RECURSIVE fib(a,b,n) AS (VALUES(1,1,1) UNION ALL SELECT b, a+b, n+1 FROM fib WHERE n<95) SELECT a, n FROM fib;
|
||||
SELECT COUNT(*) FROM T1;
|
||||
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;
|
||||
ALTER TABLE T DROP COLUMN b;
|
||||
INSERT INTO T1 DEFAULT VALUES;
|
||||
SELECT COUNT(A) FILTER (WHERE A IS NOT NULL) OVER (PARTITION BY A ORDER BY A ROWS BETWEEN 2 PRECEDING AND 2 FOLLOWING EXCLUDE CURRENT /* PRAGMA application_id; */ ROW) FROM T2;
|
||||
INSERT INTO t1 VALUES ('x', 'x', 1, 'x') ON CONFLICT(a) DO UPDATE SET a = excluded.a, b = excluded.b, c = excluded.c;
|
||||
ALTER TABLE t1 DROP COLUMN b;
|
||||
INSERT OR FAIL INTO T2 VALUES ('x', -9);
|
||||
REINDEX;
|
||||
REINDEX;
|
||||
SELECT LAG(b, 0) OVER (ORDER BY b RANGE BETWEEN 1 PRECEDING AND 1 FOLLOWING) FROM T;
|
||||
SELECT SUM(Y) FROM T2;
|
||||
UPDATE T SET A = NULL WHERE 1;
|
||||
DELETE FROM /* PRAGMA defer_foreign_keys; */ t1 WHERE c > (SELECT AVG(c) FROM t1);
|
||||
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;
|
||||
.eqp auto
|
||||
CREATE TABLE T (
|
||||
a TEXT,
|
||||
b REAL
|
||||
);
|
||||
INSERT INTO T VALUES ('a',abs(json_valid(9223372036854775806, 6))), ('b',-200.5), ('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;
|
||||
PRAGMA short_column_names = NO;
|
||||
PRAGMA cell_size_check;
|
||||
.parameter
|
||||
ATTACH DATABASE ':memory:' AS aux30;
|
||||
.log ON
|
||||
SAVEPOINT sp6089;
|
||||
ATTACH DATABASE '' || (':memory:') AS aux56;
|
||||
CREATE TABLE main.t1(a INTEGER PRIMARY KEY, b TEXT, c INT, d INT);
|
||||
INSERT INTO t1 VALUES (strftime('%s', format('%d', 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 ignore_check_constraints = 0;
|
||||
DETACH DATABASE aux56;
|
||||
INSERT INTO t1 SELECT * FROM t1;
|
||||
PRAGMA recursive_triggers = OFF;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_t1_1212 AFTER UPDATE OF c ON t1 BEGIN SELECT RAISE(ROLLBACK, 'rb'); END;
|
||||
RELEASE sp6089;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_t1_4991 BEFORE UPDATE OF a ON t1 FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'abort'); END;
|
||||
INSERT INTO t1 VALUES (1, 'x', 'x', 'x') ON CONFLICT(a) DO UPDATE SET a = excluded.a, b = excluded.b, c = excluded.c;
|
||||
ALTER TABLE t1 ADD COLUMN extra_6256 CLOB DEFAULT '';
|
||||
WITH RECURSIVE cnt(x) AS (VALUES(1) UNION ALL SELECT x+1 FROM cnt WHERE x<1) SELECT * FROM cnt;
|
||||
CREATE TABLE T1 (
|
||||
A VARCHAR(20),
|
||||
X VARCHAR(10),
|
||||
PRIMARY KEY (A, X),
|
||||
UNIQUE (X)
|
||||
);
|
||||
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;
|
||||
CREATE TABLE T1 (
|
||||
A VARCHAR(20),
|
||||
X VARCHAR(10),
|
||||
PRIMARY KEY (A, X),
|
||||
UNIQUE (X)
|
||||
);
|
||||
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 * FROM t1 NATURAL JOIN t1;
|
||||
ALTER TABLE t1 RENAME COLUMN d TO d_r9145;
|
||||
INSERT AND FAIL INTO t1 VALUES ('x', 'x', '', -7);
|
||||
INSERT INTO t1 VALUES (NULL, NULL, NULL, NULL);
|
||||
UPDATE t1 SET d = d + 1 RETURNING *;
|
||||
WITH RECURSIVE fib(a,b) AS (VALUES(1,1) UNION ALL SELECT b, a+b FROM fib WHERE b<1000) SELECT a FROM fib;
|
||||
SELECT COUNT(*) FILTER (WHERE b IS NOT NULL), SUM(rowid) FILTER (WHERE b > 0), COUNT(*) FILTER (WHERE 1=0), COUNT(*) FILTER (WHERE 1=1), COUNT(*) FILTER (WHERE NULL), AVG(b) FILTER (WHERE b > 0 AND b < 100), COUNT(*) FILTER (WHERE typeof(b) = "text") FROM t1;
|
||||
INSERT INTO T1 VALUES ('x', 'x') ON CONFLICT(A) DO UPDATE SET A = excluded.A, X = excluded.X;
|
||||
ALTER TABLE T1 DROP COLUMN A;
|
||||
CREATE TEMP VIEW IF NOT EXISTS v_t1_7233 AS SELECT c FROM t1;
|
||||
DETACH DATABASE aux30;
|
||||
UPDATE T1 SET A = A + 1 WHERE rowid = 1;
|
||||
INSERT INTO T1 SELECT * FROM T1;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_t1_9997 BEFORE UPDATE ON t1 FOR EACH ROW BEGIN SELECT RAISE(ROLLBACK, 'rb'); END;
|
||||
DELETE FROM T1 WHERE 0;
|
||||
INSERT INTO t1 DEFAULT VALUES;
|
||||
ALTER TABLE T2 RENAME TO T2_r5714;
|
||||
DELETE FROM T2 WHERE 1;
|
||||
SELECT * FROM T2 WHERE Y > ALL (SELECT Y FROM T2);
|
||||
SELECT * FROM T2;
|
||||
ALTER TABLE T1 ADD COLUMN extra_1823 FLOAT UNIQUE;
|
||||
WITH RECURSIVE fib(a,b,n) AS (VALUES(1,1,1) UNION ALL SELECT b, a+b, n+1 FROM fib WHERE n<95) SELECT a, n FROM fib;
|
||||
SELECT COUNT(*) FROM T1;
|
||||
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;
|
||||
ALTER TABLE T DROP COLUMN b;
|
||||
INSERT INTO T1 DEFAULT VALUES;
|
||||
SELECT COUNT(A) FILTER (WHERE A IS NOT NULL) OVER (PARTITION BY A ORDER BY A ROWS BETWEEN 2 PRECEDING AND 2 FOLLOWING EXCLUDE CURRENT ROW) FROM T2;
|
||||
INSERT INTO t1 VALUES ('x', 'x', 1, 'x') ON CONFLICT(a) DO UPDATE SET a = excluded.a, b = excluded.b, c = excluded.c;
|
||||
ALTER TABLE t1 DROP COLUMN b;
|
||||
INSERT OR FAIL INTO T2 VALUES ('x', -9);
|
||||
REINDEX;
|
||||
REINDEX;
|
||||
SELECT LAG(b, 0) OVER (ORDER BY b RANGE BETWEEN 1 PRECEDING AND 1 FOLLOWING) FROM T;
|
||||
SELECT SUM(Y) FROM T2;
|
||||
UPDATE T SET A = NULL WHERE 1;
|
||||
DELETE FROM t1 WHERE c > (SELECT AVG(c) FROM t1);
|
||||
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;
|
||||
.eqp auto
|
||||
CREATE TABLE T (
|
||||
a TEXT,
|
||||
b REAL
|
||||
);
|
||||
INSERT INTO T VALUES ('a',abs(json_valid(9223372036854775806, 6))), ('b',-200.5), ('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;
|
||||
PRAGMA short_column_names = NO;
|
||||
PRAGMA cell_size_check;
|
||||
.parameter
|
||||
ATTACH DATABASE ':memory:' AS aux30;
|
||||
.log ON
|
||||
SAVEPOINT sp6089;
|
||||
ATTACH DATABASE '' || (':memory:') AS aux56;
|
||||
CREATE TABLE main.t1(a INTEGER PRIMARY KEY, b TEXT, c INT, d INT);
|
||||
INSERT INTO t1 VALUES (strftime('%s', format('%d', 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 ignore_check_constraints = 0;
|
||||
DETACH DATABASE aux56;
|
||||
INSERT INTO t1 SELECT * FROM t1;
|
||||
PRAGMA recursive_triggers = OFF;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_t1_1212 AFTER UPDATE OF c ON t1 BEGIN SELECT RAISE(ROLLBACK, 'rb'); END;
|
||||
RELEASE sp6089;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_t1_4991 BEFORE UPDATE OF a ON t1 FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'abort'); END;
|
||||
INSERT INTO t1 VALUES (1, 'x', 'x', 'x') ON CONFLICT(a) DO UPDATE SET a = excluded.a, b = excluded.b, c = excluded.c;
|
||||
ALTER TABLE t1 ADD COLUMN extra_6256 CLOB DEFAULT '';
|
||||
WITH RECURSIVE cnt(x) AS (VALUES(1) UNION ALL SELECT x+1 FROM cnt WHERE x<1) SELECT * FROM cnt;
|
||||
CREATE TABLE T1 (
|
||||
A VARCHAR(20),
|
||||
X VARCHAR(10),
|
||||
PRIMARY KEY (A, X),
|
||||
UNIQUE (X)
|
||||
);
|
||||
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 * FROM t1 NATURAL JOIN t1;
|
||||
ALTER TABLE t1 RENAME COLUMN d TO d_r9145;
|
||||
INSERT AND FAIL INTO t1 VALUES ('x', 'x', '', -7);
|
||||
INSERT INTO t1 VALUES (NULL, NULL, NULL, NULL);
|
||||
UPDATE t1 SET d = d + 1 RETURNING *;
|
||||
WITH RECURSIVE fib(a,b) AS (VALUES(1,1) UNION ALL SELECT b, a+b FROM fib WHERE b<1000) SELECT a FROM fib;
|
||||
SELECT COUNT(*) FILTER (WHERE b IS NOT NULL), SUM(rowid) FILTER (WHERE b > 0), COUNT(*) FILTER (WHERE 1=0), COUNT(*) FILTER (WHERE 1=1), COUNT(*) FILTER (WHERE NULL), AVG(b) FILTER (WHERE b > 0 AND b < 100), COUNT(*) FILTER (WHERE typeof(b) = "text") FROM t1;
|
||||
INSERT INTO T1 VALUES ('x', 'x') ON CONFLICT(A) DO UPDATE SET A = excluded.A, X = excluded.X;
|
||||
CREATE TABLE T1 (
|
||||
a INTEGER,
|
||||
b TEXT
|
||||
);
|
||||
CREATE TABLE T2 (
|
||||
a INTEGER,
|
||||
b TEXT
|
||||
);
|
||||
INSERT INTO T1 VALUES (1,'a'),(2,'b');
|
||||
INSERT INTO T2 VALUES (1,'c'),(1,'d');
|
||||
SELECT T1.b,
|
||||
(
|
||||
SELECT GROUP_CONCAT(b,',')
|
||||
FROM T2
|
||||
WHERE T2.a=T1.a
|
||||
) AS c
|
||||
FROM T1;
|
||||
ALTER TABLE T1 DROP COLUMN A;
|
||||
CREATE TEMP VIEW IF NOT EXISTS v_t1_7233 AS SELECT c FROM t1;
|
||||
DETACH DATABASE aux30;
|
||||
UPDATE T1 SET A = A + 1 WHERE rowid = 1;
|
||||
INSERT INTO T1 SELECT * FROM T1;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_t1_9997 BEFORE UPDATE ON t1 FOR EACH ROW BEGIN SELECT RAISE(ROLLBACK, 'rb'); END;
|
||||
DELETE FROM T1 WHERE 0;
|
||||
INSERT INTO t1 DEFAULT VALUES;
|
||||
ALTER TABLE T2 RENAME TO T2_r5714;
|
||||
DELETE FROM T2 WHERE 1;
|
||||
SELECT * FROM T2 WHERE Y > ALL (SELECT Y FROM T2);
|
||||
SELECT * FROM T2;
|
||||
ALTER TABLE T1 ADD COLUMN extra_1823 FLOAT UNIQUE;
|
||||
WITH RECURSIVE fib(a,b,n) AS (VALUES(1,1,1) UNION ALL SELECT b, a+b, n+1 FROM fib WHERE n<95) SELECT a, n FROM fib;
|
||||
SELECT COUNT(*) FROM T1;
|
||||
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;
|
||||
ALTER TABLE T DROP COLUMN b;
|
||||
INSERT INTO T1 DEFAULT VALUES;
|
||||
SELECT COUNT(A) FILTER (WHERE A IS NOT NULL) OVER (PARTITION BY A ORDER BY A ROWS BETWEEN 2 PRECEDING AND 2 FOLLOWING EXCLUDE CURRENT ROW) FROM T2;
|
||||
INSERT INTO t1 VALUES ('x', 'x', 1, 'x') ON CONFLICT(a) DO UPDATE SET a = excluded.a, b = excluded.b, c = excluded.c;
|
||||
ALTER TABLE t1 DROP COLUMN b;
|
||||
INSERT OR FAIL INTO T2 VALUES ('x', -9);
|
||||
REINDEX;
|
||||
REINDEX;
|
||||
SELECT LAG(b, 0) OVER (ORDER BY b RANGE BETWEEN 1 PRECEDING AND 1 FOLLOWING) FROM T;
|
||||
SELECT SUM(Y) FROM T2;
|
||||
UPDATE T SET A = NULL WHERE 1;
|
||||
DELETE FROM t1 WHERE c > (SELECT AVG(c) FROM t1);
|
||||
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;
|
||||
ROLLBACK TO sp2208;
|
||||
RELEASE sp2208;
|
||||
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 AND X < 100), COUNT(*) FILTER (WHERE typeof(X) = "text") FROM T1;
|
||||
INSERT INTO T1 DEFAULT VALUES;
|
||||
SELECT COUNT(*) FILTER (WHERE b IS NOT NULL), SUM(rowid) FILTER (WHERE b > 0), COUNT(*) FILTER (WHERE 1=0), COUNT(*) FILTER (WHERE 1=1), COUNT(*) FILTER (WHERE NULL), AVG(b) FILTER (WHERE b > 0 AND b < 100), COUNT(*) FILTER (WHERE typeof(b) = "text") FROM T1;
|
||||
SELECT b, COUNT(*) FROM T2 GROUP BY b HAVING COUNT(*) = (SELECT COUNT(*) FROM T2);
|
||||
ALTER TABLE T1 ADD COLUMN extra_4051 DECIMAL(10,5) DEFAULT NULL;
|
||||
VACUUM;
|
||||
SELECT COUNT(*) FROM T2;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_t1_3933 AFTER DELETE ON t1 FOR EACH ROW BEGIN SELECT RAISE(ROLLBACK, 'rb'); END;
|
||||
INSERT INTO T VALUES (NULL, NULL);
|
||||
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;
|
||||
VACUUM main;
|
||||
INSERT OR ABORT INTO T VALUES (-1, 0);
|
||||
ALTER TABLE t1 RENAME TO t1_r5175;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_t1_8911 AFTER UPDATE ON t1 BEGIN SELECT RAISE(FAIL, 'no'); END;
|
||||
INSERT INTO T1 SELECT * FROM T1;
|
||||
ALTER TABLE T1 ADD COLUMN extra_2551 CHAR(10) COLLATE NOCASE;
|
||||
SELECT COUNT(*) FROM T1;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_T2_1955 BEFORE UPDATE OF a ON T2 FOR EACH ROW BEGIN INSERT INTO T2(a) VALUES (NULL); END;
|
||||
INSERT OR REPLACE INTO T1 VALUES ('x', 0);
|
||||
SELECT TOTAL(b) FROM T2;
|
||||
CREATE UNIQUE INDEX IF NOT EXISTS idx_T1_3072 ON T1((b + 1)) WHERE b IS NOT NULL;
|
||||
VACUUM main;
|
||||
SELECT LAST_VALUE(b) OVER (ORDER BY b RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING EXCLUDE NO OTHERS) FROM T2;
|
||||
CREATE VIEW IF NOT EXISTS v_T1_4599 AS SELECT b FROM T1;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_T1_5914 AFTER DELETE ON T1 FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'abort'); END;
|
||||
INSERT OR REPLACE INTO T2 VALUES ('', '');
|
||||
INSERT INTO t1 SELECT * FROM t1;
|
||||
INSERT INTO T2 VALUES (NULL, NULL);
|
||||
WITH cte AS (SELECT 1 AS x) INSERT INTO T1(a) SELECT x FROM cte WHERE 1=0;
|
||||
```
|
||||
|
||||
## Actual output
|
||||
|
||||
```sql
|
||||
ok
|
||||
0
|
||||
.parameter CMD ... Manage SQL parameter bindings
|
||||
clear Erase all bindings
|
||||
init Initialize the TEMP table that holds bindings
|
||||
list List the current parameter bindings
|
||||
set PARAMETER VALUE Given SQL parameter PARAMETER a value of VALUE
|
||||
PARAMETER should start with one of: $ : @ ?
|
||||
unset PARAMETER Remove PARAMETER from the binding table
|
||||
CREATE TABLE "t2"("b","c","_ROWID_",PRIMARY KEY("b","c","_ROWID_"))WITHOUT ROWID;
|
||||
WARNING: writing to an imposter table will corrupt the "t1bc" index!
|
||||
Braun|30|3
|
||||
Wernher|10|-210866673600
|
||||
von|20|2
|
||||
Braun|30
|
||||
Wernher|10
|
||||
von|20
|
||||
```
|
||||
|
||||
## Expectation
|
||||
|
||||
```sql
|
||||
|
||||
```
|
||||
|
||||
## Flag
|
||||
|
||||
```
|
||||
|
||||
```
|
||||
|
||||
@@ -0,0 +1,243 @@
|
||||
## 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
|
||||
.log stderr
|
||||
ATTACH DATABASE '' || (':memory:') AS aux77;
|
||||
.dbconfig
|
||||
.changes on
|
||||
BEGIN IMMEDIATE;
|
||||
CREATE VIRTUAL TABLE t0 USING fts4("x", "y", "z");
|
||||
-- PRAGMA empty_result_callbacks = ON;
|
||||
|
||||
DROP TABLE t0;
|
||||
.explain auto
|
||||
.quit
|
||||
ATTACH DATABASE ('' || ('') || ('') || '') || (':memory:') AS aux13;
|
||||
((CREATE)) TABLE T (
|
||||
a TEXT,
|
||||
b REAL
|
||||
);
|
||||
INSERT INTO T VALUES (-(-(length(x'f6e36bb00a'))),(timediff(NULL, (unixepoch(NULL) * CAST(1 AS VARCHAR(255))))timediff(NULL, NULL) ->> '$[0]' * 1)), (2,-2.5), (3,0.0);
|
||||
CREATE INDEX c
|
||||
ON T(b);
|
||||
SELECT * FROM T WHErE NOT NOT (NOT NOT NOT (+b >= -2.5 aND b < 2.0)) ;
|
||||
DELETE FROM T WHERE b > (SELECT AVG(b) FROM T);
|
||||
SELECT * FROM T WHERE b IN (SELECT b FROM T WHERE 1/0 = 0);SELECT * FROM T WHERE b IN (SELECT b FROM T LIMIT -1);
|
||||
DETACH DATABASE aux13;
|
||||
PRAGMA short_column_names = TRUE;
|
||||
VACUUM;
|
||||
.explain auto
|
||||
.quit
|
||||
ATTACH DATABASE '' || (':memory:') AS aux13;
|
||||
((CREATE)) TABLE T (
|
||||
a INTEGER,
|
||||
b REAL
|
||||
);
|
||||
INSERT INTO T VALUES (-(-(length(x'f6e36bb00a'))),(timediff(NULL, (unixepoch(9223372036854775807) * 1))timediff(NULL, NULL) ->> '$[0]' * 1)), (2,-2.5), (3,0.0);
|
||||
CREATE INDEX c
|
||||
ON T(b);
|
||||
SELECT * FROM T WHERE NOT NOT (NOT NOT NOT (+b >= -2.5 AND b < 2.0)) ;
|
||||
DELETE FROM T WHERE b > (SELECT AVG(b) FROM T);
|
||||
SELECT * FROM T WHERE b IN (SELECT b FROM T WHERE 1/0 = 0);SELECT * FROM T WHERE b IN (SELECT b FROM T LIMIT -1);
|
||||
DETACH DATABASE aux13;
|
||||
PRAGMA short_column_names = TRUE;
|
||||
VACUUM;
|
||||
.explain auto
|
||||
.quit
|
||||
ATTACH DATABASE '' || (':memory:') AS aux13;
|
||||
((CREATE)) TABLE T (
|
||||
a INTEGER,
|
||||
b REAL
|
||||
);
|
||||
INSERT INTO T VALUES (-(-(length(x'f6e36bb00a'))),(timediff(NULL, (unixepoch(9223372036854775807) * 1))timediff(NULL, NULL) ->> '$[0]' * 1)), (2,-2.5), (3,0.0);
|
||||
CREATE INDEX c
|
||||
ON T(b);
|
||||
SELECT * FROM T WHERE NOT NOT (NOT NOT NOT (+b >= -2.5 AND b < 2.0)) ;
|
||||
DELETE FROM T WHERE b > (SELECT AVG(b) FROM T);
|
||||
SELECT * FROM T WHERE b IN (SELECT b FROM T WHERE 1/0 = 0);SELECT * FROM T WHERE b IN (SELECT b FROM T LIMIT -1);
|
||||
DETACH DATABASE aux13;
|
||||
PRAGMA short_column_names = TRUE;
|
||||
VACUUM;
|
||||
.explain auto
|
||||
.quit
|
||||
ATTACH DATABASE '' || (':memory:') AS aux13;
|
||||
((CREATE)) TABLE T (
|
||||
a INTEGER,
|
||||
b REAL
|
||||
);
|
||||
INSERT INTO T VALUES (-(-(length(x'f6e36bb00a'))),(timediff(NULL, (unixepoch(9223372036854775807) * 1))timediff(NULL, NULL) ->> '$[0]' * 1)), (2,-2.5), (3,0.0);
|
||||
CREATE INDEX c
|
||||
ON T(b);
|
||||
SELECT * FROM T WHERE NOT NOT (NOT NOT NOT (+b >= -2.5 AND b < 2.0)) ;
|
||||
DELETE FROM T WHERE b > (SELECT AVG(b) FROM T);
|
||||
SELECT * FROM T WHERE b IN (SELECT b FROM T WHERE 1/0 = 0);SELECT * FROM T WHERE b IN (SELECT b FROM T LIMIT -1);
|
||||
DETACH DATABASE aux13;
|
||||
PRAGMA short_column_names = TRUE;
|
||||
VACUUM;
|
||||
.explain auto
|
||||
.quit
|
||||
ATTACH DATABASE '' || (':memory:') AS aux13;
|
||||
((CREATE)) TABLE T (
|
||||
a INTEGER,
|
||||
b REAL
|
||||
);
|
||||
INSERT INTO T VALUES (-(-(length(x'f6e36bb00a'))),(timediff(NULL, (unixepoch(9223372036854775807) * 1))timediff(NULL, NULL) ->> '$[0]' * 1)), (2,-2.5), (3,0.0);
|
||||
CREATE INDEX c
|
||||
ON T(b);
|
||||
SELECT * FROM T WHERE NOT NOT (NOT NOT NOT (+b >= -2.5 AND b < 2.0)) ;
|
||||
DELETE FROM T WHERE b > (SELECT AVG(b) FROM T);
|
||||
SELECT * FROM T WHERE b IN (SELECT b FROM T WHERE 1/0 = 0);SELECT * FROM T WHERE b IN (SELECT b FROM T LIMIT -1);
|
||||
DETACH DATABASE aux13;
|
||||
PRAGMA short_column_names = TRUE;
|
||||
VACUUM;
|
||||
.explain auto
|
||||
.quit
|
||||
ATTACH DATABASE '' || /**/ (':memory:') AS aux13;
|
||||
((CREATE)) TABLE T (
|
||||
a INTEGER,
|
||||
b REAL
|
||||
);
|
||||
INSERT INTO T VALUES (-(-(length(x'f6e36bb00a'))),(timediff(NULL, (unixepoch(9223372036854775807) * 1))timediff(NULL, NULL) ->> '$[0]' * 1)), (2,-2.5), (3,0.0);
|
||||
CREATE INDEX c
|
||||
ON T(b);
|
||||
SELECT * FROM T WHERE NOT NOT (NOT NOT NOT (+b >= -2.5 AND b < 2.0)) ;
|
||||
DELETE FROM T WHERE b > (SELECT AVG(b) FROM T);
|
||||
SELECT * FROM T WHERE b IN (SELECT b FROM T WHERE 1/0 = 0);SELECT * FROM T WHERE b IN (SELECT b FROM T LIMIT -1);
|
||||
DETACH DATABASE aux13;
|
||||
PRAGMA short_column_names = TRUE;
|
||||
VACUUM;
|
||||
.explain auto
|
||||
.quit
|
||||
ATTACH DATABASE '' || (':memory:') AS aux13;
|
||||
((CREATE)) TABLE T (
|
||||
a INTEGER,
|
||||
b REAL
|
||||
);
|
||||
INSERT INTO T VALUES (-(-(length(x'f6e36bb00a'))),(timediff(NULL, (unixepoch(9223372036854775807) * 1))timediff(NULL, NULL) ->> '$[0]' * 1)), (2,-2.5), (3,0.0);
|
||||
CREATE INDEX c
|
||||
ON T(b);
|
||||
SELECT * FROM T WHERE NOT NOT (NOT NOT NOT (+b >= -2.5 AND b < 2.0)) ;
|
||||
DELETE FROM T WHERE b > (SELECT AVG(b) FROM T);
|
||||
SELECT * FROM T WHERE b IN (SELECT b FROM T WHERE 1/0 = 0);SELECT * FROM T WHERE b IN (SELECT b FROM T LIMIT -1);
|
||||
DETACH DATABASE aux13;
|
||||
PRAGMA short_column_names = TRUE;
|
||||
VACUUM;
|
||||
.explain auto
|
||||
.quit
|
||||
ATTACH DATABASE '' || (':memory:') AS aux13;
|
||||
((CREATE)) TABLE T (
|
||||
a INTEGER,
|
||||
b REAL
|
||||
);
|
||||
INSERT INTO T VALUES (-(-(length(x'f6e36bb00a'))),(timediff(NULL, (unixepoch(9223372036854775807) * 1))timediff(NULL, NULL) ->> '$[0]' * 1)), (2,-2.5), (3,0.0);
|
||||
CREATE INDEX c
|
||||
ON T(b);
|
||||
SELECT * FROM T WHERE NOT NOT (NOT NOT NOT (+b >= -2.5 AND b < 2.0)) ;
|
||||
DELETE FROM T WHERE b > (SELECT AVG(b) FROM T);
|
||||
SELECT * FROM T WHERE b IN (SELECT b FROM T WHERE 1/0 = 0);SELECT * FROM T WHERE b IN (SELECT b FROM T LIMIT -1);
|
||||
DETACH DATABASE aux13;
|
||||
PRAGMA short_column_names = TRUE;
|
||||
VACUUM;
|
||||
.explain auto
|
||||
.quit
|
||||
ATTACH DATABASE '' || (':memory:') AS aux13;
|
||||
((CREATE)) TABLE T (
|
||||
a INTEGER,
|
||||
b REAL
|
||||
);
|
||||
INSERT INTO T VALUES (-(-(length(x'f6e36bb00a'))),(timediff(NULL, (unixepoch(9223372036854775807) * 1))timediff(NULL, NULL) ->> '$[0]' * 1)), (2,-2.5), (3,0.0);
|
||||
CREATE INDEX c
|
||||
ON T(b);
|
||||
SELECT * FROM T WHERE NOT NOT (NOT NOT NOT (+b >= -2.5 AND b < 2.0)) ;
|
||||
DELETE FROM T WHERE b > (SELECT AVG(b) FROM T);
|
||||
SELECT * FROM T WHERE b IN (SELECT b FROM T WHERE 1/0 = 0);SELECT * FROM T WHERE b IN (SELECT b FROM T LIMIT -1);
|
||||
DETACH DATABASE aux13;
|
||||
PRAGMA short_column_names = TRUE;
|
||||
VACUUM;
|
||||
.explain auto
|
||||
.quit
|
||||
ATTACH DATABASE '' || (':memory:') AS aux13;
|
||||
((CREATE)) TABLE T (
|
||||
a INTEGER,
|
||||
b REAL
|
||||
);
|
||||
INSERT INTO T VALUES (-(-(length(x'f6e36bb00a'))),(timediff(NULL, (unixepoch(9223372036854775807) * 1))timediff(NULL, NULL) ->> '$[0]' * 1)), (2,-2.5), (3,0.0);
|
||||
CREATE INDEX c
|
||||
ON T(b);
|
||||
SELECT * FROM T WHERE NOT NOT (NOT NOT NOT (+b >= -2.5 AND b < 2.0)) ;
|
||||
DELETE FROM T WHERE b > (SELECT AVG(b) FROM T);
|
||||
SELECT * FROM T WHERE b IN (SELECT b FROM T WHERE 1/0 = 0);SELECT * FROM T WHERE b IN (SELECT b FROM T LIMIT -1);
|
||||
DETACH DATABASE aux13;
|
||||
PRAGMA short_column_names = TRUE;
|
||||
VACUUM;
|
||||
|
||||
COMMIT;
|
||||
VACUUM;
|
||||
VACUUM;
|
||||
DETACH DATABASE aux77;
|
||||
PRAGMA empty_result_callbacks = 1;
|
||||
PRAGMA wal_checkpoint('NOOP');
|
||||
```
|
||||
|
||||
## Actual output
|
||||
|
||||
```sql
|
||||
defensive off
|
||||
dqs_ddl on
|
||||
dqs_dml on
|
||||
enable_fkey off
|
||||
enable_qpsg off
|
||||
enable_trigger on
|
||||
enable_view on
|
||||
fts3_tokenizer off
|
||||
legacy_alter_table off
|
||||
legacy_file_format off
|
||||
load_extension on
|
||||
no_ckpt_on_close off
|
||||
reset_database off
|
||||
trigger_eqp off
|
||||
trusted_schema on
|
||||
writable_schema off
|
||||
changes: 0 total_changes: 0
|
||||
changes: 0 total_changes: 0
|
||||
changes: 0 total_changes: 0
|
||||
```
|
||||
|
||||
## Expectation
|
||||
|
||||
```sql
|
||||
attach_create on
|
||||
attach_write on
|
||||
comments on
|
||||
defensive on
|
||||
dqs_ddl off
|
||||
dqs_dml off
|
||||
enable_fkey off
|
||||
enable_qpsg off
|
||||
enable_trigger on
|
||||
enable_view on
|
||||
fts3_tokenizer off
|
||||
legacy_alter_table off
|
||||
legacy_file_format off
|
||||
load_extension on
|
||||
no_ckpt_on_close off
|
||||
reset_database off
|
||||
reverse_scanorder off
|
||||
stmt_scanstatus off
|
||||
trigger_eqp off
|
||||
trusted_schema off
|
||||
writable_schema off
|
||||
changes: 0 total_changes: 0
|
||||
changes: 0 total_changes: 0
|
||||
changes: 0 total_changes: 0
|
||||
```
|
||||
|
||||
## Flag
|
||||
|
||||
```
|
||||
|
||||
```
|
||||
|
||||
@@ -0,0 +1,88 @@
|
||||
## 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 TABLE T (
|
||||
a INTEGER,
|
||||
b TEXT,
|
||||
c REAL
|
||||
);
|
||||
INSERT INTO T VALUES (-10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,'a',1.25), (2,'b',-3.5), (3,'c',9e999);
|
||||
WITH d AS (SELECT * FROM T) SELECT * FROM d WHERE c > 0;
|
||||
PRAGMA analysis_limit;
|
||||
-- PERCENT_RANK()
|
||||
|
||||
PRAGMA full_column_names = YES;
|
||||
PRAGMA query_only = 7698233414002707256;
|
||||
.mode
|
||||
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;
|
||||
DELETE FROM T2 WHERE A > (SELECT AVG(A) FROM T2) RETURNING *;
|
||||
REINDEX T2;
|
||||
CREATE INDEX IF NOT EXISTS idx_T2_3616 ON T2(lower(X)) WHERE X > 0;
|
||||
INSERT INTO T1 VALUES (NULL, NULL, NULL);
|
||||
CREATE UNIQUE INDEX IF NOT EXISTS idx_T2_745 ON T2((X + 1)) WHERE X > 0;
|
||||
SELECT * FROM T1 NATURAL JOIN T1;
|
||||
SELECT * FROM T1;
|
||||
ANALYZE T1;
|
||||
CREATE TEMPORARY VIEW IF NOT EXISTS v_T1_7264 AS SELECT C FROM T1;
|
||||
CREATE VIEW IF NOT EXISTS v_T2_7482 AS SELECT X FROM T2;
|
||||
INSERT INTO T2 VALUES (NULL, NULL);
|
||||
CREATE TEMP VIEW IF NOT /**/ EXISTS v_T1_8172 AS SELECT A FROM T1;
|
||||
```
|
||||
|
||||
## Actual output
|
||||
|
||||
```sql
|
||||
-Inf|a|1.25
|
||||
3|c|Inf
|
||||
0
|
||||
current output mode: list
|
||||
m|9999999999999
|
||||
m|a
|
||||
n|b
|
||||
a|p|9999999999999
|
||||
b|q|-9999999999999
|
||||
a|p|9999999999999
|
||||
b|q|-9999999999999
|
||||
||
|
||||
```
|
||||
|
||||
## Expectation
|
||||
|
||||
```sql
|
||||
-Inf|a|1.25
|
||||
3|c|Inf
|
||||
0
|
||||
current output mode: list --escape ascii
|
||||
m|9999999999999
|
||||
m|a
|
||||
n|b
|
||||
a|p|9999999999999
|
||||
b|q|-9999999999999
|
||||
a|p|9999999999999
|
||||
b|q|-9999999999999
|
||||
||
|
||||
```
|
||||
|
||||
## Flag
|
||||
|
||||
```
|
||||
|
||||
```
|
||||
|
||||
@@ -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
|
||||
PRAGMA cell_size_check;
|
||||
creATE VIRTUAL TABLE t0 USING fts3("x", "y", "z");
|
||||
DROP TABLE t0;
|
||||
ATTACH DATABASE ':memory:' AS aux73;
|
||||
.print
|
||||
ATTACH DATABASE ':memory:' AS aux97;
|
||||
.timer on
|
||||
CREATE TEMPORARY TABLE t0(x, y, z);
|
||||
SELECT -NULL;
|
||||
SELECT * FROM sqlite_temp_master WHERE sql GLOB '000[]***';
|
||||
DROP TABLE t0;
|
||||
BEGIN IMMEDIATE;
|
||||
.exit -log10(radians(json_group_object('k', -(-(json_array(timediff(NULL, length(-timediff(NULL, '-Inf')timediff(NULL, NULL)))timediff(NULL, NULL), NULL, NULL))))))
|
||||
PRAGMA read_uncommitted;
|
||||
PRAGMA ignore_check_constraints <> YES;
|
||||
PRAGMA legacy_alter_table;
|
||||
.parameter
|
||||
CREATE TABLE t1(a, b, c, d);
|
||||
CREATE UNIQUE INDEX i1 ON t1(b, c);
|
||||
CREATE UNIQUE INDEX i2 ON t1(d COLLATE nocase);
|
||||
CREATE TABLE t2(x DECIMAL('-',(nan + (unicode('你好') + max(x'af5df3e5294acaf5a4f1de6448da', '2', randomblob(-5))))) PRIMARY KEY, y);
|
||||
CREATE TABLE main.t3(c1 PRIMARY KEY NOT NULL, c2 NOT NULL);
|
||||
CREATE INDEX i3 ON t3(c2);
|
||||
CREATE TABLE t4(a, b NOT NULL, c NOT NULL, d NOT NULL);
|
||||
CREATE UNIQUE /* PRAGMA fullsync = 0; */ INDEX t4i1 ON t4(b, c);
|
||||
CREATE UNIQUE INDEX t4i2 ON t4(d COLLATE nocase);
|
||||
SELECT DISTINCT c FROM t1 WHERE NOT b = ?;
|
||||
SELECT DISTINCT c FROM t1 WHERE b IN (1,2);
|
||||
SELECT DISTINCT a, b, c COLLATE nocase FROM t1
|
||||
|
||||
PRAGMA integrity_check("users");
|
||||
CREATE UNIQUE INDEX IF NOT EXISTS idx_t1_5148 ON t1(lower(c)) WHERE c > 0;
|
||||
SELECT * FROM t1;
|
||||
COMMIT;
|
||||
SELECT COUNT(b) FROM t1;
|
||||
INSERT INTO t2 DEFAULT VALUES;
|
||||
WITH cte AS (SELECT * FROM t4) SELECT * FROM cte WHERE c > 0 UNION ALL SELECT * FROM cte WHERE c <= 0;
|
||||
CREATE TEMP VIEW IF NOT EXISTS v_t1_244 AS SELECT c FROM t1;
|
||||
INSERT INTO t1 SELECT * FROM t1;
|
||||
ALTER TABLE t2 RENAME TO t2_r6544;
|
||||
INSERT INTO t4 SELECT * FROM t4;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_t4_4171 BEFORE DELETE ON t4 FOR EACH ROW BEGIN SELECT RAISE(ROLLBACK, 'rb'); END;
|
||||
VACUUM;
|
||||
CREATE TABLE T (
|
||||
a TINYINT PRECISION,
|
||||
b TEXT
|
||||
);
|
||||
INSERT INTO T VALUES ('a','2020-01-01'), ('b','2026-01-01');
|
||||
SELECT a,
|
||||
CAST(
|
||||
(julianday('now')-julianday(b))/365.25
|
||||
AS INTEGER
|
||||
) AS c
|
||||
FROM T;
|
||||
DETACH DATABASE aux97;
|
||||
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;
|
||||
SELECT * FROM T;
|
||||
ALTER TABLE t2 ADD COLUMN extra_3261 FLOAT;
|
||||
UPDATE t0 SET z = z + 1 WHERE 1;
|
||||
WITH cte AS (SELECT CASE WHEN c IS NULL THEN 0 ELSE c END AS val FROM t1) SELECT * FROM cte;
|
||||
PRAGMA page_size = 4096;
|
||||
CREATE INDEX IF NOT EXISTS idx_t0_8372 ON t0(lower(y)) WHERE y IS NOT NULL;
|
||||
PRAGMA recursive_triggers = 1;
|
||||
ALTER TABLE t2 RENAME COLUMN x TO x_r3369;
|
||||
INSERT OR ABORT INTO t0 VALUES ('x', NULL, '');
|
||||
INSERT INTO t0 VALUES (NULL, NULL, NULL);
|
||||
DROP TABLE IF EXISTS t3;
|
||||
SELECT COUNT(*) FILTER (WHERE y IS NOT NULL), SUM(rowid) FILTER (WHERE y > 0), COUNT(*) FILTER (WHERE 1=0), COUNT(*) FILTER (WHERE 1=1), COUNT(*) FILTER (WHERE NULL), AVG(y) FILTER (WHERE y > 0 AND y < 100), COUNT(*) FILTER (WHERE typeof(y) = "text") FROM t2;
|
||||
INSERT INTO t1 VALUES (NULL, NULL, NULL, NULL);
|
||||
CREATE TRIGGER IF NOT EXISTS trg_t4_6716 AFTER DELETE ON t4 FOR EACH ROW BEGIN SELECT RAISE(IGNORE); END;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_t2_5474 BEFORE INSERT ON t2 FOR EACH ROW BEGIN SELECT RAISE(FAIL, 'no'); END;
|
||||
PRAGMA checkpoint_fullsync;
|
||||
INSERT INTO t1 SELECT * FROM t1;
|
||||
INSERT OR ABORT INTO t4 VALUES ('', 0, 0, -3);
|
||||
ALTER TABLE t3 RENAME COLUMN c1 TO c1_r9839;
|
||||
WITH cte AS (SELECT c1 FROM t3 UNION ALL SELECT c1 FROM t3) SELECT * FROM cte;
|
||||
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 AND x < 100), COUNT(*) FILTER (WHERE typeof(x) = "text") FROM t0;
|
||||
PRAGMA max_page_count = 5000000;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_t4_645 AFTER UPDATE ON t4 BEGIN SELECT RAISE(ABORT, 'abort'); END;
|
||||
VACUUM;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_t4_7725 BEFORE UPDATE ON t4 BEGIN SELECT RAISE(FAIL, 'no'); END;
|
||||
DETACH DATABASE aux73;
|
||||
CREATE INDEX IF NOT EXISTS idx_t2_3331 ON t2(y COLLATE NOCASE) WHERE y IS NOT NULL;
|
||||
CREATE VIEW IF NOT EXISTS v_T_6672 AS SELECT b FROM T;
|
||||
REINDEX;
|
||||
ANALYZE T;
|
||||
ALTER TABLE t0 ADD COLUMN extra_6804 NATIVE CHARACTER(70)NVARCHAR(100) DEFAULT (abs(random()) % 1000);
|
||||
ALTER TABLE t0 DROP COLUMN y;
|
||||
CREATE TABLE T (
|
||||
A VARCHAR(20),
|
||||
B VARCHAR(10),
|
||||
C INTEGER,
|
||||
PRIMARY KEY (A, B)
|
||||
);
|
||||
INSERT INTO T VALUES ('a', 'p', -2147483648);
|
||||
INSERT INTO T VALUES ('b', 'q', 100);
|
||||
INSERT INTO T VALUES ('b', 'r', 200);
|
||||
INSERT INTO T VALUES ('c', 's', 300);
|
||||
INSERT INTO T VALUES ('d', 't', 2147483647);
|
||||
INSERT INTO T VALUES ('b', 't', 50);
|
||||
SELECT A, COUNT(*) AS D, SUM(C) AS E FROM T GROUP BY A HAVING COUNT(*) > 1;
|
||||
SELECT GROUP_CONCAT(d) FROM t4;
|
||||
ANALYZE t2;
|
||||
ALTER TABLE t1 ADD COLUMN extra_1405 INT8 DEFAULT '';
|
||||
SELECT * FROM t2 AS a LEFT OUTER JOIN t0 AS b ON a.rowid = b.rowid;
|
||||
WITH RECURSIVE multi(a, b, c) AS (VALUES(1, 2, 3) UNION ALL SELECT a+1, b+1, c+1 FROM multi WHERE a<45) SELECT * FROM multi;
|
||||
DELETE FROM t3 WHERE 1 RETURNING *;
|
||||
DELETE FROM t3 WHERE c1 > (SELECT AVG(c1) FROM t3);
|
||||
ANALYZE;
|
||||
INSERT INTO T SELECT * FROM T;
|
||||
ALTER TABLE t4 RENAME TO t4_r5482;
|
||||
SELECT * FROM t3 WHERE c2 <= ANY (SELECT c2 FROM t3);
|
||||
VACUUM;
|
||||
SELECT STRING_AGG(b) FROM t4;
|
||||
SELECT * FROM t3 CROSS JOIN t2;
|
||||
DELETE FROM t4 WHERE rowid = 69 RETURNING *;
|
||||
SELECT * FROM t4 WHERE d IN (SELECT DISTINCT d FROM t4);
|
||||
INSERT INTO T DEFAULT VALUES;
|
||||
ALTER TABLE T RENAME COLUMN B TO B_r9596;
|
||||
CREATE VIEW IF NOT EXISTS v_t1_2631 AS SELECT b FROM t1;
|
||||
CREATE INDEX IF NOT EXISTS idx_t3_7394 ON t3(c2);
|
||||
SELECT * FROM (SELECT y FROM t0 WHERE y IS NOT NULL) AS sub;
|
||||
CREATE TEMP VIEW IF NOT EXISTS v_t4_1728 AS SELECT d FROM t4;
|
||||
DELETE FROM t1 WHERE a IS NULL;
|
||||
WITH RECURSIVE fib(a,b) AS (VALUES(1,1) UNION ALL SELECT b, a+b FROM fib WHERE b<1000) SELECT a FROM fib;
|
||||
SELECT COUNT(*) FILTER (WHERE z IS NOT NULL), SUM(rowid) FILTER (WHERE z > 0), COUNT(*) FILTER (WHERE 1=0), COUNT(*) FILTER (WHERE 1=1), COUNT(*) FILTER (WHERE NULL), AVG(z) FILTER (WHERE z > 0 AND z < 100), COUNT(*) FILTER (WHERE typeof(z) = "text") FROM t0;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_T_1938 BEFORE UPDATE ON T FOR EACH ROW BEGIN SELECT RAISE(IGNORE); END;
|
||||
```
|
||||
|
||||
## Actual output
|
||||
|
||||
```sql
|
||||
0
|
||||
|
||||
Run Time: real 0.000 user 0.000000 sys 0.000076
|
||||
|
||||
Run Time: real 0.000 user 0.000000 sys 0.000012
|
||||
Run Time: real 0.000 user 0.000000 sys 0.000026
|
||||
Run Time: real 0.000 user 0.000000 sys 0.000068
|
||||
Run Time: real 0.000 user 0.000000 sys 0.000007
|
||||
```
|
||||
|
||||
## Expectation
|
||||
|
||||
```sql
|
||||
0
|
||||
|
||||
Run Time: real 0.000054 user 0.000065 sys 0.000000
|
||||
|
||||
Run Time: real 0.000008 user 0.000009 sys 0.000000
|
||||
Run Time: real 0.000017 user 0.000017 sys 0.000000
|
||||
Run Time: real 0.000055 user 0.000055 sys 0.000000
|
||||
Run Time: real 0.000005 user 0.000005 sys 0.000000
|
||||
```
|
||||
|
||||
## Flag
|
||||
|
||||
```
|
||||
|
||||
```
|
||||
|
||||
@@ -0,0 +1,74 @@
|
||||
## 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 TABLE t1(a,b,c);
|
||||
CREATE INDEX t1a ON t1(a DESC);
|
||||
INSERT INTO t1 VALUES(timediff(1, 1),2,3);
|
||||
INSERT INTO t1 VALUES(2,3,4);
|
||||
ALTER TABLE t1 ADD COLUMN d;
|
||||
PRAGMA integrity_check;
|
||||
|
||||
INSERT INTO t1 VALUES (NULL, NULL, NULL);
|
||||
```
|
||||
|
||||
## 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
|
||||
```
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,49 @@
|
||||
## 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 case_sensitive_like = ON;
|
||||
PRAGMA full_column_names = NO;
|
||||
PRAGMA count_changes = 1;
|
||||
.mode
|
||||
DROP TABLE IF EXISTS t1;
|
||||
CREATE TABLE t1 (c0, c1 REAL PRIMARY KEY);
|
||||
INSERT INTO t1(c0, c1) VALUES (0, 1), (0, 0);
|
||||
UPDATE t1 SET c0 = NULL;
|
||||
UPDATE OR REPLACE t1 SET c1 = 1;
|
||||
SELECT DISTINCT * FROM t1 WHERE (t1.c0 IS NULL);
|
||||
PRAGMA integrity_check;
|
||||
|
||||
CREATE INDEX IF NOT EXISTS idx_t1_1624 ON t1((c0 + 1)) WHERE c0 > 0;
|
||||
```
|
||||
|
||||
## Actual output
|
||||
|
||||
```sql
|
||||
current output mode: list
|
||||
2
|
||||
2
|
||||
2
|
||||
|1.0
|
||||
ok
|
||||
```
|
||||
|
||||
## Expectation
|
||||
|
||||
```sql
|
||||
current output mode: list --escape ascii
|
||||
2
|
||||
2
|
||||
2
|
||||
|1.0
|
||||
ok
|
||||
```
|
||||
|
||||
## Flag
|
||||
|
||||
```
|
||||
|
||||
```
|
||||
|
||||
@@ -0,0 +1,572 @@
|
||||
## 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
|
||||
.timeout -1
|
||||
BEGIN;
|
||||
PRAGMA case_sensitive_like = OFF;
|
||||
.eqp full
|
||||
ATTACH DATABASE ':memory:' AS aux5;
|
||||
.stats vmstep
|
||||
PRAGMA wal_checkpoint('PASSIVE');
|
||||
.prompt 'IPA eli isopropanoli on loistava puhdistusaine joka irrataa'
|
||||
.width -(-((x'ff77' + jsonb_array(CAST(pi() AS DOUB))))) hex(unlikely(replace(x'449094d71496db26fb', '', 'x'))) NULL
|
||||
CREATE TABLE t1(a INTEGER PRIMARY KEY, b TEXT, c INT, d INT);
|
||||
-- PRAGMA empty_result_callbacks;
|
||||
|
||||
INSERT INTO t1 VALUES (CAST(nullif(-(-(1 ->> '$[0]')), NULL) AS CHAR(10)), '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
|
||||
|
||||
WITH _m AS MATERIALIZED (SELECT * FROM T2) SELECT * FROM t2;
|
||||
SELECT b, c FROM t1 ORDER BY b, c;
|
||||
.quit
|
||||
.dump
|
||||
CREATE TABLE T (
|
||||
a INTEGER,
|
||||
b REAL
|
||||
);
|
||||
INSERT INTO T VALUES (cosh(1),1.5), (2,-2.5), (3,0.0);
|
||||
CREATE INDEX c
|
||||
ON T(b);
|
||||
SELECT * FROM T WHERE NOT NOT (NOT NOT (NOT b >= -2.5 AND b < 2.0)) ;
|
||||
REINDEX T;
|
||||
UPDATE T SET b = CURRENT_TIMESTAMP WHERE 1 RETURNING *;
|
||||
INSERT INTO T SELECT * FROM T;
|
||||
SELECT * FROM T WHERE EXISTS (SELECT 1 FROM T WHERE +a > 0);
|
||||
CREATE TABLE T (
|
||||
A VARCHAR(10) PRIMARY KEY,
|
||||
B VARCHAR(15),
|
||||
C BIGINT,
|
||||
UNIQUE (B, C)
|
||||
);
|
||||
INSERT INTO T VALUES ('a', 'p', -9223372036854775808);
|
||||
INSERT INTO T VALUES ('b', 'q', 4000);
|
||||
INSERT INTO T VALUES ('c', 'r', 1700);
|
||||
INSERT INTO T VALUES ('d', 'r', 9223372036854775807);
|
||||
INSERT INTO T VALUES ('e', 's', 0);
|
||||
SELECT A, C FROM T WHERE +C > 1200 AND C < 9999999999 ORDER BY C;
|
||||
WITH m AS MATERIALIZED (SELECT * FROM T) SELECT m.a FROM m NATURAL JOIN m AS m2 ON m.a = m2.a;
|
||||
ALTER TABLE T ADD COLUMN extra_7396 FLOA COLLATE NOCASE;
|
||||
ALTER TABLE T ADD COLUMN extra_5763 BIGINT DEFAULT NULL;
|
||||
SELECT * FROM T WHERE a IN (SELECT DISTINCT a FROM T);
|
||||
DELETE FROM T WHERE +rowid = 52;
|
||||
DELETE FROM T WHERE 1;
|
||||
SELECT STRING_AGG(b) FROM T;
|
||||
CREATE UNIQUE INDEX IF NOT EXISTS idx_T_150 ON T((a + 1));
|
||||
ALTER TABLE T RENAME COLUMN B TO B_r1410;
|
||||
ALTER TABLE t1 DROP COLUMN a;
|
||||
INSERT INTO t1 VALUES (NULL, NULL, NULL, NULL);
|
||||
ALTER TABLE t1 DROP COLUMN d;
|
||||
VACUUM;
|
||||
INSERT INTO T SELECT * FROM T;
|
||||
CREATE UNIQUE INDEX IF NOT EXISTS idx_T_2079 ON T(C COLLATE NOCASE) WHERE C IS NOT NULL;
|
||||
INSERT INTO T VALUES (1, 1, 'x') ON CONFLICT(A) DO UPDATE SET A = excluded.A, B = excluded.B, C = excluded.C;
|
||||
SELECT * FROM t1;
|
||||
ANALYZE;
|
||||
CREATE TABLE T1 (
|
||||
A VARCHAR(15) PRIMARY KEY,
|
||||
B VARCHAR(30) NOT NULL UNIQUE
|
||||
);
|
||||
CREATE TABLE _m (
|
||||
A VARCHAR(10) PRIMARY KEY,
|
||||
X VARCHAR(15) NOT NULL,
|
||||
C BIGINT,
|
||||
FOREIGN KEY (X) REFERENCES T1(A)
|
||||
);
|
||||
INSERT INTO T1 VALUES ('p', 'x');
|
||||
INSERT INTO T1 VALUES ('q', 'y');
|
||||
INSERT INTO T2 VALUES ('a', 'p', 9223372036854775807);
|
||||
INSERT INTO T2 VALUES ('b', 'q', -9223372036854775808);
|
||||
SELECT X, SUM(C) AS D, COUNT(*) AS E FROM T2 GROUP BY X;
|
||||
ANALYZE T2;
|
||||
VACUUM main;
|
||||
ALTER TABLE T ADD COLUMN extra_276 INT8 COLLATE RTRIM;
|
||||
DROP TABLE IF EXISTS t1;
|
||||
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 T2;
|
||||
|
||||
SELECT COUNT(*) FROM T;
|
||||
INSERT INTO T2 VALUES (NULL, NULL, NULL);
|
||||
ALTER TABLE T RENAME COLUMN A TO A_r7435;
|
||||
SELECT SUM(a) OVER (ORDER BY a) FROM t1;
|
||||
SELECT * FROM T2;
|
||||
CREATE TEMP VIEW IF NOT EXISTS v_T1_1714 AS SELECT B FROM T1;
|
||||
REINDEX;
|
||||
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;
|
||||
SELECT * FROM T1 AS a LEFT OUTER JOIN T AS b ON a.rowid = b.rowid;
|
||||
SELECT STRING_AGG(A, '|') FROM T2;
|
||||
REINDEX t1;
|
||||
INSERT INTO T VALUES (1, NULL, NULL) ON CONFLICT(a) DO UPDATE SET a = excluded.a, b = excluded.b, c = excluded.c;
|
||||
INSERT OR REPLACE INTO t1 VALUES (0, 7, 4, -10);
|
||||
CREATE TEMP VIEW IF NOT EXISTS v_T_4522 AS SELECT
|
||||
b FROM T;
|
||||
PRAGMA defer_foreign_keys = TRUE;
|
||||
ALTER TABLE T RENAME COLUMN c TO c_r3156;
|
||||
SELECT * FROM T AS a FULL JOIN T1 AS b ON a.rowid = b.rowid;
|
||||
DETACH DATABASE aux5;
|
||||
|
||||
SELECT COUNT(*) FROM t1;
|
||||
INSERT INTO t1 VALUES (NULL, NULL, NULL, NULL);
|
||||
SELECT AVG(a) FROM t1;
|
||||
PRAGMA auto_vacuum = FULL;
|
||||
ALTER TABLE T ADD COLUMN extra_265 DOUB UNIQUE;
|
||||
DROP INDEX IF EXISTS t1;
|
||||
END TRANSACTION;
|
||||
WITH a AS (SELECT * FROM _m), b AS (SELECT * FROM _m) SELECT * FROM a UNION ALL SELECT * FROM b;
|
||||
```
|
||||
|
||||
## Actual output
|
||||
|
||||
```sql
|
||||
addr opcode p1 p2 p3 p4 p5 comment
|
||||
---- ------------- ---- ---- ---- ------------- -- -------------
|
||||
0 Init 0 1 0 0 Start at 1
|
||||
1 String8 0 1 0 :memory: 0 r[1]=':memory:'
|
||||
2 String8 0 2 0 aux5 0 r[2]='aux5'
|
||||
3 Null 0 3 0 0 r[3]=NULL
|
||||
4 Function 0 1 4 sqlite_attach(3) 0 r[4]=func(r[1..3])
|
||||
5 Expire 1 0 0 0
|
||||
6 Halt 0 0 0 0
|
||||
addr opcode p1 p2 p3 p4 p5 comment
|
||||
---- ------------- ---- ---- ---- ------------- -- -------------
|
||||
0 Init 0 1 0 0 Start at 1
|
||||
1 Expire 1 1 0 0
|
||||
2 Checkpoint 12 0 1 0
|
||||
3 ResultRow 1 3 0 0 output=r[1..3]
|
||||
4 Halt 0 0 0 0
|
||||
0|-1|-1
|
||||
VM-steps: 5
|
||||
addr opcode p1 p2 p3 p4 p5 comment
|
||||
---- ------------- ---- ---- ---- ------------- -- -------------
|
||||
0 Init 0 28 0 0 Start at 28
|
||||
1 ReadCookie 0 3 2 0
|
||||
2 If 3 5 0 0
|
||||
3 SetCookie 0 2 4 0
|
||||
4 SetCookie 0 5 1 0
|
||||
5 CreateBtree 0 2 1 0 r[2]=root iDb=0 flags=1
|
||||
6 OpenWrite 0 1 0 5 0 root=1 iDb=0
|
||||
7 NewRowid 0 1 0 0 r[1]=rowid
|
||||
8 Blob 6 3 0 0 r[3]= (len=6)
|
||||
9 Insert 0 3 1 8 intkey=r[1] data=r[3]
|
||||
10 Close 0 0 0 0
|
||||
11 Close 0 0 0 0
|
||||
12 Null 0 4 5 0 r[4..5]=NULL
|
||||
13 Noop 2 0 4 0
|
||||
14 OpenWrite 1 1 0 5 0 root=1 iDb=0; sqlite_master
|
||||
15 SeekRowid 1 17 1 0 intkey=r[1]
|
||||
16 Rowid 1 5 0 0 r[5]=[P2]=PX rowid of P1
|
||||
17 IsNull 5 25 0 0 if r[5]==NULL goto 25
|
||||
18 String8 0 6 0 table 0 r[6]='table'
|
||||
19 String8 0 7 0 t1 0 r[7]='t1'
|
||||
20 String8 0 8 0 t1 0 r[8]='t1'
|
||||
21 SCopy 2 9 0 0 r[9]=r[2]
|
||||
22 String8 0 10 0 CREATE TABLE t1(a INTEGER PRIMARY KEY, b TEXT, c INT, d INT) 0 r[10]='CREATE TABLE t1(a INTEGER PRIMARY KEY, b TEXT, c INT, d INT)'
|
||||
23 MakeRecord 6 5 4 BBBDB 0 r[4]=mkrec(r[6..10])
|
||||
24 Insert 1 4 5 0 intkey=r[5] data=r[4]
|
||||
25 SetCookie 0 1 1 0
|
||||
26 ParseSchema 0 0 0 tbl_name='t1' AND type!='trigger' 0
|
||||
27 Halt 0 0 0 0
|
||||
28 Transaction 0 1 0 0 1 usesStmtJournal=1
|
||||
29 Goto 0 1 0 0
|
||||
VM-steps: 30
|
||||
addr opcode p1 p2 p3 p4 p5 comment
|
||||
---- ------------- ---- ---- ---- ------------- -- -------------
|
||||
0 Init 0 28 0 0 Start at 28
|
||||
1 OpenWrite 0 2 0 4 0 root=2 iDb=0; t1
|
||||
2 SoftNull 2 0 0 0 r[2]=NULL
|
||||
3 String8 0 3 0 Wernher 0 r[3]='Wernher'
|
||||
4 Integer 10 4 0 0 r[4]=10
|
||||
5 Integer 100 5 0 0 r[5]=100
|
||||
6 Once 0 17 0 0
|
||||
7 Integer 0 10 0 0 r[10]=0
|
||||
8 Integer 0 12 0 0 r[12]=0
|
||||
9 Integer 1 14 0 0 r[14]=1
|
||||
10 String8 0 15 0 $[0] 0 r[15]='$[0]'
|
||||
11 Function 3 14 13 ->>(2) 0 r[13]=func(r[14..15])
|
||||
12 Subtract 13 12 11 0 r[11]=r[12]-r[13]
|
||||
13 Subtract 11 10 8 0 r[8]=r[10]-r[11]
|
||||
14 Null 0 9 0 0 r[9]=NULL
|
||||
15 CollSeq 0 0 0 BINARY-8 0
|
||||
16 Function 3 8 7 nullif(2) 0 r[7]=func(r[8..9])
|
||||
17 SCopy 7 1 0 0 r[1]=r[7]
|
||||
18 Cast 1 66 0 0 affinity(r[1])
|
||||
19 NotNull 1 21 0 0 if r[1]!=NULL goto 21
|
||||
20 NewRowid 0 1 0 0 r[1]=rowid
|
||||
21 MustBeInt 1 0 0 0
|
||||
22 Noop 0 0 0 0 uniqueness check for ROWID
|
||||
23 NotExists 0 25 1 0 intkey=r[1]
|
||||
24 Halt 1555 2 0 t1.a 2
|
||||
25 MakeRecord 2 4 6 DBDD 0 r[6]=mkrec(r[2..5])
|
||||
26 Insert 0 6 1 t1 49 intkey=r[1] data=r[6]
|
||||
27 Halt 0 0 0 0
|
||||
28 Transaction 0 1 1 0 1 usesStmtJournal=0
|
||||
29 Goto 0 1 0 0
|
||||
VM-steps: 29
|
||||
addr opcode p1 p2 p3 p4 p5 comment
|
||||
---- ------------- ---- ---- ---- ------------- -- -------------
|
||||
0 Init 0 16 0 0 Start at 16
|
||||
1 OpenWrite 0 2 0 4 0 root=2 iDb=0; t1
|
||||
2 SoftNull 2 0 0 0 r[2]=NULL
|
||||
3 String8 0 3 0 von 0 r[3]='von'
|
||||
4 Integer 20 4 0 0 r[4]=20
|
||||
5 Integer 200 5 0 0 r[5]=200
|
||||
6 Integer 2 1 0 0 r[1]=2
|
||||
7 NotNull 1 9 0 0 if r[1]!=NULL goto 9
|
||||
8 NewRowid 0 1 0 0 r[1]=rowid
|
||||
9 MustBeInt 1 0 0 0
|
||||
10 Noop 0 0 0 0 uniqueness check for ROWID
|
||||
11 NotExists 0 13 1 0 intkey=r[1]
|
||||
12 Halt 1555 2 0 t1.a 2
|
||||
13 MakeRecord 2 4 6 DBDD 0 r[6]=mkrec(r[2..5])
|
||||
14 Insert 0 6 1 t1 49 intkey=r[1] data=r[6]
|
||||
15 Halt 0 0 0 0
|
||||
16 Transaction 0 1 1 0 1 usesStmtJournal=0
|
||||
17 Goto 0 1 0 0
|
||||
VM-steps: 16
|
||||
addr opcode p1 p2 p3 p4 p5 comment
|
||||
---- ------------- ---- ---- ---- ------------- -- -------------
|
||||
0 Init 0 16 0 0 Start at 16
|
||||
1 OpenWrite 0 2 0 4 0 root=2 iDb=0; t1
|
||||
2 SoftNull 2 0 0 0 r[2]=NULL
|
||||
3 String8 0 3 0 Braun 0 r[3]='Braun'
|
||||
4 Integer 30 4 0 0 r[4]=30
|
||||
5 Integer 300 5 0 0 r[5]=300
|
||||
6 Integer 3 1 0 0 r[1]=3
|
||||
7 NotNull 1 9 0 0 if r[1]!=NULL goto 9
|
||||
8 NewRowid 0 1 0 0 r[1]=rowid
|
||||
9 MustBeInt 1 0 0 0
|
||||
10 Noop 0 0 0 0 uniqueness check for ROWID
|
||||
11 NotExists 0 13 1 0 intkey=r[1]
|
||||
12 Halt 1555 2 0 t1.a 2
|
||||
13 MakeRecord 2 4 6 DBDD 0 r[6]=mkrec(r[2..5])
|
||||
14 Insert 0 6 1 t1 49 intkey=r[1] data=r[6]
|
||||
15 Halt 0 0 0 0
|
||||
16 Transaction 0 1 1 0 1 usesStmtJournal=0
|
||||
17 Goto 0 1 0 0
|
||||
VM-steps: 16
|
||||
addr opcode p1 p2 p3 p4 p5 comment
|
||||
---- ------------- ---- ---- ---- ------------- -- -------------
|
||||
0 Init 0 34 0 0 Start at 34
|
||||
1 Noop 0 33 0 0
|
||||
2 CreateBtree 0 1 2 0 r[1]=root iDb=0 flags=2
|
||||
3 OpenWrite 0 1 0 5 0 root=1 iDb=0; sqlite_master
|
||||
4 String8 0 3 0 index 0 r[3]='index'
|
||||
5 String8 0 4 0 t1bc 0 r[4]='t1bc'
|
||||
6 String8 0 5 0 t1 0 r[5]='t1'
|
||||
7 SCopy 1 6 0 0 r[6]=r[1]
|
||||
8 String8 0 7 0 CREATE INDEX t1bc ON t1(b, c) 0 r[7]='CREATE INDEX t1bc ON t1(b, c)'
|
||||
9 NewRowid 0 2 0 0 r[2]=rowid
|
||||
10 MakeRecord 3 5 8 BBBDB 0 r[8]=mkrec(r[3..7])
|
||||
11 Insert 0 8 2 24 intkey=r[2] data=r[8]
|
||||
12 SorterOpen 3 0 2 k(3,,,) 0
|
||||
13 OpenRead 1 2 0 4 0 root=2 iDb=0; t1
|
||||
14 Rewind 1 21 0 0
|
||||
15 Column 1 1 10 0 r[10]=t1.b
|
||||
16 Column 1 2 11 0 r[11]=t1.c
|
||||
17 Rowid 1 12 0 0 r[12]=t1.rowid
|
||||
18 MakeRecord 10 3 9 0 r[9]=mkrec(r[10..12])
|
||||
19 SorterInsert 3 9 0 0 key=r[9]
|
||||
20 Next 1 15 0 0
|
||||
21 OpenWrite 2 1 0 k(3,,,) 17 root=1 iDb=0
|
||||
22 SorterSort 3 27 0 0
|
||||
23 SorterData 3 9 2 0 r[9]=data
|
||||
24 SeekEnd 2 0 0 0
|
||||
25 IdxInsert 2 9 0 16 key=r[9]
|
||||
26 SorterNext 3 23 0 0
|
||||
27 Close 1 0 0 0
|
||||
28 Close 2 0 0 0
|
||||
29 Close 3 0 0 0
|
||||
30 SetCookie 0 1 2 0
|
||||
31 ParseSchema 0 0 0 name='t1bc' AND type='index' 0
|
||||
32 Expire 0 1 0 0
|
||||
33 Halt 0 0 0 0
|
||||
34 Transaction 0 1 1 0 1 usesStmtJournal=1
|
||||
35 Goto 0 1 0 0
|
||||
VM-steps: 56
|
||||
addr opcode p1 p2 p3 p4 p5 comment
|
||||
---- ------------- ---- ---- ---- ------------- -- -------------
|
||||
0 Init 0 1 0 0 Start at 1
|
||||
1 Expire 1 1 0 0
|
||||
2 Expire 0 0 0 0
|
||||
3 Halt 0 0 0 0
|
||||
VM-steps: 4
|
||||
CREATE TABLE "t2"("b","c","_ROWID_",PRIMARY KEY("b","c","_ROWID_"))WITHOUT ROWID;
|
||||
WARNING: writing to an imposter table will corrupt the "t1bc" index!
|
||||
QUERY PLAN
|
||||
`--SCAN t2
|
||||
addr opcode p1 p2 p3 p4 p5 comment
|
||||
---- ------------- ---- ---- ---- ------------- -- -------------
|
||||
0 Init 0 9 0 0 Start at 9
|
||||
1 OpenRead 1 3 0 k(3,,,) 0 root=3 iDb=0; sqlite_autoindex_t2_1
|
||||
2 Rewind 1 8 1 0 0
|
||||
3 Column 1 0 1 0 r[1]=t2.b
|
||||
4 Column 1 1 2 0 r[2]=t2.c
|
||||
5 Column 1 2 3 0 r[3]=t2._ROWID_
|
||||
6 ResultRow 1 3 0 0 output=r[1..3]
|
||||
7 Next 1 3 0 1
|
||||
8 Halt 0 0 0 0
|
||||
9 Transaction 0 0 2 0 1 usesStmtJournal=0
|
||||
10 Goto 0 1 0 0
|
||||
Braun|30|3
|
||||
Wernher|10|1
|
||||
von|20|2
|
||||
VM-steps: 21
|
||||
QUERY PLAN
|
||||
`--SCAN t1 USING COVERING INDEX t1bc
|
||||
addr opcode p1 p2 p3 p4 p5 comment
|
||||
---- ------------- ---- ---- ---- ------------- -- -------------
|
||||
0 Init 0 9 0 0 Start at 9
|
||||
1 Noop 1 5 0 0
|
||||
2 OpenRead 2 3 0 k(3,,,) 0 root=3 iDb=0; t1bc
|
||||
3 Rewind 2 8 1 0 0
|
||||
4 Column 2 0 1 0 r[1]=t1.b
|
||||
5 Column 2 1 2 0 r[2]=t1.c
|
||||
6 ResultRow 1 2 0 0 output=r[1..2]
|
||||
7 Next 2 4 0 1
|
||||
8 Halt 0 0 0 0
|
||||
9 Transaction 0 0 2 0 1 usesStmtJournal=0
|
||||
10 Goto 0 1 0 0
|
||||
Braun|30
|
||||
Wernher|10
|
||||
von|20
|
||||
VM-steps: 19
|
||||
```
|
||||
|
||||
## Expectation
|
||||
|
||||
```sql
|
||||
addr opcode p1 p2 p3 p4 p5 comment
|
||||
---- ------------- ---- ---- ---- ------------- -- -------------
|
||||
0 Init 0 7 0 0 Start at 7
|
||||
1 String8 0 1 0 :memory: 0 r[1]=':memory:'
|
||||
2 String8 0 2 0 aux5 0 r[2]='aux5'
|
||||
3 Null 0 3 0 0 r[3]=NULL
|
||||
4 Function 0 1 4 sqlite_attach(3) 0 r[4]=func(r[1..3])
|
||||
5 Expire 1 0 0 0
|
||||
6 Halt 0 0 0 0
|
||||
7 Goto 0 1 0 0
|
||||
addr opcode p1 p2 p3 p4 p5 comment
|
||||
---- ------------- ---- ---- ---- ------------- -- -------------
|
||||
0 Init 0 5 0 0 Start at 5
|
||||
1 Expire 1 1 0 0
|
||||
2 Checkpoint 12 0 1 0
|
||||
3 ResultRow 1 3 0 0 output=r[1..3]
|
||||
4 Halt 0 0 0 0
|
||||
5 Goto 0 1 0 0
|
||||
0|-1|-1
|
||||
VM-steps: 6
|
||||
addr opcode p1 p2 p3 p4 p5 comment
|
||||
---- ------------- ---- ---- ---- ------------- -- -------------
|
||||
0 Init 0 28 0 0 Start at 28
|
||||
1 ReadCookie 0 3 2 0
|
||||
2 If 3 5 0 0
|
||||
3 SetCookie 0 2 4 0
|
||||
4 SetCookie 0 5 1 0
|
||||
5 CreateBtree 0 2 1 0 r[2]=root iDb=0 flags=1
|
||||
6 OpenWrite 0 1 0 5 0 root=1 iDb=0
|
||||
7 NewRowid 0 1 0 0 r[1]=rowid
|
||||
8 Blob 6 3 0 0 r[3]= (len=6)
|
||||
9 Insert 0 3 1 8 intkey=r[1] data=r[3]
|
||||
10 Close 0 0 0 0
|
||||
11 Close 0 0 0 0
|
||||
12 Null 0 4 5 0 r[4..5]=NULL
|
||||
13 Noop 2 0 4 0
|
||||
14 OpenWrite 1 1 0 5 0 root=1 iDb=0; sqlite_master
|
||||
15 SeekRowid 1 17 1 0 intkey=r[1]
|
||||
16 Rowid 1 5 0 0 r[5]= rowid of 1
|
||||
17 IsNull 5 25 0 0 if r[5]==NULL goto 25
|
||||
18 String8 0 6 0 table 0 r[6]='table'
|
||||
19 String8 0 7 0 t1 0 r[7]='t1'
|
||||
20 String8 0 8 0 t1 0 r[8]='t1'
|
||||
21 Copy 2 9 0 0 r[9]=r[2]
|
||||
22 String8 0 10 0 CREATE TABLE t1(a INTEGER PRIMARY KEY, b TEXT, c INT, d INT) 0 r[10]='CREATE TABLE t1(a INTEGER PRIMARY KEY, b TEXT, c INT, d INT)'
|
||||
23 MakeRecord 6 5 4 BBBDB 0 r[4]=mkrec(r[6..10])
|
||||
24 Insert 1 4 5 0 intkey=r[5] data=r[4]
|
||||
25 SetCookie 0 1 1 0
|
||||
26 ParseSchema 0 0 0 tbl_name='t1' AND type!='trigger' 0
|
||||
27 Halt 0 0 0 0
|
||||
28 Transaction 0 1 0 0 1 usesStmtJournal=1
|
||||
29 Goto 0 1 0 0
|
||||
VM-steps: 30
|
||||
addr opcode p1 p2 p3 p4 p5 comment
|
||||
---- ------------- ---- ---- ---- ------------- -- -------------
|
||||
0 Init 0 28 0 0 Start at 28
|
||||
1 OpenWrite 0 2 0 4 0 root=2 iDb=0; t1
|
||||
2 SoftNull 2 0 0 0 r[2]=NULL
|
||||
3 String8 0 3 0 Wernher 0 r[3]='Wernher'
|
||||
4 Integer 10 4 0 0 r[4]=10
|
||||
5 Integer 100 5 0 0 r[5]=100
|
||||
6 Once 0 17 0 0
|
||||
7 Integer 0 10 0 0 r[10]=0
|
||||
8 Integer 0 12 0 0 r[12]=0
|
||||
9 Integer 1 14 0 0 r[14]=1
|
||||
10 String8 0 15 0 $[0] 0 r[15]='$[0]'
|
||||
11 Function 3 14 13 ->>(2) 0 r[13]=func(r[14..15])
|
||||
12 Subtract 13 12 11 0 r[11]=r[12]-r[13]
|
||||
13 Subtract 11 10 8 0 r[8]=r[10]-r[11]
|
||||
14 Null 0 9 0 0 r[9]=NULL
|
||||
15 CollSeq 0 0 0 BINARY-8 0
|
||||
16 Function 3 8 7 nullif(2) 0 r[7]=func(r[8..9])
|
||||
17 SCopy 7 1 0 0 r[1]=r[7]
|
||||
18 Cast 1 66 0 0 affinity(r[1])
|
||||
19 NotNull 1 21 0 0 if r[1]!=NULL goto 21
|
||||
20 NewRowid 0 1 0 0 r[1]=rowid
|
||||
21 MustBeInt 1 0 0 0
|
||||
22 Noop 0 0 0 0 uniqueness check for ROWID
|
||||
23 NotExists 0 25 1 0 intkey=r[1]
|
||||
24 Halt 1555 2 0 t1.a 2
|
||||
25 MakeRecord 2 4 6 DBDD 0 r[6]=mkrec(r[2..5])
|
||||
26 Insert 0 6 1 t1 49 intkey=r[1] data=r[6]
|
||||
27 Halt 0 0 0 0
|
||||
28 Transaction 0 1 1 0 1 usesStmtJournal=0
|
||||
29 Goto 0 1 0 0
|
||||
VM-steps: 29
|
||||
addr opcode p1 p2 p3 p4 p5 comment
|
||||
---- ------------- ---- ---- ---- ------------- -- -------------
|
||||
0 Init 0 16 0 0 Start at 16
|
||||
1 OpenWrite 0 2 0 4 0 root=2 iDb=0; t1
|
||||
2 SoftNull 2 0 0 0 r[2]=NULL
|
||||
3 String8 0 3 0 von 0 r[3]='von'
|
||||
4 Integer 20 4 0 0 r[4]=20
|
||||
5 Integer 200 5 0 0 r[5]=200
|
||||
6 Integer 2 1 0 0 r[1]=2
|
||||
7 NotNull 1 9 0 0 if r[1]!=NULL goto 9
|
||||
8 NewRowid 0 1 0 0 r[1]=rowid
|
||||
9 MustBeInt 1 0 0 0
|
||||
10 Noop 0 0 0 0 uniqueness check for ROWID
|
||||
11 NotExists 0 13 1 0 intkey=r[1]
|
||||
12 Halt 1555 2 0 t1.a 2
|
||||
13 MakeRecord 2 4 6 DBDD 0 r[6]=mkrec(r[2..5])
|
||||
14 Insert 0 6 1 t1 49 intkey=r[1] data=r[6]
|
||||
15 Halt 0 0 0 0
|
||||
16 Transaction 0 1 1 0 1 usesStmtJournal=0
|
||||
17 Goto 0 1 0 0
|
||||
VM-steps: 16
|
||||
addr opcode p1 p2 p3 p4 p5 comment
|
||||
---- ------------- ---- ---- ---- ------------- -- -------------
|
||||
0 Init 0 16 0 0 Start at 16
|
||||
1 OpenWrite 0 2 0 4 0 root=2 iDb=0; t1
|
||||
2 SoftNull 2 0 0 0 r[2]=NULL
|
||||
3 String8 0 3 0 Braun 0 r[3]='Braun'
|
||||
4 Integer 30 4 0 0 r[4]=30
|
||||
5 Integer 300 5 0 0 r[5]=300
|
||||
6 Integer 3 1 0 0 r[1]=3
|
||||
7 NotNull 1 9 0 0 if r[1]!=NULL goto 9
|
||||
8 NewRowid 0 1 0 0 r[1]=rowid
|
||||
9 MustBeInt 1 0 0 0
|
||||
10 Noop 0 0 0 0 uniqueness check for ROWID
|
||||
11 NotExists 0 13 1 0 intkey=r[1]
|
||||
12 Halt 1555 2 0 t1.a 2
|
||||
13 MakeRecord 2 4 6 DBDD 0 r[6]=mkrec(r[2..5])
|
||||
14 Insert 0 6 1 t1 49 intkey=r[1] data=r[6]
|
||||
15 Halt 0 0 0 0
|
||||
16 Transaction 0 1 1 0 1 usesStmtJournal=0
|
||||
17 Goto 0 1 0 0
|
||||
VM-steps: 16
|
||||
addr opcode p1 p2 p3 p4 p5 comment
|
||||
---- ------------- ---- ---- ---- ------------- -- -------------
|
||||
0 Init 0 34 0 0 Start at 34
|
||||
1 Noop 0 33 0 0
|
||||
2 CreateBtree 0 1 2 0 r[1]=root iDb=0 flags=2
|
||||
3 OpenWrite 0 1 0 5 0 root=1 iDb=0; sqlite_master
|
||||
4 String8 0 3 0 index 0 r[3]='index'
|
||||
5 String8 0 4 0 t1bc 0 r[4]='t1bc'
|
||||
6 String8 0 5 0 t1 0 r[5]='t1'
|
||||
7 SCopy 1 6 0 0 r[6]=r[1]
|
||||
8 String8 0 7 0 CREATE INDEX t1bc ON t1(b, c) 0 r[7]='CREATE INDEX t1bc ON t1(b, c)'
|
||||
9 NewRowid 0 2 0 0 r[2]=rowid
|
||||
10 MakeRecord 3 5 8 BBBDB 0 r[8]=mkrec(r[3..7])
|
||||
11 Insert 0 8 2 24 intkey=r[2] data=r[8]
|
||||
12 SorterOpen 3 0 2 k(3,,,) 0
|
||||
13 OpenRead 1 2 0 4 0 root=2 iDb=0; t1
|
||||
14 Rewind 1 21 0 0
|
||||
15 Column 1 1 10 0 r[10]= cursor 1 column 1
|
||||
16 Column 1 2 11 0 r[11]= cursor 1 column 2
|
||||
17 Rowid 1 12 0 0 r[12]=t1.rowid
|
||||
18 MakeRecord 10 3 9 0 r[9]=mkrec(r[10..12])
|
||||
19 SorterInsert 3 9 0 0 key=r[9]
|
||||
20 Next 1 15 0 0
|
||||
21 OpenWrite 2 1 0 k(3,,,) 17 root=1 iDb=0
|
||||
22 SorterSort 3 27 0 0
|
||||
23 SorterData 3 9 2 0 r[9]=data
|
||||
24 SeekEnd 2 0 0 0
|
||||
25 IdxInsert 2 9 0 16 key=r[9]
|
||||
26 SorterNext 3 23 0 0
|
||||
27 Close 1 0 0 0
|
||||
28 Close 2 0 0 0
|
||||
29 Close 3 0 0 0
|
||||
30 SetCookie 0 1 2 0
|
||||
31 ParseSchema 0 0 0 name='t1bc' AND type='index' 0
|
||||
32 Expire 0 1 0 0
|
||||
33 Halt 0 0 0 0
|
||||
34 Transaction 0 1 1 0 1 usesStmtJournal=1
|
||||
35 Goto 0 1 0 0
|
||||
VM-steps: 56
|
||||
addr opcode p1 p2 p3 p4 p5 comment
|
||||
---- ------------- ---- ---- ---- ------------- -- -------------
|
||||
0 Init 0 4 0 0 Start at 4
|
||||
1 Expire 1 1 0 0
|
||||
2 Expire 0 0 0 0
|
||||
3 Halt 0 0 0 0
|
||||
4 Goto 0 1 0 0
|
||||
VM-steps: 5
|
||||
CREATE TABLE "t2"("b","c","_ROWID_",PRIMARY KEY("b","c","_ROWID_"))WITHOUT ROWID;
|
||||
QUERY PLAN
|
||||
`--SCAN t2
|
||||
addr opcode p1 p2 p3 p4 p5 comment
|
||||
---- ------------- ---- ---- ---- ------------- -- -------------
|
||||
0 Init 0 10 0 0 Start at 10
|
||||
1 OpenRead 1 3 0 k(3,,,) 0 root=3 iDb=0; sqlite_autoindex_t2_1
|
||||
2 Explain 2 0 214 SCAN t2 0
|
||||
3 Rewind 1 9 1 0 0
|
||||
4 Column 1 0 1 0 r[1]= cursor 1 column 0
|
||||
5 Column 1 1 2 0 r[2]= cursor 1 column 1
|
||||
6 Column 1 2 3 0 r[3]= cursor 1 column 2
|
||||
7 ResultRow 1 3 0 0 output=r[1..3]
|
||||
8 Next 1 4 0 1
|
||||
9 Halt 0 0 0 0
|
||||
10 Transaction 0 0 2 0 1 usesStmtJournal=0
|
||||
11 Goto 0 1 0 0
|
||||
Braun|30|3
|
||||
Wernher|10|1
|
||||
von|20|2
|
||||
VM-steps: 21
|
||||
QUERY PLAN
|
||||
`--SCAN t1 USING COVERING INDEX t1bc
|
||||
addr opcode p1 p2 p3 p4 p5 comment
|
||||
---- ------------- ---- ---- ---- ------------- -- -------------
|
||||
0 Init 0 10 0 0 Start at 10
|
||||
1 Noop 1 5 0 0
|
||||
2 OpenRead 2 3 0 k(3,,,) 0 root=3 iDb=0; t1bc
|
||||
3 Explain 3 0 215 SCAN t1 USING COVERING INDEX t1bc 0
|
||||
4 Rewind 2 9 1 0 0
|
||||
5 Column 2 0 1 0 r[1]= cursor 2 column 0
|
||||
6 Column 2 1 2 0 r[2]= cursor 2 column 1
|
||||
7 ResultRow 1 2 0 0 output=r[1..2]
|
||||
8 Next 2 5 0 1
|
||||
9 Halt 0 0 0 0
|
||||
10 Transaction 0 0 2 0 1 usesStmtJournal=0
|
||||
11 Goto 0 1 0 0
|
||||
Braun|30
|
||||
Wernher|10
|
||||
von|20
|
||||
VM-steps: 19
|
||||
```
|
||||
|
||||
## Flag
|
||||
|
||||
```
|
||||
|
||||
```
|
||||
|
||||
@@ -0,0 +1,411 @@
|
||||
## 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 TABLE T1 (
|
||||
A VARCHAR(15) PRIMARY KEY,
|
||||
B VARCHAR(30) NOT NULL UNIQUE
|
||||
);
|
||||
CREATE TABLE T2 (
|
||||
A VARCHAR(10) PRIMARY KEY,
|
||||
X VARCHAR(15) NOT NULL,
|
||||
C BIGINT,
|
||||
FOREIGN KEY (X) REFERENCES T1(A)
|
||||
);
|
||||
INSERT INTO T1 VALUES ('p', 'x');
|
||||
INSERT INTO T1 VALUES ('q', 'y');
|
||||
INSERT INTO T2 VALUES ('a', 'p', 9223372036854775807);
|
||||
INSERT INTO T2 VALUES ('b', 'q', -9223372036854775808);
|
||||
SELECT X, SUM(C) AS D, COUNT(*) AS E FROM T2 GROUP BY X;
|
||||
PRAGMA quick_check(if(0, 20, 0, 20, 1, 20));
|
||||
SAVEPOINT sp2208;
|
||||
.eqp auto
|
||||
CREATE TABLE T (
|
||||
a BIGINT,
|
||||
b REAL
|
||||
);
|
||||
INSERT INTO T VALUES ('a',abs(json_valid(acos(if(NULL, json_type(exp(json_valid(1.7976931348623157e+308, 6)), '$'), 0, 1.7976931348623157e+308, 0, 1.7976931348623157e+308, 1.7976931348623157e+308)), 6))), ('b',-200.5), ('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;
|
||||
PRAGMA short_column_names = NO;
|
||||
PRAGMA cell_size_check;
|
||||
.parameter
|
||||
ATTACH DATABASE ':memory:' AS aux30;
|
||||
.log ON
|
||||
SAVEPOINT sp6089;
|
||||
ATTACH DATABASE '' || (':memory:') AS aux56;
|
||||
CREATE TABLE main.t1(a INTEGER PRIMARY KEY, b TEXT, c INT, d INT);
|
||||
INSERT INTO t1 VALUES (strftime('%s', format('%d', 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 ignore_check_constraints = 0;
|
||||
DETACH DATABASE aux56;
|
||||
INSERT INTO t1 SELECT * FROM t1;
|
||||
PRAGMA recursive_triggers = OFF;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_t1_1212 AFTER UPDATE OF c ON t1 BEGIN SELECT RAISE(ROLLBACK, 'rb'); END;
|
||||
RELEASE sp6089;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_t1_4991 BEFORE UPDATE OF a ON t1 FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'abort'); END;
|
||||
INSERT INTO t1 VALUES (1, 'x', 'x', 'x') ON CONFLICT(a) DO UPDATE SET a = excluded.a, b = excluded.b, c = excluded.c;
|
||||
ALTER TABLE t1 ADD COLUMN extra_6256 CLOB DEFAULT '';
|
||||
WITH RECURSIVE cnt(x) AS (VALUES(1) UNION ALL SELECT x+1 FROM cnt WHERE x<1) SELECT * FROM cnt;
|
||||
CREATE TABLE T1 (
|
||||
A VARCHAR(20),
|
||||
X VARCHAR(10),
|
||||
PRIMARY KEY (A, X),
|
||||
UNIQUE (X)
|
||||
);
|
||||
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 * FROM t1 NATURAL JOIN t1;
|
||||
ALTER TABLE t1 RENAME COLUMN d TO d_r9145;
|
||||
INSERT OR FAIL INTO t1 VALUES ('x', 'x', '', -7);
|
||||
INSERT INTO t1 VALUES (NULL, NULL, NULL, NULL);
|
||||
UPDATE t1 SET d = d + 1 RETURNING *;
|
||||
WITH RECURSIVE fib(a,b) AS (VALUES(1,1) UNION ALL SELECT b, a+b FROM fib WHERE b<1000) SELECT a FROM fib;
|
||||
SELECT COUNT(*) FILTER (WHERE b IS NOT NULL), SUM(rowid) FILTER (WHERE b > 0), COUNT(*) FILTER (WHERE 1=0), COUNT(*) FILTER (WHERE 1=1), COUNT(*) FILTER (WHERE NULL), AVG(b) FILTER (WHERE b > 0 AND b < 100), COUNT(*) FILTER (WHERE typeof(b) = "text") FROM t1;
|
||||
INSERT INTO T1 VALUES ('x', 'x') ON CONFLICT(A) DO UPDATE SET A = excluded.A, X = excluded.X;
|
||||
ALTER TABLE T1 DROP COLUMN A;
|
||||
CREATE TEMP VIEW IF NOT EXISTS v_t1_7233 AS SELECT c FROM t1;
|
||||
DETACH DATABASE aux30;
|
||||
UPDATE T1 SET A = A + 1 WHERE rowid = 1;
|
||||
INSERT INTO T1 SELECT * FROM T1;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_t1_9997 BEFORE UPDATE ON t1 FOR EACH ROW BEGIN SELECT RAISE(ROLLBACK, 'rb'); END;
|
||||
DELETE FROM T1 WHERE 0;
|
||||
INSERT INTO t1 DEFAULT VALUES;
|
||||
ALTER TABLE T2 RENAME TO T2_r5714;
|
||||
DELETE FROM T2 WHERE 1;
|
||||
SELECT * FROM T2 WHERE Y > ALL (SELECT Y FROM T2);
|
||||
SELECT * FROM T2;
|
||||
ALTER TABLE T1 ADD COLUMN extra_1823 FLOAT UNIQUE;
|
||||
WITH RECURSIVE fib(a,b,n) AS (VALUES(1,1,1) UNION ALL SELECT b, a+b, n+1 FROM fib WHERE n<95) SELECT a, n FROM fib;
|
||||
SELECT COUNT(*) FROM T1;
|
||||
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;
|
||||
ALTER TABLE T DROP COLUMN b;
|
||||
INSERT INTO T1 DEFAULT VALUES;
|
||||
SELECT COUNT(A) FILTER (WHERE A IS NOT NULL) OVER (PARTITION BY A ORDER BY A ROWS BETWEEN 2 PRECEDING AND 2 FOLLOWING EXCLUDE CURRENT /* PRAGMA application_id; */ ROW) FROM T2;
|
||||
INSERT INTO t1 VALUES ('x', 'x', 1, 'x') ON CONFLICT(a) DO UPDATE SET a = excluded.a, b = excluded.b, c = excluded.c;
|
||||
ALTER TABLE t1 DROP COLUMN b;
|
||||
INSERT OR FAIL INTO T2 VALUES ('x', -9);
|
||||
REINDEX;
|
||||
REINDEX;
|
||||
SELECT LAG(b, 0) OVER (ORDER BY b RANGE BETWEEN 1 PRECEDING AND 1 FOLLOWING) FROM T;
|
||||
SELECT SUM(Y) FROM T2;
|
||||
UPDATE T SET A = NULL WHERE 1;
|
||||
DELETE FROM /* PRAGMA defer_foreign_keys; */ t1 WHERE c > (SELECT AVG(c) FROM t1);
|
||||
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;
|
||||
.eqp auto
|
||||
CREATE TABLE T (
|
||||
a TEXT,
|
||||
b REAL
|
||||
);
|
||||
INSERT INTO T VALUES ('a',abs(json_valid(9223372036854775806, 6))), ('b',-200.5), ('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;
|
||||
PRAGMA short_column_names = NO;
|
||||
PRAGMA cell_size_check;
|
||||
.parameter
|
||||
ATTACH DATABASE ':memory:' AS aux30;
|
||||
.log ON
|
||||
SAVEPOINT sp6089;
|
||||
ATTACH DATABASE '' || (':memory:') AS aux56;
|
||||
CREATE TABLE main.t1(a INTEGER PRIMARY KEY, b TEXT, c INT, d INT);
|
||||
INSERT INTO t1 VALUES (strftime('%s', format('%d', 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 ignore_check_constraints = 0;
|
||||
DETACH DATABASE aux56;
|
||||
INSERT INTO t1 SELECT * FROM t1;
|
||||
PRAGMA recursive_triggers = OFF;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_t1_1212 AFTER UPDATE OF c ON t1 BEGIN SELECT RAISE(ROLLBACK, 'rb'); END;
|
||||
RELEASE sp6089;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_t1_4991 BEFORE UPDATE OF a ON t1 FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'abort'); END;
|
||||
INSERT INTO t1 VALUES (1, 'x', 'x', 'x') ON CONFLICT(a) DO UPDATE SET a = excluded.a, b = excluded.b, c = excluded.c;
|
||||
ALTER TABLE t1 ADD COLUMN extra_6256 CLOB DEFAULT '';
|
||||
WITH RECURSIVE cnt(x) AS (VALUES(1) UNION ALL SELECT x+1 FROM cnt WHERE x<1) SELECT * FROM cnt;
|
||||
CREATE TABLE T1 (
|
||||
A VARCHAR(20),
|
||||
X VARCHAR(10),
|
||||
PRIMARY KEY (A, X),
|
||||
UNIQUE (X)
|
||||
);
|
||||
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;
|
||||
CREATE TABLE T1 (
|
||||
A VARCHAR(20),
|
||||
X VARCHAR(10),
|
||||
PRIMARY KEY (A, X),
|
||||
UNIQUE (X)
|
||||
);
|
||||
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 * FROM t1 NATURAL JOIN t1;
|
||||
ALTER TABLE t1 RENAME COLUMN d TO d_r9145;
|
||||
INSERT AND FAIL INTO t1 VALUES ('x', 'x', '', -7);
|
||||
INSERT INTO t1 VALUES (NULL, NULL, NULL, NULL);
|
||||
UPDATE t1 SET d = d + 1 RETURNING *;
|
||||
WITH RECURSIVE fib(a,b) AS (VALUES(1,1) UNION ALL SELECT b, a+b FROM fib WHERE b<1000) SELECT a FROM fib;
|
||||
SELECT COUNT(*) FILTER (WHERE b IS NOT NULL), SUM(rowid) FILTER (WHERE b > 0), COUNT(*) FILTER (WHERE 1=0), COUNT(*) FILTER (WHERE 1=1), COUNT(*) FILTER (WHERE NULL), AVG(b) FILTER (WHERE b > 0 AND b < 100), COUNT(*) FILTER (WHERE typeof(b) = "text") FROM t1;
|
||||
INSERT INTO T1 VALUES ('x', 'x') ON CONFLICT(A) DO UPDATE SET A = excluded.A, X = excluded.X;
|
||||
ALTER TABLE T1 DROP COLUMN A;
|
||||
CREATE TEMP VIEW IF NOT EXISTS v_t1_7233 AS SELECT c FROM t1;
|
||||
DETACH DATABASE aux30;
|
||||
UPDATE T1 SET A = A + 1 WHERE rowid = 1;
|
||||
INSERT INTO T1 SELECT * FROM T1;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_t1_9997 BEFORE UPDATE ON t1 FOR EACH ROW BEGIN SELECT RAISE(ROLLBACK, 'rb'); END;
|
||||
DELETE FROM T1 WHERE 0;
|
||||
INSERT INTO t1 DEFAULT VALUES;
|
||||
ALTER TABLE T2 RENAME TO T2_r5714;
|
||||
DELETE FROM T2 WHERE 1;
|
||||
SELECT * FROM T2 WHERE Y > ALL (SELECT Y FROM T2);
|
||||
SELECT * FROM T2;
|
||||
ALTER TABLE T1 ADD COLUMN extra_1823 FLOAT UNIQUE;
|
||||
WITH RECURSIVE fib(a,b,n) AS (VALUES(1,1,1) UNION ALL SELECT b, a+b, n+1 FROM fib WHERE n<95) SELECT a, n FROM fib;
|
||||
SELECT COUNT(*) FROM T1;
|
||||
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;
|
||||
ALTER TABLE T DROP COLUMN b;
|
||||
INSERT INTO T1 DEFAULT VALUES;
|
||||
SELECT COUNT(A) FILTER (WHERE A IS NOT NULL) OVER (PARTITION BY A ORDER BY A ROWS BETWEEN 2 PRECEDING AND 2 FOLLOWING EXCLUDE CURRENT ROW) FROM T2;
|
||||
INSERT INTO t1 VALUES ('x', 'x', 1, 'x') ON CONFLICT(a) DO UPDATE SET a = excluded.a, b = excluded.b, c = excluded.c;
|
||||
ALTER TABLE t1 DROP COLUMN b;
|
||||
INSERT OR FAIL INTO T2 VALUES ('x', -9);
|
||||
REINDEX;
|
||||
REINDEX;
|
||||
SELECT LAG(b, 0) OVER (ORDER BY b RANGE BETWEEN 1 PRECEDING AND 1 FOLLOWING) FROM T;
|
||||
SELECT SUM(Y) FROM T2;
|
||||
UPDATE T SET A = NULL WHERE 1;
|
||||
DELETE FROM t1 WHERE c > (SELECT AVG(c) FROM t1);
|
||||
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;
|
||||
.eqp auto
|
||||
CREATE TABLE T (
|
||||
a TEXT,
|
||||
b REAL
|
||||
);
|
||||
INSERT INTO T VALUES ('a',abs(json_valid(9223372036854775806, 6))), ('b',-200.5), ('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;
|
||||
PRAGMA short_column_names = NO;
|
||||
PRAGMA cell_size_check;
|
||||
.parameter
|
||||
ATTACH DATABASE ':memory:' AS aux30;
|
||||
.log ON
|
||||
SAVEPOINT sp6089;
|
||||
ATTACH DATABASE '' || (':memory:') AS aux56;
|
||||
CREATE TABLE main.t1(a INTEGER PRIMARY KEY, b TEXT, c INT, d INT);
|
||||
INSERT INTO t1 VALUES (strftime('%s', format('%d', 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 ignore_check_constraints = 0;
|
||||
DETACH DATABASE aux56;
|
||||
INSERT INTO t1 SELECT * FROM t1;
|
||||
PRAGMA recursive_triggers = OFF;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_t1_1212 AFTER UPDATE OF c ON t1 BEGIN SELECT RAISE(ROLLBACK, 'rb'); END;
|
||||
RELEASE sp6089;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_t1_4991 BEFORE UPDATE OF a ON t1 FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'abort'); END;
|
||||
INSERT INTO t1 VALUES (1, 'x', 'x', 'x') ON CONFLICT(a) DO UPDATE SET a = excluded.a, b = excluded.b, c = excluded.c;
|
||||
ALTER TABLE t1 ADD COLUMN extra_6256 CLOB DEFAULT '';
|
||||
WITH RECURSIVE cnt(x) AS (VALUES(1) UNION ALL SELECT x+1 FROM cnt WHERE x<1) SELECT * FROM cnt;
|
||||
CREATE TABLE T1 (
|
||||
A VARCHAR(20),
|
||||
X VARCHAR(10),
|
||||
PRIMARY KEY (A, X),
|
||||
UNIQUE (X)
|
||||
);
|
||||
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 * FROM t1 NATURAL JOIN t1;
|
||||
ALTER TABLE t1 RENAME COLUMN d TO d_r9145;
|
||||
INSERT AND FAIL INTO t1 VALUES ('x', 'x', '', -7);
|
||||
INSERT INTO t1 VALUES (NULL, NULL, NULL, NULL);
|
||||
UPDATE t1 SET d = d + 1 RETURNING *;
|
||||
WITH RECURSIVE fib(a,b) AS (VALUES(1,1) UNION ALL SELECT b, a+b FROM fib WHERE b<1000) SELECT a FROM fib;
|
||||
SELECT COUNT(*) FILTER (WHERE b IS NOT NULL), SUM(rowid) FILTER (WHERE b > 0), COUNT(*) FILTER (WHERE 1=0), COUNT(*) FILTER (WHERE 1=1), COUNT(*) FILTER (WHERE NULL), AVG(b) FILTER (WHERE b > 0 AND b < 100), COUNT(*) FILTER (WHERE typeof(b) = "text") FROM t1;
|
||||
INSERT INTO T1 VALUES ('x', 'x') ON CONFLICT(A) DO UPDATE SET A = excluded.A, X = excluded.X;
|
||||
CREATE TABLE T1 (
|
||||
a INTEGER,
|
||||
b TEXT
|
||||
);
|
||||
CREATE TABLE T2 (
|
||||
a INTEGER,
|
||||
b TEXT
|
||||
);
|
||||
INSERT INTO T1 VALUES (1,'a'),(2,'b');
|
||||
INSERT INTO T2 VALUES (1,'c'),(1,'d');
|
||||
SELECT T1.b,
|
||||
(
|
||||
SELECT GROUP_CONCAT(b,',')
|
||||
FROM T2
|
||||
WHERE T2.a=T1.a
|
||||
) AS c
|
||||
FROM T1;
|
||||
ALTER TABLE T1 DROP COLUMN A;
|
||||
CREATE TEMP VIEW IF NOT EXISTS v_t1_7233 AS SELECT c FROM t1;
|
||||
DETACH DATABASE aux30;
|
||||
UPDATE T1 SET A = A + 1 WHERE rowid = 1;
|
||||
INSERT INTO T1 SELECT * FROM T1;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_t1_9997 BEFORE UPDATE ON t1 FOR EACH ROW BEGIN SELECT RAISE(ROLLBACK, 'rb'); END;
|
||||
DELETE FROM T1 WHERE 0;
|
||||
INSERT INTO t1 DEFAULT VALUES;
|
||||
ALTER TABLE T2 RENAME TO T2_r5714;
|
||||
DELETE FROM T2 WHERE 1;
|
||||
SELECT * FROM T2 WHERE Y > ALL (SELECT Y FROM T2);
|
||||
SELECT * FROM T2;
|
||||
ALTER TABLE T1 ADD COLUMN extra_1823 FLOAT UNIQUE;
|
||||
WITH RECURSIVE fib(a,b,n) AS (VALUES(1,1,1) UNION ALL SELECT b, a+b, n+1 FROM fib WHERE n<95) SELECT a, n FROM fib;
|
||||
SELECT COUNT(*) FROM T1;
|
||||
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;
|
||||
ALTER TABLE T DROP COLUMN b;
|
||||
INSERT INTO T1 DEFAULT VALUES;
|
||||
SELECT COUNT(A) FILTER (WHERE A IS NOT NULL) OVER (PARTITION BY A ORDER BY A ROWS BETWEEN 2 PRECEDING AND 2 FOLLOWING EXCLUDE CURRENT ROW) FROM T2;
|
||||
INSERT INTO t1 VALUES ('x', 'x', 1, 'x') ON CONFLICT(a) DO UPDATE SET a = excluded.a, b = excluded.b, c = excluded.c;
|
||||
ALTER TABLE t1 DROP COLUMN b;
|
||||
INSERT OR FAIL INTO T2 VALUES ('x', -9);
|
||||
REINDEX;
|
||||
REINDEX;
|
||||
SELECT LAG(b, 0) OVER (ORDER BY b RANGE BETWEEN 1 PRECEDING AND 1 FOLLOWING) FROM T;
|
||||
SELECT SUM(Y) FROM T2;
|
||||
UPDATE T SET A = NULL WHERE 1;
|
||||
DELETE FROM t1 WHERE c > (SELECT AVG(c) FROM t1);
|
||||
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;
|
||||
ROLLBACK TO sp2208;
|
||||
RELEASE sp2208;
|
||||
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 AND X < 100), COUNT(*) FILTER (WHERE typeof(X) = "text") FROM T1;
|
||||
INSERT INTO T1 DEFAULT VALUES;
|
||||
SELECT COUNT(*) FILTER (WHERE b IS NOT NULL), SUM(rowid) FILTER (WHERE b > 0), COUNT(*) FILTER (WHERE 1=0), COUNT(*) FILTER (WHERE 1=1), COUNT(*) FILTER (WHERE NULL), AVG(b) FILTER (WHERE b > 0 AND b < 100), COUNT(*) FILTER (WHERE typeof(b) = "text") FROM T1;
|
||||
SELECT b, COUNT(*) FROM T2 GROUP BY b HAVING COUNT(*) = (SELECT COUNT(*) FROM T2);
|
||||
ALTER TABLE T1 ADD COLUMN extra_4051 DECIMAL(10,5) DEFAULT NULL;
|
||||
VACUUM;
|
||||
SELECT COUNT(*) FROM T2;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_t1_3933 AFTER DELETE ON t1 FOR EACH ROW BEGIN SELECT RAISE(ROLLBACK, 'rb'); END;
|
||||
INSERT INTO T VALUES (NULL, NULL);
|
||||
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;
|
||||
VACUUM main;
|
||||
INSERT OR ABORT INTO T VALUES (-1, 0);
|
||||
ALTER TABLE t1 RENAME TO t1_r5175;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_t1_8911 AFTER UPDATE ON t1 BEGIN SELECT RAISE(FAIL, 'no'); END;
|
||||
INSERT INTO T1 SELECT * FROM T1;
|
||||
ALTER TABLE T1 ADD COLUMN extra_2551 CHAR(10) COLLATE NOCASE;
|
||||
SELECT COUNT(*) FROM T1;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_T2_1955 BEFORE UPDATE OF a ON T2 FOR EACH ROW BEGIN INSERT INTO T2(a) VALUES (NULL); END;
|
||||
INSERT OR REPLACE INTO T1 VALUES ('x', 0);
|
||||
SELECT TOTAL(b) FROM T2;
|
||||
CREATE UNIQUE INDEX IF NOT EXISTS idx_T1_3072 ON T1((b + 1)) WHERE b IS NOT NULL;
|
||||
VACUUM main;
|
||||
SELECT LAST_VALUE(b) OVER (ORDER BY b RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING EXCLUDE NO OTHERS) FROM T2;
|
||||
CREATE VIEW IF NOT EXISTS v_T1_4599 AS SELECT b FROM T1;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_T1_5914 AFTER DELETE ON T1 FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'abort'); END;
|
||||
INSERT OR REPLACE INTO T2 VALUES ('', '');
|
||||
INSERT INTO t1 SELECT * FROM t1;
|
||||
INSERT INTO T2 VALUES (NULL, NULL);
|
||||
WITH cte AS (SELECT 1 AS x) INSERT INTO T1(a) SELECT x FROM cte WHERE 1=0;
|
||||
```
|
||||
|
||||
## Actual output
|
||||
|
||||
```sql
|
||||
3.39.0 2022-05-10 23:28:12 764b71267e0b31ff7eaf2a0def7526a1a02dce4d5b456dea060d97ed342ealt1
|
||||
```
|
||||
|
||||
## Expectation
|
||||
|
||||
```sql
|
||||
3.51.1 2025-11-28 17:28:25 281fc0e9afc38674b9b0991943b9e9d1e64c6cbdb133d35f6f5c87ff6af38a88 (64-bit)
|
||||
```
|
||||
|
||||
## Flag
|
||||
|
||||
```
|
||||
-version
|
||||
```
|
||||
|
||||
@@ -0,0 +1,107 @@
|
||||
## 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 EXCLUSIVE;
|
||||
CREATE TABLE t1(a INTEGER PRIMARY KEY, b TEXT, c INT, d INT);
|
||||
INSERT INTO t1 VALUES (asin(-9223372036854775807) ->> 0, '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
|
||||
|
||||
WITH _m AS MATERIALIZED (SELECT * FROM T2) SELECT * FROM t2;
|
||||
|
||||
SELECT b, c FROM t1 ORDER BY b, c;
|
||||
|
||||
.quit
|
||||
PRAGMA recursive_triggers = OFF;
|
||||
PRAGMA ignore_check_constraints != FALSE;
|
||||
PRAGMA wal_autocheckpoint;
|
||||
PRAGMA pragma_list;
|
||||
.sha3sum
|
||||
CREATE TABLE T (
|
||||
a TEXT,
|
||||
b TEXT
|
||||
);
|
||||
INSERT INTO T VALUES ('a','2020-01-01'), ('b','2026-01-01');
|
||||
SELECT a,
|
||||
CAST(
|
||||
(julianday('now')-julianday(b))/-if(-2814635466794726270, 2360804486672605089)
|
||||
AS INTEGER
|
||||
) AS c
|
||||
FROM T;
|
||||
CREATE TABLE T1 (
|
||||
A VARCHAR(10) PRIMARY KEY,
|
||||
B VARCHAR(15) UNIQUE,
|
||||
C INTEGER
|
||||
);
|
||||
CREATE TABLE _m (
|
||||
X VARCHAR(20) PRIMARY KEY,
|
||||
A VARCHAR(10) NOT NULL UNIQUE,
|
||||
FOREIGN KEY (A) REFERENCES T1(A)
|
||||
);
|
||||
INSERT INTO T1 VALUES ('a', 'p', -2147483648);
|
||||
INSERT INTO T1 VALUES ('b', 'q', 2147483647);
|
||||
INSERT INTO T2 VALUES ('m', 'a');
|
||||
INSERT INTO T2 VALUES ('n', 'b');
|
||||
SELECT T2.X, T1.B, T1.C FROM T2, T1 WHERE T2.A = T1.A OR T1.C >= 0;
|
||||
SELECT SUM(b) OVER (ORDER BY b ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING EXCLUDE GROUP) FROM T;
|
||||
ALTER TABLE T RENAME TO T_r3912;
|
||||
PRAGMA vdbe_trace = 0;
|
||||
CREATE INDEX IF NOT EXISTS idx_T_6324 ON T(a COLLATE NOCASE) WHERE a > 0;
|
||||
INSERT INTO T SELECT * FROM T;
|
||||
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;
|
||||
ALTER TABLE T1 RENAME TO T1_r9774;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_T1_9214 AFTER UPDATE ON T1 FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'abort'); END;
|
||||
PRAGMA page_size;
|
||||
SELECT * FROM T1 AS a FULL OUTER JOIN T AS b ON a.rowid = b.rowid;
|
||||
SELECT GROUP_CONCAT(b, '|') FROM T;
|
||||
SELECT COUNT(*) FROM T2;
|
||||
SELECT * FROM T2 AS a JOIN T1 AS b ON a.rowid = b.rowid;
|
||||
ROLLBACK;
|
||||
WITH RECURSIVE multi(a, b) AS (VALUES(1, 1.0) UNION ALL SELECT a+1, b*0.5 FROM multi WHERE a<48) SELECT * FROM multi;
|
||||
ALTER TABLE T RENAME COLUMN a TO a_r1923;
|
||||
SELECT * FROM _m;
|
||||
ALTER TABLE _m DROP COLUMN X;
|
||||
ALTER TABLE _m DROP COLUMN X;
|
||||
WITH RECURSIVE r AS (SELECT * FROM T1 LIMIT 1 UNION ALL SELECT t.* FROM T1 t JOIN r ON t.B = r.B LIMIT 10) SELECT * FROM r;
|
||||
```
|
||||
|
||||
## Actual output
|
||||
|
||||
```sql
|
||||
CREATE TABLE "t2"("b","c","_ROWID_",PRIMARY KEY("b","c","_ROWID_"))WITHOUT ROWID;
|
||||
WARNING: writing to an imposter table will corrupt the "t1bc" index!
|
||||
Braun|30|3
|
||||
Wernher|10|1
|
||||
von|20|2
|
||||
Braun|30
|
||||
Wernher|10
|
||||
von|20
|
||||
```
|
||||
|
||||
## Expectation
|
||||
|
||||
```sql
|
||||
CREATE TABLE "t2"("b","c","_ROWID_",PRIMARY KEY("b","c","_ROWID_"))WITHOUT ROWID;
|
||||
Braun|30|3
|
||||
Wernher|10|1
|
||||
von|20|2
|
||||
Braun|30
|
||||
Wernher|10
|
||||
von|20
|
||||
```
|
||||
|
||||
## Flag
|
||||
|
||||
```
|
||||
|
||||
```
|
||||
|
||||
@@ -0,0 +1,445 @@
|
||||
## 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
|
||||
SAVEPOINT sp1179;
|
||||
PRAGMA reverse_unordered_selects = NO;
|
||||
PRAGMA short_column_names = TRUE;
|
||||
.databases
|
||||
SAVEPOINT sp5671;
|
||||
.once log.txt
|
||||
ATTACH DATABASE ('' || '') || ('') || (':memory:') AS aux78;
|
||||
.limit
|
||||
CREATE TABLE [T1] (
|
||||
a INT2,
|
||||
b REAL
|
||||
);
|
||||
CREATE TABLE T2 (
|
||||
a INTEGER,
|
||||
b REAL
|
||||
);
|
||||
INSERT INTO T1 VALUES (ifnull(timediff(concat_ws(',', CAST(upper(-(-(-json_array_length(strftime('%s', sinh(lower('HELLO'))))))) AS INT2), format(NULL, if(NULL, NULL, NULL)), datetime(unhex('4G'), '+1 day')), lower('HeLLo')), (2 + 0.0)),1.0);
|
||||
INSERT INTO T2 VALUES (1,-1.0),(2,9e999);
|
||||
INSERT OR REPLACE INTO T1
|
||||
SELECT * FROM T2;
|
||||
SELECT * FROM T1;
|
||||
PRAGMA writable_schema = YES;
|
||||
SAVEPOINT sp6649;
|
||||
ATTACH DATABASE ':memory:' AS aux69;
|
||||
.quit
|
||||
.trace
|
||||
CREATE TABLE main.T (
|
||||
a DOUBLE,
|
||||
b TEXT,
|
||||
c REAL
|
||||
);
|
||||
INSERT INTO T VALUES (CAST(json_array_length(if(CAST(-(-(length(randomblob(CAST(mod(1.7976931348623157e+308, 1465368752231950166) AS INTEGER))))) AS TINYINT), 1, 0, 1, 0, 1), '$') AS NUMERIC),'a',3.14), (1,'b',-7.75), (2,'c',-9e999);
|
||||
WITH _m AS MATERIALIZED (SELECT * FROM t1) SELECT b,a,c,
|
||||
RANK() OVER (PARTITION BY a ORDER BY c DESC) AS d FROM T;
|
||||
ATTACH DATABASE ':memory:' AS aux86;
|
||||
PRAGMA full_column_names = YES;
|
||||
DROP TABLE IF EXISTS _m;
|
||||
CREATE TABLE t1 (c0, c1 REAL PRIMARY KEY);
|
||||
INSERT INTO t1(c0, c1) VALUES ('{', -(-(1))), (0, 0);
|
||||
UPDATE t1 SET c0 = NULL;
|
||||
UPDATE OR REPLACE t1 SET c1 = 1;
|
||||
SELECT DISTINCT * FROM t1 WHERE NOT NOT (NOT NOT (t1.c0 IS NULL)) ;
|
||||
PRAGMA integrity_check;
|
||||
SELECT COUNT(*) FROM t1;
|
||||
SELECT * FROM t1;
|
||||
DETACH DATABASE aux86;
|
||||
REINDEX;
|
||||
ALTER TABLE T ADD COLUMN extra_5481 BLOB NOT NULL DEFAULT 0;
|
||||
SELECT COUNT(*) FROM T;
|
||||
CREATE TABLE T (
|
||||
a TEXT,
|
||||
b TEXT
|
||||
);
|
||||
INSERT INTO T VALUES ('a','b'), ('c','d');
|
||||
SELECT * FROM T WHERE +a = REPLACE('a;',';','') AND b = 'b';
|
||||
CREATE TABLE T1 (
|
||||
A VARCHAR(15) PRIMARY KEY,
|
||||
B VARCHAR(30) NOT NULL UNIQUE
|
||||
);
|
||||
CREATE TABLE T2 (
|
||||
A VARCHAR(10) PRIMARY KEY,
|
||||
X VARCHAR(15) NOT NULL,
|
||||
C BIGINT,
|
||||
FOREIGN KEY (X) REFERENCES T1(A)
|
||||
);
|
||||
INSERT INTO T1 VALUES ('p', 'x');
|
||||
INSERT INTO T1 VALUES ('q', 'y');
|
||||
INSERT INTO T2 VALUES ('a', 'p', 9223372036854775807);
|
||||
INSERT INTO T2 VALUES ('b', 'q', -9223372036854775808);
|
||||
SELECT X, SUM(C) AS D, COUNT(*) AS E FROM T2 GROUP BY X;
|
||||
SELECT LAG(c0, 2, 'default') OVER (PARTITION BY c0 ORDER BY c0 ROWS BETWEEN 2 PRECEDING AND 2 FOLLOWING EXCLUDE CURRENT ROW) FROM t1;
|
||||
SELECT * FROM t1;
|
||||
CREATE VIEW IF NOT EXISTS v_t1_6883 AS SELECT c1 FROM t1;
|
||||
ALTER TABLE t1 ADD COLUMN extra_3184 INT2 COLLATE NOCASE;
|
||||
SELECT * FROM t1;
|
||||
REINDEX;
|
||||
SELECT c, COUNT(*) FROM T GROUP BY c HAVING COUNT(*) = (SELECT COUNT(*) FROM T);
|
||||
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;
|
||||
PRAGMA temp_store = 'MEMORY';
|
||||
VACUUM main;
|
||||
SELECT * FROM T1 WHERE EXISTS (SELECT 1 FROM T1 WHERE 1 = 0);
|
||||
SELECT * FROM T1 WHERE A <> ANY (SELECT A FROM T1);
|
||||
CREATE TEMPORARY VIEW IF NOT EXISTS v_t1_5592 AS SELECT c0 FROM t1;
|
||||
REINDEX T2;
|
||||
UPDATE T SET b = json_object('k', b);
|
||||
DETACH DATABASE aux69;
|
||||
DROP INDEX IF EXISTS T1;
|
||||
SELECT STRING_AGG(C) FROM T2;
|
||||
ROLLBACK TO sp6649;
|
||||
RELEASE sp6649;
|
||||
INSERT OR ABORT INTO T2 VALUES ('x', -9, -9);
|
||||
SELECT COUNT(*) FILTER (WHERE c1 IS NOT NULL), SUM(rowid) FILTER (WHERE c1 > 0), COUNT(*) FILTER (WHERE 1=0), COUNT(*) FILTER (WHERE 1=1), COUNT(*) FILTER (WHERE NULL), AVG(c1) FILTER (WHERE c1 > 0 AND c1 < 100), COUNT(*) FILTER (WHERE typeof(c1) = "text") FROM t1;
|
||||
ALTER TABLE T RENAME COLUMN b TO b_r9085;
|
||||
INSERT INTO t1 DEFAULT VALUES;
|
||||
SELECT GROUP_CONCAT(A, '|') FROM T2;
|
||||
INSERT OR ROLLBACK INTO T1 VALUES (6, '');
|
||||
WITH RECURSIVE tree(id, path) AS (VALUES(1, "/1") UNION ALL SELECT id+1, path || "/" || (id+1) FROM tree WHERE id<14) SELECT * FROM tree;
|
||||
CREATE VIEW IF NOT EXISTS v_T1_7673 AS SELECT B FROM T1;
|
||||
SELECT COUNT(*) FILTER (WHERE B IS NOT NULL), SUM(rowid) FILTER (WHERE B > 0), COUNT(*) FILTER (WHERE 1=0), COUNT(*) FILTER (WHERE 1=1), COUNT(*) FILTER (WHERE NULL), AVG(B) FILTER (WHERE B > 0 AND B < 100), COUNT(*) FILTER (WHERE typeof(B) = "text") FROM T1;
|
||||
CREATE TABLE T1 (
|
||||
a INTEGER,
|
||||
b REAL
|
||||
);
|
||||
CREATE TABLE T2 (
|
||||
a INTEGER,
|
||||
b REAL
|
||||
);
|
||||
INSERT INTO T1 VALUES (1,1.0);
|
||||
INSERT INTO T2 VALUES (1,-1.0),(2,9e999);
|
||||
INSERT OR REPLACE INTO T1
|
||||
SELECT * FROM T2;
|
||||
SELECT * FROM T1;
|
||||
SELECT COUNT(c) FROM T;
|
||||
UPDATE T SET a = a + 1 WHERE 1;
|
||||
ALTER TABLE T ADD COLUMN extra_6983 DATETIME DEFAULT CURRENT_TIMESTAMP;
|
||||
INSERT INTO T2 VALUES (NULL, NULL);
|
||||
.limit
|
||||
CREATE TABLE T1 (
|
||||
a INTEGER,
|
||||
b REAL
|
||||
);
|
||||
CREATE TABLE T2 (
|
||||
a INTEGER,
|
||||
b REAL
|
||||
);
|
||||
INSERT INTO T1 VALUES (ifnull(timediff(concat_ws(',', CAST(upper(1) AS INT2), 2, 3), 1), 2),1.0);
|
||||
INSERT INTO T2 VALUES (1,-1.0),(2,9e999);
|
||||
INSERT OR REPLACE INTO T1
|
||||
SELECT * FROM T2;
|
||||
SELECT * FROM T1;
|
||||
PRAGMA writable_schema = YES;
|
||||
SAVEPOINT sp6649;
|
||||
ATTACH DATABASE ':memory:' AS aux69;
|
||||
.quit
|
||||
.trace
|
||||
CREATE TABLE T (
|
||||
a DOUBLE,
|
||||
b TEXT,
|
||||
c REAL
|
||||
);
|
||||
INSERT INTO T VALUES (CAST(json_array_length(if(CAST(-(-(length(randomblob(CAST(mod(1.7976931348623157e+308, 1465368752231950166) AS INTEGER))))) AS TINYINT), 1, 0, 1, 0, 1), '$') AS NUMERIC),'a',3.14), (1,'b',-7.75), (2,'c',-9e999);
|
||||
WITH _m AS MATERIALIZED (SELECT * FROM t1) SELECT b,a,c,
|
||||
RANK() OVER (PARTITION BY a ORDER BY c DESC) AS d FROM T;
|
||||
ATTACH DATABASE ':memory:' AS aux86;
|
||||
PRAGMA full_column_names = YES;
|
||||
DROP TABLE IF EXISTS _m;
|
||||
CREATE TABLE t1 (c0, c1 REAL PRIMARY KEY);
|
||||
INSERT INTO t1(c0, c1) VALUES ('{', -(-(1))), (0, 0);
|
||||
UPDATE t1 SET c0 = NULL;
|
||||
UPDATE OR REPLACE t1 SET c1 = 1;
|
||||
SELECT DISTINCT * FROM t1 WHERE NOT NOT (t1.c0 IS NULL);
|
||||
PRAGMA integrity_check;
|
||||
SELECT COUNT(*) FROM t1;
|
||||
SELECT * FROM t1;
|
||||
DETACH DATABASE aux86;
|
||||
REINDEX;
|
||||
ALTER TABLE T ADD COLUMN extra_5481 BLOB NOT NULL DEFAULT 0;
|
||||
SELECT COUNT(*) FROM T;
|
||||
CREATE TABLE T1 (
|
||||
A VARCHAR(15) PRIMARY KEY,
|
||||
B VARCHAR(30) NOT NULL UNIQUE
|
||||
);
|
||||
CREATE TABLE T2 (
|
||||
A VARCHAR(10) PRIMARY KEY,
|
||||
X VARCHAR(15) NOT NULL,
|
||||
C BIGINT,
|
||||
FOREIGN KEY (X) REFERENCES T1(A)
|
||||
);
|
||||
INSERT INTO T1 VALUES ('p', 'x');
|
||||
INSERT INTO T1 VALUES ('q', 'y');
|
||||
INSERT INTO T2 VALUES ('a', 'p', 9223372036854775807);
|
||||
INSERT INTO T2 VALUES ('b', 'q', -9223372036854775808);
|
||||
SELECT X, SUM(C) AS D, COUNT(*) AS E FROM T2 GROUP BY X;
|
||||
SELECT LAG(c0, 2, 'default') OVER (PARTITION BY c0 ORDER BY c0 ROWS BETWEEN 2 PRECEDING AND 2 FOLLOWING EXCLUDE CURRENT ROW) FROM t1;
|
||||
SELECT * FROM t1;
|
||||
CREATE VIEW IF NOT EXISTS v_t1_6883 AS SELECT c1 FROM t1;
|
||||
ALTER TABLE t1 ADD COLUMN extra_3184 INT2 COLLATE NOCASE;
|
||||
SELECT * FROM t1;
|
||||
REINDEX;
|
||||
SELECT c, COUNT(*) FROM T GROUP BY c HAVING COUNT(*) = (SELECT COUNT(*) FROM T);
|
||||
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;
|
||||
PRAGMA temp_store = 'MEMORY';
|
||||
VACUUM main;
|
||||
SELECT * FROM T1 WHERE EXISTS (SELECT 1 FROM T1 WHERE 1 = 0);
|
||||
SELECT * FROM T1 WHERE A <> ANY (SELECT A /**/ FROM T1);
|
||||
CREATE TEMPORARY VIEW IF NOT EXISTS v_t1_5592 AS SELECT c0 FROM t1;
|
||||
REINDEX T2;
|
||||
UPDATE T SET b = json_object('k', b);
|
||||
DETACH DATABASE aux69;
|
||||
DROP INDEX IF EXISTS T1;
|
||||
SELECT STRING_AGG(C) FROM T2;
|
||||
ROLLBACK TO sp6649;
|
||||
RELEASE sp6649;
|
||||
INSERT OR ABORT INTO T2 VALUES ('x', -9, -9);
|
||||
SELECT COUNT(*) FILTER (WHERE c1 IS NOT NULL), SUM(rowid) FILTER (WHERE c1 > 0), COUNT(*) FILTER (WHERE 1=0), COUNT(*) FILTER (WHERE 1=1), COUNT(*) FILTER (WHERE NULL), AVG(c1) FILTER (WHERE c1 > 0 AND /**/ c1 < 100), COUNT(*) FILTER (WHERE typeof(c1) = "text") FROM t1;
|
||||
ALTER TABLE T RENAME COLUMN b TO b_r9085;
|
||||
INSERT INTO t1 DEFAULT VALUES;
|
||||
SELECT GROUP_CONCAT(A, '|') FROM T2;
|
||||
INSERT OR ROLLBACK INTO T1 VALUES (6, '');
|
||||
WITH RECURSIVE tree(id, path) AS (VALUES(1, "/1") UNION ALL SELECT id+1, path || "/" || (id+1) FROM tree WHERE id<14) SELECT * FROM tree;
|
||||
CREATE VIEW IF NOT EXISTS v_T1_7673 AS SELECT B FROM T1;
|
||||
SELECT COUNT(*) FILTER (WHERE B IS NOT NULL), SUM(rowid) FILTER (WHERE B > 0), COUNT(*) FILTER (WHERE 1=0), COUNT(*) FILTER (WHERE 1=1), COUNT(*) FILTER (WHERE NULL), AVG(B) FILTER (WHERE B > 0 AND B < 100), COUNT(*) FILTER (WHERE typeof(B) = "text") FROM T1;
|
||||
CREATE TABLE T1 (
|
||||
a INTEGER,
|
||||
b REAL
|
||||
);
|
||||
CREATE TABLE T2 (
|
||||
a INTEGER,
|
||||
b REAL
|
||||
);
|
||||
INSERT INTO T1 VALUES (1,1.0);
|
||||
INSERT INTO T2 VALUES (1,-1.0),(2,9e999);
|
||||
INSERT OR REPLACE INTO T1
|
||||
SELECT * FROM T2;
|
||||
SELECT * FROM T1;
|
||||
SELECT COUNT(c) FROM T;
|
||||
UPDATE T SET a = a + 1 WHERE 1;
|
||||
ALTER TABLE T ADD COLUMN extra_6983 DATETIME DEFAULT CURRENT_TIMESTAMP;
|
||||
INSERT INTO T2 VALUES (NULL, NULL);
|
||||
.limit
|
||||
CREATE TABLE T1 (
|
||||
a INTEGER,
|
||||
b REAL
|
||||
);
|
||||
CREATE TABLE T2 (
|
||||
a INTEGER,
|
||||
b REAL
|
||||
);
|
||||
INSERT INTO T1 VALUES (ifnull(timediff(concat_ws(',', CAST(upper(1) AS INT2), 2, 3), 1), 2),1.0);
|
||||
INSERT INTO T2 VALUES (1,-1.0),(2,9e999);
|
||||
INSERT OR REPLACE INTO T1
|
||||
SELECT * FROM T2;
|
||||
SELECT * FROM T1;
|
||||
PRAGMA writable_schema = YES;
|
||||
SAVEPOINT sp6649;
|
||||
ATTACH DATABASE ':memory:' AS aux69;
|
||||
.quit
|
||||
.trace
|
||||
CREATE TABLE T (
|
||||
a DOUBLE,
|
||||
b TEXT,
|
||||
c REAL
|
||||
);
|
||||
INSERT INTO T VALUES (CAST(json_array_length(if(CAST(-(-(length(randomblob(CAST(mod(1.7976931348623157e+308, 1465368752231950166) AS INTEGER))))) AS TINYINT), 1, 0, 1, 0, 1), '$') AS NUMERIC),'a',3.14), (1,'b',-7.75), (2,'c',-9e999);
|
||||
WITH _m AS MATERIALIZED (SELECT * FROM t1) SELECT b,a,c,
|
||||
RANK() OVER (PARTITION BY a ORDER BY c DESC) AS d FROM T;
|
||||
ATTACH DATABASE ':memory:' AS aux86;
|
||||
PRAGMA full_column_names = YES;
|
||||
DROP TABLE IF EXISTS _m;
|
||||
CREATE TABLE t1 (c0, c1 REAL PRIMARY KEY);
|
||||
INSERT INTO t1(c0, c1) VALUES ('{', -(-(1))), (0, 0);
|
||||
UPDATE t1 SET c0 = NULL;
|
||||
UPDATE OR REPLACE t1 SET c1 = 1;
|
||||
SELECT DISTINCT * FROM t1 WHERE NOT NOT (t1.c0 IS NULL);
|
||||
PRAGMA integrity_check;
|
||||
SELECT COUNT(*) FROM t1;
|
||||
SELECT * FROM t1;
|
||||
DETACH DATABASE aux86;
|
||||
REINDEX;
|
||||
ALTER TABLE T ADD COLUMN extra_5481 BLOB NOT NULL DEFAULT 0;
|
||||
SELECT COUNT(*) FROM T;
|
||||
CREATE TABLE T1 (
|
||||
A VARCHAR(15) PRIMARY KEY,
|
||||
B VARCHAR(30) NOT NULL UNIQUE
|
||||
);
|
||||
CREATE TABLE T2 (
|
||||
A VARCHAR(10) PRIMARY KEY,
|
||||
X VARCHAR(15) NOT NULL,
|
||||
C BIGINT,
|
||||
FOREIGN KEY (X) REFERENCES T1(A)
|
||||
);
|
||||
INSERT INTO T1 /* .recover */ VALUES ('p', 'x');
|
||||
INSERT INTO T1 VALUES ('q', 'y');
|
||||
INSERT INTO T2 VALUES ('a', 'p', 9223372036854775807);
|
||||
INSERT INTO T2 VALUES ('b', 'q', -9223372036854775808);
|
||||
SELECT X, SUM(C) AS D, COUNT(*) AS E FROM T2 GROUP BY X;
|
||||
SELECT LAG(c0, 2, 'default') OVER (PARTITION BY c0 ORDER BY c0 ROWS BETWEEN 2 PRECEDING AND 2 FOLLOWING EXCLUDE CURRENT ROW) FROM t1;
|
||||
SELECT * FROM t1;
|
||||
CREATE VIEW IF NOT EXISTS v_t1_6883 AS SELECT c1 FROM t1;
|
||||
ALTER TABLE t1 ADD COLUMN extra_3184 INT2 COLLATE NOCASE;
|
||||
SELECT * FROM t1;
|
||||
REINDEX;
|
||||
SELECT c, COUNT(*) FROM T GROUP BY c HAVING COUNT(*) = (SELECT COUNT(*) FROM T);
|
||||
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;
|
||||
PRAGMA temp_store = 'MEMORY';
|
||||
VACUUM main;
|
||||
SELECT * FROM T1 WHERE EXISTS (SELECT 1 FROM T1 WHERE 1 = 0);
|
||||
SELECT * FROM T1 WHERE A <> ANY (SELECT A FROM T1);
|
||||
CREATE TEMPORARY VIEW IF NOT EXISTS v_t1_5592 AS SELECT c0 FROM t1;
|
||||
REINDEX T2;
|
||||
UPDATE T SET b = json_object('k', b);
|
||||
DETACH DATABASE aux69;
|
||||
DROP INDEX IF EXISTS T1;
|
||||
SELECT STRING_AGG(C) FROM T2;
|
||||
ROLLBACK TO sp6649;
|
||||
RELEASE sp6649;
|
||||
INSERT OR ABORT INTO T2 VALUES ('x', -9, -9);
|
||||
SELECT COUNT(*) FILTER (WHERE c1 IS NOT NULL), SUM(rowid) FILTER (WHERE c1 > 0), COUNT(*) FILTER (WHERE 1=0), COUNT(*) FILTER (WHERE 1=1), COUNT(*) FILTER (WHERE NULL), AVG(c1) FILTER (WHERE c1 > 0 AND c1 < 100), COUNT(*) FILTER (WHERE typeof(c1) = "text") FROM t1;
|
||||
ALTER TABLE T RENAME COLUMN b TO b_r9085;
|
||||
INSERT INTO t1 DEFAULT VALUES;
|
||||
SELECT GROUP_CONCAT(A, '|') FROM T2;
|
||||
INSERT OR ROLLBACK INTO T1 VALUES (6, '');
|
||||
WITH RECURSIVE tree(id, path) AS (VALUES(1, "/1") UNION ALL SELECT id+1, path || "/" || (id+1) FROM tree WHERE id<14) SELECT * FROM tree;
|
||||
CREATE VIEW IF NOT EXISTS v_T1_7673 AS SELECT B FROM T1;
|
||||
SELECT COUNT(*) FILTER (WHERE B IS NOT NULL), SUM(rowid) FILTER (WHERE B > 0), COUNT(*) FILTER (WHERE 1=0), COUNT(*) FILTER (WHERE 1=1), COUNT(*) FILTER (WHERE NULL), AVG(B) FILTER (WHERE B > 0 AND B < 100), COUNT(*) FILTER (WHERE typeof(B) = "text") FROM T1;
|
||||
CREATE TABLE T1 (
|
||||
a INTEGER,
|
||||
b REAL
|
||||
);
|
||||
CREATE TABLE T2 (
|
||||
a INTEGER,
|
||||
b REAL
|
||||
);
|
||||
INSERT INTO T1 VALUES (1,1.0);
|
||||
INSERT INTO T2 VALUES (1,-1.0),(2,9e999);
|
||||
INSERT OR REPLACE INTO T1
|
||||
SELECT * FROM T2;
|
||||
SELECT * FROM T1;
|
||||
SELECT COUNT(c) FROM T;
|
||||
UPDATE T SET a = a + 1 WHERE 1;
|
||||
ALTER TABLE T ADD COLUMN extra_6983 DATETIME DEFAULT CURRENT_TIMESTAMP;
|
||||
INSERT INTO T2 VALUES (NULL, NULL);
|
||||
VACUUM;
|
||||
CREATE VIEW IF NOT EXISTS v_T2_6393 AS SELECT a FROM T2;
|
||||
ALTER TABLE T1 RENAME COLUMN b TO b_r8651;
|
||||
SELECT LEAD(a) OVER (ORDER BY a) FROM T1;
|
||||
ALTER TABLE T DROP COLUMN a;
|
||||
SELECT * FROM T1 AS a INNER JOIN T1 AS b ON a.rowid = b.rowid;
|
||||
CREATE TABLE T1 (
|
||||
A VARCHAR(10) PRIMARY KEY,
|
||||
B VARCHAR(15) UNIQUE,
|
||||
C INTEGER
|
||||
);
|
||||
CREATE TABLE T2 (
|
||||
X VARCHAR(20) PRIMARY KEY,
|
||||
A VARCHAR(10) NOT NULL UNIQUE,
|
||||
FOREIGN KEY (A) REFERENCES T1(A)
|
||||
);
|
||||
INSERT INTO T1 VALUES ('a', 'p', -2147483648);
|
||||
INSERT INTO T1 VALUES ('b', 'q', 2147483647);
|
||||
INSERT INTO T2 VALUES ('m', 'a');
|
||||
INSERT INTO T2 VALUES ('n', 'b');
|
||||
SELECT T2.X, T1.B, T1.C FROM T2, T1 WHERE T2.A = T1.A AND T1.C >= 0;
|
||||
SELECT * FROM t1 WHERE c1 IN (SELECT c1 FROM t1 t2 WHERE t2.c1 = t1.c1);
|
||||
SELECT * FROM T2 AS /* load_extension({v}) */ a INNER JOIN T AS b ON a.rowid = b.rowid;
|
||||
DETACH DATABASE aux78;
|
||||
SELECT COUNT(*) FILTER (WHERE c1 IS NOT NULL), SUM(rowid) FILTER (WHERE c1 > 0), COUNT(*) FILTER (WHERE 1=0), COUNT(*) FILTER (WHERE 1=1), COUNT(*) FILTER (WHERE NULL), AVG(c1) FILTER (WHERE c1 > 0 AND c1 < 100), COUNT(*) FILTER (WHERE typeof(c1) = "text") FROM t1;
|
||||
UPDATE T2 SET A = 'x';
|
||||
PRAGMA cache_spill = NO;
|
||||
INSERT INTO T2 SELECT * FROM T2;
|
||||
VACUUM main;
|
||||
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';
|
||||
SELECT * FROM T1 WHERE EXISTS (SELECT 1 FROM T1 WHERE C > 0);
|
||||
ROLLBACK TRANSACTION TO SAVEPOINT sp5671;
|
||||
RELEASE SAVEPOINT sp5671;
|
||||
ALTER TABLE T DROP COLUMN a;
|
||||
SELECT A, (SELECT MIN(A) FROM T2) AS min_val FROM T2;
|
||||
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 T1;
|
||||
SELECT * FROM T1 WHERE A IN (SELECT A FROM T1 WHERE A IN (SELECT A FROM T1));
|
||||
ALTER TABLE t1 ADD COLUMN extra_514 DATE DEFAULT (abs(random()) % 1000);
|
||||
SELECT SUM(A) FROM T1;
|
||||
ALTER TABLE t1 RENAME TO t1_r1859;
|
||||
SELECT COUNT(*) FROM t1;
|
||||
SELECT MAX(c0) FROM t1;
|
||||
SELECT NTILE(1) OVER (PARTITION BY X ORDER BY X ROWS BETWEEN 2 PRECEDING AND 2 FOLLOWING EXCLUDE CURRENT ROW) FROM T2;
|
||||
CREATE TEMP VIEW IF NOT EXISTS v_T_8701 AS SELECT b FROM T;
|
||||
REINDEX;
|
||||
SELECT 0x0ACB29BM205381;
|
||||
SELECT sqlite_compileoption_used('æçå¤©ä½ æ¯æä¹äº');
|
||||
SELECT 1 >> -999999999999999999999999999;
|
||||
SELECT sqlite_compileoption_get($1);
|
||||
SELECT sqlite_version();
|
||||
INSERT INTO t1 SELECT * FROM t1;
|
||||
SELECT * FROM t1;
|
||||
SELECT STRING_AGG(a, '|') FROM T;
|
||||
SELECT * FROM T1;
|
||||
SELECT GROUP_CONCAT(X, '|') FROM T2;
|
||||
ALTER TABLE T2 DROP COLUMN A;
|
||||
INSERT INTO T VALUES (NULL, NULL, NULL);
|
||||
INSERT INTO t1 SELECT * FROM t1;
|
||||
CREATE INDEX IF NOT EXISTS idx_T1_6502 ON T1(B);
|
||||
SELECT COUNT(*) FROM T2;
|
||||
ROLLBACK TO sp1179;
|
||||
RELEASE sp1179;
|
||||
SELECT * FROM t1;
|
||||
INSERT INTO T2 DEFAULT VALUES;
|
||||
INSERT OR REPLACE INTO t1 VALUES (-5, 7);
|
||||
VACUUM;
|
||||
ALTER TABLE T2 DROP COLUMN X;
|
||||
SELECT * FROM T1;
|
||||
SELECT * FROM T1 AS a JOIN T AS b ON a.rowid = b.rowid;
|
||||
ALTER TABLE T2 ADD COLUMN extra_7126 FLOAT DEFAULT CURRENT_TIMESTAMP;
|
||||
INSERT INTO T VALUES (NULL, NULL, NULL);
|
||||
ALTER TABLE T1 DROP COLUMN A;
|
||||
SELECT c, (SELECT AVG(c) FROM T) AS avg_val FROM T;
|
||||
SELECT COUNT(*) FROM T2;
|
||||
ALTER TABLE t1 DROP COLUMN c0;
|
||||
INSERT INTO T2 SELECT * FROM T2;
|
||||
ALTER TABLE t1 DROP COLUMN c0;
|
||||
WITH cte AS (SELECT * FROM T2) SELECT * FROM cte LEFT JOIN T2 ON cte.X = T2.X;
|
||||
UPDATE t1 SET c1 = '' WHERE c1 BETWEEN 0 AND 100;
|
||||
INSERT INTO t1 DEFAULT VALUES;
|
||||
```
|
||||
|
||||
## Actual output
|
||||
|
||||
```sql
|
||||
main: "" r/w
|
||||
length 1000000000
|
||||
sql_length 1000000000
|
||||
column 2000
|
||||
expr_depth 1000
|
||||
compound_select 500
|
||||
vdbe_op 250000000
|
||||
function_arg 127
|
||||
attached 10
|
||||
like_pattern_length 50000
|
||||
variable_number 32766
|
||||
trigger_depth 1000
|
||||
worker_threads 0
|
||||
1|-1.0
|
||||
2|Inf
|
||||
```
|
||||
|
||||
## Expectation
|
||||
|
||||
```sql
|
||||
|
||||
```
|
||||
|
||||
## Flag
|
||||
|
||||
```
|
||||
|
||||
```
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,952 @@
|
||||
## 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
|
||||
SAVEPOINT sp1689;
|
||||
PRAGMA quick_check(20);
|
||||
SAVEPOINT sp5011;
|
||||
ATTACH DATABASE ':memory:' AS aux26;
|
||||
SAVEPOINT sp3272;
|
||||
PRAGMA ignore_check_constraints = NO;
|
||||
.eqp off
|
||||
PRAGMA count_changes = '|';
|
||||
ATTACH DATABASE ':memory:' AS aux96;
|
||||
ATTACH DATABASE ':memory:' AS aux34;
|
||||
CREATE TEMPORARY TABLE t0(x, y, z);
|
||||
CREATE TABLE t1(a INTEGER PRIMARY KEY, b TEXT, c INT, d INT);
|
||||
INSERT INTO t1 VALUES (CAST(unicode('你好') AS MEDIUMINT), 'Wernher', if(min(-x'b48568f4c83863c45d', '2', 3), 10, 0, 10, 0, 10, 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
|
||||
SELECT -99999999999999999999999999999999999999999999999999;
|
||||
SELECT * FROM sqlite_temp_master WHERE NOT NOT (sql GLOB '000[]***') ;
|
||||
DROP TABLE t0;
|
||||
REINDEX;
|
||||
DELETE FROM t0 WHERE 1 RETURNING *;
|
||||
UPDATE t0 SET z = '' WHERE z BETWEEN 0 AND 100;
|
||||
SELECT * FROM t0 AS a RIGHT JOIN t1 AS b ON a.rowid = b.rowid;
|
||||
SELECT * FROM t1 WHERE b NOT IN (SELECT b FROM t1);
|
||||
DETACH DATABASE aux34;
|
||||
SELECT * FROM t1 AS a FULL OUTER JOIN t0 AS b ON a.rowid = b.rowid;
|
||||
ALTER TABLE t0 RENAME TO t0_r5353;
|
||||
ALTER TABLE t1 RENAME TO t1_r3388;
|
||||
PRAGMA short_column_names = YES;
|
||||
INSERT INTO t1 VALUES (NULL, NULL, NULL, NULL);
|
||||
|
||||
SELECT COUNT(*) FROM t1;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_t0_3641 AFTER UPDATE ON t0 BEGIN SELECT RAISE(IGNORE); END;
|
||||
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 t1;
|
||||
DETACH DATABASE aux96;
|
||||
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
|
||||
WITH RECURSIVE multi(a, b) AS (VALUES(1, 1.0) UNION ALL SELECT a+1, b*0.5 FROM multi WHERE a<38) SELECT * FROM multi;
|
||||
.eqp off
|
||||
PRAGMA count_changes = '|';
|
||||
ATTACH DATABASE ':memory:' AS aux96;
|
||||
ATTACH DATABASE ':memory:' AS aux34;
|
||||
CREATE TEMPORARY TABLE t0(x, y, z);
|
||||
CREATE TABLE t1(a INTEGER PRIMARY KEY, b TEXT, c INT, d INT);
|
||||
INSERT INTO t1 VALUES (CAST(unicode('你好') AS MEDIUMINT), '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
|
||||
SELECT -99999999999999999999999999999999999999999999999999;
|
||||
SELECT * FROM sqlite_temp_master WHERE sql GLOB '000[]***';
|
||||
DROP TABLE t0;
|
||||
REINDEX;
|
||||
DELETE FROM t0 WHERE 1 RETURNING *;
|
||||
UPDATE t0 SET z = '' WHERE z BETWEEN 0 AND 100;
|
||||
SELECT * FROM t0 AS a FULL OUTER JOIN t1 AS b ON a.rowid = b.rowid;
|
||||
SELECT * FROM t1 WHERE b NOT IN (SELECT b FROM t1);
|
||||
DETACH DATABASE aux34;
|
||||
SELECT * FROM t1 AS a FULL OUTER JOIN t0 AS b ON a.rowid = b.rowid;
|
||||
ALTER TABLE t0 RENAME TO t0_r5353;
|
||||
ALTER TABLE t1 RENAME TO t1_r3388;
|
||||
PRAGMA short_column_names = YES;
|
||||
INSERT INTO t1 VALUES (NULL, NULL, NULL, NULL);
|
||||
|
||||
SELECT COUNT(*) FROM t1;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_t0_3641 AFTER UPDATE ON t0 BEGIN SELECT RAISE(IGNORE); END;
|
||||
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 t1;
|
||||
DETACH DATABASE aux96;
|
||||
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
|
||||
WITH RECURSIVE multi(a, b) AS (VALUES(1, 1.0) UNION ALL SELECT a+1, b*0.5 FROM multi WHERE a<38) SELECT * FROM multi;
|
||||
.eqp off
|
||||
PRAGMA count_changes = '|';
|
||||
ATTACH DATABASE ':memory:' AS aux96;
|
||||
ATTACH DATABASE ':memory:' AS aux34;
|
||||
CREATE TEMPORARY TABLE t0(x, y, z);
|
||||
CREATE TABLE t1(a INTEGER PRIMARY KEY, b TEXT, c INT, d INT);
|
||||
INSERT INTO t1 VALUES (CAST(unicode('你好') AS MEDIUMINT), '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
|
||||
SELECT -99999999999999999999999999999999999999999999999999;
|
||||
SELECT * FROM sqlite_temp_master WHERE sql GLOB '000[]***';
|
||||
DROP TABLE t0;
|
||||
REINDEX;
|
||||
DELETE FROM t0 WHERE 1 RETURNING *;
|
||||
UPDATE t0 SET z = '' WHERE z BETWEEN 0 AND 100;
|
||||
SELECT * FROM t0 AS a FULL OUTER JOIN t1 AS b ON a.rowid = b.rowid;
|
||||
SELECT * FROM t1 WHERE b NOT IN (SELECT b FROM t1);
|
||||
DETACH DATABASE aux34;
|
||||
SELECT * FROM t1 AS a FULL OUTER JOIN t0 AS b ON a.rowid = b.rowid;
|
||||
ALTER TABLE t0 RENAME TO t0_r5353;
|
||||
ALTER TABLE t1 RENAME TO t1_r3388;
|
||||
PRAGMA short_column_names = YES;
|
||||
INSERT INTO t1 VALUES (NULL, NULL, NULL, NULL);
|
||||
|
||||
SELECT COUNT(*) FROM t1;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_t0_3641 AFTER UPDATE ON t0 BEGIN SELECT RAISE(IGNORE); END;
|
||||
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 t1;
|
||||
DETACH DATABASE aux96;
|
||||
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
|
||||
WITH RECURSIVE multi(a, b) AS (VALUES(1, 1.0) UNION ALL SELECT a+1, b*0.5 FROM multi WHERE a<38) SELECT * FROM multi;
|
||||
.eqp off
|
||||
PRAGMA count_changes = '|';
|
||||
ATTACH DATABASE ':memory:' AS aux96;
|
||||
ATTACH DATABASE ':memory:' AS aux34;
|
||||
CREATE TEMPORARY TABLE t0(x, y, z);
|
||||
CREATE TABLE t1(a INTEGER PRIMARY KEY, b TEXT, c INT, d INT);
|
||||
INSERT INTO t1 VALUES (CAST(unicode('你好') AS MEDIUMINT), '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
|
||||
SELECT -99999999999999999999999999999999999999999999999999;
|
||||
SELECT * FROM sqlite_temp_master WHERE sql GLOB '000[]***';
|
||||
DROP TABLE t0;
|
||||
REINDEX;
|
||||
DELETE FROM t0 WHERE 1 RETURNING *;
|
||||
UPDATE t0 SET z = '' WHERE z BETWEEN 0 AND 100;
|
||||
SELECT * FROM t0 AS a FULL OUTER JOIN t1 AS b ON a.rowid = b.rowid;
|
||||
SELECT * FROM t1 WHERE b NOT IN (SELECT b FROM t1);
|
||||
DETACH DATABASE aux34;
|
||||
SELECT * FROM t1 AS a FULL OUTER JOIN t0 AS b ON a.rowid = b.rowid;
|
||||
ALTER TABLE t0 RENAME TO t0_r5353;
|
||||
ALTER TABLE t1 RENAME TO t1_r3388;
|
||||
PRAGMA short_column_names = YES;
|
||||
INSERT INTO t1 VALUES (NULL, NULL, NULL, NULL);
|
||||
|
||||
SELECT COUNT(*) FROM t1;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_t0_3641 AFTER UPDATE ON t0 BEGIN SELECT RAISE(IGNORE); END;
|
||||
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 t1;
|
||||
DETACH DATABASE aux96;
|
||||
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
|
||||
WITH RECURSIVE multi(a, b) AS (VALUES(1, 1.0) UNION ALL SELECT a+1, b*0.5 FROM multi WHERE a<38) SELECT * FROM multi;
|
||||
.eqp off
|
||||
PRAGMA count_changes = '|';
|
||||
ATTACH DATABASE ':memory:' AS aux96;
|
||||
ATTACH DATABASE ':memory:' AS aux34;
|
||||
CREATE TEMPORARY TABLE t0(x, y, z);
|
||||
CREATE TABLE t1(a INTEGER PRIMARY KEY, b TEXT, c INT, d INT);
|
||||
INSERT INTO t1 VALUES (CAST(unicode('你好') AS MEDIUMINT), '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
|
||||
SELECT -99999999999999999999999999999999999999999999999999;
|
||||
SELECT * FROM sqlite_temp_master WHERE sql GLOB '000[]***';
|
||||
DROP TABLE t0;
|
||||
REINDEX;
|
||||
DELETE FROM t0 WHERE 1 RETURNING *;
|
||||
UPDATE t0 SET z = '' WHERE z BETWEEN 0 AND 100;
|
||||
SELECT * FROM t0 AS a FULL OUTER JOIN t1 AS b ON a.rowid = b.rowid;
|
||||
SELECT * FROM t1 WHERE b NOT IN (SELECT b FROM t1);
|
||||
DETACH DATABASE aux34;
|
||||
SELECT * FROM t1 AS a FULL OUTER JOIN t0 AS b ON a.rowid = b.rowid;
|
||||
ALTER TABLE t0 RENAME TO t0_r5353;
|
||||
ALTER TABLE t1 RENAME TO t1_r3388;
|
||||
PRAGMA short_column_names = YES;
|
||||
INSERT INTO t1 VALUES (NULL, NULL, NULL, NULL);
|
||||
|
||||
SELECT COUNT(*) FROM t1;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_t0_3641 AFTER UPDATE ON t0 BEGIN SELECT RAISE(IGNORE); END;
|
||||
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 t1;
|
||||
DETACH DATABASE aux96;
|
||||
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
|
||||
WITH RECURSIVE multi(a, b) AS (VALUES(1, 1.0) UNION ALL SELECT a+1, b*0.5 FROM multi WHERE a<38) SELECT * FROM multi;
|
||||
.eqp off
|
||||
PRAGMA count_changes = '|';
|
||||
ATTACH DATABASE ':memory:' AS aux96;
|
||||
ATTACH DATABASE ':memory:' AS aux34;
|
||||
CREATE TEMPORARY TABLE t0(x, y, z);
|
||||
CREATE TABLE t1(a INTEGER PRIMARY KEY, b TEXT, c INT, d INT);
|
||||
INSERT INTO t1 VALUES (CAST(unicode('你好') AS MEDIUMINT), '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
|
||||
SELECT -99999999999999999999999999999999999999999999999999;
|
||||
SELECT * FROM sqlite_temp_master WHERE sql GLOB '000[]***';
|
||||
DROP TABLE t0;
|
||||
REINDEX;
|
||||
DELETE FROM t0 WHERE 1 RETURNING *;
|
||||
UPDATE t0 SET z = '' WHERE z BETWEEN 0 AND 100;
|
||||
SELECT * FROM t0 AS a FULL OUTER JOIN t1 AS b ON a.rowid = b.rowid;
|
||||
SELECT * FROM t1 WHERE b NOT IN (SELECT b FROM t1);
|
||||
DETACH DATABASE aux34;
|
||||
SELECT * FROM t1 AS a FULL OUTER JOIN t0 AS b ON a.rowid = b.rowid;
|
||||
ALTER TABLE t0 RENAME TO t0_r5353;
|
||||
ALTER TABLE t1 RENAME TO t1_r3388;
|
||||
PRAGMA short_column_names = YES;
|
||||
INSERT INTO t1 VALUES (NULL, NULL, NULL, NULL);
|
||||
|
||||
SELECT COUNT(*) FROM t1;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_t0_3641 AFTER UPDATE ON t0 BEGIN SELECT RAISE(IGNORE); END;
|
||||
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 t1;
|
||||
DETACH DATABASE aux96;
|
||||
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
|
||||
WITH RECURSIVE multi(a, b) AS (VALUES(1, 1.0) UNION ALL SELECT a+1, b*0.5 FROM multi WHERE a<38) SELECT * FROM multi;
|
||||
.eqp off
|
||||
PRAGMA count_changes = '|';
|
||||
ATTACH DATABASE ':memory:' AS aux96;
|
||||
ATTACH DATABASE ':memory:' AS aux34;
|
||||
CREATE TEMPORARY TABLE t0(x, y, z);
|
||||
CREATE TABLE t1(a INTEGER PRIMARY KEY, b TEXT, c INT, d INT);
|
||||
INSERT INTO t1 VALUES (CAST(unicode('你好') AS MEDIUMINT), '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
|
||||
SELECT -99999999999999999999999999999999999999999999999999;
|
||||
SELECT * FROM sqlite_temp_master WHERE sql GLOB '000[]***';
|
||||
DROP TABLE t0;
|
||||
REINDEX;
|
||||
DELETE FROM t0 WHERE 1 RETURNING *;
|
||||
UPDATE t0 SET z = '' WHERE z BETWEEN 0 AND 100;
|
||||
SELECT * FROM t0 AS a FULL OUTER JOIN t1 AS b ON a.rowid = b.rowid;
|
||||
SELECT * FROM t1 WHERE b NOT IN (SELECT b FROM t1);
|
||||
DETACH DATABASE aux34;
|
||||
SELECT * FROM t1 AS a FULL OUTER JOIN t0 AS b ON a.rowid = b.rowid;
|
||||
ALTER TABLE t0 RENAME TO t0_r5353;
|
||||
ALTER TABLE t1 RENAME TO t1_r3388;
|
||||
PRAGMA short_column_names = YES;
|
||||
INSERT INTO t1 VALUES (NULL, NULL, NULL, NULL);
|
||||
|
||||
SELECT COUNT(*) FROM t1;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_t0_3641 AFTER UPDATE ON t0 BEGIN SELECT RAISE(IGNORE); END;
|
||||
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 t1;
|
||||
DETACH DATABASE aux96;
|
||||
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
|
||||
WITH RECURSIVE multi(a, b) AS (VALUES(1, 1.0) UNION ALL SELECT a+1, b*0.5 FROM multi WHERE a<38) SELECT * FROM multi;
|
||||
|
||||
VACUUM main;
|
||||
CREATE INDEX IF NOT EXISTS idx_t1_5312 ON t1(d) WHERE d > 0;
|
||||
PRAGMA empty_result_callbacks = ON;
|
||||
REINDEX t0;
|
||||
CREATE UNIQUE INDEX IF NOT EXISTS idx_t0_7893 ON t0(lower(x)) WHERE x > 0;
|
||||
CREATE UNIQUE INDEX IF NOT EXISTS idx_t1_2600 ON t1(b) WHERE b > 0;
|
||||
ALTER TABLE t0 RENAME COLUMN z TO z_r9903;
|
||||
ROLLBACK TO sp3272;
|
||||
RELEASE sp3272;
|
||||
SELECT * FROM t1 WHERE c IN (SELECT c FROM t1 LIMIT 0);
|
||||
VACUUM;
|
||||
SELECT SUM(y) FILTER (WHERE 1=0) OVER (ORDER BY y RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING EXCLUDE NO OTHERS) FROM t0;
|
||||
VACUUM main;
|
||||
CREATE TABLE `T` (
|
||||
A VARCHAR(20),
|
||||
B VARCHAR(30),
|
||||
C VARCHAR(30),
|
||||
PRIMARY KEY (A, B),
|
||||
UNIQUE (A, C)
|
||||
);
|
||||
INSERT INTO T VALUES ('a', 'p', 'x');
|
||||
INSERT INTO T VALUES ('a', 'q', 'y');
|
||||
INSERT INTO T VALUES ('b', 'p', 'z');
|
||||
INSERT INTO T VALUES ('c', 'r', 'w');
|
||||
INSERT INTO T VALUES ('d', 's', 'v');
|
||||
SELECT A, COUNT(DISTINCT B) AS D FROM T GROUP BY A HAVING COUNT(DISTINCT B) >= 1;
|
||||
CREATE INDEX IF NOT EXISTS idx_T_3768 ON T(lower(B));
|
||||
DELETE FROM T WHERE 0;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_T_6223 BEFORE UPDATE ON T BEGIN INSERT INTO T(B) VALUES (NULL); END;
|
||||
PRAGMA integrity_check;
|
||||
INSERT INTO t1 VALUES ('x', 'x', 'x', 'x') ON CONFLICT(a) DO UPDATE SET a = excluded.a, b = excluded.b, c = excluded.c;
|
||||
DETACH DATABASE aux26;
|
||||
CREATE UNIQUE INDEX IF NOT EXISTS idx_t1_2309 ON t1(lower(c)) WHERE c > 0;
|
||||
ANALYZE;
|
||||
ALTER TABLE T DROP COLUMN A;
|
||||
RELEASE sp5011;
|
||||
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;
|
||||
REINDEX;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_T_9509 AFTER UPDATE OF B ON T FOR EACH ROW BEGIN SELECT RAISE(IGNORE); END;
|
||||
SAVEPOINT sp5011;
|
||||
ATTACH DATABASE ':memory:' AS aux26;
|
||||
SAVEPOINT sp3272;
|
||||
PRAGMA ignore_check_constraints = NO;
|
||||
.eqp off
|
||||
PRAGMA count_changes = '|';
|
||||
ATTACH DATABASE ':memory:' AS aux96;
|
||||
ATTACH DATABASE ':memory:' AS aux34;
|
||||
CREATE TEMPORARY TABLE t0(x, y, z);
|
||||
CREATE TABLE t1(a INTEGER PRIMARY KEY, b TEXT, c INT, d INT);
|
||||
INSERT INTO t1 VALUES (CAST(unicode('你好') AS MEDIUMINT), 'Wernher', if(min(-9223372036854775809, '2', 3), 10, 0, 10, 0, 10, 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
|
||||
SELECT -99999999999999999999999999999999999999999999999999;
|
||||
SELECT * FROM sqlite_temp_master WHERE sql GLOB '000[]***';
|
||||
DROP TABLE t0;
|
||||
REINDEX;
|
||||
DELETE FROM t0 WHERE 1 RETURNING *;
|
||||
UPDATE t0 SET z = '' WHERE z BETWEEN 0 AND 100;
|
||||
SELECT * FROM t0 AS a FULL OUTER joIN t1 AS b ON a.rowid = b.rowid;
|
||||
SELECT * FROM t1 WHERE b NOT IN (SELECT b FROM t1);
|
||||
DETACH DATABASE aux34;
|
||||
SELECT * FROM t1 AS a FULL OUTER JOIN t0 AS b ON a.rowid = b.rowid;
|
||||
ALTER TABLE t0 RENAME TO t0_r5353;
|
||||
ALTER TABLE t1 RENAME TO t1_r3388;
|
||||
PRAGMA short_column_names = YES;
|
||||
INSERT INTO t1 VALUES (NULL, NULL, NULL, NULL);
|
||||
|
||||
SELECT COUNT(*) FROM t1;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_t0_3641 AFTER UPDATE ON t0 BEGIN SELECT RAISE(IGNORE); END;
|
||||
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 t1;
|
||||
DETACH DATABASE aux96;
|
||||
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
|
||||
WITH RECURSIVE multi(a, b) AS (VALUES(1, 1.0) UNION ALL SELECT a+1, b*0.5 FROM multi WHERE a<38) SELECT * FROM multi;
|
||||
.eqp off
|
||||
PRAGMA count_changes = '|';
|
||||
ATTACH DATABASE ':memory:' AS aux96;
|
||||
ATTACH DATABASE ':memory:' AS aux34;
|
||||
CREATE TEMPORARY TABLE t0(x, y, z);
|
||||
CREATE TABLE t1(a INTEGER PRIMARY KEY, b TEXT, c INT, d INT);
|
||||
INSERT INTO t1 VALUES (CAST(unicode('你好') AS MEDIUMINT), '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
|
||||
SELECT -99999999999999999999999999999999999999999999999999;
|
||||
SELECT * FROM sqlite_temp_master WHERE sql GLOB '000[]***';
|
||||
DROP TABLE t0;
|
||||
REINDEX;
|
||||
DELETE FROM t0 WHERE 1 RETURNING *;
|
||||
UPDATE t0 SET z = '' WHERE z BETWEEN 0 AND 100;
|
||||
SELECT * FROM t0 AS a FULL OUTER JOIN t1 AS b ON a.rowid = b.rowid;
|
||||
SELECT * FROM t1 WHERE b NOT IN (SELECT b FROM t1);
|
||||
DETACH DATABASE aux34;
|
||||
SELECT * FROM t1 AS a FULL OUTER JOIN t0 AS b ON a.rowid = b.rowid;
|
||||
ALTER TABLE t0 RENAME TO t0_r5353;
|
||||
ALTER TABLE t1 RENAME TO t1_r3388;
|
||||
PRAGMA short_column_names = YES;
|
||||
INSERT INTO t1 VALUES (NULL, NULL, NULL, NULL);
|
||||
|
||||
SELECT COUNT(*) FROM t1;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_t0_3641 AFTER UPDATE ON t0 BEGIN SELECT RAISE(IGNORE); END;
|
||||
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 t1;
|
||||
DETACH DATABASE aux96;
|
||||
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
|
||||
WITH RECURSIVE multi(a, b) AS (VALUES(1, 1.0) UNION ALL SELECT a+1, b*0.5 FROM multi WHERE a<38) SELECT * FROM multi;
|
||||
.eqp off
|
||||
PRAGMA count_changes = '|';
|
||||
ATTACH DATABASE ':memory:' AS aux96;
|
||||
ATTACH DATABASE ':memory:' AS aux34;
|
||||
CREATE TEMPORARY TABLE t0(x, y, z);
|
||||
CREATE TABLE t1(a INTEGER PRIMARY KEY, b TEXT, c INT, d INT);
|
||||
INSERT INTO t1 VALUES (CAST(unicode('你好') AS MEDIUMINT), '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
|
||||
SELECT -99999999999999999999999999999999999999999999999999;
|
||||
SELECT * FROM sqlite_temp_master WHERE sql GLOB '000[]***';
|
||||
DROP TABLE t0;
|
||||
REINDEX;
|
||||
DELETE FROM t0 WHERE 1 RETURNING *;
|
||||
UPDATE t0 SET z = '' WHERE z BETWEEN 0 AND 100;
|
||||
SELECT * FROM t0 AS a FULL OUTER JOIN t1 AS b ON a.rowid = b.rowid;
|
||||
SELECT * FROM t1 WHERE b NOT IN (SELECT b FROM t1);
|
||||
DETACH DATABASE aux34;
|
||||
SELECT * FROM t1 AS a FULL OUTER JOIN t0 AS b ON a.rowid = b.rowid;
|
||||
ALTER TABLE t0 RENAME TO t0_r5353;
|
||||
ALTER TABLE t1 RENAME TO t1_r3388;
|
||||
PRAGMA short_column_names = YES;
|
||||
INSERT INTO t1 VALUES (NULL, NULL, NULL, NULL);
|
||||
|
||||
SELECT COUNT(*) FROM t1;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_t0_3641 AFTER UPDATE ON t0 BEGIN SELECT RAISE(IGNORE); END;
|
||||
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 t1;
|
||||
DETACH DATABASE aux96;
|
||||
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
|
||||
WITH RECURSIVE multi(a, b) AS (VALUES(1, 1.0) UNION ALL SELECT a+1, b*0.5 FROM multi WHERE a<38) SELECT * FROM multi;
|
||||
.eqp off
|
||||
PRAGMA count_changes = '|';
|
||||
ATTACH DATABASE ':memory:' AS aux96;
|
||||
ATTACH DATABASE ':memory:' AS aux34;
|
||||
CREATE TEMPORARY TABLE t0(x, y, z);
|
||||
CREATE TABLE t1(a INTEGER PRIMARY KEY, b TEXT, c INT, d INT);
|
||||
INSERT INTO t1 VALUES (CAST(unicode('你好') AS MEDIUMINT), '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
|
||||
SELECT -99999999999999999999999999999999999999999999999999;
|
||||
SELECT * FROM sqlite_temp_master WHERE sql GLOB '000[]***';
|
||||
DROP TABLE t0;
|
||||
REINDEX;
|
||||
DELETE FROM t0 WHERE 1 RETURNING *;
|
||||
UPDATE t0 SET z = '' WHERE z BETWEEN 0 AND 100;
|
||||
SELECT * FROM t0 AS a FULL OUTER JOIN t1 AS b ON a.rowid = b.rowid;
|
||||
SELECT * FROM t1 WHERE b NOT IN (SELECT b FROM t1);
|
||||
DETACH DATABASE aux34;
|
||||
SELECT * FROM t1 AS a FULL OUTER JOIN t0 AS b ON a.rowid = b.rowid;
|
||||
ALTER TABLE t0 RENAME TO t0_r5353;
|
||||
ALTER TABLE t1 RENAME TO t1_r3388;
|
||||
PRAGMA short_column_names = YES;
|
||||
INSERT INTO t1 VALUES (NULL, NULL, NULL, NULL);
|
||||
|
||||
SELECT COUNT(*) FROM t1;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_t0_3641 AFTER UPDATE ON t0 BEGIN SELECT RAISE(IGNORE); END;
|
||||
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 t1;
|
||||
DETACH DATABASE aux96;
|
||||
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
|
||||
WITH RECURSIVE multi(a, b) AS (VALUES(1, 1.0) UNION ALL SELECT a+1, b*0.5 FROM multi WHERE a<38) SELECT * FROM multi;
|
||||
.eqp off
|
||||
PRAGMA count_changes = '|';
|
||||
ATTACH DATABASE ':memory:' AS aux96;
|
||||
ATTACH DATABASE ':memory:' AS aux34;
|
||||
CREATE TEMPORARY TABLE t0(x, y, z);
|
||||
CREATE TABLE t1(a INTEGER PRIMARY KEY, b TEXT, c INT, d INT);
|
||||
INSERT INTO t1 VALUES (CAST(unicode('你好') AS MEDIUMINT), '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
|
||||
SELECT -99999999999999999999999999999999999999999999999999;
|
||||
SELECT * FROM sqlite_temp_master WHERE sql GLOB '000[]***';
|
||||
DROP TABLE t0;
|
||||
REINDEX;
|
||||
DELETE FROM t0 WHERE 1 RETURNING *;
|
||||
UPDATE t0 SET z = '' WHERE z BETWEEN 0 AND 100;
|
||||
SELECT * FROM t0 AS a FULL OUTER JOIN t1 AS b ON a.rowid = b.rowid;
|
||||
SELECT * FROM t1 WHERE b NOT IN (SELECT b FROM t1);
|
||||
DETACH DATABASE aux34;
|
||||
SELECT * FROM t1 AS a FULL OUTER JOIN t0 AS b ON a.rowid = b.rowid;
|
||||
ALTER TABLE t0 RENAME TO t0_r5353;
|
||||
ALTER TABLE t1 RENAME TO t1_r3388;
|
||||
PRAGMA short_column_names = YES;
|
||||
INSERT INTO t1 VALUES (NULL, NULL, NULL, NULL);
|
||||
|
||||
SELECT COUNT(*) FROM t1;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_t0_3641 AFTER UPDATE ON t0 BEGIN SELECT RAISE(IGNORE); END;
|
||||
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 t1;
|
||||
DETACH DATABASE aux96;
|
||||
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
|
||||
WITH RECURSIVE multi(a, b) AS (VALUES(1, 1.0) UNION ALL SELECT a+1, b*0.5 FROM multi WHERE a<38) SELECT * FROM multi;
|
||||
.eqp off
|
||||
PRAGMA count_changes = '|';
|
||||
ATTACH DATABASE ':memory:' AS aux96;
|
||||
ATTACH DATABASE ':memory:' AS aux34;
|
||||
CREATE TEMPORARY TABLE t0(x, y, z);
|
||||
CREATE TABLE t1(a INTEGER PRIMARY KEY, b TEXT, c INT, d INT);
|
||||
INSERT INTO t1 VALUES (CAST(unicode('你好') AS MEDIUMINT), '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
|
||||
SELECT -99999999999999999999999999999999999999999999999999;
|
||||
SELECT * FROM sqlite_temp_master WHERE sql GLOB '000[]***';
|
||||
DROP TABLE t0;
|
||||
REINDEX;
|
||||
DELETE FROM t0 WHERE 1 RETURNING *;
|
||||
UPDATE t0 SET z = '' WHERE z BETWEEN 0 AND 100;
|
||||
SELECT * FROM t0 AS a FULL OUTER JOIN t1 AS b ON a.rowid = b.rowid;
|
||||
SELECT * FROM t1 WHERE b NOT IN (SELECT b FROM t1);
|
||||
DETACH DATABASE aux34;
|
||||
SELECT * FROM t1 AS a FULL OUTER JOIN t0 AS b ON a.rowid = b.rowid;
|
||||
ALTER TABLE t0 RENAME TO t0_r5353;
|
||||
ALTER TABLE t1 RENAME TO t1_r3388;
|
||||
PRAGMA short_column_names = YES;
|
||||
INSERT INTO t1 VALUES (NULL, NULL, NULL, NULL);
|
||||
|
||||
SELECT COUNT(*) FROM t1;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_t0_3641 AFTER UPDATE ON t0 BEGIN SELECT RAISE(IGNORE); END;
|
||||
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 t1;
|
||||
DETACH DATABASE aux96;
|
||||
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
|
||||
WITH RECURSIVE multi(a, b) AS (VALUES(1, 1.0) UNION ALL SELECT a+1, b*0.5 FROM multi WHERE a<38) SELECT * FROM multi;
|
||||
.eqp off
|
||||
PRAGMA count_changes = '|';
|
||||
ATTACH DATABASE ':memory:' AS aux96;
|
||||
ATTACH DATABASE ':memory:' AS aux34;
|
||||
CREATE TEMPORARY TABLE t0(x, y, z);
|
||||
CREATE TABLE t1(a INTEGER PRIMARY KEY, b TEXT, c INT, d INT);
|
||||
INSERT INTO t1 VALUES (CAST(unicode('你好') AS MEDIUMINT), '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
|
||||
SELECT -99999999999999999999999999999999999999999999999999;
|
||||
SELECT * FROM sqlite_temp_master WHERE sql GLOB '000[]***';
|
||||
DROP TABLE t0;
|
||||
REINDEX;
|
||||
DELETE FROM t0 WHERE 1 RETURNING *;
|
||||
UPDATE t0 SET z = '' WHERE z BETWEEN 0 AND 100;
|
||||
SELECT * FROM t0 AS a FULL OUTER JOIN t1 AS b ON a.rowid = b.rowid;
|
||||
SELECT * FROM t1 WHERE b NOT IN (SELECT b FROM t1);
|
||||
DETACH DATABASE aux34;
|
||||
SELECT * FROM t1 AS a FULL OUTER JOIN t0 AS b ON a.rowid = b.rowid;
|
||||
ALTER TABLE t0 RENAME TO t0_r5353;
|
||||
ALTER TABLE t1 RENAME TO t1_r3388;
|
||||
PRAGMA short_column_names = YES;
|
||||
INSERT INTO t1 VALUES (NULL, NULL, NULL, NULL);
|
||||
|
||||
SELECT COUNT(*) FROM t1;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_t0_3641 AFTER UPDATE ON t0 BEGIN SELECT RAISE(IGNORE); END;
|
||||
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 t1;
|
||||
DETACH DATABASE aux96;
|
||||
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
|
||||
WITH RECURSIVE multi(a, b) AS (VALUES(1, 1.0) UNION ALL SELECT a+1, b*0.5 FROM multi WHERE a<38) SELECT * FROM multi;
|
||||
|
||||
VACUUM main;
|
||||
CREATE INDEX IF NOT EXISTS idx_t1_5312 ON t1(d) WHERE d > 0;
|
||||
PRAGMA empty_result_callbacks = ON;
|
||||
REINDEX t0;
|
||||
CREATE UNIQUE INDEX IF NOT EXISTS idx_t0_7893 ON t0(lower(x)) WHERE x > 0;
|
||||
CREATE UNIQUE INDEX IF NOT EXISTS idx_t1_2600 ON t1(b) WHERE b > 0;
|
||||
ALTER TABLE t0 RENAME COLUMN z TO z_r9903;
|
||||
ROLLBACK TO sp3272;
|
||||
RELEASE sp3272;
|
||||
SELECT * FROM t1 WHERE c IN (SELECT c FROM t1 LIMIT 0);
|
||||
VACUUM;
|
||||
SELECT SUM(y) FILTER (WHERE 1=0) OVER (ORDER BY y RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING EXCLUDE NO OTHERS) FROM t0;
|
||||
VACUUM main;
|
||||
CREATE TABLE T (
|
||||
A VARCHAR(20),
|
||||
B VARCHAR(30),
|
||||
C VARCHAR(30),
|
||||
PRIMARY KEY (A, B),
|
||||
UNIQUE (A, C)
|
||||
);
|
||||
INSERT INTO T VALUES ('a', 'p', 'x');
|
||||
INSERT INTO T VALUES ('a', 'q', 'y');
|
||||
INSERT INTO T VALUES ('b', 'p', 'z');
|
||||
INSERT INTO T VALUES ('c', 'r', 'w');
|
||||
INSERT INTO T VALUES ('d', 's', 'v');
|
||||
SELECT A, COUNT(DISTINCT B) AS D FROM T GROUP BY A HAVING COUNT(DISTINCT B) >= 1;
|
||||
CREATE INDEX IF NOT EXISTS idx_T_3768 ON T(lower(B));
|
||||
DELETE FROM T WHERE 0;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_T_6223 BEFORE UPDATE ON T BEGIN INSERT INTO T(B) VALUES (NULL); END;
|
||||
PRAGMA integrity_check;
|
||||
INSERT INTO t1 VALUES ('x', 'x', 'x', 'x') ON CONFLICT(a) DO UPDATE SET a = excluded.a, b = excluded.b, c = excluded.c;
|
||||
DETACH DATABASE aux26;
|
||||
CREATE UNIQUE INDEX IF NOT EXISTS idx_t1_2309 ON t1(lower(c)) WHERE c > 0;
|
||||
ANALYZE;
|
||||
ALTER TABLE T DROP COLUMN A;
|
||||
RELEASE sp5011;
|
||||
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;
|
||||
REINDEX;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_T_9509 AFTER UPDATE OF B ON T FOR EACH ROW BEGIN SELECT RAISE(IGNORE); END;
|
||||
|
||||
VACUUM;
|
||||
DROP TRIGGER IF EXISTS T;
|
||||
|
||||
SELECT COUNT(*) FROM T;
|
||||
SELECT * FROM T;
|
||||
UPDATE t1 SET b = -83 WHERE b IS NOT NULL RETURNING *;
|
||||
INSERT OR FAIL INTO t0 VALUES ('', 3, 0);
|
||||
RELEASE sp1689;
|
||||
SELECT COUNT(*) FILTER (WHERE y IS NOT NULL), SUM(rowid) FILTER (WHERE y > 0), COUNT(*) FILTER (WHERE 1=0), COUNT(*) FILTER (WHERE 1=1), COUNT(*) FILTER (WHERE NULL), AVG(y) FILTER (WHERE y > 0 AND y < 100), COUNT(*) FILTER (WHERE typeof(y) = "text") FROM t0;
|
||||
```
|
||||
|
||||
## Actual output
|
||||
|
||||
```sql
|
||||
ok
|
||||
CREATE TABLE "t2"("b","c","_ROWID_",PRIMARY KEY("b","c","_ROWID_"))WITHOUT ROWID;
|
||||
WARNING: writing to an imposter table will corrupt the "t1bc" index!
|
||||
Braun|30|3
|
||||
von|20|2
|
||||
Braun|30
|
||||
von|20
|
||||
```
|
||||
|
||||
## Expectation
|
||||
|
||||
```sql
|
||||
|
||||
```
|
||||
|
||||
## Flag
|
||||
|
||||
```
|
||||
|
||||
```
|
||||
|
||||
@@ -0,0 +1,59 @@
|
||||
## 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
|
||||
ATTACH DATABASE ':memory:' AS aux56;
|
||||
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 ignore_check_constraints = 0;
|
||||
DETACH DATABASE aux56;
|
||||
INSERT INTO t1 SELECT * FROM t1;
|
||||
```
|
||||
|
||||
## Actual output
|
||||
|
||||
```sql
|
||||
CREATE TABLE "t2"("b","c","_ROWID_",PRIMARY KEY("b","c","_ROWID_"))WITHOUT ROWID;
|
||||
WARNING: writing to an imposter table will corrupt the "t1bc" index!
|
||||
Braun|30|3
|
||||
Wernher|10|1
|
||||
von|20|2
|
||||
Braun|30
|
||||
Wernher|10
|
||||
von|20
|
||||
```
|
||||
|
||||
## Expectation
|
||||
|
||||
```sql
|
||||
CREATE TABLE "t2"("b","c","_ROWID_",PRIMARY KEY("b","c","_ROWID_"))WITHOUT ROWID;
|
||||
Braun|30|3
|
||||
Wernher|10|1
|
||||
von|20|2
|
||||
Braun|30
|
||||
Wernher|10
|
||||
von|20
|
||||
```
|
||||
|
||||
## Flag
|
||||
|
||||
```
|
||||
-deserialize
|
||||
```
|
||||
|
||||
@@ -0,0 +1,46 @@
|
||||
## 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 fullfsync;
|
||||
PRAGMA automatic_index = ON;
|
||||
PRAGMA wal_checkpoint;
|
||||
.tables
|
||||
CREATE TABLE t1(c1);
|
||||
INSERT INTO t1 VALUES(if(1, 12, 0, 12, 0, 12, 12)),(123),(1234),(NULL),('abc');
|
||||
CREATE TABLE t2(c2);
|
||||
INSERT INTO t2 VALUES(44),(55),(123);
|
||||
CREATE TABLE t3(c3,c4);
|
||||
INSERT INTO t3 VALUES(66,1),(123,2),(77,3);
|
||||
CREATE VIEW t4 AS SELECT c3 FROM t3;
|
||||
CREATE VIEW t5 AS SELECT c3 FROM t3 ORDER BY c4;
|
||||
SELECT * FROM t1, t2 WHERE c1=(SELECT 123 INTERSECT SELECT c2 FROM t4) AND c1=123;
|
||||
SELECT * FROM t1, t2 WHERE c1=(SELECT 123 INTERSECT SELECT c2 FROM t5) AND c1=123;
|
||||
|
||||
|
||||
SELECT COUNT(*) FROM t1;
|
||||
ANALYZE;
|
||||
```
|
||||
|
||||
## Actual output
|
||||
|
||||
```sql
|
||||
0
|
||||
0|-1|-1
|
||||
0
|
||||
```
|
||||
|
||||
## Expectation
|
||||
|
||||
```sql
|
||||
|
||||
```
|
||||
|
||||
## Flag
|
||||
|
||||
```
|
||||
-batch
|
||||
```
|
||||
|
||||
@@ -0,0 +1,236 @@
|
||||
## 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
|
||||
ATTACH DATABASE ':memory:' AS aux85;
|
||||
.auth ON
|
||||
BEGIN IMMEDIATE TRANSACTION;
|
||||
.tables non_existent_table
|
||||
CREATE TABLE T (
|
||||
a INTEGER,
|
||||
b TEXT,
|
||||
c INTEGER
|
||||
);
|
||||
INSERT INTO T VALUES ((like('%lower%', jsonb_insert(0, '$.key', 0)) + 1),'a',NULL), (2,'b',1), (3,'c',2);
|
||||
WITH RECURSIVE d(a,b,c,e) AS (
|
||||
SELECT *,1 FROM T WHERE c IS NULL
|
||||
UNION ALL
|
||||
SELECT T.a,T.b,T.c,d.e+1
|
||||
FROM T JOIN d ON /* # */ T.c=d.a
|
||||
)
|
||||
SELECT * FROM d;
|
||||
PRAGMA cache_spill = 0;
|
||||
CREATE TABLE main.artists (id integer NOT NULL PRIMARY KEY AUTOINCREMENT, name varchar(255));
|
||||
CREATE TABLE albums ( id integer NOT NULL PRIMARY KEY AUTOINCREMENT, name varchar(255), artist_id integer REFERENCES artists);
|
||||
INSERT INTO artists (name) VALUES ('Ar');
|
||||
INSERT INTO albums (name, artist_id) VALUES ('Al', 1);
|
||||
SELECT artists.* FROM artists INNER JOIN artists AS b ON (b.id = artists.id) WHERE (artists.id IN ( SELECT albums.artist_id FROM albums WHERE ((name = 'Al') AND (albums.artist_id IS NOT NULL) AND (albums.id IN ( SELECT id FROM ( SELECT albums.id, row_number() OVER (PARTITION BY /**/ albums.artist_id ORDER BY name) AS x FROM albums WHERE (name = 'Al') ) AS t1 WHERE (x = 1) )) AND (albums.id IN (1, 2))) ));
|
||||
|
||||
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
|
||||
ANALYZE;
|
||||
REINDEX albums;
|
||||
REINDEX artists;
|
||||
SELECT AVG(id) FROM artists;
|
||||
ALTER TABLE t1 DROP COLUMN c;
|
||||
DELETE FROM t1 WHERE 0 RETURNING *;
|
||||
SELECT AVG(b) FROM t1;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_T_5677 BEFORE UPDATE ON T FOR EACH ROW BEGIN SELECT RAISE(IGNORE); END;
|
||||
WITH cte AS (SELECT a, COUNT(*) AS cnt FROM t1 GROUP BY a) SELECT * FROM cte WHERE cnt > 1;
|
||||
INSERT INTO t1 SELECT * FROM t1;
|
||||
UPDATE albums SET artist_id = artist_id + 1 WHERE artist_id IS NOT NULL RETURNING *;
|
||||
END;
|
||||
SELECT DENSE_RANK() OVER (PARTITION BY a ORDER BY a RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING EXCLUDE NO OTHERS) FROM t1;
|
||||
VACUUM main;
|
||||
INSERT INTO albums VALUES (NULL, NULL, NULL) ON CONFLICT(id) DO UPDATE SET id = excluded.id, name = excluded.name, artist_id = excluded.artist_id;
|
||||
SELECT * FROM T AS a FULL JOIN t1 AS b ON a.rowid = b.rowid;
|
||||
DETACH DATABASE aux85;
|
||||
DROP TABLE IF EXISTS albums;
|
||||
INSERT INTO albums VALUES (NULL, NULL, NULL);
|
||||
```
|
||||
|
||||
## Actual output
|
||||
|
||||
```sql
|
||||
authorizer: TRANSACTION "BEGIN" NULL NULL NULL
|
||||
authorizer: PRAGMA "database_list" NULL NULL NULL
|
||||
authorizer: SELECT NULL NULL NULL NULL
|
||||
authorizer: READ "sqlite_master" "name" "aux85" NULL
|
||||
authorizer: READ "sqlite_master" "type" "aux85" NULL
|
||||
authorizer: FUNCTION NULL "like" NULL NULL
|
||||
authorizer: READ "sqlite_master" "name" "aux85" NULL
|
||||
authorizer: FUNCTION NULL "like" NULL NULL
|
||||
authorizer: READ "sqlite_master" "name" "aux85" NULL
|
||||
authorizer: READ "sqlite_master" "name" "main" NULL
|
||||
authorizer: READ "sqlite_master" "type" "main" NULL
|
||||
authorizer: FUNCTION NULL "like" NULL NULL
|
||||
authorizer: READ "sqlite_master" "name" "main" NULL
|
||||
authorizer: FUNCTION NULL "like" NULL NULL
|
||||
authorizer: READ "sqlite_master" "name" "main" NULL
|
||||
authorizer: SELECT NULL NULL NULL NULL
|
||||
authorizer: SELECT NULL NULL NULL NULL
|
||||
authorizer: SELECT NULL NULL NULL NULL
|
||||
authorizer: READ "sqlite_master" "name" "aux85" NULL
|
||||
authorizer: READ "sqlite_master" "type" "aux85" NULL
|
||||
authorizer: FUNCTION NULL "like" NULL NULL
|
||||
authorizer: READ "sqlite_master" "name" "aux85" NULL
|
||||
authorizer: FUNCTION NULL "like" NULL NULL
|
||||
authorizer: READ "sqlite_master" "name" "aux85" NULL
|
||||
authorizer: READ "sqlite_master" "name" "main" NULL
|
||||
authorizer: READ "sqlite_master" "type" "main" NULL
|
||||
authorizer: FUNCTION NULL "like" NULL NULL
|
||||
authorizer: READ "sqlite_master" "name" "main" NULL
|
||||
authorizer: FUNCTION NULL "like" NULL NULL
|
||||
authorizer: READ "sqlite_master" "name" "main" NULL
|
||||
authorizer: SELECT NULL NULL NULL NULL
|
||||
authorizer: SELECT NULL NULL NULL NULL
|
||||
authorizer: INSERT "sqlite_master" NULL "main" NULL
|
||||
authorizer: CREATE_TABLE "T" NULL "main" NULL
|
||||
authorizer: UPDATE "sqlite_master" "type" "main" NULL
|
||||
authorizer: UPDATE "sqlite_master" "name" "main" NULL
|
||||
authorizer: UPDATE "sqlite_master" "tbl_name" "main" NULL
|
||||
authorizer: UPDATE "sqlite_master" "rootpage" "main" NULL
|
||||
authorizer: UPDATE "sqlite_master" "sql" "main" NULL
|
||||
authorizer: READ "sqlite_master" "ROWID" "main" NULL
|
||||
authorizer: INSERT "T" NULL "main" NULL
|
||||
authorizer: SELECT NULL NULL NULL NULL
|
||||
authorizer: FUNCTION NULL "like" NULL NULL
|
||||
authorizer: SELECT NULL NULL NULL NULL
|
||||
authorizer: READ "T" "a" "main" "d"
|
||||
authorizer: READ "T" "b" "main" "d"
|
||||
authorizer: READ "T" "c" "main" "d"
|
||||
authorizer: READ "T" "c" "main" "d"
|
||||
authorizer: READ "T" "a" "main" "d"
|
||||
authorizer: READ "T" "b" "main" "d"
|
||||
authorizer: READ "T" "c" "main" "d"
|
||||
authorizer: READ "T" "c" "main" "d"
|
||||
authorizer: SELECT NULL NULL NULL "d"
|
||||
authorizer: RECURSIVE NULL NULL NULL "d"
|
||||
authorizer: SELECT NULL NULL NULL "d"
|
||||
authorizer: SELECT NULL NULL NULL "d"
|
||||
authorizer: PRAGMA "cache_spill" "0" NULL NULL
|
||||
authorizer: INSERT "sqlite_master" NULL "main" NULL
|
||||
authorizer: CREATE_TABLE "artists" NULL "main" NULL
|
||||
authorizer: UPDATE "sqlite_master" "type" "main" NULL
|
||||
authorizer: UPDATE "sqlite_master" "name" "main" NULL
|
||||
authorizer: UPDATE "sqlite_master" "tbl_name" "main" NULL
|
||||
authorizer: UPDATE "sqlite_master" "rootpage" "main" NULL
|
||||
authorizer: UPDATE "sqlite_master" "sql" "main" NULL
|
||||
authorizer: READ "sqlite_master" "ROWID" "main" NULL
|
||||
authorizer: INSERT "sqlite_master" NULL "main" NULL
|
||||
authorizer: CREATE_TABLE "sqlite_sequence" NULL "main" NULL
|
||||
authorizer: UPDATE "sqlite_master" "type" "main" NULL
|
||||
authorizer: UPDATE "sqlite_master" "name" "main" NULL
|
||||
authorizer: UPDATE "sqlite_master" "tbl_name" "main" NULL
|
||||
authorizer: UPDATE "sqlite_master" "rootpage" "main" NULL
|
||||
authorizer: UPDATE "sqlite_master" "sql" "main" NULL
|
||||
authorizer: READ "sqlite_master" "ROWID" "main" NULL
|
||||
authorizer: INSERT "sqlite_master" NULL "main" NULL
|
||||
authorizer: CREATE_TABLE "albums" NULL "main" NULL
|
||||
authorizer: UPDATE "sqlite_master" "type" "main" NULL
|
||||
authorizer: UPDATE "sqlite_master" "name" "main" NULL
|
||||
authorizer: UPDATE "sqlite_master" "tbl_name" "main" NULL
|
||||
authorizer: UPDATE "sqlite_master" "rootpage" "main" NULL
|
||||
authorizer: UPDATE "sqlite_master" "sql" "main" NULL
|
||||
authorizer: READ "sqlite_master" "ROWID" "main" NULL
|
||||
authorizer: INSERT "artists" NULL "main" NULL
|
||||
authorizer: INSERT "albums" NULL "main" NULL
|
||||
authorizer: SELECT NULL NULL NULL NULL
|
||||
authorizer: READ "artists" "id" "main" NULL
|
||||
authorizer: READ "artists" "name" "main" NULL
|
||||
authorizer: READ "albums" "artist_id" "main" NULL
|
||||
authorizer: READ "albums" "name" "main" NULL
|
||||
authorizer: READ "albums" "artist_id" "main" NULL
|
||||
authorizer: READ "albums" "id" "main" NULL
|
||||
authorizer: FUNCTION NULL "row_number" NULL NULL
|
||||
authorizer: READ "albums" "artist_id" "main" NULL
|
||||
authorizer: READ "albums" "name" "main" NULL
|
||||
authorizer: READ "albums" "name" "main" NULL
|
||||
authorizer: READ "albums" "id" "main" NULL
|
||||
authorizer: READ "albums" "id" "main" NULL
|
||||
authorizer: READ "artists" "id" "main" NULL
|
||||
authorizer: READ "artists" "id" "main" NULL
|
||||
authorizer: READ "artists" "id" "main" NULL
|
||||
authorizer: READ "artists" "" NULL NULL
|
||||
authorizer: SELECT NULL NULL NULL NULL
|
||||
authorizer: SELECT NULL NULL NULL NULL
|
||||
authorizer: SELECT NULL NULL NULL NULL
|
||||
authorizer: SELECT NULL NULL NULL NULL
|
||||
1|Ar
|
||||
authorizer: INSERT "sqlite_master" NULL "main" NULL
|
||||
authorizer: CREATE_TABLE "t1" NULL "main" NULL
|
||||
authorizer: UPDATE "sqlite_master" "type" "main" NULL
|
||||
authorizer: UPDATE "sqlite_master" "name" "main" NULL
|
||||
authorizer: UPDATE "sqlite_master" "tbl_name" "main" NULL
|
||||
authorizer: UPDATE "sqlite_master" "rootpage" "main" NULL
|
||||
authorizer: UPDATE "sqlite_master" "sql" "main" NULL
|
||||
authorizer: READ "sqlite_master" "ROWID" "main" NULL
|
||||
authorizer: INSERT "t1" NULL "main" NULL
|
||||
authorizer: INSERT "t1" NULL "main" NULL
|
||||
authorizer: INSERT "t1" NULL "main" NULL
|
||||
authorizer: INSERT "sqlite_master" NULL "main" NULL
|
||||
authorizer: CREATE_INDEX "t1bc" "t1" "main" NULL
|
||||
authorizer: READ "t1" "b" "main" NULL
|
||||
authorizer: READ "t1" "c" "main" NULL
|
||||
authorizer: INSERT "sqlite_master" NULL "main" NULL
|
||||
authorizer: REINDEX "t1bc" NULL "main" NULL
|
||||
authorizer: PRAGMA "writable_schema" "ON" NULL NULL
|
||||
authorizer: SELECT NULL NULL NULL NULL
|
||||
authorizer: READ "sqlite_master" "rootpage" "main" NULL
|
||||
authorizer: READ "sqlite_master" "name" "main" NULL
|
||||
authorizer: READ "sqlite_master" "type" "main" NULL
|
||||
authorizer: FUNCTION NULL "like" NULL NULL
|
||||
authorizer: READ "sqlite_master" "sql" "main" NULL
|
||||
authorizer: READ "sqlite_master" "rootpage" "main" NULL
|
||||
authorizer: READ "sqlite_master" "name" "main" NULL
|
||||
authorizer: READ "sqlite_master" "type" "main" NULL
|
||||
authorizer: SELECT NULL NULL NULL NULL
|
||||
authorizer: SELECT NULL NULL NULL NULL
|
||||
authorizer: PRAGMA "index_xinfo" "t1bc" NULL NULL
|
||||
CREATE TABLE "t2"("b","c","_ROWID_",PRIMARY KEY("b","c","_ROWID_"))WITHOUT ROWID;
|
||||
WARNING: writing to an imposter table will corrupt the "t1bc" index!
|
||||
authorizer: SELECT NULL NULL NULL NULL
|
||||
authorizer: READ "t2" "b" "main" NULL
|
||||
authorizer: READ "t2" "c" "main" NULL
|
||||
authorizer: READ "t2" "_ROWID_" "main" NULL
|
||||
Braun|30|3
|
||||
Wernher|10|1
|
||||
von|20|2
|
||||
authorizer: SELECT NULL NULL NULL NULL
|
||||
authorizer: READ "t1" "b" "main" NULL
|
||||
authorizer: READ "t1" "c" "main" NULL
|
||||
authorizer: READ "t1" "b" "main" NULL
|
||||
authorizer: READ "t1" "c" "main" NULL
|
||||
Braun|30
|
||||
Wernher|10
|
||||
von|20
|
||||
```
|
||||
|
||||
## Expectation
|
||||
|
||||
```sql
|
||||
|
||||
```
|
||||
|
||||
## Flag
|
||||
|
||||
```
|
||||
|
||||
```
|
||||
|
||||
@@ -0,0 +1,98 @@
|
||||
## 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 journal_mode;
|
||||
BEGIN DEFERRED TRANSACTION;
|
||||
CREATE TABLE t1(a INTEGER PRIMARY KEY, b TEXT, c INT, d INT);
|
||||
INSERT INTO t1 VALUES (asin(changes()), 'Wernher', length(instr(NULL, substr(if('', max(10, 1, 2, 3), 10), 1))), 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
|
||||
.dbconfig fk on
|
||||
.progress concat_ws(NULL, 'a', 'b')
|
||||
ATTACH DATABASE '' || (':memory:') AS aux92;
|
||||
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;
|
||||
|
||||
SELECT COUNT(*) FROM T;
|
||||
VACUUM main;
|
||||
DETACH DATABASE aux92;
|
||||
ANALYZE T;
|
||||
ANALYZE T;
|
||||
DROP TABLE IF EXISTS T;
|
||||
|
||||
SELECT COUNT(*) FROM T;
|
||||
DROP VIEW IF EXISTS T;
|
||||
INSERT INTO T SELECT * FROM T;
|
||||
PRAGMA cell_size_check = OFF;
|
||||
INSERT INTO T VALUES (NULL, 1, 'x') ON CONFLICT(A) DO UPDATE SET A = excluded.A, B = excluded.B, C = excluded.C;
|
||||
DROP TRIGGER IF EXISTS T;
|
||||
ALTER TABLE T ADD COLUMN extra_8822 VARCHAR(255) DEFAULT CURRENT_TIMESTAMP;
|
||||
SELECT LEAD(B) OVER (ORDER BY B ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) FROM T;
|
||||
INSERT INTO T VALUES (NULL, NULL, NULL);
|
||||
ALTER TABLE T RENAME TO T_r4159;
|
||||
SELECT COUNT(*) FILTER (WHERE d IS NOT NULL), SUM(rowid) FILTER (WHERE d > 0), COUNT(*) FILTER (WHERE 1=0), COUNT(*) FILTER (WHERE 1=1), COUNT(*) FILTER (WHERE NULL), AVG(d) FILTER (WHERE d > 0 AND d < 100), COUNT(*) FILTER (WHERE typeof(d) = "text") FROM t1;
|
||||
COMMIT TRANSACTION;
|
||||
UPDATE t1 SET c = c + 1 WHERE c BETWEEN 0 AND 100;
|
||||
ALTER TABLE t1 ADD COLUMN extra_369 CLOB COLLATE RTRIM;
|
||||
ALTER TABLE t1 RENAME TO t1_r8858;
|
||||
SELECT * FROM t1 WHERE c IN (SELECT c FROM t1 WHERE 1/0 = 0);SELECT * FROM t1 WHERE c IN (SELECT c FROM t1 LIMIT -1);
|
||||
ALTER TABLE T RENAME TO T_r1073;
|
||||
INSERT OR ROLLBACK INTO T VALUES ('x', 'x', NULL);
|
||||
SELECT SUM(d) OVER (ORDER BY d ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING EXCLUDE GROUP) FROM t1;
|
||||
|
||||
SELECT COUNT(*) FROM T;
|
||||
ALTER TABLE T ADD COLUMN extra_6831 NCHAR(55) UNIQUE;
|
||||
SELECT MAX(B) FROM T;
|
||||
VACUUM;
|
||||
ALTER TABLE T RENAME COLUMN B TO B_r5193;
|
||||
```
|
||||
|
||||
## Actual output
|
||||
|
||||
```sql
|
||||
memory
|
||||
CREATE TABLE "t2"("b","c","_ROWID_",PRIMARY KEY("b","c","_ROWID_"))WITHOUT ROWID;
|
||||
WARNING: writing to an imposter table will corrupt the "t1bc" index!
|
||||
Braun|30|3
|
||||
von|20|2
|
||||
Braun|30
|
||||
von|20
|
||||
```
|
||||
|
||||
## Expectation
|
||||
|
||||
```sql
|
||||
|
||||
```
|
||||
|
||||
## Flag
|
||||
|
||||
```
|
||||
-nullvalue "NU11"
|
||||
```
|
||||
|
||||
@@ -0,0 +1,366 @@
|
||||
## 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
|
||||
SAVEPOINT sp2208;
|
||||
.eqp auto
|
||||
CREATE TABLE T (
|
||||
a TEXT,
|
||||
b REAL
|
||||
);
|
||||
INSERT INTO T VALUES ('a',abs(json_valid(acos(9223372036854775806), 6))), ('b',-200.5), ('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;
|
||||
PRAGMA short_column_names = NO;
|
||||
PRAGMA cell_size_check;
|
||||
.parameter
|
||||
ATTACH DATABASE ':memory:' AS aux30;
|
||||
.log ON
|
||||
SAVEPOINT sp6089;
|
||||
ATTACH DATABASE '' || (':memory:') AS aux56;
|
||||
CREATE TABLE main.t1(a INTEGER PRIMARY KEY, b TEXT, c INT, d INT);
|
||||
INSERT INTO t1 VALUES (strftime('%s', format('%d', 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 ignore_check_constraints = 0;
|
||||
DETACH DATABASE aux56;
|
||||
INSERT INTO t1 SELECT * FROM t1;
|
||||
PRAGMA recursive_triggers = OFF;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_t1_1212 AFTER UPDATE OF c ON t1 BEGIN SELECT RAISE(ROLLBACK, 'rb'); END;
|
||||
RELEASE sp6089;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_t1_4991 BEFORE UPDATE OF a ON t1 FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'abort'); END;
|
||||
INSERT INTO t1 VALUES (1, 'x', 'x', 'x') ON CONFLICT(a) DO UPDATE SET a = excluded.a, b = excluded.b, c = excluded.c;
|
||||
ALTER TABLE t1 ADD COLUMN extra_6256 CLOB DEFAULT '';
|
||||
WITH RECURSIVE cnt(x) AS (VALUES(1) UNION ALL SELECT x+1 FROM cnt WHERE x<1) SELECT * FROM cnt;
|
||||
CREATE TABLE T1 (
|
||||
A VARCHAR(20),
|
||||
X VARCHAR(10),
|
||||
PRIMARY KEY (A, X),
|
||||
UNIQUE (X)
|
||||
);
|
||||
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 * FROM t1 NATURAL JOIN t1;
|
||||
ALTER TABLE t1 RENAME COLUMN d TO d_r9145;
|
||||
INSERT OR FAIL INTO t1 VALUES ('x', 'x', '', -7);
|
||||
INSERT INTO t1 VALUES (NULL, NULL, NULL, NULL);
|
||||
UPDATE t1 SET d = d + 1 RETURNING *;
|
||||
WITH RECURSIVE fib(a,b) AS (VALUES(1,1) UNION ALL SELECT b, a+b FROM fib WHERE b<1000) SELECT a FROM fib;
|
||||
SELECT COUNT(*) FILTER (WHERE b IS NOT NULL), SUM(rowid) FILTER (WHERE b > 0), COUNT(*) FILTER (WHERE 1=0), COUNT(*) FILTER (WHERE 1=1), COUNT(*) FILTER (WHERE NULL), AVG(b) FILTER (WHERE b > 0 AND b < 100), COUNT(*) FILTER (WHERE typeof(b) = "text") FROM t1;
|
||||
INSERT INTO T1 VALUES ('x', 'x') ON CONFLICT(A) DO UPDATE SET A = excluded.A, X = excluded.X;
|
||||
ALTER TABLE T1 DROP COLUMN A;
|
||||
CREATE TEMP VIEW IF NOT EXISTS v_t1_7233 AS SELECT c FROM t1;
|
||||
DETACH DATABASE aux30;
|
||||
UPDATE T1 SET A = A + 1 WHERE rowid = 1;
|
||||
INSERT INTO T1 SELECT * FROM T1;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_t1_9997 BEFORE UPDATE ON t1 FOR EACH ROW BEGIN SELECT RAISE(ROLLBACK, 'rb'); END;
|
||||
DELETE FROM T1 WHERE 0;
|
||||
INSERT INTO t1 DEFAULT VALUES;
|
||||
ALTER TABLE T2 RENAME TO T2_r5714;
|
||||
DELETE FROM T2 WHERE 1;
|
||||
SELECT * FROM T2 WHERE Y > ALL (SELECT Y FROM T2);
|
||||
SELECT * FROM T2;
|
||||
ALTER TABLE T1 ADD COLUMN extra_1823 FLOAT UNIQUE;
|
||||
WITH RECURSIVE fib(a,b,n) AS (VALUES(1,1,1) UNION ALL SELECT b, a+b, n+1 FROM fib WHERE n<95) SELECT a, n FROM fib;
|
||||
SELECT COUNT(*) FROM T1;
|
||||
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;
|
||||
ALTER TABLE T DROP COLUMN b;
|
||||
INSERT INTO T1 DEFAULT VALUES;
|
||||
SELECT COUNT(A) FILTER (WHERE A IS NOT NULL) OVER (PARTITION BY A ORDER BY A ROWS BETWEEN 2 PRECEDING AND 2 FOLLOWING EXCLUDE CURRENT ROW) FROM T2;
|
||||
INSERT INTO t1 VALUES ('x', 'x', 1, 'x') ON CONFLICT(a) DO UPDATE SET a = excluded.a, b = excluded.b, c = excluded.c;
|
||||
ALTER TABLE t1 DROP COLUMN b;
|
||||
INSERT OR FAIL INTO T2 VALUES ('x', -9);
|
||||
REINDEX;
|
||||
REINDEX;
|
||||
SELECT LAG(b, 0) OVER (ORDER BY b RANGE BETWEEN 1 PRECEDING AND 1 FOLLOWING) FROM T;
|
||||
SELECT SUM(Y) FROM T2;
|
||||
UPDATE T SET A = NULL WHERE 1;
|
||||
DELETE FROM t1 WHERE c > (SELECT AVG(c) FROM t1);
|
||||
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;
|
||||
.eqp auto
|
||||
CREATE TABLE T (
|
||||
a TEXT,
|
||||
b REAL
|
||||
);
|
||||
INSERT INTO T VALUES ('a',abs(json_valid(9223372036854775806, 6))), ('b',-200.5), ('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;
|
||||
PRAGMA short_column_names = NO;
|
||||
PRAGMA cell_size_check;
|
||||
.parameter
|
||||
ATTACH DATABASE ':memory:' AS aux30;
|
||||
.log ON
|
||||
SAVEPOINT sp6089;
|
||||
ATTACH DATABASE '' || (':memory:') AS aux56;
|
||||
CREATE TABLE main.t1(a INTEGER PRIMARY KEY, b TEXT, c INT, d INT);
|
||||
INSERT INTO t1 VALUES (strftime('%s', format('%d', 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 ignore_check_constraints = 0;
|
||||
DETACH DATABASE aux56;
|
||||
INSERT INTO t1 SELECT * FROM t1;
|
||||
PRAGMA recursive_triggers = OFF;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_t1_1212 AFTER UPDATE OF c ON t1 BEGIN SELECT RAISE(ROLLBACK, 'rb'); END;
|
||||
RELEASE sp6089;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_t1_4991 BEFORE UPDATE OF a ON t1 FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'abort'); END;
|
||||
INSERT INTO t1 VALUES (1, 'x', 'x', 'x') ON CONFLICT(a) DO UPDATE SET a = excluded.a, b = excluded.b, c = excluded.c;
|
||||
ALTER TABLE t1 ADD COLUMN extra_6256 CLOB DEFAULT '';
|
||||
WITH RECURSIVE cnt(x) AS (VALUES(1) UNION ALL SELECT x+1 FROM cnt WHERE x<1) SELECT * FROM cnt;
|
||||
CREATE TABLE T1 (
|
||||
A VARCHAR(20),
|
||||
X VARCHAR(10),
|
||||
PRIMARY KEY (A, X),
|
||||
UNIQUE (X)
|
||||
);
|
||||
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 * FROM t1 NATURAL JOIN t1;
|
||||
ALTER TABLE t1 RENAME COLUMN d TO d_r9145;
|
||||
INSERT AND FAIL INTO t1 VALUES ('x', 'x', '', -7);
|
||||
INSERT INTO t1 VALUES (NULL, NULL, NULL, NULL);
|
||||
UPDATE t1 SET d = d + 1 RETURNING *;
|
||||
WITH RECURSIVE fib(a,b) AS (VALUES(1,1) UNION ALL SELECT b, a+b FROM fib WHERE b<1000) SELECT a FROM fib;
|
||||
SELECT COUNT(*) FILTER (WHERE b IS NOT NULL), SUM(rowid) FILTER (WHERE b > 0), COUNT(*) FILTER (WHERE 1=0), COUNT(*) FILTER (WHERE 1=1), COUNT(*) FILTER (WHERE NULL), AVG(b) FILTER (WHERE b > 0 AND b < 100), COUNT(*) FILTER (WHERE typeof(b) = "text") FROM t1;
|
||||
INSERT INTO T1 VALUES ('x', 'x') ON CONFLICT(A) DO UPDATE SET A = excluded.A, X = excluded.X;
|
||||
ALTER TABLE T1 DROP COLUMN A;
|
||||
CREATE TEMP VIEW IF NOT EXISTS v_t1_7233 AS SELECT c FROM t1;
|
||||
DETACH DATABASE aux30;
|
||||
UPDATE T1 SET A = A + 1 WHERE rowid = 1;
|
||||
INSERT INTO T1 SELECT * FROM T1;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_t1_9997 BEFORE UPDATE ON t1 FOR EACH ROW BEGIN SELECT RAISE(ROLLBACK, 'rb'); END;
|
||||
DELETE FROM T1 WHERE 0;
|
||||
INSERT INTO t1 DEFAULT VALUES;
|
||||
ALTER TABLE T2 RENAME TO T2_r5714;
|
||||
DELETE FROM T2 WHERE 1;
|
||||
SELECT * FROM T2 WHERE Y > ALL (SELECT Y FROM T2);
|
||||
SELECT * FROM T2;
|
||||
ALTER TABLE T1 ADD COLUMN extra_1823 FLOAT UNIQUE;
|
||||
WITH RECURSIVE fib(a,b,n) AS (VALUES(1,1,1) UNION ALL SELECT b, a+b, n+1 FROM fib WHERE n<95) SELECT a, n FROM fib;
|
||||
SELECT COUNT(*) FROM T1;
|
||||
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;
|
||||
ALTER TABLE T DROP COLUMN b;
|
||||
INSERT INTO T1 DEFAULT VALUES;
|
||||
SELECT COUNT(A) FILTER (WHERE A IS NOT NULL) OVER (PARTITION BY A ORDER BY A ROWS BETWEEN 2 PRECEDING AND 2 FOLLOWING EXCLUDE CURRENT ROW) FROM T2;
|
||||
INSERT INTO t1 VALUES ('x', 'x', 1, 'x') ON CONFLICT(a) DO UPDATE SET a = excluded.a, b = excluded.b, c = excluded.c;
|
||||
ALTER TABLE t1 DROP COLUMN b;
|
||||
INSERT OR FAIL INTO T2 VALUES ('x', -9);
|
||||
REINDEX;
|
||||
REINDEX;
|
||||
SELECT LAG(b, 0) OVER (ORDER BY b RANGE BETWEEN 1 PRECEDING AND 1 FOLLOWING) FROM T;
|
||||
SELECT SUM(Y) FROM T2;
|
||||
UPDATE T SET A = NULL WHERE 1;
|
||||
DELETE FROM t1 WHERE c > (SELECT AVG(c) FROM t1);
|
||||
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;
|
||||
.eqp auto
|
||||
CREATE TABLE T (
|
||||
a TEXT,
|
||||
b REAL
|
||||
);
|
||||
INSERT INTO T VALUES ('a',abs(json_valid(9223372036854775806, 6))), ('b',-200.5), ('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;
|
||||
PRAGMA short_column_names = NO;
|
||||
PRAGMA cell_size_check;
|
||||
.parameter
|
||||
ATTACH DATABASE ':memory:' AS aux30;
|
||||
.log ON
|
||||
SAVEPOINT sp6089;
|
||||
ATTACH DATABASE '' || (':memory:') AS aux56;
|
||||
CREATE TABLE main.t1(a INTEGER PRIMARY KEY, b TEXT, c INT, d INT);
|
||||
INSERT INTO t1 VALUES (strftime('%s', format('%d', 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 ignore_check_constraints = 0;
|
||||
DETACH DATABASE aux56;
|
||||
INSERT INTO t1 SELECT * FROM t1;
|
||||
PRAGMA recursive_triggers = OFF;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_t1_1212 AFTER UPDATE OF c ON t1 BEGIN SELECT RAISE(ROLLBACK, 'rb'); END;
|
||||
RELEASE sp6089;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_t1_4991 BEFORE UPDATE OF a ON t1 FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'abort'); END;
|
||||
INSERT INTO t1 VALUES (1, 'x', 'x', 'x') ON CONFLICT(a) DO UPDATE SET a = excluded.a, b = excluded.b, c = excluded.c;
|
||||
ALTER TABLE t1 ADD COLUMN extra_6256 CLOB DEFAULT '';
|
||||
WITH RECURSIVE cnt(x) AS (VALUES(1) UNION ALL SELECT x+1 FROM cnt WHERE x<1) SELECT * FROM cnt;
|
||||
CREATE TABLE T1 (
|
||||
A VARCHAR(20),
|
||||
X VARCHAR(10),
|
||||
PRIMARY KEY (A, X),
|
||||
UNIQUE (X)
|
||||
);
|
||||
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 * FROM t1 NATURAL JOIN t1;
|
||||
ALTER TABLE t1 RENAME COLUMN d TO d_r9145;
|
||||
INSERT AND FAIL INTO t1 VALUES ('x', 'x', '', -7);
|
||||
INSERT INTO t1 VALUES (NULL, NULL, NULL, NULL);
|
||||
UPDATE t1 SET d = d + 1 RETURNING *;
|
||||
WITH RECURSIVE fib(a,b) AS (VALUES(1,1) UNION ALL SELECT b, a+b FROM fib WHERE b<1000) SELECT a FROM fib;
|
||||
SELECT COUNT(*) FILTER (WHERE b IS NOT NULL), SUM(rowid) FILTER (WHERE b > 0), COUNT(*) FILTER (WHERE 1=0), COUNT(*) FILTER (WHERE 1=1), COUNT(*) FILTER (WHERE NULL), AVG(b) FILTER (WHERE b > 0 AND b < 100), COUNT(*) FILTER (WHERE typeof(b) = "text") FROM t1;
|
||||
INSERT INTO T1 VALUES ('x', 'x') ON CONFLICT(A) DO UPDATE SET A = excluded.A, X = excluded.X;
|
||||
CREATE TABLE T1 (
|
||||
a INTEGER,
|
||||
b TEXT
|
||||
);
|
||||
CREATE TABLE T2 (
|
||||
a INTEGER,
|
||||
b TEXT
|
||||
);
|
||||
INSERT INTO T1 VALUES (1,'a'),(2,'b');
|
||||
INSERT INTO T2 VALUES (1,'c'),(1,'d');
|
||||
SELECT T1.b,
|
||||
(
|
||||
SELECT GROUP_CONCAT(b,',')
|
||||
FROM T2
|
||||
WHERE T2.a=T1.a
|
||||
) AS c
|
||||
FROM T1;
|
||||
ALTER TABLE T1 DROP COLUMN A;
|
||||
CREATE TEMP VIEW IF NOT EXISTS v_t1_7233 AS SELECT c FROM t1;
|
||||
DETACH DATABASE aux30;
|
||||
UPDATE T1 SET A = A + 1 WHERE rowid = 1;
|
||||
INSERT INTO T1 SELECT * FROM T1;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_t1_9997 BEFORE UPDATE ON t1 FOR EACH ROW BEGIN SELECT RAISE(ROLLBACK, 'rb'); END;
|
||||
DELETE FROM T1 WHERE 0;
|
||||
INSERT INTO t1 DEFAULT VALUES;
|
||||
ALTER TABLE T2 RENAME TO T2_r5714;
|
||||
DELETE FROM T2 WHERE 1;
|
||||
SELECT * FROM T2 WHERE Y > ALL (SELECT Y FROM T2);
|
||||
SELECT * FROM T2;
|
||||
ALTER TABLE T1 ADD COLUMN extra_1823 FLOAT UNIQUE;
|
||||
WITH RECURSIVE fib(a,b,n) AS (VALUES(1,1,1) UNION ALL SELECT b, a+b, n+1 FROM fib WHERE n<95) SELECT a, n FROM fib;
|
||||
SELECT COUNT(*) FROM T1;
|
||||
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;
|
||||
ALTER TABLE T DROP COLUMN b;
|
||||
INSERT INTO T1 DEFAULT VALUES;
|
||||
SELECT COUNT(A) FILTER (WHERE A IS NOT NULL) OVER (PARTITION BY A ORDER BY A ROWS BETWEEN 2 PRECEDING AND 2 FOLLOWING EXCLUDE CURRENT ROW) FROM T2;
|
||||
INSERT INTO t1 VALUES ('x', 'x', 1, 'x') ON CONFLICT(a) DO UPDATE SET a = excluded.a, b = excluded.b, c = excluded.c;
|
||||
ALTER TABLE t1 DROP COLUMN b;
|
||||
INSERT OR FAIL INTO T2 VALUES ('x', -9);
|
||||
REINDEX;
|
||||
REINDEX;
|
||||
SELECT LAG(b, 0) OVER (ORDER BY b RANGE BETWEEN 1 PRECEDING AND 1 FOLLOWING) FROM T;
|
||||
SELECT SUM(Y) FROM T2;
|
||||
UPDATE T SET A = NULL WHERE 1;
|
||||
DELETE FROM t1 WHERE c > (SELECT AVG(c) FROM t1);
|
||||
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;
|
||||
ROLLBACK TO sp2208;
|
||||
RELEASE sp2208;
|
||||
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 AND X < 100), COUNT(*) FILTER (WHERE typeof(X) = "text") FROM T1;
|
||||
INSERT INTO T1 DEFAULT VALUES;
|
||||
SELECT COUNT(*) FILTER (WHERE b IS NOT NULL), SUM(rowid) FILTER (WHERE b > 0), COUNT(*) FILTER (WHERE 1=0), COUNT(*) FILTER (WHERE 1=1), COUNT(*) FILTER (WHERE NULL), AVG(b) FILTER (WHERE b > 0 AND b < 100), COUNT(*) FILTER (WHERE typeof(b) = "text") FROM T1;
|
||||
SELECT b, COUNT(*) FROM T2 GROUP BY b HAVING COUNT(*) = (SELECT COUNT(*) FROM T2);
|
||||
ALTER TABLE T1 ADD COLUMN extra_4051 DECIMAL(10,5) DEFAULT NULL;
|
||||
```
|
||||
|
||||
## Actual output
|
||||
|
||||
```sql
|
||||
0
|
||||
.parameter CMD ... Manage SQL parameter bindings
|
||||
clear Erase all bindings
|
||||
init Initialize the TEMP table that holds bindings
|
||||
list List the current parameter bindings
|
||||
set PARAMETER VALUE Given SQL parameter PARAMETER a value of VALUE
|
||||
PARAMETER should start with one of: $ : @ ?
|
||||
unset PARAMETER Remove PARAMETER from the binding table
|
||||
CREATE TABLE "t2"("b","c","_ROWID_",PRIMARY KEY("b","c","_ROWID_"))WITHOUT ROWID;
|
||||
WARNING: writing to an imposter table will corrupt the "t1bc" index!
|
||||
Braun|30|3
|
||||
Wernher|10|-210866673600
|
||||
von|20|2
|
||||
Braun|30
|
||||
Wernher|10
|
||||
von|20
|
||||
```
|
||||
|
||||
## Expectation
|
||||
|
||||
```sql
|
||||
|
||||
```
|
||||
|
||||
## Flag
|
||||
|
||||
```
|
||||
|
||||
```
|
||||
|
||||
@@ -0,0 +1,811 @@
|
||||
## 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 empty_result_callbacks = 1;
|
||||
PRAGMA empty_result_callbacks = OFF;
|
||||
CREATE TABLE T (
|
||||
a INTEGER,
|
||||
b TEXT,
|
||||
c REAL
|
||||
);
|
||||
INSERT INTO T VALUES (tan(CAST(abs(0) AS DATE)),'a',1.25), (2,'b',-3.5), (3,'c',0.0);
|
||||
SELECT * FROM T WHERE c < 2.0 ORDER BY c;
|
||||
PRAGMA synchronous = '2';
|
||||
PRAGMA vdbe_trace = NO;
|
||||
.vfsinfo
|
||||
PRAGMA secure_delete;
|
||||
-- DATE
|
||||
|
||||
PRAGMA reverse_unordered_selects = ON;
|
||||
.schema @@@@@@@@@@@@@@@@
|
||||
.fullschema
|
||||
PRAGMA auto_vacuum = INCREMENTAL;
|
||||
PRAGMA recursive_triggers;
|
||||
BEGIN IMMEDIATE TRANSACTION;
|
||||
ATTACH DATABASE ':memory:' AS aux42;
|
||||
SAVEPOINT sp664;
|
||||
.read commands.sql
|
||||
CREATE TABLE "t1"(a INTEGER PRIMARY KEY, b TEXT, c INT, d INT);
|
||||
INSERT INTO t1 VALUES (round(unlikely(NULL), x'2f972a75f5d004ce366600'), 'Wernher', CAST(round(NULL, (-(-(if('', radians(timediff(coalesce(NULL, NULL, typeof(-json_array(7763360827777817353))), 1.7976931348623157e+308)), 2))) * 1)) AS FLOAT), 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;
|
||||
CREATE VIRTUAL TABLE t0 USING fts4("x", "y", "z");
|
||||
DROP TABLE t0;
|
||||
.quit
|
||||
ATTACH DATABASE ':memory:' AS aux33;
|
||||
ATTACH DATABASE ':memory:' AS aux74;
|
||||
.nullvalue 232327d3-536b-41de-a764-a6301986aeab
|
||||
CREATE TABLE [T] (
|
||||
A VARCHAR(upper('你好')) PRIMARY KEY,
|
||||
B VARCHAR(json_array()) NOT NULL,
|
||||
C INTEGER,
|
||||
UNIQUE (B, C)
|
||||
);
|
||||
INSERT INTO T VALUES ('a', 'p', -degrees(2147483648));
|
||||
INSERT INTO T VALUES ('b', 'q', 700);
|
||||
INSERT INTO T VALUES ('c', 'r', 0);
|
||||
INSERT INTO T VALUES ('d', 's', 2147483647);
|
||||
INSERT INTO T VALUES ('e', 't', -1);
|
||||
INSERT INTO T VALUES ('f', 'u', 1);
|
||||
SELECT * FROM T WHERE NOT NOT (C BETWEEN -1000 OR 1000) ORDER BY C ASC;
|
||||
SELECT * FROM T;
|
||||
PRAGMA vdbe_debug = 0;
|
||||
ALTER TABLE T DROP COLUMN B;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_T_6262 AFTER UPDATe OF A ON T FOR EACH ROW BEGIN SELECT RAISE(FAIL, 'no'); END;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_T_1635 AFTER UPDATE OF A ON T FOR EACH ROW BEGIN SELECT RAISE(FAIL, 'no'); END;
|
||||
SELECT AVG(C) FROM T;
|
||||
ALTER TABLE T RENAME COLUMN B TO B_r9915;
|
||||
DETACH DATABASE aux74;
|
||||
DETACH DATABASE aux33;
|
||||
SELECT * FROM t1 WHERE +a > ALL (SELECT a FROM t1);
|
||||
DELETE FROM t1 WHERE 0;
|
||||
INSERT OR ROLLBACK INTO t1 VALUES (NULL, 0, -6, '');
|
||||
CREATE TRIGGER IF NOT EXISTS trg_t1_7285 BEFORE UPDATE ON t1 FOR EACH ROW BEGIN SELECT RAISE(ROLLBACK, 'rb'); END;
|
||||
DROP TRIGGER IF EXISTS t1;
|
||||
INSERT INTO t1 VALUES (NULL, NULL, NULL, NULL);
|
||||
RELEASE sp664;
|
||||
ALTER TABLE t1 ADD COLUMN extra_6969 DOUBLE NOT NULL DEFAULT 0;
|
||||
INSERT INTO t1 DEFAULT VALUES;
|
||||
SELECT * FROM t1;
|
||||
REINDEX;
|
||||
SELECT STRING_AGG(d) FROM t1;
|
||||
CREATE TEMPORARY VIEW IF NOT EXISTS v_t1_5722 AS SELECT a FROM t1;
|
||||
ALTER TABLE t1 RENAME COLUMN c TO c_r6930;
|
||||
INSERT INTO t1 DEFAULT VALUES;
|
||||
SELECT * FROM t1 AS a FULL JOIN t1 AS b ON a.rowid = b.rowid;
|
||||
DETACH DATABASE aux42;
|
||||
ALTER TABLE t1 RENAME COLUMN d TO d_r1370;
|
||||
SELECT * FROM t1 AS a JOIN t1 AS b ON a.rowid = b.rowid;
|
||||
INSERT OR REPLACE INTO t1 VALUES (NULL, 0, -9, -5);
|
||||
SELECT COUNT(*) FROM t1;
|
||||
INSERT INTO t1 VALUES (NULL, NULL, NULL, NULL);
|
||||
REINDEX t1;
|
||||
SELECT COUNT(*) FROM t1;
|
||||
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;
|
||||
UPDATE t1 SET d = CURRENT_TIMESTAMP WHERE d BETWEEN 0 AND 100;
|
||||
INSERT INTO t1 VALUES (NULL, NULL, NULL, NULL);
|
||||
COMMIT;
|
||||
INSERT INTO t1 SELECT * FROM t1;
|
||||
DELETE FROM t1 WHERE 1 RETURNING *;
|
||||
BEGIN IMMEDIATE TRANSACTION;
|
||||
ATTACH DATABASE ':memory:' AS aux42;
|
||||
SAVEPOINT sp664;
|
||||
.read commands.sql
|
||||
CREATE TABLE "t1"(a INTEGER PRIMARY KEY, b TEXT, c INT, d INT);
|
||||
INSERT INTO t1 VALUES (round(unlikely(NULL), x'2f972a75f5d004ce366600'), 'Wernher', CAST(10 AS FLOAT), 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;
|
||||
CREATE VIRTUAL TABLE t0 USING fts4("x", "y", "z");
|
||||
DROP TABLE t0;
|
||||
.quit
|
||||
ATTACH DATABASE ':memory:' AS aux33;
|
||||
ATTACH DATABASE ':memory:' AS aux74;
|
||||
.nullvalue 232327d3-536b-41de-a764-a6301986aeab
|
||||
CREATE TABLE [T] (
|
||||
A VARCHAR(upper('你好')) PRIMARY KEY,
|
||||
B VARCHAR(json_array()) NOT NULL,
|
||||
C INTEGER,
|
||||
UNIQUE (B, C)
|
||||
);
|
||||
INSERT INTO T VALUES ('a', 'p', -degrees(2147483648));
|
||||
INSERT INTO T VALUES ('b', 'q', 700);
|
||||
INSERT INTO T VALUES ('c', 'r', 0);
|
||||
INSERT INTO T VALUES ('d', 's', 2147483647);
|
||||
INSERT INTO T VALUES ('e', 't', -1);
|
||||
INSERT INTO T VALUES ('f', 'u', 1);
|
||||
SELECT * FROM T WHERE NOT NOT (C BETWEEN -1000 AND 1000) ORDER BY C ASC;
|
||||
SELECT * FROM T;
|
||||
PRAGMA vdbe_debug = 0;
|
||||
ALTER TABLE T DROP COLUMN B;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_T_6262 AFTER UPDATE OF A ON T FOR EACH ROW BEGIN SELECT RAISE(FAIL, 'no'); END;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_T_1635 AFTER UPDATE OF A ON T FOR EACH ROW BEGIN SELECT RAISE(FAIL, 'no'); END;
|
||||
SELECT AVG(C) FROM T;
|
||||
ALTER TABLE T RENAME COLUMN B TO B_r9915;
|
||||
DETACH DATABASE aux74;
|
||||
DETACH DATABASE aux33;
|
||||
SELECT * FROM t1 WHERE +a > ALL (SELECT a FROM t1);
|
||||
DELETE FROM t1 WHERE 0;
|
||||
INSERT OR ROLLBACK INTO t1 VALUES (NULL, 0, -6, '');
|
||||
CREATE TRIGGER IF NOT EXISTS trg_t1_7285 BEFORE UPDATE ON t1 FOR EACH ROW BEGIN SELECT RAISE(ROLLBACK, 'rb'); END;
|
||||
DROP TRIGGER IF EXISTS t1;
|
||||
INSERT INTO t1 VALUES (NULL, NULL, NULL, NULL);
|
||||
RELEASE sp664;
|
||||
ALTER TABLE t1 ADD COLUMN extra_6969 DOUBLE NOT NULL DEFAULT 0;
|
||||
INSERT INTO t1 DEFAULT VALUES;
|
||||
SELECT * FROM t1;
|
||||
REINDEX;
|
||||
SELECT STRING_AGG(d) FROM t1;
|
||||
CREATE TEMPORARY VIEW IF NOT EXISTS v_t1_5722 AS SELECT a FROM t1;
|
||||
ALTER TABLE t1 RENAME COLUMN c TO c_r6930;
|
||||
INSERT INTO t1 DEFAULT VALUES;
|
||||
SELECT * FROM t1 AS a LEFT OUTER JOIN t1 AS b ON a.rowid = b.rowid;
|
||||
DETACH DATABASE aux42;
|
||||
ALTER TABLE t1 RENAME COLUMN d TO d_r1370;
|
||||
SELECT * FROM t1 AS a JOIN t1 AS b ON a.rowid = b.rowid;
|
||||
INSERT OR REPLACE INTO t1 VALUES (NULL, 0, -9, -5);
|
||||
SELECT COUNT(*) FROM t1;
|
||||
INSERT INTO t1 VALUES (NULL, NULL, NULL, NULL);
|
||||
REINDEX t1;
|
||||
SELECT COUNT(*) FROM t1;
|
||||
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;
|
||||
UPDATE t1 SET d = CURRENT_TIMESTAMP WHERE d BETWEEN 0 AND 100;
|
||||
INSERT INTO t1 VALUES (NULL, NULL, NULL, NULL);
|
||||
COMMIT;
|
||||
INSERT INTO t1 SELECT * FROM t1;
|
||||
DELETE FROM t1 WHERE 1 RETURNING *;
|
||||
BEGIN IMMEDIATE TRANSACTION;
|
||||
ATTACH DATABASE ':memory:' AS aux42;
|
||||
SAVEPOINT sp664;
|
||||
.read commands.sql
|
||||
CREATE TABLE "t1"(a INTEGER PRIMARY KEY, b TEXT, c INT, d INT);
|
||||
INSERT INTO t1 VALUES (round(unlikely(NULL), x'2f972a75f5d004ce366600'), 'Wernher', CAST(10 AS FLOAT), 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;
|
||||
CREATE VIRTUAL TABLE t0 USING fts4("x", "y", "z");
|
||||
DROP TABLE t0;
|
||||
.quit
|
||||
ATTACH DATABASE ':memory:' AS aux33;
|
||||
ATTACH DATABASE ':memory:' AS aux74;
|
||||
.nullvalue 232327d3-536b-41de-a764-a6301986aeab
|
||||
CREATE TABLE [T] (
|
||||
A VARCHAR(upper('你好')) PRIMARY KEY,
|
||||
B VARCHAR(json_array()) NOT NULL,
|
||||
C INTEGER,
|
||||
UNIQUE (B, C)
|
||||
);
|
||||
INSERT INTO T VALUES ('a', 'p', -degrees(2147483648));
|
||||
INSERT INTO T VALUES ('b', 'q', 700);
|
||||
INSERT INTO T VALUES ('c', 'r', 0);
|
||||
INSERT INTO T VALUES ('d', 's', 2147483647);
|
||||
INSERT INTO T VALUES ('e', 't', -1);
|
||||
INSERT INTO T VALUES ('f', 'u', 1);
|
||||
SELECT * FROM T WHERE NOT NOT (C BETWEEN -1000 AND 1000) ORDER BY C ASC;
|
||||
SELECT * FROM T;
|
||||
PRAGMA vdbe_debug = 0;
|
||||
ALTER TABLE T DROP COLUMN B;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_T_6262 AFTER UPDATE OF A ON T FOR EACH ROW BEGIN SELECT RAISE(FAIL, 'no'); END;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_T_1635 AFTER UPDATE OF A ON T FOR EACH ROW BEGIN SELECT RAISE(FAIL, 'no'); END;
|
||||
SELECT AVG(C) FROM T;
|
||||
ALTER TABLE T RENAME COLUMN B TO B_r9915;
|
||||
DETACH DATABASE aux74;
|
||||
DETACH DATABASE aux33;
|
||||
SELECT * FROM t1 WHERE +a > ALL (SELECT a FROM t1);
|
||||
DELETE FROM t1 WHERE 0;
|
||||
INSERT OR ROLLBACK INTO t1 VALUES (NULL, 0, -6, '');
|
||||
CREATE TRIGGER IF NOT EXISTS trg_t1_7285 BEFORE UPDATE ON t1 FOR EACH ROW BEGIN SELECT RAISE(ROLLBACK, 'rb'); END;
|
||||
DROP TRIGGER IF EXISTS t1;
|
||||
INSERT INTO t1 VALUES (NULL, NULL, NULL, NULL);
|
||||
RELEASE sp664;
|
||||
ALTER TABLE t1 ADD COLUMN extra_6969 DOUBLE NOT NULL DEFAULT 0;
|
||||
INSERT INTO t1 DEFAULT VALUES;
|
||||
SELECT * FROM t1;
|
||||
REINDEX;
|
||||
SELECT STRING_AGG(d) FROM t1;
|
||||
CREATE TEMPORARY VIEW IF NOT EXISTS v_t1_5722 AS SELECT a FROM t1;
|
||||
ALTER TABLE t1 RENAME COLUMN c TO c_r6930;
|
||||
INSERT INTO t1 DEFAULT VALUES;
|
||||
SELECT * FROM t1 AS a LEFT OUTER JOIN t1 AS b ON a.rowid = b.rowid;
|
||||
DETACH DATABASE aux42;
|
||||
ALTER TABLE t1 RENAME COLUMN d TO d_r1370;
|
||||
SELECT * FROM t1 AS a JOIN t1 AS b ON a.rowid = b.rowid;
|
||||
INSERT OR REPLACE INTO t1 VALUES (NULL, 0, -9, -5);
|
||||
SELECT COUNT(*) FROM t1;
|
||||
INSERT INTO t1 VALUES (NULL, NULL, NULL, NULL);
|
||||
REINDEX t1;
|
||||
SELECT COUNT(*) FROM t1;
|
||||
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;
|
||||
UPDATE t1 SET d = CURRENT_TIMESTAMP WHERE d BETWEEN 0 AND 100;
|
||||
INSERT INTO t1 VALUES (NULL, NULL, NULL, NULL);
|
||||
COMMIT;
|
||||
INSERT INTO t1 SELECT * FROM t1;
|
||||
DELETE FROM t1 WHERE 1 RETURNING *;
|
||||
BEGIN IMMEDIATE TRANSACTION;
|
||||
ATTACH DATABASE ':memory:' AS aux42;
|
||||
SAVEPOINT sp664;
|
||||
.read commands.sql
|
||||
CREATE TABLE "t1"(a INTEGER PRIMARY KEY, b TEXT, c INT, d INT);
|
||||
INSERT INTO t1 VALUES (round(unlikely(NULL), x'2f972a75f5d004ce366600'), 'Wernher', CAST(10 AS FLOAT), 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;
|
||||
CREATE VIRTUAL TABLE t0 USING fts4("x", "y", "z");
|
||||
DROP TABLE t0;
|
||||
.quit
|
||||
ATTACH DATABASE ':memory:' AS aux33;
|
||||
ATTACH DATABASE ':memory:' AS aux74;
|
||||
.nullvalue 232327d3-536b-41de-a764-a6301986aeab
|
||||
CREATE TABLE [T] (
|
||||
A VARCHAR(upper('你好')) PRIMARY KEY,
|
||||
B VARCHAR(json_array()) NOT NULL,
|
||||
C INTEGER,
|
||||
UNIQUE (B, C)
|
||||
);
|
||||
INSERT INTO T VALUES ('a', 'p', -degrees(2147483648));
|
||||
INSERT INTO T VALUES ('b', 'q', 700);
|
||||
INSERT INTO T VALUES ('c', 'r', 0);
|
||||
INSERT INTO T VALUES ('d', 's', 2147483647);
|
||||
INSERT INTO T VALUES ('e', 't', -1);
|
||||
INSERT INTO T VALUES ('f', 'u', 1);
|
||||
SELECT * FROM T WHERE NOT NOT (C BETWEEN -1000 AND 1000) ORDER BY C ASC;
|
||||
SELECT * FROM T;
|
||||
PRAGMA vdbe_debug = 0;
|
||||
ALTER TABLE T DROP COLUMN B;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_T_6262 AFTER UPDATE OF A ON T FOR EACH ROW BEGIN SELECT RAISE(FAIL, 'no'); END;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_T_1635 AFTER UPDATE OF A ON T FOR EACH ROW BEGIN SELECT RAISE(FAIL, 'no'); END;
|
||||
SELECT AVG(C) FROM T;
|
||||
ALTER TABLE T RENAME COLUMN B TO B_r9915;
|
||||
DETACH DATABASE aux74;
|
||||
DETACH DATABASE aux33;
|
||||
SELECT * FROM t1 WHERE +a > ALL (SELECT a FROM t1);
|
||||
DELETE FROM t1 WHERE 0;
|
||||
INSERT OR ROLLBACK INTO t1 VALUES (NULL, 0, -6, '');
|
||||
CREATE TRIGGER IF NOT EXISTS trg_t1_7285 BEFORE UPDATE ON t1 FOR EACH ROW BEGIN SELECT RAISE(ROLLBACK, 'rb'); END;
|
||||
DROP TRIGGER IF EXISTS t1;
|
||||
INSERT INTO t1 VALUES (NULL, NULL, NULL, NULL);
|
||||
RELEASE sp664;
|
||||
ALTER TABLE t1 ADD COLUMN extra_6969 DOUBLE NOT NULL DEFAULT 0;
|
||||
INSERT INTO t1 DEFAULT VALUES;
|
||||
SELECT * FROM t1;
|
||||
REINDEX;
|
||||
SELECT STRING_AGG(d) FROM t1;
|
||||
CREATE TEMPORARY VIEW IF NOT EXISTS v_t1_5722 AS SELECT a FROM t1;
|
||||
ALTER TABLE t1 RENAME COLUMN c TO c_r6930;
|
||||
INSERT INTO t1 DEFAULT VALUES;
|
||||
SELECT * FROM t1 AS a LEFT OUTER JOIN t1 AS b ON a.rowid = b.rowid;
|
||||
DETACH DATABASE aux42;
|
||||
ALTER TABLE t1 RENAME COLUMN d TO d_r1370;
|
||||
SELECT * FROM t1 AS a JOIN t1 AS b ON a.rowid = b.rowid;
|
||||
INSERT OR REPLACE INTO t1 VALUES (NULL, 0, -9, -5);
|
||||
SELECT COUNT(*) FROM t1;
|
||||
INSERT INTO t1 VALUES (NULL, NULL, NULL, NULL);
|
||||
REINDEX t1;
|
||||
SELECT COUNT(*) FROM t1;
|
||||
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;
|
||||
UPDATE t1 SET d = CURRENT_TIMESTAMP WHERE d BETWEEN 0 AND 100;
|
||||
INSERT INTO t1 VALUES (NULL, NULL, NULL, NULL);
|
||||
COMMIT;
|
||||
INSERT INTO t1 SELECT * FROM t1;
|
||||
DELETE FROM t1 WHERE 1 RETURNING *;
|
||||
BEGIN IMMEDIATE TRANSACTION;
|
||||
ATTACH DATABASE ':memory:' AS aux42;
|
||||
SAVEPOINT sp664;
|
||||
.read commands.sql
|
||||
CREATE TABLE "t1"(a INTEGER PRIMARY KEY, b TEXT, c INT, d INT);
|
||||
INSERT INTO t1 VALUES (round(unlikely(NULL), x'2f972a75f5d004ce366600'), 'Wernher', CAST(10 AS FLOAT), 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;
|
||||
CREATE TABLE T (
|
||||
a INTEGER,
|
||||
b REAL,
|
||||
c REAL
|
||||
);
|
||||
INSERT INTO T VALUES (1,2.0,10.5), (1,-3.5,20.25), (2,9e999,-1.0);
|
||||
WITH d AS (SELECT a,SUM(b*c) AS e FROM T GROUP BY a) SELECT * FROM d;
|
||||
.imposter t1bc t2
|
||||
|
||||
SELECT * FROM t2;
|
||||
SELECT b, c FROM t1 ORDER BY b, c;
|
||||
CREATE VIRTUAL TABLE t0 USING fts4("x", "y", "z");
|
||||
DROP TABLE t0;
|
||||
.quit
|
||||
ATTACH DATABASE ':memory:' AS aux33;
|
||||
ATTACH DATABASE ':memory:' AS aux74;
|
||||
.nullvalue 232327d3-536b-41de-a764-a6301986aeab
|
||||
CREATE TABLE [T] (
|
||||
A VARCHAR(upper('你好')) PRIMARY KEY,
|
||||
B VARCHAR(json_array()) NOT NULL,
|
||||
C INTEGER,
|
||||
UNIQUE (B, C)
|
||||
);
|
||||
INSERT INTO T VALUES ('a', 'p', -degrees(2147483648));
|
||||
INSERT INTO T VALUES ('b', 'q', 700);
|
||||
INSERT INTO T VALUES ('c', 'r', 0);
|
||||
INSERT INTO T VALUES ('d', 's', 2147483647);
|
||||
INSERT INTO T VALUES ('e', 't', -1);
|
||||
INSERT INTO T VALUES ('f', 'u', 1);
|
||||
SELECT * FROM T WHERE NOT NOT (C BETWEEN -1000 AND 1000) ORDER BY C ASC;
|
||||
SELECT * FROM T;
|
||||
PRAGMA vdbe_debug = 0;
|
||||
ALTER TABLE T DROP COLUMN B;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_T_6262 AFTER UPDATE OF A ON T FOR EACH ROW BEGIN SELECT RAISE(FAIL, 'no'); END;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_T_1635 AFTER UPDATE OF A ON T FOR EACH ROW BEGIN SELECT RAISE(FAIL, 'no'); END;
|
||||
SELECT AVG(C) FROM T;
|
||||
ALTER TABLE T RENAME COLUMN B TO B_r9915;
|
||||
DETACH DATABASE aux74;
|
||||
DETACH DATABASE aux33;
|
||||
SELECT * FROM t1 WHERE +a > ALL (SELECT a FROM t1);
|
||||
DELETE FROM t1 WHERE 0;
|
||||
INSERT OR ROLLBACK INTO t1 VALUES (NULL, 0, -6, '');
|
||||
CREATE TRIGGER IF NOT EXISTS trg_t1_7285 BEFORE UPDATE ON t1 FOR EACH ROW BEGIN SELECT RAISE(ROLLBACK, 'rb'); END;
|
||||
DROP TRIGGER IF EXISTS t1;
|
||||
INSERT INTO t1 VALUES (NULL, NULL, NULL, NULL);
|
||||
RELEASE sp664;
|
||||
ALTER TABLE t1 ADD COLUMN extra_6969 DOUBLE NOT NULL DEFAULT 0;
|
||||
INSERT INTO t1 DEFAULT VALUES;
|
||||
SELECT * FROM t1;
|
||||
REINDEX;
|
||||
SELECT STRING_AGG(d) FROM t1;
|
||||
CREATE TEMPORARY VIEW IF NOT EXISTS v_t1_5722 AS SELECT a FROM t1;
|
||||
ALTER TABLE t1 RENAME COLUMN c TO c_r6930;
|
||||
INSERT INTO t1 DEFAULT VALUES;
|
||||
SELECT * FROM t1 AS a LEFT OUTER JOIN t1 AS b ON a.rowid = b.rowid;
|
||||
DETACH DATABASE aux42;
|
||||
ALTER TABLE t1 RENAME COLUMN d TO d_r1370;
|
||||
SELECT * FROM t1 AS a JOIN t1 AS b ON a.rowid = b.rowid;
|
||||
INSERT OR REPLACE INTO t1 VALUES (NULL, 0, -9, -5);
|
||||
SELECT COUNT(*) FROM t1;
|
||||
INSERT INTO t1 VALUES (NULL, NULL, NULL, NULL);
|
||||
REINDEX t1;
|
||||
SELECT COUNT(*) FROM t1;
|
||||
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;
|
||||
UPDATE t1 SET d = CURRENT_TIMESTAMP WHERE d BETWEEN 0 AND 100;
|
||||
INSERT INTO t1 VALUES (NULL, NULL, NULL, NULL);
|
||||
COMMIT;
|
||||
INSERT INTO t1 SELECT * FROM t1;
|
||||
DELETE FROM t1 WHERE 1 RETURNING *;
|
||||
BEGIN IMMEDIATE TRANSACTION;
|
||||
ATTACH DATABASE ':memory:' AS aux42;
|
||||
SAVEPOINT sp664;
|
||||
.read commands.sql
|
||||
CREATE TABLE "t1"(a INTEGER PRIMARY KEY, b TEXT, c INT, d INT);
|
||||
INSERT INTO t1 VALUES (round(unlikely(NULL), x'2f972a75f5d004ce366600'), 'Wernher', CAST(10 AS FLOAT), 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;
|
||||
CREATE VIRTUAL TABLE t0 USING fts4("x", "y", "z");
|
||||
DROP TABLE t0;
|
||||
.quit
|
||||
ATTACH DATABASE ':memory:' AS aux33;
|
||||
ATTACH DATABASE ':memory:' AS aux74;
|
||||
.nullvalue 232327d3-536b-41de-a764-a6301986aeab
|
||||
CREATE TABLE [T] (
|
||||
A VARCHAR(upper('你好')) PRIMARY KEY,
|
||||
B VARCHAR(json_array()) NOT NULL,
|
||||
C INTEGER,
|
||||
UNIQUE (B, C)
|
||||
);
|
||||
INSERT INTO T VALUES ('a', 'p', -degrees(2147483648));
|
||||
INSERT INTO T VALUES ('b', 'q', 700);
|
||||
INSERT INTO T VALUES ('c', 'r', 0);
|
||||
INSERT INTO T VALUES ('d', 's', 2147483647);
|
||||
INSERT INTO T VALUES ('e', 't', -1);
|
||||
INSERT INTO T VALUES ('f', 'u', 1);
|
||||
SELECT * FROM T WHERE NOT NOT (C BETWEEN -1000 AND 1000) ORDER BY C ASC;
|
||||
SELECT * FROM T;
|
||||
PRAGMA vdbe_debug = 0;
|
||||
ALTER TABLE T DROP COLUMN B;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_T_6262 AFTER UPDATE OF A ON T FOR EACH ROW BEGIN SELECT RAISE(FAIL, 'no'); END;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_T_1635 AFTER UPDATE OF A ON T FOR EACH ROW BEGIN SELECT RAISE(FAIL, 'no'); END;
|
||||
SELECT AVG(C) FROM T;
|
||||
ALTER TABLE T RENAME COLUMN B TO B_r9915;
|
||||
DETACH DATABASE aux74;
|
||||
DETACH DATABASE aux33;
|
||||
SELECT * FROM t1 WHERE +a > ALL (SELECT a FROM t1);
|
||||
DELETE FROM t1 WHERE 0;
|
||||
INSERT OR ROLLBACK INTO t1 VALUES (NULL, 0, -6, '');
|
||||
CREATE TRIGGER IF NOT EXISTS trg_t1_7285 BEFORE UPDATE ON t1 FOR EACH ROW BEGIN SELECT RAISE(ROLLBACK, 'rb'); END;
|
||||
DROP TRIGGER IF EXISTS t1;
|
||||
INSERT INTO t1 VALUES (NULL, NULL, NULL, NULL);
|
||||
RELEASE sp664;
|
||||
ALTER TABLE t1 ADD COLUMN extra_6969 DOUBLE NOT NULL DEFAULT 0;
|
||||
INSERT INTO t1 DEFAULT VALUES;
|
||||
SELECT * FROM t1;
|
||||
REINDEX;
|
||||
SELECT STRING_AGG(d) FROM t1;
|
||||
CREATE TEMPORARY VIEW IF NOT EXISTS v_t1_5722 AS SELECT a FROM t1;
|
||||
ALTER TABLE t1 RENAME COLUMN c TO c_r6930;
|
||||
INSERT INTO t1 DEFAULT VALUES;
|
||||
SELECT * FROM t1 AS a LEFT OUTER JOIN t1 AS b ON a.rowid = b.rowid;
|
||||
DETACH DATABASE aux42;
|
||||
ALTER TABLE t1 RENAME COLUMN d TO d_r1370;
|
||||
SELECT * FROM t1 AS a JOIN t1 AS b ON a.rowid = b.rowid;
|
||||
INSERT OR REPLACE INTO t1 VALUES (NULL, 0, -9, -5);
|
||||
SELECT COUNT(*) FROM t1;
|
||||
INSERT INTO t1 VALUES (NULL, NULL, NULL, NULL);
|
||||
REINDEX t1;
|
||||
SELECT COUNT(*) FROM t1;
|
||||
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;
|
||||
UPDATE t1 SET d = CURRENT_TIMESTAMP WHERE d BETWEEN 0 AND 100;
|
||||
INSERT INTO t1 VALUES (NULL, NULL, NULL, NULL);
|
||||
COMMIT;
|
||||
INSERT INTO t1 SELECT * FROM t1;
|
||||
DELETE FROM t1 WHERE 1 RETURNING *;
|
||||
BEGIN IMMEDIATE TRANSACTION;
|
||||
ATTACH DATABASE ':memory:' AS aux42;
|
||||
SAVEPOINT sp664;
|
||||
.read commands.sql
|
||||
CREATE TABLE "t1"(a INTEGER PRIMARY KEY, b TEXT, c INT, d INT);
|
||||
INSERT INTO t1 VALUES (round(unlikely(NULL), x'2f972a75f5d004ce366600'), 'Wernher', CAST(10 AS FLOAT), 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;
|
||||
CREATE VIRTUAL TABLE t0 USING fts4("x", "y", "z");
|
||||
DROP TABLE t0;
|
||||
.quit
|
||||
ATTACH DATABASE ':memory:' AS aux33;
|
||||
ATTACH DATABASE ':memory:' AS aux74;
|
||||
.nullvalue 232327d3-536b-41de-a764-a6301986aeab
|
||||
CREATE TABLE [T] (
|
||||
A VARCHAR(upper('你好')) PRIMARY KEY,
|
||||
B VARCHAR(json_array()) NOT NULL,
|
||||
C INTEGER,
|
||||
UNIQUE (B, C)
|
||||
);
|
||||
INSERT INTO T VALUES ('a', 'p', -degrees(2147483648));
|
||||
INSERT INTO T VALUES ('b', 'q', 700);
|
||||
INSERT INTO T VALUES ('c', 'r', 0);
|
||||
INSERT INTO T VALUES ('d', 's', 2147483647);
|
||||
INSERT INTO T VALUES ('e', 't', -1);
|
||||
INSERT INTO T VALUES ('f', 'u', 1);
|
||||
SELECT * FROM T WHERE NOT NOT (C BETWEEN -1000 AND 1000) ORDER BY C ASC;
|
||||
SELECT * FROM T;
|
||||
PRAGMA vdbe_debug = 0;
|
||||
ALTER TABLE T DROP COLUMN B;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_T_6262 AFTER UPDATE OF A ON T FOR EACH ROW BEGIN SELECT RAISE(FAIL, 'no'); END;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_T_1635 AFTER UPDATE OF A ON T FOR EACH ROW BEGIN SELECT RAISE(FAIL, 'no'); END;
|
||||
SELECT AVG(C) FROM T;
|
||||
ALTER TABLE T RENAME COLUMN B TO B_r9915;
|
||||
DETACH DATABASE aux74;
|
||||
DETACH DATABASE aux33;
|
||||
CREATE VIRTUAL TABLE t0 USING fts4("x", "y", "z");
|
||||
DROP TABLE t0;
|
||||
SELECT * FROM t1 WHERE +a > ALL (SELECT a FROM t1);
|
||||
DELETE FROM t1 WHERE 0;
|
||||
INSERT OR ROLLBACK INTO t1 VALUES (NULL, 0, -6, '');
|
||||
CREATE TRIGGER IF NOT EXISTS trg_t1_7285 BEFORE UPDATE ON t1 FOR EACH ROW BEGIN SELECT RAISE(ROLLBACK, 'rb'); END;
|
||||
DROP TRIGGER IF EXISTS t1;
|
||||
INSERT INTO t1 VALUES (NULL, NULL, NULL, NULL);
|
||||
RELEASE sp664;
|
||||
ALTER TABLE t1 ADD COLUMN extra_6969 DOUBLE NOT NULL DEFAULT 0;
|
||||
INSERT INTO t1 DEFAULT VALUES;
|
||||
SELECT * FROM t1;
|
||||
REINDEX;
|
||||
SELECT STRING_AGG(d) FROM t1;
|
||||
CREATE TEMPORARY VIEW IF NOT EXISTS v_t1_5722 AS SELECT a FROM t1;
|
||||
ALTER TABLE t1 RENAME COLUMN c TO c_r6930;
|
||||
INSERT INTO t1 DEFAULT VALUES;
|
||||
SELECT * FROM t1 AS a LEFT OUTER JOIN t1 AS b ON a.rowid = b.rowid;
|
||||
DETACH DATABASE aux42;
|
||||
ALTER TABLE t1 RENAME COLUMN d TO d_r1370;
|
||||
SELECT * FROM t1 AS a JOIN t1 AS b ON a.rowid = b.rowid;
|
||||
INSERT OR REPLACE INTO t1 VALUES (NULL, 0, -9, -5);
|
||||
SELECT COUNT(*) FROM t1;
|
||||
INSERT INTO t1 VALUES (NULL, NULL, NULL, NULL);
|
||||
REINDEX t1;
|
||||
SELECT COUNT(*) FROM t1;
|
||||
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;
|
||||
UPDATE t1 SET d = CURRENT_TIMESTAMP WHERE d BETWEEN 0 AND 100;
|
||||
INSERT INTO t1 VALUES (NULL, NULL, NULL, NULL);
|
||||
COMMIT;
|
||||
INSERT INTO t1 SELECT * FROM t1;
|
||||
DELETE FROM t1 WHERE 1 RETURNING *;
|
||||
BEGIN IMMEDIATE TRANSACTION;
|
||||
ATTACH DATABASE ':memory:' AS aux42;
|
||||
SAVEPOINT sp664;
|
||||
.read commands.sql
|
||||
CREATE TABLE "t1"(a INTEGER PRIMARY KEY, b TEXT, c INT, d INT);
|
||||
INSERT INTO t1 VALUES (round(unlikely(NULL), x'2f972a75f5d004ce366600'), 'Wernher', CAST(10 AS FLOAT), 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;
|
||||
CREATE VIRTUAL TABLE t0 USING fts4("x", "y", "z");
|
||||
DROP TABLE t0;
|
||||
.quit
|
||||
ATTACH DATABASE ':memory:' AS aux33;
|
||||
ATTACH DATABASE ':memory:' AS aux74;
|
||||
.nullvalue 232327d3-536b-41de-a764-a6301986aeab
|
||||
CREATE TABLE [T] (
|
||||
A VARCHAR(upper('你好')) PRIMARY KEY,
|
||||
B VARCHAR(json_array()) NOT NULL,
|
||||
C INTEGER,
|
||||
UNIQUE (B, C)
|
||||
);
|
||||
INSERT INTO T VALUES ('a', 'p', -degrees(2147483648));
|
||||
INSERT INTO T VALUES ('b', 'q', 700);
|
||||
INSERT INTO T VALUES ('c', 'r', 0);
|
||||
INSERT INTO T VALUES ('d', 's', 2147483647);
|
||||
INSERT INTO T VALUES ('e', 't', -1);
|
||||
INSERT INTO T VALUES ('f', 'u', 1);
|
||||
SELECT * FROM T WHERE NOT NOT (C BETWEEN -1000 AND 1000) ORDER BY C ASC;
|
||||
SELECT * FROM T;
|
||||
PRAGMA vdbe_debug = 0;
|
||||
ALTER TABLE T DROP COLUMN B;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_T_6262 AFTER UPDATE OF A ON T FOR EACH ROW BEGIN SELECT RAISE(FAIL, 'no'); END;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_T_1635 AFTER UPDATE OF A ON T FOR EACH ROW BEGIN SELECT RAISE(FAIL, 'no'); END;
|
||||
SELECT AVG(C) FROM T;
|
||||
ALTER TABLE T RENAME COLUMN B TO B_r9915;
|
||||
DETACH DATABASE aux74;
|
||||
DETACH DATABASE aux33;
|
||||
SELECT * FROM t1 WHERE +a > ALL (SELECT a FROM t1);
|
||||
DELETE FROM t1 WHERE 0;
|
||||
INSERT OR ROLLBACK INTO t1 VALUES (NULL, 0, -6, '');
|
||||
CREATE TRIGGER IF NOT EXISTS trg_t1_7285 BEFORE UPDATE ON t1 FOR EACH ROW BEGIN SELECT RAISE(ROLLBACK, 'rb'); END;
|
||||
DROP TRIGGER IF EXISTS t1;
|
||||
INSERT INTO t1 VALUES (NULL, NULL, NULL, NULL);
|
||||
RELEASE sp664;
|
||||
ALTER TABLE t1 ADD COLUMN extra_6969 DOUBLE NOT NULL DEFAULT 0;
|
||||
INSERT INTO t1 DEFAULT VALUES;
|
||||
SELECT * FROM t1;
|
||||
REINDEX;
|
||||
SELECT STRING_AGG(d) FROM t1;
|
||||
CREATE TEMPORARY VIEW IF NOT EXISTS v_t1_5722 AS SELECT a FROM t1;
|
||||
ALTER TABLE t1 RENAME COLUMN c TO c_r6930;
|
||||
INSERT INTO t1 DEFAULT VALUES;
|
||||
SELECT * FROM t1 AS a LEFT OUTER JOIN t1 AS b ON a.rowid = b.rowid;
|
||||
DETACH DATABASE aux42;
|
||||
ALTER TABLE t1 RENAME COLUMN d TO d_r1370;
|
||||
SELECT * FROM t1 AS a JOIN t1 AS b ON a.rowid = b.rowid;
|
||||
INSERT OR REPLACE INTO t1 VALUES (NULL, 0, -9, -5);
|
||||
SELECT COUNT(*) FROM t1;
|
||||
INSERT INTO t1 VALUES (NULL, NULL, NULL, NULL);
|
||||
REINDEX t1;
|
||||
SELECT COUNT(*) FROM t1;
|
||||
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;
|
||||
UPDATE t1 SET d = CURRENT_TIMESTAMP WHERE d BETWEEN 0 AND 100;
|
||||
INSERT INTO t1 VALUES (NULL, NULL, NULL, NULL);
|
||||
COMMIT;
|
||||
INSERT INTO t1 SELECT * FROM t1;
|
||||
DELETE FROM t1 WHERE 1 RETURNING *;
|
||||
BEGIN IMMEDIATE TRANSACTION;
|
||||
ATTACH DATABASE ':memory:' AS aux42;
|
||||
SAVEPOINT sp664;
|
||||
.read commands.sql
|
||||
CREATE TABLE "t1"(a INTEGER PRIMARY KEY, b TEXT, c INT, d INT);
|
||||
INSERT INTO t1 VALUES (round(unlikely(NULL), x'2f972a75f5d004ce366600'), 'Wernher', CAST(10 AS FLOAT), 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;
|
||||
CREATE VIRTUAL TABLE t0 USING fts4("x", "y", "z");
|
||||
DROP TABLE t0;
|
||||
.quit
|
||||
ATTACH DATABASE ':memory:' AS aux33;
|
||||
ATTACH DATABASE ':memory:' AS aux74;
|
||||
.nullvalue 232327d3-536b-41de-a764-a6301986aeab
|
||||
CREATE TABLE [T] (
|
||||
A VARCHAR(upper('你好')) PRIMARY KEY,
|
||||
B VARCHAR(json_array()) NOT NULL,
|
||||
C INTEGER,
|
||||
UNIQUE (B, C)
|
||||
);
|
||||
INSERT INTO T VALUES ('a', 'p', -degrees(2147483648));
|
||||
INSERT INTO T VALUES ('b', 'q', 700);
|
||||
INSERT INTO T VALUES ('c', 'r', 0);
|
||||
INSERT INTO T VALUES ('d', 's', 2147483647);
|
||||
INSERT INTO T VALUES ('e', 't', -1);
|
||||
INSERT INTO T VALUES ('f', 'u', 1);
|
||||
SELECT * FROM T WHERE NOT NOT (C BETWEEN -1000 AND 1000) ORDER BY C ASC;
|
||||
SELECT * FROM T;
|
||||
PRAGMA vdbe_debug = 0;
|
||||
ALTER TABLE T DROP COLUMN B;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_T_6262 AFTER UPDATE OF A ON T FOR EACH ROW BEGIN SELECT RAISE(FAIL, 'no'); END;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_T_1635 AFTER UPDATE OF A ON T FOR EACH ROW BEGIN SELECT RAISE(FAIL, 'no'); END;
|
||||
SELECT AVG(C) FROM T;
|
||||
ALTER TABLE T RENAME COLUMN B TO B_r9915;
|
||||
DETACH DATABASE aux74;
|
||||
DETACH DATABASE aux33;
|
||||
SELECT * FROM t1 WHERE +a > ALL (SELECT a FROM t1);
|
||||
DELETE FROM t1 WHERE 0;
|
||||
INSERT OR ROLLBACK INTO t1 VALUES (NULL, 0, -6, '');
|
||||
CREATE TRIGGER IF NOT EXISTS trg_t1_7285 BEFORE UPDATE ON t1 FOR EACH ROW BEGIN SELECT RAISE(ROLLBACK, 'rb'); END;
|
||||
DROP TRIGGER IF EXISTS t1;
|
||||
INSERT INTO t1 VALUES (NULL, NULL, NULL, NULL);
|
||||
RELEASE sp664;
|
||||
ALTER TABLE t1 ADD COLUMN extra_6969 DOUBLE NOT NULL DEFAULT 0;
|
||||
INSERT INTO t1 DEFAULT VALUES;
|
||||
SELECT * FROM t1;
|
||||
REINDEX;
|
||||
SELECT STRING_AGG(d) FROM t1;
|
||||
CREATE TEMPORARY VIEW IF NOT EXISTS v_t1_5722 AS SELECT a FROM t1;
|
||||
ALTER TABLE t1 RENAME COLUMN c TO c_r6930;
|
||||
INSERT INTO t1 DEFAULT VALUES;
|
||||
SELECT * FROM t1 AS a LEFT OUTER JOIN t1 AS b ON a.rowid = b.rowid;
|
||||
DETACH DATABASE aux42;
|
||||
ALTER TABLE t1 RENAME COLUMN d TO d_r1370;
|
||||
SELECT * FROM t1 AS a JOIN t1 AS b ON a.rowid = b.rowid;
|
||||
INSERT OR REPLACE INTO t1 VALUES (NULL, 0, -9, -5);
|
||||
SELECT COUNT(*) FROM t1;
|
||||
INSERT INTO t1 VALUES (NULL, NULL, NULL, NULL);
|
||||
REINDEX t1;
|
||||
SELECT COUNT(*) FROM t1;
|
||||
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;
|
||||
UPDATE t1 SET d = CURRENT_TIMESTAMP WHERE d BETWEEN 0 AND 100;
|
||||
INSERT INTO t1 VALUES (NULL, NULL, NULL, NULL);
|
||||
COMMIT;
|
||||
INSERT INTO t1 SELECT * FROM t1;
|
||||
DELETE FROM t1 WHERE 1 RETURNING *;
|
||||
DELETE FROM t1 WHERE a > (SELECT AVG(a) FROM t1) RETURNING *;
|
||||
ALTER TABLE t1 ADD COLUMN extra_1693 DOUBLE PRECISION COLLATE RTRIM;
|
||||
INSERT INTO t1 VALUES (1, 1, 1, NULL) ON CONFLICT(a) DO UPDATE SET a = excluded.a, b = excluded.b, c = excluded.c;
|
||||
SELECT COUNT(*) FILTER (WHERE b IS NOT NULL), SUM(rowid) FILTER (WHERE b > 0), COUNT(*) FILTER (WHERE 1=0), COUNT(*) FILTER (WHERE 1=1), COUNT(*) FILTER (WHERE NULL), AVG(b) FILTER (WHERE b > 0 AND b < 100), COUNT(*) FILTER (WHERE typeof(b) = "text") FROM t1;
|
||||
WITH cte(x, y) AS (VALUES(1,2),(3,4),(5,6)) SELECT * FROM cte;
|
||||
SELECT * FROM t1 WHERE EXISTS (SELECT 1 FROM t1 WHERE a < 0);
|
||||
SELECT COUNT(*) FROM t1;
|
||||
SELECT * FROM t1 WHERE d = (SELECT d FROM t1 ORDER BY d LIMIT 1 OFFSET (SELECT COUNT(*) FROM t1 / 2));
|
||||
CREATE TEMP VIEW IF NOT EXISTS v_t1_4538 AS SELECT a FROM t1;
|
||||
UPDATE t1 SET b = '';
|
||||
SELECT COUNT(*) FROM t1;
|
||||
WITH cte AS (SELECT b, LEAD(b) OVER (ORDER BY b) AS nxt FROM t1) SELECT * FROM cte;
|
||||
SELECT * FROM t1;
|
||||
DROP INDEX IF EXISTS t1;
|
||||
SELECT * FROM t1 AS a LEFT OUTER JOIN t1 AS b ON a.rowid = b.rowid;
|
||||
SELECT GROUP_CONCAT(a, '|') FROM t1;
|
||||
WITH RECURSIVE tree(id, parent, depth) AS (VALUES(1, NULL, 0) UNION ALL SELECT id+1, id, depth+1 FROM tree WHERE depth<29) SELECT * FROM tree;
|
||||
SELECT * FROM t1 WHERE d IN (SELECT d FROM t1 LIMIT 0);
|
||||
INSERT INTO t1 SELECT * FROM t1;
|
||||
SELECT * FROM t1;
|
||||
INSERT OR FAIL INTO t1 VALUES ('', 'x', NULL, '');
|
||||
WITH RECURSIVE cnt(x) AS (VALUES(1) UNION ALL SELECT x+1 FROM cnt WHERE x<38) SELECT SUM(x) FROM cnt;
|
||||
INSERT INTO t1 DEFAULT VALUES;
|
||||
INSERT OR ROLLBACK INTO t1 VALUES (-5, NULL, 'x', NULL);
|
||||
CREATE INDEX IF NOT EXISTS idx_t1_2534 ON t1(lower(d)) WHERE d > 0;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_T_332 AFTER UPDATE OF a ON T BEGIN SELECT RAISE(IGNORE); END;
|
||||
SELECT MIN(a) FROM T;
|
||||
SELECT * FROM t1 WHERE c IN (SELECT c FROM t1 WHERE ROW_NUMBER() OVER (ORDER BY c) = 1);
|
||||
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;
|
||||
ALTER TABLE T DROP COLUMN B;
|
||||
INSERT INTO t1 VALUES (NULL, NULL, NULL, NULL);
|
||||
INSERT INTO T SELECT * FROM T;
|
||||
SELECT GROUP_CONCAT(A) FROM T;
|
||||
DROP INDEX IF EXISTS T;
|
||||
INSERT INTO t1 VALUES (NULL, NULL, NULL, NULL);
|
||||
ALTER TABLE t1 RENAME TO t1_r1152;
|
||||
INSERT INTO t1 VALUES (NULL, NULL, NULL, NULL);
|
||||
INSERT INTO t1 VALUES (1, 1, NULL, 1) ON CONFLICT(a) DO UPDATE SET a = excluded.a, b = excluded.b, c = excluded.c;
|
||||
INSERT INTO T VALUES (1, NULL) ON CONFLICT(A) DO UPDATE SET A = excluded.A, B = excluded.B;
|
||||
SELECT * FROM T;
|
||||
CREATE VIEW IF NOT EXISTS v_t1_4533 AS SELECT b FROM t1;
|
||||
ALTER TABLE t1 RENAME TO t1_r2296;
|
||||
DROP INDEX IF EXISTS T;
|
||||
CREATE TABLE T (
|
||||
a TEXT,
|
||||
b TEXT,
|
||||
c REAL
|
||||
);
|
||||
INSERT INTO T VALUES ('a','b',1.5), ('a','c',-2.25), ('b','b',4.75);
|
||||
SELECT a,
|
||||
SUM(CASE WHEN b='b' THEN c ELSE 0 END) AS d,
|
||||
SUM(CASE WHEN b='c' THEN c ELSE 0 END) AS e
|
||||
FROM T
|
||||
GROUP BY a;
|
||||
INSERT INTO t1 VALUES ('x', NULL, 'x', 1) ON CONFLICT(a) DO UPDATE SET a = excluded.a, b = excluded.b, c = excluded.c;
|
||||
DROP TABLE IF EXISTS t1;
|
||||
SELECT LEAD(c, c) OVER (PARTITION BY c ORDER BY c) FROM t1;
|
||||
ALTER TABLE T ADD COLUMN extra_5216 NONE NOT NULL DEFAULT 0;
|
||||
SELECT COUNT(*) FILTER (WHERE d IS NOT NULL), SUM(rowid) FILTER (WHERE d > 0), COUNT(*) FILTER (WHERE 1=0), COUNT(*) FILTER (WHERE 1=1), COUNT(*) FILTER (WHERE NULL), AVG(d) FILTER (WHERE d > 0 AND d < 100), COUNT(*) FILTER (WHERE typeof(d) = "text") FROM t1;
|
||||
|
||||
SELECT COUNT(*) FROM T;
|
||||
ALTER TABLE t1 DROP COLUMN b;
|
||||
REINDEX t1;
|
||||
ANALYZE;
|
||||
SELECT * FROM t1 AS a LEFT JOIN T AS b ON a.rowid = b.rowid;
|
||||
DROP TRIGGER IF EXISTS t1;
|
||||
SELECT LAST_VALUE(d) OVER (ORDER BY d ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) FROM t1;
|
||||
INSERT INTO T DEFAULT VALUES;
|
||||
WITH cte AS (SELECT d, LAG(d) OVER (ORDER BY d) AS prev FROM t1) SELECT * FROM cte;
|
||||
INSERT INTO t1 VALUES (NULL, NULL, 1, NULL) ON CONFLICT(a) DO UPDATE SET a = excluded.a, b = excluded.b, c = excluded.c;
|
||||
WITH RECURSIVE cnt(x) AS (VALUES(1) UNION ALL SELECT x+1 FROM cnt WHERE x<21), filtered AS (SELECT * FROM cnt WHERE x > 10) SELECT * FROM filtered;
|
||||
INSERT OR ABORT INTO t1 VALUES (-6, 'x', 3, 'x');
|
||||
PRAGMA case_sensitive_like = OFF;
|
||||
UPDATE t1 SET a = CURRENT_TIMESTAMP WHERE 1 RETURNING *;
|
||||
```
|
||||
|
||||
## Actual output
|
||||
|
||||
```sql
|
||||
2,b,-3.5
|
||||
3,c,0.0
|
||||
0,a,1.25
|
||||
vfs.zName = "unix"
|
||||
vfs.iVersion = 3
|
||||
vfs.szOsFile = 120
|
||||
vfs.mxPathname = 512
|
||||
0
|
||||
CREATE TABLE T (
|
||||
a INTEGER,
|
||||
b TEXT,
|
||||
c REAL
|
||||
);
|
||||
/* No STAT tables available */
|
||||
0
|
||||
1
|
||||
CREATE TABLE "t2"("b","c","_ROWID_",PRIMARY KEY("b","c","_ROWID_"))WITHOUT ROWID;
|
||||
WARNING: writing to an imposter table will corrupt the "t1bc" index!
|
||||
von,20,2
|
||||
Braun,30,3
|
||||
Braun,30
|
||||
von,20
|
||||
```
|
||||
|
||||
## Expectation
|
||||
|
||||
```sql
|
||||
|
||||
```
|
||||
|
||||
## Flag
|
||||
|
||||
```
|
||||
-separator ","
|
||||
```
|
||||
|
||||
@@ -0,0 +1,484 @@
|
||||
## 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
|
||||
SAVEPOINT sp5011;
|
||||
ATTACH DATABASE ':memory:' AS aux26;
|
||||
SAVEPOINT sp3272;
|
||||
PRAGMA ignore_check_constraints = NO;
|
||||
.eqp off
|
||||
PRAGMA count_changes = '|';
|
||||
ATTACH DATABASE ':memory:' AS aux96;
|
||||
ATTACH DATABASE ':memory:' AS aux34;
|
||||
CREATE TEMPORARY TABLE t0(x, y, z);
|
||||
CREATE TABLE t1(a INTEGER PRIMARY KEY, b TEXT, c INT, d INT);
|
||||
INSERT INTO t1 VALUES (CAST(unicode('你好') AS MEDIUMINT), 'Wernher', if(min(-9223372036854775809, '2', 3), 10, 0, 10, 0, 10, 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
|
||||
SELECT -99999999999999999999999999999999999999999999999999;
|
||||
SELECT * FROM sqlite_temp_master WHERE sql GLOB '000[]***';
|
||||
DROP TABLE t0;
|
||||
REINDEX;
|
||||
DELETE FROM t0 WHERE 1 RETURNING *;
|
||||
UPDATE t0 SET z = '' WHERE z BETWEEN 0 AND 100;
|
||||
SELECT * FROM t0 AS a FULL OUTER joIN t1 AS b ON a.rowid = b.rowid;
|
||||
SELECT * FROM t1 WHERE b NOT IN (SELECT b FROM t1);
|
||||
DETACH DATABASE aux34;
|
||||
SELECT * FROM t1 AS a FULL OUTER JOIN t0 AS b ON a.rowid = b.rowid;
|
||||
ALTER TABLE t0 RENAME TO t0_r5353;
|
||||
ALTER TABLE t1 RENAME TO t1_r3388;
|
||||
PRAGMA short_column_names = YES;
|
||||
INSERT INTO t1 VALUES (NULL, NULL, NULL, NULL);
|
||||
|
||||
SELECT COUNT(*) FROM t1;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_t0_3641 AFTER UPDATE ON t0 BEGIN SELECT RAISE(IGNORE); END;
|
||||
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 t1;
|
||||
DETACH DATABASE aux96;
|
||||
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
|
||||
WITH RECURSIVE multi(a, b) AS (VALUES(1, 1.0) UNION ALL SELECT a+1, b*0.5 FROM multi WHERE a<38) SELECT * FROM multi;
|
||||
.eqp off
|
||||
PRAGMA count_changes = '|';
|
||||
ATTACH DATABASE ':memory:' AS aux96;
|
||||
ATTACH DATABASE ':memory:' AS aux34;
|
||||
CREATE TEMPORARY TABLE t0(x, y, z);
|
||||
CREATE TABLE t1(a INTEGER PRIMARY KEY, b TEXT, c INT, d INT);
|
||||
INSERT INTO t1 VALUES (CAST(unicode('你好') AS MEDIUMINT), '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
|
||||
SELECT -99999999999999999999999999999999999999999999999999;
|
||||
SELECT * FROM sqlite_temp_master WHERE sql GLOB '000[]***';
|
||||
DROP TABLE t0;
|
||||
REINDEX;
|
||||
DELETE FROM t0 WHERE 1 RETURNING *;
|
||||
UPDATE t0 SET z = '' WHERE z BETWEEN 0 AND 100;
|
||||
SELECT * FROM t0 AS a FULL OUTER JOIN t1 AS b ON a.rowid = b.rowid;
|
||||
SELECT * FROM t1 WHERE b NOT IN (SELECT b FROM t1);
|
||||
DETACH DATABASE aux34;
|
||||
SELECT * FROM t1 AS a FULL OUTER JOIN t0 AS b ON a.rowid = b.rowid;
|
||||
ALTER TABLE t0 RENAME TO t0_r5353;
|
||||
ALTER TABLE t1 RENAME TO t1_r3388;
|
||||
PRAGMA short_column_names = YES;
|
||||
INSERT INTO t1 VALUES (NULL, NULL, NULL, NULL);
|
||||
|
||||
SELECT COUNT(*) FROM t1;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_t0_3641 AFTER UPDATE ON t0 BEGIN SELECT RAISE(IGNORE); END;
|
||||
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 t1;
|
||||
DETACH DATABASE aux96;
|
||||
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
|
||||
WITH RECURSIVE multi(a, b) AS (VALUES(1, 1.0) UNION ALL SELECT a+1, b*0.5 FROM multi WHERE a<38) SELECT * FROM multi;
|
||||
.eqp off
|
||||
PRAGMA count_changes = '|';
|
||||
ATTACH DATABASE ':memory:' AS aux96;
|
||||
ATTACH DATABASE ':memory:' AS aux34;
|
||||
CREATE TEMPORARY TABLE t0(x, y, z);
|
||||
CREATE TABLE t1(a INTEGER PRIMARY KEY, b TEXT, c INT, d INT);
|
||||
INSERT INTO t1 VALUES (CAST(unicode('你好') AS MEDIUMINT), '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
|
||||
SELECT -99999999999999999999999999999999999999999999999999;
|
||||
SELECT * FROM sqlite_temp_master WHERE sql GLOB '000[]***';
|
||||
DROP TABLE t0;
|
||||
REINDEX;
|
||||
DELETE FROM t0 WHERE 1 RETURNING *;
|
||||
UPDATE t0 SET z = '' WHERE z BETWEEN 0 AND 100;
|
||||
SELECT * FROM t0 AS a FULL OUTER JOIN t1 AS b ON a.rowid = b.rowid;
|
||||
SELECT * FROM t1 WHERE b NOT IN (SELECT b FROM t1);
|
||||
DETACH DATABASE aux34;
|
||||
SELECT * FROM t1 AS a FULL OUTER JOIN t0 AS b ON a.rowid = b.rowid;
|
||||
ALTER TABLE t0 RENAME TO t0_r5353;
|
||||
ALTER TABLE t1 RENAME TO t1_r3388;
|
||||
PRAGMA short_column_names = YES;
|
||||
INSERT INTO t1 VALUES (NULL, NULL, NULL, NULL);
|
||||
|
||||
SELECT COUNT(*) FROM t1;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_t0_3641 AFTER UPDATE ON t0 BEGIN SELECT RAISE(IGNORE); END;
|
||||
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 t1;
|
||||
DETACH DATABASE aux96;
|
||||
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
|
||||
WITH RECURSIVE multi(a, b) AS (VALUES(1, 1.0) UNION ALL SELECT a+1, b*0.5 FROM multi WHERE a<38) SELECT * FROM multi;
|
||||
.eqp off
|
||||
PRAGMA count_changes = '|';
|
||||
ATTACH DATABASE ':memory:' AS aux96;
|
||||
ATTACH DATABASE ':memory:' AS aux34;
|
||||
CREATE TEMPORARY TABLE t0(x, y, z);
|
||||
CREATE TABLE t1(a INTEGER PRIMARY KEY, b TEXT, c INT, d INT);
|
||||
INSERT INTO t1 VALUES (CAST(unicode('你好') AS MEDIUMINT), '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
|
||||
SELECT -99999999999999999999999999999999999999999999999999;
|
||||
SELECT * FROM sqlite_temp_master WHERE sql GLOB '000[]***';
|
||||
DROP TABLE t0;
|
||||
REINDEX;
|
||||
DELETE FROM t0 WHERE 1 RETURNING *;
|
||||
UPDATE t0 SET z = '' WHERE z BETWEEN 0 AND 100;
|
||||
SELECT * FROM t0 AS a FULL OUTER JOIN t1 AS b ON a.rowid = b.rowid;
|
||||
SELECT * FROM t1 WHERE b NOT IN (SELECT b FROM t1);
|
||||
DETACH DATABASE aux34;
|
||||
SELECT * FROM t1 AS a FULL OUTER JOIN t0 AS b ON a.rowid = b.rowid;
|
||||
ALTER TABLE t0 RENAME TO t0_r5353;
|
||||
ALTER TABLE t1 RENAME TO t1_r3388;
|
||||
PRAGMA short_column_names = YES;
|
||||
INSERT INTO t1 VALUES (NULL, NULL, NULL, NULL);
|
||||
|
||||
SELECT COUNT(*) FROM t1;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_t0_3641 AFTER UPDATE ON t0 BEGIN SELECT RAISE(IGNORE); END;
|
||||
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 t1;
|
||||
DETACH DATABASE aux96;
|
||||
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
|
||||
WITH RECURSIVE multi(a, b) AS (VALUES(1, 1.0) UNION ALL SELECT a+1, b*0.5 FROM multi WHERE a<38) SELECT * FROM multi;
|
||||
.eqp off
|
||||
PRAGMA count_changes = '|';
|
||||
ATTACH DATABASE ':memory:' AS aux96;
|
||||
ATTACH DATABASE ':memory:' AS aux34;
|
||||
CREATE TEMPORARY TABLE t0(x, y, z);
|
||||
CREATE TABLE t1(a INTEGER PRIMARY KEY, b TEXT, c INT, d INT);
|
||||
INSERT INTO t1 VALUES (CAST(unicode('你好') AS MEDIUMINT), '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
|
||||
SELECT -99999999999999999999999999999999999999999999999999;
|
||||
SELECT * FROM sqlite_temp_master WHERE sql GLOB '000[]***';
|
||||
DROP TABLE t0;
|
||||
REINDEX;
|
||||
DELETE FROM t0 WHERE 1 RETURNING *;
|
||||
UPDATE t0 SET z = '' WHERE z BETWEEN 0 AND 100;
|
||||
SELECT * FROM t0 AS a FULL OUTER JOIN t1 AS b ON a.rowid = b.rowid;
|
||||
SELECT * FROM t1 WHERE b NOT IN (SELECT b FROM t1);
|
||||
DETACH DATABASE aux34;
|
||||
SELECT * FROM t1 AS a FULL OUTER JOIN t0 AS b ON a.rowid = b.rowid;
|
||||
ALTER TABLE t0 RENAME TO t0_r5353;
|
||||
ALTER TABLE t1 RENAME TO t1_r3388;
|
||||
PRAGMA short_column_names = YES;
|
||||
INSERT INTO t1 VALUES (NULL, NULL, NULL, NULL);
|
||||
|
||||
SELECT COUNT(*) FROM t1;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_t0_3641 AFTER UPDATE ON t0 BEGIN SELECT RAISE(IGNORE); END;
|
||||
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 t1;
|
||||
DETACH DATABASE aux96;
|
||||
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
|
||||
WITH RECURSIVE multi(a, b) AS (VALUES(1, 1.0) UNION ALL SELECT a+1, b*0.5 FROM multi WHERE a<38) SELECT * FROM multi;
|
||||
.eqp off
|
||||
PRAGMA count_changes = '|';
|
||||
ATTACH DATABASE ':memory:' AS aux96;
|
||||
ATTACH DATABASE ':memory:' AS aux34;
|
||||
CREATE TEMPORARY TABLE t0(x, y, z);
|
||||
CREATE TABLE t1(a INTEGER PRIMARY KEY, b TEXT, c INT, d INT);
|
||||
INSERT INTO t1 VALUES (CAST(unicode('你好') AS MEDIUMINT), '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
|
||||
SELECT -99999999999999999999999999999999999999999999999999;
|
||||
SELECT * FROM sqlite_temp_master WHERE sql GLOB '000[]***';
|
||||
DROP TABLE t0;
|
||||
REINDEX;
|
||||
DELETE FROM t0 WHERE 1 RETURNING *;
|
||||
UPDATE t0 SET z = '' WHERE z BETWEEN 0 AND 100;
|
||||
SELECT * FROM t0 AS a FULL OUTER JOIN t1 AS b ON a.rowid = b.rowid;
|
||||
SELECT * FROM t1 WHERE b NOT IN (SELECT b FROM t1);
|
||||
DETACH DATABASE aux34;
|
||||
SELECT * FROM t1 AS a FULL OUTER JOIN t0 AS b ON a.rowid = b.rowid;
|
||||
ALTER TABLE t0 RENAME TO t0_r5353;
|
||||
ALTER TABLE t1 RENAME TO t1_r3388;
|
||||
PRAGMA short_column_names = YES;
|
||||
INSERT INTO t1 VALUES (NULL, NULL, NULL, NULL);
|
||||
|
||||
SELECT COUNT(*) FROM t1;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_t0_3641 AFTER UPDATE ON t0 BEGIN SELECT RAISE(IGNORE); END;
|
||||
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 t1;
|
||||
DETACH DATABASE aux96;
|
||||
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
|
||||
WITH RECURSIVE multi(a, b) AS (VALUES(1, 1.0) UNION ALL SELECT a+1, b*0.5 FROM multi WHERE a<38) SELECT * FROM multi;
|
||||
.eqp off
|
||||
PRAGMA count_changes = '|';
|
||||
ATTACH DATABASE ':memory:' AS aux96;
|
||||
ATTACH DATABASE ':memory:' AS aux34;
|
||||
CREATE TEMPORARY TABLE t0(x, y, z);
|
||||
CREATE TABLE t1(a INTEGER PRIMARY KEY, b TEXT, c INT, d INT);
|
||||
INSERT INTO t1 VALUES (CAST(unicode('你好') AS MEDIUMINT), '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
|
||||
SELECT -99999999999999999999999999999999999999999999999999;
|
||||
SELECT * FROM sqlite_temp_master WHERE sql GLOB '000[]***';
|
||||
DROP TABLE t0;
|
||||
REINDEX;
|
||||
DELETE FROM t0 WHERE 1 RETURNING *;
|
||||
UPDATE t0 SET z = '' WHERE z BETWEEN 0 AND 100;
|
||||
SELECT * FROM t0 AS a FULL OUTER JOIN t1 AS b ON a.rowid = b.rowid;
|
||||
SELECT * FROM t1 WHERE b NOT IN (SELECT b FROM t1);
|
||||
DETACH DATABASE aux34;
|
||||
SELECT * FROM t1 AS a FULL OUTER JOIN t0 AS b ON a.rowid = b.rowid;
|
||||
ALTER TABLE t0 RENAME TO t0_r5353;
|
||||
ALTER TABLE t1 RENAME TO t1_r3388;
|
||||
PRAGMA short_column_names = YES;
|
||||
INSERT INTO t1 VALUES (NULL, NULL, NULL, NULL);
|
||||
|
||||
SELECT COUNT(*) FROM t1;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_t0_3641 AFTER UPDATE ON t0 BEGIN SELECT RAISE(IGNORE); END;
|
||||
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 t1;
|
||||
DETACH DATABASE aux96;
|
||||
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
|
||||
WITH RECURSIVE multi(a, b) AS (VALUES(1, 1.0) UNION ALL SELECT a+1, b*0.5 FROM multi WHERE a<38) SELECT * FROM multi;
|
||||
|
||||
VACUUM main;
|
||||
CREATE INDEX IF NOT EXISTS idx_t1_5312 ON t1(d) WHERE d > 0;
|
||||
PRAGMA empty_result_callbacks = ON;
|
||||
REINDEX t0;
|
||||
CREATE UNIQUE INDEX IF NOT EXISTS idx_t0_7893 ON t0(lower(x)) WHERE x > 0;
|
||||
CREATE UNIQUE INDEX IF NOT EXISTS idx_t1_2600 ON t1(b) WHERE b > 0;
|
||||
ALTER TABLE t0 RENAME COLUMN z TO z_r9903;
|
||||
ROLLBACK TO sp3272;
|
||||
RELEASE sp3272;
|
||||
SELECT * FROM t1 WHERE c IN (SELECT c FROM t1 LIMIT 0);
|
||||
VACUUM;
|
||||
SELECT SUM(y) FILTER (WHERE 1=0) OVER (ORDER BY y RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING EXCLUDE NO OTHERS) FROM t0;
|
||||
VACUUM main;
|
||||
CREATE TABLE T (
|
||||
A VARCHAR(20),
|
||||
B VARCHAR(30),
|
||||
C VARCHAR(30),
|
||||
PRIMARY KEY (A, B),
|
||||
UNIQUE (A, C)
|
||||
);
|
||||
INSERT INTO T VALUES ('a', 'p', 'x');
|
||||
INSERT INTO T VALUES ('a', 'q', 'y');
|
||||
INSERT INTO T VALUES ('b', 'p', 'z');
|
||||
INSERT INTO T VALUES ('c', 'r', 'w');
|
||||
INSERT INTO T VALUES ('d', 's', 'v');
|
||||
SELECT A, COUNT(DISTINCT B) AS D FROM T GROUP BY A HAVING COUNT(DISTINCT B) >= 1;
|
||||
CREATE INDEX IF NOT EXISTS idx_T_3768 ON T(lower(B));
|
||||
DELETE FROM T WHERE 0;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_T_6223 BEFORE UPDATE ON T BEGIN INSERT INTO T(B) VALUES (NULL); END;
|
||||
PRAGMA integrity_check;
|
||||
INSERT INTO t1 VALUES ('x', 'x', 'x', 'x') ON CONFLICT(a) DO UPDATE SET a = excluded.a, b = excluded.b, c = excluded.c;
|
||||
DETACH DATABASE aux26;
|
||||
CREATE UNIQUE INDEX IF NOT EXISTS idx_t1_2309 ON t1(lower(c)) WHERE c > 0;
|
||||
ANALYZE;
|
||||
ALTER TABLE T DROP COLUMN A;
|
||||
RELEASE sp5011;
|
||||
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;
|
||||
REINDEX;
|
||||
```
|
||||
|
||||
## Actual output
|
||||
|
||||
```sql
|
||||
CREATE TABLE "t2"("b","c","_ROWID_",PRIMARY KEY("b","c","_ROWID_"))WITHOUT ROWID;
|
||||
WARNING: writing to an imposter table will corrupt the "t1bc" index!
|
||||
Braun|30|3
|
||||
von|20|2
|
||||
Braun|30
|
||||
von|20
|
||||
```
|
||||
|
||||
## Expectation
|
||||
|
||||
```sql
|
||||
|
||||
```
|
||||
|
||||
## Flag
|
||||
|
||||
```
|
||||
|
||||
```
|
||||
|
||||
@@ -0,0 +1,91 @@
|
||||
## 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 module_list;
|
||||
.exit -(0 + 1)
|
||||
PRAGMA table_info(users);
|
||||
PRAGMA short_column_names = ON;
|
||||
PRAGMA user_version = '''''';
|
||||
.print https://yewtu.be/watch?v=dQw4w9WgXcQ
|
||||
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 T AS a FULL JOIN T AS b ON a.rowid = b.rowid;
|
||||
DELETE FROM T WHERE A > (SELECT AVG(A) FROM T);
|
||||
|
||||
UPDATE T SET A = json_object('k', A) WHERE A BETWEEN 0 AND 100;
|
||||
ALTER TABLE T RENAME COLUMN A TO A_r6693;
|
||||
DELETE FROM T WHERE 0 RETURNING *;
|
||||
SELECT COUNT(*) FROM T;
|
||||
VACUUM main;
|
||||
WITH RECURSIVE cnt(x) AS (VALUES(1) UNION ALL SELECT x+1 FROM cnt WHERE x<0) SELECT * FROM cnt;
|
||||
WITH RECURSIVE self(x) AS (SELECT 1 UNION ALL SELECT x FROM self) SELECT * FROM self LIMIT 5;
|
||||
INSERT INTO T DEFAULT VALUES;
|
||||
REINDEX T;
|
||||
SELECT GROUP_CONCAT(B, '|') FROM T;
|
||||
DELETE FROM T WHERE 0 RETURNING *;
|
||||
SELECT * FROM T;
|
||||
SELECT * FROM T WHERE B IN (SELECT B FROM T WHERE B LIKE "%%");
|
||||
```
|
||||
|
||||
## Actual output
|
||||
|
||||
```sql
|
||||
sqlite_dbdata
|
||||
generate_series
|
||||
completion
|
||||
fsdir
|
||||
tables_used
|
||||
sqlite_stmt
|
||||
json_tree
|
||||
fts4aux
|
||||
fts3
|
||||
fts4
|
||||
sqlite_dbptr
|
||||
fts3tokenize
|
||||
bytecode
|
||||
rtree_i32
|
||||
sqlite_dbpage
|
||||
rtree
|
||||
dbstat
|
||||
json_each
|
||||
```
|
||||
|
||||
## Expectation
|
||||
|
||||
```sql
|
||||
fsdir
|
||||
generate_series
|
||||
bytecode
|
||||
dbstat
|
||||
tables_used
|
||||
sqlite_stmt
|
||||
sqlite_dbpage
|
||||
rtree_i32
|
||||
fts4aux
|
||||
fts3
|
||||
zipfile
|
||||
fts4
|
||||
completion
|
||||
rtree
|
||||
fts3tokenize
|
||||
```
|
||||
|
||||
## Flag
|
||||
|
||||
```
|
||||
|
||||
```
|
||||
|
||||
@@ -0,0 +1,450 @@
|
||||
## 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 function_list;
|
||||
PRAGMA foreign_keys = FALSE;
|
||||
PRAGMA secure_delete;
|
||||
.fullschema
|
||||
BEGIN;
|
||||
create TABLE abc(a, b, c, PRIMARY KEY(a, b));
|
||||
INSERT INTO abc VALUES((sign(-1) * 1), 1, 1);
|
||||
INSERT INTO abc SELECT a+(select max(a) FROM abc), b+(select max(a) FROM abc), c+(select max(a) FROM abc) FROM abc;
|
||||
COMMIT;
|
||||
SELECT count((SELECT a FROM abc WHERE a = NULL AND b >= upper.c)) FROM abc AS upper;
|
||||
SELECT * FROM sqlite_master WHERE rowid=10;
|
||||
|
||||
SELECT MAX(b) FROM abc;
|
||||
INSERT INTO abc VALUES (NULL, NULL, NULL);
|
||||
ANALYZE abc;
|
||||
ANALYZE;
|
||||
CREATE UNIQUE INDEX IF NOT EXISTS idx_abc_6185 ON abc(c) WHERE c IS NOT NULL;
|
||||
INSERT INTO abc VALUES (NULL, NULL, NULL);
|
||||
|
||||
```
|
||||
|
||||
## Actual output
|
||||
|
||||
```sql
|
||||
pow|1|s|utf8|2|2099200
|
||||
group_concat|1|w|utf8|1|2097152
|
||||
group_concat|1|w|utf8|2|2097152
|
||||
json_type|1|s|utf8|1|2048
|
||||
json_type|1|s|utf8|2|2048
|
||||
julianday|1|s|utf8|-1|2099200
|
||||
ntile|1|w|utf8|1|2097152
|
||||
nullif|1|s|utf8|2|2099200
|
||||
sqlite_compileoption_get|1|s|utf8|1|2097152
|
||||
json_valid|1|s|utf8|1|2048
|
||||
json_quote|1|s|utf8|1|2048
|
||||
json_patch|1|s|utf8|2|2048
|
||||
->|1|s|utf8|2|2048
|
||||
json_array|1|s|utf8|-1|2048
|
||||
current_timestamp|1|s|utf8|0|2097152
|
||||
power|1|s|utf8|2|2099200
|
||||
sqlite_compileoption_used|1|s|utf8|1|2097152
|
||||
json_remove|1|s|utf8|-1|2048
|
||||
json_object|1|s|utf8|-1|2048
|
||||
json_insert|1|s|utf8|-1|2048
|
||||
->>|1|s|utf8|2|2048
|
||||
sin|1|s|utf8|1|2099200
|
||||
sum|1|w|utf8|1|2097152
|
||||
quote|1|s|utf8|1|2099200
|
||||
printf|1|s|utf8|-1|2099200
|
||||
likelihood|1|s|utf8|2|2099200
|
||||
json_replace|1|s|utf8|-1|2048
|
||||
json_extract|1|s|utf8|-1|2048
|
||||
last_value|1|w|utf8|1|2097152
|
||||
rank|1|w|utf8|0|2097152
|
||||
sign|1|s|utf8|1|2099200
|
||||
sqrt|1|s|utf8|1|2099200
|
||||
sinh|1|s|utf8|1|2099200
|
||||
tan|1|s|utf8|1|2099200
|
||||
round|1|s|utf8|1|2099200
|
||||
round|1|s|utf8|2|2099200
|
||||
rtrim|1|s|utf8|1|2099200
|
||||
rtrim|1|s|utf8|2|2099200
|
||||
nth_value|1|w|utf8|2|2097152
|
||||
tanh|1|s|utf8|1|2099200
|
||||
random|1|s|utf8|0|2097152
|
||||
trim|1|s|utf8|1|2099200
|
||||
trim|1|s|utf8|2|2099200
|
||||
time|1|s|utf8|-1|2099200
|
||||
radians|1|s|utf8|1|2099200
|
||||
trunc|1|s|utf8|1|2099200
|
||||
total|1|w|utf8|1|2097152
|
||||
substr|1|s|utf8|2|2099200
|
||||
substr|1|s|utf8|3|2099200
|
||||
replace|1|s|utf8|3|2099200
|
||||
upper|1|s|utf8|1|2099200
|
||||
subtype|1|s|utf8|1|2099200
|
||||
typeof|1|s|utf8|1|2099200
|
||||
load_extension|1|s|utf8|1|524288
|
||||
load_extension|1|s|utf8|2|524288
|
||||
json_group_array|1|w|utf8|1|1050624
|
||||
avg|1|w|utf8|1|2097152
|
||||
abs|1|s|utf8|1|2099200
|
||||
json_group_object|1|w|utf8|2|1050624
|
||||
json_array_length|1|s|utf8|1|2048
|
||||
json_array_length|1|s|utf8|2|2048
|
||||
strftime|1|s|utf8|-1|2099200
|
||||
atan|1|s|utf8|1|2099200
|
||||
asin|1|s|utf8|1|2099200
|
||||
acos|1|s|utf8|1|2099200
|
||||
unknown|1|s|utf8|-1|2099200
|
||||
substring|1|s|utf8|2|2099200
|
||||
substring|1|s|utf8|3|2099200
|
||||
randomblob|1|s|utf8|1|2097152
|
||||
unicode|1|s|utf8|1|2099200
|
||||
percent_rank|1|w|utf8|0|2097152
|
||||
row_number|1|w|utf8|0|2097152
|
||||
atanh|1|s|utf8|1|2099200
|
||||
asinh|1|s|utf8|1|2099200
|
||||
acosh|1|s|utf8|1|2099200
|
||||
cos|1|s|utf8|1|2099200
|
||||
atan2|1|s|utf8|2|2099200
|
||||
last_insert_rowid|1|s|utf8|0|2097152
|
||||
sqlite_log|1|s|utf8|2|2099200
|
||||
unlikely|1|s|utf8|1|2099200
|
||||
cosh|1|s|utf8|1|2099200
|
||||
ceil|1|s|utf8|1|2099200
|
||||
char|1|s|utf8|-1|2099200
|
||||
unixepoch|1|s|utf8|-1|2099200
|
||||
exp|1|s|utf8|1|2099200
|
||||
count|1|w|utf8|0|2097152
|
||||
count|1|w|utf8|1|2097152
|
||||
date|1|s|utf8|-1|2099200
|
||||
sqlite_offset|1|s|utf8|1|2097152
|
||||
ceiling|1|s|utf8|1|2099200
|
||||
total_changes|1|s|utf8|0|2097152
|
||||
changes|1|s|utf8|0|2097152
|
||||
sqlite_version|1|s|utf8|0|2097152
|
||||
degrees|1|s|utf8|1|2099200
|
||||
floor|1|s|utf8|1|2099200
|
||||
coalesce|1|s|utf8|-1|2099200
|
||||
glob|1|s|utf8|2|2099200
|
||||
zeroblob|1|s|utf8|1|2099200
|
||||
hex|1|s|utf8|1|2099200
|
||||
iif|1|s|utf8|3|2099200
|
||||
sqlite_source_id|1|s|utf8|0|2097152
|
||||
format|1|s|utf8|-1|2099200
|
||||
datetime|1|s|utf8|-1|2099200
|
||||
cume_dist|1|w|utf8|0|2097152
|
||||
ln|1|s|utf8|1|2099200
|
||||
instr|1|s|utf8|2|2099200
|
||||
json|1|s|utf8|1|2048
|
||||
dense_rank|1|w|utf8|0|2097152
|
||||
log|1|s|utf8|1|2099200
|
||||
log|1|s|utf8|2|2099200
|
||||
ifnull|1|s|utf8|2|2099200
|
||||
current_date|1|s|utf8|0|2097152
|
||||
current_time|1|s|utf8|0|2097152
|
||||
lag|1|w|utf8|1|2097152
|
||||
lag|1|w|utf8|3|2097152
|
||||
lag|1|w|utf8|2|2097152
|
||||
mod|1|s|utf8|2|2099200
|
||||
log2|1|s|utf8|1|2099200
|
||||
like|1|s|utf8|2|2099200
|
||||
like|1|s|utf8|3|2099200
|
||||
max|1|s|utf8|-1|2099200
|
||||
max|1|w|utf8|1|2097152
|
||||
min|1|s|utf8|-1|2099200
|
||||
min|1|w|utf8|1|2097152
|
||||
lead|1|w|utf8|1|2097152
|
||||
lead|1|w|utf8|3|2097152
|
||||
lead|1|w|utf8|2|2097152
|
||||
log10|1|s|utf8|1|2099200
|
||||
lower|1|s|utf8|1|2099200
|
||||
ltrim|1|s|utf8|1|2099200
|
||||
ltrim|1|s|utf8|2|2099200
|
||||
first_value|1|w|utf8|1|2097152
|
||||
pi|1|s|utf8|0|2099200
|
||||
length|1|s|utf8|1|2099200
|
||||
likely|1|s|utf8|1|2099200
|
||||
json_set|1|s|utf8|-1|2048
|
||||
edit|0|s|utf8|2|0
|
||||
edit|0|s|utf8|1|0
|
||||
usleep|0|s|utf8|1|0
|
||||
shell_idquote|0|s|utf8|1|0
|
||||
shell_escape_crnl|0|s|utf8|1|0
|
||||
shell_putsnl|0|s|utf8|1|0
|
||||
ieee754_from_blob|0|s|utf8|1|2097152
|
||||
shell_add_schema|0|s|utf8|3|0
|
||||
ieee754_to_blob|0|s|utf8|1|2097152
|
||||
ieee754|0|s|utf8|2|2097152
|
||||
ieee754|0|s|utf8|1|2097152
|
||||
shell_int32|0|s|utf8|2|0
|
||||
regexp|0|s|utf8|2|2099200
|
||||
ieee754_exponent|0|s|utf8|1|2097152
|
||||
decimal_sub|0|s|utf8|2|2099200
|
||||
decimal_cmp|0|s|utf8|2|2099200
|
||||
writefile|0|s|utf8|-1|524288
|
||||
lsmode|0|s|utf8|1|0
|
||||
readfile|0|s|utf8|1|524288
|
||||
match|0|s|utf8|2|0
|
||||
fts3_tokenizer|0|s|utf8|2|524288
|
||||
fts3_tokenizer|0|s|utf8|1|524288
|
||||
ieee754_mantissa|0|s|utf8|1|2097152
|
||||
decimal_add|0|s|utf8|2|2099200
|
||||
decimal|0|s|utf8|1|2099200
|
||||
snippet|0|s|utf8|-1|0
|
||||
offsets|0|s|utf8|1|0
|
||||
shell_module_schema|0|s|utf8|1|0
|
||||
matchinfo|0|s|utf8|2|0
|
||||
matchinfo|0|s|utf8|1|0
|
||||
optimize|0|s|utf8|1|0
|
||||
decimal_sum|0|w|utf8|1|2099200
|
||||
sha3|0|s|utf8|2|2099200
|
||||
sha3|0|s|utf8|1|2099200
|
||||
rtreedepth|0|s|utf8|1|0
|
||||
regexpi|0|s|utf8|2|2099200
|
||||
decimal_mul|0|s|utf8|2|2099200
|
||||
sha3_query|0|s|utf8|2|524288
|
||||
sha3_query|0|s|utf8|1|524288
|
||||
rtreenode|0|s|utf8|2|0
|
||||
rtreecheck|0|s|utf8|-1|0
|
||||
0
|
||||
/* No STAT tables available */
|
||||
0
|
||||
1
|
||||
```
|
||||
|
||||
## Expectation
|
||||
|
||||
```sql
|
||||
pow|1|s|utf8|2|2099200
|
||||
median|1|w|utf8|1|0
|
||||
group_concat|1|w|utf8|1|2097152
|
||||
group_concat|1|w|utf8|2|2097152
|
||||
json_type|1|s|utf8|1|2099200
|
||||
json_type|1|s|utf8|2|2099200
|
||||
jsonb_set|1|s|utf8|-1|3147776
|
||||
julianday|1|s|utf8|-1|2099200
|
||||
ntile|1|w|utf8|1|2097152
|
||||
nullif|1|s|utf8|2|2099200
|
||||
sqlite_compileoption_get|1|s|utf8|1|2097152
|
||||
json_valid|1|s|utf8|1|2099200
|
||||
json_valid|1|s|utf8|2|2099200
|
||||
json_quote|1|s|utf8|1|3147776
|
||||
json_patch|1|s|utf8|2|2099200
|
||||
->|1|s|utf8|2|2099200
|
||||
json_array|1|s|utf8|-1|3147776
|
||||
current_timestamp|1|s|utf8|0|2097152
|
||||
power|1|s|utf8|2|2099200
|
||||
sqlite_compileoption_used|1|s|utf8|1|2097152
|
||||
json_remove|1|s|utf8|-1|2099200
|
||||
json_pretty|1|s|utf8|1|2099200
|
||||
json_pretty|1|s|utf8|2|2099200
|
||||
jsonb_patch|1|s|utf8|2|2099200
|
||||
json_object|1|s|utf8|-1|3147776
|
||||
json_insert|1|s|utf8|-1|3147776
|
||||
->>|1|s|utf8|2|2099200
|
||||
jsonb_array|1|s|utf8|-1|3147776
|
||||
sin|1|s|utf8|1|2099200
|
||||
sum|1|w|utf8|1|2097152
|
||||
quote|1|s|utf8|1|2099200
|
||||
printf|1|s|utf8|-1|2099200
|
||||
likelihood|1|s|utf8|2|2099200
|
||||
json_replace|1|s|utf8|-1|3147776
|
||||
jsonb_remove|1|s|utf8|-1|2099200
|
||||
jsonb_object|1|s|utf8|-1|3147776
|
||||
jsonb_insert|1|s|utf8|-1|3147776
|
||||
json_extract|1|s|utf8|-1|2099200
|
||||
last_value|1|w|utf8|1|2097152
|
||||
rank|1|w|utf8|0|2097152
|
||||
sign|1|s|utf8|1|2099200
|
||||
sqrt|1|s|utf8|1|2099200
|
||||
sinh|1|s|utf8|1|2099200
|
||||
tan|1|s|utf8|1|2099200
|
||||
round|1|s|utf8|1|2099200
|
||||
round|1|s|utf8|2|2099200
|
||||
rtrim|1|s|utf8|1|2099200
|
||||
rtrim|1|s|utf8|2|2099200
|
||||
jsonb_replace|1|s|utf8|-1|3147776
|
||||
jsonb_extract|1|s|utf8|-1|2099200
|
||||
nth_value|1|w|utf8|2|2097152
|
||||
tanh|1|s|utf8|1|2099200
|
||||
random|1|s|utf8|0|2097152
|
||||
trim|1|s|utf8|1|2099200
|
||||
trim|1|s|utf8|2|2099200
|
||||
time|1|s|utf8|-1|2099200
|
||||
radians|1|s|utf8|1|2099200
|
||||
trunc|1|s|utf8|1|2099200
|
||||
total|1|w|utf8|1|2097152
|
||||
substr|1|s|utf8|2|2099200
|
||||
substr|1|s|utf8|3|2099200
|
||||
replace|1|s|utf8|3|2099200
|
||||
percentile|1|w|utf8|2|0
|
||||
unhex|1|s|utf8|1|2099200
|
||||
unhex|1|s|utf8|2|2099200
|
||||
upper|1|s|utf8|1|2099200
|
||||
subtype|1|s|utf8|1|3147776
|
||||
typeof|1|s|utf8|1|2099200
|
||||
load_extension|1|s|utf8|1|524288
|
||||
load_extension|1|s|utf8|2|524288
|
||||
json_group_array|1|w|utf8|1|3147776
|
||||
avg|1|w|utf8|1|2097152
|
||||
unistr|1|s|utf8|1|2099200
|
||||
abs|1|s|utf8|1|2099200
|
||||
octet_length|1|s|utf8|1|2099200
|
||||
json_group_object|1|w|utf8|2|3147776
|
||||
jsonb_group_array|1|w|utf8|1|3147776
|
||||
json_array_length|1|s|utf8|1|2099200
|
||||
json_array_length|1|s|utf8|2|2099200
|
||||
strftime|1|s|utf8|-1|2099200
|
||||
atan|1|s|utf8|1|2099200
|
||||
asin|1|s|utf8|1|2099200
|
||||
acos|1|s|utf8|1|2099200
|
||||
unknown|1|s|utf8|-1|2099200
|
||||
substring|1|s|utf8|2|2099200
|
||||
substring|1|s|utf8|3|2099200
|
||||
randomblob|1|s|utf8|1|2097152
|
||||
unicode|1|s|utf8|1|2099200
|
||||
jsonb_group_object|1|w|utf8|2|3147776
|
||||
timediff|1|s|utf8|2|2099200
|
||||
percent_rank|1|w|utf8|0|2097152
|
||||
row_number|1|w|utf8|0|2097152
|
||||
atanh|1|s|utf8|1|2099200
|
||||
asinh|1|s|utf8|1|2099200
|
||||
acosh|1|s|utf8|1|2099200
|
||||
cos|1|s|utf8|1|2099200
|
||||
atan2|1|s|utf8|2|2099200
|
||||
string_agg|1|w|utf8|2|2097152
|
||||
last_insert_rowid|1|s|utf8|0|2097152
|
||||
sqlite_log|1|s|utf8|2|2099200
|
||||
unlikely|1|s|utf8|1|2099200
|
||||
json_error_position|1|s|utf8|1|2099200
|
||||
cosh|1|s|utf8|1|2099200
|
||||
ceil|1|s|utf8|1|2099200
|
||||
char|1|s|utf8|-1|2099200
|
||||
unixepoch|1|s|utf8|-1|2099200
|
||||
exp|1|s|utf8|1|2099200
|
||||
percentile_disc|1|w|utf8|2|0
|
||||
percentile_cont|1|w|utf8|2|0
|
||||
count|1|w|utf8|0|2097152
|
||||
count|1|w|utf8|1|2097152
|
||||
date|1|s|utf8|-1|2099200
|
||||
concat|1|s|utf8|-3|2099200
|
||||
sqlite_offset|1|s|utf8|1|2099200
|
||||
ceiling|1|s|utf8|1|2099200
|
||||
total_changes|1|s|utf8|0|2097152
|
||||
changes|1|s|utf8|0|2097152
|
||||
unistr_quote|1|s|utf8|1|2099200
|
||||
sqlite_version|1|s|utf8|0|2097152
|
||||
if|1|s|utf8|-4|2099200
|
||||
coalesce|1|s|utf8|-4|2099200
|
||||
degrees|1|s|utf8|1|2099200
|
||||
floor|1|s|utf8|1|2099200
|
||||
glob|1|s|utf8|2|2099200
|
||||
zeroblob|1|s|utf8|1|2099200
|
||||
hex|1|s|utf8|1|2099200
|
||||
iif|1|s|utf8|-4|2099200
|
||||
sqlite_source_id|1|s|utf8|0|2097152
|
||||
concat_ws|1|s|utf8|-4|2099200
|
||||
format|1|s|utf8|-1|2099200
|
||||
datetime|1|s|utf8|-1|2099200
|
||||
cume_dist|1|w|utf8|0|2097152
|
||||
ln|1|s|utf8|1|2099200
|
||||
instr|1|s|utf8|2|2099200
|
||||
json|1|s|utf8|1|2099200
|
||||
dense_rank|1|w|utf8|0|2097152
|
||||
log|1|s|utf8|1|2099200
|
||||
log|1|s|utf8|2|2099200
|
||||
ifnull|1|s|utf8|2|2099200
|
||||
jsonb|1|s|utf8|1|2099200
|
||||
current_date|1|s|utf8|0|2097152
|
||||
current_time|1|s|utf8|0|2097152
|
||||
lag|1|w|utf8|1|2097152
|
||||
lag|1|w|utf8|3|2097152
|
||||
lag|1|w|utf8|2|2097152
|
||||
mod|1|s|utf8|2|2099200
|
||||
log2|1|s|utf8|1|2099200
|
||||
like|1|s|utf8|2|2099200
|
||||
like|1|s|utf8|3|2099200
|
||||
max|1|s|utf8|-3|2099200
|
||||
max|1|w|utf8|1|2097152
|
||||
min|1|s|utf8|-3|2099200
|
||||
min|1|w|utf8|1|2097152
|
||||
lead|1|w|utf8|1|2097152
|
||||
lead|1|w|utf8|3|2097152
|
||||
lead|1|w|utf8|2|2097152
|
||||
log10|1|s|utf8|1|2099200
|
||||
lower|1|s|utf8|1|2099200
|
||||
ltrim|1|s|utf8|1|2099200
|
||||
ltrim|1|s|utf8|2|2099200
|
||||
first_value|1|w|utf8|1|2097152
|
||||
pi|1|s|utf8|0|2099200
|
||||
length|1|s|utf8|1|2099200
|
||||
likely|1|s|utf8|1|2099200
|
||||
json_set|1|s|utf8|-1|3147776
|
||||
usleep|0|s|utf8|1|0
|
||||
shell_putsnl|0|s|utf8|1|0
|
||||
dtostr|0|s|utf8|2|0
|
||||
dtostr|0|s|utf8|1|0
|
||||
sqlar_uncompress|0|s|utf8|2|2097152
|
||||
sqlar_compress|0|s|utf8|1|2097152
|
||||
zipfile|0|a|utf8|-1|0
|
||||
lsmode|0|s|utf8|1|0
|
||||
writefile|0|s|utf8|-1|524288
|
||||
readfile|0|s|utf8|1|524288
|
||||
ieee754_from_blob|0|s|utf8|1|2097152
|
||||
offsets|0|s|utf8|1|0
|
||||
decimal_cmp|0|s|utf8|2|2099200
|
||||
fts3_tokenizer|0|s|utf8|2|524288
|
||||
fts3_tokenizer|0|s|utf8|1|524288
|
||||
decimal|0|s|utf8|1|2099200
|
||||
sha1b|0|s|utf8|1|2099200
|
||||
zipfile_cds|0|s|utf8|-1|0
|
||||
decimal_mul|0|s|utf8|2|2099200
|
||||
matchinfo|0|s|utf8|2|0
|
||||
matchinfo|0|s|utf8|1|0
|
||||
ieee754_inc|0|s|utf8|2|2097152
|
||||
optimize|0|s|utf8|1|0
|
||||
rtreedepth|0|s|utf8|1|0
|
||||
ieee754_mantissa|0|s|utf8|1|2097152
|
||||
rtreenode|0|s|utf8|2|0
|
||||
shell_add_schema|0|s|utf8|3|0
|
||||
strtod|0|s|utf8|1|0
|
||||
rtreecheck|0|s|utf8|-1|0
|
||||
shell_module_schema|0|s|utf8|1|0
|
||||
match|0|s|utf8|2|0
|
||||
sha1|0|s|utf8|1|2099200
|
||||
sha1_query|0|s|utf8|1|524288
|
||||
sha3|0|s|utf8|2|2099200
|
||||
sha3|0|s|utf8|1|2099200
|
||||
sha3_agg|0|a|utf8|2|2099200
|
||||
sha3_agg|0|a|utf8|1|2099200
|
||||
ieee754_exponent|0|s|utf8|1|2097152
|
||||
ieee754|0|s|utf8|2|2097152
|
||||
ieee754|0|s|utf8|1|2097152
|
||||
decimal_sub|0|s|utf8|2|2099200
|
||||
regexpi|0|s|utf8|2|2099200
|
||||
sha3_query|0|s|utf8|2|524288
|
||||
sha3_query|0|s|utf8|1|524288
|
||||
stmtrand|0|s|utf8|0|0
|
||||
stmtrand|0|s|utf8|1|0
|
||||
decimal_exp|0|s|utf8|1|2099200
|
||||
ieee754_to_blob|0|s|utf8|1|2097152
|
||||
base85|0|s|utf8|1|2623488
|
||||
decimal_add|0|s|utf8|2|2099200
|
||||
edit|0|s|utf8|2|0
|
||||
edit|0|s|utf8|1|0
|
||||
decimal_pow2|0|s|utf8|1|2099200
|
||||
base64|0|s|utf8|1|2623488
|
||||
snippet|0|s|utf8|-1|0
|
||||
decimal_sum|0|w|utf8|1|2099200
|
||||
regexp|0|s|utf8|2|2099200
|
||||
0
|
||||
/* No STAT tables available */
|
||||
0
|
||||
1
|
||||
```
|
||||
|
||||
## Flag
|
||||
|
||||
```
|
||||
|
||||
```
|
||||
|
||||
@@ -0,0 +1,181 @@
|
||||
## 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 DEFERRED;
|
||||
.dump
|
||||
SAVEPOINT sp688;
|
||||
-- json_array({v})
|
||||
|
||||
.nullvalue x'8bfa8aa1306e3bcaaf92966e8ce19b'NULL2327d3-log2(soundex(5))36b-41de-a764-a6301986aeab
|
||||
PRAGMA defer_foreign_keys;
|
||||
CREATE TABLE "T" (
|
||||
a DOUB,
|
||||
b TEXT,
|
||||
c REAL
|
||||
);
|
||||
INSERT INTO T VALUES (pow(atan(1), 1),'a',3.14), (1,'b',-7.75), (2,'c',-9e999);
|
||||
SELECT b,a,c,
|
||||
RANK() OVER (PARTITION BY a ORDER BY c DESC) AS d FROM T;
|
||||
ATTACH DATABASE ':memory:' AS aux77;
|
||||
ATTACH DATABASE ':memory:' AS aux50;
|
||||
PRAGMA module_list;
|
||||
.exit -(jsonb_each(json_each(x'4452f1f3ff4b'), '$.arr') + CAST(1 AS FLOAT))
|
||||
PRAGMA table_info(users);
|
||||
PRAGMA short_column_names = ON;
|
||||
PRAGMA user_version = '''''';
|
||||
.print https://yewtu.be/watch?v=dQw4w9WgXcQ
|
||||
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 T AS a INNER JOIN T AS b ON a.rowid = b.rowid;
|
||||
DELETE FROM T WHERE NOT A > (SELECT AVG(A) FROM T);
|
||||
|
||||
UPDATE T SET A = json_object('k', A) WHERE A BETWEEN 0 AND 100;
|
||||
ALTER TABLE T RENAME COLUMN A TO A_r6693;
|
||||
DELETE FROM T WHERE 0 RETURNING *;
|
||||
SELECT COUNT(*) FROM T;
|
||||
VACUUM main;
|
||||
WITH RECURSIVE cnt(x) AS (VALUES(1) UNION ALL SELECT x+1 FROM cnt WHERE x<0) SELECT * FROM cnt;
|
||||
WITH RECURSIVE self(x) AS (SELECT 1 UNION ALL SELECT x FROM self) SELECT * FROM self LIMIT 5;
|
||||
INSERT INTO T DEFAULT VALUES;
|
||||
REINDEX T;
|
||||
SELECT GROUP_CONCAT(B, '|') FROM T;
|
||||
DELETE FROM T WHERE 0 RETURNING *;
|
||||
SELECT * FROM T;
|
||||
SELECT * FROM T WHERE B IN (SELECT B FROM T WHERE B LIKE "%%");
|
||||
ALTER TABLE T RENAME TO T_r8238;
|
||||
|
||||
SELECT COUNT(*) FROM T;
|
||||
PRAGMA trusted_schema = NO;
|
||||
ALTER TABLE T DROP COLUMN B;
|
||||
SELECT * FROM T AS a LEFT JOIN T AS b ON a.rowid = b.rowid;
|
||||
CREATE TABLE T (
|
||||
a NATIVE CHARACTER(70)NVARCHAR(100),
|
||||
b TEXT
|
||||
);
|
||||
INSERT INTO T VALUES ('a','2020-01-01'), ('b','2026-01-01');
|
||||
SELECT a,
|
||||
CAST(
|
||||
(julianday('now')-julianday(b))/365.25
|
||||
AS INTEGER
|
||||
) AS c
|
||||
FROM T;
|
||||
DETACH DATABASE aux50;
|
||||
DETACH DATABASE aux77;
|
||||
SELECT * FROM T CROSS JOIN T;
|
||||
INSERT INTO T DEFAULT VALUES;
|
||||
INSERT INTO T VALUES (NULL, NULL);
|
||||
CREATE TEMPORARY VIEW IF NOT EXISTS v_T_9728 AS SELECT b FROM T;
|
||||
CREATE TABLE T (
|
||||
a TEXT,
|
||||
b TEXT
|
||||
);
|
||||
INSERT INTO T VALUES ('a','2020-01-01'), ('b','2026-01-01');
|
||||
SELECT a,
|
||||
CAST(
|
||||
(julianday('now')-julianday(b))/365.25
|
||||
AS INTEGER
|
||||
) AS c
|
||||
FROM T;
|
||||
CREATE VIEW IF NOT EXISTS v_T_1441 AS SELECT b FROM T;
|
||||
ANALYZE T;
|
||||
ALTER TABLE T DROP COLUMN b;
|
||||
|
||||
SELECT COUNT(*) FROM T;
|
||||
SELECT * FROM T WHERE /**/ b > (SELECT COUNT(*) FROM T);
|
||||
INSERT INTO T DEFAULT VALUES;
|
||||
SELECT * FROM T WHERE EXISTS (SELECT 1 FROM T t2 WHERE t2.a = T.a);
|
||||
SELECT * FROM T WHERE a <= ANY (SELECT a FROM T);
|
||||
SELECT * FROM T WHERE a <= ALL (SELECT a FROM T);
|
||||
DROP TRIGGER IF EXISTS T;
|
||||
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;
|
||||
CREATE INDEX IF NOT EXISTS idx_T_6057 ON T((b + 1));
|
||||
INSERT INTO T DEFAULT VALUES;
|
||||
SELECT LAG(a, 1) OVER (PARTITION BY a ORDER BY a RANGE BETWEEN 1 PRECEDING AND 1 FOLLOWING) FROM T;
|
||||
RELEASE sp688;
|
||||
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 T DEFAULT VALUES;
|
||||
SELECT * FROM T WHERE b < (SELECT AVG(b) FROM T);
|
||||
SELECT MIN(b) FROM T;
|
||||
ALTER TABLE T RENAME TO T_r8142;
|
||||
SELECT STRING_AGG(a) FROM T;
|
||||
|
||||
COMMIT TRANSACTION;
|
||||
INSERT OR IGNORE INTO T VALUES ('', NULL);
|
||||
```
|
||||
|
||||
## Actual output
|
||||
|
||||
```sql
|
||||
PRAGMA foreign_keys=OFF;
|
||||
BEGIN TRANSACTION;
|
||||
COMMIT;
|
||||
0
|
||||
a|0.785398163397448|3.14|1
|
||||
b|1.0|-7.75|1
|
||||
c|2.0|-Inf|1
|
||||
sqlite_dbdata
|
||||
generate_series
|
||||
completion
|
||||
fsdir
|
||||
tables_used
|
||||
sqlite_stmt
|
||||
json_tree
|
||||
fts4aux
|
||||
fts3
|
||||
fts4
|
||||
sqlite_dbptr
|
||||
fts3tokenize
|
||||
bytecode
|
||||
rtree_i32
|
||||
sqlite_dbpage
|
||||
rtree
|
||||
dbstat
|
||||
json_each
|
||||
```
|
||||
|
||||
## Expectation
|
||||
|
||||
```sql
|
||||
PRAGMA foreign_keys=OFF;
|
||||
BEGIN TRANSACTION;
|
||||
COMMIT;
|
||||
0
|
||||
a|0.785398163397448|3.14|1
|
||||
b|1.0|-7.75|1
|
||||
c|2.0|-Inf|1
|
||||
fsdir
|
||||
generate_series
|
||||
bytecode
|
||||
dbstat
|
||||
tables_used
|
||||
sqlite_stmt
|
||||
sqlite_dbpage
|
||||
rtree_i32
|
||||
fts4aux
|
||||
fts3
|
||||
zipfile
|
||||
fts4
|
||||
completion
|
||||
rtree
|
||||
fts3tokenize
|
||||
```
|
||||
|
||||
## Flag
|
||||
|
||||
```
|
||||
|
||||
```
|
||||
|
||||
@@ -0,0 +1,74 @@
|
||||
## 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
|
||||
ATTACH DATABASE ':memory:' AS aux34;
|
||||
CREATE TEMPORARY TABLE t0(x, y, z);
|
||||
CREATE TABLE t1(a INTEGER PRIMARY KEY, b TEXT, c INT, d INT);
|
||||
INSERT INTO t1 VALUES (CAST(unicode('你好') AS MEDIUMINT), '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
|
||||
SELECT -99999999999999999999999999999999999999999999999999;
|
||||
SELECT * FROM sqlite_temp_master WHERE sql GLOB '000[]***';
|
||||
DROP TABLE t0;
|
||||
REINDEX;
|
||||
DELETE FROM t0 WHERE 1 RETURNING *;
|
||||
UPDATE t0 SET z = '' WHERE z BETWEEN 0 AND 100;
|
||||
SELECT * FROM t0 AS a FULL OUTER JOIN t1 AS b ON a.rowid = b.rowid;
|
||||
SELECT * FROM t1 WHERE b NOT IN (SELECT b FROM t1);
|
||||
DETACH DATABASE aux34;
|
||||
SELECT * FROM t1 AS a FULL OUTER JOIN t0 AS b ON a.rowid = b.rowid;
|
||||
ALTER TABLE t0 RENAME TO t0_r5353;
|
||||
ALTER TABLE t1 RENAME TO t1_r3388;
|
||||
PRAGMA short_column_names = YES;
|
||||
INSERT INTO t1 VALUES (NULL, NULL, NULL, NULL);
|
||||
|
||||
SELECT COUNT(*) FROM t1;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_t0_3641 AFTER UPDATE ON t0 BEGIN SELECT RAISE(IGNORE); END;
|
||||
```
|
||||
|
||||
## Actual output
|
||||
|
||||
```sql
|
||||
CREATE TABLE "t2"("b","c","_ROWID_",PRIMARY KEY("b","c","_ROWID_"))WITHOUT ROWID;
|
||||
WARNING: writing to an imposter table will corrupt the "t1bc" index!
|
||||
Braun|30|3
|
||||
Wernher|10|63
|
||||
von|20|2
|
||||
Braun|30
|
||||
Wernher|10
|
||||
von|20
|
||||
```
|
||||
|
||||
## Expectation
|
||||
|
||||
```sql
|
||||
CREATE TABLE "t2"("b","c","_ROWID_",PRIMARY KEY("b","c","_ROWID_"))WITHOUT ROWID;
|
||||
Braun|30|3
|
||||
Wernher|10|63
|
||||
von|20|2
|
||||
Braun|30
|
||||
Wernher|10
|
||||
von|20
|
||||
```
|
||||
|
||||
## Flag
|
||||
|
||||
```
|
||||
|
||||
```
|
||||
|
||||
@@ -0,0 +1,115 @@
|
||||
## 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 TABLE T (
|
||||
A VARCHAR(15) PRIMARY KEY,
|
||||
B VARCHAR(30) NOT NULL,
|
||||
C BIGINT UNIQUE
|
||||
);
|
||||
INSERT INTO T VALUES ('a', 'x', -9223372036854775808);
|
||||
INSERT INTO T VALUES ('b', 'y', -1000000);
|
||||
INSERT INTO T VALUES ('c', 'y', 0);
|
||||
INSERT INTO T VALUES ('d', 'y', 42);
|
||||
INSERT INTO T VALUES ('e', 'x', 9223372036854775807);
|
||||
INSERT INTO T VALUES ('f', 'z', 2147483648);
|
||||
SELECT * FROM T WHERE C <> 0 ORDER BY C DESC;
|
||||
ATTACH DATABASE ':memory:' AS aux2;
|
||||
CREATE TABLE t1(a INT 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 temp_store = '0';
|
||||
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;
|
||||
PRAGMA empty_result_callbacks = FALSE;
|
||||
PRAGMA default_cache_size = -1000;
|
||||
.output
|
||||
CREATE TABLE t1(a INTEGER, b TEXT, c BLOB, CHECK( coalesce(b,c) ));
|
||||
INSERT INTO t1 VALUES(1, 2, 3);
|
||||
ALTER TABLE t1 RENAME COLUMN b TO d;
|
||||
CREATE TABLE t3(a, b, c, d, e, f, g, h, i, j, k, l, m, FOREIGN KEY (b, c, d, e, f, g, h, i, j, k, l, m) REFERENCES `t4`);
|
||||
CREATE TABLE t4(x, y, z);
|
||||
INSERT INTO t4 VALUES(3, 2, 1);
|
||||
SELECT STRING_AGG(c) FROM t1;
|
||||
ALTER TABLE t4 RENAME TO t4_r7558;
|
||||
ALTER TABLE t1 ADD COLUMN extra_4840 INT NOT NULL DEFAULT 0;
|
||||
INSERT INTO t3 VALUES (NULL, 'x', 1, 1, 1, 'x', 'x', 'x', NULL, 'x', 1, 'x', 'x') ON CONFLICT(a) DO UPDATE SET a = excluded.a, b = excluded.b, c = excluded.c;
|
||||
DETACH DATABASE aux2;
|
||||
CREATE TABLE T (
|
||||
a INTEGER,
|
||||
b TEXT,
|
||||
c REAL
|
||||
);
|
||||
INSERT INTO T VALUES (1,'a',3.14), (1,'b',-7.75), (2,'c',-9e999);
|
||||
SELECT b,a,c,
|
||||
RANK() OVER (PARTITION BY a ORDER BY c DESC) AS d FROM T;
|
||||
UPDATE T SET c = NULL WHERE c IS NOT NULL;
|
||||
ALTER TABLE t1 DROP COLUMN a;
|
||||
PRAGMA cache_size = -2000;
|
||||
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 AND x < 100), COUNT(*) FILTER (WHERE typeof(x) = "text") FROM t4;
|
||||
INSERT INTO t1 DEFAULT VALUES;
|
||||
INSERT INTO t1 DEFAULT VALUES;
|
||||
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 AND x < 100), COUNT(*) FILTER (WHERE typeof(x) = "text") FROM t4;
|
||||
```
|
||||
|
||||
## Actual output
|
||||
|
||||
```sql
|
||||
e|x|9223372036854775807
|
||||
f|z|2147483648
|
||||
d|y|42
|
||||
b|y|-1000000
|
||||
a|x|-9223372036854775808
|
||||
CREATE TABLE "t2"("b","c","_ROWID_",PRIMARY KEY("b","c","_ROWID_"))WITHOUT ROWID;
|
||||
WARNING: writing to an imposter table will corrupt the "t1bc" index!
|
||||
Braun|30|3
|
||||
Wernher|10|1
|
||||
von|20|2
|
||||
Braun|30
|
||||
Wernher|10
|
||||
von|20
|
||||
```
|
||||
|
||||
## Expectation
|
||||
|
||||
```sql
|
||||
e|x|9223372036854775807
|
||||
f|z|2147483648
|
||||
d|y|42
|
||||
b|y|-1000000
|
||||
a|x|-9223372036854775808
|
||||
CREATE TABLE "t2"("b","c","_ROWID_",PRIMARY KEY("b","c","_ROWID_"))WITHOUT ROWID;
|
||||
Braun|30|3
|
||||
Wernher|10|1
|
||||
von|20|2
|
||||
Braun|30
|
||||
Wernher|10
|
||||
von|20
|
||||
```
|
||||
|
||||
## Flag
|
||||
|
||||
```
|
||||
|
||||
```
|
||||
|
||||
@@ -0,0 +1,60 @@
|
||||
## 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 encoding = 'UTF-8';
|
||||
ATTACH DATABASE ':memory:' AS aux44;
|
||||
CREATE TABLE T (
|
||||
a INTEGER,
|
||||
b REAL,
|
||||
c REAL
|
||||
);
|
||||
INSERT INTO T VALUES (strftime('%s', if(0, 9145485036963515638, 9145485036963515638)),1.5,10.0), (2,-2.5,20.0), (3,-9e999,30.0);
|
||||
SELECT * FROM T WHERE b < 2.0 ORDER BY b;
|
||||
DETACH DATABASE aux44;
|
||||
SELECT * FROM T WHERE EXISTS (SELECT 1 FROM T t2 WHERE t2.a = T.a);
|
||||
INSERT INTO T VALUES (NULL, NULL, NULL);
|
||||
INSERT OR ROLLBACK INTO T VALUES (NULL, NULL, '');
|
||||
WITH RECURSIVE cnt(x) AS (VALUES(1) UNION ALL SELECT x+1 FROM cnt WHERE x<21) SELECT * FROM cnt;
|
||||
```
|
||||
|
||||
## Actual output
|
||||
|
||||
```sql
|
||||
1
|
||||
2
|
||||
3
|
||||
4
|
||||
5
|
||||
6
|
||||
7
|
||||
8
|
||||
9
|
||||
10
|
||||
11
|
||||
12
|
||||
13
|
||||
14
|
||||
15
|
||||
16
|
||||
17
|
||||
18
|
||||
19
|
||||
20
|
||||
21
|
||||
```
|
||||
|
||||
## Expectation
|
||||
|
||||
```sql
|
||||
|
||||
```
|
||||
|
||||
## Flag
|
||||
|
||||
```
|
||||
|
||||
```
|
||||
|
||||
@@ -0,0 +1,99 @@
|
||||
## 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 journal_mode;
|
||||
BEGIN DEFERRED TRANSACTION;
|
||||
CREATE TABLE t1(a INTEGER PRIMARY KEY, b TEXT, c INT, d INT);
|
||||
INSERT INTO t1 VALUES (asin(changes()), 'Wernher', length(instr(NULL, substr(if('', max(10, 1, 2, 3), 10), 1))), 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
|
||||
.dbconfig fk on
|
||||
.progress concat_ws(NULL, 'a', 'b')
|
||||
ATTACH DATABASE '' || (':memory:') AS aux92;
|
||||
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;
|
||||
|
||||
SELECT COUNT(*) FROM T;
|
||||
VACUUM main;
|
||||
DETACH DATABASE aux92;
|
||||
ANALYZE T;
|
||||
ANALYZE T;
|
||||
DROP TABLE IF EXISTS T;
|
||||
|
||||
SELECT COUNT(*) FROM T;
|
||||
DROP VIEW IF EXISTS T;
|
||||
INSERT INTO T SELECT * FROM T;
|
||||
PRAGMA cell_size_check = OFF;
|
||||
INSERT INTO T VALUES (NULL, 1, 'x') ON CONFLICT(A) DO UPDATE SET A = excluded.A, B = excluded.B, C = excluded.C;
|
||||
DROP TRIGGER IF EXISTS T;
|
||||
ALTER TABLE T ADD COLUMN extra_8822 VARCHAR(255) DEFAULT CURRENT_TIMESTAMP;
|
||||
SELECT LEAD(B) OVER (ORDER BY B ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) FROM T;
|
||||
INSERT INTO T VALUES (NULL, NULL, NULL);
|
||||
ALTER TABLE T RENAME TO T_r4159;
|
||||
SELECT COUNT(*) FILTER (WHERE d IS NOT NULL), SUM(rowid) FILTER (WHERE d > 0), COUNT(*) FILTER (WHERE 1=0), COUNT(*) FILTER (WHERE 1=1), COUNT(*) FILTER (WHERE NULL), AVG(d) FILTER (WHERE d > 0 AND d < 100), COUNT(*) FILTER (WHERE typeof(d) = "text") FROM t1;
|
||||
COMMIT TRANSACTION;
|
||||
UPDATE t1 SET c = c + 1 WHERE c BETWEEN 0 AND 100;
|
||||
ALTER TABLE t1 ADD COLUMN extra_369 CLOB COLLATE RTRIM;
|
||||
ALTER TABLE t1 RENAME TO t1_r8858;
|
||||
SELECT * FROM t1 WHERE c IN (SELECT c FROM t1 WHERE 1/0 = 0);SELECT * FROM t1 WHERE c IN (SELECT c FROM t1 LIMIT -1);
|
||||
ALTER TABLE T RENAME TO T_r1073;
|
||||
INSERT OR ROLLBACK INTO T VALUES ('x', 'x', NULL);
|
||||
SELECT SUM(d) OVER (ORDER BY d ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING EXCLUDE GROUP) FROM t1;
|
||||
|
||||
SELECT COUNT(*) FROM T;
|
||||
ALTER TABLE T ADD COLUMN extra_6831 NCHAR(55) UNIQUE;
|
||||
SELECT MAX(B) FROM T;
|
||||
VACUUM;
|
||||
ALTER TABLE T RENAME COLUMN B TO B_r5193;
|
||||
ANALYZE;
|
||||
```
|
||||
|
||||
## Actual output
|
||||
|
||||
```sql
|
||||
[{"journal_mode":"memory"}]
|
||||
CREATE TABLE "t2"("b","c","_ROWID_",PRIMARY KEY("b","c","_ROWID_"))WITHOUT ROWID;
|
||||
WARNING: writing to an imposter table will corrupt the "t1bc" index!
|
||||
[{"b":"Braun","c":30,"_ROWID_":3},
|
||||
{"b":"von","c":20,"_ROWID_":2}]
|
||||
[{"b":"Braun","c":30},
|
||||
{"b":"von","c":20}]
|
||||
```
|
||||
|
||||
## Expectation
|
||||
|
||||
```sql
|
||||
|
||||
```
|
||||
|
||||
## Flag
|
||||
|
||||
```
|
||||
-json
|
||||
```
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,626 @@
|
||||
## 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 t0 USING fts3("x", "y", "z");
|
||||
DROP TABLE t0;
|
||||
SAVEPOINT sp7292;
|
||||
BEGIN IMMEDIATE TRANSACTION;
|
||||
.print
|
||||
BEGIN DEFERRED TRANSACTION;
|
||||
PRAGMA synchronous;
|
||||
ATTACH DATABASE ':memory:' AS aux73;
|
||||
SAVEPOINT sp987;
|
||||
ATTACH DATABASE ':memory:' AS aux76;
|
||||
CREATE TABLE t1(a BIGINT PRIMARY KEY, b TEXT, c INT, d INT);
|
||||
INSERT INTO t1 VALUES ((likelihood(length('hello'), -(-('('))) + 2147483646), '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
|
||||
CREATE TABLE T1 (
|
||||
a INTEGER,
|
||||
b REAL
|
||||
);
|
||||
CREATE TABLE T2 (
|
||||
a INTEGER,
|
||||
b REAL
|
||||
);
|
||||
INSERT INTO T1 VALUES (1,1.0);
|
||||
INSERT INTO T2 VALUES (1,-1.0),(2,9e999);
|
||||
INSERT OR REPLACE INTO T1
|
||||
SELECT * FROM T2;
|
||||
SELECT * FROM T1;
|
||||
SELECT * FROM T2;
|
||||
SELECT * FROM T2 AS a RIGHT JOIN T2 AS b ON a.rowid = b.rowid;
|
||||
DETACH DATABASE aux76;
|
||||
INSERT INTO T2 DEFAULT VALUES;
|
||||
ALTER TABLE T2 DROP COLUMN a;
|
||||
VACUUM main;
|
||||
|
||||
ROLLBACK TRANSACTION TO SAVEPOINT sp987;
|
||||
RELEASE SAVEPOINT sp987;
|
||||
SELECT GROUP_CONCAT(a, '.') OVER (PARTITION BY a ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) FROM T2;
|
||||
SELECT * FROM T1;
|
||||
CREATE VIEW IF NOT EXISTS v_T1_5205 AS SELECT a FROM T1;
|
||||
DETACH DATABASE aux73;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_T2_2706 AFTER UPDATE OF b ON T2 BEGIN SELECT RAISE(IGNORE); END;
|
||||
ALTER TABLE T2 DROP COLUMN b;
|
||||
ANALYZE;
|
||||
END TRANSACTION;
|
||||
DELETE FROM t1 WHERE d > (SELECT AVG(d) FROM t1);
|
||||
|
||||
SELECT COUNT(*) FROM t1;
|
||||
ALTER TABLE t1 RENAME TO t1_r9370;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_t1_5404 BEFORE UPDATE OF a ON t1 FOR EACH ROW BEGIN INSERT INTO t1(a) VALUES (NULL); END;
|
||||
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 T2;
|
||||
ANALYZE;
|
||||
SELECT TOTAL(b) FROM T1;
|
||||
REINDEX;
|
||||
PRAGMA journal_mode = 'PERSIST';
|
||||
ANALYZE;
|
||||
|
||||
ANALYZE T2;
|
||||
WITH cte AS (SELECT a, COUNT(*) FROM T2 GROUP BY a) SELECT * FROM cte;
|
||||
ANALYZE;
|
||||
VACUUM;
|
||||
COMMIT;
|
||||
INSERT INTO t1 SELECT * FROM t1;
|
||||
SELECT * FROM T2 WHERE a > ANY (SELECT a FROM T2);
|
||||
ROLLBACK TRANSACTION TO SAVEPOINT sp7292;
|
||||
RELEASE SAVEPOINT sp7292;
|
||||
REINDEX;
|
||||
creATE VIRTUAL TABLE t0 USING fts3("x", "y", "z");
|
||||
DROP TABLE t0;
|
||||
SAVEPOINT sp7292;
|
||||
BEGIN IMMEDIATE TRANSACTION;
|
||||
.print
|
||||
BEGIN DEFERRED TRANSACTION;
|
||||
PRAGMA synchronous;
|
||||
ATTACH DATABASE ':memory:' AS aux73;
|
||||
SAVEPOINT sp987;
|
||||
ATTACH DATABASE ':memory:' AS aux76;
|
||||
CREATE TABLE t1(a BIGINT PRIMARY KEY, b TEXT, c INT, d INT);
|
||||
INSERT INTO t1 VALUES ((likelihood(length('hello'), -(-(9223372036854775807))) + 0.0), '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
|
||||
CREATE TABLE T1 (
|
||||
a INTEGER,
|
||||
b REAL
|
||||
);
|
||||
CREATE TABLE T2 (
|
||||
a INTEGER,
|
||||
b REAL
|
||||
);
|
||||
INSERT INTO T1 VALUES (1,1.0);
|
||||
INSERT INTO T2 VALUES (1,-1.0),(2,9e999);
|
||||
INSERT OR REPLACE INTO T1
|
||||
SELECT * FROM T2;
|
||||
SELECT * FROM T1;
|
||||
SELECT * FROM T2;
|
||||
SELECT * FROM T2 AS a RIGHT JOIN T2 AS b ON a.rowid = b.rowid;
|
||||
DETACH DATABASE aux76;
|
||||
INSERT INTO T2 DEFAULT VALUES;
|
||||
ALTER TABLE T2 DROP COLUMN a;
|
||||
VACUUM main;
|
||||
|
||||
ROLLBACK TRANSACTION TO SAVEPOINT sp987;
|
||||
RELEASE SAVEPOINT sp987;
|
||||
SELECT GROUP_CONCAT(a, '.') OVER (PARTITION BY a ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) FROM T2;
|
||||
SELECT * FROM T1;
|
||||
CREATE VIEW IF NOT EXISTS v_T1_5205 AS SELECT a FROM T1;
|
||||
DETACH DATABASE aux73;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_T2_2706 AFTER UPDATE OF b ON T2 BEGIN SELECT RAISE(IGNORE); END;
|
||||
ALTER TABLE T2 DROP COLUMN b;
|
||||
ANALYZE;
|
||||
END TRANSACTION;
|
||||
DELETE FROM t1 WHERE d > (SELECT AVG(d) FROM t1);
|
||||
|
||||
SELECT COUNT(*) FROM t1;
|
||||
ALTER TABLE t1 RENAME TO t1_r9370;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_t1_5404 BEFORE UPDATE OF a ON t1 FOR EACH ROW BEGIN INSERT INTO t1(a) VALUES (NULL); END;
|
||||
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 T2;
|
||||
ANALYZE;
|
||||
SELECT TOTAL(b) FROM T1;
|
||||
REINDEX;
|
||||
PRAGMA journal_mode = 'PERSIST';
|
||||
ANALYZE;
|
||||
|
||||
ANALYZE T2;
|
||||
WITH cte AS (SELECT a, COUNT(*) FROM T2 GROUP BY a) SELECT * FROM cte;
|
||||
ANALYZE;
|
||||
VACUUM;
|
||||
COMMIT;
|
||||
INSERT INTO t1 SELECT * FROM t1;
|
||||
SELECT * FROM T2 WHERE a > ANY (SELECT a FROM T2);
|
||||
ROLLBACK TRANSACTION TO SAVEPOINT sp7292;
|
||||
RELEASE SAVEPOINT sp7292;
|
||||
REINDEX;
|
||||
creATE VIRTUAL TABLE t0 USING fts3("x", "y", "z");
|
||||
DROP TABLE t0;
|
||||
SAVEPOINT sp7292;
|
||||
BEGIN IMMEDIATE TRANSACTION;
|
||||
.print
|
||||
BEGIN DEFERRED TRANSACTION;
|
||||
PRAGMA synchronous;
|
||||
ATTACH DATABASE ':memory:' AS aux73;
|
||||
SAVEPOINT sp987;
|
||||
ATTACH DATABASE ':memory:' AS aux76;
|
||||
CREATE TABLE t1(a BIGINT PRIMARY KEY, b TEXT, c INT, d INT);
|
||||
INSERT INTO t1 VALUES ((likelihood(length('hello'), -(-(9223372036854775807))) + 0.0), '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
|
||||
CREATE TABLE T1 (
|
||||
a INTEGER,
|
||||
b REAL
|
||||
);
|
||||
CREATE TABLE T2 (
|
||||
a INTEGER,
|
||||
b REAL
|
||||
);
|
||||
INSERT INTO T1 VALUES (1,1.0);
|
||||
INSERT INTO T2 VALUES (1,-1.0),(2,9e999);
|
||||
INSERT OR REPLACE INTO T1
|
||||
SELECT * FROM T2;
|
||||
SELECT * FROM T1;
|
||||
SELECT * FROM T2;
|
||||
SELECT * FROM T2 AS a RIGHT JOIN T2 AS b ON a.rowid = b.rowid;
|
||||
DETACH DATABASE aux76;
|
||||
INSERT INTO T2 DEFAULT VALUES;
|
||||
ALTER TABLE T2 DROP COLUMN a;
|
||||
VACUUM main;
|
||||
|
||||
ROLLBACK TRANSACTION TO SAVEPOINT sp987;
|
||||
RELEASE SAVEPOINT sp987;
|
||||
SELECT GROUP_CONCAT(a, '.') OVER (PARTITION BY a ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) FROM T2;
|
||||
SELECT * FROM T1;
|
||||
CREATE VIEW IF NOT EXISTS v_T1_5205 AS SELECT a FROM T1;
|
||||
DETACH DATABASE aux73;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_T2_2706 AFTER UPDATE OF b ON T2 BEGIN SELECT RAISE(IGNORE); END;
|
||||
ALTER TABLE T2 DROP COLUMN b;
|
||||
ANALYZE;
|
||||
END TRANSACTION;
|
||||
DELETE FROM t1 WHERE d > (SELECT AVG(d) FROM t1);
|
||||
|
||||
SELECT COUNT(*) FROM t1;
|
||||
ALTER TABLE t1 RENAME TO t1_r9370;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_t1_5404 BEFORE UPDATE OF a ON t1 FOR EACH ROW BEGIN INSERT INTO t1(a) VALUES (NULL); END;
|
||||
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 T2;
|
||||
ANALYZE;
|
||||
SELECT TOTAL(b) FROM T1;
|
||||
REINDEX;
|
||||
PRAGMA journal_mode = 'PERSIST';
|
||||
ANALYZE;
|
||||
|
||||
ANALYZE T2;
|
||||
WITH cte AS (SELECT a, COUNT(*) FROM T2 GROUP BY a) SELECT * FROM cte;
|
||||
ANALYZE;
|
||||
VACUUM;
|
||||
COMMIT;
|
||||
INSERT INTO t1 SELECT * FROM t1;
|
||||
SELECT * FROM T2 WHERE a > ANY (SELECT a FROM T2);
|
||||
ROLLBACK TRANSACTION TO SAVEPOINT sp7292;
|
||||
RELEASE SAVEPOINT sp7292;
|
||||
REINDEX;
|
||||
creATE VIRTUAL TABLE t0 USING fts3("x", "y", "z");
|
||||
DROP TABLE t0;
|
||||
SAVEPOINT sp7292;
|
||||
BEGIN IMMEDIATE TRANSACTION;
|
||||
.print
|
||||
BEGIN DEFERRED TRANSACTION;
|
||||
PRAGMA synchronous;
|
||||
ATTACH DATABASE ':memory:' AS aux73;
|
||||
SAVEPOINT sp987;
|
||||
ATTACH DATABASE ':memory:' AS aux76;
|
||||
CREATE TABLE t1(a BIGINT PRIMARY KEY, b TEXT, c INT, d INT);
|
||||
INSERT INTO t1 VALUES ((likelihood(length('hello'), -(-(9223372036854775807))) + 0.0), '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
|
||||
CREATE TABLE T1 (
|
||||
a INTEGER,
|
||||
b REAL
|
||||
);
|
||||
CREATE TABLE T2 (
|
||||
a INTEGER,
|
||||
b REAL
|
||||
);
|
||||
INSERT INTO T1 VALUES (1,1.0);
|
||||
INSERT INTO T2 VALUES (1,-1.0),(2,9e999);
|
||||
INSERT OR REPLACE INTO T1
|
||||
SELECT * FROM T2;
|
||||
SELECT * FROM T1;
|
||||
SELECT * FROM T2;
|
||||
SELECT * FROM T2 AS a RIGHT JOIN T2 AS b ON a.rowid = b.rowid;
|
||||
DETACH DATABASE aux76;
|
||||
INSERT INTO T2 DEFAULT VALUES;
|
||||
ALTER TABLE T2 DROP COLUMN a;
|
||||
VACUUM main;
|
||||
|
||||
ROLLBACK TRANSACTION TO SAVEPOINT sp987;
|
||||
RELEASE SAVEPOINT sp987;
|
||||
SELECT GROUP_CONCAT(a, '.') OVER (PARTITION BY a ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) FROM T2;
|
||||
SELECT * FROM T1;
|
||||
CREATE VIEW IF NOT EXISTS v_T1_5205 AS SELECT a FROM T1;
|
||||
DETACH DATABASE aux73;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_T2_2706 AFTER UPDATE OF b ON T2 BEGIN SELECT RAISE(IGNORE); END;
|
||||
ALTER TABLE T2 DROP COLUMN b;
|
||||
ANALYZE;
|
||||
END TRANSACTION;
|
||||
DELETE FROM t1 WHERE d > (SELECT AVG(d) FROM t1);
|
||||
|
||||
SELECT COUNT(*) FROM t1;
|
||||
ALTER TABLE t1 RENAME TO t1_r9370;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_t1_5404 BEFORE UPDATE OF a ON t1 FOR EACH ROW BEGIN INSERT INTO t1(a) VALUES (NULL); END;
|
||||
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 T2;
|
||||
ANALYZE;
|
||||
SELECT TOTAL(b) FROM T1;
|
||||
REINDEX;
|
||||
PRAGMA journal_mode = 'PERSIST';
|
||||
ANALYZE;
|
||||
|
||||
ANALYZE T2;
|
||||
WITH cte AS (SELECT a, COUNT(*) FROM T2 GROUP BY a) SELECT * FROM cte;
|
||||
ANALYZE;
|
||||
VACUUM;
|
||||
COMMIT;
|
||||
INSERT INTO t1 SELECT * FROM t1;
|
||||
SELECT * FROM T2 WHERE a > ANY (SELECT a FROM T2);
|
||||
ROLLBACK TRANSACTION TO SAVEPOINT sp7292;
|
||||
RELEASE SAVEPOINT sp7292;
|
||||
REINDEX;
|
||||
creATE VIRTUAL TABLE t0 USING fts3("x", "y", "z");
|
||||
DROP TABLE t0;
|
||||
SAVEPOINT sp7292;
|
||||
BEGIN IMMEDIATE TRANSACTION;
|
||||
.print
|
||||
BEGIN DEFERRED TRANSACTION;
|
||||
PRAGMA synchronous;
|
||||
ATTACH DATABASE ':memory:' AS aux73;
|
||||
SAVEPOINT sp987;
|
||||
ATTACH DATABASE ':memory:' AS aux76;
|
||||
CREATE TABLE t1(a BIGINT PRIMARY KEY, b TEXT, c INT, d INT);
|
||||
INSERT INTO t1 VALUES ((likelihood(length('hello'), -(-(9223372036854775807))) + 0.0), '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
|
||||
CREATE TABLE T1 (
|
||||
a INTEGER,
|
||||
b REAL
|
||||
);
|
||||
CREATE TABLE T2 (
|
||||
a INTEGER,
|
||||
b REAL
|
||||
);
|
||||
INSERT INTO T1 VALUES (1,1.0);
|
||||
INSERT INTO T2 VALUES (1,-1.0),(2,9e999);
|
||||
INSERT OR REPLACE INTO T1
|
||||
SELECT * FROM T2;
|
||||
SELECT * FROM T1;
|
||||
SELECT * FROM T2;
|
||||
SELECT * FROM T2 AS a RIGHT JOIN T2 AS b ON a.rowid = b.rowid;
|
||||
DETACH DATABASE aux76;
|
||||
INSERT INTO T2 DEFAULT VALUES;
|
||||
ALTER TABLE T2 DROP COLUMN a;
|
||||
VACUUM main;
|
||||
|
||||
ROLLBACK TRANSACTION TO SAVEPOINT sp987;
|
||||
RELEASE SAVEPOINT sp987;
|
||||
SELECT GROUP_CONCAT(a, '.') OVER (PARTITION BY a ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) FROM T2;
|
||||
SELECT * FROM T1;
|
||||
CREATE VIEW IF NOT EXISTS v_T1_5205 AS SELECT a FROM T1;
|
||||
DETACH DATABASE aux73;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_T2_2706 AFTER UPDATE OF b ON T2 BEGIN SELECT RAISE(IGNORE); END;
|
||||
ALTER TABLE T2 DROP COLUMN b;
|
||||
ANALYZE;
|
||||
END TRANSACTION;
|
||||
DELETE FROM t1 WHERE d > (SELECT AVG(d) FROM t1);
|
||||
|
||||
SELECT COUNT(*) FROM t1;
|
||||
ALTER TABLE t1 RENAME TO t1_r9370;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_t1_5404 BEFORE UPDATE OF a ON t1 FOR EACH ROW BEGIN INSERT INTO t1(a) VALUES (NULL); END;
|
||||
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 T2;
|
||||
ANALYZE;
|
||||
SELECT TOTAL(b) FROM T1;
|
||||
REINDEX;
|
||||
PRAGMA journal_mode = 'PERSIST';
|
||||
ANALYZE;
|
||||
|
||||
ANALYZE T2;
|
||||
WITH cte AS (SELECT a, COUNT(*) FROM T2 GROUP BY a) SELECT * FROM cte;
|
||||
ANALYZE;
|
||||
VACUUM;
|
||||
COMMIT;
|
||||
INSERT INTO t1 SELECT * FROM t1;
|
||||
SELECT * FROM T2 WHERE a > ANY (SELECT a FROM T2);
|
||||
ROLLBACK TRANSACTION TO SAVEPOINT sp7292;
|
||||
RELEASE SAVEPOINT sp7292;
|
||||
REINDEX;
|
||||
creATE VIRTUAL TABLE t0 USING fts3("x", "y", "z");
|
||||
DROP TABLE t0;
|
||||
SAVEPOINT sp7292;
|
||||
BEGIN IMMEDIATE TRANSACTION;
|
||||
.print
|
||||
BEGIN DEFERRED TRANSACTION;
|
||||
PRAGMA synchronous;
|
||||
ATTACH DATABASE ':memory:' AS aux73;
|
||||
SAVEPOINT sp987;
|
||||
ATTACH DATABASE ':memory:' AS aux76;
|
||||
CREATE TABLE t1(a BIGINT PRIMARY KEY, b TEXT, c INT, d INT);
|
||||
INSERT INTO t1 VALUES ((likelihood(length('hello'), -(-(9223372036854775807))) + 0.0), '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
|
||||
CREATE TABLE T1 (
|
||||
a INTEGER,
|
||||
b REAL
|
||||
);
|
||||
CREATE TABLE T2 (
|
||||
a INTEGER,
|
||||
b REAL
|
||||
);
|
||||
INSERT INTO T1 VALUES (1,1.0);
|
||||
INSERT INTO T2 VALUES (1,-1.0),(2,9e999);
|
||||
INSERT OR REPLACE INTO T1
|
||||
SELECT * FROM T2;
|
||||
SELECT * FROM T1;
|
||||
SELECT * FROM T2;
|
||||
SELECT * FROM T2 AS a RIGHT JOIN T2 AS b ON a.rowid = b.rowid;
|
||||
DETACH DATABASE aux76;
|
||||
INSERT INTO T2 DEFAULT VALUES;
|
||||
ALTER TABLE T2 DROP COLUMN a;
|
||||
VACUUM main;
|
||||
|
||||
ROLLBACK TRANSACTION TO SAVEPOINT sp987;
|
||||
RELEASE SAVEPOINT sp987;
|
||||
SELECT GROUP_CONCAT(a, '.') OVER (PARTITION BY a ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) FROM T2;
|
||||
SELECT * FROM T1;
|
||||
CREATE VIEW IF NOT EXISTS v_T1_5205 AS SELECT a FROM T1;
|
||||
DETACH DATABASE aux73;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_T2_2706 AFTER UPDATE OF b ON T2 BEGIN SELECT RAISE(IGNORE); END;
|
||||
ALTER TABLE T2 DROP COLUMN b;
|
||||
ANALYZE;
|
||||
END TRANSACTION;
|
||||
DELETE FROM t1 WHERE d > (SELECT AVG(d) FROM t1);
|
||||
|
||||
SELECT COUNT(*) FROM t1;
|
||||
ALTER TABLE t1 RENAME TO t1_r9370;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_t1_5404 BEFORE UPDATE OF a ON t1 FOR EACH ROW BEGIN INSERT INTO t1(a) VALUES (NULL); END;
|
||||
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 T2;
|
||||
ANALYZE;
|
||||
SELECT TOTAL(b) FROM T1;
|
||||
REINDEX;
|
||||
PRAGMA journal_mode = 'PERSIST';
|
||||
ANALYZE;
|
||||
|
||||
ANALYZE T2;
|
||||
WITH cte AS (SELECT a, COUNT(*) FROM T2 GROUP BY a) SELECT * FROM cte;
|
||||
ANALYZE;
|
||||
VACUUM;
|
||||
COMMIT;
|
||||
INSERT INTO t1 SELECT * FROM t1;
|
||||
SELECT * FROM T2 WHERE a > ANY (SELECT a FROM T2);
|
||||
ROLLBACK TRANSACTION TO SAVEPOINT sp7292;
|
||||
RELEASE SAVEPOINT sp7292;
|
||||
REINDEX;
|
||||
creATE VIRTUAL TABLE t0 USING fts3("x", "y", "z");
|
||||
DROP TABLE t0;
|
||||
SAVEPOINT sp7292;
|
||||
BEGIN IMMEDIATE TRANSACTION;
|
||||
.print
|
||||
BEGIN DEFERRED TRANSACTION;
|
||||
PRAGMA synchronous;
|
||||
ATTACH DATABASE ':memory:' AS aux73;
|
||||
SAVEPOINT sp987;
|
||||
ATTACH DATABASE ':memory:' AS aux76;
|
||||
CREATE TABLE t1(a BIGINT PRIMARY KEY, b TEXT, c INT, d INT);
|
||||
INSERT INTO t1 VALUES ((likelihood(length('hello'), -(-(9223372036854775807))) + 0.0), '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
|
||||
CREATE TABLE T1 (
|
||||
a INTEGER,
|
||||
b REAL
|
||||
);
|
||||
CREATE TABLE T2 (
|
||||
a INTEGER,
|
||||
b REAL
|
||||
);
|
||||
INSERT INTO T1 VALUES (1,1.0);
|
||||
INSERT INTO T2 VALUES (1,-1.0),(2,9e999);
|
||||
INSERT OR REPLACE INTO T1
|
||||
SELECT * FROM T2;
|
||||
SELECT * FROM T1;
|
||||
SELECT * FROM T2;
|
||||
SELECT * FROM T2 AS a RIGHT JOIN T2 AS b ON a.rowid = b.rowid;
|
||||
DETACH DATABASE aux76;
|
||||
INSERT INTO T2 DEFAULT VALUES;
|
||||
ALTER TABLE T2 DROP COLUMN a;
|
||||
VACUUM main;
|
||||
|
||||
ROLLBACK TRANSACTION TO SAVEPOINT sp987;
|
||||
RELEASE SAVEPOINT sp987;
|
||||
SELECT GROUP_CONCAT(a, '.') OVER (PARTITION BY a ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) FROM T2;
|
||||
SELECT * FROM T1;
|
||||
CREATE VIEW IF NOT EXISTS v_T1_5205 AS SELECT a FROM T1;
|
||||
DETACH DATABASE aux73;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_T2_2706 AFTER UPDATE OF b ON T2 BEGIN SELECT RAISE(IGNORE); END;
|
||||
ALTER TABLE T2 DROP COLUMN b;
|
||||
ANALYZE;
|
||||
END TRANSACTION;
|
||||
DELETE FROM t1 WHERE d > (SELECT AVG(d) FROM t1);
|
||||
|
||||
SELECT COUNT(*) FROM t1;
|
||||
ALTER TABLE t1 RENAME TO t1_r9370;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_t1_5404 BEFORE UPDATE OF a ON t1 FOR EACH ROW BEGIN INSERT INTO t1(a) VALUES (NULL); END;
|
||||
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 T2;
|
||||
ANALYZE;
|
||||
SELECT TOTAL(b) FROM T1;
|
||||
REINDEX;
|
||||
PRAGMA journal_mode = 'PERSIST';
|
||||
ANALYZE;
|
||||
|
||||
ANALYZE T2;
|
||||
WITH cte AS (SELECT a, COUNT(*) FROM T2 GROUP BY a) SELECT * FROM cte;
|
||||
ANALYZE;
|
||||
VACUUM;
|
||||
COMMIT;
|
||||
INSERT INTO t1 SELECT * FROM t1;
|
||||
SELECT * FROM T2 WHERE a > ANY (SELECT a FROM T2);
|
||||
ROLLBACK TRANSACTION TO SAVEPOINT sp7292;
|
||||
RELEASE SAVEPOINT sp7292;
|
||||
REINDEX;
|
||||
|
||||
CREATE TABLE T (
|
||||
a TEXT,
|
||||
b TEXT
|
||||
);
|
||||
INSERT INTO T VALUES ('a','2020-01-01'), ('b','2026-01-01');
|
||||
SELECT a,
|
||||
CAST(
|
||||
(julianday('now')-julianday(b))/365.25
|
||||
AS INTEGER
|
||||
) AS c
|
||||
FROM T;
|
||||
INSERT OR ROLLBACK INTO T1 VALUES (6, 0);
|
||||
INSERT INTO t1 VALUES (NULL, NULL, NULL, NULL);
|
||||
```
|
||||
|
||||
## 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
|
||||
```
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,446 @@
|
||||
## 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
|
||||
SAVEPOINT sp4770;
|
||||
-- typeof(1.0)
|
||||
|
||||
.limit
|
||||
SAVEPOINT sp9818;
|
||||
ATTACH DATABASE ':memory:' AS aux84;
|
||||
SAVEPOINT sp2531;
|
||||
.check
|
||||
SAVEPOINT sp9694;
|
||||
PRAGMA encoding = 'UTF-8';
|
||||
ATTACH DATABASE ':memory:' AS aux44;
|
||||
CREATE TABLE main.main.`T` (
|
||||
a REAL,
|
||||
b REAL,
|
||||
c REAL
|
||||
);
|
||||
INSERT INTO T VALUES (strftime('%s', if(coalesce(NULL, NULL, NULL) -> sqrt(datetime(-(-(CAST(x'2f' AS BLOB))))), typeof(NULL), (-(-(datetime(CAST(((0 + 0.0) + 0.0) AS BIGINT)))) + 9145485036963515638))),1.5,10.0), (2,-2.5,20.0), (3,-9e999,30.0);
|
||||
WITH _m AS MATERIALIZED (WITH _m AS MATERIALIZED (SELECT * FROM T) SELEC_m * FROM T) SELEC_m * FROM T WHERE NOT NOT (NOT NOT (+b < 2.0)) ORDER BY b;
|
||||
DETACH DATABASE aux44;
|
||||
SELECT * FROM T WHERE EXISTS (SELECT 1 FROM T t2 WHERE t2.a = T.a);
|
||||
INSERT INTO T VALUES (NULL, NULL, NULL);
|
||||
INSERT OR ROLLBACK INTO T VALUES (NULL, NULL, '');
|
||||
WITH RECURSIVE cnt(x) AS (VALUES(1) UNION ALL SELECT x+1 FROM cnt WHERE +x<21) SELECT * FROM cnt;
|
||||
ALTER TABLE T DROP COLUMN b;
|
||||
DROP VIEW IF EXISTS T;
|
||||
SELECT ROW_NUMBER() OVER (ORDER BY a ROWS BETWEEN 2 PRECEDING AND 2 FOLLOWING EXCLUDE CURRENT ROW) FROM T;
|
||||
INSERT OR ROLLBACK INTO T VALUES (-2, NULL, 0);
|
||||
ROLLBACK TO sp9694;
|
||||
RELEASE sp9694;
|
||||
ALTER TABLE T ADD COLUMN extra_4532 UNSIGNED BIG INT DEFAULT (abs(random()) % 1000);
|
||||
SELECT a, COUNT(*) FROM T GROUP BY a HAVING COUNT(*) = (SELECT COUNT(*) FROM T);
|
||||
CREATE TRIGGER IF NOT EXISTS trg_T_7371 BEFORE UPDATE ON T FOR EACH ROW BEGIN SELECT RAISE(FAIL, 'no'); END;
|
||||
SELECT COUNT(*) FROM T;
|
||||
ROLLBACK TO sp2531;
|
||||
RELEASE sp2531;
|
||||
INSERT OR ABORT INTO T VALUES (6, 0, 0);
|
||||
SELECT COUNT(*) FROM T;
|
||||
WITH RECURSIVE cnt(x) AS (VALUES(1) UNION SELECT x+1 FROM cnt WHERE x<8) SELECT * FROM cnt;
|
||||
WITH RECURSIVE cnt(x) AS (VALUES(1) UNION ALL SELECT x+1 FROM cnt WHERE x<0) SELECT * FROM cnt;
|
||||
DETACH DATABASE aux84;
|
||||
SELECT * FROM T t1 JOIN T t2 ON t1.a = (SELECT a FROM T LIMIT 1);
|
||||
ALTER TABLE T RENAME TO T_r9068;
|
||||
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;
|
||||
ROLLBACK TRANSACTION TO SAVEPOINT sp9818;
|
||||
RELEASE SAVEPOINT sp9818;
|
||||
SELECT STRING_AGG(a, '|') FROM T;
|
||||
INSERT INTO T VALUES (NULL, NULL, NULL);
|
||||
SELECT LEAD(a, 1, NULL) OVER (ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) FROM T;
|
||||
SELECT RANK() OVER (ORDER BY c GROUPS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) FROM T;
|
||||
SELECT COUNT(*) FROM T;
|
||||
SELECT * FROM T AS a RIGHT OUTER JOIN T AS b ON a.rowid = b.rowid;
|
||||
INSERT INTO T VALUES (NULL, NULL, NULL);
|
||||
ALTER TABLE T ADD COLUMN extra_9504 DOUBLE COLLATE RTRIM;
|
||||
SELECT * FROM T NATURAL JOIN T;
|
||||
ANALYZE;
|
||||
INSERT INTO T DEFAULT VALUES;
|
||||
INSERT INTO T DEFAULT VALUES;
|
||||
INSERT INTO T VALUES (NULL, NULL, NULL);
|
||||
WITH cte AS (SELECT CASE WHEN a > 0 THEN "pos" ELSE "neg" END AS sign FROM T) SELECT * FROM cte;
|
||||
SELECT FIRST_VALUE(c) OVER (ORDER BY c ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW EXCLUDE TIES) FROM T;
|
||||
ALTER TABLE T ADD COLUMN extra_5697 BIGINT COLLATE NOCASE;
|
||||
RELEASE sp4770;
|
||||
PRAGMA short_column_names = OFF;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_T_534 AFTER UPDATE OF A ON T BEGIN SELECT RAISE(FAIL, 'no'); END;
|
||||
SELECT * FROM T WHERE C = (SELECT GROUP_CONCAT(C) FROM T);
|
||||
SAVEPOINT sp4770;
|
||||
.limit
|
||||
SAVEPOINT sp9818;
|
||||
ATTACH DATABASE ':memory:' AS aux84;
|
||||
SAVEPOINT sp2531;
|
||||
.check
|
||||
SAVEPOINT sp9694;
|
||||
PRAGMA encoding = 'UTF-8';
|
||||
ATTACH DATABASE ':memory:' AS aux44;
|
||||
CREATE TABLE main.main.`T` (
|
||||
a REAL,
|
||||
b REAL,
|
||||
c REAL
|
||||
);
|
||||
INSERT INTO T VALUES (strftime('%s', if(coalesce(NULL, NULL, NULL) -> sqrt(datetime(-(-(CAST(x'2f' AS BLOB))))), typeof(NULL), (0 + 9145485036963515638))),1.5,10.0), (2,-2.5,20.0), (3,-9e999,30.0);
|
||||
WITH _m AS MATERIALIZED (WITH _m AS MATERIALIZED (SELECT * FROM T) SELEC_m * FROM T) SELEC_m * FROM T WHERE NOT NOT (NOT NOT (+b < 2.0)) ORDER BY b;
|
||||
DETACH DATABASE aux44;
|
||||
SELECT * FROM T WHERE EXISTS (SELECT 1 FROM T t2 WHERE t2.a = T.a);
|
||||
INSERT INTO T VALUES (NULL, NULL, NULL);
|
||||
INSERT OR ROLLBACK INTO T VALUES (NULL, NULL, '');
|
||||
WITH RECURSIVE cnt(x) AS (VALUES(1) UNION ALL SELECT x+1 FROM cnt WHERE +x<21) SELECT * FROM cnt;
|
||||
ALTER TABLE T DROP COLUMN b;
|
||||
DROP VIEW IF EXISTS T;
|
||||
SELECT ROW_NUMBER() OVER (ORDER BY a ROWS BETWEEN 2 PRECEDING AND 2 FOLLOWING EXCLUDE CURRENT ROW) FROM T;
|
||||
INSERT OR ROLLBACK INTO T VALUES (-2, NULL, 0);
|
||||
ROLLBACK TO sp9694;
|
||||
RELEASE sp9694;
|
||||
ALTER TABLE T ADD COLUMN extra_4532 UNSIGNED BIG INT DEFAULT (abs(random()) % 1000);
|
||||
SELECT a, COUNT(*) FROM T GROUP BY a HAVING COUNT(*) = (SELECT COUNT(*) FROM T);
|
||||
CREATE TRIGGER IF NOT EXISTS trg_T_7371 BEFORE UPDATE ON T FOR EACH ROW BEGIN SELECT RAISE(FAIL, 'no'); END;
|
||||
SELECT COUNT(*) FROM T;
|
||||
ROLLBACK TO sp2531;
|
||||
RELEASE sp2531;
|
||||
INSERT OR ABORT INTO T VALUES (6, 0, 0);
|
||||
SELECT COUNT(*) FROM T;
|
||||
WITH RECURSIVE cnt(x) AS (VALUES(1) UNION SELECT x+1 FROM cnt WHERE x<8) SELECT * FROM cnt;
|
||||
WITH RECURSIVE cnt(x) AS (VALUES(1) UNION ALL SELECT x+1 FROM cnt WHERE x<0) SELECT * FROM cnt;
|
||||
DETACH DATABASE aux84;
|
||||
SELECT * FROM T t1 JOIN T t2 ON t1.a = (SELECT a FROM T LIMIT 1);
|
||||
ALTER TABLE T RENAME TO T_r9068;
|
||||
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;
|
||||
ROLLBACK TRANSACTION TO SAVEPOINT sp9818;
|
||||
RELEASE SAVEPOINT sp9818;
|
||||
SELECT STRING_AGG(a, '|') FROM T;
|
||||
INSERT INTO T VALUES (NULL, NULL, NULL);
|
||||
SELECT LEAD(a, 1, NULL) OVER (ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) FROM T;
|
||||
SELECT RANK() OVER (ORDER BY c GROUPS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) FROM T;
|
||||
SELECT COUNT(*) FROM T;
|
||||
SELECT * FROM T AS a RIGHT OUTER JOIN T AS b ON a.rowid = b.rowid;
|
||||
INSERT INTO T VALUES (NULL, NULL, NULL);
|
||||
ALTER TABLE T ADD COLUMN extra_9504 DOUBLE COLLATE RTRIM;
|
||||
SELECT * FROM T NATURAL JOIN T;
|
||||
ANALYZE;
|
||||
INSERT INTO T DEFAULT VALUES;
|
||||
INSERT INTO T DEFAULT VALUES;
|
||||
INSERT INTO T VALUES (NULL, NULL, NULL);
|
||||
WITH cte AS (SELECT CASE WHEN a > 0 THEN "pos" ELSE "neg" END AS sign FROM T) SELECT * FROM cte;
|
||||
SELECT FIRST_VALUE(c) OVER (ORDER BY c ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW EXCLUDE TIES) FROM T;
|
||||
ALTER TABLE T ADD COLUMN extra_5697 BIGINT COLLATE NOCASE;
|
||||
RELEASE sp4770;
|
||||
PRAGMA short_column_names = OFF;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_T_534 AFTER UPDATE OF A ON T BEGIN SELECT RAISE(FAIL, 'no'); END;
|
||||
SELECT * FROM T WHERE C = (SELECT GROUP_CONCAT(C) FROM T);
|
||||
SAVEPOINT sp4770;
|
||||
.limit
|
||||
SAVEPOINT sp9818;
|
||||
ATTACH DATABASE ':memory:' AS aux84;
|
||||
SAVEPOINT sp2531;
|
||||
.check
|
||||
SAVEPOINT sp9694;
|
||||
PRAGMA encoding = 'UTF-8';
|
||||
ATTACH DATABASE ':memory:' AS aux44;
|
||||
CREATE TABLE main.main.`T` (
|
||||
a REAL,
|
||||
b REAL,
|
||||
c REAL
|
||||
);
|
||||
INSERT INTO T VALUES (strftime('%s', if(coalesce(NULL, NULL, NULL) -> sqrt(datetime(-(-(CAST(x'2f' AS BLOB))))), typeof(NULL), (0 + 9145485036963515638))),1.5,10.0), (2,-2.5,20.0), (3,-9e999,30.0);
|
||||
WITH _m AS MATERIALIZED (WITH _m AS MATERIALIZED (SELECT * FROM T) SELEC_m * FROM T) SELEC_m * FROM T WHERE NOT NOT (NOT NOT (+b < 2.0)) ORDER BY b;
|
||||
DETACH DATABASE aux44;
|
||||
SELECT * FROM T WHERE EXISTS (SELECT 1 FROM T t2 WHERE t2.a = T.a);
|
||||
INSERT INTO T VALUES (NULL, NULL, NULL);
|
||||
INSERT OR ROLLBACK INTO T VALUES (NULL, NULL, '');
|
||||
WITH RECURSIVE cnt(x) AS (VALUES(1) UNION ALL SELECT x+1 FROM cnt WHERE +x<21) SELECT * FROM cnt;
|
||||
ALTER TABLE T DROP COLUMN b;
|
||||
DROP VIEW IF EXISTS T;
|
||||
SELECT ROW_NUMBER() OVER (ORDER BY a ROWS BETWEEN 2 PRECEDING AND 2 FOLLOWING EXCLUDE CURRENT ROW) FROM T;
|
||||
INSERT OR ROLLBACK INTO T VALUES (-2, NULL, 0);
|
||||
ROLLBACK TO sp9694;
|
||||
RELEASE sp9694;
|
||||
ALTER TABLE T ADD COLUMN extra_4532 UNSIGNED BIG INT DEFAULT (abs(random()) % 1000);
|
||||
SELECT a, COUNT(*) FROM T GROUP BY a HAVING COUNT(*) = (SELECT COUNT(*) FROM T);
|
||||
CREATE TRIGGER IF NOT EXISTS trg_T_7371 BEFORE UPDATE ON T FOR EACH ROW BEGIN SELECT RAISE(FAIL, 'no'); END;
|
||||
SELECT COUNT(*) FROM T;
|
||||
ROLLBACK TO sp2531;
|
||||
RELEASE sp2531;
|
||||
INSERT OR ABORT INTO T VALUES (6, 0, 0);
|
||||
SELECT COUNT(*) FROM T;
|
||||
WITH RECURSIVE cnt(x) AS (VALUES(1) UNION SELECT x+1 FROM cnt WHERE x<8) SELECT * FROM cnt;
|
||||
WITH RECURSIVE cnt(x) AS (VALUES(1) UNION ALL SELECT x+1 FROM cnt WHERE x<0) SELECT * FROM cnt;
|
||||
DETACH DATABASE aux84;
|
||||
SELECT * FROM T t1 JOIN T t2 ON t1.a = (SELECT a FROM T LIMIT 1);
|
||||
ALTER TABLE T RENAME TO T_r9068;
|
||||
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;
|
||||
ROLLBACK TRANSACTION TO SAVEPOINT sp9818;
|
||||
RELEASE SAVEPOINT sp9818;
|
||||
SELECT STRING_AGG(a, '|') FROM T;
|
||||
INSERT INTO T VALUES (NULL, NULL, NULL);
|
||||
SELECT LEAD(a, 1, NULL) OVER (ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) FROM T;
|
||||
SELECT RANK() OVER (ORDER BY c GROUPS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) FROM T;
|
||||
SELECT COUNT(*) FROM T;
|
||||
SELECT * FROM T AS a RIGHT OUTER JOIN T AS b ON a.rowid = b.rowid;
|
||||
INSERT INTO T VALUES (NULL, NULL, NULL);
|
||||
ALTER TABLE T ADD COLUMN extra_9504 DOUBLE COLLATE RTRIM;
|
||||
SELECT * FROM T NATURAL JOIN T;
|
||||
ANALYZE;
|
||||
INSERT INTO T DEFAULT VALUES;
|
||||
INSERT INTO T DEFAULT VALUES;
|
||||
INSERT INTO T VALUES (NULL, NULL, NULL);
|
||||
WITH cte AS (SELECT CASE WHEN a > 0 THEN "pos" ELSE "neg" END AS sign FROM T) SELECT * FROM cte;
|
||||
SELECT FIRST_VALUE(c) OVER (ORDER BY c ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW EXCLUDE TIES) FROM T;
|
||||
ALTER TABLE T ADD COLUMN extra_5697 BIGINT COLLATE NOCASE;
|
||||
RELEASE sp4770;
|
||||
PRAGMA short_column_names = OFF;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_T_534 AFTER UPDATE OF A ON T BEGIN SELECT RAISE(FAIL, 'no'); END;
|
||||
SELECT * FROM T WHERE C = (SELECT GROUP_CONCAT(C) FROM T);
|
||||
SAVEPOINT sp4770;
|
||||
.limit
|
||||
SAVEPOINT sp9818;
|
||||
ATTACH DATABASE ':memory:' AS aux84;
|
||||
SAVEPOINT sp2531;
|
||||
.check
|
||||
SAVEPOINT sp9694;
|
||||
PRAGMA encoding = 'UTF-8';
|
||||
ATTACH DATABASE ':memory:' AS aux44;
|
||||
CREATE TABLE main.main.`T` (
|
||||
a REAL,
|
||||
b REAL,
|
||||
c REAL
|
||||
);
|
||||
INSERT INTO T VALUES (strftime('%s', if(coalesce(NULL, NULL, NULL) -> sqrt(datetime(-(-(CAST(x'2f' AS BLOB))))), typeof(NULL), (0 + 9145485036963515638))),1.5,10.0), (2,-2.5,20.0), (3,-9e999,30.0);
|
||||
WITH _m AS MATERIALIZED (WITH _m AS MATERIALIZED (SELECT * FROM T) SELEC_m * FROM T) SELEC_m * FROM T WHERE NOT NOT (NOT NOT (+b < 2.0)) ORDER BY b;
|
||||
DETACH DATABASE aux44;
|
||||
SELECT * FROM T WHERE EXISTS (SELECT 1 FROM T t2 WHERE t2.a = T.a);
|
||||
INSERT INTO T VALUES (NULL, NULL, NULL);
|
||||
INSERT OR ROLLBACK INTO T VALUES (NULL, NULL, '');
|
||||
WITH RECURSIVE cnt(x) AS (VALUES(1) UNION ALL SELECT x+1 FROM cnt WHERE +x<21) SELECT * FROM cnt;
|
||||
ALTER TABLE T DROP COLUMN b;
|
||||
DROP VIEW IF EXISTS T;
|
||||
SELECT ROW_NUMBER() OVER (ORDER BY a ROWS BETWEEN 2 PRECEDING AND 2 FOLLOWING EXCLUDE CURRENT ROW) FROM T;
|
||||
INSERT OR ROLLBACK INTO T VALUES (-2, NULL, 0);
|
||||
ROLLBACK TO sp9694;
|
||||
RELEASE sp9694;
|
||||
ALTER TABLE T ADD COLUMN extra_4532 UNSIGNED BIG INT DEFAULT (abs(random()) % 1000);
|
||||
SELECT a, COUNT(*) FROM T GROUP BY a HAVING COUNT(*) = (SELECT COUNT(*) FROM T);
|
||||
CREATE TRIGGER IF NOT EXISTS trg_T_7371 BEFORE UPDATE ON T FOR EACH ROW BEGIN SELECT RAISE(FAIL, 'no'); END;
|
||||
SELECT COUNT(*) FROM T;
|
||||
ROLLBACK TO sp2531;
|
||||
RELEASE sp2531;
|
||||
INSERT OR ABORT INTO T VALUES (6, 0, 0);
|
||||
SELECT COUNT(*) FROM T;
|
||||
WITH RECURSIVE cnt(x) AS (VALUES(1) UNION SELECT x+1 FROM cnt WHERE x<8) SELECT * FROM cnt;
|
||||
WITH RECURSIVE cnt(x) AS (VALUES(1) UNION ALL SELECT x+1 FROM cnt WHERE x<0) SELECT * FROM cnt;
|
||||
DETACH DATABASE aux84;
|
||||
SELECT * FROM T t1 JOIN T t2 ON t1.a = (SELECT a FROM T LIMIT 1);
|
||||
ALTER TABLE T RENAME TO T_r9068;
|
||||
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;
|
||||
ROLLBACK TRANSACTION TO SAVEPOINT sp9818;
|
||||
RELEASE SAVEPOINT sp9818;
|
||||
SELECT STRING_AGG(a, '|') FROM T;
|
||||
INSERT INTO T VALUES (NULL, NULL, NULL);
|
||||
SELECT LEAD(a, 1, NULL) OVER (ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) FROM T;
|
||||
SELECT RANK() OVER (ORDER BY c GROUPS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) FROM T;
|
||||
SELECT COUNT(*) FROM T;
|
||||
SELECT * FROM T AS a RIGHT OUTER JOIN T AS b ON a.rowid = b.rowid;
|
||||
INSERT INTO T VALUES (NULL, NULL, NULL);
|
||||
ALTER TABLE T ADD COLUMN extra_9504 DOUBLE COLLATE RTRIM;
|
||||
SELECT * FROM T NATURAL JOIN T;
|
||||
ANALYZE;
|
||||
INSERT INTO T DEFAULT VALUES;
|
||||
INSERT INTO T DEFAULT VALUES;
|
||||
INSERT INTO T VALUES (NULL, NULL, NULL);
|
||||
WITH cte AS (SELECT CASE WHEN a > 0 THEN "pos" ELSE "neg" END AS sign FROM T) SELECT * FROM cte;
|
||||
SELECT FIRST_VALUE(c) OVER (ORDER BY c ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW EXCLUDE TIES) FROM T;
|
||||
ALTER TABLE T ADD COLUMN extra_5697 BIGINT COLLATE NOCASE;
|
||||
RELEASE sp4770;
|
||||
PRAGMA short_column_names = OFF;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_T_534 AFTER UPDATE OF A ON T BEGIN SELECT RAISE(FAIL, 'no'); END;
|
||||
SELECT * FROM T WHERE C = (SELECT GROUP_CONCAT(C) FROM T);
|
||||
SAVEPOINT sp4770;
|
||||
.limit
|
||||
SAVEPOINT sp9818;
|
||||
ATTACH DATABASE ':memory:' AS aux84;
|
||||
SAVEPOINT sp2531;
|
||||
.check
|
||||
SAVEPOINT sp9694;
|
||||
PRAGMA encoding = 'UTF-8';
|
||||
ATTACH DATABASE ':memory:' AS aux44;
|
||||
CREATE TABLE main.main.`T` (
|
||||
a REAL,
|
||||
b REAL,
|
||||
c REAL
|
||||
);
|
||||
INSERT INTO T VALUES (strftime('%s', if(coalesce(NULL, NULL, NULL) -> sqrt(datetime(-(-(CAST(x'2f' AS BLOB))))), typeof(NULL), (0 + 9145485036963515638))),1.5,10.0), (2,-2.5,20.0), (3,-9e999,30.0);
|
||||
WITH _m AS MATERIALIZED (WITH _m AS MATERIALIZED (SELECT * FROM T) SELEC_m * FROM T) SELEC_m * FROM T WHERE NOT NOT (NOT NOT (+b < 2.0)) ORDER BY b;
|
||||
DETACH DATABASE aux44;
|
||||
SELECT * FROM T WHERE EXISTS (SELECT 1 FROM T t2 WHERE t2.a = T.a);
|
||||
INSERT INTO T VALUES (NULL, NULL, NULL);
|
||||
INSERT OR ROLLBACK INTO T VALUES (NULL, NULL, '');
|
||||
WITH RECURSIVE cnt(x) AS (VALUES(1) UNION ALL SELECT x+1 FROM cnt WHERE +x<21) SELECT * FROM cnt;
|
||||
ALTER TABLE T DROP COLUMN b;
|
||||
DROP VIEW IF EXISTS T;
|
||||
SELECT ROW_NUMBER() OVER (ORDER BY a ROWS BETWEEN 2 PRECEDING AND 2 FOLLOWING EXCLUDE CURRENT ROW) FROM T;
|
||||
INSERT OR ROLLBACK INTO T VALUES (-2, NULL, 0);
|
||||
ROLLBACK TO sp9694;
|
||||
RELEASE sp9694;
|
||||
ALTER TABLE T ADD COLUMN extra_4532 UNSIGNED BIG INT DEFAULT (abs(random()) % 1000);
|
||||
SELECT a, COUNT(*) FROM T GROUP BY a HAVING COUNT(*) = (SELECT COUNT(*) FROM T);
|
||||
CREATE TRIGGER IF NOT EXISTS trg_T_7371 BEFORE UPDATE ON T FOR EACH ROW BEGIN SELECT RAISE(FAIL, 'no'); END;
|
||||
SELECT COUNT(*) FROM T;
|
||||
ROLLBACK TO sp2531;
|
||||
RELEASE sp2531;
|
||||
INSERT OR ABORT INTO T VALUES (6, 0, 0);
|
||||
SELECT COUNT(*) FROM T;
|
||||
WITH RECURSIVE cnt(x) AS (VALUES(1) UNION SELECT x+1 FROM cnt WHERE x<8) SELECT * FROM cnt;
|
||||
WITH RECURSIVE cnt(x) AS (VALUES(1) UNION ALL SELECT x+1 FROM cnt WHERE x<0) SELECT * FROM cnt;
|
||||
DETACH DATABASE aux84;
|
||||
SELECT * FROM T t1 JOIN T t2 ON t1.a = (SELECT a FROM T LIMIT 1);
|
||||
ALTER TABLE T RENAME TO T_r9068;
|
||||
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;
|
||||
ROLLBACK TRANSACTION TO SAVEPOINT sp9818;
|
||||
RELEASE SAVEPOINT sp9818;
|
||||
SELECT STRING_AGG(a, '|') FROM T;
|
||||
INSERT INTO T VALUES (NULL, NULL, NULL);
|
||||
SELECT LEAD(a, 1, NULL) OVER (ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) FROM T;
|
||||
SELECT RANK() OVER (ORDER BY c GROUPS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) FROM T;
|
||||
SELECT COUNT(*) FROM T;
|
||||
SELECT * FROM T AS a RIGHT OUTER JOIN T AS b ON a.rowid = b.rowid;
|
||||
INSERT INTO T VALUES (NULL, NULL, NULL);
|
||||
ALTER TABLE T ADD COLUMN extra_9504 DOUBLE COLLATE RTRIM;
|
||||
SELECT * FROM T NATURAL JOIN T;
|
||||
ANALYZE;
|
||||
INSERT INTO T DEFAULT VALUES;
|
||||
INSERT INTO T DEFAULT VALUES;
|
||||
INSERT INTO T VALUES (NULL, NULL, NULL);
|
||||
WITH cte AS (SELECT CASE WHEN a > 0 THEN "pos" ELSE "neg" END AS sign FROM T) SELECT * FROM cte;
|
||||
SELECT FIRST_VALUE(c) OVER (ORDER BY c ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW EXCLUDE TIES) FROM T;
|
||||
ALTER TABLE T ADD COLUMN extra_5697 BIGINT COLLATE NOCASE;
|
||||
RELEASE sp4770;
|
||||
PRAGMA short_column_names = OFF;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_T_534 AFTER UPDATE OF A ON T BEGIN SELECT RAISE(FAIL, 'no'); END;
|
||||
SELECT * FROM T WHERE C = (SELECT GROUP_CONCAT(C) FROM T);
|
||||
|
||||
ALTER TABLE T RENAME TO T_r7047;
|
||||
SELECT * FROM T WHERE EXISTS (SELECT 1 FROM T WHERE EXISTS (SELECT 1 FROM T));
|
||||
CREATE INDEX IF NOT EXISTS idx_T_4760 ON T(lower(A));
|
||||
INSERT INTO T DEFAULT VALUES;
|
||||
DROP TABLE IF EXISTS T;
|
||||
INSERT INTO T VALUES (NULL, NULL, NULL);
|
||||
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
|
||||
DELETE FROM t1 WHERE a IS NULL;
|
||||
VACUUM main;
|
||||
CREATE INDEX IF NOT EXISTS idx_T_3264 ON T((B + 1)) WHERE B > 0;
|
||||
```
|
||||
|
||||
## Actual output
|
||||
|
||||
```sql
|
||||
length 1000000000
|
||||
sql_length 1000000000
|
||||
column 2000
|
||||
expr_depth 1000
|
||||
compound_select 500
|
||||
vdbe_op 250000000
|
||||
function_arg 127
|
||||
attached 10
|
||||
like_pattern_length 50000
|
||||
variable_number 32766
|
||||
trigger_depth 1000
|
||||
worker_threads 0
|
||||
```
|
||||
|
||||
## Expectation
|
||||
|
||||
```sql
|
||||
length 1000000000
|
||||
sql_length 1000000000
|
||||
column 2000
|
||||
expr_depth 1000
|
||||
compound_select 500
|
||||
vdbe_op 250000000
|
||||
function_arg 1000
|
||||
attached 10
|
||||
like_pattern_length 50000
|
||||
variable_number 32766
|
||||
trigger_depth 1000
|
||||
worker_threads 0
|
||||
```
|
||||
|
||||
## Flag
|
||||
|
||||
```
|
||||
|
||||
```
|
||||
|
||||
@@ -0,0 +1,129 @@
|
||||
## 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
|
||||
ATTACH DATABASE ':memory:' AS aux77;
|
||||
ATTACH DATABASE ':memory:' AS aux50;
|
||||
PRAGMA module_list;
|
||||
.exit -(jsonb_each(json_each(x'4452f1f3ff4b'), '$.arr') + 1)
|
||||
PRAGMA table_info(users);
|
||||
PRAGMA short_column_names = ON;
|
||||
PRAGMA user_version = '''''';
|
||||
.print https://yewtu.be/watch?v=dQw4w9WgXcQ
|
||||
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 T AS a FULL JOIN T AS b ON a.rowid = b.rowid;
|
||||
DELETE FROM T WHERE NOT A > (SELECT AVG(A) FROM T);
|
||||
|
||||
UPDATE T SET A = json_object('k', A) WHERE A BETWEEN 0 AND 100;
|
||||
ALTER TABLE T RENAME COLUMN A TO A_r6693;
|
||||
DELETE FROM T WHERE 0 RETURNING *;
|
||||
SELECT COUNT(*) FROM T;
|
||||
VACUUM main;
|
||||
WITH RECURSIVE cnt(x) AS (VALUES(1) UNION ALL SELECT x+1 FROM cnt WHERE x<0) SELECT * FROM cnt;
|
||||
WITH RECURSIVE self(x) AS (SELECT 1 UNION ALL SELECT x FROM self) SELECT * FROM self LIMIT 5;
|
||||
INSERT INTO T DEFAULT VALUES;
|
||||
REINDEX T;
|
||||
SELECT GROUP_CONCAT(B, '|') FROM T;
|
||||
DELETE FROM T WHERE 0 RETURNING *;
|
||||
SELECT * FROM T;
|
||||
SELECT * FROM T WHERE B IN (SELECT B FROM T WHERE B LIKE "%%");
|
||||
ALTER TABLE T RENAME TO T_r8238;
|
||||
|
||||
SELECT COUNT(*) FROM T;
|
||||
PRAGMA trusted_schema = NO;
|
||||
ALTER TABLE T DROP COLUMN B;
|
||||
SELECT * FROM T AS a LEFT JOIN T AS b ON a.rowid = b.rowid;
|
||||
CREATE TABLE T (
|
||||
a TEXT,
|
||||
b TEXT
|
||||
);
|
||||
INSERT INTO T VALUES ('a','2020-01-01'), ('b','2026-01-01');
|
||||
SELECT a,
|
||||
CAST(
|
||||
(julianday('now')-julianday(b))/365.25
|
||||
AS INTEGER
|
||||
) AS c
|
||||
FROM T;
|
||||
DETACH DATABASE aux50;
|
||||
DETACH DATABASE aux77;
|
||||
SELECT * FROM T CROSS JOIN T;
|
||||
INSERT INTO T DEFAULT VALUES;
|
||||
INSERT INTO T VALUES (NULL, NULL);
|
||||
CREATE TEMPORARY VIEW IF NOT EXISTS v_T_9728 AS SELECT b FROM T;
|
||||
CREATE TABLE T (
|
||||
a TEXT,
|
||||
b TEXT
|
||||
);
|
||||
INSERT INTO T VALUES ('a','2020-01-01'), ('b','2026-01-01');
|
||||
SELECT a,
|
||||
CAST(
|
||||
(julianday('now')-julianday(b))/365.25
|
||||
AS INTEGER
|
||||
) AS c
|
||||
FROM T;
|
||||
CREATE VIEW IF NOT EXISTS v_T_1441 AS SELECT b FROM T;
|
||||
ANALYZE T;
|
||||
```
|
||||
|
||||
## Actual output
|
||||
|
||||
```sql
|
||||
sqlite_dbdata
|
||||
generate_series
|
||||
completion
|
||||
fsdir
|
||||
tables_used
|
||||
sqlite_stmt
|
||||
json_tree
|
||||
fts4aux
|
||||
fts3
|
||||
fts4
|
||||
sqlite_dbptr
|
||||
fts3tokenize
|
||||
bytecode
|
||||
rtree_i32
|
||||
sqlite_dbpage
|
||||
rtree
|
||||
dbstat
|
||||
json_each
|
||||
```
|
||||
|
||||
## Expectation
|
||||
|
||||
```sql
|
||||
fsdir
|
||||
generate_series
|
||||
bytecode
|
||||
dbstat
|
||||
tables_used
|
||||
sqlite_stmt
|
||||
sqlite_dbpage
|
||||
rtree_i32
|
||||
fts4aux
|
||||
fts3
|
||||
zipfile
|
||||
fts4
|
||||
completion
|
||||
rtree
|
||||
fts3tokenize
|
||||
```
|
||||
|
||||
## Flag
|
||||
|
||||
```
|
||||
|
||||
```
|
||||
|
||||
@@ -0,0 +1,756 @@
|
||||
## 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 synchronous = '2';
|
||||
PRAGMA vdbe_trace = NO;
|
||||
.vfsinfo
|
||||
PRAGMA secure_delete;
|
||||
-- DATE
|
||||
|
||||
PRAGMA reverse_unordered_selects = ON;
|
||||
.schema @@@@@@@@@@@@@@@@
|
||||
.fullschema
|
||||
PRAGMA auto_vacuum = INCREMENTAL;
|
||||
PRAGMA recursive_triggers;
|
||||
BEGIN IMMEDIATE TRANSACTION;
|
||||
ATTACH DATABASE ':memory:' AS aux42;
|
||||
SAVEPOINT sp664;
|
||||
.read commands.sql
|
||||
CREATE TABLE "t1"(a INTEGER PRIMARY KEY, b TEXT, c INT, d INT);
|
||||
INSERT INTO t1 VALUES (round(unlikely(NULL), x'2f972a75f5d004ce366600'), 'Wernher', CAST(round(NULL, (-(-(if('', radians(timediff(1.7976931348623157e+308, 1.7976931348623157e+308)), 2))) * 1)) AS FLOAT), 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;
|
||||
CREATE VIRTUAL TABLE t0 USING fts4("x", "y", "z");
|
||||
DROP TABLE t0;
|
||||
.quit
|
||||
ATTACH DATABASE ':memory:' AS aux33;
|
||||
ATTACH DATABASE ':memory:' AS aux74;
|
||||
.nullvalue 232327d3-536b-41de-a764-a6301986aeab
|
||||
CREATE TABLE [T] (
|
||||
A VARCHAR(upper('你好')) PRIMARY KEY,
|
||||
B VARCHAR(json_array()) NOT NULL,
|
||||
C INTEGER,
|
||||
UNIQUE (B, C)
|
||||
);
|
||||
INSERT INTO T VALUES ('a', 'p', -degrees(2147483648));
|
||||
INSERT INTO T VALUES ('b', 'q', 700);
|
||||
INSERT INTO T VALUES ('c', 'r', 0);
|
||||
INSERT INTO T VALUES ('d', 's', 2147483647);
|
||||
INSERT INTO T VALUES ('e', 't', -1);
|
||||
INSERT INTO T VALUES ('f', 'u', 1);
|
||||
SELECT * FROM T WHERE NOT NOT (C BETWEEN -1000 AND 1000) ORDER BY C ASC;
|
||||
SELECT * FROM T;
|
||||
PRAGMA vdbe_debug = 0;
|
||||
ALTER TABLE T DROP COLUMN B;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_T_6262 AFTER UPDATE OF A ON T FOR EACH ROW BEGIN SELECT RAISE(FAIL, 'no'); END;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_T_1635 AFTER UPDATE OF A ON T FOR EACH ROW BEGIN SELECT RAISE(FAIL, 'no'); END;
|
||||
SELECT AVG(C) FROM T;
|
||||
ALTER TABLE T RENAME COLUMN B TO B_r9915;
|
||||
DETACH DATABASE aux74;
|
||||
DETACH DATABASE aux33;
|
||||
SELECT * FROM t1 WHERE +a > ALL (SELECT a FROM t1);
|
||||
DELETE FROM t1 WHERE 0;
|
||||
INSERT OR ROLLBACK INTO t1 VALUES (NULL, 0, -6, '');
|
||||
CREATE TRIGGER IF NOT EXISTS trg_t1_7285 BEFORE UPDATE ON t1 FOR EACH ROW BEGIN SELECT RAISE(ROLLBACK, 'rb'); END;
|
||||
DROP TRIGGER IF EXISTS t1;
|
||||
INSERT INTO t1 VALUES (NULL, NULL, NULL, NULL);
|
||||
RELEASE sp664;
|
||||
ALTER TABLE t1 ADD COLUMN extra_6969 DOUBLE NOT NULL DEFAULT 0;
|
||||
INSERT INTO t1 DEFAULT VALUES;
|
||||
SELECT * FROM t1;
|
||||
REINDEX;
|
||||
SELECT STRING_AGG(d) FROM t1;
|
||||
CREATE TEMPORARY VIEW IF NOT EXISTS v_t1_5722 AS SELECT a FROM t1;
|
||||
ALTER TABLE t1 RENAME COLUMN c TO c_r6930;
|
||||
INSERT INTO t1 DEFAULT VALUES;
|
||||
SELECT * FROM t1 AS a FULL JOIN t1 AS b ON a.rowid = b.rowid;
|
||||
DETACH DATABASE aux42;
|
||||
ALTER TABLE t1 RENAME COLUMN d TO d_r1370;
|
||||
SELECT * FROM t1 AS a JOIN t1 AS b ON a.rowid = b.rowid;
|
||||
INSERT OR REPLACE INTO t1 VALUES (NULL, 0, -9, -5);
|
||||
SELECT COUNT(*) FROM t1;
|
||||
INSERT INTO t1 VALUES (NULL, NULL, NULL, NULL);
|
||||
REINDEX t1;
|
||||
SELECT COUNT(*) FROM t1;
|
||||
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;
|
||||
UPDATE t1 SET d = CURRENT_TIMESTAMP WHERE d BETWEEN 0 AND 100;
|
||||
INSERT INTO t1 VALUES (NULL, NULL, NULL, NULL);
|
||||
COMMIT;
|
||||
INSERT INTO t1 SELECT * FROM t1;
|
||||
DELETE FROM t1 WHERE 1 RETURNING *;
|
||||
BEGIN IMMEDIATE TRANSACTION;
|
||||
ATTACH DATABASE ':memory:' AS aux42;
|
||||
SAVEPOINT sp664;
|
||||
.read commands.sql
|
||||
CREATE TABLE "t1"(a INTEGER PRIMARY KEY, b TEXT, c INT, d INT);
|
||||
INSERT INTO t1 VALUES (round(unlikely(NULL), x'2f972a75f5d004ce366600'), 'Wernher', CAST(10 AS FLOAT), 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;
|
||||
CREATE VIRTUAL TABLE t0 USING fts4("x", "y", "z");
|
||||
DROP TABLE t0;
|
||||
.quit
|
||||
ATTACH DATABASE ':memory:' AS aux33;
|
||||
ATTACH DATABASE ':memory:' AS aux74;
|
||||
.nullvalue 232327d3-536b-41de-a764-a6301986aeab
|
||||
CREATE TABLE [T] (
|
||||
A VARCHAR(upper('你好')) PRIMARY KEY,
|
||||
B VARCHAR(json_array()) NOT NULL,
|
||||
C INTEGER,
|
||||
UNIQUE (B, C)
|
||||
);
|
||||
INSERT INTO T VALUES ('a', 'p', -degrees(2147483648));
|
||||
INSERT INTO T VALUES ('b', 'q', 700);
|
||||
INSERT INTO T VALUES ('c', 'r', 0);
|
||||
INSERT INTO T VALUES ('d', 's', 2147483647);
|
||||
INSERT INTO T VALUES ('e', 't', -1);
|
||||
INSERT INTO T VALUES ('f', 'u', 1);
|
||||
SELECT * FROM T WHERE NOT NOT (C BETWEEN -1000 AND 1000) ORDER BY C ASC;
|
||||
SELECT * FROM T;
|
||||
PRAGMA vdbe_debug = 0;
|
||||
ALTER TABLE T DROP COLUMN B;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_T_6262 AFTER UPDATE OF A ON T FOR EACH ROW BEGIN SELECT RAISE(FAIL, 'no'); END;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_T_1635 AFTER UPDATE OF A ON T FOR EACH ROW BEGIN SELECT RAISE(FAIL, 'no'); END;
|
||||
SELECT AVG(C) FROM T;
|
||||
ALTER TABLE T RENAME COLUMN B TO B_r9915;
|
||||
DETACH DATABASE aux74;
|
||||
DETACH DATABASE aux33;
|
||||
SELECT * FROM t1 WHERE +a > ALL (SELECT a FROM t1);
|
||||
DELETE FROM t1 WHERE 0;
|
||||
INSERT OR ROLLBACK INTO t1 VALUES (NULL, 0, -6, '');
|
||||
CREATE TRIGGER IF NOT EXISTS trg_t1_7285 BEFORE UPDATE ON t1 FOR EACH ROW BEGIN SELECT RAISE(ROLLBACK, 'rb'); END;
|
||||
DROP TRIGGER IF EXISTS t1;
|
||||
INSERT INTO t1 VALUES (NULL, NULL, NULL, NULL);
|
||||
RELEASE sp664;
|
||||
ALTER TABLE t1 ADD COLUMN extra_6969 DOUBLE NOT NULL DEFAULT 0;
|
||||
INSERT INTO t1 DEFAULT VALUES;
|
||||
SELECT * FROM t1;
|
||||
REINDEX;
|
||||
SELECT STRING_AGG(d) FROM t1;
|
||||
CREATE TEMPORARY VIEW IF NOT EXISTS v_t1_5722 AS SELECT a FROM t1;
|
||||
ALTER TABLE t1 RENAME COLUMN c TO c_r6930;
|
||||
INSERT INTO t1 DEFAULT VALUES;
|
||||
SELECT * FROM t1 AS a LEFT OUTER JOIN t1 AS b ON a.rowid = b.rowid;
|
||||
DETACH DATABASE aux42;
|
||||
ALTER TABLE t1 RENAME COLUMN d TO d_r1370;
|
||||
SELECT * FROM t1 AS a JOIN t1 AS b ON a.rowid = b.rowid;
|
||||
INSERT OR REPLACE INTO t1 VALUES (NULL, 0, -9, -5);
|
||||
SELECT COUNT(*) FROM t1;
|
||||
INSERT INTO t1 VALUES (NULL, NULL, NULL, NULL);
|
||||
REINDEX t1;
|
||||
SELECT COUNT(*) FROM t1;
|
||||
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;
|
||||
UPDATE t1 SET d = CURRENT_TIMESTAMP WHERE d BETWEEN 0 AND 100;
|
||||
INSERT INTO t1 VALUES (NULL, NULL, NULL, NULL);
|
||||
COMMIT;
|
||||
INSERT INTO t1 SELECT * FROM t1;
|
||||
DELETE FROM t1 WHERE 1 RETURNING *;
|
||||
BEGIN IMMEDIATE TRANSACTION;
|
||||
ATTACH DATABASE ':memory:' AS aux42;
|
||||
SAVEPOINT sp664;
|
||||
.read commands.sql
|
||||
CREATE TABLE "t1"(a INTEGER PRIMARY KEY, b TEXT, c INT, d INT);
|
||||
INSERT INTO t1 VALUES (round(unlikely(NULL), x'2f972a75f5d004ce366600'), 'Wernher', CAST(10 AS FLOAT), 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;
|
||||
CREATE VIRTUAL TABLE t0 USING fts4("x", "y", "z");
|
||||
DROP TABLE t0;
|
||||
.quit
|
||||
ATTACH DATABASE ':memory:' AS aux33;
|
||||
ATTACH DATABASE ':memory:' AS aux74;
|
||||
.nullvalue 232327d3-536b-41de-a764-a6301986aeab
|
||||
CREATE TABLE [T] (
|
||||
A VARCHAR(upper('你好')) PRIMARY KEY,
|
||||
B VARCHAR(json_array()) NOT NULL,
|
||||
C INTEGER,
|
||||
UNIQUE (B, C)
|
||||
);
|
||||
INSERT INTO T VALUES ('a', 'p', -degrees(2147483648));
|
||||
INSERT INTO T VALUES ('b', 'q', 700);
|
||||
INSERT INTO T VALUES ('c', 'r', 0);
|
||||
INSERT INTO T VALUES ('d', 's', 2147483647);
|
||||
INSERT INTO T VALUES ('e', 't', -1);
|
||||
INSERT INTO T VALUES ('f', 'u', 1);
|
||||
SELECT * FROM T WHERE NOT NOT (C BETWEEN -1000 AND 1000) ORDER BY C ASC;
|
||||
SELECT * FROM T;
|
||||
PRAGMA vdbe_debug = 0;
|
||||
ALTER TABLE T DROP COLUMN B;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_T_6262 AFTER UPDATE OF A ON T FOR EACH ROW BEGIN SELECT RAISE(FAIL, 'no'); END;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_T_1635 AFTER UPDATE OF A ON T FOR EACH ROW BEGIN SELECT RAISE(FAIL, 'no'); END;
|
||||
SELECT AVG(C) FROM T;
|
||||
ALTER TABLE T RENAME COLUMN B TO B_r9915;
|
||||
DETACH DATABASE aux74;
|
||||
DETACH DATABASE aux33;
|
||||
SELECT * FROM t1 WHERE +a > ALL (SELECT a FROM t1);
|
||||
DELETE FROM t1 WHERE 0;
|
||||
INSERT OR ROLLBACK INTO t1 VALUES (NULL, 0, -6, '');
|
||||
CREATE TRIGGER IF NOT EXISTS trg_t1_7285 BEFORE UPDATE ON t1 FOR EACH ROW BEGIN SELECT RAISE(ROLLBACK, 'rb'); END;
|
||||
DROP TRIGGER IF EXISTS t1;
|
||||
INSERT INTO t1 VALUES (NULL, NULL, NULL, NULL);
|
||||
RELEASE sp664;
|
||||
ALTER TABLE t1 ADD COLUMN extra_6969 DOUBLE NOT NULL DEFAULT 0;
|
||||
INSERT INTO t1 DEFAULT VALUES;
|
||||
SELECT * FROM t1;
|
||||
REINDEX;
|
||||
SELECT STRING_AGG(d) FROM t1;
|
||||
CREATE TEMPORARY VIEW IF NOT EXISTS v_t1_5722 AS SELECT a FROM t1;
|
||||
ALTER TABLE t1 RENAME COLUMN c TO c_r6930;
|
||||
INSERT INTO t1 DEFAULT VALUES;
|
||||
SELECT * FROM t1 AS a LEFT OUTER JOIN t1 AS b ON a.rowid = b.rowid;
|
||||
DETACH DATABASE aux42;
|
||||
ALTER TABLE t1 RENAME COLUMN d TO d_r1370;
|
||||
SELECT * FROM t1 AS a JOIN t1 AS b ON a.rowid = b.rowid;
|
||||
INSERT OR REPLACE INTO t1 VALUES (NULL, 0, -9, -5);
|
||||
SELECT COUNT(*) FROM t1;
|
||||
INSERT INTO t1 VALUES (NULL, NULL, NULL, NULL);
|
||||
REINDEX t1;
|
||||
SELECT COUNT(*) FROM t1;
|
||||
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;
|
||||
UPDATE t1 SET d = CURRENT_TIMESTAMP WHERE d BETWEEN 0 AND 100;
|
||||
INSERT INTO t1 VALUES (NULL, NULL, NULL, NULL);
|
||||
COMMIT;
|
||||
INSERT INTO t1 SELECT * FROM t1;
|
||||
DELETE FROM t1 WHERE 1 RETURNING *;
|
||||
BEGIN IMMEDIATE TRANSACTION;
|
||||
ATTACH DATABASE ':memory:' AS aux42;
|
||||
SAVEPOINT sp664;
|
||||
.read commands.sql
|
||||
CREATE TABLE "t1"(a INTEGER PRIMARY KEY, b TEXT, c INT, d INT);
|
||||
INSERT INTO t1 VALUES (round(unlikely(NULL), x'2f972a75f5d004ce366600'), 'Wernher', CAST(10 AS FLOAT), 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;
|
||||
CREATE VIRTUAL TABLE t0 USING fts4("x", "y", "z");
|
||||
DROP TABLE t0;
|
||||
.quit
|
||||
ATTACH DATABASE ':memory:' AS aux33;
|
||||
ATTACH DATABASE ':memory:' AS aux74;
|
||||
.nullvalue 232327d3-536b-41de-a764-a6301986aeab
|
||||
CREATE TABLE [T] (
|
||||
A VARCHAR(upper('你好')) PRIMARY KEY,
|
||||
B VARCHAR(json_array()) NOT NULL,
|
||||
C INTEGER,
|
||||
UNIQUE (B, C)
|
||||
);
|
||||
INSERT INTO T VALUES ('a', 'p', -degrees(2147483648));
|
||||
INSERT INTO T VALUES ('b', 'q', 700);
|
||||
INSERT INTO T VALUES ('c', 'r', 0);
|
||||
INSERT INTO T VALUES ('d', 's', 2147483647);
|
||||
INSERT INTO T VALUES ('e', 't', -1);
|
||||
INSERT INTO T VALUES ('f', 'u', 1);
|
||||
SELECT * FROM T WHERE NOT NOT (C BETWEEN -1000 AND 1000) ORDER BY C ASC;
|
||||
SELECT * FROM T;
|
||||
PRAGMA vdbe_debug = 0;
|
||||
ALTER TABLE T DROP COLUMN B;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_T_6262 AFTER UPDATE OF A ON T FOR EACH ROW BEGIN SELECT RAISE(FAIL, 'no'); END;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_T_1635 AFTER UPDATE OF A ON T FOR EACH ROW BEGIN SELECT RAISE(FAIL, 'no'); END;
|
||||
SELECT AVG(C) FROM T;
|
||||
ALTER TABLE T RENAME COLUMN B TO B_r9915;
|
||||
DETACH DATABASE aux74;
|
||||
DETACH DATABASE aux33;
|
||||
SELECT * FROM t1 WHERE +a > ALL (SELECT a FROM t1);
|
||||
DELETE FROM t1 WHERE 0;
|
||||
INSERT OR ROLLBACK INTO t1 VALUES (NULL, 0, -6, '');
|
||||
CREATE TRIGGER IF NOT EXISTS trg_t1_7285 BEFORE UPDATE ON t1 FOR EACH ROW BEGIN SELECT RAISE(ROLLBACK, 'rb'); END;
|
||||
DROP TRIGGER IF EXISTS t1;
|
||||
INSERT INTO t1 VALUES (NULL, NULL, NULL, NULL);
|
||||
RELEASE sp664;
|
||||
ALTER TABLE t1 ADD COLUMN extra_6969 DOUBLE NOT NULL DEFAULT 0;
|
||||
INSERT INTO t1 DEFAULT VALUES;
|
||||
SELECT * FROM t1;
|
||||
REINDEX;
|
||||
SELECT STRING_AGG(d) FROM t1;
|
||||
CREATE TEMPORARY VIEW IF NOT EXISTS v_t1_5722 AS SELECT a FROM t1;
|
||||
ALTER TABLE t1 RENAME COLUMN c TO c_r6930;
|
||||
INSERT INTO t1 DEFAULT VALUES;
|
||||
SELECT * FROM t1 AS a LEFT OUTER JOIN t1 AS b ON a.rowid = b.rowid;
|
||||
DETACH DATABASE aux42;
|
||||
ALTER TABLE t1 RENAME COLUMN d TO d_r1370;
|
||||
SELECT * FROM t1 AS a JOIN t1 AS b ON a.rowid = b.rowid;
|
||||
INSERT OR REPLACE INTO t1 VALUES (NULL, 0, -9, -5);
|
||||
SELECT COUNT(*) FROM t1;
|
||||
INSERT INTO t1 VALUES (NULL, NULL, NULL, NULL);
|
||||
REINDEX t1;
|
||||
SELECT COUNT(*) FROM t1;
|
||||
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;
|
||||
UPDATE t1 SET d = CURRENT_TIMESTAMP WHERE d BETWEEN 0 AND 100;
|
||||
INSERT INTO t1 VALUES (NULL, NULL, NULL, NULL);
|
||||
COMMIT;
|
||||
INSERT INTO t1 SELECT * FROM t1;
|
||||
DELETE FROM t1 WHERE 1 RETURNING *;
|
||||
BEGIN IMMEDIATE TRANSACTION;
|
||||
ATTACH DATABASE ':memory:' AS aux42;
|
||||
SAVEPOINT sp664;
|
||||
.read commands.sql
|
||||
CREATE TABLE "t1"(a INTEGER PRIMARY KEY, b TEXT, c INT, d INT);
|
||||
INSERT INTO t1 VALUES (round(unlikely(NULL), x'2f972a75f5d004ce366600'), 'Wernher', CAST(10 AS FLOAT), 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;
|
||||
CREATE TABLE T (
|
||||
a INTEGER,
|
||||
b REAL,
|
||||
c REAL
|
||||
);
|
||||
INSERT INTO T VALUES (1,2.0,10.5), (1,-3.5,20.25), (2,9e999,-1.0);
|
||||
WITH d AS (SELECT a,SUM(b*c) AS e FROM T GROUP BY a) SELECT * FROM d;
|
||||
.imposter t1bc t2
|
||||
|
||||
SELECT * FROM t2;
|
||||
SELECT b, c FROM t1 ORDER BY b, c;
|
||||
CREATE VIRTUAL TABLE t0 USING fts4("x", "y", "z");
|
||||
DROP TABLE t0;
|
||||
.quit
|
||||
ATTACH DATABASE ':memory:' AS aux33;
|
||||
ATTACH DATABASE ':memory:' AS aux74;
|
||||
.nullvalue 232327d3-536b-41de-a764-a6301986aeab
|
||||
CREATE TABLE [T] (
|
||||
A VARCHAR(upper('你好')) PRIMARY KEY,
|
||||
B VARCHAR(json_array()) NOT NULL,
|
||||
C INTEGER,
|
||||
UNIQUE (B, C)
|
||||
);
|
||||
INSERT INTO T VALUES ('a', 'p', -degrees(2147483648));
|
||||
INSERT INTO T VALUES ('b', 'q', 700);
|
||||
INSERT INTO T VALUES ('c', 'r', 0);
|
||||
INSERT INTO T VALUES ('d', 's', 2147483647);
|
||||
INSERT INTO T VALUES ('e', 't', -1);
|
||||
INSERT INTO T VALUES ('f', 'u', 1);
|
||||
SELECT * FROM T WHERE NOT NOT (C BETWEEN -1000 AND 1000) ORDER BY C ASC;
|
||||
SELECT * FROM T;
|
||||
PRAGMA vdbe_debug = 0;
|
||||
ALTER TABLE T DROP COLUMN B;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_T_6262 AFTER UPDATE OF A ON T FOR EACH ROW BEGIN SELECT RAISE(FAIL, 'no'); END;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_T_1635 AFTER UPDATE OF A ON T FOR EACH ROW BEGIN SELECT RAISE(FAIL, 'no'); END;
|
||||
SELECT AVG(C) FROM T;
|
||||
ALTER TABLE T RENAME COLUMN B TO B_r9915;
|
||||
DETACH DATABASE aux74;
|
||||
DETACH DATABASE aux33;
|
||||
SELECT * FROM t1 WHERE +a > ALL (SELECT a FROM t1);
|
||||
DELETE FROM t1 WHERE 0;
|
||||
INSERT OR ROLLBACK INTO t1 VALUES (NULL, 0, -6, '');
|
||||
CREATE TRIGGER IF NOT EXISTS trg_t1_7285 BEFORE UPDATE ON t1 FOR EACH ROW BEGIN SELECT RAISE(ROLLBACK, 'rb'); END;
|
||||
DROP TRIGGER IF EXISTS t1;
|
||||
INSERT INTO t1 VALUES (NULL, NULL, NULL, NULL);
|
||||
RELEASE sp664;
|
||||
ALTER TABLE t1 ADD COLUMN extra_6969 DOUBLE NOT NULL DEFAULT 0;
|
||||
INSERT INTO t1 DEFAULT VALUES;
|
||||
SELECT * FROM t1;
|
||||
REINDEX;
|
||||
SELECT STRING_AGG(d) FROM t1;
|
||||
CREATE TEMPORARY VIEW IF NOT EXISTS v_t1_5722 AS SELECT a FROM t1;
|
||||
ALTER TABLE t1 RENAME COLUMN c TO c_r6930;
|
||||
INSERT INTO t1 DEFAULT VALUES;
|
||||
SELECT * FROM t1 AS a LEFT OUTER JOIN t1 AS b ON a.rowid = b.rowid;
|
||||
DETACH DATABASE aux42;
|
||||
ALTER TABLE t1 RENAME COLUMN d TO d_r1370;
|
||||
SELECT * FROM t1 AS a JOIN t1 AS b ON a.rowid = b.rowid;
|
||||
INSERT OR REPLACE INTO t1 VALUES (NULL, 0, -9, -5);
|
||||
SELECT COUNT(*) FROM t1;
|
||||
INSERT INTO t1 VALUES (NULL, NULL, NULL, NULL);
|
||||
REINDEX t1;
|
||||
SELECT COUNT(*) FROM t1;
|
||||
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;
|
||||
UPDATE t1 SET d = CURRENT_TIMESTAMP WHERE d BETWEEN 0 AND 100;
|
||||
INSERT INTO t1 VALUES (NULL, NULL, NULL, NULL);
|
||||
COMMIT;
|
||||
INSERT INTO t1 SELECT * FROM t1;
|
||||
DELETE FROM t1 WHERE 1 RETURNING *;
|
||||
BEGIN IMMEDIATE TRANSACTION;
|
||||
ATTACH DATABASE ':memory:' AS aux42;
|
||||
SAVEPOINT sp664;
|
||||
.read commands.sql
|
||||
CREATE TABLE "t1"(a INTEGER PRIMARY KEY, b TEXT, c INT, d INT);
|
||||
INSERT INTO t1 VALUES (round(unlikely(NULL), x'2f972a75f5d004ce366600'), 'Wernher', CAST(10 AS FLOAT), 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;
|
||||
CREATE VIRTUAL TABLE t0 USING fts4("x", "y", "z");
|
||||
DROP TABLE t0;
|
||||
.quit
|
||||
ATTACH DATABASE ':memory:' AS aux33;
|
||||
ATTACH DATABASE ':memory:' AS aux74;
|
||||
.nullvalue 232327d3-536b-41de-a764-a6301986aeab
|
||||
CREATE TABLE [T] (
|
||||
A VARCHAR(upper('你好')) PRIMARY KEY,
|
||||
B VARCHAR(json_array()) NOT NULL,
|
||||
C INTEGER,
|
||||
UNIQUE (B, C)
|
||||
);
|
||||
INSERT INTO T VALUES ('a', 'p', -degrees(2147483648));
|
||||
INSERT INTO T VALUES ('b', 'q', 700);
|
||||
INSERT INTO T VALUES ('c', 'r', 0);
|
||||
INSERT INTO T VALUES ('d', 's', 2147483647);
|
||||
INSERT INTO T VALUES ('e', 't', -1);
|
||||
INSERT INTO T VALUES ('f', 'u', 1);
|
||||
SELECT * FROM T WHERE NOT NOT (C BETWEEN -1000 AND 1000) ORDER BY C ASC;
|
||||
SELECT * FROM T;
|
||||
PRAGMA vdbe_debug = 0;
|
||||
ALTER TABLE T DROP COLUMN B;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_T_6262 AFTER UPDATE OF A ON T FOR EACH ROW BEGIN SELECT RAISE(FAIL, 'no'); END;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_T_1635 AFTER UPDATE OF A ON T FOR EACH ROW BEGIN SELECT RAISE(FAIL, 'no'); END;
|
||||
SELECT AVG(C) FROM T;
|
||||
ALTER TABLE T RENAME COLUMN B TO B_r9915;
|
||||
DETACH DATABASE aux74;
|
||||
DETACH DATABASE aux33;
|
||||
SELECT * FROM t1 WHERE +a > ALL (SELECT a FROM t1);
|
||||
DELETE FROM t1 WHERE 0;
|
||||
INSERT OR ROLLBACK INTO t1 VALUES (NULL, 0, -6, '');
|
||||
CREATE TRIGGER IF NOT EXISTS trg_t1_7285 BEFORE UPDATE ON t1 FOR EACH ROW BEGIN SELECT RAISE(ROLLBACK, 'rb'); END;
|
||||
DROP TRIGGER IF EXISTS t1;
|
||||
INSERT INTO t1 VALUES (NULL, NULL, NULL, NULL);
|
||||
RELEASE sp664;
|
||||
ALTER TABLE t1 ADD COLUMN extra_6969 DOUBLE NOT NULL DEFAULT 0;
|
||||
INSERT INTO t1 DEFAULT VALUES;
|
||||
SELECT * FROM t1;
|
||||
REINDEX;
|
||||
SELECT STRING_AGG(d) FROM t1;
|
||||
CREATE TEMPORARY VIEW IF NOT EXISTS v_t1_5722 AS SELECT a FROM t1;
|
||||
ALTER TABLE t1 RENAME COLUMN c TO c_r6930;
|
||||
INSERT INTO t1 DEFAULT VALUES;
|
||||
SELECT * FROM t1 AS a LEFT OUTER JOIN t1 AS b ON a.rowid = b.rowid;
|
||||
DETACH DATABASE aux42;
|
||||
ALTER TABLE t1 RENAME COLUMN d TO d_r1370;
|
||||
SELECT * FROM t1 AS a JOIN t1 AS b ON a.rowid = b.rowid;
|
||||
INSERT OR REPLACE INTO t1 VALUES (NULL, 0, -9, -5);
|
||||
SELECT COUNT(*) FROM t1;
|
||||
INSERT INTO t1 VALUES (NULL, NULL, NULL, NULL);
|
||||
REINDEX t1;
|
||||
SELECT COUNT(*) FROM t1;
|
||||
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;
|
||||
UPDATE t1 SET d = CURRENT_TIMESTAMP WHERE d BETWEEN 0 AND 100;
|
||||
INSERT INTO t1 VALUES (NULL, NULL, NULL, NULL);
|
||||
COMMIT;
|
||||
INSERT INTO t1 SELECT * FROM t1;
|
||||
DELETE FROM t1 WHERE 1 RETURNING *;
|
||||
BEGIN IMMEDIATE TRANSACTION;
|
||||
ATTACH DATABASE ':memory:' AS aux42;
|
||||
SAVEPOINT sp664;
|
||||
.read commands.sql
|
||||
CREATE TABLE "t1"(a INTEGER PRIMARY KEY, b TEXT, c INT, d INT);
|
||||
INSERT INTO t1 VALUES (round(unlikely(NULL), x'2f972a75f5d004ce366600'), 'Wernher', CAST(10 AS FLOAT), 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;
|
||||
CREATE VIRTUAL TABLE t0 USING fts4("x", "y", "z");
|
||||
DROP TABLE t0;
|
||||
.quit
|
||||
ATTACH DATABASE ':memory:' AS aux33;
|
||||
ATTACH DATABASE ':memory:' AS aux74;
|
||||
.nullvalue 232327d3-536b-41de-a764-a6301986aeab
|
||||
CREATE TABLE [T] (
|
||||
A VARCHAR(upper('你好')) PRIMARY KEY,
|
||||
B VARCHAR(json_array()) NOT NULL,
|
||||
C INTEGER,
|
||||
UNIQUE (B, C)
|
||||
);
|
||||
INSERT INTO T VALUES ('a', 'p', -degrees(2147483648));
|
||||
INSERT INTO T VALUES ('b', 'q', 700);
|
||||
INSERT INTO T VALUES ('c', 'r', 0);
|
||||
INSERT INTO T VALUES ('d', 's', 2147483647);
|
||||
INSERT INTO T VALUES ('e', 't', -1);
|
||||
INSERT INTO T VALUES ('f', 'u', 1);
|
||||
SELECT * FROM T WHERE NOT NOT (C BETWEEN -1000 AND 1000) ORDER BY C ASC;
|
||||
SELECT * FROM T;
|
||||
PRAGMA vdbe_debug = 0;
|
||||
ALTER TABLE T DROP COLUMN B;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_T_6262 AFTER UPDATE OF A ON T FOR EACH ROW BEGIN SELECT RAISE(FAIL, 'no'); END;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_T_1635 AFTER UPDATE OF A ON T FOR EACH ROW BEGIN SELECT RAISE(FAIL, 'no'); END;
|
||||
SELECT AVG(C) FROM T;
|
||||
ALTER TABLE T RENAME COLUMN B TO B_r9915;
|
||||
DETACH DATABASE aux74;
|
||||
DETACH DATABASE aux33;
|
||||
CREATE VIRTUAL TABLE t0 USING fts4("x", "y", "z");
|
||||
DROP TABLE t0;
|
||||
SELECT * FROM t1 WHERE +a > ALL (SELECT a FROM t1);
|
||||
DELETE FROM t1 WHERE 0;
|
||||
INSERT OR ROLLBACK INTO t1 VALUES (NULL, 0, -6, '');
|
||||
CREATE TRIGGER IF NOT EXISTS trg_t1_7285 BEFORE UPDATE ON t1 FOR EACH ROW BEGIN SELECT RAISE(ROLLBACK, 'rb'); END;
|
||||
DROP TRIGGER IF EXISTS t1;
|
||||
INSERT INTO t1 VALUES (NULL, NULL, NULL, NULL);
|
||||
RELEASE sp664;
|
||||
ALTER TABLE t1 ADD COLUMN extra_6969 DOUBLE NOT NULL DEFAULT 0;
|
||||
INSERT INTO t1 DEFAULT VALUES;
|
||||
SELECT * FROM t1;
|
||||
REINDEX;
|
||||
SELECT STRING_AGG(d) FROM t1;
|
||||
CREATE TEMPORARY VIEW IF NOT EXISTS v_t1_5722 AS SELECT a FROM t1;
|
||||
ALTER TABLE t1 RENAME COLUMN c TO c_r6930;
|
||||
INSERT INTO t1 DEFAULT VALUES;
|
||||
SELECT * FROM t1 AS a LEFT OUTER JOIN t1 AS b ON a.rowid = b.rowid;
|
||||
DETACH DATABASE aux42;
|
||||
ALTER TABLE t1 RENAME COLUMN d TO d_r1370;
|
||||
SELECT * FROM t1 AS a JOIN t1 AS b ON a.rowid = b.rowid;
|
||||
INSERT OR REPLACE INTO t1 VALUES (NULL, 0, -9, -5);
|
||||
SELECT COUNT(*) FROM t1;
|
||||
INSERT INTO t1 VALUES (NULL, NULL, NULL, NULL);
|
||||
REINDEX t1;
|
||||
SELECT COUNT(*) FROM t1;
|
||||
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;
|
||||
UPDATE t1 SET d = CURRENT_TIMESTAMP WHERE d BETWEEN 0 AND 100;
|
||||
INSERT INTO t1 VALUES (NULL, NULL, NULL, NULL);
|
||||
COMMIT;
|
||||
INSERT INTO t1 SELECT * FROM t1;
|
||||
DELETE FROM t1 WHERE 1 RETURNING *;
|
||||
BEGIN IMMEDIATE TRANSACTION;
|
||||
ATTACH DATABASE ':memory:' AS aux42;
|
||||
SAVEPOINT sp664;
|
||||
.read commands.sql
|
||||
CREATE TABLE "t1"(a INTEGER PRIMARY KEY, b TEXT, c INT, d INT);
|
||||
INSERT INTO t1 VALUES (round(unlikely(NULL), x'2f972a75f5d004ce366600'), 'Wernher', CAST(10 AS FLOAT), 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;
|
||||
CREATE VIRTUAL TABLE t0 USING fts4("x", "y", "z");
|
||||
DROP TABLE t0;
|
||||
.quit
|
||||
ATTACH DATABASE ':memory:' AS aux33;
|
||||
ATTACH DATABASE ':memory:' AS aux74;
|
||||
.nullvalue 232327d3-536b-41de-a764-a6301986aeab
|
||||
CREATE TABLE [T] (
|
||||
A VARCHAR(upper('你好')) PRIMARY KEY,
|
||||
B VARCHAR(json_array()) NOT NULL,
|
||||
C INTEGER,
|
||||
UNIQUE (B, C)
|
||||
);
|
||||
INSERT INTO T VALUES ('a', 'p', -degrees(2147483648));
|
||||
INSERT INTO T VALUES ('b', 'q', 700);
|
||||
INSERT INTO T VALUES ('c', 'r', 0);
|
||||
INSERT INTO T VALUES ('d', 's', 2147483647);
|
||||
INSERT INTO T VALUES ('e', 't', -1);
|
||||
INSERT INTO T VALUES ('f', 'u', 1);
|
||||
SELECT * FROM T WHERE NOT NOT (C BETWEEN -1000 AND 1000) ORDER BY C ASC;
|
||||
SELECT * FROM T;
|
||||
PRAGMA vdbe_debug = 0;
|
||||
ALTER TABLE T DROP COLUMN B;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_T_6262 AFTER UPDATE OF A ON T FOR EACH ROW BEGIN SELECT RAISE(FAIL, 'no'); END;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_T_1635 AFTER UPDATE OF A ON T FOR EACH ROW BEGIN SELECT RAISE(FAIL, 'no'); END;
|
||||
SELECT AVG(C) FROM T;
|
||||
ALTER TABLE T RENAME COLUMN B TO B_r9915;
|
||||
DETACH DATABASE aux74;
|
||||
DETACH DATABASE aux33;
|
||||
SELECT * FROM t1 WHERE +a > ALL (SELECT a FROM t1);
|
||||
DELETE FROM t1 WHERE 0;
|
||||
INSERT OR ROLLBACK INTO t1 VALUES (NULL, 0, -6, '');
|
||||
CREATE TRIGGER IF NOT EXISTS trg_t1_7285 BEFORE UPDATE ON t1 FOR EACH ROW BEGIN SELECT RAISE(ROLLBACK, 'rb'); END;
|
||||
DROP TRIGGER IF EXISTS t1;
|
||||
INSERT INTO t1 VALUES (NULL, NULL, NULL, NULL);
|
||||
RELEASE sp664;
|
||||
ALTER TABLE t1 ADD COLUMN extra_6969 DOUBLE NOT NULL DEFAULT 0;
|
||||
INSERT INTO t1 DEFAULT VALUES;
|
||||
SELECT * FROM t1;
|
||||
REINDEX;
|
||||
SELECT STRING_AGG(d) FROM t1;
|
||||
CREATE TEMPORARY VIEW IF NOT EXISTS v_t1_5722 AS SELECT a FROM t1;
|
||||
ALTER TABLE t1 RENAME COLUMN c TO c_r6930;
|
||||
INSERT INTO t1 DEFAULT VALUES;
|
||||
SELECT * FROM t1 AS a LEFT OUTER JOIN t1 AS b ON a.rowid = b.rowid;
|
||||
DETACH DATABASE aux42;
|
||||
ALTER TABLE t1 RENAME COLUMN d TO d_r1370;
|
||||
SELECT * FROM t1 AS a JOIN t1 AS b ON a.rowid = b.rowid;
|
||||
INSERT OR REPLACE INTO t1 VALUES (NULL, 0, -9, -5);
|
||||
SELECT COUNT(*) FROM t1;
|
||||
INSERT INTO t1 VALUES (NULL, NULL, NULL, NULL);
|
||||
REINDEX t1;
|
||||
SELECT COUNT(*) FROM t1;
|
||||
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;
|
||||
UPDATE t1 SET d = CURRENT_TIMESTAMP WHERE d BETWEEN 0 AND 100;
|
||||
INSERT INTO t1 VALUES (NULL, NULL, NULL, NULL);
|
||||
COMMIT;
|
||||
INSERT INTO t1 SELECT * FROM t1;
|
||||
DELETE FROM t1 WHERE 1 RETURNING *;
|
||||
BEGIN IMMEDIATE TRANSACTION;
|
||||
ATTACH DATABASE ':memory:' AS aux42;
|
||||
SAVEPOINT sp664;
|
||||
.read commands.sql
|
||||
CREATE TABLE "t1"(a INTEGER PRIMARY KEY, b TEXT, c INT, d INT);
|
||||
INSERT INTO t1 VALUES (round(unlikely(NULL), x'2f972a75f5d004ce366600'), 'Wernher', CAST(10 AS FLOAT), 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;
|
||||
CREATE VIRTUAL TABLE t0 USING fts4("x", "y", "z");
|
||||
DROP TABLE t0;
|
||||
.quit
|
||||
ATTACH DATABASE ':memory:' AS aux33;
|
||||
ATTACH DATABASE ':memory:' AS aux74;
|
||||
.nullvalue 232327d3-536b-41de-a764-a6301986aeab
|
||||
CREATE TABLE [T] (
|
||||
A VARCHAR(upper('你好')) PRIMARY KEY,
|
||||
B VARCHAR(json_array()) NOT NULL,
|
||||
C INTEGER,
|
||||
UNIQUE (B, C)
|
||||
);
|
||||
INSERT INTO T VALUES ('a', 'p', -degrees(2147483648));
|
||||
INSERT INTO T VALUES ('b', 'q', 700);
|
||||
INSERT INTO T VALUES ('c', 'r', 0);
|
||||
INSERT INTO T VALUES ('d', 's', 2147483647);
|
||||
INSERT INTO T VALUES ('e', 't', -1);
|
||||
INSERT INTO T VALUES ('f', 'u', 1);
|
||||
SELECT * FROM T WHERE NOT NOT (C BETWEEN -1000 AND 1000) ORDER BY C ASC;
|
||||
SELECT * FROM T;
|
||||
PRAGMA vdbe_debug = 0;
|
||||
ALTER TABLE T DROP COLUMN B;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_T_6262 AFTER UPDATE OF A ON T FOR EACH ROW BEGIN SELECT RAISE(FAIL, 'no'); END;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_T_1635 AFTER UPDATE OF A ON T FOR EACH ROW BEGIN SELECT RAISE(FAIL, 'no'); END;
|
||||
SELECT AVG(C) FROM T;
|
||||
ALTER TABLE T RENAME COLUMN B TO B_r9915;
|
||||
DETACH DATABASE aux74;
|
||||
DETACH DATABASE aux33;
|
||||
SELECT * FROM t1 WHERE +a > ALL (SELECT a FROM t1);
|
||||
DELETE FROM t1 WHERE 0;
|
||||
INSERT OR ROLLBACK INTO t1 VALUES (NULL, 0, -6, '');
|
||||
CREATE TRIGGER IF NOT EXISTS trg_t1_7285 BEFORE UPDATE ON t1 FOR EACH ROW BEGIN SELECT RAISE(ROLLBACK, 'rb'); END;
|
||||
DROP TRIGGER IF EXISTS t1;
|
||||
INSERT INTO t1 VALUES (NULL, NULL, NULL, NULL);
|
||||
RELEASE sp664;
|
||||
ALTER TABLE t1 ADD COLUMN extra_6969 DOUBLE NOT NULL DEFAULT 0;
|
||||
INSERT INTO t1 DEFAULT VALUES;
|
||||
SELECT * FROM t1;
|
||||
REINDEX;
|
||||
SELECT STRING_AGG(d) FROM t1;
|
||||
CREATE TEMPORARY VIEW IF NOT EXISTS v_t1_5722 AS SELECT a FROM t1;
|
||||
ALTER TABLE t1 RENAME COLUMN c TO c_r6930;
|
||||
INSERT INTO t1 DEFAULT VALUES;
|
||||
SELECT * FROM t1 AS a LEFT OUTER JOIN t1 AS b ON a.rowid = b.rowid;
|
||||
DETACH DATABASE aux42;
|
||||
ALTER TABLE t1 RENAME COLUMN d TO d_r1370;
|
||||
SELECT * FROM t1 AS a JOIN t1 AS b ON a.rowid = b.rowid;
|
||||
INSERT OR REPLACE INTO t1 VALUES (NULL, 0, -9, -5);
|
||||
SELECT COUNT(*) FROM t1;
|
||||
INSERT INTO t1 VALUES (NULL, NULL, NULL, NULL);
|
||||
REINDEX t1;
|
||||
SELECT COUNT(*) FROM t1;
|
||||
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;
|
||||
UPDATE t1 SET d = CURRENT_TIMESTAMP WHERE d BETWEEN 0 AND 100;
|
||||
INSERT INTO t1 VALUES (NULL, NULL, NULL, NULL);
|
||||
COMMIT;
|
||||
INSERT INTO t1 SELECT * FROM t1;
|
||||
DELETE FROM t1 WHERE 1 RETURNING *;
|
||||
DELETE FROM t1 WHERE a > (SELECT AVG(a) FROM t1) RETURNING *;
|
||||
ALTER TABLE t1 ADD COLUMN extra_1693 DOUBLE PRECISION COLLATE RTRIM;
|
||||
INSERT INTO t1 VALUES (1, 1, 1, NULL) ON CONFLICT(a) DO UPDATE SET a = excluded.a, b = excluded.b, c = excluded.c;
|
||||
SELECT COUNT(*) FILTER (WHERE b IS NOT NULL), SUM(rowid) FILTER (WHERE b > 0), COUNT(*) FILTER (WHERE 1=0), COUNT(*) FILTER (WHERE 1=1), COUNT(*) FILTER (WHERE NULL), AVG(b) FILTER (WHERE b > 0 AND b < 100), COUNT(*) FILTER (WHERE typeof(b) = "text") FROM t1;
|
||||
WITH cte(x, y) AS (VALUES(1,2),(3,4),(5,6)) SELECT * FROM cte;
|
||||
SELECT * FROM t1 WHERE EXISTS (SELECT 1 FROM t1 WHERE a < 0);
|
||||
SELECT COUNT(*) FROM t1;
|
||||
SELECT * FROM t1 WHERE d = (SELECT d FROM t1 ORDER BY d LIMIT 1 OFFSET (SELECT COUNT(*) FROM t1 / 2));
|
||||
CREATE TEMP VIEW IF NOT EXISTS v_t1_4538 AS SELECT a FROM t1;
|
||||
UPDATE t1 SET b = '';
|
||||
SELECT COUNT(*) FROM t1;
|
||||
WITH cte AS (SELECT b, LEAD(b) OVER (ORDER BY b) AS nxt FROM t1) SELECT * FROM cte;
|
||||
SELECT * FROM t1;
|
||||
DROP INDEX IF EXISTS t1;
|
||||
SELECT * FROM t1 AS a LEFT OUTER JOIN t1 AS b ON a.rowid = b.rowid;
|
||||
SELECT GROUP_CONCAT(a, '|') FROM t1;
|
||||
WITH RECURSIVE tree(id, parent, depth) AS (VALUES(1, NULL, 0) UNION ALL SELECT id+1, id, depth+1 FROM tree WHERE depth<29) SELECT * FROM tree;
|
||||
SELECT * FROM t1 WHERE d IN (SELECT d FROM t1 LIMIT 0);
|
||||
INSERT INTO t1 SELECT * FROM t1;
|
||||
SELECT * FROM t1;
|
||||
INSERT OR FAIL INTO t1 VALUES ('', 'x', NULL, '');
|
||||
WITH RECURSIVE cnt(x) AS (VALUES(1) UNION ALL SELECT x+1 FROM cnt WHERE x<38) SELECT SUM(x) FROM cnt;
|
||||
INSERT INTO t1 DEFAULT VALUES;
|
||||
INSERT OR ROLLBACK INTO t1 VALUES (-5, NULL, 'x', NULL);
|
||||
CREATE INDEX IF NOT EXISTS idx_t1_2534 ON t1(lower(d)) WHERE d > 0;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_T_332 AFTER UPDATE OF a ON T BEGIN SELECT RAISE(IGNORE); END;
|
||||
SELECT MIN(a) FROM T;
|
||||
SELECT * FROM t1 WHERE c IN (SELECT c FROM t1 WHERE ROW_NUMBER() OVER (ORDER BY c) = 1);
|
||||
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;
|
||||
ALTER TABLE T DROP COLUMN B;
|
||||
INSERT INTO t1 VALUES (NULL, NULL, NULL, NULL);
|
||||
INSERT INTO T SELECT * FROM T;
|
||||
SELECT GROUP_CONCAT(A) FROM T;
|
||||
DROP INDEX IF EXISTS T;
|
||||
INSERT INTO t1 VALUES (NULL, NULL, NULL, NULL);
|
||||
ALTER TABLE t1 RENAME TO t1_r1152;
|
||||
```
|
||||
|
||||
## Actual output
|
||||
|
||||
```sql
|
||||
vfs.zName = "unix"
|
||||
vfs.iVersion = 3
|
||||
vfs.szOsFile = 120
|
||||
vfs.mxPathname = 512
|
||||
0
|
||||
/* No STAT tables available */
|
||||
0
|
||||
1
|
||||
CREATE TABLE "t2"("b","c","_ROWID_",PRIMARY KEY("b","c","_ROWID_"))WITHOUT ROWID;
|
||||
WARNING: writing to an imposter table will corrupt the "t1bc" index!
|
||||
von|20|2
|
||||
Braun|30|3
|
||||
Braun|30
|
||||
von|20
|
||||
```
|
||||
|
||||
## Expectation
|
||||
|
||||
```sql
|
||||
|
||||
```
|
||||
|
||||
## Flag
|
||||
|
||||
```
|
||||
|
||||
```
|
||||
|
||||
@@ -0,0 +1,114 @@
|
||||
## 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
|
||||
ATTACH DATABASE ':memory:' AS aux83;
|
||||
BEGIN EXCLUSIVE;
|
||||
CREATE TABLE t1(a INTEGER PRIMARY KEY, b TEXT, c INT, d INT);
|
||||
INSERT INTO t1 VALUES (asin(-json_quote(datetime(cosh(octet_length('Hello'))))) ->> 0, '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;
|
||||
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;
|
||||
.imposter t1bc t2
|
||||
|
||||
WITH _m AS MATERIALIZED (SELECT * FROM T2) SELECT * FROM t2;
|
||||
SELECT b, c FROM t1 ORDER BY b, c;
|
||||
.quit
|
||||
PRAGMA recursive_triggers = OFF;
|
||||
PRAGMA ignore_check_constraints != FALSE;
|
||||
PRAGMA wal_autocheckpoint;
|
||||
PRAGMA pragma_list;
|
||||
.sha3sum
|
||||
CREATE TABLE T (
|
||||
a TEXT,
|
||||
b TEXT
|
||||
);
|
||||
INSERT INTO T VALUES ('a','2020-01-01'), ('b','2026-01-01');
|
||||
SELECT a,
|
||||
CAST(
|
||||
(julianday('now')-julianday(b))/-if(-2814635466794726270, 2360804486672605089)
|
||||
AS INTEGER
|
||||
) AS c
|
||||
FROM T;
|
||||
CREATE TABLE T1 (
|
||||
A VARCHAR(10) PRIMARY KEY,
|
||||
B VARCHAR(15) UNIQUE,
|
||||
C INTEGER
|
||||
);
|
||||
CREATE TABLE _m (
|
||||
X VARCHAR(20) PRIMARY KEY,
|
||||
A VARCHAR(10) NOT NULL UNIQUE,
|
||||
FOREIGN KEY (A) REFERENCES T1(A)
|
||||
);
|
||||
INSERT INTO T1 VALUES ('a', 'p', -2147483648);
|
||||
INSERT INTO T1 VALUES ('b', 'q', 2147483647);
|
||||
INSERT INTO T2 VALUES ('m', 'a');
|
||||
INSERT INTO T2 VALUES ('n', 'b');
|
||||
SELECT T2.X, T1.B, T1.C FROM T2, T1 WHERE T2.A = T1.A AND T1.C >= 0;
|
||||
SELECT SUM(b) OVER (ORDER BY b ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING EXCLUDE GROUP) FROM T;
|
||||
ALTER TABLE T RENAME TO T_r3912;
|
||||
PRAGMA vdbe_trace = 0;
|
||||
CREATE INDEX IF NOT EXISTS idx_T_6324 ON T(a COLLATE NOCASE) WHERE a > 0;
|
||||
INSERT INTO T SELECT * FROM T;
|
||||
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;
|
||||
ALTER TABLE T1 RENAME TO T1_r9774;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_T1_9214 AFTER UPDATE ON T1 FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'abort'); END;
|
||||
PRAGMA page_size;
|
||||
SELECT * FROM T1 AS a FULL OUTER JOIN T AS b ON a.rowid = b.rowid;
|
||||
SELECT GROUP_CONCAT(b, '|') FROM T;
|
||||
SELECT COUNT(*) FROM T2;
|
||||
SELECT * FROM T2 AS a JOIN T1 AS b ON a.rowid = b.rowid;
|
||||
ROLLBACK;
|
||||
WITH RECURSIVE multi(a, b) AS (VALUES(1, 1.0) UNION ALL SELECT a+1, b*0.5 /**/ FROM multi WHERE a<48) SELECT * FROM multi;
|
||||
ALTER TABLE T RENAME COLUMN a TO a_r1923;
|
||||
SELECT * FROM _m;
|
||||
ALTER TABLE _m DROP COLUMN X;
|
||||
ALTER TABLE _m DROP COLUMN X;
|
||||
WITH RECURSIVE r AS (SELECT * FROM T1 LIMIT 1 UNION ALL SELECT t.* FROM T1 t JOIN r ON t.B = r.B LIMIT 10) SELECT * FROM r;
|
||||
INSERT INTO _m VALUES (NULL, NULL);
|
||||
DETACH DATABASE aux83;
|
||||
REINDEX T;
|
||||
```
|
||||
|
||||
## Actual output
|
||||
|
||||
```sql
|
||||
q|2
|
||||
r|2
|
||||
p|1
|
||||
t|1
|
||||
CREATE TABLE "t2"("b","c","_ROWID_",PRIMARY KEY("b","c","_ROWID_"))WITHOUT ROWID;
|
||||
WARNING: writing to an imposter table will corrupt the "t1bc" index!
|
||||
Braun|30|3
|
||||
von|20|2
|
||||
Braun|30
|
||||
von|20
|
||||
```
|
||||
|
||||
## Expectation
|
||||
|
||||
```sql
|
||||
|
||||
```
|
||||
|
||||
## Flag
|
||||
|
||||
```
|
||||
|
||||
```
|
||||
|
||||
@@ -0,0 +1,145 @@
|
||||
## 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
|
||||
.eqp auto
|
||||
CREATE TABLE T (
|
||||
a TEXT,
|
||||
b REAL
|
||||
);
|
||||
INSERT INTO T VALUES ('a',100.0), ('b',-200.5), ('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;
|
||||
PRAGMA short_column_names = NO;
|
||||
PRAGMA cell_size_check;
|
||||
.parameter
|
||||
ATTACH DATABASE ':memory:' AS aux30;
|
||||
.log ON
|
||||
SAVEPOINT sp6089;
|
||||
ATTACH DATABASE '' || (':memory:') AS aux56;
|
||||
CREATE TABLE main.t1(a INTEGER PRIMARY KEY, b TEXT, c INT, d INT);
|
||||
INSERT INTO t1 VALUES (strftime('%s', format('%d', 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 ignore_check_constraints = 0;
|
||||
DETACH DATABASE aux56;
|
||||
INSERT INTO t1 SELECT * FROM t1;
|
||||
PRAGMA recursive_triggers = OFF;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_t1_1212 AFTER UPDATE OF c ON t1 BEGIN SELECT RAISE(ROLLBACK, 'rb'); END;
|
||||
RELEASE sp6089;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_t1_4991 BEFORE UPDATE OF a ON t1 FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'abort'); END;
|
||||
INSERT INTO t1 VALUES (1, 'x', 'x', 'x') ON CONFLICT(a) DO UPDATE SET a = excluded.a, b = excluded.b, c = excluded.c;
|
||||
ALTER TABLE t1 ADD COLUMN extra_6256 CLOB DEFAULT '';
|
||||
WITH RECURSIVE cnt(x) AS (VALUES(1) UNION ALL SELECT x+1 FROM cnt WHERE x<1) SELECT * FROM cnt;
|
||||
CREATE TABLE T1 (
|
||||
A VARCHAR(20),
|
||||
X VARCHAR(10),
|
||||
PRIMARY KEY (A, X),
|
||||
UNIQUE (X)
|
||||
);
|
||||
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 * FROM t1 NATURAL JOIN t1;
|
||||
ALTER TABLE t1 RENAME COLUMN d TO d_r9145;
|
||||
INSERT AND FAIL INTO t1 VALUES ('x', 'x', '', -7);
|
||||
INSERT INTO t1 VALUES (NULL, NULL, NULL, NULL);
|
||||
UPDATE t1 SET d = d + 1 RETURNING *;
|
||||
WITH RECURSIVE fib(a,b) AS (VALUES(1,1) UNION ALL SELECT b, a+b FROM fib WHERE b<1000) SELECT a FROM fib;
|
||||
SELECT COUNT(*) FILTER (WHERE b IS NOT NULL), SUM(rowid) FILTER (WHERE b > 0), COUNT(*) FILTER (WHERE 1=0), COUNT(*) FILTER (WHERE 1=1), COUNT(*) FILTER (WHERE NULL), AVG(b) FILTER (WHERE b > 0 AND b < 100), COUNT(*) FILTER (WHERE typeof(b) = "text") FROM t1;
|
||||
INSERT INTO T1 VALUES ('x', 'x') ON CONFLICT(A) DO UPDATE SET A = excluded.A, X = excluded.X;
|
||||
ALTER TABLE T1 DROP COLUMN A;
|
||||
CREATE TEMP VIEW IF NOT EXISTS v_t1_7233 AS SELECT c FROM t1;
|
||||
DETACH DATABASE aux30;
|
||||
UPDATE T1 SET A = A + 1 WHERE rowid = 1;
|
||||
INSERT INTO T1 SELECT * FROM T1;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_t1_9997 BEFORE UPDATE ON t1 FOR EACH ROW BEGIN SELECT RAISE(ROLLBACK, 'rb'); END;
|
||||
DELETE FROM T1 WHERE 0;
|
||||
INSERT INTO t1 DEFAULT VALUES;
|
||||
ALTER TABLE T2 RENAME TO T2_r5714;
|
||||
DELETE FROM T2 WHERE 1;
|
||||
SELECT * FROM T2 WHERE Y > ALL (SELECT Y FROM T2);
|
||||
SELECT * FROM T2;
|
||||
ALTER TABLE T1 ADD COLUMN extra_1823 FLOAT UNIQUE;
|
||||
WITH RECURSIVE fib(a,b,n) AS (VALUES(1,1,1) UNION ALL SELECT b, a+b, n+1 FROM fib WHERE n<95) SELECT a, n FROM fib;
|
||||
|
||||
SELECT COUNT(*) FROM T1;
|
||||
ALTER TABLE T DROP COLUMN b;
|
||||
INSERT INTO T1 DEFAULT VALUES;
|
||||
SELECT COUNT(A) FILTER (WHERE A IS NOT NULL) OVER (PARTITION BY A ORDER BY A ROWS BETWEEN 2 PRECEDING AND 2 FOLLOWING EXCLUDE CURRENT ROW) FROM T2;
|
||||
INSERT INTO t1 VALUES ('x', 'x', 1, 'x') ON CONFLICT(a) DO UPDATE SET a = excluded.a, b = excluded.b, c = excluded.c;
|
||||
ALTER TABLE t1 DROP COLUMN b;
|
||||
INSERT OR FAIL INTO T2 VALUES ('x', -9);
|
||||
REINDEX;
|
||||
REINDEX;
|
||||
```
|
||||
|
||||
## Actual output
|
||||
|
||||
```sql
|
||||
c|Inf|100.0|1
|
||||
a|100.0|-200.5|1
|
||||
b|-200.5||2
|
||||
0
|
||||
.parameter CMD ... Manage SQL parameter bindings
|
||||
clear Erase all bindings
|
||||
init Initialize the TEMP table that holds bindings
|
||||
list List the current parameter bindings
|
||||
set PARAMETER VALUE Given SQL parameter PARAMETER a value of VALUE
|
||||
PARAMETER should start with one of: $ : @ ?
|
||||
unset PARAMETER Remove PARAMETER from the binding table
|
||||
CREATE TABLE "t2"("b","c","_ROWID_",PRIMARY KEY("b","c","_ROWID_"))WITHOUT ROWID;
|
||||
WARNING: writing to an imposter table will corrupt the "t1bc" index!
|
||||
Braun|30|3
|
||||
Wernher|10|-210866673600
|
||||
von|20|2
|
||||
Braun|30
|
||||
Wernher|10
|
||||
von|20
|
||||
```
|
||||
|
||||
## Expectation
|
||||
|
||||
```sql
|
||||
c|Inf|100.0|1
|
||||
a|100.0|-200.5|1
|
||||
b|-200.5||2
|
||||
0
|
||||
.parameter CMD ... Manage SQL parameter bindings
|
||||
clear Erase all bindings
|
||||
init Initialize the TEMP table that holds bindings
|
||||
list List the current parameter bindings
|
||||
set PARAMETER VALUE Given SQL parameter PARAMETER a value of VALUE
|
||||
PARAMETER should start with one of: $ : @ ?
|
||||
unset PARAMETER Remove PARAMETER from the binding table
|
||||
CREATE TABLE "t2"("b","c","_ROWID_",PRIMARY KEY("b","c","_ROWID_"))WITHOUT ROWID;
|
||||
Braun|30|3
|
||||
Wernher|10|-210866673600
|
||||
von|20|2
|
||||
Braun|30
|
||||
Wernher|10
|
||||
von|20
|
||||
```
|
||||
|
||||
## Flag
|
||||
|
||||
```
|
||||
|
||||
```
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,90 @@
|
||||
## 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
|
||||
ATTACH DATABASE ':memory:' AS aux30;
|
||||
.log ON
|
||||
SAVEPOINT sp6089;
|
||||
ATTACH DATABASE '' || (':memory:') AS aux56;
|
||||
CREATE TABLE main.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 ignore_check_constraints = 0;
|
||||
DETACH DATABASE aux56;
|
||||
INSERT INTO t1 SELECT * FROM t1;
|
||||
PRAGMA recursive_triggers = OFF;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_t1_1212 AFTER UPDATE OF c ON t1 BEGIN SELECT RAISE(ROLLBACK, 'rb'); END;
|
||||
RELEASE sp6089;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_t1_4991 BEFORE UPDATE OF a ON t1 FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'abort'); END;
|
||||
INSERT INTO t1 VALUES (1, 'x', 'x', 'x') ON CONFLICT(a) DO UPDATE SET a = excluded.a, b = excluded.b, c = excluded.c;
|
||||
ALTER TABLE t1 ADD COLUMN extra_6256 CLOB DEFAULT '';
|
||||
WITH RECURSIVE cnt(x) AS (VALUES(1) UNION ALL SELECT x+1 FROM cnt WHERE x<1) SELECT * FROM cnt;
|
||||
CREATE TABLE T1 (
|
||||
A VARCHAR(20),
|
||||
X VARCHAR(10),
|
||||
PRIMARY KEY (A, X),
|
||||
UNIQUE (X)
|
||||
);
|
||||
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 * FROM t1 NATURAL JOIN t1;
|
||||
ALTER TABLE t1 RENAME COLUMN d TO d_r9145;
|
||||
INSERT OR FAIL INTO t1 VALUES ('x', 'x', '', -7);
|
||||
INSERT INTO t1 VALUES (NULL, NULL, NULL, NULL);
|
||||
UPDATE t1 SET d = d + 1 RETURNING *;
|
||||
WITH RECURSIVE fib(a,b) AS (VALUES(1,1) UNION ALL SELECT b, a+b FROM fib WHERE b<1000) SELECT a FROM fib;
|
||||
SELECT COUNT(*) FILTER (WHERE b IS NOT NULL), SUM(rowid) FILTER (WHERE b > 0), COUNT(*) FILTER (WHERE 1=0), COUNT(*) FILTER (WHERE 1=1), COUNT(*) FILTER (WHERE NULL), AVG(b) FILTER (WHERE b > 0 AND b < 100), COUNT(*) FILTER (WHERE typeof(b) = "text") FROM t1;
|
||||
INSERT INTO T1 VALUES ('x', 'x') ON CONFLICT(A) DO UPDATE SET A = excluded.A, X = excluded.X;
|
||||
ALTER TABLE T1 DROP COLUMN A;
|
||||
CREATE TEMP VIEW IF NOT EXISTS v_t1_7233 AS SELECT c FROM t1;
|
||||
DETACH DATABASE aux30;
|
||||
```
|
||||
|
||||
## Actual output
|
||||
|
||||
```sql
|
||||
CREATE TABLE "t2"("b","c","_ROWID_",PRIMARY KEY("b","c","_ROWID_"))WITHOUT ROWID;
|
||||
WARNING: writing to an imposter table will corrupt the "t1bc" index!
|
||||
Braun|30|3
|
||||
Wernher|10|1
|
||||
von|20|2
|
||||
Braun|30
|
||||
Wernher|10
|
||||
von|20
|
||||
```
|
||||
|
||||
## Expectation
|
||||
|
||||
```sql
|
||||
CREATE TABLE "t2"("b","c","_ROWID_",PRIMARY KEY("b","c","_ROWID_"))WITHOUT ROWID;
|
||||
Braun|30|3
|
||||
Wernher|10|1
|
||||
von|20|2
|
||||
Braun|30
|
||||
Wernher|10
|
||||
von|20
|
||||
```
|
||||
|
||||
## Flag
|
||||
|
||||
```
|
||||
|
||||
```
|
||||
|
||||
@@ -0,0 +1,913 @@
|
||||
## 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
|
||||
.timer off
|
||||
ATTACH DATABASE ':memory:' AS aux45;
|
||||
-- json_array_insert({v}, '$.arr[0]', {v})
|
||||
|
||||
PRAGMA writable_schema = TRUE;
|
||||
PRAGMA reverse_unordered_selects = OFF;
|
||||
PRAGMA cell_size_check;
|
||||
creATE VIRTUAL TABLE t0 USING fts3("x", "y", "z");
|
||||
DROP TABLE t0;
|
||||
ATTACH DATABASE ':memory:' AS aux73;
|
||||
.print
|
||||
ATTACH DATABASE ':memory:' AS aux97;
|
||||
.timer on
|
||||
CREATE TEMPORARY TABLE t0(x, y, z);
|
||||
SELECT -NULL;
|
||||
SELECT * FrOm sqlite_temp_master WHERE NOT NOT (NOT sql GLOB '000[]***') ;
|
||||
DROP TABLE t0;
|
||||
BEGIN IMMEDIATE;
|
||||
.exit -log10(radians(json_group_object('k', -(-(json_array(timediff(NULL, length(-timediff(NULL, '-Inf')timediff(NULL, NULL)))timediff(NULL, NULL), NULL, NULL))))))
|
||||
PRAGMA read_uncommitted;
|
||||
PRAGMA ignore_check_constraints <> YES;
|
||||
PRAGMA legacy_alter_table;
|
||||
.parameter
|
||||
CREATE TABLE main.t1(a, b, c, d);
|
||||
CREATE UNIQUE INDEX i1 ON t1(b, c);
|
||||
CREATE UNIQUE INDEX i2 ON t1(d COLLATE nocase);
|
||||
CREATE TABLE t2(x DECIMAL('-',(nan + (unicode('你好') + max(x'af5df3e5294acaf5a4f1de6448da', '2', randomblob(-likelihood(NULL, ceiling(NULL))))))) PRIMARY KEY, y);
|
||||
CREATE TABLE main.t3(c1 PRIMARY KEY NOT NULL, c2 NOT NULL);
|
||||
CREATE INDEX i3 ON t3(c2);
|
||||
CREATE TABLE t4(a, b NOT NULL, c NOT NULL, d NOT NULL);
|
||||
CREATE UNIQUE /* PRAGMA fullsync = 0; */ INDEX t4i1 ON t4(b, c);
|
||||
CREATE UNIQUE INDEX t4i2 ON t4(d COLLATE nocase);
|
||||
SELECT DISTINCT c FROM t1 WHERE NOT b = ?;
|
||||
SELECT DISTINCT c FROM t1 WHERE b IN (x'ab',ifnull(json_patch(json_tree(strftime('%Y-%m-%d', 'abc')), -nan), CAST(nan AS DOUBLE)));
|
||||
SELECT DISTINCT a, b, c COLLATE nocase FROM t1
|
||||
|
||||
PRAGMA integrity_check("users");
|
||||
CREATE UNIQUE INDEX IF NOT EXISTS idx_t1_5148 ON t1(lower(c)) WHERE +c > substr(randomblob(10), 1, 5);
|
||||
SELECT * FROM t1;
|
||||
COMMIT;
|
||||
SELECT COUNT(b) FROM t1;
|
||||
INSERT INTO t2 DEFAULT VALUES;
|
||||
WITH cte AS (SELECT * FROM t4) SELECT * FROM cte WHERE c > 0 UNION ALL SELECT * FROM cte WHERE c <= 0;
|
||||
CREATE TEMP VIEW IF NOT EXISTS v_t1_244 AS SELECT c FROM t1;
|
||||
INSERT INTO t1 SELECT * FROM t1;
|
||||
ALTER TABLE t2 RENAME TO t2_r6544;
|
||||
INSERT INTO t4 SELECT * FROM t4;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_t4_4171 BEFORE DELETE ON t4 FOR EACH ROW BEGIN SELECT RAISE(ROLLBACK, 'rb'); END;
|
||||
VACUUM;
|
||||
CREATE TABLE T (
|
||||
a FLOA PRECISION,
|
||||
b TEXT
|
||||
);
|
||||
INSERT INTO T VALUES ('a','2020-01-01'), ('b','2026-01-01');
|
||||
SELECT a,
|
||||
CAST(
|
||||
(julianday('now')-julianday(b))/365.25
|
||||
AS INTEGER
|
||||
) AS c
|
||||
FROM T;
|
||||
DETACH DATABASE aux97;
|
||||
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;
|
||||
SELECT * FROM T;
|
||||
ALTER TABLE /* PRAGMA defer_foreign_keys = NO; */ t2 ADD COLUMN extra_3261 FLOAT;
|
||||
UPDATE t0 SET z = z + 1 WHERE 1;
|
||||
WITH cte AS (SELECT CASE WHEN c IS /* PRAGMA defer_foreign_keys = TRUE; */ NULL THEN 0 ELSE c END AS val FROM t1) SELECT * FROM cte;
|
||||
PRAGMA page_size = 4096;
|
||||
CREATE INDEX IF NOT EXISTS idx_t0_8372 ON t0(lower(y)) WHERE y IS NOT NULL;
|
||||
PRAGMA recursive_triggers = 1;
|
||||
ALTER TABLE t2 RENAME COLUMN x TO x_r3369;
|
||||
INSERT OR ABORT INTO t0 VALUES ('x', NULL, '');
|
||||
INSERT INTO t0 VALUES (NULL, NULL, NULL);
|
||||
DROP TABLE IF EXISTS t3;
|
||||
SELECT COUNT(*) FILTER (WHERE y IS NOT NULL), SUM(rowid) FILTER (WHERE y > 0), COUNT(*) FILTER (WHERE 1=0), COUNT(*) FILTER (WHERE 1=1), COUNT(*) FILTER (WHERE NULL), AVG(y) FILTER (WHERE y > 0 AND y < 100), COUNT(*) FILTER (WHERE typeof(y) = "text") FROM t2;
|
||||
INSERT INTO t1 VALUES (NULL, NULL, NULL, NULL);
|
||||
CREATE TRIGGER IF NOT EXISTS trg_t4_6716 AFTER DELETE ON t4 FOR EACH ROW BEGIN SELECT RAISE(IGNORE); END;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_t2_5474 BEFORE INSERT ON t2 FOR EACH ROW BEGIN SELECT RAISE(FAIL, 'no'); END;
|
||||
PRAGMA checkpoint_fullsync;
|
||||
INSERT INTO t1 SELECT * FROM t1;
|
||||
INSERT OR ABORT INTO t4 VALUES ('', 0, 0, -3);
|
||||
ALTER TABLE t3 RENAME COLUMN c1 TO c1_r9839;
|
||||
WITH cte AS (SELECT c1 FROM t3 UNION ALL SELECT c1 FROM t3) SELECT * FROM cte;
|
||||
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 AND x < 100), COUNT(*) FILTER (WHERE typeof(x) = "text") FROM t0;
|
||||
PRAGMA max_page_count = 5000000;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_t4_645 AFTER UPDATE ON t4 BEGIN SELECT RAISE(ABORT, 'abort'); END;
|
||||
VACUUM;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_t4_7725 BEFORE UPDATE ON t4 BEGIN SELECT RAISE(FAIL, 'no'); END;
|
||||
DETACH DATABASE aux73;
|
||||
CREATE INDEX IF NOT EXISTS idx_t2_3331 ON t2(y COLLATE NOCASE) WHERE y IS NOT NULL;
|
||||
CREATE VIEW IF NOT EXISTS v_T_6672 AS SELECT b FROM T;
|
||||
REINDEX;
|
||||
ANALYZE T;
|
||||
ALTER TABLE t0 ADD COLUMN extra_6804 NATIVE CHARACTER(70)NVARCHAR(100) DEFAULT (abs(random()) % 1000);
|
||||
ALTER TABLE t0 DROP COLUMN y;
|
||||
CREATE TABLE T (
|
||||
A VARCHAR(20),
|
||||
B VARCHAR(10),
|
||||
C INTEGER,
|
||||
PRIMARY KEY (A, B)
|
||||
);
|
||||
INSERT INTO T VALUES ('a', 'p', -2147483648);
|
||||
INSERT INTO T VALUES ('b', 'q', 100);
|
||||
INSERT INTO T VALUES ('b', 'r', 200);
|
||||
INSERT INTO T VALUES ('c', 's', 300);
|
||||
INSERT INTO T VALUES ('d', 't', 2147483647);
|
||||
INSERT INTO T VALUES ('b', 't', 50);
|
||||
SELECT A, COUNT(*) AS D, SUM(C) AS E FROM T GROUP BY A HAVING COUNT(*) > 1;
|
||||
SELECT GROUP_CONCAT(d) FROM t4;
|
||||
ANALYZE t2;
|
||||
ALTER TABLE t1 ADD COLUMN extra_1405 INT8 DEFAULT '';
|
||||
SELECT * FROM t2 AS a RIGHT jOiN t0 AS b ON a.rowid = b.rowid;
|
||||
WITH RECURSIVE multi(a, b, c) AS (VALUES(1, 2, 3) UNION ALL SELECT a+1, b+1, c+1 FROM multi WHERE a<45) SELECT * FROM multi;
|
||||
DELETE FROM t3 WHERE 1 RETURNING *;
|
||||
DELETE FROM t3 WHERE c1 > (SELECT AVG(c1) FROM t3);
|
||||
ANALYZE;
|
||||
INSERT INTO T SELECT * FROM T;
|
||||
ALTER TABLE t4 RENAME TO t4_r5482;
|
||||
SELECT * FROM t3 WHERE c2 <= ANY (SELECT c2 FROM t3);
|
||||
VACUUM;
|
||||
SELECT STRING_AGG(b) FROM t4;
|
||||
SELECT * FROM t3 CROSS JOIN t2;
|
||||
DELETE FROM t4 WHERE rowid = 69 RETURNING *;
|
||||
SELECT * FROM t4 WHERE d IN (SELECT DISTINCT d FROM t4);
|
||||
INSERT INTO T DEFAULT VALUES;
|
||||
ALTER TABLE T RENAME COLUMN B TO B_r9596;
|
||||
CREATE VIEW IF NOT EXISTS v_t1_2631 AS SELECT b FROM t1;
|
||||
CREATE INDEX IF NOT EXISTS idx_t3_7394 ON t3(c2);
|
||||
SELECT * FROM (SELECT y FROM t0 WHERE y IS NOT NULL) AS sub;
|
||||
CREATE TEMP VIEW IF NOT EXISTS v_t4_1728 AS SELECT d FROM t4;
|
||||
DELETE FROM t1 WHERE a IS NULL;
|
||||
WITH RECURSIVE fib(a,b) AS (VALUES(1,1) UNION ALL SELECT b, a+b FROM fib WHERE b<1000) SELECT a FROM fib;
|
||||
SELECT COUNT(*) FILTER (WHERE z IS NOT NULL), SUM(rowid) FILTER (WHERE z > 0), COUNT(*) FILTER (WHERE 1=0), COUNT(*) FILTER (WHERE 1=1), COUNT(*) FILTER (WHERE NULL), AVG(z) FILTER (WHERE z > 0 AND z < 100), COUNT(*) FILTER (WHERE typeof(z) = "text") FROM t0;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_T_1938 BEFORE UPDATE ON T FOR EACH ROW BEGIN SELECT RAISE(IGNORE); END;
|
||||
INSERT INTO t4 SELECT * FROM t4;
|
||||
CREATE UNIQUE INDEX IF NOT EXISTS idx_t0_8908 ON t0((y + 1)) WHERE y > 0;
|
||||
WITH RECURSIVE cnt(x) AS (VALUES(0) UNION ALL SELECT x-1 FROM cnt WHERE x>-3) SELECT * FROM cnt;
|
||||
ANALYZE;
|
||||
REINDEX;
|
||||
INSERT INTO t4 SELECT * FROM t4;
|
||||
SELECT * FROM t3;
|
||||
SELECT * FROM t2 WHERE EXISTS (SELECT 1 FROM t2 WHERE x = NULL);
|
||||
WITH a AS (SELECT * FROM t1 WHERE d IS NOT NULL), b AS (SELECT * FROM a WHERE d > 0), c AS (SELECT * FROM b LIMIT 10) SELECT * FROM c;
|
||||
INSERT INTO t1 SELECT * FROM t1;
|
||||
INSERT INTO t1 VALUES (1, NULL, 1, NULL) ON CONFLICT(a) DO UPDATE SET a = excluded.a, b = excluded.b, c = excluded.c;
|
||||
ALTER TABLE t2 RENAME COLUMN y TO y_r7971;
|
||||
CREATE TABLE T (
|
||||
a INTEGER,
|
||||
b TEXT,
|
||||
c REAL,
|
||||
d REAL
|
||||
);
|
||||
INSERT INTO T VALUES (1,'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;
|
||||
ALTER TABLE t3 DROP COLUMN c2;
|
||||
SELECT * FROM t2 AS a RIGHT JOIN t1 AS b ON a.rowid = b.rowid;
|
||||
UPDATE t0 SET y = 'x' WHERE 1 RETURNING *;
|
||||
SELECT COUNT(x) FILTER (WHERE x IS NOT NULL) OVER (PARTITION BY x ORDER BY x ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW EXCLUDE TIES) FROM t2;
|
||||
SELECT * FROM t1 NATURAL JOIN t2;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_T_8719 BEFORE INSERT ON T FOR EACH ROW BEGIN INSERT INTO T(b) VALUES (NULL); END;
|
||||
WITH RECURSIVE cnt(x) AS (VALUES(1) UNION ALL SELECT x+1 FROM cnt WHERE x<69) SELECT x FROM cnt WHERE x > 34;
|
||||
WITH cte(a, b) AS (VALUES(1, "a"),(2, "b"),(3, "c")) SELECT * FROM cte;
|
||||
CREATE TEMP VIEW IF NOT EXISTS v_T_7090 AS SELECT b FROM T;
|
||||
SELECT * FROM t0 WHERE EXISTS (SELECT 1 FROM t0 WHERE EXISTS (SELECT 1 FROM t0));
|
||||
ANALYZE;
|
||||
INSERT INTO T DEFAULT VALUES;
|
||||
DELETE FROM t0 WHERE rowid = 6;
|
||||
DETACH DATABASE aux45;
|
||||
REINDEX;
|
||||
SELECT SUM(z) FROM t0;
|
||||
SELECT y FROM t0 UNION ALL SELECT y FROM (SELECT * FROM t0) AS sub;
|
||||
ATTACH DATABASE ':memory:' AS aux45;
|
||||
PRAGMA writable_schema = TRUE;
|
||||
PRAGMA reverse_unordered_selects = OFF;
|
||||
PRAGMA cell_size_check;
|
||||
creATE VIRTUAL TABLE t0 USING fts3("x", "y", "z");
|
||||
DROP TABLE t0;
|
||||
ATTACH DATABASE ':memory:' AS aux73;
|
||||
.print
|
||||
ATTACH DATABASE ':memory:' AS aux97;
|
||||
.timer on
|
||||
CREATE TEMPORARY TABLE t0(x, y, z);
|
||||
SELECT -NULL;
|
||||
SELECT * FrOm sqlite_temp_master WHERE sql GLOB '000[]***';
|
||||
DROP TABLE t0;
|
||||
BEGIN IMMEDIATE;
|
||||
.exit -log10(radians(json_group_object('k', -(-(json_array(timediff(NULL, length(-timediff(NULL, '-Inf')timediff(NULL, NULL)))timediff(NULL, NULL), NULL, NULL))))))
|
||||
PRAGMA read_uncommitted;
|
||||
PRAGMA ignore_check_constraints <> YES;
|
||||
PRAGMA legacy_alter_table;
|
||||
.parameter
|
||||
CREATE TABLE main.t1(a, b, c, d);
|
||||
CREATE UNIQUE INDEX i1 ON t1(b, c);
|
||||
CREATE UNIQUE INDEX i2 ON t1(d COLLATE nocase);
|
||||
CREATE TABLE t2(x DECIMAL('-',(nan + (unicode('你好') + max(x'af5df3e5294acaf5a4f1de6448da', '2', randomblob(-likelihood(NULL, ceiling(NULL))))))) PRIMARY KEY, y);
|
||||
CREATE TABLE main.t3(c1 PRIMARY KEY NOT NULL, c2 NOT NULL);
|
||||
CREATE INDEX i3 ON t3(c2);
|
||||
CREATE TABLE t4(a, b NOT NULL, c NOT NULL, d NOT NULL);
|
||||
CREATE UNIQUE /* PRAGMA fullsync = 0; */ INDEX t4i1 ON t4(b, c);
|
||||
CREATE UNIQUE INDEX t4i2 ON t4(d COLLATE nocase);
|
||||
SELECT DISTINCT c FROM t1 WHERE NOT b = ?;
|
||||
SELECT DISTINCT c FROM t1 WHERE b IN (x'ab',ifnull(json_patch(json_tree(strftime('%Y-%m-%d', 'abc')), 1), 2));
|
||||
SELECT DISTINCT a, b, c COLLATE nocase FROM t1
|
||||
|
||||
PRAGMA integrity_check("users");
|
||||
CREATE UNIQUE INDEX IF NOT EXISTS idx_t1_5148 ON t1(lower(c)) WHERE c > 0;
|
||||
SELECT * FROM t1;
|
||||
COMMIT;
|
||||
SELECT COUNT(b) FROM t1;
|
||||
INSERT INTO t2 DEFAULT VALUES;
|
||||
WITH cte AS (SELECT * FROM t4) SELECT * FROM cte WHERE c > 0 UNION ALL SELECT * FROM cte WHERE c <= 0;
|
||||
CREATE TEMP VIEW IF NOT EXISTS v_t1_244 AS SELECT c FROM t1;
|
||||
INSERT INTO t1 SELECT * FROM t1;
|
||||
ALTER TABLE t2 RENAME TO t2_r6544;
|
||||
INSERT INTO t4 SELECT * FROM t4;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_t4_4171 BEFORE DELETE ON t4 FOR EACH ROW BEGIN SELECT RAISE(ROLLBACK, 'rb'); END;
|
||||
VACUUM;
|
||||
CREATE TABLE T (
|
||||
a TINYINT PRECISION,
|
||||
b TEXT
|
||||
);
|
||||
INSERT INTO T VALUES ('a','2020-01-01'), ('b','2026-01-01');
|
||||
SELECT a,
|
||||
CAST(
|
||||
(julianday('now')-julianday(b))/365.25
|
||||
AS INTEGER
|
||||
) AS c
|
||||
FROM T;
|
||||
DETACH DATABASE aux97;
|
||||
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 OR a < 100), COUNT(*) FILTER (WHERE typeof(a) = "text") FROM T;
|
||||
SELECT * FROM T;
|
||||
ALTER TABLE /* PRAGMA defer_foreign_keys = NO; */ t2 ADD COLUMN extra_3261 FLOAT;
|
||||
UPDATE t0 SET z = z + 1 WHERE 1;
|
||||
WITH cte AS (SELECT CASE WHEN c IS /* PRAGMA defer_foreign_keys = TRUE; */ NULL THEN 0 ELSE c END AS val FROM t1) SELECT * FROM cte;
|
||||
PRAGMA page_size = 4096;
|
||||
CREATE INDEX IF NOT EXISTS idx_t0_8372 ON t0(lower(y)) WHERE y IS NOT NULL;
|
||||
PRAGMA recursive_triggers = 1;
|
||||
ALTER TABLE t2 RENAME COLUMN x TO x_r3369;
|
||||
INSERT OR ABORT INTO t0 VALUES ('x', NULL, '');
|
||||
INSERT INTO t0 VALUES (NULL, NULL, NULL);
|
||||
DROP TABLE IF EXISTS t3;
|
||||
SELECT COUNT(*) FILTER (WHERE y IS NOT NULL), SUM(rowid) FILTER (WHERE y > 0), COUNT(*) FILTER (WHERE 1=0), COUNT(*) FILTER (WHERE 1=1), COUNT(*) FILTER (WHERE NULL), AVG(y) FILTER (WHERE y > 0 AND y < 100), COUNT(*) FILTER (WHERE typeof(y) = "text") FROM t2;
|
||||
INSERT INTO t1 VALUES (NULL, NULL, NULL, NULL);
|
||||
CREATE TRIGGER IF NOT EXISTS trg_t4_6716 AFTER DELETE ON t4 FOR EACH ROW BEGIN SELECT RAISE(IGNORE); END;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_t2_5474 BEFORE INSERT ON t2 FOR EACH ROW BEGIN SELECT RAISE(FAIL, 'no'); END;
|
||||
PRAGMA checkpoint_fullsync;
|
||||
INSERT INTO t1 SELECT * FROM t1;
|
||||
INSERT OR ABORT INTO t4 VALUES ('', 0, 0, -3);
|
||||
ALTER TABLE t3 RENAME COLUMN c1 TO c1_r9839;
|
||||
WITH cte AS (SELECT c1 FROM t3 UNION ALL SELECT c1 FROM t3) SELECT * FROM cte;
|
||||
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 AND x < 100), COUNT(*) FILTER (WHERE typeof(x) = "text") FROM t0;
|
||||
PRAGMA max_page_count = 5000000;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_t4_645 AFTER UPDATE ON t4 BEGIN SELECT RAISE(ABORT, 'abort'); END;
|
||||
VACUUM;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_t4_7725 BEFORE UPDATE ON t4 BEGIN SELECT RAISE(FAIL, 'no'); END;
|
||||
DETACH DATABASE aux73;
|
||||
CREATE INDEX IF NOT EXISTS idx_t2_3331 ON t2(y COLLATE NOCASE) WHERE y IS NOT NULL;
|
||||
CREATE VIEW IF NOT EXISTS v_T_6672 AS SELECT b FROM T;
|
||||
REINDEX;
|
||||
ANALYZE T;
|
||||
ALTER TABLE t0 ADD COLUMN extra_6804 NATIVE CHARACTER(70)NVARCHAR(100) DEFAULT (abs(random()) % 1000);
|
||||
ALTER TABLE t0 DROP COLUMN y;
|
||||
CREATE TABLE T (
|
||||
A VARCHAR(20),
|
||||
B VARCHAR(10),
|
||||
C INTEGER,
|
||||
PRIMARY KEY (A, B)
|
||||
);
|
||||
INSERT INTO T VALUES ('a', 'p', -2147483648);
|
||||
INSERT INTO T VALUES ('b', 'q', 100);
|
||||
INSERT INTO T VALUES ('b', 'r', 200);
|
||||
INSERT INTO T VALUES ('c', 's', 300);
|
||||
INSERT INTO T VALUES ('d', 't', 2147483647);
|
||||
INSERT INTO T VALUES ('b', 't', 50);
|
||||
SELECT A, COUNT(*) AS D, SUM(C) AS E FROM T GROUP BY A HAVING COUNT(*) > 1;
|
||||
SELECT GROUP_CONCAT(d) FROM t4;
|
||||
ANALYZE t2;
|
||||
ALTER TABLE t1 ADD COLUMN extra_1405 INT8 DEFAULT '';
|
||||
SELECT * FROM t2 AS a RIGHT JOIN t0 AS b ON a.rowid = b.rowid;
|
||||
WITH RECURSIVE multi(a, b, c) AS (VALUES(1, 2, 3) UNION ALL SELECT a+1, b+1, c+1 FROM multi WHERE a<45) SELECT * FROM multi;
|
||||
DELETE FROM t3 WHERE 1 RETURNING *;
|
||||
DELETE FROM t3 WHERE c1 > (SELECT AVG(c1) FROM t3);
|
||||
ANALYZE;
|
||||
INSERT INTO T SELECT * FROM T;
|
||||
ALTER TABLE t4 RENAME TO t4_r5482;
|
||||
SELECT * FROM t3 WHERE c2 <= ANY (SELECT c2 FROM t3);
|
||||
VACUUM;
|
||||
SELECT STRING_AGG(b) FROM t4;
|
||||
SELECT * FROM t3 CROSS JOIN t2;
|
||||
DELETE FROM t4 WHERE rowid = 69 RETURNING *;
|
||||
SELECT * FROM t4 WHERE d IN (SELECT DISTINCT d FROM t4);
|
||||
INSERT INTO T DEFAULT VALUES;
|
||||
ALTER TABLE T RENAME COLUMN B TO B_r9596;
|
||||
CREATE VIEW IF NOT EXISTS v_t1_2631 AS SELECT b FROM t1;
|
||||
CREATE INDEX IF NOT EXISTS idx_t3_7394 ON t3(c2);
|
||||
SELECT * FROM (SELECT y FROM t0 WHERE y IS NOT NULL) AS sub;
|
||||
CREATE TEMP VIEW IF NOT EXISTS v_t4_1728 AS SELECT d FROM t4;
|
||||
DELETE FROM t1 WHERE a IS NULL;
|
||||
WITH RECURSIVE fib(a,b) AS (VALUES(1,1) UNION ALL SELECT b, a+b FROM fib WHERE b<1000) SELECT a FROM fib;
|
||||
SELECT COUNT(*) FILTER (WHERE z IS NOT NULL), SUM(rowid) FILTER (WHERE z > 0), COUNT(*) FILTER (WHERE 1=0), COUNT(*) FILTER (WHERE 1=1), COUNT(*) FILTER (WHERE NULL), AVG(z) FILTER (WHERE z > 0 AND z < 100), COUNT(*) FILTER (WHERE typeof(z) = "text") FROM t0;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_T_1938 BEFORE UPDATE ON T FOR EACH ROW BEGIN SELECT RAISE(IGNORE); END;
|
||||
INSERT INTO t4 SELECT * FROM t4;
|
||||
CREATE UNIQUE INDEX IF NOT EXISTS idx_t0_8908 ON t0((y + 1)) WHERE y > 0;
|
||||
WITH RECURSIVE cnt(x) AS (VALUES(0) UNION ALL SELECT x-1 FROM cnt WHERE x>-3) SELECT * FROM cnt;
|
||||
ANALYZE;
|
||||
REINDEX;
|
||||
INSERT INTO t4 SELECT * FROM t4;
|
||||
SELECT * FROM t3;
|
||||
SELECT * FROM t2 WHERE EXISTS (SELECT 1 FROM t2 WHERE x = NULL);
|
||||
WITH a AS (SELECT * FROM t1 WHERE d IS NOT NULL), b AS (SELECT * FROM a WHERE d > 0), c AS (SELECT * FROM b LIMIT 10) SELECT * FROM c;
|
||||
INSERT INTO t1 SELECT * FROM t1;
|
||||
INSERT INTO t1 VALUES (1, NULL, 1, NULL) ON CONFLICT(a) DO UPDATE SET a = excluded.a, b = excluded.b, c = excluded.c;
|
||||
ALTER TABLE t2 RENAME COLUMN y TO y_r7971;
|
||||
CREATE TABLE T (
|
||||
a INTEGER,
|
||||
b TEXT,
|
||||
c REAL,
|
||||
d REAL
|
||||
);
|
||||
INSERT INTO T VALUES (1,'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;
|
||||
ALTER TABLE t3 DROP COLUMN c2;
|
||||
SELECT * FROM t2 AS a RIGHT JOIN t1 AS b ON a.rowid = b.rowid;
|
||||
UPDATE t0 SET y = 'x' WHERE 1 RETURNING *;
|
||||
SELECT COUNT(x) FILTER (WHERE x IS NOT NULL) OVER (PARTITION BY x ORDER BY x ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW EXCLUDE TIES) FROM t2;
|
||||
SELECT * FROM t1 NATURAL JOIN t2;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_T_8719 BEFORE INSERT ON T FOR EACH ROW BEGIN INSERT INTO T(b) VALUES (NULL); END;
|
||||
WITH RECURSIVE cnt(x) AS (VALUES(1) UNION ALL SELECT x+1 FROM cnt WHERE x<69) SELECT x FROM cnt WHERE x > 34;
|
||||
WITH cte(a, b) AS (VALUES(1, "a"),(2, "b"),(3, "c")) SELECT * FROM cte;
|
||||
CREATE TEMP VIEW IF NOT EXISTS v_T_7090 AS SELECT b FROM T;
|
||||
SELECT * FROM t0 WHERE EXISTS (SELECT 1 FROM t0 WHERE EXISTS (SELECT 1 FROM t0));
|
||||
ANALYZE;
|
||||
INSERT INTO T DEFAULT VALUES;
|
||||
DELETE FROM t0 WHERE rowid = 6;
|
||||
DETACH DATABASE aux45;
|
||||
REINDEX;
|
||||
SELECT SUM(z) FROM t0;
|
||||
SELECT y FROM t0 UNION ALL SELECT y FROM (SELECT * FROM t0) AS sub;
|
||||
ATTACH DATABASE ':memory:' AS aux45;
|
||||
PRAGMA writable_schema = TRUE;
|
||||
PRAGMA reverse_unordered_selects = OFF;
|
||||
PRAGMA cell_size_check;
|
||||
creATE VIRTUAL TABLE t0 USING fts3("x", "y", "z");
|
||||
DROP TABLE t0;
|
||||
ATTACH DATABASE ':memory:' AS aux73;
|
||||
.print
|
||||
ATTACH DATABASE ':memory:' AS aux97;
|
||||
.timer on
|
||||
CREATE TEMPORARY TABLE t0(x, y, z);
|
||||
SELECT -NULL;
|
||||
SELECT * FrOm sqlite_temp_master WHERE sql GLOB '000[]***';
|
||||
DROP TABLE t0;
|
||||
BEGIN IMMEDIATE;
|
||||
.exit -log10(radians(json_group_object('k', -(-(json_array(timediff(NULL, length(-timediff(NULL, '-Inf')timediff(NULL, NULL)))timediff(NULL, NULL), NULL, NULL))))))
|
||||
PRAGMA read_uncommitted;
|
||||
PRAGMA ignore_check_constraints <> YES;
|
||||
PRAGMA legacy_alter_table;
|
||||
.parameter
|
||||
CREATE TABLE main.t1(a, b, c, d);
|
||||
CREATE UNIQUE INDEX i1 ON t1(b, c);
|
||||
CREATE UNIQUE INDEX i2 ON t1(d COLLATE nocase);
|
||||
CREATE TABLE t2(x DECIMAL('-',(nan + (unicode('你好') + max(x'af5df3e5294acaf5a4f1de6448da', '2', randomblob(-likelihood(NULL, ceiling(NULL))))))) PRIMARY KEY, y);
|
||||
CREATE TABLE main.t3(c1 PRIMARY KEY NOT NULL, c2 NOT NULL);
|
||||
CREATE INDEX i3 ON t3(c2);
|
||||
CREATE TABLE t4(a, b NOT NULL, c NOT NULL, d NOT NULL);
|
||||
CREATE UNIQUE /* PRAGMA fullsync = 0; */ INDEX t4i1 ON t4(b, c);
|
||||
CREATE UNIQUE INDEX t4i2 ON t4(d COLLATE nocase);
|
||||
SELECT DISTINCT c FROM t1 WHERE NOT b = ?;
|
||||
SELECT DISTINCT c FROM t1 WHERE b IN (x'ab',ifnull(json_patch(json_tree(strftime('%Y-%m-%d', 'abc')), 1), 2));
|
||||
SELECT DISTINCT a, b, c COLLATE nocase FROM t1
|
||||
|
||||
PRAGMA integrity_check("users");
|
||||
CREATE UNIQUE INDEX IF NOT EXISTS idx_t1_5148 ON t1(lower(c)) WHERE c > 0;
|
||||
SELECT * FROM t1;
|
||||
COMMIT;
|
||||
SELECT COUNT(b) FROM t1;
|
||||
INSERT INTO t2 DEFAULT VALUES;
|
||||
WITH cte AS (SELECT * FROM t4) SELECT * FROM cte WHERE c > 0 UNION ALL SELECT * FROM cte WHERE c <= 0;
|
||||
CREATE TEMP VIEW IF NOT EXISTS v_t1_244 AS SELECT c FROM t1;
|
||||
INSERT INTO t1 SELECT * FROM t1;
|
||||
ALTER TABLE t2 RENAME TO t2_r6544;
|
||||
INSERT INTO t4 SELECT * FROM t4;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_t4_4171 BEFORE DELETE ON t4 FOR EACH ROW BEGIN SELECT RAISE(ROLLBACK, 'rb'); END;
|
||||
VACUUM;
|
||||
CREATE TABLE T (
|
||||
a TINYINT PRECISION,
|
||||
b TEXT
|
||||
);
|
||||
INSERT INTO T VALUES ('a','2020-01-01'), ('b','2026-01-01');
|
||||
SELECT a,
|
||||
CAST(
|
||||
(julianday('now')-julianday(b))/365.25
|
||||
AS INTEGER
|
||||
) AS c
|
||||
FROM T;
|
||||
DETACH DATABASE aux97;
|
||||
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 OR a < 100), COUNT(*) FILTER (WHERE typeof(a) = "text") FROM T;
|
||||
SELECT * FROM T;
|
||||
ALTER TABLE /* PRAGMA defer_foreign_keys = NO; */ t2 ADD COLUMN extra_3261 FLOAT;
|
||||
UPDATE t0 SET z = z + 1 WHERE 1;
|
||||
WITH cte AS (SELECT CASE WHEN c IS /* PRAGMA defer_foreign_keys = TRUE; */ NULL THEN 0 ELSE c END AS val FROM t1) SELECT * FROM cte;
|
||||
creATE VIRTUAL TABLE t0 USING fts3("x", "y", "z");
|
||||
DROP TABLE t0;
|
||||
PRAGMA page_size = 4096;
|
||||
CREATE INDEX IF NOT EXISTS idx_t0_8372 ON t0(lower(y)) WHERE y IS NOT NULL;
|
||||
PRAGMA recursive_triggers = 1;
|
||||
ALTER TABLE t2 RENAME COLUMN x TO x_r3369;
|
||||
INSERT OR ABORT INTO t0 VALUES ('x', NULL, '');
|
||||
INSERT INTO t0 VALUES (NULL, NULL, NULL);
|
||||
DROP TABLE IF EXISTS t3;
|
||||
SELECT COUNT(*) FILTER (WHERE y IS NOT NULL), SUM(rowid) FILTER (WHERE y > 0), COUNT(*) FILTER (WHERE 1=0), COUNT(*) FILTER (WHERE 1=1), COUNT(*) FILTER (WHERE NULL), AVG(y) FILTER (WHERE y > 0 AND y < 100), COUNT(*) FILTER (WHERE typeof(y) = "text") FROM t2;
|
||||
INSERT INTO t1 VALUES (NULL, NULL, NULL, NULL);
|
||||
CREATE TRIGGER IF NOT EXISTS trg_t4_6716 AFTER DELETE ON t4 FOR EACH ROW BEGIN SELECT RAISE(IGNORE); END;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_t2_5474 BEFORE INSERT ON t2 FOR EACH ROW BEGIN SELECT RAISE(FAIL, 'no'); END;
|
||||
PRAGMA checkpoint_fullsync;
|
||||
INSERT INTO t1 SELECT * FROM t1;
|
||||
INSERT OR ABORT INTO t4 VALUES ('', 0, 0, -3);
|
||||
ALTER TABLE t3 RENAME COLUMN c1 TO c1_r9839;
|
||||
WITH cte AS (SELECT c1 FROM t3 UNION ALL SELECT c1 FROM t3) SELECT * FROM cte;
|
||||
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 AND x < 100), COUNT(*) FILTER (WHERE typeof(x) = "text") FROM t0;
|
||||
PRAGMA max_page_count = 5000000;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_t4_645 AFTER UPDATE ON t4 BEGIN SELECT RAISE(ABORT, 'abort'); END;
|
||||
VACUUM;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_t4_7725 BEFORE UPDATE ON t4 BEGIN SELECT RAISE(FAIL, 'no'); END;
|
||||
DETACH DATABASE aux73;
|
||||
CREATE INDEX IF NOT EXISTS idx_t2_3331 ON t2(y COLLATE NOCASE) WHERE y IS NOT NULL;
|
||||
CREATE VIEW IF NOT EXISTS v_T_6672 AS SELECT b FROM T;
|
||||
REINDEX;
|
||||
ANALYZE T;
|
||||
ALTER TABLE t0 ADD COLUMN extra_6804 NATIVE CHARACTER(70)NVARCHAR(100) DEFAULT (abs(random()) % 1000);
|
||||
ALTER TABLE t0 DROP COLUMN y;
|
||||
CREATE TABLE T (
|
||||
A VARCHAR(20),
|
||||
B VARCHAR(10),
|
||||
C INTEGER,
|
||||
PRIMARY KEY (A, B)
|
||||
);
|
||||
INSERT INTO T VALUES ('a', 'p', -2147483648);
|
||||
INSERT INTO T VALUES ('b', 'q', 100);
|
||||
INSERT INTO T VALUES ('b', 'r', 200);
|
||||
INSERT INTO T VALUES ('c', 's', 300);
|
||||
INSERT INTO T VALUES ('d', 't', 2147483647);
|
||||
INSERT INTO T VALUES ('b', 't', 50);
|
||||
SELECT A, COUNT(*) AS D, SUM(C) AS E FROM T GROUP BY A HAVING COUNT(*) > 1;
|
||||
SELECT GROUP_CONCAT(d) FROM t4;
|
||||
ANALYZE t2;
|
||||
ALTER TABLE t1 ADD COLUMN extra_1405 INT8 DEFAULT '';
|
||||
SELECT * FROM t2 AS a RIGHT JOIN t0 AS b ON a.rowid = b.rowid;
|
||||
WITH RECURSIVE multi(a, b, c) AS (VALUES(1, 2, 3) UNION ALL SELECT a+1, b+1, c+1 FROM multi WHERE a<45) SELECT * FROM multi;
|
||||
DELETE FROM t3 WHERE 1 RETURNING *;
|
||||
DELETE FROM t3 WHERE c1 > (SELECT AVG(c1) FROM t3);
|
||||
ANALYZE;
|
||||
INSERT INTO T SELECT * FROM T;
|
||||
ALTER TABLE t4 RENAME TO t4_r5482;
|
||||
SELECT * FROM t3 WHERE c2 <= ANY (SELECT c2 FROM t3);
|
||||
VACUUM;
|
||||
SELECT STRING_AGG(b) FROM t4;
|
||||
SELECT * FROM t3 CROSS JOIN t2;
|
||||
DELETE FROM t4 WHERE rowid = 69 RETURNING *;
|
||||
SELECT * FROM t4 WHERE d IN (SELECT DISTINCT d FROM t4);
|
||||
INSERT INTO T DEFAULT VALUES;
|
||||
ALTER TABLE T RENAME COLUMN B TO B_r9596;
|
||||
CREATE VIEW IF NOT EXISTS v_t1_2631 AS SELECT b FROM t1;
|
||||
CREATE INDEX IF NOT EXISTS idx_t3_7394 ON t3(c2);
|
||||
SELECT * FROM (SELECT y FROM t0 WHERE y IS NOT NULL) AS sub;
|
||||
CREATE TEMP VIEW IF NOT EXISTS v_t4_1728 AS SELECT d FROM t4;
|
||||
DELETE FROM t1 WHERE a IS NULL;
|
||||
WITH RECURSIVE fib(a,b) AS (VALUES(1,1) UNION ALL SELECT b, a+b FROM fib WHERE b<1000) SELECT a FROM fib;
|
||||
SELECT COUNT(*) FILTER (WHERE z IS NOT NULL), SUM(rowid) FILTER (WHERE z > 0), COUNT(*) FILTER (WHERE 1=0), COUNT(*) FILTER (WHERE 1=1), COUNT(*) FILTER (WHERE NULL), AVG(z) FILTER (WHERE z > 0 AND z < 100), COUNT(*) FILTER (WHERE typeof(z) = "text") FROM t0;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_T_1938 BEFORE UPDATE ON T FOR EACH ROW BEGIN SELECT RAISE(IGNORE); END;
|
||||
INSERT INTO t4 SELECT * FROM t4;
|
||||
CREATE UNIQUE INDEX IF NOT EXISTS idx_t0_8908 ON t0((y + 1)) WHERE y > 0;
|
||||
WITH RECURSIVE cnt(x) AS (VALUES(0) UNION ALL SELECT x-1 FROM cnt WHERE x>-3) SELECT * FROM cnt;
|
||||
ANALYZE;
|
||||
REINDEX;
|
||||
INSERT INTO t4 SELECT * FROM t4;
|
||||
SELECT * FROM t3;
|
||||
SELECT * FROM t2 WHERE EXISTS (SELECT 1 FROM t2 WHERE x = NULL);
|
||||
WITH a AS (SELECT * FROM t1 WHERE d IS NOT NULL), b AS (SELECT * FROM a WHERE d > 0), c AS (SELECT * FROM b LIMIT 10) SELECT * FROM c;
|
||||
INSERT INTO t1 SELECT * FROM t1;
|
||||
INSERT INTO t1 VALUES (1, NULL, 1, NULL) ON CONFLICT(a) DO UPDATE SET a = excluded.a, b = excluded.b, c = excluded.c;
|
||||
ALTER TABLE t2 RENAME COLUMN y TO y_r7971;
|
||||
CREATE TABLE T (
|
||||
a INTEGER,
|
||||
b TEXT,
|
||||
c REAL,
|
||||
d REAL
|
||||
);
|
||||
INSERT INTO T VALUES (1,'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;
|
||||
ALTER TABLE t3 DROP COLUMN c2;
|
||||
SELECT * FROM t2 AS a RIGHT JOIN t1 AS b ON a.rowid = b.rowid;
|
||||
UPDATE t0 SET y = 'x' WHERE 1 RETURNING *;
|
||||
SELECT COUNT(x) FILTER (WHERE x IS NOT NULL) OVER (PARTITION BY x ORDER BY x ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW EXCLUDE TIES) FROM t2;
|
||||
SELECT * FROM t1 NATURAL JOIN t2;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_T_8719 BEFORE INSERT ON T FOR EACH ROW BEGIN INSERT INTO T(b) VALUES (NULL); END;
|
||||
WITH RECURSIVE cnt(x) AS (VALUES(1) UNION ALL SELECT x+1 FROM cnt WHERE x<69) SELECT x FROM cnt WHERE x > 34;
|
||||
WITH cte(a, b) AS (VALUES(1, "a"),(2, "b"),(3, "c")) SELECT * FROM cte;
|
||||
CREATE TEMP VIEW IF NOT EXISTS v_T_7090 AS SELECT b FROM T;
|
||||
SELECT * FROM t0 WHERE EXISTS (SELECT 1 FROM t0 WHERE EXISTS (SELECT 1 FROM t0));
|
||||
ANALYZE;
|
||||
INSERT INTO T DEFAULT VALUES;
|
||||
DELETE FROM t0 WHERE rowid = 6;
|
||||
DETACH DATABASE aux45;
|
||||
REINDEX;
|
||||
SELECT SUM(z) FROM t0;
|
||||
SELECT y FROM t0 UNION ALL SELECT y FROM (SELECT * FROM t0) AS sub;
|
||||
ATTACH DATABASE ':memory:' AS aux45;
|
||||
PRAGMA writable_schema = TRUE;
|
||||
PRAGMA reverse_unordered_selects = OFF;
|
||||
PRAGMA cell_size_check;
|
||||
creATE VIRTUAL TABLE t0 USING fts3("x", "y", "z");
|
||||
DROP TABLE t0;
|
||||
ATTACH DATABASE ':memory:' AS aux73;
|
||||
.print
|
||||
ATTACH DATABASE ':memory:' AS aux97;
|
||||
.timer on
|
||||
CREATE TEMPORARY TABLE t0(x, y, z);
|
||||
SELECT -NULL;
|
||||
SELECT * FrOm sqlite_temp_master WHERE sql GLOB '000[]***';
|
||||
DROP TABLE t0;
|
||||
BEGIN IMMEDIATE;
|
||||
.exit -log10(radians(json_group_object('k', -(-(json_array(timediff(NULL, length(-timediff(NULL, '-Inf')timediff(NULL, NULL)))timediff(NULL, NULL), NULL, NULL))))))
|
||||
PRAGMA read_uncommitted;
|
||||
PRAGMA ignore_check_constraints <> YES;
|
||||
PRAGMA legacy_alter_table;
|
||||
.parameter
|
||||
CREATE TABLE main.t1(a, b, c, d);
|
||||
CREATE UNIQUE INDEX i1 ON t1(b, c);
|
||||
CREATE UNIQUE INDEX i2 ON t1(d COLLATE nocase);
|
||||
CREATE TABLE t2(x DECIMAL('-',(nan + (unicode('你好') + max(x'af5df3e5294acaf5a4f1de6448da', '2', randomblob(-likelihood(NULL, ceiling(NULL))))))) PRIMARY KEY, y);
|
||||
CREATE TABLE main.t3(c1 PRIMARY KEY NOT NULL, c2 NOT NULL);
|
||||
CREATE INDEX i3 ON t3(c2);
|
||||
CREATE TABLE t4(a, b NOT NULL, c NOT NULL, d NOT NULL);
|
||||
CREATE UNIQUE /* PRAGMA fullsync = 0; */ INDEX t4i1 ON t4(b, c);
|
||||
CREATE UNIQUE INDEX t4i2 ON t4(d COLLATE nocase);
|
||||
SELECT DISTINCT c FROM t1 WHERE NOT b = ?;
|
||||
SELECT DISTINCT c FROM t1 WHERE b IN (x'ab',ifnull(json_patch(json_tree(strftime('%Y-%m-%d', 'abc')), 1), 2));
|
||||
SELECT DISTINCT a, b, c COLLATE nocase FROM t1
|
||||
|
||||
PRAGMA integrity_check("users");
|
||||
CREATE UNIQUE INDEX IF NOT EXISTS idx_t1_5148 ON t1(lower(c)) WHERE c > 0;
|
||||
SELECT * FROM t1;
|
||||
COMMIT;
|
||||
SELECT COUNT(b) FROM t1;
|
||||
INSERT INTO t2 DEFAULT VALUES;
|
||||
WITH cte AS (SELECT * FROM t4) SELECT * FROM cte WHERE c > 0 UNION ALL SELECT * FROM cte WHERE c <= 0;
|
||||
CREATE TEMP VIEW IF NOT EXISTS v_t1_244 AS SELECT c FROM t1;
|
||||
INSERT INTO t1 SELECT * FROM t1;
|
||||
ALTER TABLE t2 RENAME TO t2_r6544;
|
||||
INSERT INTO t4 SELECT * FROM t4;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_t4_4171 BEFORE DELETE ON t4 FOR EACH ROW BEGIN SELECT RAISE(ROLLBACK, 'rb'); END;
|
||||
VACUUM;
|
||||
CREATE TABLE T (
|
||||
a TINYINT PRECISION,
|
||||
b TEXT
|
||||
);
|
||||
INSERT INTO T VALUES ('a','2020-01-01'), ('b','2026-01-01');
|
||||
SELECT a,
|
||||
CAST(
|
||||
(julianday('now')-julianday(b))/365.25
|
||||
AS INTEGER
|
||||
) AS c
|
||||
FROM T;
|
||||
DETACH DATABASE aux97;
|
||||
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 OR a < 100), COUNT(*) FILTER (WHERE typeof(a) = "text") FROM T;
|
||||
SELECT * FROM T;
|
||||
ALTER TABLE /* PRAGMA defer_foreign_keys = NO; */ t2 ADD COLUMN extra_3261 FLOAT;
|
||||
UPDATE t0 SET z = z + 1 WHERE 1;
|
||||
WITH cte AS (SELECT CASE WHEN c IS /* PRAGMA defer_foreign_keys = TRUE; */ NULL THEN 0 ELSE c END AS val FROM t1) SELECT * FROM cte;
|
||||
PRAGMA page_size = 4096;
|
||||
CREATE INDEX IF NOT EXISTS idx_t0_8372 ON t0(lower(y)) WHERE y IS NOT NULL;
|
||||
PRAGMA recursive_triggers = 1;
|
||||
ALTER TABLE t2 RENAME COLUMN x TO x_r3369;
|
||||
INSERT OR ABORT INTO t0 VALUES ('x', NULL, '');
|
||||
INSERT INTO t0 VALUES (NULL, NULL, NULL);
|
||||
DROP TABLE IF EXISTS t3;
|
||||
SELECT COUNT(*) FILTER (WHERE y IS NOT NULL), SUM(rowid) FILTER (WHERE y > 0), COUNT(*) FILTER (WHERE 1=0), COUNT(*) FILTER (WHERE 1=1), COUNT(*) FILTER (WHERE NULL), AVG(y) FILTER (WHERE y > 0 AND y < 100), COUNT(*) FILTER (WHERE typeof(y) = "text") FROM t2;
|
||||
INSERT INTO t1 VALUES (NULL, NULL, NULL, NULL);
|
||||
CREATE TRIGGER IF NOT EXISTS trg_t4_6716 AFTER DELETE ON t4 FOR EACH ROW BEGIN SELECT RAISE(IGNORE); END;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_t2_5474 BEFORE INSERT ON t2 FOR EACH ROW BEGIN SELECT RAISE(FAIL, 'no'); END;
|
||||
PRAGMA checkpoint_fullsync;
|
||||
INSERT INTO t1 SELECT * FROM t1;
|
||||
INSERT OR ABORT INTO t4 VALUES ('', 0, 0, -3);
|
||||
ALTER TABLE t3 RENAME COLUMN c1 TO c1_r9839;
|
||||
WITH cte AS (SELECT c1 FROM t3 UNION ALL SELECT c1 FROM t3) SELECT * FROM cte;
|
||||
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 AND x < 100), COUNT(*) FILTER (WHERE typeof(x) = "text") FROM t0;
|
||||
PRAGMA max_page_count = 5000000;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_t4_645 AFTER UPDATE ON t4 BEGIN SELECT RAISE(ABORT, 'abort'); END;
|
||||
VACUUM;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_t4_7725 BEFORE UPDATE ON t4 BEGIN SELECT RAISE(FAIL, 'no'); END;
|
||||
DETACH DATABASE aux73;
|
||||
CREATE INDEX IF NOT EXISTS idx_t2_3331 ON t2(y COLLATE NOCASE) WHERE y IS NOT NULL;
|
||||
CREATE VIEW IF NOT EXISTS v_T_6672 AS SELECT b FROM T;
|
||||
REINDEX;
|
||||
ANALYZE T;
|
||||
ALTER TABLE t0 ADD COLUMN extra_6804 NATIVE CHARACTER(70)NVARCHAR(100) DEFAULT (abs(random()) % 1000);
|
||||
ALTER TABLE t0 DROP COLUMN y;
|
||||
CREATE TABLE T (
|
||||
A VARCHAR(20),
|
||||
B VARCHAR(10),
|
||||
C INTEGER,
|
||||
PRIMARY KEY (A, B)
|
||||
);
|
||||
INSERT INTO T VALUES ('a', 'p', -2147483648);
|
||||
INSERT INTO T VALUES ('b', 'q', 100);
|
||||
INSERT INTO T VALUES ('b', 'r', 200);
|
||||
INSERT INTO T VALUES ('c', 's', 300);
|
||||
INSERT INTO T VALUES ('d', 't', 2147483647);
|
||||
INSERT INTO T VALUES ('b', 't', 50);
|
||||
SELECT A, COUNT(*) AS D, SUM(C) AS E FROM T GROUP BY A HAVING COUNT(*) > 1;
|
||||
SELECT GROUP_CONCAT(d) FROM t4;
|
||||
ANALYZE t2;
|
||||
ALTER TABLE t1 ADD COLUMN extra_1405 INT8 DEFAULT '';
|
||||
SELECT * FROM t2 AS a RIGHT JOIN t0 AS b ON a.rowid = b.rowid;
|
||||
WITH RECURSIVE multi(a, b, c) AS (VALUES(1, 2, 3) UNION ALL SELECT a+1, b+1, c+1 FROM multi WHERE a<45) SELECT * FROM multi;
|
||||
DELETE FROM t3 WHERE 1 RETURNING *;
|
||||
DELETE FROM t3 WHERE c1 > (SELECT AVG(c1) FROM t3);
|
||||
ANALYZE;
|
||||
INSERT INTO T SELECT * FROM T;
|
||||
ALTER TABLE t4 RENAME TO t4_r5482;
|
||||
SELECT * FROM t3 WHERE c2 <= ANY (SELECT c2 FROM t3);
|
||||
VACUUM;
|
||||
SELECT STRING_AGG(b) FROM t4;
|
||||
SELECT * FROM t3 CROSS JOIN t2;
|
||||
DELETE FROM t4 WHERE rowid = 69 RETURNING *;
|
||||
SELECT * FROM t4 WHERE d IN (SELECT DISTINCT d FROM t4);
|
||||
INSERT INTO T DEFAULT VALUES;
|
||||
ALTER TABLE T RENAME COLUMN B TO B_r9596;
|
||||
CREATE VIEW IF NOT EXISTS v_t1_2631 AS SELECT b FROM t1;
|
||||
CREATE INDEX IF NOT EXISTS idx_t3_7394 ON t3(c2);
|
||||
SELECT * FROM (SELECT y FROM t0 WHERE y IS NOT NULL) AS sub;
|
||||
CREATE TEMP VIEW IF NOT EXISTS v_t4_1728 AS SELECT d FROM t4;
|
||||
DELETE FROM t1 WHERE a IS NULL;
|
||||
WITH RECURSIVE fib(a,b) AS (VALUES(1,1) UNION ALL SELECT b, a+b FROM fib WHERE b<1000) SELECT a FROM fib;
|
||||
SELECT COUNT(*) FILTER (WHERE z IS NOT NULL), SUM(rowid) FILTER (WHERE z > 0), COUNT(*) FILTER (WHERE 1=0), COUNT(*) FILTER (WHERE 1=1), COUNT(*) FILTER (WHERE NULL), AVG(z) FILTER (WHERE z > 0 AND z < 100), COUNT(*) FILTER (WHERE typeof(z) = "text") FROM t0;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_T_1938 BEFORE UPDATE ON T FOR EACH ROW BEGIN SELECT RAISE(IGNORE); END;
|
||||
INSERT INTO t4 SELECT * FROM t4;
|
||||
CREATE UNIQUE INDEX IF NOT EXISTS idx_t0_8908 ON t0((y + 1)) WHERE y > 0;
|
||||
WITH RECURSIVE cnt(x) AS (VALUES(0) UNION ALL SELECT x-1 FROM cnt WHERE x>-3) SELECT * FROM cnt;
|
||||
ANALYZE;
|
||||
REINDEX;
|
||||
INSERT INTO t4 SELECT * FROM t4;
|
||||
SELECT * FROM t3;
|
||||
SELECT * FROM t2 WHERE EXISTS (SELECT 1 FROM t2 WHERE x = NULL);
|
||||
WITH a AS (SELECT * FROM t1 WHERE d IS NOT NULL), b AS (SELECT * FROM a WHERE d > 0), c AS (SELECT * FROM b LIMIT 10) SELECT * FROM c;
|
||||
INSERT INTO t1 SELECT * FROM t1;
|
||||
INSERT INTO t1 VALUES (1, NULL, 1, NULL) ON CONFLICT(a) DO UPDATE SET a = excluded.a, b = excluded.b, c = excluded.c;
|
||||
ALTER TABLE t2 RENAME COLUMN y TO y_r7971;
|
||||
CREATE TABLE T (
|
||||
a INTEGER,
|
||||
b TEXT,
|
||||
c REAL,
|
||||
d REAL
|
||||
);
|
||||
INSERT INTO T VALUES (1,'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;
|
||||
ALTER TABLE t3 DROP COLUMN c2;
|
||||
SELECT * FROM t2 AS a RIGHT JOIN t1 AS b ON a.rowid = b.rowid;
|
||||
UPDATE t0 SET y = 'x' WHERE 1 RETURNING *;
|
||||
SELECT COUNT(x) FILTER (WHERE x IS NOT NULL) OVER (PARTITION BY x ORDER BY x ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW EXCLUDE TIES) FROM t2;
|
||||
SELECT * FROM t1 NATURAL JOIN t2;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_T_8719 BEFORE INSERT ON T FOR EACH ROW BEGIN INSERT INTO T(b) VALUES (NULL); END;
|
||||
WITH RECURSIVE cnt(x) AS (VALUES(1) UNION ALL SELECT x+1 FROM cnt WHERE x<69) SELECT x FROM cnt WHERE x > 34;
|
||||
WITH cte(a, b) AS (VALUES(1, "a"),(2, "b"),(3, "c")) SELECT * FROM cte;
|
||||
CREATE TEMP VIEW IF NOT EXISTS v_T_7090 AS SELECT b FROM T;
|
||||
SELECT * FROM t0 WHERE EXISTS (SELECT 1 FROM t0 WHERE EXISTS (SELECT 1 FROM t0));
|
||||
ANALYZE;
|
||||
INSERT INTO T DEFAULT VALUES;
|
||||
DELETE FROM t0 WHERE rowid = 6;
|
||||
DETACH DATABASE aux45;
|
||||
REINDEX;
|
||||
SELECT SUM(z) FROM t0;
|
||||
SELECT y FROM t0 UNION ALL SELECT y FROM (SELECT * FROM t0) AS sub;
|
||||
ATTACH DATABASE ':memory:' AS aux45;
|
||||
PRAGMA writable_schema = TRUE;
|
||||
PRAGMA reverse_unordered_selects = OFF;
|
||||
PRAGMA cell_size_check;
|
||||
creATE VIRTUAL TABLE t0 USING fts3("x", "y", "z");
|
||||
DROP TABLE t0;
|
||||
ATTACH DATABASE ':memory:' AS aux73;
|
||||
.print
|
||||
ATTACH DATABASE ':memory:' AS aux97;
|
||||
.timer on
|
||||
CREATE TEMPORARY TABLE t0(x, y, z);
|
||||
SELECT -NULL;
|
||||
SELECT * FrOm sqlite_temp_master WHERE sql GLOB '000[]***';
|
||||
DROP TABLE t0;
|
||||
BEGIN IMMEDIATE;
|
||||
.exit -log10(radians(json_group_object('k', -(-(json_array(timediff(NULL, length(-timediff(NULL, '-Inf')timediff(NULL, NULL)))timediff(NULL, NULL), NULL, NULL))))))
|
||||
PRAGMA read_uncommitted;
|
||||
PRAGMA ignore_check_constraints <> YES;
|
||||
PRAGMA legacy_alter_table;
|
||||
.parameter
|
||||
CREATE TABLE main.t1(a, b, c, d);
|
||||
CREATE UNIQUE INDEX i1 ON t1(b, c);
|
||||
CREATE UNIQUE INDEX i2 ON t1(d COLLATE nocase);
|
||||
CREATE TABLE t2(x DECIMAL('-',(nan + (unicode('你好') + max(x'af5df3e5294acaf5a4f1de6448da', '2', randomblob(-likelihood(NULL, ceiling(NULL))))))) PRIMARY KEY, y);
|
||||
CREATE TABLE main.t3(c1 PRIMARY KEY NOT NULL, c2 NOT NULL);
|
||||
CREATE INDEX i3 ON t3(c2);
|
||||
CREATE TABLE t4(a, b NOT NULL, c NOT NULL, d NOT NULL);
|
||||
CREATE UNIQUE /* PRAGMA fullsync = 0; */ INDEX t4i1 ON t4(b, c);
|
||||
CREATE UNIQUE INDEX t4i2 ON t4(d COLLATE nocase);
|
||||
SELECT DISTINCT c FROM t1 WHERE NOT b = ?;
|
||||
SELECT DISTINCT c FROM t1 WHERE b IN (x'ab',ifnull(json_patch(json_tree(strftime('%Y-%m-%d', 'abc')), 1), 2));
|
||||
SELECT DISTINCT a, b, c COLLATE nocase FROM t1
|
||||
|
||||
PRAGMA integrity_check("users");
|
||||
CREATE UNIQUE INDEX IF NOT EXISTS idx_t1_5148 ON t1(lower(c)) WHERE c > 0;
|
||||
SELECT * FROM t1;
|
||||
COMMIT;
|
||||
SELECT COUNT(b) FROM t1;
|
||||
INSERT INTO t2 DEFAULT VALUES;
|
||||
WITH cte AS (SELECT * FROM t4) SELECT * FROM cte WHERE c > 0 UNION ALL SELECT * FROM cte WHERE c <= 0;
|
||||
CREATE TEMP VIEW IF NOT EXISTS v_t1_244 AS SELECT c FROM t1;
|
||||
INSERT INTO t1 SELECT * FROM t1;
|
||||
ALTER TABLE t2 RENAME TO t2_r6544;
|
||||
INSERT INTO t4 SELECT * FROM t4;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_t4_4171 BEFORE DELETE ON t4 FOR EACH ROW BEGIN SELECT RAISE(ROLLBACK, 'rb'); END;
|
||||
VACUUM;
|
||||
CREATE TABLE T (
|
||||
a TINYINT PRECISION,
|
||||
b TEXT
|
||||
);
|
||||
INSERT INTO T VALUES ('a','2020-01-01'), ('b','2026-01-01');
|
||||
SELECT a,
|
||||
CAST(
|
||||
(julianday('now')-julianday(b))/365.25
|
||||
AS INTEGER
|
||||
) AS c
|
||||
FROM T;
|
||||
DETACH DATABASE aux97;
|
||||
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 OR a < 100), COUNT(*) FILTER (WHERE typeof(a) = "text") FROM T;
|
||||
SELECT * FROM T;
|
||||
ALTER TABLE /* PRAGMA defer_foreign_keys = NO; */ t2 ADD COLUMN extra_3261 FLOAT;
|
||||
UPDATE t0 SET z = z + 1 WHERE 1;
|
||||
WITH cte AS (SELECT CASE WHEN c IS /* PRAGMA defer_foreign_keys = TRUE; */ NULL THEN 0 ELSE c END AS val FROM t1) SELECT * FROM cte;
|
||||
PRAGMA page_size = 4096;
|
||||
CREATE INDEX IF NOT EXISTS idx_t0_8372 ON t0(lower(y)) WHERE y IS NOT NULL;
|
||||
PRAGMA recursive_triggers = 1;
|
||||
ALTER TABLE t2 RENAME COLUMN x TO x_r3369;
|
||||
INSERT OR ABORT INTO t0 VALUES ('x', NULL, '');
|
||||
INSERT INTO t0 VALUES (NULL, NULL, NULL);
|
||||
DROP TABLE IF EXISTS t3;
|
||||
SELECT COUNT(*) FILTER (WHERE y IS NOT NULL), SUM(rowid) FILTER (WHERE y > 0), COUNT(*) FILTER (WHERE 1=0), COUNT(*) FILTER (WHERE 1=1), COUNT(*) FILTER (WHERE NULL), AVG(y) FILTER (WHERE y > 0 AND y < 100), COUNT(*) FILTER (WHERE typeof(y) = "text") FROM t2;
|
||||
INSERT INTO t1 VALUES (NULL, NULL, NULL, NULL);
|
||||
CREATE TRIGGER IF NOT EXISTS trg_t4_6716 AFTER DELETE ON t4 FOR EACH ROW BEGIN SELECT RAISE(IGNORE); END;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_t2_5474 BEFORE INSERT ON t2 FOR EACH ROW BEGIN SELECT RAISE(FAIL, 'no'); END;
|
||||
PRAGMA checkpoint_fullsync;
|
||||
INSERT INTO t1 SELECT * FROM t1;
|
||||
INSERT OR ABORT INTO t4 VALUES ('', 0, 0, -3);
|
||||
ALTER TABLE t3 RENAME COLUMN c1 TO c1_r9839;
|
||||
WITH cte AS (SELECT c1 FROM t3 UNION ALL SELECT c1 FROM t3) SELECT * FROM cte;
|
||||
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 AND x < 100), COUNT(*) FILTER (WHERE typeof(x) = "text") FROM t0;
|
||||
PRAGMA max_page_count = 5000000;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_t4_645 AFTER UPDATE ON t4 BEGIN SELECT RAISE(ABORT, 'abort'); END;
|
||||
VACUUM;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_t4_7725 BEFORE UPDATE ON t4 BEGIN SELECT RAISE(FAIL, 'no'); END;
|
||||
DETACH DATABASE aux73;
|
||||
CREATE INDEX IF NOT EXISTS idx_t2_3331 ON t2(y COLLATE NOCASE) WHERE y IS NOT NULL;
|
||||
CREATE VIEW IF NOT EXISTS v_T_6672 AS SELECT b FROM T;
|
||||
REINDEX;
|
||||
ANALYZE T;
|
||||
ALTER TABLE t0 ADD COLUMN extra_6804 NATIVE CHARACTER(70)NVARCHAR(100) DEFAULT (abs(random()) % 1000);
|
||||
ALTER TABLE t0 DROP COLUMN y;
|
||||
CREATE TABLE T (
|
||||
A VARCHAR(20),
|
||||
B VARCHAR(10),
|
||||
C INTEGER,
|
||||
PRIMARY KEY (A, B)
|
||||
);
|
||||
INSERT INTO T VALUES ('a', 'p', -2147483648);
|
||||
INSERT INTO T VALUES ('b', 'q', 100);
|
||||
INSERT INTO T VALUES ('b', 'r', 200);
|
||||
INSERT INTO T VALUES ('c', 's', 300);
|
||||
INSERT INTO T VALUES ('d', 't', 2147483647);
|
||||
INSERT INTO T VALUES ('b', 't', 50);
|
||||
SELECT A, COUNT(*) AS D, SUM(C) AS E FROM T GROUP BY A HAVING COUNT(*) > 1;
|
||||
SELECT GROUP_CONCAT(d) FROM t4;
|
||||
ANALYZE t2;
|
||||
ALTER TABLE t1 ADD COLUMN extra_1405 INT8 DEFAULT '';
|
||||
SELECT * FROM t2 AS a RIGHT JOIN t0 AS b ON a.rowid = b.rowid;
|
||||
WITH RECURSIVE multi(a, b, c) AS (VALUES(1, 2, 3) UNION ALL SELECT a+1, b+1, c+1 FROM multi WHERE a<45) SELECT * FROM multi;
|
||||
DELETE FROM t3 WHERE 1 RETURNING *;
|
||||
DELETE FROM t3 WHERE c1 > (SELECT AVG(c1) FROM t3);
|
||||
ANALYZE;
|
||||
INSERT INTO T SELECT * FROM T;
|
||||
ALTER TABLE t4 RENAME TO t4_r5482;
|
||||
SELECT * FROM t3 WHERE c2 <= ANY (SELECT c2 FROM t3);
|
||||
VACUUM;
|
||||
SELECT STRING_AGG(b) FROM t4;
|
||||
SELECT * FROM t3 CROSS JOIN t2;
|
||||
DELETE FROM t4 WHERE rowid = 69 RETURNING *;
|
||||
SELECT * FROM t4 WHERE d IN (SELECT DISTINCT d FROM t4);
|
||||
INSERT INTO T DEFAULT VALUES;
|
||||
ALTER TABLE T RENAME COLUMN B TO B_r9596;
|
||||
CREATE VIEW IF NOT EXISTS v_t1_2631 AS SELECT b FROM t1;
|
||||
CREATE INDEX IF NOT EXISTS idx_t3_7394 ON t3(c2);
|
||||
SELECT * FROM (SELECT y FROM t0 WHERE y IS NOT NULL) AS sub;
|
||||
CREATE TEMP VIEW IF NOT EXISTS v_t4_1728 AS SELECT d FROM t4;
|
||||
DELETE FROM t1 WHERE a IS NULL;
|
||||
WITH RECURSIVE fib(a,b) AS (VALUES(1,1) UNION ALL SELECT b, a+b FROM fib WHERE b<1000) SELECT a FROM fib;
|
||||
SELECT COUNT(*) FILTER (WHERE z IS NOT NULL), SUM(rowid) FILTER (WHERE z > 0), COUNT(*) FILTER (WHERE 1=0), COUNT(*) FILTER (WHERE 1=1), COUNT(*) FILTER (WHERE NULL), AVG(z) FILTER (WHERE z > 0 AND z < 100), COUNT(*) FILTER (WHERE typeof(z) = "text") FROM t0;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_T_1938 BEFORE UPDATE ON T FOR EACH ROW BEGIN SELECT RAISE(IGNORE); END;
|
||||
INSERT INTO t4 SELECT * FROM t4;
|
||||
CREATE UNIQUE INDEX IF NOT EXISTS idx_t0_8908 ON t0((y + 1)) WHERE y > 0;
|
||||
WITH RECURSIVE cnt(x) AS (VALUES(0) UNION ALL SELECT x-1 FROM cnt WHERE x>-3) SELECT * FROM cnt;
|
||||
ANALYZE;
|
||||
REINDEX;
|
||||
INSERT INTO t4 SELECT * FROM t4;
|
||||
SELECT * FROM t3;
|
||||
SELECT * FROM t2 WHERE EXISTS (SELECT 1 FROM t2 WHERE x = NULL);
|
||||
WITH a AS (SELECT * FROM t1 WHERE d IS NOT NULL), b AS (SELECT * FROM a WHERE d > 0), c AS (SELECT * FROM b LIMIT 10) SELECT * FROM c;
|
||||
INSERT INTO t1 SELECT * FROM t1;
|
||||
INSERT INTO t1 VALUES (1, NULL, 1, NULL) ON CONFLICT(a) DO UPDATE SET a = excluded.a, b = excluded.b, c = excluded.c;
|
||||
ALTER TABLE t2 RENAME COLUMN y TO y_r7971;
|
||||
CREATE TABLE T (
|
||||
a INTEGER,
|
||||
b TEXT,
|
||||
c REAL,
|
||||
d REAL
|
||||
);
|
||||
INSERT INTO T VALUES (1,'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;
|
||||
ALTER TABLE t3 DROP COLUMN c2;
|
||||
SELECT * FROM t2 AS a RIGHT JOIN t1 AS b ON a.rowid = b.rowid;
|
||||
UPDATE t0 SET y = 'x' WHERE 1 RETURNING *;
|
||||
SELECT COUNT(x) FILTER (WHERE x IS NOT NULL) OVER (PARTITION BY x ORDER BY x ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW EXCLUDE TIES) FROM t2;
|
||||
SELECT * FROM t1 NATURAL JOIN t2;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_T_8719 BEFORE INSERT ON T FOR EACH ROW BEGIN INSERT INTO T(b) VALUES (NULL); END;
|
||||
WITH RECURSIVE cnt(x) AS (VALUES(1) UNION ALL SELECT x+1 FROM cnt WHERE x<69) SELECT x FROM cnt WHERE x > 34;
|
||||
WITH cte(a, b) AS (VALUES(1, "a"),(2, "b"),(3, "c")) SELECT * FROM cte;
|
||||
CREATE TEMP VIEW IF NOT EXISTS v_T_7090 AS SELECT b FROM T;
|
||||
SELECT * FROM t0 WHERE EXISTS (SELECT 1 FROM t0 WHERE EXISTS (SELECT 1 FROM t0));
|
||||
ANALYZE;
|
||||
INSERT INTO T DEFAULT VALUES;
|
||||
DELETE FROM t0 WHERE rowid = 6;
|
||||
DETACH DATABASE aux45;
|
||||
REINDEX;
|
||||
SELECT SUM(z) FROM t0;
|
||||
SELECT y FROM t0 UNION ALL SELECT y FROM (SELECT * FROM t0) AS sub;
|
||||
ALTER TABLE t3 DROP COLUMN c1;
|
||||
SELECT GROUP_CONCAT(b, '|') FROM t1;
|
||||
ANALYZE;
|
||||
CREATE UNIQUE INDEX IF NOT EXISTS idx_t3_8014 ON t3((c1 + 1)) WHERE c1 > 0;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_t1_6320 BEFORE DELETE ON t1 FOR EACH ROW BEGIN SELECT RAISE(ROLLBACK, 'rb'); END;
|
||||
SELECT 0x0ACB29BM205381;
|
||||
SELECT sqlite_compileoption_used('æçå¤©ä½ æ¯æä¹äº');
|
||||
SELECT 1 >> -999999999999999999999999999;
|
||||
SELECT sqlite_compileoption_get($1);
|
||||
SELECT sqlite_version();
|
||||
CREATE TRIGGER IF NOT EXISTS trg_t1_6981 AFTER INSERT ON t1 FOR EACH ROW BEGIN SELECT RAISE(IGNORE); END;
|
||||
ALTER TABLE t2 RENAME COLUMN x TO x_r930;
|
||||
SELECT TOTAL(y) FROM t2;
|
||||
PRAGMA vdbe_trace = 0;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_T_2237 BEFORE UPDATE OF b ON T BEGIN SELECT RAISE(FAIL, 'no'); END;
|
||||
ALTER TABLE t3 RENAME TO t3_r9317;
|
||||
CREATE VIEW IF NOT EXISTS v_t2_6925 AS SELECT x FROM t2;
|
||||
SELECT MAX(z) FROM t0;
|
||||
ALTER TABLE t2 DROP COLUMN y;
|
||||
REINDEX;
|
||||
UPDATE t2 SET x = CURRENT_TIMESTAMP WHERE rowid = 1;
|
||||
SELECT TOTAL(b) FROM t1;
|
||||
SELECT * FROM t1 AS a FULL JOIN t4 AS b ON a.rowid = b.rowid;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_t3_3578 AFTER INSERT ON t3 BEGIN INSERT INTO t3(c2) VALUES (NULL); END;
|
||||
SELECT * FROM t2 WHERE EXISTS (SELECT 1 FROM t2 WHERE 1 = 1);
|
||||
CREATE TRIGGER IF NOT EXISTS trg_t4_2280 AFTER DELETE ON t4 BEGIN SELECT RAISE(ABORT, 'abort'); END;
|
||||
ANALYZE t4;
|
||||
SELECT COUNT(*) FILTER (WHERE z IS NOT NULL), SUM(rowid) FILTER (WHERE z > 0), COUNT(*) FILTER (WHERE 1=0), COUNT(*) FILTER (WHERE 1=1), COUNT(*) FILTER (WHERE NULL), AVG(z) FILTER (WHERE z > 0 AND z < 100), COUNT(*) FILTER (WHERE typeof(z) = "text") FROM t0;
|
||||
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 AND x < 100), COUNT(*) FILTER (WHERE typeof(x) = "text") FROM t2;
|
||||
SELECT NTILE(0) OVER (ORDER BY x ROWS BETWEEN 2 PRECEDING AND 2 FOLLOWING EXCLUDE CURRENT ROW) FROM t2;
|
||||
INSERT INTO t1 VALUES (NULL, NULL, NULL, NULL);
|
||||
```
|
||||
|
||||
## Actual output
|
||||
|
||||
```sql
|
||||
0
|
||||
|
||||
Run Time: real 0.000 user 0.000056 sys 0.000000
|
||||
|
||||
Run Time: real 0.000 user 0.000008 sys 0.000000
|
||||
table t0 t0 2 CREATE TABLE t0(x, y, z)
|
||||
Run Time: real 0.000 user 0.000021 sys 0.000000
|
||||
Run Time: real 0.000 user 0.000048 sys 0.000000
|
||||
Run Time: real 0.000 user 0.000006 sys 0.000000
|
||||
```
|
||||
|
||||
## Expectation
|
||||
|
||||
```sql
|
||||
0
|
||||
|
||||
Run Time: real 0.000040 user 0.000047 sys 0.000000
|
||||
|
||||
Run Time: real 0.000006 user 0.000006 sys 0.000000
|
||||
table t0 t0 2 CREATE TABLE t0(x, y, z)
|
||||
Run Time: real 0.000013 user 0.000015 sys 0.000000
|
||||
Run Time: real 0.000045 user 0.000046 sys 0.000000
|
||||
Run Time: real 0.000005 user 0.000005 sys 0.000000
|
||||
```
|
||||
|
||||
## Flag
|
||||
|
||||
```
|
||||
-tabs
|
||||
```
|
||||
|
||||
@@ -0,0 +1,402 @@
|
||||
## 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
|
||||
.databases
|
||||
SAVEPOINT sp5671;
|
||||
.once log.txt
|
||||
ATTACH DATABASE '' || (':memory:') AS aux78;
|
||||
.limit
|
||||
CREATE TABLE T1 (
|
||||
a INTEGER,
|
||||
b REAL
|
||||
);
|
||||
CREATE TABLE T2 (
|
||||
a INTEGER,
|
||||
b REAL
|
||||
);
|
||||
INSERT INTO T1 VALUES (ifnull(timediff(concat_ws(',', CAST(upper(-(-(-json_array_length(6.283185307179586)))) AS INT2), 2, 3), 1), 2),1.0);
|
||||
INSERT INTO T2 VALUES (1,-1.0),(2,9e999);
|
||||
INSERT OR REPLACE INTO T1
|
||||
SELECT * FROM T2;
|
||||
SELECT * FROM T1;
|
||||
PRAGMA writable_schema = YES;
|
||||
SAVEPOINT sp6649;
|
||||
ATTACH DATABASE ':memory:' AS aux69;
|
||||
.quit
|
||||
.trace
|
||||
CREATE TABLE main.T (
|
||||
a DOUBLE,
|
||||
b TEXT,
|
||||
c REAL
|
||||
);
|
||||
INSERT INTO T VALUES (CAST(json_array_length(if(CAST(-(-(length(randomblob(CAST(mod(1.7976931348623157e+308, 1465368752231950166) AS INTEGER))))) AS TINYINT), 1, 0, 1, 0, 1), '$') AS NUMERIC),'a',3.14), (1,'b',-7.75), (2,'c',-9e999);
|
||||
WITH _m AS MATERIALIZED (SELECT * FROM t1) SELECT b,a,c,
|
||||
RANK() OVER (PARTITION BY a ORDER BY c DESC) AS d FROM T;
|
||||
ATTACH DATABASE ':memory:' AS aux86;
|
||||
PRAGMA full_column_names = YES;
|
||||
DROP TABLE IF EXISTS _m;
|
||||
CREATE TABLE t1 (c0, c1 REAL PRIMARY KEY);
|
||||
INSERT INTO t1(c0, c1) VALUES ('{', -(-(1))), (0, 0);
|
||||
UPDATE t1 SET c0 = NULL;
|
||||
UPDATE OR REPLACE t1 SET c1 = 1;
|
||||
SELECT DISTINCT * FROM t1 WHERE NOT NOT (NOT NOT (t1.c0 IS NULL)) ;
|
||||
PRAGMA integrity_check;
|
||||
SELECT COUNT(*) FROM t1;
|
||||
SELECT * FROM t1;
|
||||
DETACH DATABASE aux86;
|
||||
REINDEX;
|
||||
ALTER TABLE T ADD COLUMN extra_5481 BLOB NOT NULL DEFAULT 0;
|
||||
SELECT COUNT(*) FROM T;
|
||||
CREATE TABLE T1 (
|
||||
A VARCHAR(15) PRIMARY KEY,
|
||||
B VARCHAR(30) NOT NULL UNIQUE
|
||||
);
|
||||
CREATE TABLE T2 (
|
||||
A VARCHAR(10) PRIMARY KEY,
|
||||
X VARCHAR(15) NOT NULL,
|
||||
C BIGINT,
|
||||
FOREIGN KEY (X) REFERENCES T1(A)
|
||||
);
|
||||
INSERT INTO T1 VALUES ('p', 'x');
|
||||
INSERT INTO T1 VALUES ('q', 'y');
|
||||
INSERT INTO T2 VALUES ('a', 'p', 9223372036854775807);
|
||||
INSERT INTO T2 VALUES ('b', 'q', -9223372036854775808);
|
||||
SELECT X, SUM(C) AS D, COUNT(*) AS E FROM T2 GROUP BY X;
|
||||
SELECT LAG(c0, 2, 'default') OVER (PARTITION BY c0 ORDER BY c0 ROWS BETWEEN 2 PRECEDING AND 2 FOLLOWING EXCLUDE CURRENT ROW) FROM t1;
|
||||
SELECT * FROM t1;
|
||||
CREATE VIEW IF NOT EXISTS v_t1_6883 AS SELECT c1 FROM t1;
|
||||
ALTER TABLE t1 ADD COLUMN extra_3184 INT2 COLLATE NOCASE;
|
||||
SELECT * FROM t1;
|
||||
REINDEX;
|
||||
SELECT c, COUNT(*) FROM T GROUP BY c HAVING COUNT(*) = (SELECT COUNT(*) FROM T);
|
||||
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;
|
||||
PRAGMA temp_store = 'MEMORY';
|
||||
VACUUM main;
|
||||
SELECT * FROM T1 WHERE EXISTS (SELECT 1 FROM T1 WHERE 1 = 0);
|
||||
SELECT * FROM T1 WHERE A <> ANY (SELECT A FROM T1);
|
||||
CREATE TEMPORARY VIEW IF NOT EXISTS v_t1_5592 AS SELECT c0 FROM t1;
|
||||
REINDEX T2;
|
||||
UPDATE T SET b = json_object('k', b);
|
||||
DETACH DATABASE aux69;
|
||||
DROP INDEX IF EXISTS T1;
|
||||
SELECT STRING_AGG(C) FROM T2;
|
||||
ROLLBACK TO sp6649;
|
||||
RELEASE sp6649;
|
||||
INSERT OR ABORT INTO T2 VALUES ('x', -9, -9);
|
||||
SELECT COUNT(*) FILTER (WHERE c1 IS NOT NULL), SUM(rowid) FILTER (WHERE c1 > 0), COUNT(*) FILTER (WHERE 1=0), COUNT(*) FILTER (WHERE 1=1), COUNT(*) FILTER (WHERE NULL), AVG(c1) FILTER (WHERE c1 > 0 AND c1 < 100), COUNT(*) FILTER (WHERE typeof(c1) = "text") FROM t1;
|
||||
ALTER TABLE T RENAME COLUMN b TO b_r9085;
|
||||
INSERT INTO t1 DEFAULT VALUES;
|
||||
SELECT GROUP_CONCAT(A, '|') FROM T2;
|
||||
INSERT OR ROLLBACK INTO T1 VALUES (6, '');
|
||||
WITH RECURSIVE tree(id, path) AS (VALUES(1, "/1") UNION ALL SELECT id+1, path || "/" || (id+1) FROM tree WHERE id<14) SELECT * FROM tree;
|
||||
CREATE VIEW IF NOT EXISTS v_T1_7673 AS SELECT B FROM T1;
|
||||
SELECT COUNT(*) FILTER (WHERE B IS NOT NULL), SUM(rowid) FILTER (WHERE B > 0), COUNT(*) FILTER (WHERE 1=0), COUNT(*) FILTER (WHERE 1=1), COUNT(*) FILTER (WHERE NULL), AVG(B) FILTER (WHERE B > 0 AND B < 100), COUNT(*) FILTER (WHERE typeof(B) = "text") FROM T1;
|
||||
CREATE TABLE T1 (
|
||||
a INTEGER,
|
||||
b REAL
|
||||
);
|
||||
CREATE TABLE T2 (
|
||||
a INTEGER,
|
||||
b REAL
|
||||
);
|
||||
INSERT INTO T1 VALUES (1,1.0);
|
||||
INSERT INTO T2 VALUES (1,-1.0),(2,9e999);
|
||||
INSERT OR REPLACE INTO T1
|
||||
SELECT * FROM T2;
|
||||
SELECT * FROM T1;
|
||||
SELECT COUNT(c) FROM T;
|
||||
UPDATE T SET a = a + 1 WHERE 1;
|
||||
ALTER TABLE T ADD COLUMN extra_6983 DATETIME DEFAULT CURRENT_TIMESTAMP;
|
||||
INSERT INTO T2 VALUES (NULL, NULL);
|
||||
.limit
|
||||
CREATE TABLE T1 (
|
||||
a INTEGER,
|
||||
b REAL
|
||||
);
|
||||
CREATE TABLE T2 (
|
||||
a INTEGER,
|
||||
b REAL
|
||||
);
|
||||
INSERT INTO T1 VALUES (ifnull(timediff(concat_ws(',', CAST(upper(1) AS INT2), 2, 3), 1), 2),1.0);
|
||||
INSERT INTO T2 VALUES (1,-1.0),(2,9e999);
|
||||
INSERT OR REPLACE INTO T1
|
||||
SELECT * FROM T2;
|
||||
SELECT * FROM T1;
|
||||
PRAGMA writable_schema = YES;
|
||||
SAVEPOINT sp6649;
|
||||
ATTACH DATABASE ':memory:' AS aux69;
|
||||
.quit
|
||||
.trace
|
||||
CREATE TABLE T (
|
||||
a DOUBLE,
|
||||
b TEXT,
|
||||
c REAL
|
||||
);
|
||||
INSERT INTO T VALUES (CAST(json_array_length(if(CAST(-(-(length(randomblob(CAST(mod(1.7976931348623157e+308, 1465368752231950166) AS INTEGER))))) AS TINYINT), 1, 0, 1, 0, 1), '$') AS NUMERIC),'a',3.14), (1,'b',-7.75), (2,'c',-9e999);
|
||||
WITH _m AS MATERIALIZED (SELECT * FROM t1) SELECT b,a,c,
|
||||
RANK() OVER (PARTITION BY a ORDER BY c DESC) AS d FROM T;
|
||||
ATTACH DATABASE ':memory:' AS aux86;
|
||||
PRAGMA full_column_names = YES;
|
||||
DROP TABLE IF EXISTS _m;
|
||||
CREATE TABLE t1 (c0, c1 REAL PRIMARY KEY);
|
||||
INSERT INTO t1(c0, c1) VALUES ('{', -(-(1))), (0, 0);
|
||||
UPDATE t1 SET c0 = NULL;
|
||||
UPDATE OR REPLACE t1 SET c1 = 1;
|
||||
SELECT DISTINCT * FROM t1 WHERE NOT NOT (t1.c0 IS NULL);
|
||||
PRAGMA integrity_check;
|
||||
SELECT COUNT(*) FROM t1;
|
||||
SELECT * FROM t1;
|
||||
DETACH DATABASE aux86;
|
||||
REINDEX;
|
||||
ALTER TABLE T ADD COLUMN extra_5481 BLOB NOT NULL DEFAULT 0;
|
||||
SELECT COUNT(*) FROM T;
|
||||
CREATE TABLE T1 (
|
||||
A VARCHAR(15) PRIMARY KEY,
|
||||
B VARCHAR(30) NOT NULL UNIQUE
|
||||
);
|
||||
CREATE TABLE T2 (
|
||||
A VARCHAR(10) PRIMARY KEY,
|
||||
X VARCHAR(15) NOT NULL,
|
||||
C BIGINT,
|
||||
FOREIGN KEY (X) REFERENCES T1(A)
|
||||
);
|
||||
INSERT INTO T1 VALUES ('p', 'x');
|
||||
INSERT INTO T1 VALUES ('q', 'y');
|
||||
INSERT INTO T2 VALUES ('a', 'p', 9223372036854775807);
|
||||
INSERT INTO T2 VALUES ('b', 'q', -9223372036854775808);
|
||||
SELECT X, SUM(C) AS D, COUNT(*) AS E FROM T2 GROUP BY X;
|
||||
SELECT LAG(c0, 2, 'default') OVER (PARTITION BY c0 ORDER BY c0 ROWS BETWEEN 2 PRECEDING AND 2 FOLLOWING EXCLUDE CURRENT ROW) FROM t1;
|
||||
SELECT * FROM t1;
|
||||
CREATE VIEW IF NOT EXISTS v_t1_6883 AS SELECT c1 FROM t1;
|
||||
ALTER TABLE t1 ADD COLUMN extra_3184 INT2 COLLATE NOCASE;
|
||||
SELECT * FROM t1;
|
||||
REINDEX;
|
||||
SELECT c, COUNT(*) FROM T GROUP BY c HAVING COUNT(*) = (SELECT COUNT(*) FROM T);
|
||||
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;
|
||||
PRAGMA temp_store = 'MEMORY';
|
||||
VACUUM main;
|
||||
SELECT * FROM T1 WHERE EXISTS (SELECT 1 FROM T1 WHERE 1 = 0);
|
||||
SELECT * FROM T1 WHERE A <> ANY (SELECT A /**/ FROM T1);
|
||||
CREATE TEMPORARY VIEW IF NOT EXISTS v_t1_5592 AS SELECT c0 FROM t1;
|
||||
REINDEX T2;
|
||||
UPDATE T SET b = json_object('k', b);
|
||||
DETACH DATABASE aux69;
|
||||
DROP INDEX IF EXISTS T1;
|
||||
SELECT STRING_AGG(C) FROM T2;
|
||||
ROLLBACK TO sp6649;
|
||||
RELEASE sp6649;
|
||||
INSERT OR ABORT INTO T2 VALUES ('x', -9, -9);
|
||||
SELECT COUNT(*) FILTER (WHERE c1 IS NOT NULL), SUM(rowid) FILTER (WHERE c1 > 0), COUNT(*) FILTER (WHERE 1=0), COUNT(*) FILTER (WHERE 1=1), COUNT(*) FILTER (WHERE NULL), AVG(c1) FILTER (WHERE c1 > 0 AND c1 < 100), COUNT(*) FILTER (WHERE typeof(c1) = "text") FROM t1;
|
||||
ALTER TABLE T RENAME COLUMN b TO b_r9085;
|
||||
INSERT INTO t1 DEFAULT VALUES;
|
||||
SELECT GROUP_CONCAT(A, '|') FROM T2;
|
||||
INSERT OR ROLLBACK INTO T1 VALUES (6, '');
|
||||
WITH RECURSIVE tree(id, path) AS (VALUES(1, "/1") UNION ALL SELECT id+1, path || "/" || (id+1) FROM tree WHERE id<14) SELECT * FROM tree;
|
||||
CREATE VIEW IF NOT EXISTS v_T1_7673 AS SELECT B FROM T1;
|
||||
SELECT COUNT(*) FILTER (WHERE B IS NOT NULL), SUM(rowid) FILTER (WHERE B > 0), COUNT(*) FILTER (WHERE 1=0), COUNT(*) FILTER (WHERE 1=1), COUNT(*) FILTER (WHERE NULL), AVG(B) FILTER (WHERE B > 0 AND B < 100), COUNT(*) FILTER (WHERE typeof(B) = "text") FROM T1;
|
||||
CREATE TABLE T1 (
|
||||
a INTEGER,
|
||||
b REAL
|
||||
);
|
||||
CREATE TABLE T2 (
|
||||
a INTEGER,
|
||||
b REAL
|
||||
);
|
||||
INSERT INTO T1 VALUES (1,1.0);
|
||||
INSERT INTO T2 VALUES (1,-1.0),(2,9e999);
|
||||
INSERT OR REPLACE INTO T1
|
||||
SELECT * FROM T2;
|
||||
SELECT * FROM T1;
|
||||
SELECT COUNT(c) FROM T;
|
||||
UPDATE T SET a = a + 1 WHERE 1;
|
||||
ALTER TABLE T ADD COLUMN extra_6983 DATETIME DEFAULT CURRENT_TIMESTAMP;
|
||||
INSERT INTO T2 VALUES (NULL, NULL);
|
||||
.limit
|
||||
CREATE TABLE T1 (
|
||||
a INTEGER,
|
||||
b REAL
|
||||
);
|
||||
CREATE TABLE T2 (
|
||||
a INTEGER,
|
||||
b REAL
|
||||
);
|
||||
INSERT INTO T1 VALUES (ifnull(timediff(concat_ws(',', CAST(upper(1) AS INT2), 2, 3), 1), 2),1.0);
|
||||
INSERT INTO T2 VALUES (1,-1.0),(2,9e999);
|
||||
INSERT OR REPLACE INTO T1
|
||||
SELECT * FROM T2;
|
||||
SELECT * FROM T1;
|
||||
PRAGMA writable_schema = YES;
|
||||
SAVEPOINT sp6649;
|
||||
ATTACH DATABASE ':memory:' AS aux69;
|
||||
.quit
|
||||
.trace
|
||||
CREATE TABLE T (
|
||||
a DOUBLE,
|
||||
b TEXT,
|
||||
c REAL
|
||||
);
|
||||
INSERT INTO T VALUES (CAST(json_array_length(if(CAST(-(-(length(randomblob(CAST(mod(1.7976931348623157e+308, 1465368752231950166) AS INTEGER))))) AS TINYINT), 1, 0, 1, 0, 1), '$') AS NUMERIC),'a',3.14), (1,'b',-7.75), (2,'c',-9e999);
|
||||
WITH _m AS MATERIALIZED (SELECT * FROM t1) SELECT b,a,c,
|
||||
RANK() OVER (PARTITION BY a ORDER BY c DESC) AS d FROM T;
|
||||
ATTACH DATABASE ':memory:' AS aux86;
|
||||
PRAGMA full_column_names = YES;
|
||||
DROP TABLE IF EXISTS _m;
|
||||
CREATE TABLE t1 (c0, c1 REAL PRIMARY KEY);
|
||||
INSERT INTO t1(c0, c1) VALUES ('{', -(-(1))), (0, 0);
|
||||
UPDATE t1 SET c0 = NULL;
|
||||
UPDATE OR REPLACE t1 SET c1 = 1;
|
||||
SELECT DISTINCT * FROM t1 WHERE NOT NOT (t1.c0 IS NULL);
|
||||
PRAGMA integrity_check;
|
||||
SELECT COUNT(*) FROM t1;
|
||||
SELECT * FROM t1;
|
||||
DETACH DATABASE aux86;
|
||||
REINDEX;
|
||||
ALTER TABLE T ADD COLUMN extra_5481 BLOB NOT NULL DEFAULT 0;
|
||||
SELECT COUNT(*) FROM T;
|
||||
CREATE TABLE T1 (
|
||||
A VARCHAR(15) PRIMARY KEY,
|
||||
B VARCHAR(30) NOT NULL UNIQUE
|
||||
);
|
||||
CREATE TABLE T2 (
|
||||
A VARCHAR(10) PRIMARY KEY,
|
||||
X VARCHAR(15) NOT NULL,
|
||||
C BIGINT,
|
||||
FOREIGN KEY (X) REFERENCES T1(A)
|
||||
);
|
||||
INSERT INTO T1 VALUES ('p', 'x');
|
||||
INSERT INTO T1 VALUES ('q', 'y');
|
||||
INSERT INTO T2 VALUES ('a', 'p', 9223372036854775807);
|
||||
INSERT INTO T2 VALUES ('b', 'q', -9223372036854775808);
|
||||
SELECT X, SUM(C) AS D, COUNT(*) AS E FROM T2 GROUP BY X;
|
||||
SELECT LAG(c0, 2, 'default') OVER (PARTITION BY c0 ORDER BY c0 ROWS BETWEEN 2 PRECEDING AND 2 FOLLOWING EXCLUDE CURRENT ROW) FROM t1;
|
||||
SELECT * FROM t1;
|
||||
CREATE VIEW IF NOT EXISTS v_t1_6883 AS SELECT c1 FROM t1;
|
||||
ALTER TABLE t1 ADD COLUMN extra_3184 INT2 COLLATE NOCASE;
|
||||
SELECT * FROM t1;
|
||||
REINDEX;
|
||||
SELECT c, COUNT(*) FROM T GROUP BY c HAVING COUNT(*) = (SELECT COUNT(*) FROM T);
|
||||
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;
|
||||
PRAGMA temp_store = 'MEMORY';
|
||||
VACUUM main;
|
||||
SELECT * FROM T1 WHERE EXISTS (SELECT 1 FROM T1 WHERE 1 = 0);
|
||||
SELECT * FROM T1 WHERE A <> ANY (SELECT A FROM T1);
|
||||
CREATE TEMPORARY VIEW IF NOT EXISTS v_t1_5592 AS SELECT c0 FROM t1;
|
||||
REINDEX T2;
|
||||
UPDATE T SET b = json_object('k', b);
|
||||
DETACH DATABASE aux69;
|
||||
DROP INDEX IF EXISTS T1;
|
||||
SELECT STRING_AGG(C) FROM T2;
|
||||
ROLLBACK TO sp6649;
|
||||
RELEASE sp6649;
|
||||
INSERT OR ABORT INTO T2 VALUES ('x', -9, -9);
|
||||
SELECT COUNT(*) FILTER (WHERE c1 IS NOT NULL), SUM(rowid) FILTER (WHERE c1 > 0), COUNT(*) FILTER (WHERE 1=0), COUNT(*) FILTER (WHERE 1=1), COUNT(*) FILTER (WHERE NULL), AVG(c1) FILTER (WHERE c1 > 0 AND c1 < 100), COUNT(*) FILTER (WHERE typeof(c1) = "text") FROM t1;
|
||||
ALTER TABLE T RENAME COLUMN b TO b_r9085;
|
||||
INSERT INTO t1 DEFAULT VALUES;
|
||||
SELECT GROUP_CONCAT(A, '|') FROM T2;
|
||||
INSERT OR ROLLBACK INTO T1 VALUES (6, '');
|
||||
WITH RECURSIVE tree(id, path) AS (VALUES(1, "/1") UNION ALL SELECT id+1, path || "/" || (id+1) FROM tree WHERE id<14) SELECT * FROM tree;
|
||||
CREATE VIEW IF NOT EXISTS v_T1_7673 AS SELECT B FROM T1;
|
||||
SELECT COUNT(*) FILTER (WHERE B IS NOT NULL), SUM(rowid) FILTER (WHERE B > 0), COUNT(*) FILTER (WHERE 1=0), COUNT(*) FILTER (WHERE 1=1), COUNT(*) FILTER (WHERE NULL), AVG(B) FILTER (WHERE B > 0 AND B < 100), COUNT(*) FILTER (WHERE typeof(B) = "text") FROM T1;
|
||||
CREATE TABLE T1 (
|
||||
a INTEGER,
|
||||
b REAL
|
||||
);
|
||||
CREATE TABLE T2 (
|
||||
a INTEGER,
|
||||
b REAL
|
||||
);
|
||||
INSERT INTO T1 VALUES (1,1.0);
|
||||
INSERT INTO T2 VALUES (1,-1.0),(2,9e999);
|
||||
INSERT OR REPLACE INTO T1
|
||||
SELECT * FROM T2;
|
||||
SELECT * FROM T1;
|
||||
SELECT COUNT(c) FROM T;
|
||||
UPDATE T SET a = a + 1 WHERE 1;
|
||||
ALTER TABLE T ADD COLUMN extra_6983 DATETIME DEFAULT CURRENT_TIMESTAMP;
|
||||
INSERT INTO T2 VALUES (NULL, NULL);
|
||||
|
||||
VACUUM;
|
||||
CREATE VIEW IF NOT EXISTS v_T2_6393 AS SELECT a FROM T2;
|
||||
ALTER TABLE T1 RENAME COLUMN b TO b_r8651;
|
||||
SELECT LEAD(a) OVER (ORDER BY a) FROM T1;
|
||||
ALTER TABLE T DROP COLUMN a;
|
||||
SELECT * FROM T1 AS a INNER JOIN T1 AS b ON a.rowid = b.rowid;
|
||||
CREATE TABLE T1 (
|
||||
A VARCHAR(10) PRIMARY KEY,
|
||||
B VARCHAR(15) UNIQUE,
|
||||
C INTEGER
|
||||
);
|
||||
CREATE TABLE T2 (
|
||||
X VARCHAR(20) PRIMARY KEY,
|
||||
A VARCHAR(10) NOT NULL UNIQUE,
|
||||
FOREIGN KEY (A) REFERENCES T1(A)
|
||||
);
|
||||
INSERT INTO T1 VALUES ('a', 'p', -2147483648);
|
||||
INSERT INTO T1 VALUES ('b', 'q', 2147483647);
|
||||
INSERT INTO T2 VALUES ('m', 'a');
|
||||
INSERT INTO T2 VALUES ('n', 'b');
|
||||
SELECT T2.X, T1.B, T1.C FROM T2, T1 WHERE T2.A = T1.A AND T1.C >= 0;
|
||||
SELECT * FROM t1 WHERE c1 IN (SELECT c1 FROM t1 t2 WHERE t2.c1 = t1.c1);
|
||||
SELECT * FROM T2 AS a INNER JOIN T AS b ON a.rowid = b.rowid;
|
||||
DETACH DATABASE aux78;
|
||||
SELECT COUNT(*) FILTER (WHERE c1 IS NOT NULL), SUM(rowid) FILTER (WHERE c1 > 0), COUNT(*) FILTER (WHERE 1=0), COUNT(*) FILTER (WHERE 1=1), COUNT(*) FILTER (WHERE NULL), AVG(c1) FILTER (WHERE c1 > 0 AND c1 < 100), COUNT(*) FILTER (WHERE typeof(c1) = "text") FROM t1;
|
||||
UPDATE T2 SET A = 'x';
|
||||
PRAGMA cache_spill = NO;
|
||||
INSERT INTO T2 SELECT * FROM T2;
|
||||
VACUUM main;
|
||||
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';
|
||||
SELECT * FROM T1 WHERE EXISTS (SELECT 1 FROM T1 WHERE C > 0);
|
||||
ROLLBACK TRANSACTION TO SAVEPOINT sp5671;
|
||||
RELEASE SAVEPOINT sp5671;
|
||||
ALTER TABLE T DROP COLUMN a;
|
||||
SELECT A, (SELECT MIN(A) FROM T2) AS min_val FROM T2;
|
||||
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 T1;
|
||||
SELECT * FROM T1 WHERE A IN (SELECT A FROM T1 WHERE A IN (SELECT A FROM T1));
|
||||
ALTER TABLE t1 ADD COLUMN extra_514 DATE DEFAULT (abs(random()) % 1000);
|
||||
SELECT SUM(A) FROM T1;
|
||||
ALTER TABLE t1 RENAME TO t1_r1859;
|
||||
|
||||
SELECT COUNT(*) FROM t1;
|
||||
SELECT MAX(c0) FROM t1;
|
||||
SELECT NTILE(1) OVER (PARTITION BY X ORDER BY X ROWS BETWEEN 2 PRECEDING AND 2 FOLLOWING EXCLUDE CURRENT ROW) FROM T2;
|
||||
CREATE TEMP VIEW IF NOT EXISTS v_T_8701 AS SELECT b FROM T;
|
||||
```
|
||||
|
||||
## Actual output
|
||||
|
||||
```sql
|
||||
main: "" r/w
|
||||
length 1000000000
|
||||
sql_length 1000000000
|
||||
column 2000
|
||||
expr_depth 1000
|
||||
compound_select 500
|
||||
vdbe_op 250000000
|
||||
function_arg 127
|
||||
attached 10
|
||||
like_pattern_length 50000
|
||||
variable_number 32766
|
||||
trigger_depth 1000
|
||||
worker_threads 0
|
||||
1|-1.0
|
||||
2|Inf
|
||||
```
|
||||
|
||||
## Expectation
|
||||
|
||||
```sql
|
||||
|
||||
```
|
||||
|
||||
## Flag
|
||||
|
||||
```
|
||||
|
||||
```
|
||||
|
||||
@@ -0,0 +1,714 @@
|
||||
## 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 auto_vacuum = INCREMENTAL;
|
||||
PRAGMA recursive_triggers;
|
||||
BEGIN IMMEDIATE TRANSACTION;
|
||||
ATTACH DATABASE ':memory:' AS aux42;
|
||||
SAVEPOINT sp664;
|
||||
.read commands.sql
|
||||
CREATE TABLE "t1"(a INTEGER PRIMARY KEY, b TEXT, c INT, d INT);
|
||||
INSERT INTO t1 VALUES (round(unlikely(NULL), x'2f972a75f5d004ce366600'), 'Wernher', CAST(round(NULL, (2 * 1)) AS FLOAT), 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;
|
||||
CREATE VIRTUAL TABLE t0 USING fts4("x", "y", "z");
|
||||
DROP TABLE t0;
|
||||
.quit
|
||||
ATTACH DATABASE ':memory:' AS aux33;
|
||||
ATTACH DATABASE ':memory:' AS aux74;
|
||||
.nullvalue 232327d3-536b-41de-a764-a6301986aeab
|
||||
CREATE TABLE [T] (
|
||||
A VARCHAR(upper('你好')) PRIMARY KEY,
|
||||
B VARCHAR(json_array()) NOT NULL,
|
||||
C INTEGER,
|
||||
UNIQUE (B, C)
|
||||
);
|
||||
INSERT INTO T VALUES ('a', 'p', -degrees(2147483648));
|
||||
INSERT INTO T VALUES ('b', 'q', 700);
|
||||
INSERT INTO T VALUES ('c', 'r', 0);
|
||||
INSERT INTO T VALUES ('d', 's', 2147483647);
|
||||
INSERT INTO T VALUES ('e', 't', -1);
|
||||
INSERT INTO T VALUES ('f', 'u', 1);
|
||||
SELECT * FROM T WHERE NOT NOT (C BETWEEN -1000 AND 1000) ORDER BY C ASC;
|
||||
SELECT * FROM T;
|
||||
PRAGMA vdbe_debug = 0;
|
||||
ALTER TABLE T DROP COLUMN B;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_T_6262 AFTER UPDATE OF A ON T FOR EACH ROW BEGIN SELECT RAISE(FAIL, 'no'); END;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_T_1635 AFTER UPDATE OF A ON T FOR EACH ROW BEGIN SELECT RAISE(FAIL, 'no'); END;
|
||||
SELECT AVG(C) FROM T;
|
||||
ALTER TABLE T RENAME COLUMN B TO B_r9915;
|
||||
DETACH DATABASE aux74;
|
||||
DETACH DATABASE aux33;
|
||||
SELECT * FROM t1 WHERE +a > ALL (SELECT a FROM t1);
|
||||
DELETE FROM t1 WHERE 0;
|
||||
INSERT OR ROLLBACK INTO t1 VALUES (NULL, 0, -6, '');
|
||||
CREATE TRIGGER IF NOT EXISTS trg_t1_7285 BEFORE UPDATE ON t1 FOR EACH ROW BEGIN SELECT RAISE(ROLLBACK, 'rb'); END;
|
||||
DROP TRIGGER IF EXISTS t1;
|
||||
INSERT INTO t1 VALUES (NULL, NULL, NULL, NULL);
|
||||
RELEASE sp664;
|
||||
ALTER TABLE t1 ADD COLUMN extra_6969 DOUBLE NOT NULL DEFAULT 0;
|
||||
INSERT INTO t1 DEFAULT VALUES;
|
||||
SELECT * FROM t1;
|
||||
REINDEX;
|
||||
SELECT STRING_AGG(d) FROM t1;
|
||||
CREATE TEMPORARY VIEW IF NOT EXISTS v_t1_5722 AS SELECT a FROM t1;
|
||||
ALTER TABLE t1 RENAME COLUMN c TO c_r6930;
|
||||
INSERT INTO t1 DEFAULT VALUES;
|
||||
SELECT * FROM t1 AS a LEFT OUTER JOIN t1 AS b ON a.rowid = b.rowid;
|
||||
DETACH DATABASE aux42;
|
||||
ALTER TABLE t1 RENAME COLUMN d TO d_r1370;
|
||||
SELECT * FROM t1 AS a JOIN t1 AS b ON a.rowid = b.rowid;
|
||||
INSERT OR REPLACE INTO t1 VALUES (NULL, 0, -9, -5);
|
||||
SELECT COUNT(*) FROM t1;
|
||||
INSERT INTO t1 VALUES (NULL, NULL, NULL, NULL);
|
||||
REINDEX t1;
|
||||
SELECT COUNT(*) FROM t1;
|
||||
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;
|
||||
UPDATE t1 SET d = CURRENT_TIMESTAMP WHERE d BETWEEN 0 AND 100;
|
||||
INSERT INTO t1 VALUES (NULL, NULL, NULL, NULL);
|
||||
COMMIT;
|
||||
INSERT INTO t1 SELECT * FROM t1;
|
||||
DELETE FROM t1 WHERE 1 RETURNING *;
|
||||
BEGIN IMMEDIATE TRANSACTION;
|
||||
ATTACH DATABASE ':memory:' AS aux42;
|
||||
SAVEPOINT sp664;
|
||||
.read commands.sql
|
||||
CREATE TABLE "t1"(a INTEGER PRIMARY KEY, b TEXT, c INT, d INT);
|
||||
INSERT INTO t1 VALUES (round(unlikely(NULL), x'2f972a75f5d004ce366600'), 'Wernher', CAST(10 AS FLOAT), 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;
|
||||
CREATE VIRTUAL TABLE t0 USING fts4("x", "y", "z");
|
||||
DROP TABLE t0;
|
||||
.quit
|
||||
ATTACH DATABASE ':memory:' AS aux33;
|
||||
ATTACH DATABASE ':memory:' AS aux74;
|
||||
.nullvalue 232327d3-536b-41de-a764-a6301986aeab
|
||||
CREATE TABLE [T] (
|
||||
A VARCHAR(upper('你好')) PRIMARY KEY,
|
||||
B VARCHAR(json_array()) NOT NULL,
|
||||
C INTEGER,
|
||||
UNIQUE (B, C)
|
||||
);
|
||||
INSERT INTO T VALUES ('a', 'p', -degrees(2147483648));
|
||||
INSERT INTO T VALUES ('b', 'q', 700);
|
||||
INSERT INTO T VALUES ('c', 'r', 0);
|
||||
INSERT INTO T VALUES ('d', 's', 2147483647);
|
||||
INSERT INTO T VALUES ('e', 't', -1);
|
||||
INSERT INTO T VALUES ('f', 'u', 1);
|
||||
SELECT * FROM T WHERE NOT NOT (C BETWEEN -1000 AND 1000) ORDER BY C ASC;
|
||||
SELECT * FROM T;
|
||||
PRAGMA vdbe_debug = 0;
|
||||
ALTER TABLE T DROP COLUMN B;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_T_6262 AFTER UPDATE OF A ON T FOR EACH ROW BEGIN SELECT RAISE(FAIL, 'no'); END;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_T_1635 AFTER UPDATE OF A ON T FOR EACH ROW BEGIN SELECT RAISE(FAIL, 'no'); END;
|
||||
SELECT AVG(C) FROM T;
|
||||
ALTER TABLE T RENAME COLUMN B TO B_r9915;
|
||||
DETACH DATABASE aux74;
|
||||
DETACH DATABASE aux33;
|
||||
SELECT * FROM t1 WHERE +a > ALL (SELECT a FROM t1);
|
||||
DELETE FROM t1 WHERE 0;
|
||||
INSERT OR ROLLBACK INTO t1 VALUES (NULL, 0, -6, '');
|
||||
CREATE TRIGGER IF NOT EXISTS trg_t1_7285 BEFORE UPDATE ON t1 FOR EACH ROW BEGIN SELECT RAISE(ROLLBACK, 'rb'); END;
|
||||
DROP TRIGGER IF EXISTS t1;
|
||||
INSERT INTO t1 VALUES (NULL, NULL, NULL, NULL);
|
||||
RELEASE sp664;
|
||||
ALTER TABLE t1 ADD COLUMN extra_6969 DOUBLE NOT NULL DEFAULT 0;
|
||||
INSERT INTO t1 DEFAULT VALUES;
|
||||
SELECT * FROM t1;
|
||||
REINDEX;
|
||||
SELECT STRING_AGG(d) FROM t1;
|
||||
CREATE TEMPORARY VIEW IF NOT EXISTS v_t1_5722 AS SELECT a FROM t1;
|
||||
ALTER TABLE t1 RENAME COLUMN c TO c_r6930;
|
||||
INSERT INTO t1 DEFAULT VALUES;
|
||||
SELECT * FROM t1 AS a LEFT OUTER JOIN t1 AS b ON a.rowid = b.rowid;
|
||||
DETACH DATABASE aux42;
|
||||
ALTER TABLE t1 RENAME COLUMN d TO d_r1370;
|
||||
SELECT * FROM t1 AS a JOIN t1 AS b ON a.rowid = b.rowid;
|
||||
INSERT OR REPLACE INTO t1 VALUES (NULL, 0, -9, -5);
|
||||
SELECT COUNT(*) FROM t1;
|
||||
INSERT INTO t1 VALUES (NULL, NULL, NULL, NULL);
|
||||
REINDEX t1;
|
||||
SELECT COUNT(*) FROM t1;
|
||||
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;
|
||||
UPDATE t1 SET d = CURRENT_TIMESTAMP WHERE d BETWEEN 0 AND 100;
|
||||
INSERT INTO t1 VALUES (NULL, NULL, NULL, NULL);
|
||||
COMMIT;
|
||||
INSERT INTO t1 SELECT * FROM t1;
|
||||
DELETE FROM t1 WHERE 1 RETURNING *;
|
||||
BEGIN IMMEDIATE TRANSACTION;
|
||||
ATTACH DATABASE ':memory:' AS aux42;
|
||||
SAVEPOINT sp664;
|
||||
.read commands.sql
|
||||
CREATE TABLE "t1"(a INTEGER PRIMARY KEY, b TEXT, c INT, d INT);
|
||||
INSERT INTO t1 VALUES (round(unlikely(NULL), x'2f972a75f5d004ce366600'), 'Wernher', CAST(10 AS FLOAT), 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;
|
||||
CREATE VIRTUAL TABLE t0 USING fts4("x", "y", "z");
|
||||
DROP TABLE t0;
|
||||
.quit
|
||||
ATTACH DATABASE ':memory:' AS aux33;
|
||||
ATTACH DATABASE ':memory:' AS aux74;
|
||||
.nullvalue 232327d3-536b-41de-a764-a6301986aeab
|
||||
CREATE TABLE [T] (
|
||||
A VARCHAR(upper('你好')) PRIMARY KEY,
|
||||
B VARCHAR(json_array()) NOT NULL,
|
||||
C INTEGER,
|
||||
UNIQUE (B, C)
|
||||
);
|
||||
INSERT INTO T VALUES ('a', 'p', -degrees(2147483648));
|
||||
INSERT INTO T VALUES ('b', 'q', 700);
|
||||
INSERT INTO T VALUES ('c', 'r', 0);
|
||||
INSERT INTO T VALUES ('d', 's', 2147483647);
|
||||
INSERT INTO T VALUES ('e', 't', -1);
|
||||
INSERT INTO T VALUES ('f', 'u', 1);
|
||||
SELECT * FROM T WHERE NOT NOT (C BETWEEN -1000 AND 1000) ORDER BY C ASC;
|
||||
SELECT * FROM T;
|
||||
PRAGMA vdbe_debug = 0;
|
||||
ALTER TABLE T DROP COLUMN B;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_T_6262 AFTER UPDATE OF A ON T FOR EACH ROW BEGIN SELECT RAISE(FAIL, 'no'); END;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_T_1635 AFTER UPDATE OF A ON T FOR EACH ROW BEGIN SELECT RAISE(FAIL, 'no'); END;
|
||||
SELECT AVG(C) FROM T;
|
||||
ALTER TABLE T RENAME COLUMN B TO B_r9915;
|
||||
DETACH DATABASE aux74;
|
||||
DETACH DATABASE aux33;
|
||||
SELECT * FROM t1 WHERE +a > ALL (SELECT a FROM t1);
|
||||
DELETE FROM t1 WHERE 0;
|
||||
INSERT OR ROLLBACK INTO t1 VALUES (NULL, 0, -6, '');
|
||||
CREATE TRIGGER IF NOT EXISTS trg_t1_7285 BEFORE UPDATE ON t1 FOR EACH ROW BEGIN SELECT RAISE(ROLLBACK, 'rb'); END;
|
||||
DROP TRIGGER IF EXISTS t1;
|
||||
INSERT INTO t1 VALUES (NULL, NULL, NULL, NULL);
|
||||
RELEASE sp664;
|
||||
ALTER TABLE t1 ADD COLUMN extra_6969 DOUBLE NOT NULL DEFAULT 0;
|
||||
INSERT INTO t1 DEFAULT VALUES;
|
||||
SELECT * FROM t1;
|
||||
REINDEX;
|
||||
SELECT STRING_AGG(d) FROM t1;
|
||||
CREATE TEMPORARY VIEW IF NOT EXISTS v_t1_5722 AS SELECT a FROM t1;
|
||||
ALTER TABLE t1 RENAME COLUMN c TO c_r6930;
|
||||
INSERT INTO t1 DEFAULT VALUES;
|
||||
SELECT * FROM t1 AS a LEFT OUTER JOIN t1 AS b ON a.rowid = b.rowid;
|
||||
DETACH DATABASE aux42;
|
||||
ALTER TABLE t1 RENAME COLUMN d TO d_r1370;
|
||||
SELECT * FROM t1 AS a JOIN t1 AS b ON a.rowid = b.rowid;
|
||||
INSERT OR REPLACE INTO t1 VALUES (NULL, 0, -9, -5);
|
||||
SELECT COUNT(*) FROM t1;
|
||||
INSERT INTO t1 VALUES (NULL, NULL, NULL, NULL);
|
||||
REINDEX t1;
|
||||
SELECT COUNT(*) FROM t1;
|
||||
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;
|
||||
UPDATE t1 SET d = CURRENT_TIMESTAMP WHERE d BETWEEN 0 AND 100;
|
||||
INSERT INTO t1 VALUES (NULL, NULL, NULL, NULL);
|
||||
COMMIT;
|
||||
INSERT INTO t1 SELECT * FROM t1;
|
||||
DELETE FROM t1 WHERE 1 RETURNING *;
|
||||
BEGIN IMMEDIATE TRANSACTION;
|
||||
ATTACH DATABASE ':memory:' AS aux42;
|
||||
SAVEPOINT sp664;
|
||||
.read commands.sql
|
||||
CREATE TABLE "t1"(a INTEGER PRIMARY KEY, b TEXT, c INT, d INT);
|
||||
INSERT INTO t1 VALUES (round(unlikely(NULL), x'2f972a75f5d004ce366600'), 'Wernher', CAST(10 AS FLOAT), 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;
|
||||
CREATE VIRTUAL TABLE t0 USING fts4("x", "y", "z");
|
||||
DROP TABLE t0;
|
||||
.quit
|
||||
ATTACH DATABASE ':memory:' AS aux33;
|
||||
ATTACH DATABASE ':memory:' AS aux74;
|
||||
.nullvalue 232327d3-536b-41de-a764-a6301986aeab
|
||||
CREATE TABLE [T] (
|
||||
A VARCHAR(upper('你好')) PRIMARY KEY,
|
||||
B VARCHAR(json_array()) NOT NULL,
|
||||
C INTEGER,
|
||||
UNIQUE (B, C)
|
||||
);
|
||||
INSERT INTO T VALUES ('a', 'p', -degrees(2147483648));
|
||||
INSERT INTO T VALUES ('b', 'q', 700);
|
||||
INSERT INTO T VALUES ('c', 'r', 0);
|
||||
INSERT INTO T VALUES ('d', 's', 2147483647);
|
||||
INSERT INTO T VALUES ('e', 't', -1);
|
||||
INSERT INTO T VALUES ('f', 'u', 1);
|
||||
SELECT * FROM T WHERE NOT NOT (C BETWEEN -1000 AND 1000) ORDER BY C ASC;
|
||||
SELECT * FROM T;
|
||||
PRAGMA vdbe_debug = 0;
|
||||
ALTER TABLE T DROP COLUMN B;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_T_6262 AFTER UPDATE OF A ON T FOR EACH ROW BEGIN SELECT RAISE(FAIL, 'no'); END;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_T_1635 AFTER UPDATE OF A ON T FOR EACH ROW BEGIN SELECT RAISE(FAIL, 'no'); END;
|
||||
SELECT AVG(C) FROM T;
|
||||
ALTER TABLE T RENAME COLUMN B TO B_r9915;
|
||||
DETACH DATABASE aux74;
|
||||
DETACH DATABASE aux33;
|
||||
SELECT * FROM t1 WHERE +a > ALL (SELECT a FROM t1);
|
||||
DELETE FROM t1 WHERE 0;
|
||||
INSERT OR ROLLBACK INTO t1 VALUES (NULL, 0, -6, '');
|
||||
CREATE TRIGGER IF NOT EXISTS trg_t1_7285 BEFORE UPDATE ON t1 FOR EACH ROW BEGIN SELECT RAISE(ROLLBACK, 'rb'); END;
|
||||
DROP TRIGGER IF EXISTS t1;
|
||||
INSERT INTO t1 VALUES (NULL, NULL, NULL, NULL);
|
||||
RELEASE sp664;
|
||||
ALTER TABLE t1 ADD COLUMN extra_6969 DOUBLE NOT NULL DEFAULT 0;
|
||||
INSERT INTO t1 DEFAULT VALUES;
|
||||
SELECT * FROM t1;
|
||||
REINDEX;
|
||||
SELECT STRING_AGG(d) FROM t1;
|
||||
CREATE TEMPORARY VIEW IF NOT EXISTS v_t1_5722 AS SELECT a FROM t1;
|
||||
ALTER TABLE t1 RENAME COLUMN c TO c_r6930;
|
||||
INSERT INTO t1 DEFAULT VALUES;
|
||||
SELECT * FROM t1 AS a LEFT OUTER JOIN t1 AS b ON a.rowid = b.rowid;
|
||||
DETACH DATABASE aux42;
|
||||
ALTER TABLE t1 RENAME COLUMN d TO d_r1370;
|
||||
SELECT * FROM t1 AS a JOIN t1 AS b ON a.rowid = b.rowid;
|
||||
INSERT OR REPLACE INTO t1 VALUES (NULL, 0, -9, -5);
|
||||
SELECT COUNT(*) FROM t1;
|
||||
INSERT INTO t1 VALUES (NULL, NULL, NULL, NULL);
|
||||
REINDEX t1;
|
||||
SELECT COUNT(*) FROM t1;
|
||||
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;
|
||||
UPDATE t1 SET d = CURRENT_TIMESTAMP WHERE d BETWEEN 0 AND 100;
|
||||
INSERT INTO t1 VALUES (NULL, NULL, NULL, NULL);
|
||||
COMMIT;
|
||||
INSERT INTO t1 SELECT * FROM t1;
|
||||
DELETE FROM t1 WHERE 1 RETURNING *;
|
||||
BEGIN IMMEDIATE TRANSACTION;
|
||||
ATTACH DATABASE ':memory:' AS aux42;
|
||||
SAVEPOINT sp664;
|
||||
.read commands.sql
|
||||
CREATE TABLE "t1"(a INTEGER PRIMARY KEY, b TEXT, c INT, d INT);
|
||||
INSERT INTO t1 VALUES (round(unlikely(NULL), x'2f972a75f5d004ce366600'), 'Wernher', CAST(10 AS FLOAT), 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;
|
||||
CREATE VIRTUAL TABLE t0 USING fts4("x", "y", "z");
|
||||
DROP TABLE t0;
|
||||
.quit
|
||||
ATTACH DATABASE ':memory:' AS aux33;
|
||||
ATTACH DATABASE ':memory:' AS aux74;
|
||||
.nullvalue 232327d3-536b-41de-a764-a6301986aeab
|
||||
CREATE TABLE [T] (
|
||||
A VARCHAR(upper('你好')) PRIMARY KEY,
|
||||
B VARCHAR(json_array()) NOT NULL,
|
||||
C INTEGER,
|
||||
UNIQUE (B, C)
|
||||
);
|
||||
INSERT INTO T VALUES ('a', 'p', -degrees(2147483648));
|
||||
INSERT INTO T VALUES ('b', 'q', 700);
|
||||
INSERT INTO T VALUES ('c', 'r', 0);
|
||||
INSERT INTO T VALUES ('d', 's', 2147483647);
|
||||
INSERT INTO T VALUES ('e', 't', -1);
|
||||
INSERT INTO T VALUES ('f', 'u', 1);
|
||||
SELECT * FROM T WHERE NOT NOT (C BETWEEN -1000 AND 1000) ORDER BY C ASC;
|
||||
SELECT * FROM T;
|
||||
PRAGMA vdbe_debug = 0;
|
||||
ALTER TABLE T DROP COLUMN B;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_T_6262 AFTER UPDATE OF A ON T FOR EACH ROW BEGIN SELECT RAISE(FAIL, 'no'); END;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_T_1635 AFTER UPDATE OF A ON T FOR EACH ROW BEGIN SELECT RAISE(FAIL, 'no'); END;
|
||||
SELECT AVG(C) FROM T;
|
||||
ALTER TABLE T RENAME COLUMN B TO B_r9915;
|
||||
DETACH DATABASE aux74;
|
||||
DETACH DATABASE aux33;
|
||||
SELECT * FROM t1 WHERE +a > ALL (SELECT a FROM t1);
|
||||
DELETE FROM t1 WHERE 0;
|
||||
INSERT OR ROLLBACK INTO t1 VALUES (NULL, 0, -6, '');
|
||||
CREATE TRIGGER IF NOT EXISTS trg_t1_7285 BEFORE UPDATE ON t1 FOR EACH ROW BEGIN SELECT RAISE(ROLLBACK, 'rb'); END;
|
||||
DROP TRIGGER IF EXISTS t1;
|
||||
INSERT INTO t1 VALUES (NULL, NULL, NULL, NULL);
|
||||
RELEASE sp664;
|
||||
ALTER TABLE t1 ADD COLUMN extra_6969 DOUBLE NOT NULL DEFAULT 0;
|
||||
INSERT INTO t1 DEFAULT VALUES;
|
||||
SELECT * FROM t1;
|
||||
REINDEX;
|
||||
SELECT STRING_AGG(d) FROM t1;
|
||||
CREATE TEMPORARY VIEW IF NOT EXISTS v_t1_5722 AS SELECT a FROM t1;
|
||||
ALTER TABLE t1 RENAME COLUMN c TO c_r6930;
|
||||
INSERT INTO t1 DEFAULT VALUES;
|
||||
SELECT * FROM t1 AS a LEFT OUTER JOIN t1 AS b ON a.rowid = b.rowid;
|
||||
DETACH DATABASE aux42;
|
||||
ALTER TABLE t1 RENAME COLUMN d TO d_r1370;
|
||||
SELECT * FROM t1 AS a JOIN t1 AS b ON a.rowid = b.rowid;
|
||||
INSERT OR REPLACE INTO t1 VALUES (NULL, 0, -9, -5);
|
||||
SELECT COUNT(*) FROM t1;
|
||||
INSERT INTO t1 VALUES (NULL, NULL, NULL, NULL);
|
||||
REINDEX t1;
|
||||
SELECT COUNT(*) FROM t1;
|
||||
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;
|
||||
UPDATE t1 SET d = CURRENT_TIMESTAMP WHERE d BETWEEN 0 AND 100;
|
||||
INSERT INTO t1 VALUES (NULL, NULL, NULL, NULL);
|
||||
COMMIT;
|
||||
INSERT INTO t1 SELECT * FROM t1;
|
||||
DELETE FROM t1 WHERE 1 RETURNING *;
|
||||
BEGIN IMMEDIATE TRANSACTION;
|
||||
ATTACH DATABASE ':memory:' AS aux42;
|
||||
SAVEPOINT sp664;
|
||||
.read commands.sql
|
||||
CREATE TABLE "t1"(a INTEGER PRIMARY KEY, b TEXT, c INT, d INT);
|
||||
INSERT INTO t1 VALUES (round(unlikely(NULL), x'2f972a75f5d004ce366600'), 'Wernher', CAST(10 AS FLOAT), 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;
|
||||
CREATE VIRTUAL TABLE t0 USING fts4("x", "y", "z");
|
||||
DROP TABLE t0;
|
||||
.quit
|
||||
ATTACH DATABASE ':memory:' AS aux33;
|
||||
ATTACH DATABASE ':memory:' AS aux74;
|
||||
.nullvalue 232327d3-536b-41de-a764-a6301986aeab
|
||||
CREATE TABLE [T] (
|
||||
A VARCHAR(upper('你好')) PRIMARY KEY,
|
||||
B VARCHAR(json_array()) NOT NULL,
|
||||
C INTEGER,
|
||||
UNIQUE (B, C)
|
||||
);
|
||||
INSERT INTO T VALUES ('a', 'p', -degrees(2147483648));
|
||||
INSERT INTO T VALUES ('b', 'q', 700);
|
||||
INSERT INTO T VALUES ('c', 'r', 0);
|
||||
INSERT INTO T VALUES ('d', 's', 2147483647);
|
||||
INSERT INTO T VALUES ('e', 't', -1);
|
||||
INSERT INTO T VALUES ('f', 'u', 1);
|
||||
SELECT * FROM T WHERE NOT NOT (C BETWEEN -1000 AND 1000) ORDER BY C ASC;
|
||||
SELECT * FROM T;
|
||||
PRAGMA vdbe_debug = 0;
|
||||
ALTER TABLE T DROP COLUMN B;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_T_6262 AFTER UPDATE OF A ON T FOR EACH ROW BEGIN SELECT RAISE(FAIL, 'no'); END;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_T_1635 AFTER UPDATE OF A ON T FOR EACH ROW BEGIN SELECT RAISE(FAIL, 'no'); END;
|
||||
SELECT AVG(C) FROM T;
|
||||
ALTER TABLE T RENAME COLUMN B TO B_r9915;
|
||||
DETACH DATABASE aux74;
|
||||
DETACH DATABASE aux33;
|
||||
SELECT * FROM t1 WHERE +a > ALL (SELECT a FROM t1);
|
||||
DELETE FROM t1 WHERE 0;
|
||||
INSERT OR ROLLBACK INTO t1 VALUES (NULL, 0, -6, '');
|
||||
CREATE TRIGGER IF NOT EXISTS trg_t1_7285 BEFORE UPDATE ON t1 FOR EACH ROW BEGIN SELECT RAISE(ROLLBACK, 'rb'); END;
|
||||
DROP TRIGGER IF EXISTS t1;
|
||||
INSERT INTO t1 VALUES (NULL, NULL, NULL, NULL);
|
||||
RELEASE sp664;
|
||||
ALTER TABLE t1 ADD COLUMN extra_6969 DOUBLE NOT NULL DEFAULT 0;
|
||||
INSERT INTO t1 DEFAULT VALUES;
|
||||
SELECT * FROM t1;
|
||||
REINDEX;
|
||||
SELECT STRING_AGG(d) FROM t1;
|
||||
CREATE TEMPORARY VIEW IF NOT EXISTS v_t1_5722 AS SELECT a FROM t1;
|
||||
ALTER TABLE t1 RENAME COLUMN c TO c_r6930;
|
||||
INSERT INTO t1 DEFAULT VALUES;
|
||||
SELECT * FROM t1 AS a LEFT OUTER JOIN t1 AS b ON a.rowid = b.rowid;
|
||||
DETACH DATABASE aux42;
|
||||
ALTER TABLE t1 RENAME COLUMN d TO d_r1370;
|
||||
SELECT * FROM t1 AS a JOIN t1 AS b ON a.rowid = b.rowid;
|
||||
INSERT OR REPLACE INTO t1 VALUES (NULL, 0, -9, -5);
|
||||
SELECT COUNT(*) FROM t1;
|
||||
INSERT INTO t1 VALUES (NULL, NULL, NULL, NULL);
|
||||
REINDEX t1;
|
||||
SELECT COUNT(*) FROM t1;
|
||||
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;
|
||||
UPDATE t1 SET d = CURRENT_TIMESTAMP WHERE d BETWEEN 0 AND 100;
|
||||
INSERT INTO t1 VALUES (NULL, NULL, NULL, NULL);
|
||||
COMMIT;
|
||||
INSERT INTO t1 SELECT * FROM t1;
|
||||
DELETE FROM t1 WHERE 1 RETURNING *;
|
||||
BEGIN IMMEDIATE TRANSACTION;
|
||||
ATTACH DATABASE ':memory:' AS aux42;
|
||||
SAVEPOINT sp664;
|
||||
.read commands.sql
|
||||
CREATE TABLE "t1"(a INTEGER PRIMARY KEY, b TEXT, c INT, d INT);
|
||||
INSERT INTO t1 VALUES (round(unlikely(NULL), x'2f972a75f5d004ce366600'), 'Wernher', CAST(10 AS FLOAT), 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;
|
||||
CREATE VIRTUAL TABLE t0 USING fts4("x", "y", "z");
|
||||
DROP TABLE t0;
|
||||
.quit
|
||||
ATTACH DATABASE ':memory:' AS aux33;
|
||||
ATTACH DATABASE ':memory:' AS aux74;
|
||||
.nullvalue 232327d3-536b-41de-a764-a6301986aeab
|
||||
CREATE TABLE [T] (
|
||||
A VARCHAR(upper('你好')) PRIMARY KEY,
|
||||
B VARCHAR(json_array()) NOT NULL,
|
||||
C INTEGER,
|
||||
UNIQUE (B, C)
|
||||
);
|
||||
INSERT INTO T VALUES ('a', 'p', -degrees(2147483648));
|
||||
INSERT INTO T VALUES ('b', 'q', 700);
|
||||
INSERT INTO T VALUES ('c', 'r', 0);
|
||||
INSERT INTO T VALUES ('d', 's', 2147483647);
|
||||
INSERT INTO T VALUES ('e', 't', -1);
|
||||
INSERT INTO T VALUES ('f', 'u', 1);
|
||||
SELECT * FROM T WHERE NOT NOT (C BETWEEN -1000 AND 1000) ORDER BY C ASC;
|
||||
SELECT * FROM T;
|
||||
PRAGMA vdbe_debug = 0;
|
||||
ALTER TABLE T DROP COLUMN B;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_T_6262 AFTER UPDATE OF A ON T FOR EACH ROW BEGIN SELECT RAISE(FAIL, 'no'); END;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_T_1635 AFTER UPDATE OF A ON T FOR EACH ROW BEGIN SELECT RAISE(FAIL, 'no'); END;
|
||||
SELECT AVG(C) FROM T;
|
||||
ALTER TABLE T RENAME COLUMN B TO B_r9915;
|
||||
DETACH DATABASE aux74;
|
||||
DETACH DATABASE aux33;
|
||||
CREATE VIRTUAL TABLE t0 USING fts4("x", "y", "z");
|
||||
DROP TABLE t0;
|
||||
SELECT * FROM t1 WHERE +a > ALL (SELECT a FROM t1);
|
||||
DELETE FROM t1 WHERE 0;
|
||||
INSERT OR ROLLBACK INTO t1 VALUES (NULL, 0, -6, '');
|
||||
CREATE TRIGGER IF NOT EXISTS trg_t1_7285 BEFORE UPDATE ON t1 FOR EACH ROW BEGIN SELECT RAISE(ROLLBACK, 'rb'); END;
|
||||
DROP TRIGGER IF EXISTS t1;
|
||||
INSERT INTO t1 VALUES (NULL, NULL, NULL, NULL);
|
||||
RELEASE sp664;
|
||||
ALTER TABLE t1 ADD COLUMN extra_6969 DOUBLE NOT NULL DEFAULT 0;
|
||||
INSERT INTO t1 DEFAULT VALUES;
|
||||
SELECT * FROM t1;
|
||||
REINDEX;
|
||||
SELECT STRING_AGG(d) FROM t1;
|
||||
CREATE TEMPORARY VIEW IF NOT EXISTS v_t1_5722 AS SELECT a FROM t1;
|
||||
ALTER TABLE t1 RENAME COLUMN c TO c_r6930;
|
||||
INSERT INTO t1 DEFAULT VALUES;
|
||||
SELECT * FROM t1 AS a LEFT OUTER JOIN t1 AS b ON a.rowid = b.rowid;
|
||||
DETACH DATABASE aux42;
|
||||
ALTER TABLE t1 RENAME COLUMN d TO d_r1370;
|
||||
SELECT * FROM t1 AS a JOIN t1 AS b ON a.rowid = b.rowid;
|
||||
INSERT OR REPLACE INTO t1 VALUES (NULL, 0, -9, -5);
|
||||
SELECT COUNT(*) FROM t1;
|
||||
INSERT INTO t1 VALUES (NULL, NULL, NULL, NULL);
|
||||
REINDEX t1;
|
||||
SELECT COUNT(*) FROM t1;
|
||||
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;
|
||||
UPDATE t1 SET d = CURRENT_TIMESTAMP WHERE d BETWEEN 0 AND 100;
|
||||
INSERT INTO t1 VALUES (NULL, NULL, NULL, NULL);
|
||||
COMMIT;
|
||||
INSERT INTO t1 SELECT * FROM t1;
|
||||
DELETE FROM t1 WHERE 1 RETURNING *;
|
||||
BEGIN IMMEDIATE TRANSACTION;
|
||||
ATTACH DATABASE ':memory:' AS aux42;
|
||||
SAVEPOINT sp664;
|
||||
.read commands.sql
|
||||
CREATE TABLE "t1"(a INTEGER PRIMARY KEY, b TEXT, c INT, d INT);
|
||||
INSERT INTO t1 VALUES (round(unlikely(NULL), x'2f972a75f5d004ce366600'), 'Wernher', CAST(10 AS FLOAT), 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;
|
||||
CREATE VIRTUAL TABLE t0 USING fts4("x", "y", "z");
|
||||
DROP TABLE t0;
|
||||
.quit
|
||||
ATTACH DATABASE ':memory:' AS aux33;
|
||||
ATTACH DATABASE ':memory:' AS aux74;
|
||||
.nullvalue 232327d3-536b-41de-a764-a6301986aeab
|
||||
CREATE TABLE [T] (
|
||||
A VARCHAR(upper('你好')) PRIMARY KEY,
|
||||
B VARCHAR(json_array()) NOT NULL,
|
||||
C INTEGER,
|
||||
UNIQUE (B, C)
|
||||
);
|
||||
INSERT INTO T VALUES ('a', 'p', -degrees(2147483648));
|
||||
INSERT INTO T VALUES ('b', 'q', 700);
|
||||
INSERT INTO T VALUES ('c', 'r', 0);
|
||||
INSERT INTO T VALUES ('d', 's', 2147483647);
|
||||
INSERT INTO T VALUES ('e', 't', -1);
|
||||
INSERT INTO T VALUES ('f', 'u', 1);
|
||||
SELECT * FROM T WHERE NOT NOT (C BETWEEN -1000 AND 1000) ORDER BY C ASC;
|
||||
SELECT * FROM T;
|
||||
PRAGMA vdbe_debug = 0;
|
||||
ALTER TABLE T DROP COLUMN B;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_T_6262 AFTER UPDATE OF A ON T FOR EACH ROW BEGIN SELECT RAISE(FAIL, 'no'); END;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_T_1635 AFTER UPDATE OF A ON T FOR EACH ROW BEGIN SELECT RAISE(FAIL, 'no'); END;
|
||||
SELECT AVG(C) FROM T;
|
||||
ALTER TABLE T RENAME COLUMN B TO B_r9915;
|
||||
DETACH DATABASE aux74;
|
||||
DETACH DATABASE aux33;
|
||||
SELECT * FROM t1 WHERE +a > ALL (SELECT a FROM t1);
|
||||
DELETE FROM t1 WHERE 0;
|
||||
INSERT OR ROLLBACK INTO t1 VALUES (NULL, 0, -6, '');
|
||||
CREATE TRIGGER IF NOT EXISTS trg_t1_7285 BEFORE UPDATE ON t1 FOR EACH ROW BEGIN SELECT RAISE(ROLLBACK, 'rb'); END;
|
||||
DROP TRIGGER IF EXISTS t1;
|
||||
INSERT INTO t1 VALUES (NULL, NULL, NULL, NULL);
|
||||
RELEASE sp664;
|
||||
ALTER TABLE t1 ADD COLUMN extra_6969 DOUBLE NOT NULL DEFAULT 0;
|
||||
INSERT INTO t1 DEFAULT VALUES;
|
||||
SELECT * FROM t1;
|
||||
REINDEX;
|
||||
SELECT STRING_AGG(d) FROM t1;
|
||||
CREATE TEMPORARY VIEW IF NOT EXISTS v_t1_5722 AS SELECT a FROM t1;
|
||||
ALTER TABLE t1 RENAME COLUMN c TO c_r6930;
|
||||
INSERT INTO t1 DEFAULT VALUES;
|
||||
SELECT * FROM t1 AS a LEFT OUTER JOIN t1 AS b ON a.rowid = b.rowid;
|
||||
DETACH DATABASE aux42;
|
||||
ALTER TABLE t1 RENAME COLUMN d TO d_r1370;
|
||||
SELECT * FROM t1 AS a JOIN t1 AS b ON a.rowid = b.rowid;
|
||||
INSERT OR REPLACE INTO t1 VALUES (NULL, 0, -9, -5);
|
||||
SELECT COUNT(*) FROM t1;
|
||||
INSERT INTO t1 VALUES (NULL, NULL, NULL, NULL);
|
||||
REINDEX t1;
|
||||
SELECT COUNT(*) FROM t1;
|
||||
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;
|
||||
UPDATE t1 SET d = CURRENT_TIMESTAMP WHERE d BETWEEN 0 AND 100;
|
||||
INSERT INTO t1 VALUES (NULL, NULL, NULL, NULL);
|
||||
COMMIT;
|
||||
INSERT INTO t1 SELECT * FROM t1;
|
||||
DELETE FROM t1 WHERE 1 RETURNING *;
|
||||
BEGIN IMMEDIATE TRANSACTION;
|
||||
ATTACH DATABASE ':memory:' AS aux42;
|
||||
SAVEPOINT sp664;
|
||||
.read commands.sql
|
||||
CREATE TABLE "t1"(a INTEGER PRIMARY KEY, b TEXT, c INT, d INT);
|
||||
INSERT INTO t1 VALUES (round(unlikely(NULL), x'2f972a75f5d004ce366600'), 'Wernher', CAST(10 AS FLOAT), 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;
|
||||
CREATE VIRTUAL TABLE t0 USING fts4("x", "y", "z");
|
||||
DROP TABLE t0;
|
||||
.quit
|
||||
ATTACH DATABASE ':memory:' AS aux33;
|
||||
ATTACH DATABASE ':memory:' AS aux74;
|
||||
.nullvalue 232327d3-536b-41de-a764-a6301986aeab
|
||||
CREATE TABLE [T] (
|
||||
A VARCHAR(upper('你好')) PRIMARY KEY,
|
||||
B VARCHAR(json_array()) NOT NULL,
|
||||
C INTEGER,
|
||||
UNIQUE (B, C)
|
||||
);
|
||||
INSERT INTO T VALUES ('a', 'p', -degrees(2147483648));
|
||||
INSERT INTO T VALUES ('b', 'q', 700);
|
||||
INSERT INTO T VALUES ('c', 'r', 0);
|
||||
INSERT INTO T VALUES ('d', 's', 2147483647);
|
||||
INSERT INTO T VALUES ('e', 't', -1);
|
||||
INSERT INTO T VALUES ('f', 'u', 1);
|
||||
SELECT * FROM T WHERE NOT NOT (C BETWEEN -1000 AND 1000) ORDER BY C ASC;
|
||||
SELECT * FROM T;
|
||||
PRAGMA vdbe_debug = 0;
|
||||
ALTER TABLE T DROP COLUMN B;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_T_6262 AFTER UPDATE OF A ON T FOR EACH ROW BEGIN SELECT RAISE(FAIL, 'no'); END;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_T_1635 AFTER UPDATE OF A ON T FOR EACH ROW BEGIN SELECT RAISE(FAIL, 'no'); END;
|
||||
SELECT AVG(C) FROM T;
|
||||
ALTER TABLE T RENAME COLUMN B TO B_r9915;
|
||||
DETACH DATABASE aux74;
|
||||
DETACH DATABASE aux33;
|
||||
SELECT * FROM t1 WHERE +a > ALL (SELECT a FROM t1);
|
||||
DELETE FROM t1 WHERE 0;
|
||||
INSERT OR ROLLBACK INTO t1 VALUES (NULL, 0, -6, '');
|
||||
CREATE TRIGGER IF NOT EXISTS trg_t1_7285 BEFORE UPDATE ON t1 FOR EACH ROW BEGIN SELECT RAISE(ROLLBACK, 'rb'); END;
|
||||
DROP TRIGGER IF EXISTS t1;
|
||||
INSERT INTO t1 VALUES (NULL, NULL, NULL, NULL);
|
||||
RELEASE sp664;
|
||||
ALTER TABLE t1 ADD COLUMN extra_6969 DOUBLE NOT NULL DEFAULT 0;
|
||||
INSERT INTO t1 DEFAULT VALUES;
|
||||
SELECT * FROM t1;
|
||||
REINDEX;
|
||||
SELECT STRING_AGG(d) FROM t1;
|
||||
CREATE TEMPORARY VIEW IF NOT EXISTS v_t1_5722 AS SELECT a FROM t1;
|
||||
ALTER TABLE t1 RENAME COLUMN c TO c_r6930;
|
||||
INSERT INTO t1 DEFAULT VALUES;
|
||||
SELECT * FROM t1 AS a LEFT OUTER JOIN t1 AS b ON a.rowid = b.rowid;
|
||||
DETACH DATABASE aux42;
|
||||
ALTER TABLE t1 RENAME COLUMN d TO d_r1370;
|
||||
SELECT * FROM t1 AS a JOIN t1 AS b ON a.rowid = b.rowid;
|
||||
INSERT OR REPLACE INTO t1 VALUES (NULL, 0, -9, -5);
|
||||
SELECT COUNT(*) FROM t1;
|
||||
INSERT INTO t1 VALUES (NULL, NULL, NULL, NULL);
|
||||
REINDEX t1;
|
||||
SELECT COUNT(*) FROM t1;
|
||||
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;
|
||||
UPDATE t1 SET d = CURRENT_TIMESTAMP WHERE d BETWEEN 0 AND 100;
|
||||
INSERT INTO t1 VALUES (NULL, NULL, NULL, NULL);
|
||||
COMMIT;
|
||||
INSERT INTO t1 SELECT * FROM t1;
|
||||
DELETE FROM t1 WHERE 1 RETURNING *;
|
||||
DELETE FROM t1 WHERE a > (SELECT AVG(a) FROM t1) RETURNING *;
|
||||
ALTER TABLE t1 ADD COLUMN extra_1693 DOUBLE PRECISION COLLATE RTRIM;
|
||||
INSERT INTO t1 VALUES (1, 1, 1, NULL) ON CONFLICT(a) DO UPDATE SET a = excluded.a, b = excluded.b, c = excluded.c;
|
||||
SELECT COUNT(*) FILTER (WHERE b IS NOT NULL), SUM(rowid) FILTER (WHERE b > 0), COUNT(*) FILTER (WHERE 1=0), COUNT(*) FILTER (WHERE 1=1), COUNT(*) FILTER (WHERE NULL), AVG(b) FILTER (WHERE b > 0 AND b < 100), COUNT(*) FILTER (WHERE typeof(b) = "text") FROM t1;
|
||||
WITH cte(x, y) AS (VALUES(1,2),(3,4),(5,6)) SELECT * FROM cte;
|
||||
SELECT * FROM t1 WHERE EXISTS (SELECT 1 FROM t1 WHERE a < 0);
|
||||
|
||||
SELECT COUNT(*) FROM t1;
|
||||
SELECT * FROM t1 WHERE d = (SELECT d FROM t1 ORDER BY d LIMIT 1 OFFSET (SELECT COUNT(*) FROM t1 / 2));
|
||||
CREATE TEMP VIEW IF NOT EXISTS v_t1_4538 AS SELECT a FROM t1;
|
||||
UPDATE t1 SET b = '';
|
||||
|
||||
SELECT COUNT(*) FROM t1;
|
||||
WITH cte AS (SELECT b, LEAD(b) OVER (ORDER BY b) AS nxt FROM t1) SELECT * FROM cte;
|
||||
SELECT * FROM t1;
|
||||
DROP INDEX IF EXISTS t1;
|
||||
SELECT * FROM t1 AS a LEFT OUTER JOIN t1 AS b ON a.rowid = b.rowid;
|
||||
SELECT GROUP_CONCAT(a, '|') FROM t1;
|
||||
WITH RECURSIVE tree(id, parent, depth) AS (VALUES(1, NULL, 0) UNION ALL SELECT id+1, id, depth+1 FROM tree WHERE depth<29) SELECT * FROM tree;
|
||||
```
|
||||
|
||||
## Actual output
|
||||
|
||||
```sql
|
||||
0
|
||||
1
|
||||
CREATE TABLE "t2"("b","c","_ROWID_",PRIMARY KEY("b","c","_ROWID_"))WITHOUT ROWID;
|
||||
WARNING: writing to an imposter table will corrupt the "t1bc" index!
|
||||
Braun|30|3
|
||||
Wernher||1
|
||||
von|20|2
|
||||
Braun|30
|
||||
Wernher|
|
||||
von|20
|
||||
```
|
||||
|
||||
## Expectation
|
||||
|
||||
```sql
|
||||
0
|
||||
1
|
||||
CREATE TABLE "t2"("b","c","_ROWID_",PRIMARY KEY("b","c","_ROWID_"))WITHOUT ROWID;
|
||||
Braun|30|3
|
||||
Wernher||1
|
||||
von|20|2
|
||||
Braun|30
|
||||
Wernher|
|
||||
von|20
|
||||
```
|
||||
|
||||
## Flag
|
||||
|
||||
```
|
||||
|
||||
```
|
||||
|
||||
@@ -0,0 +1,97 @@
|
||||
## 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 IMMEDIATE TRANSACTION;
|
||||
.tables non_existent_table
|
||||
CREATE TABLE T (
|
||||
a INTEGER,
|
||||
b TEXT,
|
||||
c INTEGER
|
||||
);
|
||||
INSERT INTO T VALUES ((0 + 1),'a',NULL), (2,'b',1), (3,'c',2);
|
||||
WITH RECURSIVE d(a,b,c,e) AS (
|
||||
SELECT *,1 FROM T WHERE c IS NULL
|
||||
UNION ALL
|
||||
SELECT T.a,T.b,T.c,d.e+1
|
||||
FROM T JOIN d ON T.c=d.a
|
||||
)
|
||||
SELECT * FROM d;
|
||||
PRAGMA cache_spill = 0;
|
||||
CREATE TABLE main.artists (id integer NOT NULL PRIMARY KEY AUTOINCREMENT, name varchar(255));
|
||||
CREATE TABLE albums ( id integer NOT NULL PRIMARY KEY AUTOINCREMENT, name varchar(255), artist_id integer REFERENCES artists);
|
||||
INSERT INTO artists (name) VALUES ('Ar');
|
||||
INSERT INTO albums (name, artist_id) VALUES ('Al', 1);
|
||||
SELECT artists.* FROM artists INNER JOIN artists AS b ON (b.id = artists.id) WHERE (artists.id IN ( SELECT albums.artist_id FROM albums WHERE ((name = 'Al') AND (albums.artist_id IS NOT NULL) AND (albums.id IN ( SELECT id FROM ( SELECT albums.id, row_number() OVER (PARTITION BY /**/ albums.artist_id ORDER BY name) AS x FROM albums WHERE (name = 'Al') ) AS t1 WHERE (x = 1) )) AND (albums.id IN (1, 2))) ));
|
||||
|
||||
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
|
||||
ANALYZE;
|
||||
REINDEX albums;
|
||||
REINDEX artists;
|
||||
SELECT AVG(id) FROM artists;
|
||||
ALTER TABLE t1 DROP COLUMN c;
|
||||
DELETE FROM t1 WHERE 0 RETURNING *;
|
||||
SELECT AVG(b) FROM t1;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_T_5677 BEFORE UPDATE ON T FOR EACH ROW BEGIN SELECT RAISE(IGNORE); END;
|
||||
WITH cte AS (SELECT a, COUNT(*) AS cnt FROM t1 GROUP BY a) SELECT * FROM cte WHERE cnt > 1;
|
||||
INSERT INTO t1 SELECT * FROM t1;
|
||||
UPDATE albums SET artist_id = artist_id + 1 WHERE artist_id IS NOT NULL RETURNING *;
|
||||
END;
|
||||
```
|
||||
|
||||
## Actual output
|
||||
|
||||
```sql
|
||||
1|a||1
|
||||
2|b|1|2
|
||||
3|c|2|3
|
||||
1|Ar
|
||||
CREATE TABLE "t2"("b","c","_ROWID_",PRIMARY KEY("b","c","_ROWID_"))WITHOUT ROWID;
|
||||
WARNING: writing to an imposter table will corrupt the "t1bc" index!
|
||||
Braun|30|3
|
||||
Wernher|10|1
|
||||
von|20|2
|
||||
Braun|30
|
||||
Wernher|10
|
||||
von|20
|
||||
```
|
||||
|
||||
## Expectation
|
||||
|
||||
```sql
|
||||
1|a||1
|
||||
2|b|1|2
|
||||
3|c|2|3
|
||||
1|Ar
|
||||
CREATE TABLE "t2"("b","c","_ROWID_",PRIMARY KEY("b","c","_ROWID_"))WITHOUT ROWID;
|
||||
Braun|30|3
|
||||
Wernher|10|1
|
||||
von|20|2
|
||||
Braun|30
|
||||
Wernher|10
|
||||
von|20
|
||||
```
|
||||
|
||||
## Flag
|
||||
|
||||
```
|
||||
|
||||
```
|
||||
|
||||
@@ -0,0 +1,73 @@
|
||||
## 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
|
||||
.progress 1
|
||||
BEGIN DEFERRED;
|
||||
.print https://yewtu.be/watch?v=dQw4w9WgXcQ
|
||||
.exit (9999 - 0)
|
||||
.dbconfig
|
||||
PRAGMA count_changes = YES;
|
||||
PRAGMA fullsync = FALSE;
|
||||
.separator >_<
|
||||
PRAGMA fullfsync;
|
||||
PRAGMA wal_autocheckpoint;
|
||||
PRAGMA cache_spill;
|
||||
.timer on
|
||||
CREATE TABLE T (
|
||||
a INTEGER,
|
||||
b REAL,
|
||||
c REAL
|
||||
);
|
||||
INSERT INTO T VALUES (sqrt('#'),2.0,10.5), (1,-3.5,20.25), (2,9e999,-1.0);
|
||||
WITH d AS (SELECT a,SUM(b*c) AS e FROM T GROUP BY a) SELECT * FROM d;
|
||||
CREATE INDEX IF NOT EXISTS idx_T_9600 ON T(lower(b)) WHERE b > 0;
|
||||
ALTER TABLE T DROP COLUMN c;
|
||||
PRAGMA analysis_limit;
|
||||
SELECT * FROM T AS a FULL OUTER JOIN T AS b ON a.rowid = b.rowid;
|
||||
ALTER TABLE T ADD COLUMN extra_747 INT COLLATE NOCASE;
|
||||
CREATE VIEW IF NOT EXISTS v_T_1966 AS SELECT a FROM T;
|
||||
ALTER TABLE T ADD COLUMN extra_7698 ANY NOT NULL DEFAULT 0;
|
||||
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 T VALUES (NULL, NULL, NULL);
|
||||
SELECT * FROM (SELECT * FROM T) AS sub;
|
||||
SELECT * FROM (SELECT b, COUNT(*) FROM T GROUP BY b) AS sub;
|
||||
ALTER TABLE T RENAME COLUMN b TO b_r6106;
|
||||
SELECT * FROM T WHERE c = (SELECT MAX(c) FROM T WHERE c = (SELECT MAX(c) FROM T));
|
||||
REINDEX T;
|
||||
ALTER TABLE T ADD COLUMN extra_9321 BLOB DEFAULT (random());
|
||||
ROLLBACK;
|
||||
INSERT OR FAIL INTO T VALUES ('x', 0, -1);
|
||||
SELECT * FROM T;
|
||||
DELETE FROM T WHERE c IS NULL;
|
||||
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 T;
|
||||
DROP INDEX IF EXISTS T;
|
||||
PRAGMA read_uncommitted = 0;
|
||||
CREATE TEMP VIEW IF NOT EXISTS v_T_3569 AS SELECT a FROM T;
|
||||
```
|
||||
|
||||
## Actual output
|
||||
|
||||
```sql
|
||||
Progress 1
|
||||
Progress 2
|
||||
https://yewtu.be/watch?v=dQw4w9WgXcQ
|
||||
```
|
||||
|
||||
## Expectation
|
||||
|
||||
```sql
|
||||
Progress 1
|
||||
Progress 2
|
||||
Progress 3
|
||||
https://yewtu.be/watch?v=dQw4w9WgXcQ
|
||||
```
|
||||
|
||||
## Flag
|
||||
|
||||
```
|
||||
|
||||
```
|
||||
|
||||
@@ -0,0 +1,88 @@
|
||||
## 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 secure_delete = ON;
|
||||
PRAGMA foreign_keys = FALSE;
|
||||
-- sign(1)
|
||||
|
||||
PRAGMA cell_size_check = 3370811959573763011;
|
||||
PRAGMA page_size;
|
||||
.recover
|
||||
CREATE TABLE map_integer /**/ (id INT, name);
|
||||
INSERT INTO map_integer VALUES(1,'a');
|
||||
CREATE TABLE map_text (id TEXT, name);
|
||||
INSERT INTO map_text VALUES('4','e');
|
||||
CREATE TABLE data (id TEXT, name);
|
||||
INSERT INTO data VALUES(1,'abc');
|
||||
INSERT INTO data VALUES('4','xyz');
|
||||
CREATE VIEW idmap as SELECT * FROM map_integer UNION SELECT * FROM map_text;
|
||||
CREATE TABLE mzed AS SELECT * FROM idmap;
|
||||
PRAGMA automatic_index=ON;
|
||||
SELECT * FROM data JOIN idmap USING(id);
|
||||
CREATE TEMP VIEW IF NOT EXISTS v_map_integer_924 AS SELECT id FROM map_integer;
|
||||
SELECT NTILE(4) OVER (ORDER BY name GROUPS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) FROM map_integer;
|
||||
CREATE VIEW IF NOT EXISTS v_map_integer_8760 AS SELECT name FROM map_integer;
|
||||
CREATE TABLE T (
|
||||
a TEXT,
|
||||
b TEXT
|
||||
);
|
||||
INSERT INTO T VALUES ('a','b'), ('c','d');
|
||||
SELECT * FROM T WHERE a = REPLACE('a;',';','') AND b = 'b';
|
||||
WITH cte(x) AS (SELECT id FROM map_integer) SELECT x FROM cte;
|
||||
REINDEX;
|
||||
ALTER TABLE map_text RENAME COLUMN name TO name_r1633;
|
||||
WITH cte AS (SELECT name, ROW_NUMBER() OVER (ORDER BY name) AS rn FROM data) SELECT * FROM cte WHERE rn <= 5;
|
||||
ALTER TABLE data RENAME TO data_r811;
|
||||
```
|
||||
|
||||
## Actual output
|
||||
|
||||
```sql
|
||||
1
|
||||
4096
|
||||
PRAGMA foreign_keys=OFF;
|
||||
BEGIN;
|
||||
PRAGMA writable_schema = on;
|
||||
PRAGMA writable_schema = off;
|
||||
COMMIT;
|
||||
1|abc|a
|
||||
1
|
||||
a|b
|
||||
1
|
||||
abc|1
|
||||
xyz|2
|
||||
```
|
||||
|
||||
## Expectation
|
||||
|
||||
```sql
|
||||
1
|
||||
4096
|
||||
.dbconfig defensive off
|
||||
BEGIN;
|
||||
PRAGMA writable_schema = on;
|
||||
PRAGMA foreign_keys = off;
|
||||
PRAGMA encoding = 'UTF-8';
|
||||
PRAGMA page_size = '4096';
|
||||
PRAGMA auto_vacuum = '0';
|
||||
PRAGMA user_version = '0';
|
||||
PRAGMA application_id = '0';
|
||||
PRAGMA writable_schema = off;
|
||||
COMMIT;
|
||||
4|xyz|e
|
||||
1
|
||||
a|b
|
||||
1
|
||||
abc|1
|
||||
xyz|2
|
||||
```
|
||||
|
||||
## Flag
|
||||
|
||||
```
|
||||
|
||||
```
|
||||
|
||||
@@ -0,0 +1,91 @@
|
||||
## 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
|
||||
SAVEPOINT sp1480;
|
||||
CREATE TABLE t1(a REAL PRIMARY KEY, b TEXT, c INT, d INT);
|
||||
INSERT INTO t1 VALUES (min(instr('hello', ''), NULL), 'Wernher', -asin(1), 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
|
||||
CREATE TABLE T (
|
||||
A VARCHAR(10) PRIMARY KEY,
|
||||
B VARCHAR(15) NOT NULL,
|
||||
C INTEGER,
|
||||
UNIQUE (B, C)
|
||||
);
|
||||
INSERT INTO T VALUES ('a', 'p', -2147483648);
|
||||
INSERT INTO T VALUES ('b', 'q', 700);
|
||||
INSERT INTO T VALUES ('c', 'r', 0);
|
||||
INSERT INTO T VALUES ('d', 's', 2147483647);
|
||||
INSERT INTO T VALUES ('e', 't', -1);
|
||||
INSERT INTO T VALUES ('f', 'u', 1);
|
||||
SELECT * FROM T WHERE C BETWEEN -1000 AND 1000 ORDER BY C ASC;
|
||||
SELECT * FROM T;
|
||||
SELECT * FROM t1;
|
||||
|
||||
SELECT COUNT(*) FROM T;
|
||||
REINDEX T;
|
||||
CREATE TABLE T (
|
||||
a INTEGER,
|
||||
b TEXT,
|
||||
c REAL
|
||||
);
|
||||
INSERT INTO T VALUES (1,'a',1.25), (2,'b',-3.5), (3,'c',0.0);
|
||||
SELECT * FROM T WHERE c < 2.0 ORDER BY c;
|
||||
INSERT INTO t1 VALUES (1, NULL, 1, NULL) ON CONFLICT(a) DO UPDATE SET a = excluded.a, b = excluded.b, c = excluded.c;
|
||||
ALTER TABLE t1 RENAME TO t1_r9560;
|
||||
|
||||
SELECT COUNT(*) FROM t1;
|
||||
SELECT SUM(b) FROM t1;
|
||||
INSERT INTO t1 SELECT * FROM t1;
|
||||
ANALYZE;
|
||||
ROLLBACK TO sp1480;
|
||||
RELEASE sp1480;
|
||||
DELETE FROM T WHERE 1;
|
||||
```
|
||||
|
||||
## Actual output
|
||||
|
||||
```sql
|
||||
CREATE TABLE "t2"("b","c","_ROWID_",PRIMARY KEY("b","c","_ROWID_"))WITHOUT ROWID;
|
||||
WARNING: writing to an imposter table will corrupt the "t1bc" index!
|
||||
Braun|30|3
|
||||
Wernher|-1.5707963267949|1
|
||||
von|20|2
|
||||
Braun|30
|
||||
Wernher|-1.5707963267949
|
||||
von|20
|
||||
```
|
||||
|
||||
## Expectation
|
||||
|
||||
```sql
|
||||
CREATE TABLE "t2"("b","c","_ROWID_",PRIMARY KEY("b","c","_ROWID_"))WITHOUT ROWID;
|
||||
Braun|30|3
|
||||
Wernher|-1.5707963267949|1
|
||||
von|20|2
|
||||
Braun|30
|
||||
Wernher|-1.5707963267949
|
||||
von|20
|
||||
```
|
||||
|
||||
## Flag
|
||||
|
||||
```
|
||||
|
||||
```
|
||||
|
||||
@@ -0,0 +1,46 @@
|
||||
## 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 TABLE T (
|
||||
a TEXT,
|
||||
b TEXT,
|
||||
c REAL
|
||||
);
|
||||
INSERT INTO T VALUES ('a','b',concat_ws('|', 'a', NULL, 'b')), ('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;
|
||||
WITH cte(a, b, c) AS (SELECT b, b, b FROM T) SELECT a, b, c FROM cte;
|
||||
|
||||
SELECT COUNT(*) FROM T;
|
||||
SELECT RANK() OVER (ORDER BY c RANGE BETWEEN 1 PRECEDING AND 1 FOLLOWING) FROM T;
|
||||
CREATE VIEW IF NOT EXISTS v_T_9129 AS SELECT b FROM T;
|
||||
INSERT INTO T SELECT * FROM T;
|
||||
```
|
||||
|
||||
## Actual output
|
||||
|
||||
```sql
|
||||
| COUNT(*) |
|
||||
|----------|
|
||||
| 0 |
|
||||
```
|
||||
|
||||
## Expectation
|
||||
|
||||
```sql
|
||||
|
||||
```
|
||||
|
||||
## Flag
|
||||
|
||||
```
|
||||
-markdown
|
||||
```
|
||||
|
||||
@@ -0,0 +1,126 @@
|
||||
## 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 DEFERRED;
|
||||
PRAGMA cache_spill = ON;
|
||||
ATTACH DATABASE ':memory:' AS aux25;
|
||||
PRAGMA journal_mode;
|
||||
PRAGMA trusted_schema = YES;
|
||||
PRAGMA encoding = 'UTF-16be';
|
||||
PRAGMA defer_foreign_keys = NO;
|
||||
PRAGMA trusted_schema = TRUE;
|
||||
.fullschema
|
||||
CREATE TABLE A(Name text);
|
||||
CREATE TABLE Items(ItemName text , Name text);
|
||||
INSERT INTO Items /* -maxsize 5 */ VALUES('Item1','Parent');
|
||||
INSERT INTO Items VALUES('Item2','Parent');
|
||||
CREATE TABLE B(Name text);
|
||||
SELECT Items.ItemName FROM Items LEFT OUTER JOIN A ON (A.Name = Items.ItemName and Items.ItemName = 'dummy') LEFT JOIN B ON (B.Name = Items.ItemName) WHERE NOT NOT (Items.Name = 'Parent') ORDER BY Items.ItemName;
|
||||
|
||||
PRAGMA compile_options;
|
||||
DELETE FROM A WHERE Name > (SELECT AVG(Name) FROM A);
|
||||
REINDEX;
|
||||
SELECT AVG(Name) FILTER (WHERE Name != CAST(-(-(-if(10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, 10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000))) AS TEXT)) OVER (ORDER BY Name ROWS BETWEEN 2 PRECEDING AND 2 FOLLOWING EXCLUDE CURRENT ROW) FROM B;
|
||||
CREATE TABLE T (
|
||||
A VARCHAR(20),
|
||||
B VARCHAR(10),
|
||||
C /**/ INTEGER,
|
||||
PRIMARY KEY (A, B)
|
||||
);
|
||||
INSERT INTO T VALUES ('a', 'p', -2147483648);
|
||||
INSERT INTO T VALUES ('b', 'q', 100);
|
||||
INSERT INTO T VALUES ('b', 'r', 200);
|
||||
INSERT INTO T VALUES ('c', 's', 300);
|
||||
INSERT INTO T VALUES ('d', 't', 2147483647);
|
||||
INSERT INTO T VALUES ('b', 't', 50);
|
||||
SELECT A, COUNT(*) AS D, SUM(C) AS E FROM T GROUP BY A HAVING COUNT(*) > 1;
|
||||
SELECT * FROM B;
|
||||
SELECT * FROM B AS a LEFT OUTER JOIN A AS b ON a.rowid = b.rowid;
|
||||
WITH cte AS (SELECT * FROM A) SELECT * FROM cte;
|
||||
DETACH DATABASE aux25;
|
||||
SELECT LEAD(Name, 2, 'default') OVER (PARTITION BY Name ORDER BY Name RANGE BETWEEN 1 PRECEDING AND 1 FOLLOWING) FROM A;
|
||||
|
||||
SELECT COUNT(*) FROM A;
|
||||
|
||||
SELECT COUNT(*) FROM Items;
|
||||
SELECT COUNT(Name) FILTER (WHERE NULL) OVER (ORDER BY Name GROUPS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) FROM B;
|
||||
CREATE UNIQUE INDEX IF NOT EXISTS idx_A_5218 ON A(Name) WHERE Name IS NOT NULL;
|
||||
COMMIT TRANSACTION;
|
||||
CREATE VIEW IF NOT EXISTS v_B_962 AS SELECT Name FROM B;
|
||||
```
|
||||
|
||||
## Actual output
|
||||
|
||||
```sql
|
||||
memory
|
||||
/* No STAT tables available */
|
||||
Item1
|
||||
Item2
|
||||
ATOMIC_INTRINSICS=1
|
||||
COMPILER=gcc-14.2.0
|
||||
DEFAULT_AUTOVACUUM
|
||||
DEFAULT_CACHE_SIZE=-2000
|
||||
DEFAULT_FILE_FORMAT=4
|
||||
DEFAULT_JOURNAL_SIZE_LIMIT=-1
|
||||
DEFAULT_MMAP_SIZE=0
|
||||
DEFAULT_PAGE_SIZE=4096
|
||||
DEFAULT_PCACHE_INITSZ=20
|
||||
DEFAULT_RECURSIVE_TRIGGERS
|
||||
DEFAULT_SECTOR_SIZE=4096
|
||||
DEFAULT_SYNCHRONOUS=2
|
||||
DEFAULT_WAL_AUTOCHECKPOINT=1000
|
||||
DEFAULT_WAL_SYNCHRONOUS=2
|
||||
DEFAULT_WORKER_THREADS=0
|
||||
ENABLE_BYTECODE_VTAB
|
||||
ENABLE_DBPAGE_VTAB
|
||||
ENABLE_DBSTAT_VTAB
|
||||
ENABLE_EXPLAIN_COMMENTS
|
||||
ENABLE_FTS3
|
||||
ENABLE_FTS4
|
||||
ENABLE_MATH_FUNCTIONS
|
||||
ENABLE_OFFSET_SQL_FUNC
|
||||
ENABLE_RTREE
|
||||
ENABLE_STMTVTAB
|
||||
ENABLE_UNKNOWN_SQL_FUNCTION
|
||||
HAVE_ISNAN
|
||||
MALLOC_SOFT_LIMIT=1024
|
||||
MAX_ATTACHED=10
|
||||
MAX_COLUMN=2000
|
||||
MAX_COMPOUND_SELECT=500
|
||||
MAX_DEFAULT_PAGE_SIZE=8192
|
||||
MAX_EXPR_DEPTH=1000
|
||||
MAX_FUNCTION_ARG=127
|
||||
MAX_LENGTH=1000000000
|
||||
MAX_LIKE_PATTERN_LENGTH=50000
|
||||
MAX_MMAP_SIZE=0x7fff0000
|
||||
MAX_PAGE_COUNT=1073741823
|
||||
MAX_PAGE_SIZE=65536
|
||||
MAX_SQL_LENGTH=1000000000
|
||||
MAX_TRIGGER_DEPTH=1000
|
||||
MAX_VARIABLE_NUMBER=32766
|
||||
MAX_VDBE_OP=250000000
|
||||
MAX_WORKER_THREADS=8
|
||||
MUTEX_PTHREADS
|
||||
SYSTEM_MALLOC
|
||||
TEMP_STORE=1
|
||||
THREADSAFE=1
|
||||
b|3|350
|
||||
0
|
||||
2
|
||||
```
|
||||
|
||||
## Expectation
|
||||
|
||||
```sql
|
||||
|
||||
```
|
||||
|
||||
## Flag
|
||||
|
||||
```
|
||||
|
||||
```
|
||||
|
||||
@@ -0,0 +1,437 @@
|
||||
## 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 DEFERRED;
|
||||
.open
|
||||
BEGIN DEFERRED;
|
||||
.dump
|
||||
SAVEPOINT sp688;
|
||||
-- json_array({v})
|
||||
|
||||
.nullvalue x'8bfa8aa1306e3bcaaf92966e8ce19b'NULL2327d3-log2(soundex(5))36b-41de-a764-a6301986aeab
|
||||
PRAGMA defer_foreign_keys;
|
||||
CREATE TABLE "T" (
|
||||
a DOUB,
|
||||
b TEXT,
|
||||
c REAL
|
||||
);
|
||||
INSERT INTO T VALUES (pow(atan(1), 1),'a',3.14), (1,'b',-7.75), (2,'c',-9e999);
|
||||
SELECT b,a,c,
|
||||
RANK() OVER (PARTITION BY a ORDER BY c DESC) AS d FROM T;
|
||||
ATTACH DATABASE ':memory:' AS aux77;
|
||||
ATTACH DATABASE ':memory:' AS aux50;
|
||||
PRAGMA module_list;
|
||||
.exit -(jsonb_each(json_each(x'4452f1f3ff4b'), '$.arr') + CAST(1 AS FLOAT))
|
||||
PRAGMA table_info(users);
|
||||
PRAGMA short_column_names IS NOT ON;
|
||||
PRAGMA user_version = '''''';
|
||||
.print https://yewtu.be/watch?v=dQw4w9WgXcQ
|
||||
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 T AS a INNER JOIN T AS b ON a.rowid = b.rowid;
|
||||
DELETE FROM T WHERE NOT A > (SELECT AVG(A) FROM T);
|
||||
|
||||
UPDATE T SET A = json_object('k', A) WHERE A BETWEEN 0 AND 100;
|
||||
ALTER TABLE T RENAME COLUMN A TO A_r6693;
|
||||
DELETE FROM T WHERE 0 RETURNING *;
|
||||
SELECT COUNT(*) FROM T;
|
||||
VACUUM main;
|
||||
WITH RECURSIVE cnt(x) AS (VALUES(1) UNION ALL SELECT x+1 FROM cnt WHERE x<0) SELECT * FROM cnt;
|
||||
WITH RECURSIVE self(x) AS (SELECT 1 UNION ALL SELECT x FROM self) SELECT * FROM self LIMIT 5;
|
||||
INSERT INTO T DEFAULT VALUES;
|
||||
REINDEX T;
|
||||
SELECT GROUP_CONCAT(B, '|') FROM T;
|
||||
DELETE FROM T WHERE 0 RETURNING *;
|
||||
SELECT * FROM T;
|
||||
SELECT * FROM T WHERE B IN (SELECT B FROM T WHERE B LIKE "%%");
|
||||
ALTER TABLE T RENAME TO T_r8238;
|
||||
|
||||
SELECT COUNT(*) FROM T;
|
||||
PRAGMA trusted_schema = NO;
|
||||
ALTER TABLE T DROP COLUMN B;
|
||||
SELECT * FROM T AS a LEFT JOIN T AS b ON a.rowid = b.rowid;
|
||||
CREATE TABLE T (
|
||||
a NATIVE CHARACTER(70)NVARCHAR(100),
|
||||
b TEXT
|
||||
);
|
||||
INSERT INTO T VALUES ('a','2020-01-01'), ('b','2026-01-01');
|
||||
SELECT a,
|
||||
CAST(
|
||||
(julianday('now')-julianday(b))/365.25
|
||||
AS INTEGER
|
||||
) AS c
|
||||
FROM T;
|
||||
DETACH DATABASE aux50;
|
||||
DETACH DATABASE aux77;
|
||||
SELECT * FROM T CROSS JOIN T;
|
||||
INSERT INTO T DEFAULT VALUES;
|
||||
INSERT INTO T VALUES (NULL, NULL);
|
||||
CREATE TEMPORARY VIEW IF NOT EXISTS v_T_9728 AS SELECT b FROM T;
|
||||
CREATE TABLE T (
|
||||
a TEXT,
|
||||
b TEXT
|
||||
);
|
||||
INSERT INTO T VALUES ('a','2020-01-01'), ('b','2026-01-01');
|
||||
SELECT a,
|
||||
CAST(
|
||||
(julianday('now')-julianday(b))/365.25
|
||||
AS INTEGER
|
||||
) AS c
|
||||
FROM T;
|
||||
CREATE VIEW IF NOT EXISTS v_T_1441 AS SELECT b FROM T;
|
||||
ANALYZE T;
|
||||
ALTER TABLE T DROP COLUMN b;
|
||||
|
||||
SELECT COUNT(*) FROM T;
|
||||
SELECT * FROM T WHERE /**/ b > (SELECT COUNT(*) FROM T);
|
||||
INSERT INTO T DEFAULT VALUES;
|
||||
SELECT * FROM T WHERE EXISTS (SELECT 1 FROM T t2 WHERE t2.a = T.a);
|
||||
SELECT * FROM T WHERE a <= ANY (SELECT a FROM T);
|
||||
SELECT * FROM T WHERE a <= ALL (SELECT a FROM T);
|
||||
DROP TRIGGER IF EXISTS T;
|
||||
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;
|
||||
CREATE INDEX IF NOT EXISTS idx_T_6057 ON T((b + 1));
|
||||
INSERT INTO T DEFAULT VALUES;
|
||||
SELECT LAG(a, 1) OVER (PARTITION BY a ORDER BY a RANGE BETWEEN 1 PRECEDING AND 1 FOLLOWING) FROM T;
|
||||
RELEASE sp688;
|
||||
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 T DEFAULT VALUES;
|
||||
SELECT * FROM T WHERE b < (SELECT AVG(b) FROM T);
|
||||
SELECT MIN(b) FROM T;
|
||||
ALTER TABLE T RENAME TO T_r8142;
|
||||
SELECT STRING_AGG(a) FROM T;
|
||||
|
||||
COMMIT TRANSACTION;
|
||||
INSERT OR IGNORE INTO T VALUES ('', NULL);
|
||||
SELECT NTILE(1) OVER (ORDER BY b ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING EXCLUDE GROUP) FROM T;
|
||||
INSERT INTO T VALUES (NULL, NULL) ON CONFLICT(a) DO UPDATE SET a = excluded.a, b = excluded.b;
|
||||
ANALYZE;
|
||||
ALTER TABLE T DROP COLUMN b;
|
||||
ALTER TABLE T RENAME COLUMN a TO a_r5366;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_T_3151 BEFORE DELETE ON T FOR EACH ROW BEGIN INSERT INTO T(b) VALUES (NULL); END;
|
||||
SELECT LEAD(a, 1, NULL) OVER (ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW EXCLUDE TIES) FROM T;
|
||||
ALTER TABLE T RENAME COLUMN b TO b_r2313;
|
||||
SELECT * FROM T AS a RIGHT OUTER JOIN T AS b ON a.rowid = b.rowid;
|
||||
.open
|
||||
BEGIN DEFERRED;
|
||||
.dump
|
||||
SAVEPOINT sp688;
|
||||
-- json_array({v})
|
||||
|
||||
.nullvalue x'8bfa8aa1306e3bcaaf92966e8ce19b'NULL2327d3-log2(soundex(5))36b-41de-a764-a6301986aeab
|
||||
PRAGMA defer_foreign_keys;
|
||||
CREATE TABLE "T" (
|
||||
a DOUB,
|
||||
b TEXT,
|
||||
c REAL
|
||||
);
|
||||
INSERT INTO T VALUES (pow(atan(1), 1),'a',3.14), (1,'b',-7.75), (2,'c',-9e999);
|
||||
SELECT b,a,c,
|
||||
RANK() OVER (PARTITION BY a ORDER BY c DESC) AS d FROM T;
|
||||
ATTACH DATABASE ':memory:' AS aux77;
|
||||
ATTACH DATABASE ':memory:' AS aux50;
|
||||
PRAGMA module_list;
|
||||
.exit -(jsonb_each(json_each(x'4452f1f3ff4b'), '$.arr') + CAST(1 AS FLOAT))
|
||||
PRAGMA table_info(users);
|
||||
PRAGMA short_column_names IS NOT ON;
|
||||
PRAGMA user_version = '''''';
|
||||
.print https://yewtu.be/watch?v=dQw4w9WgXcQ
|
||||
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 T AS a INNER JOIN T AS b ON a.rowid = b.rowid;
|
||||
DELETE FROM T WHERE NOT A > (SELECT AVG(A) FROM T);
|
||||
|
||||
UPDATE T SET A = json_object('k', A) WHERE A BETWEEN 0 AND 100;
|
||||
ALTER TABLE T RENAME COLUMN A TO A_r6693;
|
||||
DELETE FROM T WHERE 0 RETURNING *;
|
||||
SELECT COUNT(*) FROM T;
|
||||
VACUUM main;
|
||||
WITH RECURSIVE cnt(x) AS (VALUES(1) UNION ALL SELECT x+1 FROM cnt WHERE x<0) SELECT * FROM cnt;
|
||||
WITH RECURSIVE self(x) AS (SELECT 1 UNION ALL SELECT x FROM self) SELECT * FROM self LIMIT 5;
|
||||
INSERT INTO T DEFAULT VALUES;
|
||||
REINDEX T;
|
||||
SELECT GROUP_CONCAT(B, '|') FROM T;
|
||||
DELETE FROM T WHERE 0 RETURNING *;
|
||||
SELECT * FROM T;
|
||||
SELECT * FROM T WHERE B IN (SELECT B FROM T WHERE B LIKE "%%");
|
||||
ALTER TABLE T RENAME TO T_r8238;
|
||||
|
||||
SELECT COUNT(*) FROM T;
|
||||
PRAGMA trusted_schema = NO;
|
||||
ALTER TABLE T DROP COLUMN B;
|
||||
SELECT * FROM T AS a LEFT JOIN T AS b ON a.rowid = b.rowid;
|
||||
CREATE TABLE T (
|
||||
a NATIVE CHARACTER(70)NVARCHAR(100),
|
||||
b TEXT
|
||||
);
|
||||
INSERT INTO T VALUES ('a','2020-01-01'), ('b','2026-01-01');
|
||||
SELECT a,
|
||||
CAST(
|
||||
(julianday('now')-julianday(b))/365.25
|
||||
AS INTEGER
|
||||
) AS c
|
||||
FROM T;
|
||||
DETACH DATABASE aux50;
|
||||
DETACH DATABASE aux77;
|
||||
SELECT * FROM T CROSS JOIN T;
|
||||
INSERT INTO T DEFAULT VALUES;
|
||||
INSERT INTO T VALUES (NULL, NULL);
|
||||
CREATE TEMPORARY VIEW IF NOT EXISTS v_T_9728 AS SELECT b FROM T;
|
||||
CREATE TABLE T (
|
||||
a TEXT,
|
||||
b TEXT
|
||||
);
|
||||
INSERT INTO T VALUES ('a','2020-01-01'), ('b','2026-01-01');
|
||||
SELECT a,
|
||||
CAST(
|
||||
(julianday('now')-julianday(b))/365.25
|
||||
AS INTEGER
|
||||
) AS c
|
||||
FROM T;
|
||||
CREATE VIEW IF NOT EXISTS v_T_1441 AS SELECT b FROM T;
|
||||
ANALYZE T;
|
||||
ALTER TABLE T DROP COLUMN b;
|
||||
|
||||
SELECT COUNT(*) FROM T;
|
||||
SELECT * FROM T WHERE /**/ b > (SELECT COUNT(*) FROM T);
|
||||
INSERT INTO T DEFAULT VALUES;
|
||||
SELECT * FROM T WHERE EXISTS (SELECT 1 FROM T t2 WHERE t2.a = T.a);
|
||||
SELECT * FROM T WHERE a <= ANY (SELECT a FROM T);
|
||||
SELECT * FROM T WHERE a <= ALL (SELECT a FROM T);
|
||||
DROP TRIGGER IF EXISTS T;
|
||||
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;
|
||||
CREATE INDEX IF NOT EXISTS idx_T_6057 ON T((b + 1));
|
||||
INSERT INTO T DEFAULT VALUES;
|
||||
SELECT LAG(a, 1) OVER (PARTITION BY a ORDER BY a RANGE BETWEEN 1 PRECEDING AND 1 FOLLOWING) FROM T;
|
||||
RELEASE sp688;
|
||||
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 T DEFAULT VALUES;
|
||||
SELECT * FROM T WHERE b < (SELECT AVG(b) FROM T);
|
||||
SELECT MIN(b) FROM T;
|
||||
ALTER TABLE T RENAME TO T_r8142;
|
||||
SELECT STRING_AGG(a) FROM T;
|
||||
|
||||
COMMIT TRANSACTION;
|
||||
INSERT OR IGNORE INTO T VALUES ('', NULL);
|
||||
SELECT NTILE(1) OVER (ORDER BY b ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING EXCLUDE GROUP) FROM T;
|
||||
INSERT INTO T VALUES (NULL, NULL) ON CONFLICT(a) DO UPDATE SET a = excluded.a, b = excluded.b;
|
||||
ANALYZE;
|
||||
ALTER TABLE T DROP COLUMN b;
|
||||
ALTER TABLE T RENAME COLUMN a TO a_r5366;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_T_3151 BEFORE DELETE ON T FOR EACH ROW BEGIN INSERT INTO T(b) VALUES (NULL); END;
|
||||
SELECT LEAD(a, 1, NULL) OVER (ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW EXCLUDE TIES) FROM T;
|
||||
ALTER TABLE T RENAME COLUMN b TO b_r2313;
|
||||
SELECT * FROM T AS a RIGHT OUTER JOIN T AS b ON a.rowid = b.rowid;
|
||||
.open
|
||||
BEGIN DEFERRED;
|
||||
.dump
|
||||
SAVEPOINT sp688;
|
||||
-- json_array({v})
|
||||
|
||||
.nullvalue x'8bfa8aa1306e3bcaaf92966e8ce19b'NULL2327d3-log2(soundex(5))36b-41de-a764-a6301986aeab
|
||||
PRAGMA defer_foreign_keys;
|
||||
CREATE TABLE "T" (
|
||||
a DOUB,
|
||||
b TEXT,
|
||||
c REAL
|
||||
);
|
||||
INSERT INTO T VALUES (pow(atan(1), 1),'a',3.14), (1,'b',-7.75), (2,'c',-9e999);
|
||||
SELECT b,a,c,
|
||||
RANK() OVER (PARTITION BY a ORDER BY c DESC) AS d FROM T;
|
||||
ATTACH DATABASE ':memory:' AS aux77;
|
||||
ATTACH DATABASE ':memory:' AS aux50;
|
||||
PRAGMA module_list;
|
||||
.exit -(jsonb_each(json_each(x'4452f1f3ff4b'), '$.arr') + CAST(1 AS FLOAT))
|
||||
PRAGMA table_info(users);
|
||||
PRAGMA short_column_names IS NOT ON;
|
||||
PRAGMA user_version = '''''';
|
||||
.print https://yewtu.be/watch?v=dQw4w9WgXcQ
|
||||
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 T AS a INNER JOIN T AS b ON a.rowid = b.rowid;
|
||||
DELETE FROM T WHERE NOT A > (SELECT AVG(A) FROM T);
|
||||
|
||||
UPDATE T SET A = json_object('k', A) WHERE A BETWEEN 0 AND 100;
|
||||
ALTER TABLE T RENAME COLUMN A TO A_r6693;
|
||||
DELETE FROM T WHERE 0 RETURNING *;
|
||||
SELECT COUNT(*) FROM T;
|
||||
VACUUM main;
|
||||
WITH RECURSIVE cnt(x) AS (VALUES(1) UNION ALL SELECT x+1 FROM cnt WHERE x<0) SELECT * FROM cnt;
|
||||
WITH RECURSIVE self(x) AS (SELECT 1 UNION ALL SELECT x FROM self) SELECT * FROM self LIMIT 5;
|
||||
INSERT INTO T DEFAULT VALUES;
|
||||
REINDEX T;
|
||||
SELECT GROUP_CONCAT(B, '|') FROM T;
|
||||
DELETE FROM T WHERE 0 RETURNING *;
|
||||
SELECT * FROM T;
|
||||
SELECT * FROM T WHERE B IN (SELECT B FROM T WHERE B LIKE "%%");
|
||||
ALTER TABLE T RENAME TO T_r8238;
|
||||
|
||||
SELECT COUNT(*) FROM T;
|
||||
PRAGMA trusted_schema = NO;
|
||||
ALTER TABLE T DROP COLUMN B;
|
||||
SELECT * FROM T AS a LEFT JOIN T AS b ON a.rowid = b.rowid;
|
||||
CREATE TABLE T (
|
||||
a NATIVE CHARACTER(70)NVARCHAR(100),
|
||||
b TEXT
|
||||
);
|
||||
INSERT INTO T VALUES ('a','2020-01-01'), ('b','2026-01-01');
|
||||
SELECT a,
|
||||
CAST(
|
||||
(julianday('now')-julianday(b))/365.25
|
||||
AS INTEGER
|
||||
) AS c
|
||||
FROM T;
|
||||
DETACH DATABASE aux50;
|
||||
DETACH DATABASE aux77;
|
||||
SELECT * FROM T CROSS JOIN T;
|
||||
INSERT INTO T DEFAULT VALUES;
|
||||
INSERT INTO T VALUES (NULL, NULL);
|
||||
CREATE TEMPORARY VIEW IF NOT EXISTS v_T_9728 AS SELECT b FROM T;
|
||||
CREATE TABLE T (
|
||||
a TEXT,
|
||||
b TEXT
|
||||
);
|
||||
INSERT INTO T VALUES ('a','2020-01-01'), ('b','2026-01-01');
|
||||
SELECT a,
|
||||
CAST(
|
||||
(julianday('now')-julianday(b))/365.25
|
||||
AS INTEGER
|
||||
) AS c
|
||||
FROM T;
|
||||
CREATE VIEW IF NOT EXISTS v_T_1441 AS SELECT b FROM T;
|
||||
ANALYZE T;
|
||||
ALTER TABLE T DROP COLUMN b;
|
||||
|
||||
SELECT COUNT(*) FROM T;
|
||||
SELECT * FROM T WHERE /**/ b > (SELECT COUNT(*) FROM T);
|
||||
INSERT INTO T DEFAULT VALUES;
|
||||
SELECT * FROM T WHERE EXISTS (SELECT 1 FROM T t2 WHERE t2.a = T.a);
|
||||
SELECT * FROM T WHERE a <= ANY (SELECT a FROM T);
|
||||
SELECT * FROM T WHERE a <= ALL (SELECT a FROM T);
|
||||
DROP TRIGGER IF EXISTS T;
|
||||
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;
|
||||
CREATE INDEX IF NOT EXISTS idx_T_6057 ON T((b + 1));
|
||||
INSERT INTO T DEFAULT VALUES;
|
||||
SELECT LAG(a, 1) OVER (PARTITION BY a ORDER BY a RANGE BETWEEN 1 PRECEDING AND 1 FOLLOWING) FROM T;
|
||||
RELEASE sp688;
|
||||
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 T DEFAULT VALUES;
|
||||
SELECT * FROM T WHERE b < (SELECT AVG(b) FROM T);
|
||||
SELECT MIN(b) FROM T;
|
||||
ALTER TABLE T RENAME TO T_r8142;
|
||||
SELECT STRING_AGG(a) FROM T;
|
||||
|
||||
COMMIT TRANSACTION;
|
||||
INSERT OR IGNORE INTO T VALUES ('', NULL);
|
||||
SELECT NTILE(1) OVER (ORDER BY b ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING EXCLUDE GROUP) FROM T;
|
||||
INSERT INTO T VALUES (NULL, NULL) ON CONFLICT(a) DO UPDATE SET a = excluded.a, b = excluded.b;
|
||||
ANALYZE;
|
||||
ALTER TABLE T DROP COLUMN b;
|
||||
ALTER TABLE T RENAME COLUMN a TO a_r5366;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_T_3151 BEFORE DELETE ON T FOR EACH ROW BEGIN INSERT INTO T(b) VALUES (NULL); END;
|
||||
SELECT LEAD(a, 1, NULL) OVER (ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW EXCLUDE TIES) FROM T;
|
||||
ALTER TABLE T RENAME COLUMN b TO b_r2313;
|
||||
SELECT * FROM T AS a RIGHT OUTER JOIN T AS b ON a.rowid = b.rowid;
|
||||
|
||||
SELECT LAG(a, 2, a) OVER (ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW EXCLUDE TIES) FROM T;
|
||||
INSERT INTO T VALUES (NULL, NULL);
|
||||
CREATE UNIQUE INDEX IF NOT EXISTS idx_T_3102 ON T((b + 1));
|
||||
ROLLBACK;
|
||||
```
|
||||
|
||||
## Actual output
|
||||
|
||||
```sql
|
||||
PRAGMA foreign_keys=OFF;
|
||||
BEGIN TRANSACTION;
|
||||
COMMIT;
|
||||
0
|
||||
a|0.785398163397448|3.14|1
|
||||
b|1.0|-7.75|1
|
||||
c|2.0|-Inf|1
|
||||
sqlite_dbdata
|
||||
generate_series
|
||||
completion
|
||||
fsdir
|
||||
tables_used
|
||||
sqlite_stmt
|
||||
json_tree
|
||||
fts4aux
|
||||
fts3
|
||||
fts4
|
||||
sqlite_dbptr
|
||||
fts3tokenize
|
||||
bytecode
|
||||
rtree_i32
|
||||
sqlite_dbpage
|
||||
rtree
|
||||
dbstat
|
||||
json_each
|
||||
```
|
||||
|
||||
## Expectation
|
||||
|
||||
```sql
|
||||
PRAGMA foreign_keys=OFF;
|
||||
BEGIN TRANSACTION;
|
||||
COMMIT;
|
||||
0
|
||||
a|0.785398163397448|3.14|1
|
||||
b|1.0|-7.75|1
|
||||
c|2.0|-Inf|1
|
||||
fsdir
|
||||
generate_series
|
||||
bytecode
|
||||
dbstat
|
||||
tables_used
|
||||
sqlite_stmt
|
||||
sqlite_dbpage
|
||||
rtree_i32
|
||||
fts4aux
|
||||
fts3
|
||||
zipfile
|
||||
fts4
|
||||
completion
|
||||
rtree
|
||||
fts3tokenize
|
||||
```
|
||||
|
||||
## Flag
|
||||
|
||||
```
|
||||
|
||||
```
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user