106 lines
3.0 KiB
Markdown
106 lines
3.0 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
|
|
PRAGMA synchronous = 'OFF';
|
|
PRAGMA vdbe_addoptrace = FALSE;
|
|
ATTACH DATABASE ':memory:' AS aux56;
|
|
.timer on
|
|
ATTACH DATABASE ':memory:' AS aux23;
|
|
.check
|
|
.save
|
|
ATTACH DATABASE ':memory:' AS aux73;
|
|
PRAGMA full_column_names = FALSE;
|
|
PRAGMA secure_delete = OFF;
|
|
PRAGMA vdbe_debug = if(NULL, json_remove(substr(json_each(2147483648 -> '$[0]', '$.arr'), 100), '$'));
|
|
.save
|
|
CREATE TABLE "t3893"("x");
|
|
INSERT INTO `t3893` VALUES(123);
|
|
SELECT "y"."x" FROM (SELECT "x" FROM "t3893") AS "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);
|
|
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;
|
|
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;
|
|
ALTER TABLE T RENAME TO T_r7974;
|
|
DETACH DATABASE aux73;
|
|
INSERT INTO t3893 SELECT * FROM t3893;
|
|
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;
|
|
ALTER TABLE T RENAME TO T_r6820;
|
|
SELECT COUNT(*) FROM t3893;
|
|
DELETE FROM T WHERE 0;
|
|
DETACH DATABASE aux23;
|
|
CREATE INDEX IF NOT EXISTS idx_t3893_7578 ON t3893(x COLLATE NOCASE) WHERE x > 0;
|
|
SELECT TOTAL(x) FROM t3893;
|
|
DELETE FROM t3893 WHERE 0;
|
|
WITH RECURSIVE cte AS (SELECT x FROM t3893 UNION ALL SELECT x FROM cte LIMIT 1) SELECT * FROM cte;
|
|
SELECT COUNT(*) FROM t3893;
|
|
INSERT INTO T VALUES (NULL, NULL, NULL, NULL);
|
|
INSERT INTO t3893 SELECT * FROM t3893;
|
|
CREATE TRIGGER IF NOT EXISTS trg_T_1624 BEFORE INSERT ON T FOR EACH ROW BEGIN SELECT RAISE(IGNORE); END;
|
|
ANALYZE;
|
|
DETACH DATABASE aux56;
|
|
PRAGMA automatic_index = OFF;
|
|
CREATE TRIGGER IF NOT EXISTS trg_T_2306 AFTER DELETE ON T FOR EACH ROW BEGIN SELECT RAISE(ROLLBACK, 'rb'); END;
|
|
INSERT INTO T DEFAULT VALUES;
|
|
DROP VIEW IF EXISTS t3893;
|
|
INSERT INTO T VALUES (NULL, NULL);
|
|
INSERT INTO t3893 VALUES (NULL);
|
|
INSERT INTO t3893 SELECT * FROM t3893;
|
|
ALTER TABLE t3893 RENAME TO t3893_r680;
|
|
INSERT INTO t3893 VALUES (NULL) ON CONFLICT(x) DO UPDATE SET x = excluded.x;
|
|
SELECT MAX(b) FROM T;
|
|
UPDATE t3893 SET x = -92 WHERE x BETWEEN 0 /**/ AND 100;
|
|
WITH RECURSIVE cnt(x) AS (VALUES(1) UNION SELECT x+1 FROM cnt WHERE x<40) SELECT * FROM cnt;
|
|
DROP TABLE IF EXISTS t3893;
|
|
SELECT * FROM T CROSS JOIN t3893;
|
|
INSERT INTO t3893 SELECT * FROM t3893;
|
|
```
|
|
|
|
## Actual output
|
|
|
|
```sql
|
|
Run Time: real 0.000 user 0.000028 sys 0.000000
|
|
```
|
|
|
|
## Expectation
|
|
|
|
```sql
|
|
Run Time: real 0.000016 user 0.000000 sys 0.000034
|
|
```
|
|
|
|
## Flag
|
|
|
|
```
|
|
|
|
```
|
|
|