/ Check-in [869f8947]
Login

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:Comment enhancement to better explain the logic in the "x IS NULL" optimization.
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: 869f894798a65f8bc0e0b083866a784fa0189f68
User & Date: drh 2011-03-17 01:58:21
Context
2011-03-17
16:45
Update the implementation of ".testctrl" in the command-line shell to use a look-up table rather than a long sequence of if-elses. Shorten source code lines of shell.c to 80 characters or less. check-in: 54bacb95 user: drh tags: trunk
01:58
Comment enhancement to better explain the logic in the "x IS NULL" optimization. check-in: 869f8947 user: drh tags: trunk
01:34
Enhances to the query planner such that "x IS NULL" constraints take the STAT2 statistics into account, just like "x=VALUE" constraints. check-in: 23531768 user: drh tags: trunk
Changes
Hide Diffs Side-by-Side Diffs Ignore Whitespace Patch

Changes to src/where.c.

  2516   2516   
  2517   2517   #ifdef SQLITE_ENABLE_STAT2
  2518   2518   /*
  2519   2519   ** Estimate the number of rows that will be returned based on
  2520   2520   ** an equality constraint x=VALUE and where that VALUE occurs in
  2521   2521   ** the histogram data.  This only works when x is the left-most
  2522   2522   ** column of an index and sqlite_stat2 histogram data is available
  2523         -** for that index.
         2523  +** for that index.  When pExpr==NULL that means the constraint is
         2524  +** "x IS NULL" instead of "x=VALUE".
  2524   2525   **
  2525   2526   ** Write the estimated row count into *pnRow and return SQLITE_OK. 
  2526   2527   ** If unable to make an estimate, leave *pnRow unchanged and return
  2527   2528   ** non-zero.
  2528   2529   **
  2529   2530   ** This routine can fail if it is unable to load a collating sequence
  2530   2531   ** required for string comparison, or if unable to allocate memory