Re: Relation forks & FSM rewrite patches - Mailing list pgsql-patches

From Mark Kirkwood
Subject Re: Relation forks & FSM rewrite patches
Date
Msg-id 486D97C7.2070204@paradise.net.nz
Whole thread Raw
In response to Relation forks & FSM rewrite patches  ("Heikki Linnakangas" <heikki@enterprisedb.com>)
List pgsql-patches
Heikki Linnakangas wrote:
> Here's an updated version of the "relation forks" patch, and an
> incremental FSM rewrite patch on top of that. The relation forks patch
> is ready for review. The FSM implementation is more work-in-progress
> still, but I'd like to get some review on that as well, with the goal
> of doing more performance testing and committing it after the commit
> fest.
>
> The one part that I'm not totally satisfied in the relation forks
> patch is the smgrcreate() function. The question problem is: which
> piece of code decides which forks to create for a relation, and when
> to create them? I settled on the concept that all forks that a
> relation will need are created at once, in one smgrcreate() call.
> There's no function to create additional forks later on. Likewise,
> there's no function to unlink individual forks, you have to unlink the
> whole relation.
>
> Currently, heap_create() decides which forks to create. That's fine at
> the moment, but will become problematic in the future, as it's
> indexam-specific which forks an index requires. That decision should
> really be done in the indexam. One possibility would be to only create
> the main fork in heap_create(), and let indexam create any additional
> forks it needs in ambuild function.
>

I've had a bit of a play with this, looks pretty nice. One point that
comes to mind is that we are increasing the number of required file
descriptors by a factor of 2 (and possibly 3 if we use a fork for the
visibility map). Is this a problem do you think?

Cheers

Mark

pgsql-patches by date:

Previous
From: Russell Smith
Date:
Subject: Re: Removal of the patches email list
Next
From: Tom Raney
Date:
Subject: Re: Explain XML patch v2