aboutsummaryrefslogtreecommitdiff
path: root/src/build.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/build.c')
-rw-r--r--src/build.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/build.c b/src/build.c
index b585c1971..9cbedf1ec 100644
--- a/src/build.c
+++ b/src/build.c
@@ -5005,11 +5005,13 @@ int sqlite3SrcItemAttachSubquery(
Subquery *p;
if( pSelect==0 ) return SQLITE_OK;
assert( pItem->fg.isSubquery==0 );
- if( pItem->fg.fixedSchema==0 && pItem->u4.zDatabase!=0 ){
+ if( pItem->fg.fixedSchema ){
+ pItem->u4.pSchema = 0;
+ pItem->fg.fixedSchema = 0;
+ }else if( pItem->u4.zDatabase!=0 ){
sqlite3DbFree(pParse->db, pItem->u4.zDatabase);
pItem->u4.zDatabase = 0;
}
- pItem->fg.fixedSchema = 0;
if( dupSelect ){
pSelect = sqlite3SelectDup(pParse->db, pSelect, 0);
if( pSelect==0 ) return 0;