449 lines
12 KiB
Markdown
449 lines
12 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 function_list;
|
|
PRAGMA foreign_keys = FALSE;
|
|
PRAGMA secure_delete;
|
|
.fullschema
|
|
BEGIN;
|
|
create TABLE abc(a, b, c, PRIMARY KEY(a, b));
|
|
INSERT INTO abc VALUES((sign(-1) * 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;
|
|
|
|
SELECT MAX(b) FROM abc;
|
|
INSERT INTO abc VALUES (NULL, NULL, NULL);
|
|
ANALYZE abc;
|
|
ANALYZE;
|
|
CREATE UNIQUE INDEX IF NOT EXISTS idx_abc_6185 ON abc(c) WHERE c IS NOT NULL;
|
|
```
|
|
|
|
## Actual output
|
|
|
|
```sql
|
|
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
|
|
0
|
|
/* No STAT tables available */
|
|
0
|
|
1
|
|
```
|
|
|
|
## Expectation
|
|
|
|
```sql
|
|
pow|1|s|utf8|2|2099200
|
|
median|1|w|utf8|1|0
|
|
group_concat|1|w|utf8|1|2097152
|
|
group_concat|1|w|utf8|2|2097152
|
|
json_type|1|s|utf8|1|2099200
|
|
json_type|1|s|utf8|2|2099200
|
|
jsonb_set|1|s|utf8|-1|3147776
|
|
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|2099200
|
|
json_valid|1|s|utf8|2|2099200
|
|
json_quote|1|s|utf8|1|3147776
|
|
json_patch|1|s|utf8|2|2099200
|
|
->|1|s|utf8|2|2099200
|
|
json_array|1|s|utf8|-1|3147776
|
|
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|2099200
|
|
json_pretty|1|s|utf8|1|2099200
|
|
json_pretty|1|s|utf8|2|2099200
|
|
jsonb_patch|1|s|utf8|2|2099200
|
|
json_object|1|s|utf8|-1|3147776
|
|
json_insert|1|s|utf8|-1|3147776
|
|
->>|1|s|utf8|2|2099200
|
|
jsonb_array|1|s|utf8|-1|3147776
|
|
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|3147776
|
|
jsonb_remove|1|s|utf8|-1|2099200
|
|
jsonb_object|1|s|utf8|-1|3147776
|
|
jsonb_insert|1|s|utf8|-1|3147776
|
|
json_extract|1|s|utf8|-1|2099200
|
|
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
|
|
jsonb_replace|1|s|utf8|-1|3147776
|
|
jsonb_extract|1|s|utf8|-1|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
|
|
percentile|1|w|utf8|2|0
|
|
unhex|1|s|utf8|1|2099200
|
|
unhex|1|s|utf8|2|2099200
|
|
upper|1|s|utf8|1|2099200
|
|
subtype|1|s|utf8|1|3147776
|
|
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|3147776
|
|
avg|1|w|utf8|1|2097152
|
|
unistr|1|s|utf8|1|2099200
|
|
abs|1|s|utf8|1|2099200
|
|
octet_length|1|s|utf8|1|2099200
|
|
json_group_object|1|w|utf8|2|3147776
|
|
jsonb_group_array|1|w|utf8|1|3147776
|
|
json_array_length|1|s|utf8|1|2099200
|
|
json_array_length|1|s|utf8|2|2099200
|
|
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
|
|
jsonb_group_object|1|w|utf8|2|3147776
|
|
timediff|1|s|utf8|2|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
|
|
string_agg|1|w|utf8|2|2097152
|
|
last_insert_rowid|1|s|utf8|0|2097152
|
|
sqlite_log|1|s|utf8|2|2099200
|
|
unlikely|1|s|utf8|1|2099200
|
|
json_error_position|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
|
|
percentile_disc|1|w|utf8|2|0
|
|
percentile_cont|1|w|utf8|2|0
|
|
count|1|w|utf8|0|2097152
|
|
count|1|w|utf8|1|2097152
|
|
date|1|s|utf8|-1|2099200
|
|
concat|1|s|utf8|-3|2099200
|
|
sqlite_offset|1|s|utf8|1|2099200
|
|
ceiling|1|s|utf8|1|2099200
|
|
total_changes|1|s|utf8|0|2097152
|
|
changes|1|s|utf8|0|2097152
|
|
unistr_quote|1|s|utf8|1|2099200
|
|
sqlite_version|1|s|utf8|0|2097152
|
|
if|1|s|utf8|-4|2099200
|
|
coalesce|1|s|utf8|-4|2099200
|
|
degrees|1|s|utf8|1|2099200
|
|
floor|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|-4|2099200
|
|
sqlite_source_id|1|s|utf8|0|2097152
|
|
concat_ws|1|s|utf8|-4|2099200
|
|
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|2099200
|
|
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
|
|
jsonb|1|s|utf8|1|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|-3|2099200
|
|
max|1|w|utf8|1|2097152
|
|
min|1|s|utf8|-3|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|3147776
|
|
usleep|0|s|utf8|1|0
|
|
shell_putsnl|0|s|utf8|1|0
|
|
dtostr|0|s|utf8|2|0
|
|
dtostr|0|s|utf8|1|0
|
|
sqlar_uncompress|0|s|utf8|2|2097152
|
|
sqlar_compress|0|s|utf8|1|2097152
|
|
zipfile|0|a|utf8|-1|0
|
|
lsmode|0|s|utf8|1|0
|
|
writefile|0|s|utf8|-1|524288
|
|
readfile|0|s|utf8|1|524288
|
|
ieee754_from_blob|0|s|utf8|1|2097152
|
|
offsets|0|s|utf8|1|0
|
|
decimal_cmp|0|s|utf8|2|2099200
|
|
fts3_tokenizer|0|s|utf8|2|524288
|
|
fts3_tokenizer|0|s|utf8|1|524288
|
|
decimal|0|s|utf8|1|2099200
|
|
sha1b|0|s|utf8|1|2099200
|
|
zipfile_cds|0|s|utf8|-1|0
|
|
decimal_mul|0|s|utf8|2|2099200
|
|
matchinfo|0|s|utf8|2|0
|
|
matchinfo|0|s|utf8|1|0
|
|
ieee754_inc|0|s|utf8|2|2097152
|
|
optimize|0|s|utf8|1|0
|
|
rtreedepth|0|s|utf8|1|0
|
|
ieee754_mantissa|0|s|utf8|1|2097152
|
|
rtreenode|0|s|utf8|2|0
|
|
shell_add_schema|0|s|utf8|3|0
|
|
strtod|0|s|utf8|1|0
|
|
rtreecheck|0|s|utf8|-1|0
|
|
shell_module_schema|0|s|utf8|1|0
|
|
match|0|s|utf8|2|0
|
|
sha1|0|s|utf8|1|2099200
|
|
sha1_query|0|s|utf8|1|524288
|
|
sha3|0|s|utf8|2|2099200
|
|
sha3|0|s|utf8|1|2099200
|
|
sha3_agg|0|a|utf8|2|2099200
|
|
sha3_agg|0|a|utf8|1|2099200
|
|
ieee754_exponent|0|s|utf8|1|2097152
|
|
ieee754|0|s|utf8|2|2097152
|
|
ieee754|0|s|utf8|1|2097152
|
|
decimal_sub|0|s|utf8|2|2099200
|
|
regexpi|0|s|utf8|2|2099200
|
|
sha3_query|0|s|utf8|2|524288
|
|
sha3_query|0|s|utf8|1|524288
|
|
stmtrand|0|s|utf8|0|0
|
|
stmtrand|0|s|utf8|1|0
|
|
decimal_exp|0|s|utf8|1|2099200
|
|
ieee754_to_blob|0|s|utf8|1|2097152
|
|
base85|0|s|utf8|1|2623488
|
|
decimal_add|0|s|utf8|2|2099200
|
|
edit|0|s|utf8|2|0
|
|
edit|0|s|utf8|1|0
|
|
decimal_pow2|0|s|utf8|1|2099200
|
|
base64|0|s|utf8|1|2623488
|
|
snippet|0|s|utf8|-1|0
|
|
decimal_sum|0|w|utf8|1|2099200
|
|
regexp|0|s|utf8|2|2099200
|
|
0
|
|
/* No STAT tables available */
|
|
0
|
|
1
|
|
```
|
|
|
|
## Flag
|
|
|
|
```
|
|
|
|
```
|
|
|