/ Check-in [42e48fd3]
Login

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

Overview
Comment:Remove an always-true branch in whereRangeScanEst(). Replace it with an assert().
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1:42e48fd3a6a6219d9bd6135d821b38c5157922ba
User & Date: drh 2014-10-08 19:33:54
Context
2014-10-09
14:00
Fix a memory leak associated with the FTS4 matchinfo() function. check-in: fb8da824 user: drh tags: trunk
11:27
Merge the latest trunk enhancements into the apple-osx branch. check-in: 6fc72077 user: drh tags: apple-osx
2014-10-08
19:33
Remove an always-true branch in whereRangeScanEst(). Replace it with an assert(). check-in: 42e48fd3 user: drh tags: trunk
15:53
Fix up test cases to account for the new SQLITE_LIMIT_WORKER_THREADS limit. check-in: 6483d426 user: drh tags: trunk
Changes
Hide Diffs Unified Diffs Ignore Whitespace Patch

Changes to src/where.c.

2205
2206
2207
2208
2209
2210
2211

2212
2213
2214
2215
2216
2217
2218
2219
        whereKeyStats(pParse, p, pRec, 0, a);
        iLower = a[0];
        iUpper = a[0] + a[1];
      }

      assert( pLower==0 || (pLower->eOperator & (WO_GT|WO_GE))!=0 );
      assert( pUpper==0 || (pUpper->eOperator & (WO_LT|WO_LE))!=0 );

      if( p->pKeyInfo && p->pKeyInfo->aSortOrder[nEq] ){
        /* The roles of pLower and pUpper are swapped for a DESC index */
        SWAP(WhereTerm*, pLower, pUpper);
      }

      /* If possible, improve on the iLower estimate using ($P:$L). */
      if( pLower ){
        int bOk;                    /* True if value is extracted from pExpr */







>
|







2205
2206
2207
2208
2209
2210
2211
2212
2213
2214
2215
2216
2217
2218
2219
2220
        whereKeyStats(pParse, p, pRec, 0, a);
        iLower = a[0];
        iUpper = a[0] + a[1];
      }

      assert( pLower==0 || (pLower->eOperator & (WO_GT|WO_GE))!=0 );
      assert( pUpper==0 || (pUpper->eOperator & (WO_LT|WO_LE))!=0 );
      assert( p->pKeyInfo!=0 && p->pKeyInfo->aSortOrder!=0 );
      if( p->pKeyInfo->aSortOrder[nEq] ){
        /* The roles of pLower and pUpper are swapped for a DESC index */
        SWAP(WhereTerm*, pLower, pUpper);
      }

      /* If possible, improve on the iLower estimate using ($P:$L). */
      if( pLower ){
        int bOk;                    /* True if value is extracted from pExpr */