From a52aa6c6db13155bc0b1b1b18fedf2310d9e7a84 Mon Sep 17 00:00:00 2001 From: Bruce Momjian Date: Wed, 20 Oct 2010 20:02:00 +0000 Subject: [PATCH] Clean up pg_upgrade cache lookup code; remove useless NULL pointer tests. --- contrib/pg_upgrade/info.c | 30 +++++++++++------------------- contrib/pg_upgrade/pg_upgrade.h | 2 +- 2 files changed, 12 insertions(+), 20 deletions(-) diff --git a/contrib/pg_upgrade/info.c b/contrib/pg_upgrade/info.c index 257f5a8ee3..67528b0d72 100644 --- a/contrib/pg_upgrade/info.c +++ b/contrib/pg_upgrade/info.c @@ -74,8 +74,8 @@ gen_db_file_maps(DbInfo *old_db, DbInfo *new_db, num_maps++; /* - * so much for the mapping of this relation. Now we need a mapping for - * its corresponding toast relation if any. + * So much for mapping this relation; now we need a mapping + * for its corresponding toast relation, if any. */ if (oldrel->toastrelid > 0) { @@ -117,6 +117,7 @@ gen_db_file_maps(DbInfo *old_db, DbInfo *new_db, newrel->reloid); /* look them up in their respective arrays */ + /* we lose our cache location here */ old_toast = relarr_lookup_rel(&old_db->rel_arr, "pg_toast", old_name, CLUSTER_OLD); 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->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; - if (!db_arr || !db_name) - return NULL; - for (dbnum = 0; dbnum < db_arr->ndbs; dbnum++) { 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; - if (!rel_arr || !relname) - return NULL; - /* Test next lookup first, for speed */ - if (rel_arr->cache_name_rel + 1 < rel_arr->nrels && - strcmp(rel_arr->rels[rel_arr->cache_name_rel + 1].nspname, nspname) == 0 && - strcmp(rel_arr->rels[rel_arr->cache_name_rel + 1].relname, relname) == 0) + if (rel_arr->last_relname_lookup + 1 < rel_arr->nrels && + strcmp(rel_arr->rels[rel_arr->last_relname_lookup + 1].nspname, nspname) == 0 && + strcmp(rel_arr->rels[rel_arr->last_relname_lookup + 1].relname, relname) == 0) { - rel_arr->cache_name_rel++; - return &rel_arr->rels[rel_arr->cache_name_rel]; + rel_arr->last_relname_lookup++; + return &rel_arr->rels[rel_arr->last_relname_lookup]; } 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 && 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]; } } @@ -464,9 +459,6 @@ relarr_lookup_reloid(RelInfoArr *rel_arr, Oid oid, { int relnum; - if (!rel_arr || !oid) - return NULL; - for (relnum = 0; relnum < rel_arr->nrels; relnum++) { if (rel_arr->rels[relnum].reloid == oid) @@ -483,7 +475,7 @@ relarr_free(RelInfoArr *rel_arr) { pg_free(rel_arr->rels); rel_arr->nrels = 0; - rel_arr->cache_name_rel = 0; + rel_arr->last_relname_lookup = 0; } diff --git a/contrib/pg_upgrade/pg_upgrade.h b/contrib/pg_upgrade/pg_upgrade.h index e40f58d3e5..439c0a7425 100644 --- a/contrib/pg_upgrade/pg_upgrade.h +++ b/contrib/pg_upgrade/pg_upgrade.h @@ -78,7 +78,7 @@ typedef struct { RelInfo *rels; int nrels; - int cache_name_rel; /* cache of last lookup location */ + int last_relname_lookup; /* cache of last lookup location */ } RelInfoArr; /* -- 2.40.0