Files
ast-project/part1/results/1/bug_92e7edf0-0d00-40bc-99a2-2a732f692cd0_logic.md
2026-06-24 13:47:14 +02:00

114 lines
3.1 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
.indexes
SAVEPOINT sp7020;
CREATE TABLE T (
a INTEGER,
b TEXT,
c REAL
);
INSERT INTO T VALUES (atanh(x'759d39'),'' || ('a'),like('1.25?*', CAST(pow(1.25, 1.25) AS VARCHAR(255)))), (2,'b',-3.5), (3,'c',9e999);
WITH d AS (SELECT * FROM T) SELECT * FROM d WHERE c > 0;
.quit
CREATE TABLE T1 (
A VARCHAR(json_quote('string')),
X VARCHAR((10 + 0.0)),
PRIMARY KEY (A, X),
UNIQUE (X)
);
-- .headers
CREATE TABLE T2 (
A VARCHAR(20),
Y VARCHAR(10) UNIQUE,
PRIMARY KEY (A, Y)
);
INSERT INTO T1 VALUES ('a', 'm');
CREATE TABLE T (
A VARCHAR(10) PRIMARY KEY,
B VARCHAR(15) /* rtrim({v}, 'xyz') */ 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;
INSERT INTO T1 VALUES ('b', 'n');
INSERT INTO T2 VALUES ('b', 'k');
WITH _m AS MATERIALIZED (SELECT * FROM T2) SELECT A FROM T1 UNION ALL SELECT A FROM _m ORDER BY A;
INSERT INTO T2 SELECT * FROM T2;
INSERT INTO T1 DEFAULT VALUES;
ROLLBACK TRANSACTION TO SAVEPOINT sp7020;
RELEASE SAVEPOINT sp7020;
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 T2;
ANALYZE T2;
VACUUM;
INSERT INTO T1 DEFAULT VALUES;
ALTER TABLE T2 RENAME TO T2_r1456;
SELECT AVG(A) FROM T;
SELECT MAX(B) FROM T;
SELECT * FROM (SELECT * FROM T) AS sub;
INSERT INTO T DEFAULT VALUES;
SELECT COUNT(*) FROM T2;
INSERT OR IGNORE INTO T VALUES (0, '', 0);
creATE VIRTUAL TABLE t0 USING fts3("x", "y", "z");
DROP TABLE t0;
WITH cte AS (SELECT "123" AS x) SELECT x + 0 FROM cte;
CREATE TABLE T1 (
A VARCHAR(20),
X VARCHAR(10),
PRIMARY KEY (A, X)
);
CREATE TABLE T2 (
A VARCHAR(20),
Y VARCHAR(10),
PRIMARY KEY (A, Y)
);
INSERT INTO T1 VALUES ('a', 'm');
INSERT INTO T1 VALUES ('b', 'n');
INSERT INTO T1 VALUES ('c', 'o');
INSERT INTO T2 VALUES ('b', 'k');
SELECT A FROM T1 EXCEPT SELECT A FROM T2;
ALTER TABLE T RENAME TO T_r9219;
ALTER TABLE T DROP COLUMN C;
SELECT GROUP_CONCAT(A, '|') FROM T2;
SELECT COUNT(B) OVER (ORDER BY B RANGE BETWEEN 1 PRECEDING AND 1 FOLLOWING) FROM T;
SELECT * FROM T1 NATURAL JOIN T2;
```
## Actual output
```sql
Run Time: real 0.000 user 0.000000 sys 0.000021
Run Time: real 0.000 user 0.000000 sys 0.000115
Run Time: real 0.000 user 0.000000 sys 0.000062
3|c|Inf
Run Time: real 0.000 user 0.000000 sys 0.000039
```
## Expectation
```sql
Run Time: real 0.000002 user 0.000013 sys 0.000000
Run Time: real 0.000046 user 0.000046 sys 0.000000
Run Time: real 0.000037 user 0.000037 sys 0.000000
3|c|Inf
Run Time: real 0.000018 user 0.000018 sys 0.000000
```
## Flag
```
```