Doing this meant that those two headers, which are supposed to be
internal to their corresponding index AMs, were being included pretty
much universally, because tuplesort.h is included by execnodes.h which
is very widely used. Stop that, and fix fallout.
We also change indexing.h to no longer include execnodes.h (tuptable.h
is sufficient), and relscan.h to no longer include buf.h (pointless
since
c2fe139c201c).
Author: Mario González <gonzalemario@gmail.com>
Discussion: https://postgr.es/m/CAFsReFUcBFup=Ohv_xd7SNQ=e73TXi8YNEkTsFEE2BW7jS1noQ@mail.gmail.com
*/
#include "postgres.h"
+#include "access/genam.h"
#include "access/gist.h"
#include "access/htup.h"
#include "access/htup_details.h"
#include "tcop/tcopprot.h"
#include "utils/datum.h"
#include "utils/memutils.h"
-#include "utils/rel.h"
#include "utils/builtins.h"
+#include "utils/rel.h"
+#include "utils/typcache.h"
/* Magic numbers for parallel state sharing */
*/
#include "postgres.h"
+#include "access/genam.h"
#include "access/htup_details.h"
#include "access/relation.h"
#include "access/table.h"
*/
#include "postgres.h"
+#include "access/genam.h"
#include "access/htup_details.h"
#include "access/table.h"
#include "catalog/catalog.h"
#include "common/string.h"
#include "mb/pg_wchar.h"
#include "miscadmin.h"
+#include "storage/fd.h"
#include "utils/acl.h"
#include "utils/builtins.h"
#include "utils/lsyscache.h"
#include "commands/user.h"
#include "libpq/crypt.h"
#include "miscadmin.h"
+#include "port/pg_bitutils.h"
#include "storage/lmgr.h"
#include "utils/acl.h"
#include "utils/builtins.h"
#include "postgres.h"
+#include "access/amapi.h"
#include "access/commit_ts.h"
#include "access/genam.h"
#include "access/gist.h"
#include "utils/fmgroids.h"
#include "utils/lsyscache.h"
#include "utils/timestamp.h"
+#include "utils/typcache.h"
#include "utils/xml.h"
/* GUC parameters */
#include "utils/inval.h"
#include "utils/lsyscache.h"
#include "utils/syscache.h"
+#include "utils/typcache.h"
static MemoryContext LogicalRepRelMapContext = NULL;
#include "postgres.h"
+#include "access/genam.h"
#include "access/table.h"
#include "catalog/pg_sequence.h"
#include "catalog/pg_subscription_rel.h"
#include "utils/lsyscache.h"
#include "utils/rel.h"
#include "utils/syscache.h"
+#include "utils/typcache.h"
/* Default values assigned to new pg_statistic tuples. */
#define DEFAULT_STATATT_NULL_FRAC Float4GetDatum(0.0) /* stanullfrac */
#include "access/itup.h"
#include "nodes/tidbitmap.h"
#include "port/atomics.h"
-#include "storage/buf.h"
#include "storage/relfilelocator.h"
#include "storage/spin.h"
#include "utils/relcache.h"
#define INDEXING_H
#include "access/htup.h"
-#include "nodes/execnodes.h"
+#include "executor/tuptable.h"
#include "utils/relcache.h"
/*
#ifndef EXECNODES_H
#define EXECNODES_H
+#include "access/skey.h"
#include "access/tupconvert.h"
#include "executor/instrument.h"
+#include "executor/instrument_node.h"
#include "fmgr.h"
#include "lib/ilist.h"
#include "lib/pairingheap.h"
#ifndef TUPLESORT_H
#define TUPLESORT_H
-#include "access/brin_tuple.h"
-#include "access/gin_tuple.h"
#include "access/itup.h"
#include "executor/instrument_node.h"
#include "executor/tuptable.h"
#include "utils/relcache.h"
#include "utils/sortsupport.h"
+/* We don't want this file to depend on AM-specific header files */
+typedef struct BrinTuple BrinTuple;
+typedef struct GinTuple GinTuple;
/*
* Tuplesortstate and Sharedsort are opaque types whose details are not