digraph { graph [rankdir = "LR", label = "Plan Tree: SELECT ID, name FROM employee WHERE salary < (SELECT population FROM cities WHERE employee.city = cities.city);"] node [shape=record,style=filled,fillcolor=gray95] edge [arrowtail=empty] 20[label = " Alias (20)|aliasname: employee| colnames: "] 22[label = " String (22)|id"] 21[label = " List (21)|<1> [0]|<2> [1]|<3> [2]|<4> [3]|<5> [4]|<6> [5]"] 23[label = " String (23)|name"] 24[label = " String (24)|salary"] 25[label = " String (25)|start_date"] 26[label = " String (26)|city"] 27[label = " String (27)|region"] 29[label = " Alias (29)|aliasname: cities| colnames: "] 30[label = " List (30)|<1> [0]|<2> [1]"] 31[label = " String (31)|city"] 32[label = " String (32)|population"] 34[label = " SeqScan (34)|startup_cost: 0.00|total_cost: 24.12|plan_rows: 6|plan_width: 4| targetlist: | qual: |extParam: (b 0)|allParam: (b 0)|scanrelid: 2"] 33[label = " List (33)|<1> [0]"] 2[label = " SeqScan (2)|startup_cost: 0.00|total_cost: 15459.60|plan_rows: 213|plan_width: 42| targetlist: | qual: |extParam: (b)|allParam: (b)|scanrelid: 1"] 19[label = " RangeTblEntry(RTE) (19)| eref: |rtekind: RTE_RELATION|relid: 41018|relkind: 114|inh: false|inFromCl: true|requiredPerms: 2|selectedCols: (b 9 10 11 13)|modifiedCols: (b)"] 18[label = " List (18)|<1> [0]|<2> [1]"] 45[label = " OidList (45)|41018 41021 "] 28[label = " RangeTblEntry(RTE) (28)| eref: |rtekind: RTE_RELATION|relid: 41021|relkind: 114|inh: false|inFromCl: true|requiredPerms: 2|selectedCols: (b 9 10)|modifiedCols: (b)"] 1[label = " PlannedStmt (1)|commandType: CMD_SELECT|queryId: 0|hasReturning: false|hasModifyingCTE: false|canSetTag: true|transientPlan: false| planTree: | rtable: | subplans: |rewindPlanIDs: (b)| relationOids: |nParamExec: 1"] 20:colnames -> 21:head [headlabel = "20", taillabel = "21"] 21:1 -> 22:head [headlabel = "21", taillabel = "22"] 21:2 -> 23:head [headlabel = "21", taillabel = "23"] 21:3 -> 24:head [headlabel = "21", taillabel = "24"] 21:4 -> 25:head [headlabel = "21", taillabel = "25"] 21:5 -> 26:head [headlabel = "21", taillabel = "26"] 21:6 -> 27:head [headlabel = "21", taillabel = "27"] 29:colnames -> 30:head [headlabel = "29", taillabel = "30"] 30:1 -> 31:head [headlabel = "30", taillabel = "31"] 30:2 -> 32:head [headlabel = "30", taillabel = "32"] 34:targetlist -> 35:head [headlabel = "34", taillabel = "35"] 34:qual -> 38:head [headlabel = "34", taillabel = "38"] 33:1 -> 34:head [headlabel = "33", taillabel = "34"] 2:targetlist -> 3:head [headlabel = "2", taillabel = "3"] 2:qual -> 8:head [headlabel = "2", taillabel = "8"] 19:eref -> 20:head [headlabel = "19", taillabel = "20"] 18:1 -> 19:head [headlabel = "18", taillabel = "19"] 18:2 -> 28:head [headlabel = "18", taillabel = "28"] 28:eref -> 29:head [headlabel = "28", taillabel = "29"] 1:subplans -> 33:head [headlabel = "1", taillabel = "33"] 1:planTree -> 2:head [headlabel = "1", taillabel = "2"] 1:rtable -> 18:head [headlabel = "1", taillabel = "18"] 1:relationOids -> 45:head [headlabel = "1", taillabel = "45"] subgraph cluster_0 { label = "Target List"; 4[label = " TargetEntry (4)| expr: |resno: 1|resname: id|resorigtbl: 41018|resorigcol: 1|resjunk: false"] 5[label = " Var (5)|varno: 1|varattno: 1|vartype: 23|vartypmod: -1|varlevelsup: 0|varnoold: 1|varoattno: 1|location: 7"] 3[label = " List (3)|<1> [0]|<2> [1]"] 6[label = " TargetEntry (6)| expr: |resno: 2|resname: name|resorigtbl: 41018|resorigcol: 2|resjunk: false"] 7[label = " Var (7)|varno: 1|varattno: 2|vartype: 1043|vartypmod: 14|varcollid: 100|varlevelsup: 0|varnoold: 1|varoattno: 2|location: 11"] 4:expr -> 5:head [headlabel = "4", taillabel = "5"] 3:1 -> 4:head [headlabel = "3", taillabel = "4"] 3:2 -> 6:head [headlabel = "3", taillabel = "6"] 6:expr -> 7:head [headlabel = "6", taillabel = "7"] } subgraph cluster_1 { label = "Express Tree"; 9[label = " OpExpr (9)|opno: 1122|opfuncid: 301|opresulttype: 16|opretset: false| args: |location: 43"] 11[label = " Var (11)|varno: 1|varattno: 3|vartype: 700|vartypmod: -1|varlevelsup: 0|varnoold: 1|varoattno: 3|location: 36"] 10[label = " List (10)|<1> [0]|<2> [1]"] 12[label = " FuncExpr (12)|funcid: 316|funcresulttype: 701|funcretset: false|funcvariadic: false|funcformat: COERCE_IMPLICIT_CAST| args: "] 17[label = " Var (17)|varno: 1|varattno: 5|vartype: 1043|vartypmod: 14|varcollid: 100|varlevelsup: 0|varnoold: 1|varoattno: 5|location: 82"] 14[label = " SubPlan (14)|subLinkType: EXPR_SUBLINK|plan_id: 1|plan_name: SubPlan 1|firstColType: 23|firstColTypmod: -1|useHashTable: false|unknownEqFalse: false| parParam: | args: |startup_cost: 0.00|per_call_cost: 24.12"] 15[label = " IntList (15)|0 "] 16[label = " List (16)|<1> [0]"] 13[label = " List (13)|<1> [0]"] 8[label = " List (8)|<1> [0]"] 9:args -> 10:head [headlabel = "9", taillabel = "10"] 10:1 -> 11:head [headlabel = "10", taillabel = "11"] 10:2 -> 12:head [headlabel = "10", taillabel = "12"] 12:args -> 13:head [headlabel = "12", taillabel = "13"] 14:parParam -> 15:head [headlabel = "14", taillabel = "15"] 14:args -> 16:head [headlabel = "14", taillabel = "16"] 16:1 -> 17:head [headlabel = "16", taillabel = "17"] 13:1 -> 14:head [headlabel = "13", taillabel = "14"] 8:1 -> 9:head [headlabel = "8", taillabel = "9"] } subgraph cluster_2 { label = "Target List"; 36[label = " TargetEntry (36)| expr: |resno: 1|resname: population|resorigtbl: 41021|resorigcol: 2|resjunk: false"] 37[label = " Var (37)|varno: 2|varattno: 2|vartype: 23|vartypmod: -1|varlevelsup: 0|varnoold: 2|varoattno: 2|location: 53"] 35[label = " List (35)|<1> [0]"] 36:expr -> 37:head [headlabel = "36", taillabel = "37"] 35:1 -> 36:head [headlabel = "35", taillabel = "36"] } subgraph cluster_3 { label = "Express Tree"; 39[label = " OpExpr (39)|opno: 98|opfuncid: 67|opresulttype: 16|opretset: false|inputcollid: 100| args: |location: 96"] 41[label = " RelabelType (41)| arg: |resulttype: 25|resulttypmod: -1|resultcollid: 100|relabelformat: COERCE_IMPLICIT_CAST"] 42[label = " Param (42)|paramkind: PARAM_EXEC|paramid: 0|paramtype: 1043|paramtypmod: 14|paramcollid: 100|location: 82"] 40[label = " List (40)|<1> [0]|<2> [1]"] 43[label = " RelabelType (43)| arg: |resulttype: 25|resulttypmod: -1|resultcollid: 100|relabelformat: COERCE_IMPLICIT_CAST"] 44[label = " Var (44)|varno: 2|varattno: 1|vartype: 1043|vartypmod: 14|varcollid: 100|varlevelsup: 0|varnoold: 2|varoattno: 1|location: 98"] 38[label = " List (38)|<1> [0]"] 39:args -> 40:head [headlabel = "39", taillabel = "40"] 41:arg -> 42:head [headlabel = "41", taillabel = "42"] 40:1 -> 41:head [headlabel = "40", taillabel = "41"] 40:2 -> 43:head [headlabel = "40", taillabel = "43"] 43:arg -> 44:head [headlabel = "43", taillabel = "44"] 38:1 -> 39:head [headlabel = "38", taillabel = "39"] } }