---
This commit is contained in:
@@ -0,0 +1,299 @@
|
||||
## 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;
|
||||
PRAGMA function_list;
|
||||
ATTACH DATABASE ':memory:' AS aux57;
|
||||
PRAGMA parser_trace = NO;
|
||||
ATTACH DATABASE ':memory:' AS aux99;
|
||||
.print
|
||||
BEGIN DEFERRED;
|
||||
CREATE TABLE T (
|
||||
a INTEGER,
|
||||
b REAL,
|
||||
c REAL
|
||||
);
|
||||
INSERT INTO T VALUES (jsonb_array(ifnull(sign(x'980a5244992c94686b082be96979'), timediff(8065975075446046358, 8065975075446046358))),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;
|
||||
SAVEPOINT sp9028;
|
||||
.width
|
||||
ATTACH DATABASE '' || (':memory:') AS aux68;
|
||||
CREATE TABLE t1(a INTEGER PRIMARY KEY, b TEXT, c INT, d
|
||||
INT);
|
||||
INSERT INTO t1 VALUES (NULL, 'Wernher', CAST(ltrim('xxxhelloxxx', 'x') AS TEXT), CAST(100 -> '$[0]' AS DOUB));
|
||||
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 INTEGER,
|
||||
b REAL
|
||||
);
|
||||
INSERT INTO T VALUES (1,1.5), (2,-7.25), /* PRAGMA vdbe_debug = FALSE; */ (3,0.0);
|
||||
SELECT a,b FROM T WHERE NOT NOT (a >= 2) ORDER BY b;
|
||||
ANALYZE T;
|
||||
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 OR b < 100), COUNT(*) FILTER (WHERE typeof(b) = "text") FROM T;
|
||||
DETACH DATABASE aux68;
|
||||
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 MIN(b) OVER (PARTITION BY b ORDER BY b ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) FROM t1;
|
||||
|
||||
SELECT COUNT(*) FROM t1;
|
||||
SELECT COUNT(*) OVER (ORDER BY a RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING EXCLUDE NO OTHERS) FROM t1;
|
||||
UPDATE t1 SET d = '' WHERE 1;
|
||||
INSERT OR ABORT INTO t1 VALUES (0, 0, NULL, 7);
|
||||
ROLLBACK TRANSACTION TO SAVEPOINT sp9028;
|
||||
RELEASE SAVEPOINT sp9028;
|
||||
REINDEX T;
|
||||
ALTER TABLE t1 DROP COLUMN b;
|
||||
SELECT * FROM t1 AS a INNER JOIN T AS b ON a.rowid = b.rowid;
|
||||
|
||||
SELECT COUNT(*) FROM T;
|
||||
SELECT SUM(b) FROM t1;
|
||||
|
||||
SELECT COUNT(*) FROM t1;
|
||||
SELECT STRING_AGG(b) FROM T;
|
||||
CREATE TEMPORARY VIEW IF NOT EXISTS v_T_495 AS SELECT a FROM T;
|
||||
END TRANSACTION;
|
||||
INSERT INTO t1 SELECT * FROM t1;
|
||||
DROP TABLE IF EXISTS t1;
|
||||
DELETE FROM T WHERE rowid = 75 RETURNING *;
|
||||
ALTER TABLE T ADD COLUMN extra_685 DECIMAL(10,5) NOT NULL DEFAULT 0;
|
||||
ALTER TABLE T ADD COLUMN extra_8806 TEXT COLLATE RTRIM;
|
||||
DETACH DATABASE aux99;
|
||||
PRAGMA journal_size_limit;
|
||||
SELECT * FROM T WHERE b = (SELECT MAX(b) FROM T WHERE b = (SELECT MAX(b) FROM T));
|
||||
CREATE UNIQUE INDEX IF NOT EXISTS idx_t1_2068 ON t1(b COLLATE NOCASE) WHERE b > 0;
|
||||
SELECT * FROM t1;
|
||||
ALTER TABLE T ADD COLUMN extra_4370 INT2 COLLATE RTRIM;
|
||||
VACUUM main;
|
||||
SELECT * FROM t1 WHERE d <= ANY (SELECT d FROM t1);
|
||||
ANALYZE T;
|
||||
DETACH DATABASE aux57;
|
||||
SELECT LEAD(b, 2) OVER (ORDER BY b RANGE BETWEEN 1 PRECEDING AND 1 FOLLOWING) FROM T;
|
||||
DROP VIEW IF EXISTS t1;
|
||||
SELECT * FROM T WHERE a IN (SELECT a FROM T t2 WHERE t2.a = T.a);
|
||||
WITH RECURSIVE fib(a,b) AS (VALUES(1,1) UNION ALL SELECT b, a+b FROM fib WHERE b<1000) SELECT a FROM fib;
|
||||
PRAGMA vdbe_trace = 1;
|
||||
CREATE UNIQUE INDEX IF NOT EXISTS idx_t1_5353 ON t1(d) WHERE d IS NOT NULL;
|
||||
ALTER TABLE t1 RENAME COLUMN d TO d_r4876;
|
||||
WITH cte AS (SELECT b FROM T INTERSECT SELECT b FROM T) SELECT * FROM cte;
|
||||
INSERT INTO t1 DEFAULT VALUES;
|
||||
```
|
||||
|
||||
## Actual output
|
||||
|
||||
```sql
|
||||
0
|
||||
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
|
||||
|
||||
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|helloxxx|1
|
||||
von|20|2
|
||||
Braun|30
|
||||
Wernher|helloxxx
|
||||
von|20
|
||||
```
|
||||
|
||||
## Expectation
|
||||
|
||||
```sql
|
||||
|
||||
```
|
||||
|
||||
## Flag
|
||||
|
||||
```
|
||||
|
||||
```
|
||||
|
||||
Reference in New Issue
Block a user