1
0
mirror of https://github.com/sqlite/sqlite.git synced 2025-11-12 13:01:09 +03:00

Correctly generate pre-UPDATE content for virtual columns that are used

by foreign key constraints.  Ticket [b9befa4b83a660cc]

FossilOrigin-Name: 40d3282ec285d9f724f6548283f48b601510cf5284da17485723fd650a68f436
This commit is contained in:
drh
2019-10-31 20:54:20 +00:00
parent 29974f7b91
commit ff37c40787
4 changed files with 24 additions and 13 deletions

View File

@@ -661,12 +661,9 @@ void sqlite3Update(
oldmask |= sqlite3TriggerColmask(pParse,
pTrigger, pChanges, 0, TRIGGER_BEFORE|TRIGGER_AFTER, pTab, onError
);
for(i=0, k=regOld; i<pTab->nCol; i++, k++){
for(i=0; i<pTab->nCol; i++){
u32 colFlags = pTab->aCol[i].colFlags;
if( colFlags & COLFLAG_VIRTUAL ){
k--;
continue;
}
k = sqlite3TableColumnToStorage(pTab, i) + regOld;
if( oldmask==0xffffffff
|| (i<32 && (oldmask & MASKBIT32(i))!=0)
|| (colFlags & COLFLAG_PRIMKEY)!=0