summaryrefslogtreecommitdiff
path: root/src/include/utils/builtins.h
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2007-02-23 21:59:45 +0000
committerTom Lane <tgl@sss.pgh.pa.us>2007-02-23 21:59:45 +0000
commit655aa5b33026182f13b141a8ae4009bc7583b508 (patch)
treeb1d548e8326f6d1bb61251da716d8f5809460292 /src/include/utils/builtins.h
parent9cc2a71c3818f9670be989435c2021af407e87ce (diff)
downloadpostgresql-655aa5b33026182f13b141a8ae4009bc7583b508.tar.gz
Now that plans have flat rangetable lists, it's a lot easier to get EXPLAIN to
drill down into subplan targetlists to print the referent expression for an OUTER or INNER var in an upper plan node. Hence, make it do that always, and banish the old hack of showing "?columnN?" when things got too complicated. Along the way, fix an EXPLAIN bug I introduced by suppressing subqueries from execution-time range tables: get_name_for_var_field() assumed it could look at rte->subquery to find out the real type of a RECORD var. That doesn't work anymore, but instead we can look at the input plan of the SubqueryScan plan node.
Diffstat (limited to 'src/include/utils/builtins.h')
-rw-r--r--src/include/utils/builtins.h8
1 files changed, 3 insertions, 5 deletions
diff --git a/src/include/utils/builtins.h b/src/include/utils/builtins.h
index db4357c17b..70c2142d8d 100644
--- a/src/include/utils/builtins.h
+++ b/src/include/utils/builtins.h
@@ -7,7 +7,7 @@
* Portions Copyright (c) 1996-2007, PostgreSQL Global Development Group
* Portions Copyright (c) 1994, Regents of the University of California
*
- * $PostgreSQL: pgsql/src/include/utils/builtins.h,v 1.288 2007/02/17 00:55:58 momjian Exp $
+ * $PostgreSQL: pgsql/src/include/utils/builtins.h,v 1.289 2007/02/23 21:59:45 tgl Exp $
*
*-------------------------------------------------------------------------
*/
@@ -537,10 +537,8 @@ extern Datum pg_get_serial_sequence(PG_FUNCTION_ARGS);
extern char *deparse_expression(Node *expr, List *dpcontext,
bool forceprefix, bool showimplicit);
extern List *deparse_context_for(const char *aliasname, Oid relid);
-extern List *deparse_context_for_plan(int outer_varno, Node *outercontext,
- int inner_varno, Node *innercontext,
- List *rtable);
-extern Node *deparse_context_for_subplan(const char *name, Node *subplan);
+extern List *deparse_context_for_plan(Node *outer_plan, Node *inner_plan,
+ List *rtable);
extern const char *quote_identifier(const char *ident);
extern char *quote_qualified_identifier(const char *namespace,
const char *ident);