]> granicus.if.org Git - postgresql/commitdiff
Fix print of Path nodes when using OPTIMIZER_DEBUG
authorMichael Paquier <michael@paquier.xyz>
Thu, 19 Jul 2018 00:54:39 +0000 (09:54 +0900)
committerMichael Paquier <michael@paquier.xyz>
Thu, 19 Jul 2018 00:54:39 +0000 (09:54 +0900)
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

src/backend/optimizer/path/allpaths.c

index 3ada379f8bccc29add1690290948754e96bed96a..f04c30af4569e2303845c41fc44bfb94fd4f3014 100644 (file)
@@ -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;