aboutsummaryrefslogtreecommitdiff
path: root/src/vdbeaux.c
diff options
context:
space:
mode:
authordrh <>2024-07-04 16:57:11 +0000
committerdrh <>2024-07-04 16:57:11 +0000
commit0cf237c5b0954aee3da991f8d1fb69e24cccfbaa (patch)
treef6ca996425181f78428aa0fdc383780bdd09d9aa /src/vdbeaux.c
parent6357d35da9860ac5494d4653440fb913bdd66b0c (diff)
downloadsqlite-0cf237c5b0954aee3da991f8d1fb69e24cccfbaa.tar.gz
sqlite-0cf237c5b0954aee3da991f8d1fb69e24cccfbaa.zip
Be more aggressive about reusing subqueries that appear on the RHS of IN
operators that have been replicated due to the predicate push-down optimization. FossilOrigin-Name: 2accf32b6e45a396503c29eecc14a103bcc7b4c313cde921b26b489704060177
Diffstat (limited to 'src/vdbeaux.c')
-rw-r--r--src/vdbeaux.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/vdbeaux.c b/src/vdbeaux.c
index 665f6cd17..745d3eaba 100644
--- a/src/vdbeaux.c
+++ b/src/vdbeaux.c
@@ -1413,6 +1413,12 @@ static void freeP4(sqlite3 *db, int p4type, void *p4){
if( db->pnBytesFreed==0 ) sqlite3DeleteTable(db, (Table*)p4);
break;
}
+ case P4_SUBRTNSIG: {
+ SubrtnSig *pSig = (SubrtnSig*)p4;
+ sqlite3DbFree(db, pSig->zAff);
+ sqlite3DbFree(db, pSig);
+ break;
+ }
}
}
@@ -1992,6 +1998,9 @@ char *sqlite3VdbeDisplayP4(sqlite3 *db, Op *pOp){
zP4 = pOp->p4.pTab->zName;
break;
}
+ case P4_SUBRTNSIG: {
+ break;
+ }
default: {
zP4 = pOp->p4.z;
}