aboutsummaryrefslogtreecommitdiff
path: root/src/insert.c
diff options
context:
space:
mode:
authordrh <drh@noemail.net>2018-08-03 23:04:16 +0000
committerdrh <drh@noemail.net>2018-08-03 23:04:16 +0000
commit02ceed058a70e5a865cbc08cdc8a7a8e2f7241df (patch)
treeebb3c68ee47769b9d530b8e91f27a5b7aa0b9935 /src/insert.c
parenta4b5fb55f3985d604ea67e604f53b2b6821bafd7 (diff)
downloadsqlite-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.c5
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;