diff options
author | drh <drh@noemail.net> | 2018-08-04 15:53:55 +0000 |
---|---|---|
committer | drh <drh@noemail.net> | 2018-08-04 15:53:55 +0000 |
commit | 8c607191320f828c28418fc42fc64e21f1e3e911 (patch) | |
tree | 2550c6ee5e4ba4b5c1e36343c3002f4d9841f320 /src/wherecode.c | |
parent | 38ee2d9197a7a3c0e1c3567f2d99554e6e77f2c4 (diff) | |
download | sqlite-8c607191320f828c28418fc42fc64e21f1e3e911.tar.gz sqlite-8c607191320f828c28418fc42fc64e21f1e3e911.zip |
Further logic simplifications that flow out of the omission of the column cache.
FossilOrigin-Name: 7d9072b027cc28dd8ecf5e2686d821017997445c15124eebe2839984622af4db
Diffstat (limited to 'src/wherecode.c')
-rw-r--r-- | src/wherecode.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/wherecode.c b/src/wherecode.c index 38fa89ffc..6b819da66 100644 --- a/src/wherecode.c +++ b/src/wherecode.c @@ -1969,23 +1969,23 @@ Bitmask sqlite3WhereCodeOneLoopStart( ** row will be skipped in subsequent sub-WHERE clauses. */ if( (pWInfo->wctrlFlags & WHERE_DUPLICATES_OK)==0 ){ - int r; int iSet = ((ii==pOrWc->nTerm-1)?-1:ii); if( HasRowid(pTab) ){ - r = sqlite3ExprCodeGetColumn(pParse, pTab, -1, iCur, regRowid, 0); + sqlite3ExprCodeGetColumnOfTable(v, pTab, iCur, -1, regRowid); jmp1 = sqlite3VdbeAddOp4Int(v, OP_RowSetTest, regRowset, 0, - r,iSet); + regRowid, iSet); VdbeCoverage(v); }else{ Index *pPk = sqlite3PrimaryKeyIndex(pTab); int nPk = pPk->nKeyCol; int iPk; + int r; /* Read the PK into an array of temp registers. */ r = sqlite3GetTempRange(pParse, nPk); for(iPk=0; iPk<nPk; iPk++){ int iCol = pPk->aiColumn[iPk]; - sqlite3ExprCodeGetColumnToReg(pParse, pTab, iCol, iCur, r+iPk); + sqlite3ExprCodeGetColumnOfTable(v, pTab, iCur, iCol, r+iPk); } /* Check if the temp table already contains this key. If so, |