aboutsummaryrefslogtreecommitdiff
path: root/src/backend/optimizer/path/allpaths.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/backend/optimizer/path/allpaths.c')
-rw-r--r--src/backend/optimizer/path/allpaths.c25
1 files changed, 19 insertions, 6 deletions
diff --git a/src/backend/optimizer/path/allpaths.c b/src/backend/optimizer/path/allpaths.c
index 7d8d6a6beba..ea016e8a2e9 100644
--- a/src/backend/optimizer/path/allpaths.c
+++ b/src/backend/optimizer/path/allpaths.c
@@ -8,7 +8,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/optimizer/path/allpaths.c,v 1.88 2002/09/04 20:31:20 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/optimizer/path/allpaths.c,v 1.89 2002/11/06 00:00:44 tgl Exp $
*
*-------------------------------------------------------------------------
*/
@@ -742,6 +742,14 @@ print_path(Query *root, Path *path, int indent)
ptype = "TidScan";
join = false;
break;
+ case T_AppendPath:
+ ptype = "Append";
+ join = false;
+ break;
+ case T_ResultPath:
+ ptype = "Result";
+ join = false;
+ break;
case T_NestPath:
ptype = "Nestloop";
join = true;
@@ -762,10 +770,15 @@ print_path(Query *root, Path *path, int indent)
for (i = 0; i < indent; i++)
printf("\t");
- printf("%s(", ptype);
- print_relids(path->parent->relids);
- printf(") rows=%.0f cost=%.2f..%.2f\n",
- path->parent->rows, path->startup_cost, path->total_cost);
+ printf("%s", ptype);
+
+ if (path->parent)
+ {
+ printf("(");
+ print_relids(path->parent->relids);
+ printf(") rows=%.0f", path->parent->rows);
+ }
+ printf(" cost=%.2f..%.2f\n", path->startup_cost, path->total_cost);
if (path->pathkeys)
{
@@ -785,7 +798,7 @@ print_path(Query *root, Path *path, int indent)
print_restrictclauses(root, jp->joinrestrictinfo);
printf("\n");
- if (nodeTag(path) == T_MergePath)
+ if (IsA(path, MergePath))
{
MergePath *mp = (MergePath *) path;