113 lines
3.7 KiB
Markdown
113 lines
3.7 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
|
|
.timer 192319231923
|
|
CREATE TABLE T (
|
|
A VARCHAR(6.283185307179586),
|
|
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;
|
|
PRAGMA vdbe_trace = OFF;
|
|
SAVEPOINT sp8234;
|
|
PRAGMA writable_schema = NO;
|
|
.exit -x'03bbd57489fa9462044f729a39'
|
|
SELECT x'dd97ef423045a84836eda2'x0ACB29BM205381;
|
|
SELECT sqlite_compileoption_used('' || ('æçå¤©ä½ æ¯æä¹äº'));
|
|
SELECT tan(1) >> -999999999999999999999999999;
|
|
SELECT sqlite_compileoption_get($1);
|
|
SELECT sqlite_version();
|
|
PRAGMA full_column_names;
|
|
PRAGMA cache_spill = FALSE;
|
|
PRAGMA cache_spill = YES;
|
|
.import random-json.db main
|
|
CREATE TABLE A(Name text);
|
|
CREATE TABLE Items(ItemName text , Name text);
|
|
INSERT INTO Items VALUES('Item1','Parent');
|
|
INSERT INTO Items VALUES('Item2','Parent');
|
|
CREATE TABLE B(Name text);
|
|
SELECT Items.ItemName FROM Items LEFT JOIN A ON (A.Name = Items.ItemName and Items.ItemName = 'dummy') LEFT JOIN B ON (B.Name = Items.ItemName) WHERE NOT Items.Name = 'Parent' ORDER BY Items.ItemName;
|
|
|
|
CREATE UNIQUE INDEX IF NOT EXISTS idx_B_4512 ON B(Name COLLATE NOCASE);
|
|
ALTER TABLE Items RENAME COLUMN ItemName TO ItemName_r8638;
|
|
|
|
SELECT COUNT(*) FROM Items;
|
|
REINDEX;
|
|
ALTER TABLE Items DROP COLUMN ItemName;
|
|
INSERT INTO B DEFAULT VALUES;
|
|
ROLLBACK TO sp8234;
|
|
RELEASE sp8234;
|
|
SELECT * FROM B WHERE Name IN (SELECT Name FROM B LIMIT 0);
|
|
CREATE TRIGGER IF NOT EXISTS trg_B_4400 BEFORE UPDATE OF Name ON B BEGIN SELECT RAISE(ROLLBACK, 'rb'); END;
|
|
ANALYZE A;
|
|
SELECT * FROM A WHERE (Name, Name) IN (SELECT Name, Name FROM A);
|
|
ALTER TABLE Items RENAME TO Items_r8580;
|
|
SELECT GROUP_CONCAT(Name, Name) OVER (PARTITION BY Name ORDER BY Name ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) FROM B;
|
|
UPDATE B SET Name = 84 WHERE Name BETWEEN 0 AND 100;
|
|
UPDATE B SET Name = json_object('k', Name) WHERE Name IS NOT NULL;
|
|
SELECT * FROM Items AS a JOIN Items AS b ON a.rowid = b.rowid;
|
|
INSERT INTO A VALUES (1) ON CONFLICT(Name) DO UPDATE SET Name = excluded.Name;
|
|
ALTER TABLE A RENAME COLUMN Name TO Name_r3639;
|
|
DELETE FROM A WHERE 1 RETURNING *;
|
|
INSERT INTO A DEFAULT VALUES;
|
|
SELECT * FROM B;
|
|
REINDEX B;
|
|
CREATE TEMP VIEW IF NOT EXISTS v_B_3829 AS SELECT Name FROM B;
|
|
```
|
|
|
|
## Actual output
|
|
|
|
```sql
|
|
Run Time: real 0.000 user 0.000314 sys 0.000000
|
|
Run Time: real 0.000 user 0.000025 sys 0.000000
|
|
Run Time: real 0.000 user 0.000012 sys 0.000000
|
|
Run Time: real 0.000 user 0.000010 sys 0.000000
|
|
Run Time: real 0.001 user 0.000009 sys 0.000000
|
|
Run Time: real 0.000 user 0.000009 sys 0.000000
|
|
Run Time: real 0.000 user 0.000010 sys 0.000000
|
|
q|2
|
|
r|2
|
|
p|1
|
|
t|1
|
|
Run Time: real 0.000 user 0.000126 sys 0.000000
|
|
Run Time: real 0.000 user 0.000007 sys 0.000000
|
|
Run Time: real 0.000 user 0.000004 sys 0.000000
|
|
Run Time: real 0.000 user 0.000004 sys 0.000000
|
|
```
|
|
|
|
## Expectation
|
|
|
|
```sql
|
|
Run Time: real 0.000125 user 0.000000 sys 0.000134
|
|
Run Time: real 0.000012 user 0.000000 sys 0.000012
|
|
Run Time: real 0.000005 user 0.000000 sys 0.000006
|
|
Run Time: real 0.000004 user 0.000000 sys 0.000004
|
|
Run Time: real 0.000003 user 0.000000 sys 0.000003
|
|
Run Time: real 0.000003 user 0.000000 sys 0.000004
|
|
Run Time: real 0.000003 user 0.000000 sys 0.000004
|
|
q|2
|
|
r|2
|
|
p|1
|
|
t|1
|
|
Run Time: real 0.000070 user 0.000000 sys 0.000070
|
|
Run Time: real 0.000003 user 0.000000 sys 0.000004
|
|
Run Time: real 0.000001 user 0.000000 sys 0.000002
|
|
Run Time: real 0.000002 user 0.000000 sys 0.000003
|
|
```
|
|
|
|
## Flag
|
|
|
|
```
|
|
|
|
```
|
|
|