github.com/cockroachdb/cockroach@v20.2.0-alpha.1+incompatible/pkg/sql/opt/xform/testdata/external/liquibase (about) 1 exec-ddl 2 CREATE TABLE pg_class ( 3 oid oid PRIMARY KEY, 4 relname text NOT NULL, 5 relnamespace oid NOT NULL, 6 reltype oid NOT NULL, 7 relowner oid NOT NULL, 8 relam oid NOT NULL, 9 relfilenode oid NOT NULL, 10 reltablespace oid NOT NULL, 11 relpages bigint NOT NULL, 12 reltuples double precision NOT NULL, 13 relallvisible bigint NOT NULL, 14 reltoastrelid oid NOT NULL, 15 relhasindex boolean NOT NULL, 16 relisshared boolean NOT NULL, 17 relpersistence text NOT NULL, 18 relistemp boolean NOT NULL, 19 relkind text NOT NULL, 20 relnatts bigint NOT NULL, 21 relchecks bigint NOT NULL, 22 relhasoids boolean NOT NULL, 23 relhaspkey boolean NOT NULL, 24 relhasrules boolean NOT NULL, 25 relhastriggers boolean NOT NULL, 26 relhassubclass boolean NOT NULL, 27 relfrozenxid bigint NOT NULL, 28 relacl text[], 29 reloptions text[], 30 UNIQUE INDEX pg_class_relname_nsp_index (relname, relnamespace), 31 INDEX pg_class_tblspc_relfilenode_index (reltablespace, relfilenode) 32 ); 33 ---- 34 35 exec-ddl 36 CREATE TABLE pg_namespace ( 37 oid oid PRIMARY KEY, 38 nspname text NOT NULL, 39 nspowner oid NOT NULL, 40 nspacl text[], 41 UNIQUE INDEX pg_namespace_nspname_index (nspname) 42 ); 43 ---- 44 45 exec-ddl 46 CREATE TABLE pg_tablespace ( 47 oid oid PRIMARY KEY, 48 spcname text NOT NULL, 49 spcowner oid NOT NULL, 50 spclocation text NOT NULL, 51 spcacl text[], 52 spcoptions text[], 53 UNIQUE INDEX pg_tablespace_spcname_index (spcname) 54 ); 55 ---- 56 57 exec-ddl 58 CREATE TABLE pg_inherits ( 59 inhrelid oid NOT NULL, 60 inhparent oid NOT NULL, 61 inhseqno bigint NOT NULL, 62 PRIMARY KEY (inhrelid, inhseqno), 63 INDEX pg_inherits_parent_index (inhparent) 64 ); 65 ---- 66 67 exec-ddl 68 CREATE TABLE pg_index ( 69 indexrelid oid PRIMARY KEY, 70 indrelid oid NOT NULL, 71 indnatts bigint NOT NULL, 72 indisunique boolean NOT NULL, 73 indisprimary boolean NOT NULL, 74 indisexclusion boolean NOT NULL, 75 indimmediate boolean NOT NULL, 76 indisclustered boolean NOT NULL, 77 indisvalid boolean NOT NULL, 78 indcheckxmin boolean NOT NULL, 79 indisready boolean NOT NULL, 80 indislive boolean NOT NULL, 81 indisreplident boolean NOT NULL, 82 indkey bigint[] NOT NULL, 83 indcollation bigint NOT NULL, 84 indclass bigint NOT NULL, 85 indoption bigint NOT NULL, 86 indexprs text, 87 indpred text, 88 INDEX pg_index_indrelid_index (indrelid) 89 ) 90 ---- 91 92 exec-ddl 93 CREATE TABLE pg_foreign_table ( 94 ftrelid oid PRIMARY KEY, 95 ftserver oid NOT NULL, 96 ftoptions text[] 97 ); 98 ---- 99 100 exec-ddl 101 CREATE TABLE pg_foreign_server ( 102 oid oid PRIMARY KEY, 103 srvname text NOT NULL, 104 srvowner oid NOT NULL, 105 srvfdw oid NOT NULL, 106 srvtype text, 107 srvversion text, 108 srvacl text[], 109 srvoptions text[], 110 UNIQUE INDEX pg_foreign_server_name_index (srvname) 111 ); 112 ---- 113 114 opt 115 SELECT c.oid, 116 n.nspname AS schemaname, 117 c.relname AS tablename, 118 c.relacl, 119 pg_get_userbyid(c.relowner) AS tableowner, 120 obj_description(c.oid) AS description, 121 c.relkind, 122 ci.relname AS CLUSTER, 123 c.relhasoids AS hasoids, 124 c.relhasindex AS hasindexes, 125 c.relhasrules AS hasrules, 126 t.spcname AS TABLESPACE, 127 c.reloptions AS param, 128 c.relhastriggers AS hastriggers, 129 c.relpersistence AS unlogged, 130 ft.ftoptions, 131 fs.srvname, 132 c.reltuples, 133 ( 134 (SELECT count(*) 135 FROM pg_inherits 136 WHERE inhparent = c.oid) > 0) AS inhtable, 137 i2.nspname AS inhschemaname, 138 i2.relname AS inhtablename 139 FROM pg_class AS c 140 LEFT JOIN pg_namespace AS n 141 ON n.oid = c.relnamespace 142 LEFT JOIN pg_tablespace AS t 143 ON t.oid = c.reltablespace 144 LEFT JOIN 145 ( 146 pg_inherits AS i 147 INNER JOIN pg_class AS c2 148 ON i.inhparent = c2.oid 149 LEFT JOIN pg_namespace AS n2 150 ON n2.oid = c2.relnamespace 151 ) AS i2 152 ON i2.inhrelid = c.oid 153 LEFT JOIN pg_index AS ind 154 ON (ind.indrelid = c.oid) AND (ind.indisclustered = 't') 155 LEFT JOIN pg_class AS ci 156 ON ci.oid = ind.indexrelid 157 LEFT JOIN pg_foreign_table AS ft 158 ON ft.ftrelid = c.oid 159 LEFT JOIN pg_foreign_server AS fs 160 ON ft.ftserver = fs.oid 161 WHERE ((c.relkind = 'r'::CHAR) OR (c.relkind = 'f'::CHAR)) AND (n.nspname = 'public') 162 ---- 163 project 164 ├── columns: oid:1!null schemaname:29!null tablename:2!null relacl:26 tableowner:133 description:134 relkind:17!null cluster:92 hasoids:20!null hasindexes:13!null hasrules:22!null tablespace:33 param:27 hastriggers:23!null unlogged:15!null ftoptions:120 srvname:122 reltuples:10!null inhtable:135!null inhschemaname:69 inhtablename:42 165 ├── stable 166 ├── fd: ()-->(29), (1)-->(2,10,13,15,17,20,22,23,26,27,33,133,134), (2)-->(1,10,13,15,17,20,22,23,26,27,33,133,134) 167 ├── group-by 168 │ ├── columns: c.oid:1!null c.relname:2!null c.relowner:5!null c.reltuples:10!null c.relhasindex:13!null c.relpersistence:15!null c.relkind:17!null c.relhasoids:20!null c.relhasrules:22!null c.relhastriggers:23!null c.relacl:26 c.reloptions:27 n.nspname:29!null spcname:33 c2.relname:42 n2.nspname:69 ci.relname:92 ftoptions:120 srvname:122 count_rows:132!null rownum:136!null 169 │ ├── grouping columns: rownum:136!null 170 │ ├── key: (136) 171 │ ├── fd: ()-->(29), (1)-->(2,5,10,13,15,17,20,22,23,26,27,33), (2)-->(1,5,10,13,15,17,20,22,23,26,27,33), (136)-->(1,2,5,10,13,15,17,20,22,23,26,27,29,33,42,69,92,120,122,132) 172 │ ├── right-join (hash) 173 │ │ ├── columns: c.oid:1!null c.relname:2!null c.relnamespace:3!null c.relowner:5!null c.reltablespace:8!null c.reltuples:10!null c.relhasindex:13!null c.relpersistence:15!null c.relkind:17!null c.relhasoids:20!null c.relhasrules:22!null c.relhastriggers:23!null c.relacl:26 c.reloptions:27 n.oid:28!null n.nspname:29!null t.oid:32 spcname:33 i.inhrelid:38 i.inhparent:39 c2.oid:41 c2.relname:42 c2.relnamespace:43 n2.oid:68 n2.nspname:69 indexrelid:72 indrelid:73 indisclustered:79 ci.oid:91 ci.relname:92 ftrelid:118 ftserver:119 ftoptions:120 fs.oid:121 srvname:122 pg_inherits.inhparent:130 rownum:136!null 174 │ │ ├── fd: ()-->(3,28,29), (1)-->(2,5,8,10,13,15,17,20,22,23,26,27,32,33), (2)-->(1,5,8,10,13,15,17,20,22,23,26,27), (3)==(28), (28)==(3), (32)-->(33), (33)-->(32), (41)-->(42,43), (42,43)-->(41), (39)==(41), (41)==(39), (68)~~>(69), (69)~~>(68), (72)-->(73), (91)-->(92), (118)-->(119,120), (121)-->(122), (122)-->(121), (136)-->(1,2,5,8,10,13,15,17,20,22,23,26,27,32,33,38,39,41-43,68,69,72,73,79,91,92,118-122) 175 │ │ ├── scan pg_inherits 176 │ │ │ └── columns: pg_inherits.inhparent:130!null 177 │ │ ├── ordinality 178 │ │ │ ├── columns: c.oid:1!null c.relname:2!null c.relnamespace:3!null c.relowner:5!null c.reltablespace:8!null c.reltuples:10!null c.relhasindex:13!null c.relpersistence:15!null c.relkind:17!null c.relhasoids:20!null c.relhasrules:22!null c.relhastriggers:23!null c.relacl:26 c.reloptions:27 n.oid:28!null n.nspname:29!null t.oid:32 spcname:33 i.inhrelid:38 i.inhparent:39 c2.oid:41 c2.relname:42 c2.relnamespace:43 n2.oid:68 n2.nspname:69 indexrelid:72 indrelid:73 indisclustered:79 ci.oid:91 ci.relname:92 ftrelid:118 ftserver:119 ftoptions:120 fs.oid:121 srvname:122 rownum:136!null 179 │ │ │ ├── key: (136) 180 │ │ │ ├── fd: ()-->(3,28,29), (1)-->(2,5,8,10,13,15,17,20,22,23,26,27,32,33), (2)-->(1,5,8,10,13,15,17,20,22,23,26,27), (3)==(28), (28)==(3), (32)-->(33), (33)-->(32), (41)-->(42,43), (42,43)-->(41), (39)==(41), (41)==(39), (68)~~>(69), (69)~~>(68), (72)-->(73), (91)-->(92), (118)-->(119,120), (121)-->(122), (122)-->(121), (136)-->(1-3,5,8,10,13,15,17,20,22,23,26-29,32,33,38,39,41-43,68,69,72,73,79,91,92,118-122) 181 │ │ │ └── left-join (lookup pg_foreign_server) 182 │ │ │ ├── columns: c.oid:1!null c.relname:2!null c.relnamespace:3!null c.relowner:5!null c.reltablespace:8!null c.reltuples:10!null c.relhasindex:13!null c.relpersistence:15!null c.relkind:17!null c.relhasoids:20!null c.relhasrules:22!null c.relhastriggers:23!null c.relacl:26 c.reloptions:27 n.oid:28!null n.nspname:29!null t.oid:32 spcname:33 i.inhrelid:38 i.inhparent:39 c2.oid:41 c2.relname:42 c2.relnamespace:43 n2.oid:68 n2.nspname:69 indexrelid:72 indrelid:73 indisclustered:79 ci.oid:91 ci.relname:92 ftrelid:118 ftserver:119 ftoptions:120 fs.oid:121 srvname:122 183 │ │ │ ├── key columns: [119] = [121] 184 │ │ │ ├── lookup columns are key 185 │ │ │ ├── fd: ()-->(3,28,29), (1)-->(2,5,8,10,13,15,17,20,22,23,26,27,32,33), (2)-->(1,5,8,10,13,15,17,20,22,23,26,27), (3)==(28), (28)==(3), (32)-->(33), (33)-->(32), (41)-->(42,43), (42,43)-->(41), (39)==(41), (41)==(39), (68)~~>(69), (69)~~>(68), (72)-->(73), (91)-->(92), (118)-->(119,120), (121)-->(122), (122)-->(121) 186 │ │ │ ├── left-join (lookup pg_foreign_table) 187 │ │ │ │ ├── columns: c.oid:1!null c.relname:2!null c.relnamespace:3!null c.relowner:5!null c.reltablespace:8!null c.reltuples:10!null c.relhasindex:13!null c.relpersistence:15!null c.relkind:17!null c.relhasoids:20!null c.relhasrules:22!null c.relhastriggers:23!null c.relacl:26 c.reloptions:27 n.oid:28!null n.nspname:29!null t.oid:32 spcname:33 i.inhrelid:38 i.inhparent:39 c2.oid:41 c2.relname:42 c2.relnamespace:43 n2.oid:68 n2.nspname:69 indexrelid:72 indrelid:73 indisclustered:79 ci.oid:91 ci.relname:92 ftrelid:118 ftserver:119 ftoptions:120 188 │ │ │ │ ├── key columns: [1] = [118] 189 │ │ │ │ ├── lookup columns are key 190 │ │ │ │ ├── fd: ()-->(3,28,29), (1)-->(2,5,8,10,13,15,17,20,22,23,26,27,32,33), (2)-->(1,5,8,10,13,15,17,20,22,23,26,27), (3)==(28), (28)==(3), (32)-->(33), (33)-->(32), (41)-->(42,43), (42,43)-->(41), (39)==(41), (41)==(39), (68)~~>(69), (69)~~>(68), (72)-->(73), (91)-->(92), (118)-->(119,120) 191 │ │ │ │ ├── left-join (lookup pg_class) 192 │ │ │ │ │ ├── columns: c.oid:1!null c.relname:2!null c.relnamespace:3!null c.relowner:5!null c.reltablespace:8!null c.reltuples:10!null c.relhasindex:13!null c.relpersistence:15!null c.relkind:17!null c.relhasoids:20!null c.relhasrules:22!null c.relhastriggers:23!null c.relacl:26 c.reloptions:27 n.oid:28!null n.nspname:29!null t.oid:32 spcname:33 i.inhrelid:38 i.inhparent:39 c2.oid:41 c2.relname:42 c2.relnamespace:43 n2.oid:68 n2.nspname:69 indexrelid:72 indrelid:73 indisclustered:79 ci.oid:91 ci.relname:92 193 │ │ │ │ │ ├── key columns: [72] = [91] 194 │ │ │ │ │ ├── lookup columns are key 195 │ │ │ │ │ ├── fd: ()-->(3,28,29), (1)-->(2,5,8,10,13,15,17,20,22,23,26,27,32,33), (2)-->(1,5,8,10,13,15,17,20,22,23,26,27), (3)==(28), (28)==(3), (32)-->(33), (33)-->(32), (41)-->(42,43), (42,43)-->(41), (39)==(41), (41)==(39), (68)~~>(69), (69)~~>(68), (72)-->(73), (91)-->(92) 196 │ │ │ │ │ ├── right-join (hash) 197 │ │ │ │ │ │ ├── columns: c.oid:1!null c.relname:2!null c.relnamespace:3!null c.relowner:5!null c.reltablespace:8!null c.reltuples:10!null c.relhasindex:13!null c.relpersistence:15!null c.relkind:17!null c.relhasoids:20!null c.relhasrules:22!null c.relhastriggers:23!null c.relacl:26 c.reloptions:27 n.oid:28!null n.nspname:29!null t.oid:32 spcname:33 i.inhrelid:38 i.inhparent:39 c2.oid:41 c2.relname:42 c2.relnamespace:43 n2.oid:68 n2.nspname:69 indexrelid:72 indrelid:73 indisclustered:79 198 │ │ │ │ │ │ ├── fd: ()-->(3,28,29), (1)-->(2,5,8,10,13,15,17,20,22,23,26,27,32,33), (2)-->(1,5,8,10,13,15,17,20,22,23,26,27), (3)==(28), (28)==(3), (32)-->(33), (33)-->(32), (41)-->(42,43), (42,43)-->(41), (39)==(41), (41)==(39), (68)~~>(69), (69)~~>(68), (72)-->(73) 199 │ │ │ │ │ │ ├── select 200 │ │ │ │ │ │ │ ├── columns: i.inhrelid:38 i.inhparent:39 c2.oid:41 c2.relname:42 c2.relnamespace:43 n2.oid:68 n2.nspname:69 indexrelid:72!null indrelid:73!null indisclustered:79!null 201 │ │ │ │ │ │ │ ├── key: (72) 202 │ │ │ │ │ │ │ ├── fd: ()-->(79), (72)-->(73) 203 │ │ │ │ │ │ │ ├── scan ind 204 │ │ │ │ │ │ │ │ ├── columns: i.inhrelid:38 i.inhparent:39 c2.oid:41 c2.relname:42 c2.relnamespace:43 n2.oid:68 n2.nspname:69 indexrelid:72!null indrelid:73!null indisclustered:79!null 205 │ │ │ │ │ │ │ │ ├── key: (72) 206 │ │ │ │ │ │ │ │ └── fd: (72)-->(73,79) 207 │ │ │ │ │ │ │ └── filters 208 │ │ │ │ │ │ │ └── indisclustered:79 = true [outer=(79), constraints=(/79: [/true - /true]; tight), fd=()-->(79)] 209 │ │ │ │ │ │ ├── right-join (hash) 210 │ │ │ │ │ │ │ ├── columns: c.oid:1!null c.relname:2!null c.relnamespace:3!null c.relowner:5!null c.reltablespace:8!null c.reltuples:10!null c.relhasindex:13!null c.relpersistence:15!null c.relkind:17!null c.relhasoids:20!null c.relhasrules:22!null c.relhastriggers:23!null c.relacl:26 c.reloptions:27 n.oid:28!null n.nspname:29!null t.oid:32 spcname:33 i.inhrelid:38 i.inhparent:39 c2.oid:41 c2.relname:42 c2.relnamespace:43 n2.oid:68 n2.nspname:69 211 │ │ │ │ │ │ │ ├── fd: ()-->(3,28,29), (1)-->(2,5,8,10,13,15,17,20,22,23,26,27,32,33), (2)-->(1,5,8,10,13,15,17,20,22,23,26,27), (3)==(28), (28)==(3), (32)-->(33), (33)-->(32), (41)-->(42,43), (42,43)-->(41), (39)==(41), (41)==(39), (68)~~>(69), (69)~~>(68) 212 │ │ │ │ │ │ │ ├── left-join (hash) 213 │ │ │ │ │ │ │ │ ├── columns: i.inhrelid:38!null i.inhparent:39!null c2.oid:41!null c2.relname:42!null c2.relnamespace:43!null n2.oid:68 n2.nspname:69 214 │ │ │ │ │ │ │ │ ├── fd: (41)-->(42,43), (42,43)-->(41), (39)==(41), (41)==(39), (68)-->(69), (69)-->(68) 215 │ │ │ │ │ │ │ │ ├── inner-join (hash) 216 │ │ │ │ │ │ │ │ │ ├── columns: i.inhrelid:38!null i.inhparent:39!null c2.oid:41!null c2.relname:42!null c2.relnamespace:43!null 217 │ │ │ │ │ │ │ │ │ ├── fd: (41)-->(42,43), (42,43)-->(41), (39)==(41), (41)==(39) 218 │ │ │ │ │ │ │ │ │ ├── scan i 219 │ │ │ │ │ │ │ │ │ │ └── columns: i.inhrelid:38!null i.inhparent:39!null 220 │ │ │ │ │ │ │ │ │ ├── scan c2@pg_class_relname_nsp_index 221 │ │ │ │ │ │ │ │ │ │ ├── columns: c2.oid:41!null c2.relname:42!null c2.relnamespace:43!null 222 │ │ │ │ │ │ │ │ │ │ ├── key: (41) 223 │ │ │ │ │ │ │ │ │ │ └── fd: (41)-->(42,43), (42,43)-->(41) 224 │ │ │ │ │ │ │ │ │ └── filters 225 │ │ │ │ │ │ │ │ │ └── i.inhparent:39 = c2.oid:41 [outer=(39,41), constraints=(/39: (/NULL - ]; /41: (/NULL - ]), fd=(39)==(41), (41)==(39)] 226 │ │ │ │ │ │ │ │ ├── scan n2@pg_namespace_nspname_index 227 │ │ │ │ │ │ │ │ │ ├── columns: n2.oid:68!null n2.nspname:69!null 228 │ │ │ │ │ │ │ │ │ ├── key: (68) 229 │ │ │ │ │ │ │ │ │ └── fd: (68)-->(69), (69)-->(68) 230 │ │ │ │ │ │ │ │ └── filters 231 │ │ │ │ │ │ │ │ └── n2.oid:68 = c2.relnamespace:43 [outer=(43,68), constraints=(/43: (/NULL - ]; /68: (/NULL - ]), fd=(43)==(68), (68)==(43)] 232 │ │ │ │ │ │ │ ├── left-join (lookup pg_tablespace) 233 │ │ │ │ │ │ │ │ ├── columns: c.oid:1!null c.relname:2!null c.relnamespace:3!null c.relowner:5!null c.reltablespace:8!null c.reltuples:10!null c.relhasindex:13!null c.relpersistence:15!null c.relkind:17!null c.relhasoids:20!null c.relhasrules:22!null c.relhastriggers:23!null c.relacl:26 c.reloptions:27 n.oid:28!null n.nspname:29!null t.oid:32 spcname:33 234 │ │ │ │ │ │ │ │ ├── key columns: [8] = [32] 235 │ │ │ │ │ │ │ │ ├── lookup columns are key 236 │ │ │ │ │ │ │ │ ├── key: (1) 237 │ │ │ │ │ │ │ │ ├── fd: ()-->(3,28,29), (1)-->(2,5,8,10,13,15,17,20,22,23,26,27,32,33), (2)-->(1,5,8,10,13,15,17,20,22,23,26,27), (3)==(28), (28)==(3), (32)-->(33), (33)-->(32) 238 │ │ │ │ │ │ │ │ ├── inner-join (hash) 239 │ │ │ │ │ │ │ │ │ ├── columns: c.oid:1!null c.relname:2!null c.relnamespace:3!null c.relowner:5!null c.reltablespace:8!null c.reltuples:10!null c.relhasindex:13!null c.relpersistence:15!null c.relkind:17!null c.relhasoids:20!null c.relhasrules:22!null c.relhastriggers:23!null c.relacl:26 c.reloptions:27 n.oid:28!null n.nspname:29!null 240 │ │ │ │ │ │ │ │ │ ├── key: (1) 241 │ │ │ │ │ │ │ │ │ ├── fd: ()-->(3,28,29), (1)-->(2,5,8,10,13,15,17,20,22,23,26,27), (2)-->(1,5,8,10,13,15,17,20,22,23,26,27), (3)==(28), (28)==(3) 242 │ │ │ │ │ │ │ │ │ ├── select 243 │ │ │ │ │ │ │ │ │ │ ├── columns: c.oid:1!null c.relname:2!null c.relnamespace:3!null c.relowner:5!null c.reltablespace:8!null c.reltuples:10!null c.relhasindex:13!null c.relpersistence:15!null c.relkind:17!null c.relhasoids:20!null c.relhasrules:22!null c.relhastriggers:23!null c.relacl:26 c.reloptions:27 244 │ │ │ │ │ │ │ │ │ │ ├── key: (1) 245 │ │ │ │ │ │ │ │ │ │ ├── fd: (1)-->(2,3,5,8,10,13,15,17,20,22,23,26,27), (2,3)-->(1,5,8,10,13,15,17,20,22,23,26,27) 246 │ │ │ │ │ │ │ │ │ │ ├── scan c 247 │ │ │ │ │ │ │ │ │ │ │ ├── columns: c.oid:1!null c.relname:2!null c.relnamespace:3!null c.relowner:5!null c.reltablespace:8!null c.reltuples:10!null c.relhasindex:13!null c.relpersistence:15!null c.relkind:17!null c.relhasoids:20!null c.relhasrules:22!null c.relhastriggers:23!null c.relacl:26 c.reloptions:27 248 │ │ │ │ │ │ │ │ │ │ │ ├── key: (1) 249 │ │ │ │ │ │ │ │ │ │ │ └── fd: (1)-->(2,3,5,8,10,13,15,17,20,22,23,26,27), (2,3)-->(1,5,8,10,13,15,17,20,22,23,26,27) 250 │ │ │ │ │ │ │ │ │ │ └── filters 251 │ │ │ │ │ │ │ │ │ │ └── (c.relkind:17 = 'r') OR (c.relkind:17 = 'f') [outer=(17), constraints=(/17: [/'f' - /'f'] [/'r' - /'r']; tight)] 252 │ │ │ │ │ │ │ │ │ ├── scan n@pg_namespace_nspname_index 253 │ │ │ │ │ │ │ │ │ │ ├── columns: n.oid:28!null n.nspname:29!null 254 │ │ │ │ │ │ │ │ │ │ ├── constraint: /29: [/'public' - /'public'] 255 │ │ │ │ │ │ │ │ │ │ ├── cardinality: [0 - 1] 256 │ │ │ │ │ │ │ │ │ │ ├── key: () 257 │ │ │ │ │ │ │ │ │ │ └── fd: ()-->(28,29) 258 │ │ │ │ │ │ │ │ │ └── filters 259 │ │ │ │ │ │ │ │ │ └── n.oid:28 = c.relnamespace:3 [outer=(3,28), constraints=(/3: (/NULL - ]; /28: (/NULL - ]), fd=(3)==(28), (28)==(3)] 260 │ │ │ │ │ │ │ │ └── filters (true) 261 │ │ │ │ │ │ │ └── filters 262 │ │ │ │ │ │ │ └── i.inhrelid:38 = c.oid:1 [outer=(1,38), constraints=(/1: (/NULL - ]; /38: (/NULL - ]), fd=(1)==(38), (38)==(1)] 263 │ │ │ │ │ │ └── filters 264 │ │ │ │ │ │ └── indrelid:73 = c.oid:1 [outer=(1,73), constraints=(/1: (/NULL - ]; /73: (/NULL - ]), fd=(1)==(73), (73)==(1)] 265 │ │ │ │ │ └── filters (true) 266 │ │ │ │ └── filters (true) 267 │ │ │ └── filters (true) 268 │ │ └── filters 269 │ │ └── pg_inherits.inhparent:130 = c.oid:1 [outer=(1,130), constraints=(/1: (/NULL - ]; /130: (/NULL - ]), fd=(1)==(130), (130)==(1)] 270 │ └── aggregations 271 │ ├── count [as=count_rows:132, outer=(130)] 272 │ │ └── pg_inherits.inhparent:130 273 │ ├── const-agg [as=c.oid:1, outer=(1)] 274 │ │ └── c.oid:1 275 │ ├── const-agg [as=c.relname:2, outer=(2)] 276 │ │ └── c.relname:2 277 │ ├── const-agg [as=c.relowner:5, outer=(5)] 278 │ │ └── c.relowner:5 279 │ ├── const-agg [as=c.reltuples:10, outer=(10)] 280 │ │ └── c.reltuples:10 281 │ ├── const-agg [as=c.relhasindex:13, outer=(13)] 282 │ │ └── c.relhasindex:13 283 │ ├── const-agg [as=c.relpersistence:15, outer=(15)] 284 │ │ └── c.relpersistence:15 285 │ ├── const-agg [as=c.relkind:17, outer=(17)] 286 │ │ └── c.relkind:17 287 │ ├── const-agg [as=c.relhasoids:20, outer=(20)] 288 │ │ └── c.relhasoids:20 289 │ ├── const-agg [as=c.relhasrules:22, outer=(22)] 290 │ │ └── c.relhasrules:22 291 │ ├── const-agg [as=c.relhastriggers:23, outer=(23)] 292 │ │ └── c.relhastriggers:23 293 │ ├── const-agg [as=c.relacl:26, outer=(26)] 294 │ │ └── c.relacl:26 295 │ ├── const-agg [as=c.reloptions:27, outer=(27)] 296 │ │ └── c.reloptions:27 297 │ ├── const-agg [as=n.nspname:29, outer=(29)] 298 │ │ └── n.nspname:29 299 │ ├── const-agg [as=spcname:33, outer=(33)] 300 │ │ └── spcname:33 301 │ ├── const-agg [as=c2.relname:42, outer=(42)] 302 │ │ └── c2.relname:42 303 │ ├── const-agg [as=n2.nspname:69, outer=(69)] 304 │ │ └── n2.nspname:69 305 │ ├── const-agg [as=ci.relname:92, outer=(92)] 306 │ │ └── ci.relname:92 307 │ ├── const-agg [as=ftoptions:120, outer=(120)] 308 │ │ └── ftoptions:120 309 │ └── const-agg [as=srvname:122, outer=(122)] 310 │ └── srvname:122 311 └── projections 312 ├── pg_get_userbyid(c.relowner:5) [as=tableowner:133, outer=(5), stable] 313 ├── obj_description(c.oid:1) [as=description:134, outer=(1), stable] 314 └── count_rows:132 > 0 [as=inhtable:135, outer=(132)]