aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authordrh <>2025-06-18 16:17:00 +0000
committerdrh <>2025-06-18 16:17:00 +0000
commitbcf25e7129a84a8c15d30157596eed5a64bfa0db (patch)
tree2e6904057927492edd939e50ee0c936a9e7d7ac7 /src
parent3a26f72e20f0063b485e2618060f30f73369c85b (diff)
downloadsqlite-bcf25e7129a84a8c15d30157596eed5a64bfa0db.tar.gz
sqlite-bcf25e7129a84a8c15d30157596eed5a64bfa0db.zip
Enforce judgmental typing on STORED generated columns for STRICT
tables. [forum:/forumpost/6caf195248a849e4|Forum post 6caf195248]. FossilOrigin-Name: 5e9279bff0482806f86657ae05ca3e916708d138bc3c3ceb3fbf454818649d44
Diffstat (limited to 'src')
-rw-r--r--src/insert.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/insert.c b/src/insert.c
index fdd9c8da2..f0c56a7a8 100644
--- a/src/insert.c
+++ b/src/insert.c
@@ -185,12 +185,15 @@ void sqlite3TableAffinity(Vdbe *v, Table *pTab, int iReg){
** by one slot and insert a new OP_TypeCheck where the current
** OP_MakeRecord is found */
VdbeOp *pPrev;
+ int p3;
sqlite3VdbeAppendP4(v, pTab, P4_TABLE);
pPrev = sqlite3VdbeGetLastOp(v);
assert( pPrev!=0 );
assert( pPrev->opcode==OP_MakeRecord || sqlite3VdbeDb(v)->mallocFailed );
pPrev->opcode = OP_TypeCheck;
- sqlite3VdbeAddOp3(v, OP_MakeRecord, pPrev->p1, pPrev->p2, pPrev->p3);
+ p3 = pPrev->p3;
+ pPrev->p3 = 0;
+ sqlite3VdbeAddOp3(v, OP_MakeRecord, pPrev->p1, pPrev->p2, p3);
}else{
/* Insert an isolated OP_Typecheck */
sqlite3VdbeAddOp2(v, OP_TypeCheck, iReg, pTab->nNVCol);