---
This commit is contained in:
@@ -0,0 +1,316 @@
|
||||
## 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 TEMPORARY TABLE t0(x, y, z);
|
||||
SELECT -quote(NULL);
|
||||
SELECT * FROM sqlite_temp_master WHERE NOT sql GLOB '000[]***';
|
||||
DROP TABLE t0;
|
||||
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))/power(if(NULL, 365.25, 365.25), 365.25)
|
||||
AS INTEGER
|
||||
) AS c
|
||||
FROM T;
|
||||
.restore emplyeee.db
|
||||
.quit
|
||||
.mode
|
||||
CREATE TABLE t1(a TEXT, ax INTEGER, b INT, PRIMARY KEY(a,ax)) WITHOUT ROWID;
|
||||
-- DATE
|
||||
|
||||
WITH RECURSIVE c(i) AS (VALUES(json_insert(1, '$[#]', 1)) UNION ALL SELECT i+1 FROM c WHERE i<10) INSERT INTO t1(a,ax,b) SELECT printf('%02x',i+160), random(), i FROM c;
|
||||
CREATE INDEX t1a ON t1(a);
|
||||
CREATE TABLE t2(x,y);
|
||||
CREATE TABLE t3(cnt);
|
||||
WITH RECURSIVE c(i) AS (VALUES(1) UNION ALL SELECT i+1 FROM c WHERE i<4) INSERT INTO t3(cnt) SELECT i FROM c;
|
||||
SELECT count(*) FROM t1;
|
||||
ANALYZE t1;
|
||||
ALTER TABLE t1 ADD COLUMN extra_7817 INTEGER DEFAULT '';
|
||||
INSERT OR ROLLBACK INTO t3 VALUES ('x');
|
||||
SELECT * FROM t3 NATURAL JOIN t2;
|
||||
WITH _m AS MATERIALIZED (SELECT * FROM t2) SELECT MAX(ax) FROM t1;
|
||||
CREATE VIEW IF NOT EXISTS v__m_7091 AS SELECT y FROM t2;
|
||||
SELECT COUNT(*) FILTER (WHERE cnt IS NOT NULL), SUM(rowid) FILTER (WHERE cnt > 0), COUNT(*) FILTER (WHERE 1=0), COUNT(*) FILTER (WHERE 1=1), COUNT(*) FILTER (WHERE NULL), AVG(cnt) FILTER (WHERE cnt > 0 AND cnt < 100), COUNT(*) FILTER (WHERE typeof(cnt) = "text") FROM t3;
|
||||
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;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_t2_2844 BEFORE UPDATE ON t2 BEGIN SELECT RAISE(ROLLBACK, 'rb'); END;
|
||||
SELECT COUNT(*) FILTER (WHERE ax IS NOT NULL), SUM(rowid) FILTER (WHERE ax > 0), COUNT(*) FILTER (WHERE 1=0), COUNT(*) FILTER (WHERE 1=1), COUNT(*) FILTER (WHERE NULL), AVG(ax) FILTER (WHERE ax > 0 AND ax < 100), COUNT(*) FILTER (WHERE typeof(ax) = "text") FROM t1;
|
||||
INSERT INTO t2 DEFAULT VALUES;
|
||||
PRAGMA user_version;
|
||||
.restore emplyeee.db
|
||||
.quit
|
||||
.mode
|
||||
CREATE TABLE t1(a TEXT, ax INTEGER, b INT, PRIMARY KEY(a,ax)) WITHOUT ROWID;
|
||||
-- DATE
|
||||
|
||||
WITH RECURSIVE c(i) AS (VALUES(json_insert(1, '$[#]', 1)) UNION ALL SELECT i+1 FROM c WHERE i<10) INSERT INTO t1(a,ax,b) SELECT printf('%02x',i+160), random(), i FROM c;
|
||||
CREATE INDEX t1a ON t1(a);
|
||||
CREATE TABLE t2(x,y);
|
||||
CREATE TABLE t3(cnt);
|
||||
WITH RECURSIVE c(i) AS (VALUES(1) UNION ALL SELECT i+1 FROM c WHERE i<4) INSERT INTO t3(cnt) SELECT i FROM c;
|
||||
SELECT count(*) FROM t1;
|
||||
ANALYZE t1;
|
||||
ALTER TABLE t1 ADD COLUMN extra_7817 INTEGER DEFAULT '';
|
||||
INSERT OR ROLLBACK INTO t3 VALUES ('x');
|
||||
SELECT * FROM t3 NATURAL JOIN t2;
|
||||
SELECT MAX(ax) FROM t1;
|
||||
CREATE VIEW IF NOT EXISTS v_t2_7091 AS SELECT y FROM t2;
|
||||
SELECT COUNT(*) FILTER (WHERE cnt IS NOT NULL), SUM(rowid) FILTER (WHERE cnt > 0), COUNT(*) FILTER (WHERE 1=0), COUNT(*) FILTER (WHERE 1=1), COUNT(*) FILTER (WHERE NULL), AVG(cnt) FILTER (WHERE cnt > 0 AND cnt < 100), COUNT(*) FILTER (WHERE typeof(cnt) = "text") FROM t3;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_t2_2844 BEFORE UPDATE ON t2 BEGIN SELECT RAISE(ROLLBACK, 'rb'); END;
|
||||
SELECT COUNT(*) FILTER (WHERE ax IS NOT NULL), SUM(rowid) FILTER (WHERE ax > 0), COUNT(*) FILTER (WHERE 1=0), COUNT(*) FILTER (WHERE 1=1), COUNT(*) FILTER (WHERE NULL), AVG(ax) FILTER (WHERE ax > 0 AND ax < 100), COUNT(*) FILTER (WHERE typeof(ax) = "text") FROM t1;
|
||||
INSERT INTO t2 DEFAULT VALUES;
|
||||
PRAGMA user_version;
|
||||
.restore emplyeee.db
|
||||
.quit
|
||||
.mode
|
||||
CREATE TABLE t1(a TEXT, ax INTEGER, b INT, PRIMARY KEY(a,ax)) WITHOUT ROWID;
|
||||
-- DATE
|
||||
|
||||
WITH RECURSIVE c(i) AS (VALUES(json_insert(1, '$[#]', 1)) UNION ALL SELECT i+1 FROM c WHERE i<10) INSERT INTO t1(a,ax,b) SELECT printf('%02x',i+160), random(), i FROM c;
|
||||
CREATE INDEX t1a ON t1(a);
|
||||
CREATE TABLE t2(x,y);
|
||||
CREATE TABLE t3(cnt);
|
||||
WITH RECURSIVE c(i) AS (VALUES(1) UNION ALL SELECT i+1 FROM c WHERE i<4) INSERT INTO t3(cnt) SELECT i FROM c;
|
||||
SELECT count(*) FROM t1;
|
||||
ANALYZE t1;
|
||||
ALTER TABLE t1 ADD COLUMN extra_7817 INTEGER DEFAULT '';
|
||||
INSERT OR ROLLBACK INTO t3 VALUES ('x');
|
||||
SELECT * FROM t3 NATURAL JOIN t2;
|
||||
SELECT MAX(ax) FROM t1;
|
||||
CREATE VIEW IF NOT EXISTS v_t2_7091 AS SELECT y FROM t2;
|
||||
SELECT COUNT(*) FILTER (WHERE cnt IS NOT NULL), SUM(rowid) FILTER (WHERE cnt > 0), COUNT(*) FILTER (WHERE 1=0), COUNT(*) FILTER (WHERE 1=1), COUNT(*) FILTER (WHERE NULL), AVG(cnt) FILTER (WHERE cnt > 0 AND cnt < 100), COUNT(*) FILTER (WHERE typeof(cnt) = "text") FROM t3;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_t2_2844 BEFORE UPDATE ON t2 BEGIN SELECT RAISE(ROLLBACK, 'rb'); END;
|
||||
SELECT COUNT(*) FILTER (WHERE ax IS NOT NULL), SUM(rowid) FILTER (WHERE ax > 0), COUNT(*) FILTER (WHERE 1=0), COUNT(*) FILTER (WHERE 1=1), COUNT(*) FILTER (WHERE NULL), AVG(ax) FILTER (WHERE ax > 0 AND ax < 100), COUNT(*) FILTER (WHERE typeof(ax) = "text") FROM t1;
|
||||
INSERT INTO t2 DEFAULT VALUES;
|
||||
PRAGMA user_version;
|
||||
.restore emplyeee.db
|
||||
.quit
|
||||
.mode
|
||||
CREATE TABLE t1(a TEXT, ax INTEGER, b INT, PRIMARY KEY(a,ax)) WITHOUT ROWID;
|
||||
-- DATE
|
||||
|
||||
WITH RECURSIVE c(i) AS (VALUES(json_insert(1, '$[#]', 1)) UNION ALL SELECT i+1 FROM c WHERE i<10) INSERT INTO t1(a,ax,b) SELECT printf('%02x',i+160), random(), i FROM c;
|
||||
CREATE INDEX t1a ON t1(a);
|
||||
CREATE TABLE t2(x,y);
|
||||
CREATE TABLE t3(cnt);
|
||||
WITH RECURSIVE c(i) AS (VALUES(1) UNION ALL SELECT i+1 FROM c WHERE i<4) INSERT INTO t3(cnt) SELECT i FROM c;
|
||||
SELECT count(*) FROM t1;
|
||||
ANALYZE t1;
|
||||
ALTER TABLE t1 ADD COLUMN extra_7817 INTEGER DEFAULT '';
|
||||
INSERT OR ROLLBACK INTO t3 VALUES ('x');
|
||||
SELECT * FROM t3 NATURAL JOIN t2;
|
||||
SELECT MAX(ax) FROM t1;
|
||||
CREATE VIEW IF NOT EXISTS v_t2_7091 AS SELECT y FROM t2;
|
||||
SELECT COUNT(*) FILTER (WHERE cnt IS NOT NULL), SUM(rowid) FILTER (WHERE cnt > 0), COUNT(*) FILTER (WHERE 1=0), COUNT(*) FILTER (WHERE 1=1), COUNT(*) FILTER (WHERE NULL), AVG(cnt) FILTER (WHERE cnt > 0 AND cnt < 100), COUNT(*) FILTER (WHERE typeof(cnt) = "text") FROM t3;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_t2_2844 BEFORE UPDATE ON t2 BEGIN SELECT RAISE(ROLLBACK, 'rb'); END;
|
||||
SELECT COUNT(*) FILTER (WHERE ax IS NOT NULL), SUM(rowid) FILTER (WHERE ax > 0), COUNT(*) FILTER (WHERE 1=0), COUNT(*) FILTER (WHERE 1=1), COUNT(*) FILTER (WHERE NULL), AVG(ax) FILTER (WHERE ax > 0 AND ax < 100), COUNT(*) FILTER (WHERE typeof(ax) = "text") FROM t1;
|
||||
INSERT INTO t2 DEFAULT VALUES;
|
||||
PRAGMA user_version;
|
||||
.restore emplyeee.db
|
||||
.quit
|
||||
.mode
|
||||
CREATE TABLE t1(a TEXT, ax INTEGER, b INT, PRIMARY KEY(a,ax)) WITHOUT ROWID;
|
||||
-- DATE
|
||||
|
||||
WITH RECURSIVE c(i) AS (VALUES(json_insert(1, '$[#]', 1)) UNION ALL SELECT i+1 FROM c WHERE i<10) INSERT INTO t1(a,ax,b) SELECT printf('%02x',i+160), random(), i FROM c;
|
||||
CREATE INDEX t1a ON t1(a);
|
||||
CREATE TABLE t2(x,y);
|
||||
CREATE TABLE t3(cnt);
|
||||
WITH RECURSIVE c(i) AS (VALUES(1) UNION ALL SELECT i+1 FROM c WHERE i<4) INSERT INTO t3(cnt) SELECT i FROM c;
|
||||
SELECT count(*) FROM t1;
|
||||
ANALYZE t1;
|
||||
ALTER TABLE t1 ADD COLUMN extra_7817 INTEGER DEFAULT '';
|
||||
INSERT OR ROLLBACK INTO t3 VALUES ('x');
|
||||
SELECT * FROM t3 NATURAL JOIN t2;
|
||||
SELECT MAX(ax) FROM t1;
|
||||
CREATE VIEW IF NOT EXISTS v_t2_7091 AS SELECT y FROM t2;
|
||||
SELECT COUNT(*) FILTER (WHERE cnt IS NOT NULL), SUM(rowid) FILTER (WHERE cnt > 0), COUNT(*) FILTER (WHERE 1=0), COUNT(*) FILTER (WHERE 1=1), COUNT(*) FILTER (WHERE NULL), AVG(cnt) FILTER (WHERE cnt > 0 AND cnt < 100), COUNT(*) FILTER (WHERE typeof(cnt) = "text") FROM t3;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_t2_2844 BEFORE UPDATE ON t2 BEGIN SELECT RAISE(ROLLBACK, 'rb'); END;
|
||||
SELECT COUNT(*) FILTER (WHERE ax IS NOT NULL), SUM(rowid) FILTER (WHERE ax > 0), COUNT(*) FILTER (WHERE 1=0), COUNT(*) FILTER (WHERE 1=1), COUNT(*) FILTER (WHERE NULL), AVG(ax) FILTER (WHERE ax > 0 AND ax < 100), COUNT(*) FILTER (WHERE typeof(ax) = "text") FROM t1;
|
||||
INSERT INTO t2 DEFAULT VALUES;
|
||||
PRAGMA user_version;
|
||||
.restore emplyeee.db
|
||||
.quit
|
||||
.mode
|
||||
CREATE TABLE t1(a TEXT, ax INTEGER, b INT, PRIMARY KEY(a,ax)) WITHOUT ROWID;
|
||||
-- DATE
|
||||
|
||||
WITH RECURSIVE c(i) AS (VALUES(json_insert(1, '$[#]', 1)) UNION ALL SELECT i+1 FROM c WHERE i<10) INSERT INTO t1(a,ax,b) SELECT printf('%02x',i+160), random(), i FROM c;
|
||||
CREATE INDEX t1a ON t1(a);
|
||||
CREATE TABLE t2(x,y);
|
||||
CREATE TABLE t3(cnt);
|
||||
WITH RECURSIVE c(i) AS (VALUES(1) UNION ALL SELECT i+1 FROM c WHERE i<4) INSERT INTO t3(cnt) SELECT i FROM c;
|
||||
SELECT count(*) FROM t1;
|
||||
ANALYZE t1;
|
||||
ALTER TABLE t1 ADD COLUMN extra_7817 INTEGER DEFAULT '';
|
||||
INSERT OR ROLLBACK INTO t3 VALUES ('x');
|
||||
SELECT * FROM t3 NATURAL JOIN t2;
|
||||
SELECT MAX(ax) FROM t1;
|
||||
CREATE VIEW IF NOT EXISTS v_t2_7091 AS SELECT y FROM t2;
|
||||
SELECT COUNT(*) FILTER (WHERE cnt IS NOT NULL), SUM(rowid) FILTER (WHERE cnt > 0), COUNT(*) FILTER (WHERE 1=0), COUNT(*) FILTER (WHERE 1=1), COUNT(*) FILTER (WHERE NULL), AVG(cnt) FILTER (WHERE cnt > 0 AND cnt < 100), COUNT(*) FILTER (WHERE typeof(cnt) = "text") FROM t3;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_t2_2844 BEFORE UPDATE ON t2 BEGIN SELECT RAISE(ROLLBACK, 'rb'); END;
|
||||
SELECT COUNT(*) FILTER (WHERE ax IS NOT NULL), SUM(rowid) FILTER (WHERE ax > 0), COUNT(*) FILTER (WHERE 1=0), COUNT(*) FILTER (WHERE 1=1), COUNT(*) FILTER (WHERE NULL), AVG(ax) FILTER (WHERE ax > 0 AND ax < 100), COUNT(*) FILTER (WHERE typeof(ax) = "text") FROM t1;
|
||||
INSERT INTO t2 DEFAULT VALUES;
|
||||
PRAGMA user_version;
|
||||
.restore emplyeee.db
|
||||
.quit
|
||||
.mode
|
||||
CREATE TABLE t1(a TEXT, ax INTEGER, b INT, PRIMARY KEY(a,ax)) WITHOUT ROWID;
|
||||
-- DATE
|
||||
|
||||
WITH RECURSIVE c(i) AS (VALUES(json_insert(1, '$[#]', 1)) UNION ALL SELECT i+1 FROM c WHERE i<10) INSERT INTO t1(a,ax,b) SELECT printf('%02x',i+160), random(), i FROM c;
|
||||
CREATE INDEX t1a ON t1(a);
|
||||
CREATE TABLE t2(x,y);
|
||||
CREATE TABLE t3(cnt);
|
||||
WITH RECURSIVE c(i) AS (VALUES(1) UNION ALL SELECT i+1 FROM c WHERE i<4) INSERT INTO t3(cnt) SELECT i FROM c;
|
||||
SELECT count(*) FROM t1;
|
||||
ANALYZE t1;
|
||||
ALTER TABLE t1 ADD COLUMN extra_7817 INTEGER DEFAULT '';
|
||||
INSERT OR ROLLBACK INTO t3 VALUES ('x');
|
||||
SELECT * FROM t3 NATURAL JOIN t2;
|
||||
SELECT MAX(ax) FROM t1;
|
||||
CREATE VIEW IF NOT EXISTS v_t2_7091 AS SELECT y FROM t2;
|
||||
SELECT COUNT(*) FILTER (WHERE cnt IS NOT NULL), SUM(rowid) FILTER (WHERE cnt > 0), COUNT(*) FILTER (WHERE 1=0), COUNT(*) FILTER (WHERE 1=1), COUNT(*) FILTER (WHERE NULL), AVG(cnt) FILTER (WHERE cnt > 0 AND cnt < 100), COUNT(*) FILTER (WHERE typeof(cnt) = "text") FROM t3;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_t2_2844 BEFORE UPDATE ON t2 BEGIN SELECT RAISE(ROLLBACK, 'rb'); END;
|
||||
SELECT COUNT(*) FILTER (WHERE ax IS NOT NULL), SUM(rowid) FILTER (WHERE ax > 0), COUNT(*) FILTER (WHERE 1=0), COUNT(*) FILTER (WHERE 1=1), COUNT(*) FILTER (WHERE NULL), AVG(ax) FILTER (WHERE ax > 0 AND ax < 100), COUNT(*) FILTER (WHERE typeof(ax) = "text") FROM t1;
|
||||
INSERT INTO t2 DEFAULT VALUES;
|
||||
PRAGMA user_version;
|
||||
.restore emplyeee.db
|
||||
.quit
|
||||
.mode
|
||||
CREATE TABLE t1(a TEXT, ax INTEGER, b INT, PRIMARY KEY(a,ax)) WITHOUT ROWID;
|
||||
-- DATE
|
||||
|
||||
WITH RECURSIVE c(i) AS (VALUES(json_insert(1, '$[#]', 1)) UNION ALL SELECT i+1 FROM c WHERE i<10) INSERT INTO t1(a,ax,b) SELECT printf('%02x',i+160), random(), i FROM c;
|
||||
CREATE INDEX t1a ON t1(a);
|
||||
CREATE TABLE t2(x,y);
|
||||
CREATE TABLE t3(cnt);
|
||||
WITH RECURSIVE c(i) AS (VALUES(1) UNION ALL SELECT i+1 FROM c WHERE i<4) INSERT INTO t3(cnt) SELECT i FROM c;
|
||||
SELECT count(*) FROM t1;
|
||||
ANALYZE t1;
|
||||
ALTER TABLE t1 ADD COLUMN extra_7817 INTEGER DEFAULT '';
|
||||
INSERT OR ROLLBACK INTO t3 VALUES ('x');
|
||||
SELECT * FROM t3 NATURAL JOIN t2;
|
||||
SELECT MAX(ax) FROM t1;
|
||||
CREATE VIEW IF NOT EXISTS v_t2_7091 AS SELECT y FROM t2;
|
||||
SELECT COUNT(*) FILTER (WHERE cnt IS NOT NULL), SUM(rowid) FILTER (WHERE cnt > 0), COUNT(*) FILTER (WHERE 1=0), COUNT(*) FILTER (WHERE 1=1), COUNT(*) FILTER (WHERE NULL), AVG(cnt) FILTER (WHERE cnt > 0 AND cnt < 100), COUNT(*) FILTER (WHERE typeof(cnt) = "text") FROM t3;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_t2_2844 BEFORE UPDATE ON t2 BEGIN SELECT RAISE(ROLLBACK, 'rb'); END;
|
||||
SELECT COUNT(*) FILTER (WHERE ax IS NOT NULL), SUM(rowid) FILTER (WHERE ax > 0), COUNT(*) FILTER (WHERE 1=0), COUNT(*) FILTER (WHERE 1=1), COUNT(*) FILTER (WHERE NULL), AVG(ax) FILTER (WHERE ax > 0 AND ax < 100), COUNT(*) FILTER (WHERE typeof(ax) = "text") FROM t1;
|
||||
INSERT INTO t2 DEFAULT VALUES;
|
||||
PRAGMA user_version;
|
||||
.restore emplyeee.db
|
||||
.quit
|
||||
.mode
|
||||
CREATE TABLE t1(a TEXT, ax INTEGER, b INT, PRIMARY KEY(a,ax)) WITHOUT ROWID;
|
||||
-- DATE
|
||||
|
||||
WITH RECURSIVE c(i) AS (VALUES(json_insert(1, '$[#]', 1)) UNION ALL SELECT i+1 FROM c WHERE i<10) INSERT INTO t1(a,ax,b) SELECT printf('%02x',i+160), random(), i FROM c;
|
||||
CREATE INDEX t1a ON t1(a);
|
||||
CREATE TABLE t2(x,y);
|
||||
CREATE TABLE t3(cnt);
|
||||
WITH RECURSIVE c(i) AS (VALUES(1) UNION ALL SELECT i+1 FROM c WHERE i<4) INSERT INTO t3(cnt) SELECT i FROM c;
|
||||
SELECT count(*) FROM t1;
|
||||
ANALYZE t1;
|
||||
ALTER TABLE t1 ADD COLUMN extra_7817 INTEGER DEFAULT '';
|
||||
INSERT OR ROLLBACK INTO t3 VALUES ('x');
|
||||
SELECT * FROM t3 NATURAL JOIN t2;
|
||||
SELECT MAX(ax) FROM t1;
|
||||
CREATE VIEW IF NOT EXISTS v_t2_7091 AS SELECT y FROM t2;
|
||||
SELECT COUNT(*) FILTER (WHERE cnt IS NOT NULL), SUM(rowid) FILTER (WHERE cnt > 0), COUNT(*) FILTER (WHERE 1=0), COUNT(*) FILTER (WHERE 1=1), COUNT(*) FILTER (WHERE NULL), AVG(cnt) FILTER (WHERE cnt > 0 AND cnt < 100), COUNT(*) FILTER (WHERE typeof(cnt) = "text") FROM t3;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_t2_2844 BEFORE UPDATE ON t2 BEGIN SELECT RAISE(ROLLBACK, 'rb'); END;
|
||||
SELECT COUNT(*) FILTER (WHERE ax IS NOT NULL), SUM(rowid) FILTER (WHERE ax > 0), COUNT(*) FILTER (WHERE 1=0), COUNT(*) FILTER (WHERE 1=1), COUNT(*) FILTER (WHERE NULL), AVG(ax) FILTER (WHERE ax > 0 AND ax < 100), COUNT(*) FILTER (WHERE typeof(ax) = "text") FROM t1;
|
||||
INSERT INTO t2 DEFAULT VALUES;
|
||||
PRAGMA user_version;
|
||||
.restore emplyeee.db
|
||||
.quit
|
||||
.mode
|
||||
CREATE TABLE t1(a TEXT, ax INTEGER, b INT, PRIMARY KEY(a,ax)) WITHOUT ROWID;
|
||||
-- DATE
|
||||
|
||||
WITH RECURSIVE c(i) AS (VALUES(json_insert(1, '$[#]', 1)) UNION ALL SELECT i+1 FROM c WHERE i<10) INSERT INTO t1(a,ax,b) SELECT printf('%02x',i+160), random(), i FROM c;
|
||||
CREATE INDEX t1a ON t1(a);
|
||||
CREATE TABLE t2(x,y);
|
||||
CREATE TABLE t3(cnt);
|
||||
WITH RECURSIVE c(i) AS (VALUES(1) UNION ALL SELECT i+1 FROM c WHERE i<4) INSERT INTO t3(cnt) SELECT i FROM c;
|
||||
SELECT count(*) FROM t1;
|
||||
ANALYZE t1;
|
||||
ALTER TABLE t1 ADD COLUMN extra_7817 INTEGER DEFAULT '';
|
||||
INSERT OR ROLLBACK INTO t3 VALUES ('x');
|
||||
SELECT * FROM t3 NATURAL JOIN t2;
|
||||
SELECT MAX(ax) FROM t1;
|
||||
CREATE VIEW IF NOT EXISTS v_t2_7091 AS SELECT y FROM t2;
|
||||
SELECT COUNT(*) FILTER (WHERE cnt IS NOT NULL), SUM(rowid) FILTER (WHERE cnt > 0), COUNT(*) FILTER (WHERE 1=0), COUNT(*) FILTER (WHERE 1=1), COUNT(*) FILTER (WHERE NULL), AVG(cnt) FILTER (WHERE cnt > 0 AND cnt < 100), COUNT(*) FILTER (WHERE typeof(cnt) = "text") FROM t3;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_t2_2844 BEFORE UPDATE ON t2 BEGIN SELECT RAISE(ROLLBACK, 'rb'); END;
|
||||
SELECT COUNT(*) FILTER (WHERE ax IS NOT NULL), SUM(rowid) FILTER (WHERE ax > 0), COUNT(*) FILTER (WHERE 1=0), COUNT(*) FILTER (WHERE 1=1), COUNT(*) FILTER (WHERE NULL), AVG(ax) FILTER (WHERE ax > 0 AND ax < 100), COUNT(*) FILTER (WHERE typeof(ax) = "text") FROM t1;
|
||||
INSERT INTO t2 DEFAULT VALUES;
|
||||
PRAGMA user_version;
|
||||
VACUUM main;
|
||||
INSERT INTO t1 VALUES (NULL, NULL, NULL);
|
||||
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 T2 ADD COLUMN extra_5851 BIGINT UNIQUE;
|
||||
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;
|
||||
INSERT INTO T1 DEFAULT VALUES;
|
||||
ALTER TABLE t1 DROP COLUMN b;
|
||||
SELECT * FROM T1;
|
||||
DROP INDEX IF EXISTS t1;
|
||||
INSERT INTO T1 DEFAULT VALUES;
|
||||
ANALYZE 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;
|
||||
ALTER TABLE t2 RENAME TO t2_r5486;
|
||||
REINDEX T1;
|
||||
ALTER TABLE T RENAME COLUMN B TO B_r934;
|
||||
SELECT MAX(C) FROM T;
|
||||
DROP TRIGGER IF EXISTS T1;
|
||||
```
|
||||
|
||||
## Actual output
|
||||
|
||||
```sql
|
||||
0
|
||||
table|t0|t0|2|CREATE TABLE t0(x, y, z)
|
||||
```
|
||||
|
||||
## Expectation
|
||||
|
||||
```sql
|
||||
|
||||
```
|
||||
|
||||
## Flag
|
||||
|
||||
```
|
||||
|
||||
```
|
||||
|
||||
Reference in New Issue
Block a user