Re: [PATCH 09/14] Adjust all *Satisfies routines to take a HeapTuple instead of a HeapTupleHeader

Steve Singer <steve@ssinger.info>

From: Steve Singer <steve@ssinger.info>
To: Andres Freund <andres@2ndquadrant.com>
Cc: pgsql-hackers@postgresql.org
Date: 2012-11-17T04:27:33Z
Lists: pgsql-hackers
On 12-11-14 08:17 PM, Andres Freund wrote:
> For the regular satisfies routines this is needed in prepareation of logical
> decoding. I changed the non-regular ones for consistency as well.
>
> The naming between htup, tuple and similar is rather confused, I could not find
> any consistent naming anywhere.
>
> This is preparatory work for the logical decoding feature which needs to be
> able to get to a valid relfilenode from when checking the visibility of a
> tuple.
>

I have taken a look at this patch.   The patch does what it says, it 
changes a bunch of
HeapTupleSatisfiesXXXX routines to take a HeapTuple structure instead of 
a HeapTupleHeader.
It also sets the HeapTuple.t_tableOid value before calling these routines.

The patch does not modify these routines to actually do anything useful 
with the additional data fields though it does add some assertions to 
make sure t_tableOid is set.

The patch compiles cleanly and the unit tests pass.

This patch  does not seem to depend on any of the other patches in this 
set and applies cleanly against master.  The patch doesn't actually add 
any functionality, unless someone sees a reason for complaining about 
this that I don't see, then I think it can be committed.

Steve

> ---
>   contrib/pgrowlocks/pgrowlocks.c      |  2 +-
>   src/backend/access/heap/heapam.c     | 13 ++++++----
>   src/backend/access/heap/pruneheap.c  | 16 ++++++++++--
>   src/backend/catalog/index.c          |  2 +-
>   src/backend/commands/analyze.c       |  3 ++-
>   src/backend/commands/cluster.c       |  2 +-
>   src/backend/commands/vacuumlazy.c    |  3 ++-
>   src/backend/storage/lmgr/predicate.c |  2 +-
>   src/backend/utils/time/tqual.c       | 50 +++++++++++++++++++++++++++++-------
>   src/include/utils/snapshot.h         |  4 +--
>   src/include/utils/tqual.h            | 20 +++++++--------
>   11 files changed, 83 insertions(+), 34 deletions(-)
>
>
>

Commits

Same data as JSON: GET /api/v1/messages/:b64id/commits the thread's linked commits as JSON, with link sources. API reference →
  1. Background worker processes

  2. Rearrange storage of data in xl_running_xacts.

  3. Basic binary heap implementation.

  4. Embedded list interface

  5. Refactor xlog.c to create src/backend/postmaster/startup.c