diff options
author | drh <> | 2022-04-04 18:17:59 +0000 |
---|---|---|
committer | drh <> | 2022-04-04 18:17:59 +0000 |
commit | 36d2d09023b68299e27528cda0e74071a670ffef (patch) | |
tree | 3babc71000c47893c972ac24aaf7e7d5ff892a7c /src/fkey.c | |
parent | 0de10ac11cb9f5e0e1bed4c56c20b118a20dae3a (diff) | |
download | sqlite-36d2d09023b68299e27528cda0e74071a670ffef.tar.gz sqlite-36d2d09023b68299e27528cda0e74071a670ffef.zip |
Use unpacked keys for OP_Found in foreign key processing.
FossilOrigin-Name: 328dc76657eb5317f0201859d2b3abe6918103b894f7beaed0aca3058a9f2b64
Diffstat (limited to 'src/fkey.c')
-rw-r--r-- | src/fkey.c | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/src/fkey.c b/src/fkey.c index b464743c7..bae9b11ac 100644 --- a/src/fkey.c +++ b/src/fkey.c @@ -390,7 +390,6 @@ static void fkLookupParent( }else{ int nCol = pFKey->nCol; int regTemp = sqlite3GetTempRange(pParse, nCol); - int regRec = sqlite3GetTempReg(pParse); sqlite3VdbeAddOp3(v, OP_OpenRead, iCur, pIdx->tnum, iDb); sqlite3VdbeSetP4KeyInfo(pParse, pIdx); @@ -429,12 +428,11 @@ static void fkLookupParent( } sqlite3VdbeGoto(v, iOk); } - - sqlite3VdbeAddOp4(v, OP_MakeRecord, regTemp, nCol, regRec, + + sqlite3VdbeAddOp4(v, OP_Affinity, regTemp, nCol, 0, sqlite3IndexAffinityStr(pParse->db,pIdx), nCol); - sqlite3VdbeAddOp4Int(v, OP_Found, iCur, iOk, regRec, 0); VdbeCoverage(v); - - sqlite3ReleaseTempReg(pParse, regRec); + sqlite3VdbeAddOp4Int(v, OP_Found, iCur, iOk, regTemp, nCol); + VdbeCoverage(v); sqlite3ReleaseTempRange(pParse, regTemp, nCol); } } |