/ Check-in [ca314081]
Login

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

Overview
Comment:Fix an unnecessarily obtuse use of a bitmask flag.
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: ca3140813198ab7ce470cf86334e55207f3461f9
User & Date: drh 2014-03-20 12:17:35
Context
2014-03-20
13:26
Convert expressions of the form "X IN (?)" with exactly one value on the RHS of the IN into equality tests: "X=?". Add test cases to verify that statements work correctly on this corner case. Fix for ticket [e39d032577df6942]. check-in: e68b427a user: drh tags: trunk
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: eae6dfbe user: drh tags: tkt-e39d0325
12:17
Fix an unnecessarily obtuse use of a bitmask flag. check-in: ca314081 user: drh tags: trunk
2014-03-19
20:01
Avoid some unnecessary calls to sqlite3VdbeRecordUnpack() that were being made when merging data from two or more temp files together in vdbesort.c check-in: 707ea170 user: dan tags: trunk
Changes
Hide Diffs Side-by-Side Diffs Ignore Whitespace Patch

Changes to src/where.c.

  3204   3204         pLevel->op = OP_Noop;
  3205   3205       }else if( bRev ){
  3206   3206         pLevel->op = OP_Prev;
  3207   3207       }else{
  3208   3208         pLevel->op = OP_Next;
  3209   3209       }
  3210   3210       pLevel->p1 = iIdxCur;
  3211         -    assert( (WHERE_UNQ_WANTED>>16)==1 );
  3212         -    pLevel->p3 = (pLoop->wsFlags>>16)&1;
         3211  +    pLevel->p3 = (pLoop->wsFlags&WHERE_UNQ_WANTED)!=0 ? 1:0;
  3213   3212       if( (pLoop->wsFlags & WHERE_CONSTRAINT)==0 ){
  3214   3213         pLevel->p5 = SQLITE_STMTSTATUS_FULLSCAN_STEP;
  3215   3214       }else{
  3216   3215         assert( pLevel->p5==0 );
  3217   3216       }
  3218   3217     }else
  3219   3218