1
0
mirror of https://github.com/sqlite/sqlite.git synced 2025-11-16 23:02:26 +03:00

Add extra tests for foreign key support.

FossilOrigin-Name: 7d086afe69da4d03bd1de5408626858273f91e8f
This commit is contained in:
dan
2009-09-23 12:06:52 +00:00
parent 8099ce6f4a
commit a8f0bf643e
5 changed files with 169 additions and 16 deletions

View File

@@ -407,11 +407,8 @@ static void fkScanChildren(
pLeft->iTable = (pIdx ? (regData+pIdx->aiColumn[i]+1) : regData);
}
iCol = aiCol ? aiCol[i] : pFKey->aCol[0].iFrom;
if( iCol<0 ){
zCol = "rowid";
}else{
zCol = pFKey->pFrom->aCol[iCol].zName;
}
assert( iCol>=0 );
zCol = pFKey->pFrom->aCol[iCol].zName;
pRight = sqlite3Expr(db, TK_ID, zCol);
pEq = sqlite3PExpr(pParse, TK_EQ, pLeft, pRight, 0);
pWhere = sqlite3ExprAnd(db, pWhere, pEq);
@@ -797,8 +794,9 @@ static Trigger *fkActionTrigger(
Expr *pEq; /* tFromCol = OLD.tToCol */
iFromCol = aiCol ? aiCol[i] : pFKey->aCol[0].iFrom;
assert( iFromCol>=0 );
tToCol.z = pIdx ? pTab->aCol[pIdx->aiColumn[i]].zName : "oid";
tFromCol.z = iFromCol<0 ? "oid" : pFKey->pFrom->aCol[iFromCol].zName;
tFromCol.z = pFKey->pFrom->aCol[iFromCol].zName;
tToCol.n = sqlite3Strlen30(tToCol.z);
tFromCol.n = sqlite3Strlen30(tFromCol.z);