* Recurse into subselects. Must update cxt->query to this query so
* that the rtable and rteperminfos correspond with each other.
*/
+ Query *save_query = cxt->query;
+ bool result;
+
cxt->query = (Query *) node;
- return query_tree_walker((Query *) node,
- flatten_rtes_walker,
- (void *) cxt,
- QTW_EXAMINE_RTES_BEFORE);
+ result = query_tree_walker((Query *) node,
+ flatten_rtes_walker,
+ (void *) cxt,
+ QTW_EXAMINE_RTES_BEFORE);
+ cxt->query = save_query;
+ return result;
}
return expression_tree_walker(node, flatten_rtes_walker,
(void *) cxt);
ERROR: column atts.relid does not exist
LINE 1: select atts.relid::regclass, s.* from pg_stats s join
^
+-- Test bug in rangetable flattening
+explain (verbose, costs off)
+select 1 from
+ (select * from int8_tbl where q1 <> (select 42) offset 0) ss
+where false;
+ QUERY PLAN
+--------------------------
+ Result
+ Output: 1
+ One-Time Filter: false
+(3 rows)
+
--
-- Test LATERAL
--
indexrelid from pg_index i) atts on atts.attnum = a.attnum where
schemaname != 'pg_catalog';
+-- Test bug in rangetable flattening
+explain (verbose, costs off)
+select 1 from
+ (select * from int8_tbl where q1 <> (select 42) offset 0) ss
+where false;
+
--
-- Test LATERAL
--