Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Remove an unreachable branch operation from the foreign_key_check pragma. |
---|---|
Downloads: | Tarball | ZIP archive |
Timelines: | family | ancestors | descendants | both | foreign-key-check |
Files: | files | file ages | folders |
SHA1: |
b5a8f3160b5dc1397312add3c5410e7e |
User & Date: | drh 2012-12-20 00:32:49.517 |
Context
2012-12-20
| ||
01:15 | Add PRAGMA foreign_key_check. Name the child and parent tables as part of a "foreign key mismatch" error. (check-in: e408dc9080 user: drh tags: trunk) | |
00:32 | Remove an unreachable branch operation from the foreign_key_check pragma. (Closed-Leaf check-in: b5a8f3160b user: drh tags: foreign-key-check) | |
2012-12-17
| ||
22:32 | Added test cases for PRAGMA foreign_key_check. Fixed a bug that appears when the column order of the child and parent differ. (check-in: 25411f83f9 user: drh tags: foreign-key-check) | |
Changes
Changes to src/pragma.c.
︙ | ︙ | |||
1186 1187 1188 1189 1190 1191 1192 | pIdx = 0; aiCols = 0; x = sqlite3FkLocateIndex(pParse, pParent, pFK, &pIdx, &aiCols); assert( x==0 ); addrOk = sqlite3VdbeMakeLabel(v); if( pIdx==0 ){ int iKey = pFK->aCol[0].iFrom; | > | | 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 | pIdx = 0; aiCols = 0; x = sqlite3FkLocateIndex(pParse, pParent, pFK, &pIdx, &aiCols); assert( x==0 ); addrOk = sqlite3VdbeMakeLabel(v); if( pIdx==0 ){ int iKey = pFK->aCol[0].iFrom; assert( iKey>=0 && iKey<pTab->nCol ); if( iKey!=pTab->iPKey ){ sqlite3VdbeAddOp3(v, OP_Column, 0, iKey, regRow); sqlite3ColumnDefault(v, pTab, iKey, regRow); sqlite3VdbeAddOp2(v, OP_IsNull, regRow, addrOk); sqlite3VdbeAddOp2(v, OP_MustBeInt, regRow, sqlite3VdbeCurrentAddr(v)+3); }else{ sqlite3VdbeAddOp2(v, OP_Rowid, 0, regRow); |
︙ | ︙ |