819 lines
33 KiB
Markdown
819 lines
33 KiB
Markdown
## 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 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;
|
|
CREATE TABLE t1(a INTEGER PRIMARY KEY, b TEXT, c INT, d INT);
|
|
INSERT INTO t1 VALUES (likelihood(1, 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 sp2410;
|
|
-- replace({v}, '', 'x')
|
|
|
|
.log ON
|
|
ATTACH DATABASE ':memory:' AS aux57;
|
|
ATTACH DATABASE '' || (':memory:') AS aux79;
|
|
ATTACH DATABASE ':memory:' AS aux15;
|
|
.print https://yewtu.be/watch?v=dQw4w9WgXcQ
|
|
PRAGMA vdbe_listing = '{';
|
|
PRAGMA short_column_names = YES;
|
|
SAVEPOINT sp5958;
|
|
CREATE TABLE t1(a MEDIUMINT PRIMARY KEY, b TEXT, c INT, d INT);
|
|
INSERT INTO t1 VALUES (concat((1 * 1), 1, 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;
|
|
create TABLE main.abc(a, b, c, PRIMARY KEY(a, b));
|
|
CREATE TABLE T (
|
|
a INTEGER,
|
|
b TEXT,
|
|
c REAL,
|
|
d REAL
|
|
);
|
|
INSERT INTO T VALUES (json_valid(1, 4),'a',40.5,-70.0), (2,'b',-10.25,20.5), (3,'c',9e999,-9e999);
|
|
CREATE TABLE T (
|
|
A VARCHAR(10) PRIMARY KEY,
|
|
B VARCHAR(15) NOT NULL,
|
|
C DOUBLE PRECISION
|
|
);
|
|
INSERT INTO T VALUES ('a', 'p', -1.7976931348623157e+308);
|
|
INSERT INTO T VALUES ('b', 'q', -0.000000001);
|
|
INSERT INTO T VALUES ('c', 'r', 0.0);
|
|
INSERT INTO T VALUES ('d', 's', 3.14159265358979);
|
|
INSERT INTO T VALUES ('e', 't', 1.7976931348623157e+308);
|
|
INSERT INTO T VALUES ('f', 't', 750.25);
|
|
SELECT B, AVG(C) AS D, MIN(C) AS E, MAX(C) AS F FROM T GROUP BY B;
|
|
SELECT b FROM T WHERE NOT NOT NOT (NOT NOT (ABS(c) > 5 OR ABS(d) > 5)) ;
|
|
INSERT INTO abc VALUES(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;
|
|
ALTER TABLE T RENAME TO T_r2547;
|
|
SELECT b, (SELECT AVG(b) FROM abc) AS avg_val FROM abc;
|
|
INSERT INTO T VALUES (NULL, NULL, NULL, NULL);
|
|
SELECT AVG(B) FROM T;
|
|
SELECT * FROM t1 WHERE c < ANY (SELECT c FROM t1);
|
|
|
|
SELECT COUNT(*) FROM T;
|
|
CREATE TRIGGER IF NOT EXISTS trg_t1_7090 AFTER INSERT ON t1 BEGIN SELECT RAISE(ROLLBACK, 'rb'); END;
|
|
ROLLBACK TRANSACTION TO SAVEPOINT sp5958;
|
|
RELEASE SAVEPOINT sp5958;
|
|
UPDATE abc SET a = NULL WHERE a IS NOT NULL RETURNING *;
|
|
DROP VIEW IF EXISTS abc;
|
|
DELETE FROM t1 WHERE rowid = 76;
|
|
|
|
SELECT COUNT(*) FROM t1;
|
|
UPDATE T SET A = NULL WHERE 1;
|
|
ALTER TABLE T RENAME TO T_r3110;
|
|
INSERT INTO t1 VALUES (NULL, NULL, NULL, NULL);
|
|
ALTER TABLE abc DROP COLUMN a;
|
|
CREATE TRIGGER IF NOT EXISTS trg_abc_1503 BEFORE UPDATE OF a ON abc FOR EACH ROW BEGIN SELECT RAISE(FAIL, 'no'); END;
|
|
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;
|
|
CREATE UNIQUE INDEX IF NOT EXISTS idx_abc_3299 ON abc(lower(b)) WHERE b IS NOT NULL;
|
|
WITH cte AS (SELECT "123" AS x) SELECT x + 0 FROM cte;
|
|
INSERT INTO T SELECT * FROM T;
|
|
CREATE TRIGGER IF NOT EXISTS trg_abc_3167 BEFORE UPDATE OF c ON abc FOR EACH ROW BEGIN INSERT INTO abc(c) VALUES (NULL); END;
|
|
SELECT STRING_AGG(C) FROM T;
|
|
INSERT OR IGNORE INTO abc VALUES (NULL, 9, 'x');
|
|
|
|
SELECT COUNT(*) FROM t1;
|
|
SELECT * 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 T;
|
|
|
|
SELECT COUNT(*) FROM t1;
|
|
INSERT OR IGNORE INTO t1 VALUES (3, '', 0, -10);
|
|
CREATE VIEW IF NOT EXISTS v_T_8516 AS SELECT C FROM T;
|
|
CREATE TEMP VIEW IF NOT EXISTS v_t1_5754 AS SELECT b FROM t1;
|
|
|
|
SELECT COUNT(*) FROM T;
|
|
DROP TRIGGER IF EXISTS t1;
|
|
SELECT * FROM t1 AS a FULL OUTER JOIN T AS b ON a.rowid = b.rowid;
|
|
SELECT * FROM T WHERE B IN (SELECT B FROM T LIMIT 0);
|
|
DETACH DATABASE aux15;
|
|
WITH cte AS (SELECT * FROM abc LIMIT 1) DELETE FROM abc WHERE a IN (SELECT a FROM cte) AND 1=0;
|
|
WITH RECURSIVE vals(x) AS (SELECT C FROM T WHERE C IS NOT NULL UNION ALL SELECT C FROM T WHERE C IS NOT NULL LIMIT 10) SELECT * FROM vals;
|
|
ALTER TABLE t1 RENAME COLUMN c TO c_r3776;
|
|
DETACH DATABASE aux79;
|
|
SELECT * FROM T t1 RIGHT JOIN T t2 ON t1.A = (SELECT A FROM T WHERE A = t1.A);
|
|
INSERT OR ABORT INTO T VALUES ('x', 0, NULL);
|
|
SELECT GROUP_CONCAT(c, '.') OVER (PARTITION BY c ORDER BY c ROWS BETWEEN 2 PRECEDING AND 2 FOLLOWING EXCLUDE CURRENT ROW) FROM t1;
|
|
ATTACH DATABASE ':memory:' AS aux79;
|
|
ATTACH DATABASE ':memory:' AS aux15;
|
|
.print https://yewtu.be/watch?v=dQw4w9WgXcQ
|
|
PRAGMA vdbe_listing = 2147483648;
|
|
PRAGMA short_column_names = YES;
|
|
SAVEPOINT sp5958;
|
|
CREATE TABLE t1(a INTEGER PRIMARY KEY, b TEXT, c INT, d INT);
|
|
INSERT INTO t1 VALUES (concat(1, 1, 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;
|
|
create TABLE main.abc(a, b, c, PRIMARY KEY(a, b));
|
|
CREATE TABLE T (
|
|
a INTEGER,
|
|
b TEXT,
|
|
c REAL,
|
|
d REAL
|
|
);
|
|
INSERT INTO T VALUES (json_valid(1, 4),'a',40.5,-70.0), (2,'b',-10.25,20.5), (3,'c',9e999,-9e999);
|
|
CREATE TABLE T (
|
|
A VARCHAR(10) PRIMARY KEY,
|
|
B VARCHAR(15) NOT NULL,
|
|
C DOUBLE PRECISION
|
|
);
|
|
INSERT INTO T VALUES ('a', 'p', -1.7976931348623157e+308);
|
|
INSERT INTO T VALUES ('b', 'q', -0.000000001);
|
|
INSERT INTO T VALUES ('c', 'r', 0.0);
|
|
INSERT INTO T VALUES ('d', 's', 3.14159265358979);
|
|
INSERT INTO T VALUES ('e', 't', 1.7976931348623157e+308);
|
|
INSERT INTO T VALUES ('f', 't', 750.25);
|
|
SELECT B, AVG(C) AS D, MIN(C) AS E, MAX(C) AS F FROM T GROUP BY B;
|
|
SELECT b FROM T WHERE NOT NOT (ABS(c) > 5 OR ABS(d) > 5) ;
|
|
INSERT INTO abc VALUES(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;
|
|
ALTER TABLE T RENAME TO T_r2547;
|
|
SELECT b, (SELECT AVG(b) FROM abc) AS avg_val FROM abc;
|
|
INSERT INTO T VALUES (NULL, NULL, NULL, NULL);
|
|
SELECT AVG(B) FROM T;
|
|
SELECT * FROM t1 WHERE c < ANY (SELECT c FROM t1);
|
|
|
|
SELECT COUNT(*) FROM T;
|
|
CREATE TRIGGER IF NOT EXISTS trg_t1_7090 AFTER INSERT ON t1 BEGIN SELECT RAISE(ROLLBACK, 'rb'); END;
|
|
ROLLBACK TRANSACTION TO SAVEPOINT sp5958;
|
|
RELEASE SAVEPOINT sp5958;
|
|
UPDATE abc SET a = NULL WHERE a IS NOT NULL RETURNING *;
|
|
DROP VIEW IF EXISTS abc;
|
|
DELETE FROM t1 WHERE rowid = 76;
|
|
|
|
SELECT COUNT(*) FROM t1;
|
|
UPDATE T SET A = NULL WHERE 1;
|
|
ALTER TABLE T RENAME TO T_r3110;
|
|
INSERT INTO t1 VALUES (NULL, NULL, NULL, NULL);
|
|
ALTER TABLE abc DROP COLUMN a;
|
|
CREATE TRIGGER IF NOT EXISTS trg_abc_1503 BEFORE UPDATE OF a ON abc FOR EACH ROW BEGIN SELECT RAISE(FAIL, 'no'); END;
|
|
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;
|
|
CREATE UNIQUE INDEX IF NOT EXISTS idx_abc_3299 ON abc(lower(b)) WHERE b IS NOT NULL;
|
|
WITH cte AS (SELECT "123" AS x) SELECT x + 0 FROM cte;
|
|
INSERT INTO T SELECT * FROM T;
|
|
CREATE TRIGGER IF NOT EXISTS trg_abc_3167 BEFORE UPDATE OF c ON abc FOR EACH ROW BEGIN INSERT INTO abc(c) VALUES (NULL); END;
|
|
SELECT STRING_AGG(C) FROM T;
|
|
INSERT OR IGNORE INTO abc VALUES (NULL, 9, 'x');
|
|
|
|
SELECT COUNT(*) FROM t1;
|
|
SELECT * 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 T;
|
|
|
|
SELECT COUNT(*) FROM t1;
|
|
INSERT OR IGNORE INTO t1 VALUES (3, '', 0, -10);
|
|
CREATE VIEW IF NOT EXISTS v_T_8516 AS SELECT C FROM T;
|
|
CREATE TEMP VIEW IF NOT EXISTS v_t1_5754 AS SELECT b FROM t1;
|
|
|
|
SELECT COUNT(*) FROM T;
|
|
DROP TRIGGER IF EXISTS t1;
|
|
SELECT * FROM t1 AS a FULL OUTER JOIN T AS b ON a.rowid = b.rowid;
|
|
SELECT * FROM T WHERE B IN (SELECT B FROM T LIMIT 0);
|
|
DETACH DATABASE aux15;
|
|
WITH cte AS (SELECT * FROM abc LIMIT 1) DELETE FROM abc WHERE a IN (SELECT a FROM cte) AND 1=0;
|
|
WITH RECURSIVE vals(x) AS (SELECT C FROM T WHERE C IS NOT NULL UNION ALL SELECT C FROM T WHERE C IS NOT NULL LIMIT 10) SELECT * FROM vals;
|
|
ALTER TABLE t1 RENAME COLUMN c TO c_r3776;
|
|
DETACH DATABASE aux79;
|
|
SELECT * FROM T t1 RIGHT JOIN T t2 ON t1.A = (SELECT A FROM T WHERE A = t1.A);
|
|
INSERT OR ABORT INTO T VALUES ('x', 0, NULL);
|
|
SELECT GROUP_CONCAT(c, '.') OVER (PARTITION BY c ORDER BY c ROWS BETWEEN 2 PRECEDING AND 2 FOLLOWING EXCLUDE CURRENT ROW) FROM t1;
|
|
ATTACH DATABASE ':memory:' AS aux79;
|
|
ATTACH DATABASE ':memory:' AS aux15;
|
|
.print https://yewtu.be/watch?v=dQw4w9WgXcQ
|
|
PRAGMA vdbe_listing = 2147483648;
|
|
PRAGMA short_column_names = YES;
|
|
SAVEPOINT sp5958;
|
|
CREATE TABLE t1(a INTEGER PRIMARY KEY, b TEXT, c INT, d INT);
|
|
INSERT INTO t1 VALUES (concat(1, 1, 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;
|
|
create TABLE main.abc(a, b, c, PRIMARY KEY(a, b));
|
|
CREATE TABLE T (
|
|
a INTEGER,
|
|
b TEXT,
|
|
c REAL,
|
|
d REAL
|
|
);
|
|
INSERT INTO T VALUES (json_valid(1, 4),'a',40.5,-70.0), (2,'b',-10.25,20.5), (3,'c',9e999,-9e999);
|
|
CREATE TABLE T (
|
|
A VARCHAR(10) PRIMARY KEY,
|
|
B VARCHAR(15) NOT NULL,
|
|
C DOUBLE PRECISION
|
|
);
|
|
INSERT INTO T VALUES ('a', 'p', -1.7976931348623157e+308);
|
|
INSERT INTO T VALUES ('b', 'q', -0.000000001);
|
|
INSERT INTO T VALUES ('c', 'r', 0.0);
|
|
INSERT INTO T VALUES ('d', 's', 3.14159265358979);
|
|
INSERT INTO T VALUES ('e', 't', 1.7976931348623157e+308);
|
|
INSERT INTO T VALUES ('f', 't', 750.25);
|
|
SELECT B, AVG(C) AS D, MIN(C) AS E, MAX(C) AS F FROM T GROUP BY B;
|
|
SELECT b FROM T WHERE NOT NOT (ABS(c) > 5 OR ABS(d) > 5) ;
|
|
INSERT INTO abc VALUES(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;
|
|
ALTER TABLE T RENAME TO T_r2547;
|
|
SELECT b, (SELECT AVG(b) FROM abc) AS avg_val FROM abc;
|
|
INSERT INTO T VALUES (NULL, NULL, NULL, NULL);
|
|
SELECT AVG(B) FROM T;
|
|
SELECT * FROM t1 WHERE c < ANY (SELECT c FROM t1);
|
|
|
|
SELECT COUNT(*) FROM T;
|
|
CREATE TRIGGER IF NOT EXISTS trg_t1_7090 AFTER INSERT ON t1 BEGIN SELECT RAISE(ROLLBACK, 'rb'); END;
|
|
ROLLBACK TRANSACTION TO SAVEPOINT sp5958;
|
|
RELEASE SAVEPOINT sp5958;
|
|
UPDATE abc SET a = NULL WHERE a IS NOT NULL RETURNING *;
|
|
DROP VIEW IF EXISTS abc;
|
|
DELETE FROM t1 WHERE rowid = 76;
|
|
|
|
SELECT COUNT(*) FROM t1;
|
|
UPDATE T SET A = NULL WHERE 1;
|
|
ALTER TABLE T RENAME TO T_r3110;
|
|
INSERT INTO t1 VALUES (NULL, NULL, NULL, NULL);
|
|
ALTER TABLE abc DROP COLUMN a;
|
|
CREATE TRIGGER IF NOT EXISTS trg_abc_1503 BEFORE UPDATE OF a ON abc FOR EACH ROW BEGIN SELECT RAISE(FAIL, 'no'); END;
|
|
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;
|
|
CREATE UNIQUE INDEX IF NOT EXISTS idx_abc_3299 ON abc(lower(b)) WHERE b IS NOT NULL;
|
|
WITH cte AS (SELECT "123" AS x) SELECT x + 0 FROM cte;
|
|
INSERT INTO T SELECT * FROM T;
|
|
CREATE TRIGGER IF NOT EXISTS trg_abc_3167 BEFORE UPDATE OF c ON abc FOR EACH ROW BEGIN INSERT INTO abc(c) VALUES (NULL); END;
|
|
SELECT STRING_AGG(C) FROM T;
|
|
INSERT OR IGNORE INTO abc VALUES (NULL, 9, 'x');
|
|
|
|
SELECT COUNT(*) FROM t1;
|
|
SELECT * 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 T;
|
|
|
|
SELECT COUNT(*) FROM t1;
|
|
INSERT OR IGNORE INTO t1 VALUES (3, '', 0, -10);
|
|
CREATE VIEW IF NOT EXISTS v_T_8516 AS SELECT C FROM T;
|
|
CREATE TEMP VIEW IF NOT EXISTS v_t1_5754 AS SELECT b FROM t1;
|
|
|
|
SELECT COUNT(*) FROM T;
|
|
DROP TRIGGER IF EXISTS t1;
|
|
SELECT * FROM t1 AS a FULL OUTER JOIN T AS b ON a.rowid = b.rowid;
|
|
SELECT * FROM T WHERE B IN (SELECT B FROM T LIMIT 0);
|
|
DETACH DATABASE aux15;
|
|
WITH cte AS (SELECT * FROM abc LIMIT 1) DELETE FROM abc WHERE a IN (SELECT a FROM cte) AND 1=0;
|
|
WITH RECURSIVE vals(x) AS (SELECT C FROM T WHERE C IS NOT NULL UNION ALL SELECT C FROM T WHERE C IS NOT NULL LIMIT 10) SELECT * FROM vals;
|
|
ALTER TABLE t1 RENAME COLUMN c TO c_r3776;
|
|
DETACH DATABASE aux79;
|
|
SELECT * FROM T t1 RIGHT JOIN T t2 ON t1.A = (SELECT A FROM T WHERE A = t1.A);
|
|
INSERT OR ABORT INTO T VALUES ('x', 0, NULL);
|
|
SELECT GROUP_CONCAT(c, '.') OVER (PARTITION BY c ORDER BY c ROWS BETWEEN 2 PRECEDING AND 2 FOLLOWING EXCLUDE CURRENT ROW) FROM t1;
|
|
ATTACH DATABASE ':memory:' AS aux79;
|
|
ATTACH DATABASE ':memory:' AS aux15;
|
|
.print https://yewtu.be/watch?v=dQw4w9WgXcQ
|
|
PRAGMA vdbe_listing = 2147483648;
|
|
PRAGMA short_column_names = YES;
|
|
SAVEPOINT sp5958;
|
|
CREATE TABLE t1(a INTEGER PRIMARY KEY, b TEXT, c INT, d INT);
|
|
INSERT INTO t1 VALUES (concat(1, 1, 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;
|
|
create TABLE main.abc(a, b, c, PRIMARY KEY(a, b));
|
|
CREATE TABLE T (
|
|
a INTEGER,
|
|
b TEXT,
|
|
c REAL,
|
|
d REAL
|
|
);
|
|
INSERT INTO T VALUES (json_valid(1, 4),'a',40.5,-70.0), (2,'b',-10.25,20.5), (3,'c',9e999,-9e999);
|
|
CREATE TABLE T (
|
|
A VARCHAR(10) PRIMARY KEY,
|
|
B VARCHAR(15) NOT NULL,
|
|
C DOUBLE PRECISION
|
|
);
|
|
INSERT INTO T VALUES ('a', 'p', -1.7976931348623157e+308);
|
|
INSERT INTO T VALUES ('b', 'q', -0.000000001);
|
|
INSERT INTO T VALUES ('c', 'r', 0.0);
|
|
INSERT INTO T VALUES ('d', 's', 3.14159265358979);
|
|
INSERT INTO T VALUES ('e', 't', 1.7976931348623157e+308);
|
|
INSERT INTO T VALUES ('f', 't', 750.25);
|
|
SELECT B, AVG(C) AS D, MIN(C) AS E, MAX(C) AS F FROM T GROUP BY B;
|
|
SELECT b FROM T WHERE NOT NOT (ABS(c) > 5 OR ABS(d) > 5) ;
|
|
INSERT INTO abc VALUES(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;
|
|
ALTER TABLE T RENAME TO T_r2547;
|
|
SELECT b, (SELECT AVG(b) FROM abc) AS avg_val FROM abc;
|
|
INSERT INTO T VALUES (NULL, NULL, NULL, NULL);
|
|
SELECT AVG(B) FROM T;
|
|
SELECT * FROM t1 WHERE c < ANY (SELECT c FROM t1);
|
|
|
|
SELECT COUNT(*) FROM T;
|
|
CREATE TRIGGER IF NOT EXISTS trg_t1_7090 AFTER INSERT ON t1 BEGIN SELECT RAISE(ROLLBACK, 'rb'); END;
|
|
ROLLBACK TRANSACTION TO SAVEPOINT sp5958;
|
|
RELEASE SAVEPOINT sp5958;
|
|
UPDATE abc SET a = NULL WHERE a IS NOT NULL RETURNING *;
|
|
DROP VIEW IF EXISTS abc;
|
|
DELETE FROM t1 WHERE rowid = 76;
|
|
|
|
SELECT COUNT(*) FROM t1;
|
|
UPDATE T SET A = NULL WHERE 1;
|
|
ALTER TABLE T RENAME TO T_r3110;
|
|
INSERT INTO t1 VALUES (NULL, NULL, NULL, NULL);
|
|
ALTER TABLE abc DROP COLUMN a;
|
|
CREATE TRIGGER IF NOT EXISTS trg_abc_1503 BEFORE UPDATE OF a ON abc FOR EACH ROW BEGIN SELECT RAISE(FAIL, 'no'); END;
|
|
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;
|
|
CREATE UNIQUE INDEX IF NOT EXISTS idx_abc_3299 ON abc(lower(b)) WHERE b IS NOT NULL;
|
|
WITH cte AS (SELECT "123" AS x) SELECT x + 0 FROM cte;
|
|
INSERT INTO T SELECT * FROM T;
|
|
CREATE TRIGGER IF NOT EXISTS trg_abc_3167 BEFORE UPDATE OF c ON abc FOR EACH ROW BEGIN INSERT INTO abc(c) VALUES (NULL); END;
|
|
SELECT STRING_AGG(C) FROM T;
|
|
INSERT OR IGNORE INTO abc VALUES (NULL, 9, 'x');
|
|
|
|
SELECT COUNT(*) FROM t1;
|
|
SELECT * 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 T;
|
|
|
|
SELECT COUNT(*) FROM t1;
|
|
INSERT OR IGNORE INTO t1 VALUES (3, '', 0, -10);
|
|
CREATE VIEW IF NOT EXISTS v_T_8516 AS SELECT C FROM T;
|
|
CREATE TEMP VIEW IF NOT EXISTS v_t1_5754 AS SELECT b FROM t1;
|
|
|
|
SELECT COUNT(*) FROM T;
|
|
DROP TRIGGER IF EXISTS t1;
|
|
SELECT * FROM t1 AS a FULL OUTER JOIN T AS b ON a.rowid = b.rowid;
|
|
SELECT * FROM T WHERE B IN (SELECT B FROM T LIMIT 0);
|
|
DETACH DATABASE aux15;
|
|
WITH cte AS (SELECT * FROM abc LIMIT 1) DELETE FROM abc WHERE a IN (SELECT a FROM cte) AND 1=0;
|
|
WITH RECURSIVE vals(x) AS (SELECT C FROM T WHERE C IS NOT NULL UNION ALL SELECT C FROM T WHERE C IS NOT NULL LIMIT 10) SELECT * FROM vals;
|
|
ALTER TABLE t1 RENAME COLUMN c TO c_r3776;
|
|
DETACH DATABASE aux79;
|
|
SELECT * FROM T t1 RIGHT JOIN T t2 ON t1.A = (SELECT A FROM T WHERE A = t1.A);
|
|
INSERT OR ABORT INTO T VALUES ('x', 0, NULL);
|
|
SELECT GROUP_CONCAT(c, '.') OVER (PARTITION BY c ORDER BY c ROWS BETWEEN 2 PRECEDING AND 2 FOLLOWING EXCLUDE CURRENT ROW) FROM t1;
|
|
ATTACH DATABASE ':memory:' AS aux79;
|
|
ATTACH DATABASE ':memory:' AS aux15;
|
|
.print https://yewtu.be/watch?v=dQw4w9WgXcQ
|
|
PRAGMA vdbe_listing = 2147483648;
|
|
PRAGMA short_column_names = YES;
|
|
SAVEPOINT sp5958;
|
|
CREATE TABLE t1(a INTEGER PRIMARY KEY, b TEXT, c INT, d INT);
|
|
INSERT INTO t1 VALUES (concat(1, 1, 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;
|
|
create TABLE main.abc(a, b, c, PRIMARY KEY(a, b));
|
|
CREATE TABLE T (
|
|
a INTEGER,
|
|
b TEXT,
|
|
c REAL,
|
|
d REAL
|
|
);
|
|
INSERT INTO T VALUES (json_valid(1, 4),'a',40.5,-70.0), (2,'b',-10.25,20.5), (3,'c',9e999,-9e999);
|
|
CREATE TABLE T (
|
|
A VARCHAR(10) PRIMARY KEY,
|
|
B VARCHAR(15) NOT NULL,
|
|
C DOUBLE PRECISION
|
|
);
|
|
INSERT INTO T VALUES ('a', 'p', -1.7976931348623157e+308);
|
|
INSERT INTO T VALUES ('b', 'q', -0.000000001);
|
|
INSERT INTO T VALUES ('c', 'r', 0.0);
|
|
INSERT INTO T VALUES ('d', 's', 3.14159265358979);
|
|
INSERT INTO T VALUES ('e', 't', 1.7976931348623157e+308);
|
|
INSERT INTO T VALUES ('f', 't', 750.25);
|
|
SELECT B, AVG(C) AS D, MIN(C) AS E, MAX(C) AS F FROM T GROUP BY B;
|
|
SELECT b FROM T WHERE NOT NOT (ABS(c) > 5 OR ABS(d) > 5) ;
|
|
INSERT INTO abc VALUES(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;
|
|
ALTER TABLE T RENAME TO T_r2547;
|
|
SELECT b, (SELECT AVG(b) FROM abc) AS avg_val FROM abc;
|
|
INSERT INTO T VALUES (NULL, NULL, NULL, NULL);
|
|
SELECT AVG(B) FROM T;
|
|
SELECT * FROM t1 WHERE c < ANY (SELECT c FROM t1);
|
|
|
|
SELECT COUNT(*) FROM T;
|
|
CREATE TRIGGER IF NOT EXISTS trg_t1_7090 AFTER INSERT ON t1 BEGIN SELECT RAISE(ROLLBACK, 'rb'); END;
|
|
ROLLBACK TRANSACTION TO SAVEPOINT sp5958;
|
|
RELEASE SAVEPOINT sp5958;
|
|
UPDATE abc SET a = NULL WHERE a IS NOT NULL RETURNING *;
|
|
DROP VIEW IF EXISTS abc;
|
|
DELETE FROM t1 WHERE rowid = 76;
|
|
|
|
SELECT COUNT(*) FROM t1;
|
|
UPDATE T SET A = NULL WHERE 1;
|
|
ALTER TABLE T RENAME TO T_r3110;
|
|
INSERT INTO t1 VALUES (NULL, NULL, NULL, NULL);
|
|
ALTER TABLE abc DROP COLUMN a;
|
|
CREATE TRIGGER IF NOT EXISTS trg_abc_1503 BEFORE UPDATE OF a ON abc FOR EACH ROW BEGIN SELECT RAISE(FAIL, 'no'); END;
|
|
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;
|
|
CREATE UNIQUE INDEX IF NOT EXISTS idx_abc_3299 ON abc(lower(b)) WHERE b IS NOT NULL;
|
|
WITH cte AS (SELECT "123" AS x) SELECT x + 0 FROM cte;
|
|
INSERT INTO T SELECT * FROM T;
|
|
CREATE TRIGGER IF NOT EXISTS trg_abc_3167 BEFORE UPDATE OF c ON abc FOR EACH ROW BEGIN INSERT INTO abc(c) VALUES (NULL); END;
|
|
SELECT STRING_AGG(C) FROM T;
|
|
INSERT OR IGNORE INTO abc VALUES (NULL, 9, 'x');
|
|
|
|
SELECT COUNT(*) FROM t1;
|
|
SELECT * 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 T;
|
|
|
|
SELECT COUNT(*) FROM t1;
|
|
INSERT OR IGNORE INTO t1 VALUES (3, '', 0, -10);
|
|
CREATE VIEW IF NOT EXISTS v_T_8516 AS SELECT C FROM T;
|
|
CREATE TEMP VIEW IF NOT EXISTS v_t1_5754 AS SELECT b FROM t1;
|
|
|
|
SELECT COUNT(*) FROM T;
|
|
DROP TRIGGER IF EXISTS t1;
|
|
SELECT * FROM t1 AS a FULL OUTER JOIN T AS b ON a.rowid = b.rowid;
|
|
SELECT * FROM T WHERE B IN (SELECT B FROM T LIMIT 0);
|
|
DETACH DATABASE aux15;
|
|
WITH cte AS (SELECT * FROM abc LIMIT 1) DELETE FROM abc WHERE a IN (SELECT a FROM cte) AND 1=0;
|
|
WITH RECURSIVE vals(x) AS (SELECT C FROM T WHERE C IS NOT NULL UNION ALL SELECT C FROM T WHERE C IS NOT NULL LIMIT 10) SELECT * FROM vals;
|
|
ALTER TABLE t1 RENAME COLUMN c TO c_r3776;
|
|
DETACH DATABASE aux79;
|
|
SELECT * FROM T t1 RIGHT JOIN T t2 ON t1.A = (SELECT A FROM T WHERE A = t1.A);
|
|
INSERT OR ABORT INTO T VALUES ('x', 0, NULL);
|
|
SELECT GROUP_CONCAT(c, '.') OVER (PARTITION BY c ORDER BY c ROWS BETWEEN 2 PRECEDING AND 2 FOLLOWING EXCLUDE CURRENT ROW) FROM t1;
|
|
ATTACH DATABASE ':memory:' AS aux79;
|
|
ATTACH DATABASE ':memory:' AS aux15;
|
|
.print https://yewtu.be/watch?v=dQw4w9WgXcQ
|
|
PRAGMA vdbe_listing = 2147483648;
|
|
PRAGMA short_column_names = YES;
|
|
SAVEPOINT sp5958;
|
|
CREATE TABLE t1(a INTEGER PRIMARY KEY, b TEXT, c INT, d INT);
|
|
INSERT INTO t1 VALUES (concat(1, 1, 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;
|
|
create TABLE main.abc(a, b, c, PRIMARY KEY(a, b));
|
|
CREATE TABLE T (
|
|
a INTEGER,
|
|
b TEXT,
|
|
c REAL,
|
|
d REAL
|
|
);
|
|
INSERT INTO T VALUES (json_valid(1, 4),'a',40.5,-70.0), (2,'b',-10.25,20.5), (3,'c',9e999,-9e999);
|
|
CREATE TABLE T (
|
|
A VARCHAR(10) PRIMARY KEY,
|
|
B VARCHAR(15) NOT NULL,
|
|
C DOUBLE PRECISION
|
|
);
|
|
INSERT INTO T VALUES ('a', 'p', -1.7976931348623157e+308);
|
|
INSERT INTO T VALUES ('b', 'q', -0.000000001);
|
|
INSERT INTO T VALUES ('c', 'r', 0.0);
|
|
INSERT INTO T VALUES ('d', 's', 3.14159265358979);
|
|
INSERT INTO T VALUES ('e', 't', 1.7976931348623157e+308);
|
|
INSERT INTO T VALUES ('f', 't', 750.25);
|
|
SELECT B, AVG(C) AS D, MIN(C) AS E, MAX(C) AS F FROM T GROUP BY B;
|
|
SELECT b FROM T WHERE NOT NOT (ABS(c) > 5 OR ABS(d) > 5) ;
|
|
INSERT INTO abc VALUES(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;
|
|
ALTER TABLE T RENAME TO T_r2547;
|
|
SELECT b, (SELECT AVG(b) FROM abc) AS avg_val FROM abc;
|
|
INSERT INTO T VALUES (NULL, NULL, NULL, NULL);
|
|
SELECT AVG(B) FROM T;
|
|
SELECT * FROM t1 WHERE c < ANY (SELECT c FROM t1);
|
|
|
|
SELECT COUNT(*) FROM T;
|
|
CREATE TRIGGER IF NOT EXISTS trg_t1_7090 AFTER INSERT ON t1 BEGIN SELECT RAISE(ROLLBACK, 'rb'); END;
|
|
ROLLBACK TRANSACTION TO SAVEPOINT sp5958;
|
|
RELEASE SAVEPOINT sp5958;
|
|
UPDATE abc SET a = NULL WHERE a IS NOT NULL RETURNING *;
|
|
DROP VIEW IF EXISTS abc;
|
|
DELETE FROM t1 WHERE rowid = 76;
|
|
|
|
SELECT COUNT(*) FROM t1;
|
|
UPDATE T SET A = NULL WHERE 1;
|
|
ALTER TABLE T RENAME TO T_r3110;
|
|
INSERT INTO t1 VALUES (NULL, NULL, NULL, NULL);
|
|
ALTER TABLE abc DROP COLUMN a;
|
|
CREATE TRIGGER IF NOT EXISTS trg_abc_1503 BEFORE UPDATE OF a ON abc FOR EACH ROW BEGIN SELECT RAISE(FAIL, 'no'); END;
|
|
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;
|
|
CREATE UNIQUE INDEX IF NOT EXISTS idx_abc_3299 ON abc(lower(b)) WHERE b IS NOT NULL;
|
|
WITH cte AS (SELECT "123" AS x) SELECT x + 0 FROM cte;
|
|
INSERT INTO T SELECT * FROM T;
|
|
CREATE TRIGGER IF NOT EXISTS trg_abc_3167 BEFORE UPDATE OF c ON abc FOR EACH ROW BEGIN INSERT INTO abc(c) VALUES (NULL); END;
|
|
SELECT STRING_AGG(C) FROM T;
|
|
INSERT OR IGNORE INTO abc VALUES (NULL, 9, 'x');
|
|
|
|
SELECT COUNT(*) FROM t1;
|
|
SELECT * 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 T;
|
|
|
|
SELECT COUNT(*) FROM t1;
|
|
INSERT OR IGNORE INTO t1 VALUES (3, '', 0, -10);
|
|
CREATE VIEW IF NOT EXISTS v_T_8516 AS SELECT C FROM T;
|
|
CREATE TEMP VIEW IF NOT EXISTS v_t1_5754 AS SELECT b FROM t1;
|
|
|
|
SELECT COUNT(*) FROM T;
|
|
DROP TRIGGER IF EXISTS t1;
|
|
SELECT * FROM t1 AS a FULL OUTER JOIN T AS b ON a.rowid = b.rowid;
|
|
SELECT * FROM T WHERE B IN (SELECT B FROM T LIMIT 0);
|
|
DETACH DATABASE aux15;
|
|
WITH cte AS (SELECT * FROM abc LIMIT 1) DELETE FROM abc WHERE a IN (SELECT a FROM cte) AND 1=0;
|
|
WITH RECURSIVE vals(x) AS (SELECT C FROM T WHERE C IS NOT NULL UNION ALL SELECT C FROM T WHERE C IS NOT NULL LIMIT 10) SELECT * FROM vals;
|
|
ALTER TABLE t1 RENAME COLUMN c TO c_r3776;
|
|
DETACH DATABASE aux79;
|
|
SELECT * FROM T t1 RIGHT JOIN T t2 ON t1.A = (SELECT A FROM T WHERE A = t1.A);
|
|
INSERT OR ABORT INTO T VALUES ('x', 0, NULL);
|
|
SELECT GROUP_CONCAT(c, '.') OVER (PARTITION BY c ORDER BY c ROWS BETWEEN 2 PRECEDING AND 2 FOLLOWING EXCLUDE CURRENT ROW) FROM t1;
|
|
ATTACH DATABASE ':memory:' AS aux79;
|
|
ATTACH DATABASE ':memory:' AS aux15;
|
|
.print https://yewtu.be/watch?v=dQw4w9WgXcQ
|
|
PRAGMA vdbe_listing = 2147483648;
|
|
PRAGMA short_column_names = YES;
|
|
SAVEPOINT sp5958;
|
|
CREATE TABLE t1(a INTEGER PRIMARY KEY, b TEXT, c INT, d INT);
|
|
INSERT INTO t1 VALUES (concat(1, 1, 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;
|
|
create TABLE main.abc(a, b, c, PRIMARY KEY(a, b));
|
|
CREATE TABLE T (
|
|
a INTEGER,
|
|
b TEXT,
|
|
c REAL,
|
|
d REAL
|
|
);
|
|
INSERT INTO T VALUES (json_valid(1, 4),'a',40.5,-70.0), (2,'b',-10.25,20.5), (3,'c',9e999,-9e999);
|
|
CREATE TABLE T (
|
|
A VARCHAR(10) PRIMARY KEY,
|
|
B VARCHAR(15) NOT NULL,
|
|
C DOUBLE PRECISION
|
|
);
|
|
INSERT INTO T VALUES ('a', 'p', -1.7976931348623157e+308);
|
|
INSERT INTO T VALUES ('b', 'q', -0.000000001);
|
|
INSERT INTO T VALUES ('c', 'r', 0.0);
|
|
INSERT INTO T VALUES ('d', 's', 3.14159265358979);
|
|
INSERT INTO T VALUES ('e', 't', 1.7976931348623157e+308);
|
|
INSERT INTO T VALUES ('f', 't', 750.25);
|
|
SELECT B, AVG(C) AS D, MIN(C) AS E, MAX(C) AS F FROM T GROUP BY B;
|
|
SELECT b FROM T WHERE NOT NOT (ABS(c) > 5 OR ABS(d) > 5) ;
|
|
INSERT INTO abc VALUES(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;
|
|
ALTER TABLE T RENAME TO T_r2547;
|
|
SELECT b, (SELECT AVG(b) FROM abc) AS avg_val FROM abc;
|
|
INSERT INTO T VALUES (NULL, NULL, NULL, NULL);
|
|
SELECT AVG(B) FROM T;
|
|
SELECT * FROM t1 WHERE c < ANY (SELECT c FROM t1);
|
|
|
|
SELECT COUNT(*) FROM T;
|
|
CREATE TRIGGER IF NOT EXISTS trg_t1_7090 AFTER INSERT ON t1 BEGIN SELECT RAISE(ROLLBACK, 'rb'); END;
|
|
ROLLBACK TRANSACTION TO SAVEPOINT sp5958;
|
|
RELEASE SAVEPOINT sp5958;
|
|
UPDATE abc SET a = NULL WHERE a IS NOT NULL RETURNING *;
|
|
DROP VIEW IF EXISTS abc;
|
|
DELETE FROM t1 WHERE rowid = 76;
|
|
|
|
SELECT COUNT(*) FROM t1;
|
|
UPDATE T SET A = NULL WHERE 1;
|
|
ALTER TABLE T RENAME TO T_r3110;
|
|
INSERT INTO t1 VALUES (NULL, NULL, NULL, NULL);
|
|
ALTER TABLE abc DROP COLUMN a;
|
|
CREATE TRIGGER IF NOT EXISTS trg_abc_1503 BEFORE UPDATE OF a ON abc FOR EACH ROW BEGIN SELECT RAISE(FAIL, 'no'); END;
|
|
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;
|
|
CREATE UNIQUE INDEX IF NOT EXISTS idx_abc_3299 ON abc(lower(b)) WHERE b IS NOT NULL;
|
|
WITH cte AS (SELECT "123" AS x) SELECT x + 0 FROM cte;
|
|
INSERT INTO T SELECT * FROM T;
|
|
CREATE TRIGGER IF NOT EXISTS trg_abc_3167 BEFORE UPDATE OF c ON abc FOR EACH ROW BEGIN INSERT INTO abc(c) VALUES (NULL); END;
|
|
SELECT STRING_AGG(C) FROM T;
|
|
INSERT OR IGNORE INTO abc VALUES (NULL, 9, 'x');
|
|
|
|
SELECT COUNT(*) FROM t1;
|
|
SELECT * 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 T;
|
|
|
|
SELECT COUNT(*) FROM t1;
|
|
INSERT OR IGNORE INTO t1 VALUES (3, '', 0, -10);
|
|
CREATE VIEW IF NOT EXISTS v_T_8516 AS SELECT C FROM T;
|
|
CREATE TEMP VIEW IF NOT EXISTS v_t1_5754 AS SELECT b FROM t1;
|
|
|
|
SELECT COUNT(*) FROM T;
|
|
DROP TRIGGER IF EXISTS t1;
|
|
SELECT * FROM t1 AS a FULL OUTER JOIN T AS b ON a.rowid = b.rowid;
|
|
SELECT * FROM T WHERE B IN (SELECT B FROM T LIMIT 0);
|
|
DETACH DATABASE aux15;
|
|
WITH cte AS (SELECT * FROM abc LIMIT 1) DELETE FROM abc WHERE a IN (SELECT a FROM cte) AND 1=0;
|
|
WITH RECURSIVE vals(x) AS (SELECT C FROM T WHERE C IS NOT NULL UNION ALL SELECT C FROM T WHERE C IS NOT NULL LIMIT 10) SELECT * FROM vals;
|
|
ALTER TABLE t1 RENAME COLUMN c TO c_r3776;
|
|
DETACH DATABASE aux79;
|
|
SELECT * FROM T t1 RIGHT JOIN T t2 ON t1.A = (SELECT A FROM T WHERE A = t1.A);
|
|
INSERT OR ABORT INTO T VALUES ('x', 0, NULL);
|
|
SELECT GROUP_CONCAT(c, '.') OVER (PARTITION BY c ORDER BY c ROWS BETWEEN 2 PRECEDING AND 2 FOLLOWING EXCLUDE CURRENT ROW) FROM t1;
|
|
|
|
SELECT * FROM T t1 JOIN (SELECT * FROM T) AS sub ON t1.B = sub.B;
|
|
|
|
SELECT COUNT(*) FROM T;
|
|
PRAGMA vdbe_trace = OFF;
|
|
DETACH DATABASE aux57;
|
|
ALTER TABLE T RENAME COLUMN B TO B_r974;
|
|
SELECT * FROM T t1 JOIN (SELECT * FROM T) AS sub ON t1.A = sub.A;
|
|
SELECT c, (SELECT c FROM abc LIMIT 1) AS first_val FROM abc;
|
|
INSERT INTO t1 VALUES (1, 1, 'x', 1) ON CONFLICT(a) DO UPDATE SET a = excluded.a, b = excluded.b, c = excluded.c;
|
|
WITH cte AS (SELECT c, COUNT(*) AS cnt FROM t1 GROUP BY c) SELECT * FROM cte;
|
|
UPDATE T SET C = NULL RETURNING *;
|
|
SELECT RANK() OVER (ORDER BY a RANGE BETWEEN 1 PRECEDING AND 1 FOLLOWING) FROM t1;
|
|
VACUUM;
|
|
WITH cte AS (SELECT * FROM abc), cte2 AS (SELECT * FROM cte) SELECT * FROM cte2;
|
|
SELECT * FROM t1 AS a LEFT OUTER JOIN abc AS b ON a.rowid = b.rowid;
|
|
SELECT MIN(C) FROM T;
|
|
INSERT INTO T VALUES ('x', 'x', 1) ON CONFLICT(A) DO UPDATE SET A = excluded.A, B = excluded.B, C = excluded.C;
|
|
INSERT INTO t1 VALUES ('x', 'x', NULL, 'x') ON CONFLICT(a) DO UPDATE SET a = excluded.a, b = excluded.b, c = excluded.c;
|
|
VACUUM;
|
|
SELECT * FROM abc WHERE b < ANY (SELECT b FROM abc);
|
|
ROLLBACK TRANSACTION TO SAVEPOINT sp2410;
|
|
RELEASE SAVEPOINT sp2410;
|
|
CREATE VIEW IF NOT EXISTS v_abc_7604 AS SELECT b FROM abc;
|
|
PRAGMA vdbe_trace = ON;
|
|
CREATE TRIGGER IF NOT EXISTS trg_t1_913 BEFORE UPDATE ON t1 FOR EACH ROW BEGIN SELECT RAISE(IGNORE); END;
|
|
ALTER TABLE abc RENAME COLUMN a TO a_r6922;
|
|
DELETE FROM t1 WHERE 1;
|
|
DELETE FROM abc WHERE c IS NULL RETURNING *;
|
|
ALTER TABLE t1 DROP COLUMN c;
|
|
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
|
|
UPDATE abc SET c = NULL WHERE 1 RETURNING *;
|
|
REINDEX T;
|
|
DROP TRIGGER IF EXISTS T;
|
|
ALTER TABLE T ADD COLUMN extra_2614 MEDIUMINT COLLATE NOCASE;
|
|
REINDEX T;
|
|
CREATE UNIQUE INDEX IF NOT EXISTS idx_t1_2917 ON t1(lower(d)) WHERE d IS NOT NULL;
|
|
SELECT LAG(d) OVER (ORDER BY d ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW EXCLUDE TIES) FROM t1;
|
|
INSERT INTO abc DEFAULT VALUES;
|
|
WITH cte AS (SELECT 1.5 AS x) SELECT CAST(x AS TEXT) FROM cte;
|
|
VACUUM;
|
|
```
|
|
|
|
## Actual output
|
|
|
|
```sql
|
|
c|1700
|
|
b|4000
|
|
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
|
|
c|1700
|
|
b|4000
|
|
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
|
|
|
|
```
|
|
|
|
```
|
|
|