SQLite

Check-in [eae6dfbe55]
Login

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

Overview
Comment:One possible fix for the [e39d032577d] problem it to replace the failing assert() with a testcase() as shown here.
Downloads: Tarball | ZIP archive
Timelines: family | ancestors | tkt-e39d0325
Files: files | file ages | folders
SHA1: eae6dfbe5535f4818b73806b13308b99dedb9f22
User & Date: drh 2014-03-20 12:36:39.983
Context
2014-03-20
12:36
One possible fix for the [e39d032577d] problem it to replace the failing assert() with a testcase() as shown here. (Closed-Leaf check-in: eae6dfbe55 user: drh tags: tkt-e39d0325)
12:17
Fix an unnecessarily obtuse use of a bitmask flag. (check-in: ca31408131 user: drh tags: trunk)
Changes
Side-by-Side Diff Ignore Whitespace Patch
Changes to src/where.c.
4015
4016
4017
4018
4019
4020
4021

4022

4023
4024
4025
4026
4027
4028
4029
4015
4016
4017
4018
4019
4020
4021
4022

4023
4024
4025
4026
4027
4028
4029
4030







+
-
+







    }else if( pTerm->eOperator & (WO_EQ) ){
      assert(
        (pNew->wsFlags & (WHERE_COLUMN_NULL|WHERE_COLUMN_IN|WHERE_SKIPSCAN))!=0
        || nInMul==0
      );
      pNew->wsFlags |= WHERE_COLUMN_EQ;
      if( iCol<0 || (nInMul==0 && pNew->u.btree.nEq==pProbe->nKeyCol-1)){
        /* Ticket [e39d032577df]: WHERE a=? AND b IN (?) -- a, b indexed */
        assert( (pNew->wsFlags & WHERE_COLUMN_IN)==0 || iCol<0 );
        testcase( (pNew->wsFlags & WHERE_COLUMN_IN)!=0 && iCol>=0 );
        if( iCol>=0 && pProbe->onError==OE_None ){
          pNew->wsFlags |= WHERE_UNQ_WANTED;
        }else{
          pNew->wsFlags |= WHERE_ONEROW;
        }
      }
      pNew->u.btree.nEq++;