aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Paquier <michael@paquier.xyz>2018-07-19 09:55:02 +0900
committerMichael Paquier <michael@paquier.xyz>2018-07-19 09:55:02 +0900
commitbc62aef53d686b282f164277da0f2405a4fd0ac3 (patch)
tree35185d1e0e3f12cd30032d259037d3d6cc6cff72
parent6365ebacdd08f988cd31572c7190c8f08194bf5d (diff)
downloadpostgresql-bc62aef53d686b282f164277da0f2405a4fd0ac3.tar.gz
postgresql-bc62aef53d686b282f164277da0f2405a4fd0ac3.zip
Fix print of Path nodes when using OPTIMIZER_DEBUG
GatherMergePath (introduced in 10) and CustomPath (introduced in 9.5) have gone missing. The order of the Path nodes was inconsistent with what is listed in nodes.h, so make the order consistent at the same time to ease future checks and additions. Author: Sawada Masahiko Reviewed-by: Michael Paquier Discussion: https://postgr.es/m/CAD21AoBQMLoc=ohH-oocuAPsELrmk8_EsRJjOyR8FQLZkbE0wA@mail.gmail.com
-rw-r--r--src/backend/optimizer/path/allpaths.c31
1 files changed, 19 insertions, 12 deletions
diff --git a/src/backend/optimizer/path/allpaths.c b/src/backend/optimizer/path/allpaths.c
index 3ada379f8bc..f04c30af456 100644
--- a/src/backend/optimizer/path/allpaths.c
+++ b/src/backend/optimizer/path/allpaths.c
@@ -3689,6 +3689,21 @@ print_path(PlannerInfo *root, Path *path, int indent)
case T_ForeignPath:
ptype = "ForeignScan";
break;
+ case T_CustomPath:
+ ptype = "CustomScan";
+ break;
+ case T_NestPath:
+ ptype = "NestLoop";
+ join = true;
+ break;
+ case T_MergePath:
+ ptype = "MergeJoin";
+ join = true;
+ break;
+ case T_HashPath:
+ ptype = "HashJoin";
+ join = true;
+ break;
case T_AppendPath:
ptype = "Append";
break;
@@ -3710,6 +3725,10 @@ print_path(PlannerInfo *root, Path *path, int indent)
ptype = "Gather";
subpath = ((GatherPath *) path)->subpath;
break;
+ case T_GatherMergePath:
+ ptype = "GatherMerge";
+ subpath = ((GatherMergePath *) path)->subpath;
+ break;
case T_ProjectionPath:
ptype = "Projection";
subpath = ((ProjectionPath *) path)->subpath;
@@ -3763,18 +3782,6 @@ print_path(PlannerInfo *root, Path *path, int indent)
ptype = "Limit";
subpath = ((LimitPath *) path)->subpath;
break;
- case T_NestPath:
- ptype = "NestLoop";
- join = true;
- break;
- case T_MergePath:
- ptype = "MergeJoin";
- join = true;
- break;
- case T_HashPath:
- ptype = "HashJoin";
- join = true;
- break;
default:
ptype = "???Path";
break;