@@ -74,8 +74,8 @@ gen_db_file_maps(DbInfo *old_db, DbInfo *new_db,
7474num_maps ++ ;
7575
7676/*
77- *so much forthe mappingof this relation. Now we need a mapping for
78- * its corresponding toast relation if any.
77+ *So much for mapping this relation; now we need a mapping
78+ *for its corresponding toast relation, if any.
7979 */
8080if (oldrel -> toastrelid > 0 )
8181{
@@ -117,6 +117,7 @@ gen_db_file_maps(DbInfo *old_db, DbInfo *new_db,
117117newrel -> reloid );
118118
119119/* look them up in their respective arrays */
120+ /* we lose our cache location here */
120121old_toast = relarr_lookup_rel (& old_db -> rel_arr ,
121122"pg_toast" ,old_name ,CLUSTER_OLD );
122123new_toast = relarr_lookup_rel (& new_db -> rel_arr ,
@@ -385,7 +386,7 @@ get_rel_infos(const DbInfo *dbinfo, RelInfoArr *relarr, Cluster whichCluster)
385386
386387relarr -> rels = relinfos ;
387388relarr -> nrels = num_rels ;
388- relarr -> cache_name_rel = 0 ;
389+ relarr -> last_relname_lookup = 0 ;
389390}
390391
391392
@@ -399,9 +400,6 @@ dbarr_lookup_db(DbInfoArr *db_arr, const char *db_name)
399400{
400401int dbnum ;
401402
402- if (!db_arr || !db_name )
403- return NULL ;
404-
405403for (dbnum = 0 ;dbnum < db_arr -> ndbs ;dbnum ++ )
406404{
407405if (strcmp (db_arr -> dbs [dbnum ].db_name ,db_name )== 0 )
@@ -424,24 +422,21 @@ relarr_lookup_rel(RelInfoArr *rel_arr, const char *nspname,
424422{
425423int relnum ;
426424
427- if (!rel_arr || !relname )
428- return NULL ;
429-
430425/* Test next lookup first, for speed */
431- if (rel_arr -> cache_name_rel + 1 < rel_arr -> nrels &&
432- strcmp (rel_arr -> rels [rel_arr -> cache_name_rel + 1 ].nspname ,nspname )== 0 &&
433- strcmp (rel_arr -> rels [rel_arr -> cache_name_rel + 1 ].relname ,relname )== 0 )
426+ if (rel_arr -> last_relname_lookup + 1 < rel_arr -> nrels &&
427+ strcmp (rel_arr -> rels [rel_arr -> last_relname_lookup + 1 ].nspname ,nspname )== 0 &&
428+ strcmp (rel_arr -> rels [rel_arr -> last_relname_lookup + 1 ].relname ,relname )== 0 )
434429{
435- rel_arr -> cache_name_rel ++ ;
436- return & rel_arr -> rels [rel_arr -> cache_name_rel ];
430+ rel_arr -> last_relname_lookup ++ ;
431+ return & rel_arr -> rels [rel_arr -> last_relname_lookup ];
437432}
438433
439434for (relnum = 0 ;relnum < rel_arr -> nrels ;relnum ++ )
440435{
441436if (strcmp (rel_arr -> rels [relnum ].nspname ,nspname )== 0 &&
442437strcmp (rel_arr -> rels [relnum ].relname ,relname )== 0 )
443438{
444- rel_arr -> cache_name_rel = relnum ;
439+ rel_arr -> last_relname_lookup = relnum ;
445440return & rel_arr -> rels [relnum ];
446441}
447442}
@@ -464,9 +459,6 @@ relarr_lookup_reloid(RelInfoArr *rel_arr, Oid oid,
464459{
465460int relnum ;
466461
467- if (!rel_arr || !oid )
468- return NULL ;
469-
470462for (relnum = 0 ;relnum < rel_arr -> nrels ;relnum ++ )
471463{
472464if (rel_arr -> rels [relnum ].reloid == oid )
@@ -483,7 +475,7 @@ relarr_free(RelInfoArr *rel_arr)
483475{
484476pg_free (rel_arr -> rels );
485477rel_arr -> nrels = 0 ;
486- rel_arr -> cache_name_rel = 0 ;
478+ rel_arr -> last_relname_lookup = 0 ;
487479}
488480
489481