|
184 | 184 | # within a given Postgres release, such as fixed OIDs. Do not substitute
|
185 | 185 | # anything that could depend on platform or configuration. (The right place
|
186 | 186 | # to handle those sorts of things is in initdb.c's bootstrap_template1().)
|
187 |
| -my $BOOTSTRAP_SUPERUSERID = |
188 |
| - Catalog::FindDefinedSymbolFromData($catalog_data{pg_authid}, |
189 |
| - 'BOOTSTRAP_SUPERUSERID'); |
190 | 187 | my $C_COLLATION_OID =
|
191 | 188 | Catalog::FindDefinedSymbolFromData($catalog_data{pg_collation},
|
192 | 189 | 'C_COLLATION_OID');
|
193 |
| -my $PG_CATALOG_NAMESPACE = |
194 |
| - Catalog::FindDefinedSymbolFromData($catalog_data{pg_namespace}, |
195 |
| - 'PG_CATALOG_NAMESPACE'); |
196 | 190 |
|
197 | 191 |
|
198 | 192 | # Fill in pg_class.relnatts by looking at the referenced catalog's schema.
|
|
213 | 207 | $amoids{ $row->{amname} } = $row->{oid};
|
214 | 208 | }
|
215 | 209 |
|
216 |
| -# There is only one authid at bootstrap time, and we handle it specially: |
217 |
| -# the usually-defaulted symbol PGUID becomes the bootstrap superuser's OID. |
218 |
| -# (We could drop this in favor of writing out BKI_DEFAULT(POSTGRES) ...) |
| 210 | +# role OID lookup |
219 | 211 | my %authidoids;
|
220 |
| -$authidoids{'PGUID'} = $BOOTSTRAP_SUPERUSERID; |
| 212 | +foreach my $row (@{ $catalog_data{pg_authid} }) |
| 213 | +{ |
| 214 | + $authidoids{ $row->{rolname} } = $row->{oid}; |
| 215 | +} |
221 | 216 |
|
222 | 217 | # class (relation) OID lookup (note this only covers bootstrap catalogs!)
|
223 | 218 | my %classoids;
|
|
240 | 235 | $langoids{ $row->{lanname} } = $row->{oid};
|
241 | 236 | }
|
242 | 237 |
|
243 |
| -# There is only one namespace at bootstrap time, and we handle it specially: |
244 |
| -# the usually-defaulted symbol PGNSP becomes the pg_catalog namespace's OID. |
245 |
| -# (We could drop this in favor of writing out BKI_DEFAULT(pg_catalog) ...) |
| 238 | +# namespace (schema) OID lookup |
246 | 239 | my %namespaceoids;
|
247 |
| -$namespaceoids{'PGNSP'} = $PG_CATALOG_NAMESPACE; |
| 240 | +foreach my $row (@{ $catalog_data{pg_namespace} }) |
| 241 | +{ |
| 242 | + $namespaceoids{ $row->{nspname} } = $row->{oid}; |
| 243 | +} |
248 | 244 |
|
249 | 245 | # opclass OID lookup
|
250 | 246 | my %opcoids;
|
|
0 commit comments