summaryrefslogtreecommitdiffstats
path: root/lib/libsqlite3/src/delete.c
diff options
context:
space:
mode:
authorespie <espie@openbsd.org>2013-03-18 10:44:54 +0000
committerespie <espie@openbsd.org>2013-03-18 10:44:54 +0000
commitf1b0c374cb714f5a02b914bea387b6b573687eb8 (patch)
treee508042c8370fb39b8acd5eb62247a7ad51310e0 /lib/libsqlite3/src/delete.c
parentProvide a way for *drm(4) to prevent the VGA text console wsdisplay(4) instance (diff)
downloadwireguard-openbsd-f1b0c374cb714f5a02b914bea387b6b573687eb8.tar.xz
wireguard-openbsd-f1b0c374cb714f5a02b914bea387b6b573687eb8.zip
update to 3.7.15.2, tested by landry@/miod@
Diffstat (limited to 'lib/libsqlite3/src/delete.c')
-rw-r--r--lib/libsqlite3/src/delete.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/lib/libsqlite3/src/delete.c b/lib/libsqlite3/src/delete.c
index 44e5995a697..01a130d65b4 100644
--- a/lib/libsqlite3/src/delete.c
+++ b/lib/libsqlite3/src/delete.c
@@ -32,7 +32,7 @@ Table *sqlite3SrcListLookup(Parse *pParse, SrcList *pSrc){
struct SrcList_item *pItem = pSrc->a;
Table *pTab;
assert( pItem && pSrc->nSrc==1 );
- pTab = sqlite3LocateTable(pParse, 0, pItem->zName, pItem->zDatabase);
+ pTab = sqlite3LocateTableItem(pParse, 0, pItem);
sqlite3DeleteTable(pParse->db, pItem->pTab);
pItem->pTab = pTab;
if( pTab ){
@@ -112,6 +112,7 @@ void sqlite3MaterializeView(
sqlite3SelectDelete(db, pDup);
}
pDup = sqlite3SelectNew(pParse, 0, pFrom, pWhere, 0, 0, 0, 0, 0, 0);
+ if( pDup ) pDup->selFlags |= SF_Materialize;
}
sqlite3SelectDestInit(&dest, SRT_EphemTab, iCur);
sqlite3Select(pParse, pDup, &dest);
@@ -638,7 +639,9 @@ int sqlite3GenerateIndexKey(
}
if( doMakeRec ){
const char *zAff;
- if( pTab->pSelect || (pParse->db->flags & SQLITE_IdxRealAsInt)!=0 ){
+ if( pTab->pSelect
+ || OptimizationDisabled(pParse->db, SQLITE_IdxRealAsInt)
+ ){
zAff = 0;
}else{
zAff = sqlite3IndexAffinityStr(v, pIdx);