diff options
author | drh <drh@noemail.net> | 2014-02-04 20:46:41 +0000 |
---|---|---|
committer | drh <drh@noemail.net> | 2014-02-04 20:46:41 +0000 |
commit | ee06c99b49e5812403eb2b2762da4d5fee4e4d18 (patch) | |
tree | d1743edc71b089ad8c58405d4975b3572d7d2805 /src | |
parent | 7df89c8c8a9a9e6232e602e102edfdbcbfb8f1af (diff) | |
download | sqlite-ee06c99b49e5812403eb2b2762da4d5fee4e4d18.tar.gz sqlite-ee06c99b49e5812403eb2b2762da4d5fee4e4d18.zip |
Remove the SF_Materialize flag from the SELECT object as it does not
accomplish anything useful.
FossilOrigin-Name: 65d5dcddbd34dfb2733a7a908c7c652ce2d610fe
Diffstat (limited to 'src')
-rw-r--r-- | src/delete.c | 5 | ||||
-rw-r--r-- | src/select.c | 4 | ||||
-rw-r--r-- | src/sqliteInt.h | 2 |
3 files changed, 3 insertions, 8 deletions
diff --git a/src/delete.c b/src/delete.c index e98ad6d60..936517c4a 100644 --- a/src/delete.c +++ b/src/delete.c @@ -97,10 +97,8 @@ void sqlite3MaterializeView( SrcList *pFrom; sqlite3 *db = pParse->db; int iDb = sqlite3SchemaToIndex(db, pView->pSchema); - pWhere = sqlite3ExprDup(db, pWhere, 0); pFrom = sqlite3SrcListAppend(db, 0, 0, 0); - if( pFrom ){ assert( pFrom->nSrc==1 ); pFrom->a[0].zName = sqlite3DbStrDup(db, pView->zName); @@ -108,10 +106,7 @@ void sqlite3MaterializeView( assert( pFrom->a[0].pOn==0 ); assert( pFrom->a[0].pUsing==0 ); } - pSel = sqlite3SelectNew(pParse, 0, pFrom, pWhere, 0, 0, 0, 0, 0, 0); - if( pSel ) pSel->selFlags |= SF_Materialize; - sqlite3SelectDestInit(&dest, SRT_EphemTab, iCur); sqlite3Select(pParse, pSel, &dest); sqlite3SelectDelete(db, pSel); diff --git a/src/select.c b/src/select.c index c78d99780..f923766c8 100644 --- a/src/select.c +++ b/src/select.c @@ -4552,8 +4552,8 @@ int sqlite3Select( p->selFlags |= SF_Aggregate; } i = -1; - }else if( pTabList->nSrc==1 && (p->selFlags & SF_Materialize)==0 - && OptimizationEnabled(db, SQLITE_SubqCoroutine) + }else if( pTabList->nSrc==1 + && OptimizationEnabled(db, SQLITE_SubqCoroutine) ){ /* Implement a co-routine that will return a single row of the result ** set on each invocation. diff --git a/src/sqliteInt.h b/src/sqliteInt.h index 0d1342a56..7c5e1e3ed 100644 --- a/src/sqliteInt.h +++ b/src/sqliteInt.h @@ -2161,7 +2161,7 @@ struct Select { #define SF_HasTypeInfo 0x0020 /* FROM subqueries have Table metadata */ #define SF_UseSorter 0x0040 /* Sort using a sorter */ #define SF_Values 0x0080 /* Synthesized from VALUES clause */ -#define SF_Materialize 0x0100 /* Force materialization of views */ +#define SF_Materialize 0x0100 /* NOT USED */ #define SF_NestedFrom 0x0200 /* Part of a parenthesized FROM clause */ #define SF_MaybeConvert 0x0400 /* Need convertCompoundSelectToSubquery() */ #define SF_Recursive 0x0800 /* The recursive part of a recursive CTE */ |