1
0
mirror of https://github.com/sqlite/sqlite.git synced 2025-08-07 02:42:48 +03:00

Split the IdList structure into IdList and SrcList. SrcList is used to

represent a FROM clause and IdList is used for everything else.  This change
allows SrcList to grow to support outer joins without burdening the other
uses of IdList. (CVS 584)

FossilOrigin-Name: a167b71d8c27e870bc3079c6132e483bffc83298
This commit is contained in:
drh
2002-05-24 02:04:32 +00:00
parent bd5a451d5d
commit ad3cab52fe
13 changed files with 263 additions and 151 deletions

View File

@@ -571,10 +571,10 @@ int sqliteCodeRowTrigger(
if( fire_this && (pTriggerStack = sqliteMalloc(sizeof(TriggerStack)))!=0 ){
int endTrigger;
IdList dummyTablist;
SrcList dummyTablist;
Expr * whenExpr;
dummyTablist.nId = 0;
dummyTablist.nSrc = 0;
dummyTablist.a = 0;
/* Push an entry on to the trigger stack */
@@ -645,7 +645,7 @@ void sqliteViewTriggers(
theSelect.isDistinct = 0;
theSelect.pEList = sqliteExprListAppend(0, sqliteExpr(TK_ALL, 0, 0, 0), 0);
theSelect.pSrc = sqliteIdListAppend(0, &tblNameToken);
theSelect.pSrc = sqliteSrcListAppend(0, &tblNameToken);
theSelect.pWhere = pWhere; pWhere = 0;
theSelect.pGroupBy = 0;
theSelect.pHaving = 0;
@@ -750,7 +750,7 @@ trigger_cleanup:
sqliteExprListDelete(pChanges);
sqliteExprDelete(pWhere);
sqliteExprListDelete(theSelect.pEList);
sqliteIdListDelete(theSelect.pSrc);
sqliteSrcListDelete(theSelect.pSrc);
sqliteExprDelete(theSelect.pWhere);
return;
}