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
Unified Diff Show Whitespace Changes Patch
Changes to src/where.c.
4015
4016
4017
4018
4019
4020
4021

4022
4023
4024
4025
4026
4027
4028
4029
    }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)){

        assert( (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++;







>
|







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 */
        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++;