Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Remove an always-true branch from the preupdate hook logic. |
---|---|
Downloads: | Tarball | ZIP archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA3-256: |
0ab4518811b23bdb57feba55014cef07 |
User & Date: | drh 2018-04-13 16:23:22.787 |
Context
2018-04-16
| ||
10:34 | Reduce the size of the NameContext object by grouping seldom-used fields into a union. (check-in: dba3095fee user: drh tags: trunk) | |
2018-04-14
| ||
18:46 | Experimental change to "SELECT * FROM ... ORDER BY" processing to load some column values from the db after sorting. (check-in: 9719cb46bb user: dan tags: sorter-reference) | |
2018-04-13
| ||
16:29 | Merge the preupdate hook change from trunk. (check-in: 7353caabb3 user: drh tags: upsert) | |
16:23 | Remove an always-true branch from the preupdate hook logic. (check-in: 0ab4518811 user: drh tags: trunk) | |
2018-04-11
| ||
17:10 | Help the parser run faster by avoiding the "explain ::= ." production. (check-in: d7ec7b5970 user: drh tags: trunk) | |
Changes
Changes to src/insert.c.
︙ | ︙ | |||
1446 1447 1448 1449 1450 1451 1452 | } if( pTrigger || sqlite3FkRequired(pParse, pTab, 0, 0) ){ sqlite3MultiWrite(pParse); sqlite3GenerateRowDelete(pParse, pTab, pTrigger, iDataCur, iIdxCur, regNewData, 1, 0, OE_Replace, 1, -1); }else{ #ifdef SQLITE_ENABLE_PREUPDATE_HOOK | | | | | | | | < | 1446 1447 1448 1449 1450 1451 1452 1453 1454 1455 1456 1457 1458 1459 1460 1461 1462 1463 1464 1465 1466 | } if( pTrigger || sqlite3FkRequired(pParse, pTab, 0, 0) ){ sqlite3MultiWrite(pParse); sqlite3GenerateRowDelete(pParse, pTab, pTrigger, iDataCur, iIdxCur, regNewData, 1, 0, OE_Replace, 1, -1); }else{ #ifdef SQLITE_ENABLE_PREUPDATE_HOOK assert( HasRowid(pTab) ); /* This OP_Delete opcode fires the pre-update-hook only. It does ** not modify the b-tree. It is more efficient to let the coming ** OP_Insert replace the existing entry than it is to delete the ** existing entry and then insert a new one. */ sqlite3VdbeAddOp2(v, OP_Delete, iDataCur, OPFLAG_ISNOOP); sqlite3VdbeAppendP4(v, pTab, P4_TABLE); #endif /* SQLITE_ENABLE_PREUPDATE_HOOK */ if( pTab->pIndex ){ sqlite3MultiWrite(pParse); sqlite3GenerateRowIndexDelete(pParse, pTab, iDataCur, iIdxCur,0,-1); } } seenReplace = 1; |
︙ | ︙ |