From 604e99396de02f6f23950ee373c13335d2ccdf05 Mon Sep 17 00:00:00 2001
From: Kevin Grittner <kgrittn@postgresql.org>
Date: Sat, 27 Jun 2015 09:55:06 -0500
Subject: [PATCH] Add opaque declaration of HTAB to tqual.h.

Commit b89e151054a05f0f6d356ca52e3b725dd0505e53 added the
ResolveCminCmaxDuringDecoding declaration to tqual.h, which uses an
HTAB parameter, without declaring HTAB.  It accidentally fails to
fail to build with current sources because a declaration happens to
be included, directly or indirectly, in all source files that
currently use tqual.h before tqual.h is first included, but we
shouldn't count on that.  Since an opaque declaration is enough
here, just use that, as was done in snapmgr.h.

Backpatch to 9.4, where the HTAB reference was added to tqual.h.
---
 src/include/utils/tqual.h | 1 +
 1 file changed, 1 insertion(+)

diff --git a/src/include/utils/tqual.h b/src/include/utils/tqual.h
index ee8345e4097..267d9565011 100644
--- a/src/include/utils/tqual.h
+++ b/src/include/utils/tqual.h
@@ -94,6 +94,7 @@ extern bool HeapTupleHeaderIsOnlyLocked(HeapTupleHeader tuple);
  * To avoid leaking too much knowledge about reorderbuffer implementation
  * details this is implemented in reorderbuffer.c not tqual.c.
  */
+struct HTAB;
 extern bool ResolveCminCmaxDuringDecoding(struct HTAB *tuplecid_data,
 							  Snapshot snapshot,
 							  HeapTuple htup,
-- 
GitLab