SQLite

View Ticket
Login
Ticket Hash: e4598ecbdd18bd82945f6029013296690e719a62
Title: Division by zero in the query planner.
Status: Fixed Type: Code_Defect
Severity: Severe Priority: Immediate
Subsystem: Unknown Resolution: Fixed
Last Modified: 2019-08-15 14:35:55
Version Found In: 3.29.0
User Comments:
drh added on 2019-08-15 14:28:04:

The following SQL causes a division by zero in the query planner:

ANALYZE;
CREATE TABLE t1(a PRIMARY KEY);
INSERT INTO sqlite_stat1 VALUES('t1',null,'sz=0');
ANALYZE sqlite_master;
SELECT 0 FROM t1 WHERE a IN(1,2,3);

The problem is the sz=0 parameter on the sqlite_stat1 entry for the t1 table. The value of sz needs to be 2 or greater, and this is not enforced. The problem was introduced by check-in [90e36676476e8db0] on 2014-04-30 and first appeared in version 3.8.5.

This problem was reported on the SQLite mailing list by Xingwei Lin.