SSI modularity questions - Mailing list pgsql-hackers

From Kevin Grittner
Subject SSI modularity questions
Date
Msg-id 4E08846E020000250003EC69@gw.wicourts.gov
Whole thread Raw
Responses Re: SSI modularity questions
List pgsql-hackers
There are two outstanding patches for SSI which involve questions
about modularity.  In particular, they involve calls to predicate
locking and conflict detection from executor source files rather
than AM source files (where most such calls exist).
(1)  Dan submitted this patch:
http://archives.postgresql.org/message-id/20110622045850.GN83336@csail.mit.edu
which is a very safe and very simple patch to improve performance on
sequential heap scans at the serializable transaction isolation
level.  The location of the code being modified raised questions
about modularity.  There is a reasonably clear place to which it
could be moved in the heap AM, but because it would acquire a
predicate lock during node setup, it would get a lock on the heap
even if the node was never used, which could be a performance
regression in some cases.
(2)  In reviewing the above, Heikki noticed that there was a second
place in the executor that SSI calls were needed but missing.  I
submitted a patch here:
http://archives.postgresql.org/message-id/4E07550F020000250003EC42@gw.wicourts.gov
I wonder, though, whether the section of code which I needed to
modify should be moved to a new function in heapam.c on modularity
grounds.
If these two places were moved, there would be no SSI calls from any
source file in the executor subdirectory.
Should these be moved before beta3?
-Kevin


pgsql-hackers by date:

Previous
From: Bruce Momjian
Date:
Subject: Re: pg_upgrade defaulting to port 25432
Next
From: Robert Haas
Date:
Subject: Re: pg_upgrade defaulting to port 25432