diff options
author | drh <drh@noemail.net> | 2018-08-03 23:04:16 +0000 |
---|---|---|
committer | drh <drh@noemail.net> | 2018-08-03 23:04:16 +0000 |
commit | 02ceed058a70e5a865cbc08cdc8a7a8e2f7241df (patch) | |
tree | ebb3c68ee47769b9d530b8e91f27a5b7aa0b9935 /src/insert.c | |
parent | a4b5fb55f3985d604ea67e604f53b2b6821bafd7 (diff) | |
download | sqlite-02ceed058a70e5a865cbc08cdc8a7a8e2f7241df.tar.gz sqlite-02ceed058a70e5a865cbc08cdc8a7a8e2f7241df.zip |
Completely remove the column cache logic, which has been a persistent source
of bugs for many years. We recent enhancements to the performance of the
OP_Column opcode, the removing the column cache actually makes speed-check.sh
run faster. It also saves about 1,800 bytes of code space.
FossilOrigin-Name: 3f5f60cd7529330209027fdae8129cca420cec1050eae50a7750d0b715b56972
Diffstat (limited to 'src/insert.c')
-rw-r--r-- | src/insert.c | 5 |
1 files changed, 0 insertions, 5 deletions
diff --git a/src/insert.c b/src/insert.c index 44fb0e752..16971a044 100644 --- a/src/insert.c +++ b/src/insert.c @@ -1533,7 +1533,6 @@ void sqlite3GenerateConstraintChecks( sqlite3VdbeVerifyAbortable(v, onError); sqlite3VdbeAddOp3(v, OP_NotExists, iDataCur, addrRowidOk, regNewData); VdbeCoverage(v); - sqlite3ExprCachePush(pParse); switch( onError ){ default: { @@ -1610,7 +1609,6 @@ void sqlite3GenerateConstraintChecks( break; } } - sqlite3ExprCachePop(pParse); sqlite3VdbeResolveLabel(v, addrRowidOk); if( sAddr.ipkTop ){ sAddr.ipkBtm = sqlite3VdbeAddOp0(v, OP_Goto); @@ -1744,7 +1742,6 @@ void sqlite3GenerateConstraintChecks( } /* Check to see if the new index entry will be unique */ - sqlite3ExprCachePush(pParse); sqlite3VdbeVerifyAbortable(v, onError); sqlite3VdbeAddOp4Int(v, OP_NoConflict, iThisCur, addrUniqueOk, regIdx, pIdx->nKeyCol); VdbeCoverage(v); @@ -1850,7 +1847,6 @@ void sqlite3GenerateConstraintChecks( }else{ sqlite3VdbeResolveLabel(v, addrUniqueOk); } - sqlite3ExprCachePop(pParse); if( regR!=regIdx ) sqlite3ReleaseTempRange(pParse, regR, nPkField); } @@ -1954,7 +1950,6 @@ void sqlite3CompleteInsertion( sqlite3SetMakeRecordP5(v, pTab); if( !bAffinityDone ){ sqlite3TableAffinity(v, pTab, 0); - sqlite3ExprCacheAffinityChange(pParse, regData, pTab->nCol); } if( pParse->nested ){ pik_flags = 0; |