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: (text/x-fossil-wiki)
The following SQL causes a division by zero in the query planner:

<blockquote><verbatim>
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);
</verbatim></blockquote>

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.