Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Replace a faulty assert() with a testcase() to assure the condition is tested. Ticket [0eab1ac7591f]. |
---|---|
Downloads: | Tarball | ZIP archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: |
a49bc0a8244feb08b83e716d81c2a951 |
User & Date: | drh 2016-09-16 15:42:17.759 |
Original Comment: | Replace a faulty assert() with a testcase() to assure the condition is tested. |
Context
2016-09-16
| ||
16:30 | Fix a problem causing incorrect code to be generated for IN constraints like "a IN (1, 2, 3)" where column "a" is a rowid column with an extra UNIQUE index created on it. Ticket [0eab1ac759]. (check-in: a92aee5520 user: dan tags: trunk) | |
15:42 | Replace a faulty assert() with a testcase() to assure the condition is tested. Ticket [0eab1ac7591f]. (check-in: a49bc0a824 user: drh tags: trunk) | |
14:50 | Add WHERETRACE macros showing every entry and exit from whereLoopAddBtreeIndex(). (check-in: e7653decdc user: drh tags: trunk) | |
Changes
Changes to src/wherecode.c.
︙ | ︙ | |||
524 525 526 527 528 529 530 | if( pIn ){ int iMap = 0; /* Index in aiMap[] */ pIn += i; for(i=iEq;i<pLoop->nLTerm; i++){ int iOut = iReg; if( pLoop->aLTerm[i]->pExpr==pX ){ if( eType==IN_INDEX_ROWID ){ | | | 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 | if( pIn ){ int iMap = 0; /* Index in aiMap[] */ pIn += i; for(i=iEq;i<pLoop->nLTerm; i++){ int iOut = iReg; if( pLoop->aLTerm[i]->pExpr==pX ){ if( eType==IN_INDEX_ROWID ){ testcase( nEq>1 ); /* Happens with a UNIQUE index on ROWID */ pIn->addrInTop = sqlite3VdbeAddOp2(v, OP_Rowid, iTab, iReg); }else{ int iCol = aiMap ? aiMap[iMap++] : 0; iOut = iReg + i - iEq; pIn->addrInTop = sqlite3VdbeAddOp3(v,OP_Column,iTab, iCol, iOut); } sqlite3VdbeAddOp1(v, OP_IsNull, iOut); VdbeCoverage(v); |
︙ | ︙ |