On Sat, Nov 10, 2012 at 07:17:34PM +0200, Ants Aasma wrote:
> On Sat, Nov 10, 2012 at 7:10 PM, Bruce Momjian <bruce@momjian.us> wrote:
> > I am confused why you see a loop. transfer_all_new_dbs() does a
> > merge-join of old/new database names, then calls gen_db_file_maps(),
> > which loops over the relations and calls create_rel_filename_map(),
> > which adds to the map via array indexing. I don't see any file loops
> > in there --- can you be more specific?
>
> Sorry, I was too tired when posting that. I actually meant
> transfer_single_new_db(). More specifically the profile clearly showed
> that most of the time was spent in the two loops starting on lines 193
> and 228.
Wow, you are right on target. I was so focused on making logical
lookups linear that I did not consider file system vm/fsm and file
extension lookups. Let me think a little and I will report back.
Thanks.
-- Bruce Momjian <bruce@momjian.us> http://momjian.us EnterpriseDB
http://enterprisedb.com
+ It's impossible for everything to be true. +