SQLite

Ticket Change Details
Login
Overview

Artifact ID: d93508fc9913cfe6016214d4773e2ca498aa16546b093bae832c067d090dc107
Ticket: e4598ecbdd18bd82945f6029013296690e719a62
Division by zero in the query planner.
User & Date: drh 2019-08-15 14:28:04
Changes

  1. foundin changed to: "3.29.0"
  2. icomment:
    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.
    
  3. login: "drh"
  4. mimetype: "text/x-fossil-wiki"
  5. severity changed to: "Severe"
  6. status changed to: "Open"
  7. title changed to: "Division by zero in the query planner."
  8. type changed to: "Code_Defect"