diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/build.c | 5 | ||||
-rw-r--r-- | src/insert.c | 4 |
2 files changed, 6 insertions, 3 deletions
diff --git a/src/build.c b/src/build.c index 47aa8bc57..db69b611f 100644 --- a/src/build.c +++ b/src/build.c @@ -3067,9 +3067,10 @@ static SQLITE_NOINLINE int viewGetColumnNames(Parse *pParse, Table *pTable){ #ifndef SQLITE_OMIT_VIEW /* A positive nCol means the columns names for this view are - ** already known. + ** already known. This routine is not called unless either the + ** table is virtual or nCol is zero. */ - if( pTable->nCol>0 ) return 0; + assert( pTable->nCol<=0 ); /* A negative nCol is a special marker meaning that we are currently ** trying to compute the column names. If we enter this routine with diff --git a/src/insert.c b/src/insert.c index 91004fb47..6de304848 100644 --- a/src/insert.c +++ b/src/insert.c @@ -1331,7 +1331,9 @@ void sqlite3Insert( sqlite3GenerateConstraintChecks(pParse, pTab, aRegIdx, iDataCur, iIdxCur, regIns, 0, ipkColumn>=0, onError, endOfLoop, &isReplace, 0, pUpsert ); - sqlite3FkCheck(pParse, pTab, 0, regIns, 0, 0); + if( db->flags & SQLITE_ForeignKeys ){ + sqlite3FkCheck(pParse, pTab, 0, regIns, 0, 0); + } /* Set the OPFLAG_USESEEKRESULT flag if either (a) there are no REPLACE ** constraints or (b) there are no triggers and this table is not a |