mirror of
https://github.com/postgres/postgres.git
synced 2025-04-27 22:56:53 +03:00
Clean up pg_upgrade cache lookup code; remove useless NULL pointer tests.
This commit is contained in:
parent
18e752f226
commit
a52aa6c6db
@ -74,8 +74,8 @@ gen_db_file_maps(DbInfo *old_db, DbInfo *new_db,
|
|||||||
num_maps++;
|
num_maps++;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* so much for the mapping of this relation. Now we need a mapping for
|
* So much for mapping this relation; now we need a mapping
|
||||||
* its corresponding toast relation if any.
|
* for its corresponding toast relation, if any.
|
||||||
*/
|
*/
|
||||||
if (oldrel->toastrelid > 0)
|
if (oldrel->toastrelid > 0)
|
||||||
{
|
{
|
||||||
@ -117,6 +117,7 @@ gen_db_file_maps(DbInfo *old_db, DbInfo *new_db,
|
|||||||
newrel->reloid);
|
newrel->reloid);
|
||||||
|
|
||||||
/* look them up in their respective arrays */
|
/* look them up in their respective arrays */
|
||||||
|
/* we lose our cache location here */
|
||||||
old_toast = relarr_lookup_rel(&old_db->rel_arr,
|
old_toast = relarr_lookup_rel(&old_db->rel_arr,
|
||||||
"pg_toast", old_name, CLUSTER_OLD);
|
"pg_toast", old_name, CLUSTER_OLD);
|
||||||
new_toast = relarr_lookup_rel(&new_db->rel_arr,
|
new_toast = relarr_lookup_rel(&new_db->rel_arr,
|
||||||
@ -385,7 +386,7 @@ get_rel_infos(const DbInfo *dbinfo, RelInfoArr *relarr, Cluster whichCluster)
|
|||||||
|
|
||||||
relarr->rels = relinfos;
|
relarr->rels = relinfos;
|
||||||
relarr->nrels = num_rels;
|
relarr->nrels = num_rels;
|
||||||
relarr->cache_name_rel = 0;
|
relarr->last_relname_lookup = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -399,9 +400,6 @@ dbarr_lookup_db(DbInfoArr *db_arr, const char *db_name)
|
|||||||
{
|
{
|
||||||
int dbnum;
|
int dbnum;
|
||||||
|
|
||||||
if (!db_arr || !db_name)
|
|
||||||
return NULL;
|
|
||||||
|
|
||||||
for (dbnum = 0; dbnum < db_arr->ndbs; dbnum++)
|
for (dbnum = 0; dbnum < db_arr->ndbs; dbnum++)
|
||||||
{
|
{
|
||||||
if (strcmp(db_arr->dbs[dbnum].db_name, db_name) == 0)
|
if (strcmp(db_arr->dbs[dbnum].db_name, db_name) == 0)
|
||||||
@ -424,16 +422,13 @@ relarr_lookup_rel(RelInfoArr *rel_arr, const char *nspname,
|
|||||||
{
|
{
|
||||||
int relnum;
|
int relnum;
|
||||||
|
|
||||||
if (!rel_arr || !relname)
|
|
||||||
return NULL;
|
|
||||||
|
|
||||||
/* Test next lookup first, for speed */
|
/* Test next lookup first, for speed */
|
||||||
if (rel_arr->cache_name_rel + 1 < rel_arr->nrels &&
|
if (rel_arr->last_relname_lookup + 1 < rel_arr->nrels &&
|
||||||
strcmp(rel_arr->rels[rel_arr->cache_name_rel + 1].nspname, nspname) == 0 &&
|
strcmp(rel_arr->rels[rel_arr->last_relname_lookup + 1].nspname, nspname) == 0 &&
|
||||||
strcmp(rel_arr->rels[rel_arr->cache_name_rel + 1].relname, relname) == 0)
|
strcmp(rel_arr->rels[rel_arr->last_relname_lookup + 1].relname, relname) == 0)
|
||||||
{
|
{
|
||||||
rel_arr->cache_name_rel++;
|
rel_arr->last_relname_lookup++;
|
||||||
return &rel_arr->rels[rel_arr->cache_name_rel];
|
return &rel_arr->rels[rel_arr->last_relname_lookup];
|
||||||
}
|
}
|
||||||
|
|
||||||
for (relnum = 0; relnum < rel_arr->nrels; relnum++)
|
for (relnum = 0; relnum < rel_arr->nrels; relnum++)
|
||||||
@ -441,7 +436,7 @@ relarr_lookup_rel(RelInfoArr *rel_arr, const char *nspname,
|
|||||||
if (strcmp(rel_arr->rels[relnum].nspname, nspname) == 0 &&
|
if (strcmp(rel_arr->rels[relnum].nspname, nspname) == 0 &&
|
||||||
strcmp(rel_arr->rels[relnum].relname, relname) == 0)
|
strcmp(rel_arr->rels[relnum].relname, relname) == 0)
|
||||||
{
|
{
|
||||||
rel_arr->cache_name_rel = relnum;
|
rel_arr->last_relname_lookup = relnum;
|
||||||
return &rel_arr->rels[relnum];
|
return &rel_arr->rels[relnum];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -464,9 +459,6 @@ relarr_lookup_reloid(RelInfoArr *rel_arr, Oid oid,
|
|||||||
{
|
{
|
||||||
int relnum;
|
int relnum;
|
||||||
|
|
||||||
if (!rel_arr || !oid)
|
|
||||||
return NULL;
|
|
||||||
|
|
||||||
for (relnum = 0; relnum < rel_arr->nrels; relnum++)
|
for (relnum = 0; relnum < rel_arr->nrels; relnum++)
|
||||||
{
|
{
|
||||||
if (rel_arr->rels[relnum].reloid == oid)
|
if (rel_arr->rels[relnum].reloid == oid)
|
||||||
@ -483,7 +475,7 @@ relarr_free(RelInfoArr *rel_arr)
|
|||||||
{
|
{
|
||||||
pg_free(rel_arr->rels);
|
pg_free(rel_arr->rels);
|
||||||
rel_arr->nrels = 0;
|
rel_arr->nrels = 0;
|
||||||
rel_arr->cache_name_rel = 0;
|
rel_arr->last_relname_lookup = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -78,7 +78,7 @@ typedef struct
|
|||||||
{
|
{
|
||||||
RelInfo *rels;
|
RelInfo *rels;
|
||||||
int nrels;
|
int nrels;
|
||||||
int cache_name_rel; /* cache of last lookup location */
|
int last_relname_lookup; /* cache of last lookup location */
|
||||||
} RelInfoArr;
|
} RelInfoArr;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
Loading…
x
Reference in New Issue
Block a user