+/*
+ * $PostgreSQL$
+ */
#ifndef __HSTORE_H__
#define __HSTORE_H__
-#include "postgres.h"
-
-#include "funcapi.h"
-#include "access/gist.h"
-#include "access/itup.h"
-#include "utils/elog.h"
-#include "utils/palloc.h"
-#include "utils/builtins.h"
-#include "storage/bufpage.h"
+#include "fmgr.h"
typedef struct
#define HStoreContainsStrategyNumber 7
#define HStoreExistsStrategyNumber 9
-#endif
+#endif /* __HSTORE_H__ */
-#include "hstore.h"
+/*
+ * $PostgreSQL$
+ */
+#include "postgres.h"
#include "access/gin.h"
+#include "hstore.h"
+
+
#define KEYFLAG 'K'
#define VALFLAG 'V'
#define NULLFLAG 'N'
-#include "hstore.h"
+/*
+ * $PostgreSQL$
+ */
+#include "postgres.h"
#include "access/gist.h"
#include "access/itup.h"
+#include "access/skey.h"
#include "crc32.h"
+#include "hstore.h"
+
/* bigint defines */
#define BITBYTE 8
#define SIGLENINT 4 /* >122 => key will toast, so very slow!!! */
-#include "hstore.h"
+/*
+ * $PostgreSQL$
+ */
+#include "postgres.h"
+
#include <ctype.h>
+#include "hstore.h"
+
PG_MODULE_MAGIC;
typedef struct
-#include "hstore.h"
-#include "utils/array.h"
+/*
+ * $PostgreSQL
+ */
+#include "postgres.h"
+
#include "catalog/pg_type.h"
#include "funcapi.h"
-#include <access/heapam.h>
-#include <fmgr.h>
+#include "utils/array.h"
+#include "utils/builtins.h"
+
+#include "hstore.h"
static HEntry *
#include <ctype.h>
#include <sys/types.h>
-#include "access/heapam.h"
-#include "access/tupmacs.h"
#include "access/xact.h"
#include "catalog/indexing.h"
#include "catalog/pg_proc.h"
#ifndef ___INT_H__
#define ___INT_H__
-#include "postgres.h"
-
-#include <float.h>
-
-#include "access/gist.h"
-#include "access/itup.h"
-#include "access/skey.h"
-#include "catalog/pg_type.h"
#include "utils/array.h"
-#include "utils/builtins.h"
-#include "storage/bufpage.h"
-#include "lib/stringinfo.h"
/* number ranges for compression */
#define MAXNUMRANGE 100
qsort((void*)ARRPTR(a), ARRNELEMS(a),sizeof(int4), \
(direction) ? compASC : compDESC )
-#endif
+#endif /* ___INT_H__ */
+#include "postgres.h"
+
+#include "utils/builtins.h"
+
#include "_int.h"
PG_FUNCTION_INFO_V1(bqarr_in);
+#include "postgres.h"
+
+#include "access/gist.h"
+#include "access/skey.h"
+
#include "_int.h"
PG_FUNCTION_INFO_V1(ginint4_queryextract);
+#include "postgres.h"
+
+#include "access/gist.h"
+#include "access/skey.h"
+
#include "_int.h"
#define GETENTRY(vec,pos) ((ArrayType *) DatumGetPointer((vec)->vector[(pos)].key))
-#include "_int.h"
+#include "postgres.h"
#include "lib/stringinfo.h"
+#include "_int.h"
+
+
PG_MODULE_MAGIC;
PG_FUNCTION_INFO_V1(_int_different);
+#include "postgres.h"
+
+#include "catalog/pg_type.h"
+
#include "_int.h"
+#include "postgres.h"
+
+#include "access/gist.h"
+#include "access/skey.h"
+
#include "_int.h"
#define GETENTRY(vec,pos) ((GISTTYPE *) DatumGetPointer((vec)->vector[(pos)].key))
* GiST support for ltree[]
* Teodor Sigaev <teodor@stack.net>
*/
+#include "postgres.h"
-#include "ltree.h"
#include "access/gist.h"
#include "access/skey.h"
#include "utils/array.h"
-
#include "crc32.h"
+#include "ltree.h"
+
PG_FUNCTION_INFO_V1(_ltree_compress);
Datum _ltree_compress(PG_FUNCTION_ARGS);
* op function for ltree[]
* Teodor Sigaev <teodor@stack.net>
*/
+#include "postgres.h"
-#include "ltree.h"
#include <ctype.h>
+
#include "utils/array.h"
+#include "ltree.h"
PG_FUNCTION_INFO_V1(_ltree_isparent);
PG_FUNCTION_INFO_V1(_ltree_r_isparent);
* Teodor Sigaev <teodor@stack.net>
* $PostgreSQL$
*/
+#include "postgres.h"
-#include "ltree.h"
#include <ctype.h>
+
#include "utils/array.h"
+#include "ltree.h"
PG_FUNCTION_INFO_V1(ltq_regex);
PG_FUNCTION_INFO_V1(ltq_rregex);
#ifndef __LTREE_H__
#define __LTREE_H__
-#include "postgres.h"
-
-#include "utils/builtins.h"
+#include "fmgr.h"
typedef struct
{
* Teodor Sigaev <teodor@stack.net>
* $PostgreSQL$
*/
+#include "postgres.h"
-#include "ltree.h"
#include "access/gist.h"
#include "access/nbtree.h"
#include "access/skey.h"
#include "utils/array.h"
#include "crc32.h"
+#include "ltree.h"
#define NEXTVAL(x) ( (lquery*)( (char*)(x) + INTALIGN( VARSIZE(x) ) ) )
* Teodor Sigaev <teodor@stack.net>
* $PostgreSQL$
*/
+#include "postgres.h"
-#include "ltree.h"
#include <ctype.h>
+
+#include "ltree.h"
#include "crc32.h"
PG_FUNCTION_INFO_V1(ltree_in);
* Teodor Sigaev <teodor@stack.net>
* $PostgreSQL$
*/
-
-#include "ltree.h"
+#include "postgres.h"
#include <ctype.h>
#include "catalog/pg_statistic.h"
+#include "utils/builtins.h"
#include "utils/lsyscache.h"
#include "utils/selfuncs.h"
#include "utils/syscache.h"
+#include "ltree.h"
PG_MODULE_MAGIC;
* Teodor Sigaev <teodor@stack.net>
* $PostgreSQL$
*/
+#include "postgres.h"
-#include "ltree.h"
#include <ctype.h>
+
#include "crc32.h"
+#include "ltree.h"
PG_FUNCTION_INFO_V1(ltxtq_in);
Datum ltxtq_in(PG_FUNCTION_ARGS);
* Teodor Sigaev <teodor@stack.net>
* $PostgreSQL$
*/
+#include "postgres.h"
-#include "ltree.h"
#include <ctype.h>
+#include "ltree.h"
+
PG_FUNCTION_INFO_V1(ltxtq_exec);
PG_FUNCTION_INFO_V1(ltxtq_rexec);
#include "catalog/pg_type.h"
#include "funcapi.h"
#include "miscadmin.h"
+#include "storage/bufmgr.h"
#include "utils/builtins.h"
#include "postgres.h"
-#include "fmgr.h"
-#include "funcapi.h"
#include "access/heapam.h"
#include "access/transam.h"
#include "catalog/namespace.h"
#include "catalog/pg_type.h"
-#include "utils/builtins.h"
+#include "fmgr.h"
+#include "funcapi.h"
#include "miscadmin.h"
+#include "storage/bufmgr.h"
+#include "utils/builtins.h"
PG_MODULE_MAGIC;
*/
#include "postgres.h"
-#include "funcapi.h"
-#include "access/heapam.h"
+#include "access/htup.h"
#include "catalog/pg_type.h"
+#include "funcapi.h"
#include "storage/freespace.h"
+#include "storage/lmgr.h"
#define NUM_FREESPACE_PAGES_ELEM 5
#include "catalog/namespace.h"
#include "funcapi.h"
#include "miscadmin.h"
+#include "storage/bufmgr.h"
#include "storage/procarray.h"
#include "utils/acl.h"
#include "utils/builtins.h"
#include "catalog/namespace.h"
#include "funcapi.h"
#include "miscadmin.h"
+#include "storage/bufmgr.h"
#include "utils/builtins.h"
#include "access/gist_private.h"
#include "access/hash.h"
#include "access/heapam.h"
+#include "access/htup.h"
#include "access/nbtree.h"
#include "catalog/namespace.h"
#include "funcapi.h"
#include "miscadmin.h"
+#include "storage/bufmgr.h"
#include "utils/builtins.h"
#include "utils/tqual.h"
#include "postgres.h"
#include "access/heapam.h"
+#include "access/sysattr.h"
#include "access/tuptoaster.h"
#include "executor/tuptable.h"
*/
#include "postgres.h"
+
#include "access/gin.h"
#include "miscadmin.h"
+#include "storage/bufmgr.h"
/*
* Locks buffer by needed method for search.
*/
#include "postgres.h"
+
#include "access/gin.h"
+#include "storage/bufmgr.h"
int
compareItemPointers(ItemPointer a, ItemPointer b)
#include "postgres.h"
#include "access/gin.h"
#include "access/tuptoaster.h"
+#include "storage/bufmgr.h"
/*
* forms tuple for entry tree. On leaf page, Index tuple has
#include "access/gin.h"
#include "catalog/index.h"
#include "miscadmin.h"
+#include "storage/bufmgr.h"
#include "utils/memutils.h"
static bool
#include "access/gin.h"
#include "catalog/index.h"
#include "miscadmin.h"
+#include "storage/bufmgr.h"
#include "utils/memutils.h"
*/
#include "postgres.h"
+
#include "access/genam.h"
#include "access/gin.h"
#include "pgstat.h"
+#include "storage/bufmgr.h"
#include "utils/memutils.h"
#include "postgres.h"
#include "access/genam.h"
#include "access/gin.h"
-#include "access/heapam.h"
#include "access/reloptions.h"
+#include "storage/bufmgr.h"
#include "storage/freespace.h"
+#include "storage/lmgr.h"
void
initGinState(GinState *state, Relation index)
*/
#include "postgres.h"
+
#include "access/genam.h"
#include "access/gin.h"
-#include "access/heapam.h"
+#include "commands/vacuum.h"
#include "miscadmin.h"
+#include "storage/bufmgr.h"
#include "storage/freespace.h"
-#include "storage/freespace.h"
-#include "commands/vacuum.h"
+#include "storage/lmgr.h"
typedef struct
{
#include "postgres.h"
#include "access/gin.h"
-#include "access/heapam.h"
+#include "access/xlogutils.h"
+#include "storage/bufmgr.h"
#include "utils/memutils.h"
static MemoryContext opCtx; /* working memory for operations */
#include "access/gist_private.h"
#include "catalog/index.h"
#include "miscadmin.h"
+#include "storage/bufmgr.h"
#include "utils/memutils.h"
const XLogRecPtr XLogRecPtrForTemp = {1, 1};
#include "executor/execdebug.h"
#include "miscadmin.h"
#include "pgstat.h"
+#include "storage/bufmgr.h"
#include "utils/memutils.h"
#include "access/genam.h"
#include "access/gist_private.h"
#include "access/gistscan.h"
+#include "storage/bufmgr.h"
#include "utils/memutils.h"
static void gistfreestack(GISTSearchStack *s);
#include "postgres.h"
#include "access/gist_private.h"
-#include "access/heapam.h"
#include "access/reloptions.h"
#include "storage/freespace.h"
+#include "storage/lmgr.h"
+#include "storage/bufmgr.h"
/*
* static *S used for temrorary storage (saves stack and palloc() call)
#include "access/genam.h"
#include "access/gist_private.h"
-#include "access/heapam.h"
#include "commands/vacuum.h"
#include "miscadmin.h"
+#include "storage/bufmgr.h"
#include "storage/freespace.h"
+#include "storage/lmgr.h"
#include "utils/memutils.h"
#include "postgres.h"
#include "access/gist_private.h"
-#include "access/heapam.h"
+#include "access/xlogutils.h"
#include "miscadmin.h"
+#include "storage/bufmgr.h"
#include "utils/memutils.h"
#include "miscadmin.h"
#include "optimizer/cost.h"
#include "optimizer/plancat.h"
+#include "storage/bufmgr.h"
/* Working state for hashbuild and its callback */
#include "postgres.h"
#include "access/hash.h"
+#include "storage/bufmgr.h"
static OffsetNumber _hash_pgaddtup(Relation rel, Buffer buf,
#include "postgres.h"
#include "access/hash.h"
+#include "storage/bufmgr.h"
static Buffer _hash_getovflpage(Relation rel, Buffer metabuf);
#include "access/genam.h"
#include "access/hash.h"
#include "miscadmin.h"
+#include "storage/bufmgr.h"
#include "storage/lmgr.h"
#include "storage/smgr.h"
#include "utils/lsyscache.h"
#include "access/hash.h"
#include "pgstat.h"
+#include "storage/bufmgr.h"
/*
#include "access/hash.h"
#include "access/reloptions.h"
#include "executor/execdebug.h"
+#include "storage/bufmgr.h"
#include "utils/lsyscache.h"
#include "access/heapam.h"
#include "access/hio.h"
#include "access/multixact.h"
+#include "access/sysattr.h"
#include "access/transam.h"
#include "access/tuptoaster.h"
#include "access/valid.h"
#include "access/xact.h"
+#include "access/xlogutils.h"
#include "catalog/catalog.h"
#include "catalog/namespace.h"
#include "miscadmin.h"
#include "pgstat.h"
+#include "storage/bufmgr.h"
+#include "storage/lmgr.h"
#include "storage/procarray.h"
#include "storage/smgr.h"
#include "utils/datum.h"
#include "postgres.h"
-#include "access/heapam.h"
#include "access/hio.h"
+#include "storage/bufmgr.h"
+#include "storage/bufpage.h"
#include "storage/freespace.h"
+#include "storage/lmgr.h"
/*
#include "postgres.h"
#include "access/heapam.h"
+#include "access/htup.h"
#include "access/transam.h"
#include "miscadmin.h"
#include "pgstat.h"
+#include "storage/bufmgr.h"
+#include "storage/bufpage.h"
+#include "storage/off.h"
#include "utils/inval.h"
#include "utils/tqual.h"
#include "access/rewriteheap.h"
#include "access/transam.h"
#include "access/tuptoaster.h"
+#include "storage/bufmgr.h"
#include "storage/smgr.h"
#include "utils/memutils.h"
#include "access/heapam.h"
#include "miscadmin.h"
+#include "storage/block.h"
+#include "storage/relfilenode.h"
+#include "utils/rel.h"
/* GUC variables */
#include "access/heapam.h"
#include "access/transam.h"
#include "pgstat.h"
+#include "storage/bufmgr.h"
+#include "storage/lmgr.h"
#include "utils/relcache.h"
#include "utils/snapmgr.h"
#include "utils/tqual.h"
#include "access/nbtree.h"
#include "access/transam.h"
#include "miscadmin.h"
+#include "storage/bufmgr.h"
+#include "storage/lmgr.h"
#include "utils/inval.h"
#include "utils/tqual.h"
#include "access/nbtree.h"
#include "access/transam.h"
#include "miscadmin.h"
+#include "storage/bufmgr.h"
#include "storage/freespace.h"
#include "storage/lmgr.h"
#include "utils/inval.h"
#include "catalog/index.h"
#include "commands/vacuum.h"
#include "miscadmin.h"
+#include "storage/bufmgr.h"
#include "storage/freespace.h"
#include "storage/ipc.h"
#include "storage/lmgr.h"
#include "access/genam.h"
#include "access/nbtree.h"
#include "pgstat.h"
+#include "storage/bufmgr.h"
#include "utils/lsyscache.h"
#include "access/reloptions.h"
#include "executor/execdebug.h"
#include "miscadmin.h"
+#include "storage/bufmgr.h"
#include "storage/lwlock.h"
#include "storage/shmem.h"
#include "utils/lsyscache.h"
#include "access/nbtree.h"
#include "access/transam.h"
+#include "storage/bufmgr.h"
/*
* We must keep track of expected insertions due to page splits, and apply
#include <time.h>
#include <unistd.h>
-#include "access/heapam.h"
+#include "access/htup.h"
#include "access/subtrans.h"
#include "access/transam.h"
#include "access/twophase.h"
#include "libpq/be-fsstubs.h"
#include "miscadmin.h"
#include "pgstat.h"
+#include "storage/bufmgr.h"
#include "storage/fd.h"
#include "storage/lmgr.h"
#include "storage/procarray.h"
#include <unistd.h>
#include "access/clog.h"
-#include "access/heapam.h"
#include "access/multixact.h"
#include "access/subtrans.h"
#include "access/transam.h"
#include "miscadmin.h"
#include "pgstat.h"
#include "postmaster/bgwriter.h"
+#include "storage/bufmgr.h"
#include "storage/bufpage.h"
#include "storage/fd.h"
#include "storage/ipc.h"
#include "postgres.h"
#include "access/xlogutils.h"
+#include "storage/bufmgr.h"
#include "storage/bufpage.h"
#include "storage/smgr.h"
#include "utils/hsearch.h"
#include "nodes/makefuncs.h"
#include "postmaster/bgwriter.h"
#include "postmaster/walwriter.h"
+#include "storage/bufmgr.h"
#include "storage/freespace.h"
#include "storage/ipc.h"
#include "storage/proc.h"
#include "access/genam.h"
#include "access/heapam.h"
+#include "access/sysattr.h"
#include "access/xact.h"
#include "catalog/catalog.h"
#include "catalog/dependency.h"
#include <unistd.h>
#include "access/genam.h"
+#include "access/sysattr.h"
#include "access/transam.h"
#include "catalog/catalog.h"
#include "catalog/indexing.h"
#include "access/genam.h"
#include "access/heapam.h"
+#include "access/sysattr.h"
#include "access/xact.h"
#include "catalog/dependency.h"
#include "catalog/heap.h"
#include "access/genam.h"
#include "access/heapam.h"
+#include "access/sysattr.h"
#include "access/transam.h"
#include "access/xact.h"
#include "catalog/catalog.h"
#include "parser/parse_coerce.h"
#include "parser/parse_expr.h"
#include "parser/parse_relation.h"
+#include "storage/bufmgr.h"
#include "storage/smgr.h"
#include "utils/builtins.h"
#include "utils/fmgroids.h"
#include "access/genam.h"
#include "access/heapam.h"
+#include "access/sysattr.h"
#include "access/transam.h"
#include "access/xact.h"
#include "bootstrap/bootstrap.h"
#include "optimizer/clauses.h"
#include "optimizer/var.h"
#include "parser/parse_expr.h"
+#include "storage/bufmgr.h"
+#include "storage/lmgr.h"
#include "storage/procarray.h"
#include "storage/smgr.h"
#include "utils/builtins.h"
#include "postgres.h"
#include "access/heapam.h"
+#include "access/sysattr.h"
#include "catalog/dependency.h"
#include "catalog/indexing.h"
#include "catalog/namespace.h"
#include "commands/schemacmds.h"
#include "commands/tablecmds.h"
#include "commands/typecmds.h"
+#include "storage/lmgr.h"
#include "miscadmin.h"
#include "utils/acl.h"
#include "utils/fmgroids.h"
#include "parser/parse_relation.h"
#include "pgstat.h"
#include "postmaster/autovacuum.h"
+#include "storage/bufmgr.h"
#include "storage/proc.h"
#include "storage/procarray.h"
#include "utils/acl.h"
#include "commands/trigger.h"
#include "commands/vacuum.h"
#include "miscadmin.h"
+#include "storage/bufmgr.h"
#include "storage/procarray.h"
#include "utils/acl.h"
#include "utils/fmgroids.h"
#include "access/genam.h"
#include "access/heapam.h"
#include "access/xact.h"
+#include "access/xlogutils.h"
#include "catalog/catalog.h"
#include "catalog/dependency.h"
#include "catalog/indexing.h"
#include "miscadmin.h"
#include "pgstat.h"
#include "postmaster/bgwriter.h"
+#include "storage/bufmgr.h"
+#include "storage/lmgr.h"
#include "storage/freespace.h"
#include "storage/ipc.h"
#include "storage/procarray.h"
#include "access/genam.h"
#include "access/heapam.h"
+#include "access/sysattr.h"
#include "catalog/dependency.h"
#include "catalog/indexing.h"
#include "catalog/pg_aggregate.h"
#include "parser/parse_expr.h"
#include "parser/parse_func.h"
#include "parser/parsetree.h"
+#include "storage/lmgr.h"
#include "storage/proc.h"
#include "storage/procarray.h"
#include "utils/acl.h"
#include "access/genam.h"
#include "access/heapam.h"
+#include "access/sysattr.h"
#include "catalog/dependency.h"
#include "catalog/indexing.h"
#include "catalog/pg_amop.h"
*/
#include "postgres.h"
-#include "access/heapam.h"
#include "access/xact.h"
#include "catalog/pg_type.h"
#include "commands/explain.h"
#include "access/heapam.h"
#include "access/transam.h"
#include "access/xact.h"
+#include "access/xlogutils.h"
#include "catalog/dependency.h"
#include "catalog/namespace.h"
#include "catalog/pg_type.h"
#include "commands/tablecmds.h"
#include "miscadmin.h"
#include "nodes/makefuncs.h"
+#include "storage/bufmgr.h"
+#include "storage/lmgr.h"
#include "storage/proc.h"
#include "utils/acl.h"
#include "utils/builtins.h"
#include "access/genam.h"
#include "access/heapam.h"
#include "access/reloptions.h"
+#include "access/sysattr.h"
#include "access/xact.h"
#include "catalog/catalog.h"
#include "catalog/dependency.h"
#include "parser/parser.h"
#include "rewrite/rewriteDefine.h"
#include "rewrite/rewriteHandler.h"
+#include "storage/bufmgr.h"
#include "storage/smgr.h"
#include "utils/acl.h"
#include "utils/builtins.h"
#include <sys/stat.h>
#include "access/heapam.h"
+#include "access/sysattr.h"
#include "access/xact.h"
#include "catalog/catalog.h"
#include "catalog/dependency.h"
#include "access/genam.h"
#include "access/heapam.h"
+#include "access/sysattr.h"
#include "access/xact.h"
#include "catalog/catalog.h"
#include "catalog/dependency.h"
#include "miscadmin.h"
#include "nodes/makefuncs.h"
#include "parser/parse_func.h"
+#include "storage/bufmgr.h"
#include "tcop/utility.h"
#include "utils/acl.h"
#include "utils/builtins.h"
#include "commands/user.h"
#include "libpq/md5.h"
#include "miscadmin.h"
+#include "storage/lmgr.h"
#include "utils/acl.h"
#include "utils/builtins.h"
#include "utils/flatfiles.h"
#include "miscadmin.h"
#include "pgstat.h"
#include "postmaster/autovacuum.h"
+#include "storage/bufmgr.h"
#include "storage/freespace.h"
+#include "storage/lmgr.h"
#include "storage/proc.h"
#include "storage/procarray.h"
#include "utils/acl.h"
#include "miscadmin.h"
#include "pgstat.h"
#include "postmaster/autovacuum.h"
+#include "storage/bufmgr.h"
#include "storage/freespace.h"
+#include "storage/lmgr.h"
#include "utils/lsyscache.h"
#include "utils/memutils.h"
#include "utils/pg_rusage.h"
*/
#include "postgres.h"
+#include "access/sysattr.h"
#include "catalog/pg_type.h"
#include "executor/executor.h"
#include "utils/builtins.h"
#include "optimizer/clauses.h"
#include "parser/parse_clause.h"
#include "parser/parsetree.h"
+#include "storage/bufmgr.h"
+#include "storage/lmgr.h"
#include "storage/smgr.h"
#include "utils/acl.h"
#include "utils/lsyscache.h"
#include "postgres.h"
-#include "access/heapam.h"
#include "access/nbtree.h"
#include "catalog/pg_type.h"
#include "commands/typecmds.h"
#include "postgres.h"
#include "funcapi.h"
-#include "access/heapam.h"
#include "catalog/pg_type.h"
#include "parser/parse_expr.h"
+#include "storage/bufmgr.h"
#include "utils/lsyscache.h"
#include "utils/typcache.h"
#include "postgres.h"
-#include "access/heapam.h"
#include "catalog/pg_aggregate.h"
#include "catalog/pg_proc.h"
#include "catalog/pg_type.h"
#include "executor/execdebug.h"
#include "executor/nodeBitmapHeapscan.h"
#include "pgstat.h"
+#include "storage/bufmgr.h"
#include "utils/memutils.h"
#include "utils/snapmgr.h"
#include "utils/tqual.h"
#include <math.h>
-#include "access/heapam.h"
#include "executor/executor.h"
#include "executor/nodeSubplan.h"
#include "nodes/makefuncs.h"
#include "postgres.h"
#include "access/heapam.h"
+#include "access/sysattr.h"
#include "catalog/pg_type.h"
#include "executor/execdebug.h"
#include "executor/nodeTidscan.h"
#include "optimizer/clauses.h"
+#include "storage/bufmgr.h"
#include "utils/array.h"
#include "postgres.h"
#include "access/printtup.h"
+#include "access/sysattr.h"
#include "catalog/heap.h"
#include "commands/trigger.h"
#include "executor/spi_priv.h"
*/
#include "postgres.h"
-#include "access/htup.h"
+#include "access/sysattr.h"
#include "catalog/pg_operator.h"
#include "catalog/pg_type.h"
#include "optimizer/clauses.h"
#include "postgres.h"
#include "access/heapam.h"
+#include "access/sysattr.h"
#include "catalog/pg_type.h"
#include "nodes/makefuncs.h"
#include "optimizer/prep.h"
#include "postgres.h"
-#include "access/heapam.h"
#include "catalog/pg_aggregate.h"
#include "catalog/pg_language.h"
#include "catalog/pg_operator.h"
#include "access/genam.h"
#include "access/heapam.h"
+#include "access/sysattr.h"
#include "access/transam.h"
#include "catalog/catalog.h"
#include "catalog/pg_inherits.h"
#include "parser/parse_relation.h"
#include "parser/parsetree.h"
#include "rewrite/rewriteManip.h"
+#include "storage/bufmgr.h"
#include "utils/fmgroids.h"
#include "utils/lsyscache.h"
#include "utils/relcache.h"
*/
#include "postgres.h"
-#include "access/htup.h"
+#include "access/sysattr.h"
#include "optimizer/clauses.h"
#include "optimizer/prep.h"
#include "optimizer/var.h"
#include <ctype.h>
#include "access/heapam.h"
+#include "access/sysattr.h"
#include "catalog/heap.h"
#include "catalog/namespace.h"
#include "catalog/pg_type.h"
#include "postmaster/autovacuum.h"
#include "postmaster/fork_process.h"
#include "postmaster/postmaster.h"
+#include "storage/bufmgr.h"
#include "storage/fd.h"
#include "storage/ipc.h"
#include "storage/pmsignal.h"
#include "miscadmin.h"
#include "pgstat.h"
#include "postmaster/bgwriter.h"
+#include "storage/bufmgr.h"
#include "storage/fd.h"
#include "storage/freespace.h"
#include "storage/ipc.h"
#include "access/genam.h"
#include "access/heapam.h"
+#include "access/sysattr.h"
#include "catalog/dependency.h"
#include "catalog/indexing.h"
#include "catalog/pg_rewrite.h"
#include "miscadmin.h"
#include "postmaster/bgwriter.h"
#include "storage/buf_internals.h"
+#include "storage/bufmgr.h"
#include "storage/bufpage.h"
#include "storage/ipc.h"
#include "storage/proc.h"
#include "postmaster/autovacuum.h"
#include "postmaster/bgwriter.h"
#include "postmaster/postmaster.h"
+#include "storage/bufmgr.h"
#include "storage/freespace.h"
#include "storage/ipc.h"
#include "storage/pg_shmem.h"
#include "parser/parser.h"
#include "postmaster/autovacuum.h"
#include "rewrite/rewriteHandler.h"
+#include "storage/bufmgr.h"
#include "storage/freespace.h"
#include "storage/ipc.h"
#include "storage/proc.h"
#include "funcapi.h"
#include "access/genam.h"
-#include "access/heapam.h"
#include "access/skey.h"
#include "catalog/indexing.h"
#include "catalog/namespace.h"
#include <ctype.h>
-#include "access/tupmacs.h"
#include "funcapi.h"
#include "libpq/pqformat.h"
#include "parser/parse_coerce.h"
#include <limits.h>
#include <math.h>
-#include "access/heapam.h"
#include "access/xact.h"
#include "catalog/pg_type.h"
#include "funcapi.h"
#include <unistd.h>
#include <dirent.h>
-#include "access/heapam.h"
#include "catalog/pg_type.h"
#include "funcapi.h"
#include "miscadmin.h"
*/
#include "postgres.h"
-#include "access/heapam.h"
#include "catalog/pg_type.h"
#include "funcapi.h"
#include "miscadmin.h"
#include "miscadmin.h"
#include "pgstat.h"
#include "catalog/pg_type.h"
-#include "access/heapam.h"
#include "utils/builtins.h"
#include "utils/inet.h"
#include "libpq/ip.h"
#include <ctype.h>
-#include "access/heapam.h"
#include "catalog/pg_type.h"
#include "libpq/pqformat.h"
#include "utils/builtins.h"
#include <fcntl.h>
#include "access/genam.h"
+#include "access/sysattr.h"
#include "catalog/dependency.h"
#include "catalog/indexing.h"
#include "catalog/pg_authid.h"
#include <ctype.h>
#include <math.h>
+#include "access/sysattr.h"
#include "catalog/pg_opfamily.h"
#include "catalog/pg_statistic.h"
#include "catalog/pg_type.h"
#include <limits.h>
#include "access/heapam.h"
+#include "access/sysattr.h"
#include "catalog/namespace.h"
#include "catalog/pg_type.h"
#include "libpq/pqformat.h"
#include <ctype.h>
-#include "access/tupmacs.h"
#include "access/tuptoaster.h"
#include "catalog/pg_type.h"
#include "libpq/md5.h"
#include "utils/datetime.h"
#include "utils/lsyscache.h"
#include "utils/memutils.h"
-#include "access/tupmacs.h"
#include "utils/xml.h"
#include "access/genam.h"
#include "access/hash.h"
#include "access/heapam.h"
+#include "access/sysattr.h"
#include "access/valid.h"
#include "catalog/pg_operator.h"
#include "catalog/pg_type.h"
#include "access/genam.h"
#include "access/heapam.h"
#include "access/reloptions.h"
+#include "access/sysattr.h"
#include "access/xact.h"
#include "catalog/catalog.h"
#include "catalog/index.h"
#include "optimizer/var.h"
#include "rewrite/rewriteDefine.h"
#include "storage/fd.h"
+#include "storage/lmgr.h"
#include "storage/smgr.h"
#include "utils/builtins.h"
#include "utils/fmgroids.h"
*/
#include "postgres.h"
-#include "access/heapam.h"
+#include "access/sysattr.h"
#include "catalog/indexing.h"
#include "catalog/pg_aggregate.h"
#include "catalog/pg_amop.h"
#include "postgres.h"
-#include "access/heapam.h"
#include "access/tuptoaster.h"
#include "catalog/pg_language.h"
#include "catalog/pg_proc.h"
#include "access/transam.h"
#include "access/twophase_rmgr.h"
#include "access/xact.h"
+#include "access/xlogutils.h"
#include "catalog/catalog.h"
#include "catalog/pg_auth_members.h"
#include "catalog/pg_authid.h"
#include "catalog/pg_tablespace.h"
#include "commands/trigger.h"
#include "miscadmin.h"
+#include "storage/bufmgr.h"
#include "storage/fd.h"
+#include "storage/lmgr.h"
#include "storage/pmsignal.h"
#include "utils/builtins.h"
#include "utils/flatfiles.h"
#include "postmaster/autovacuum.h"
#include "postmaster/postmaster.h"
#include "storage/backendid.h"
+#include "storage/bufmgr.h"
#include "storage/fd.h"
#include "storage/ipc.h"
+#include "storage/lmgr.h"
#include "storage/proc.h"
#include "storage/procarray.h"
#include "storage/sinvaladt.h"
#include "postmaster/syslogger.h"
#include "postmaster/walwriter.h"
#include "regex/regex.h"
+#include "storage/bufmgr.h"
#include "storage/fd.h"
#include "storage/freespace.h"
#include "tcop/tcopprot.h"
*/
#include "postgres.h"
-#include "access/heapam.h"
#include "access/xact.h"
#include "catalog/pg_type.h"
#include "commands/portalcmds.h"
#include "postgres.h"
#include "access/hash.h"
+#include "storage/bufmgr.h"
#include "storage/proc.h"
#include "utils/memutils.h"
#include "utils/resowner.h"
#include "access/genam.h"
#include "access/hash.h"
-#include "access/heapam.h"
#include "access/nbtree.h"
#include "catalog/pg_amop.h"
#include "catalog/pg_operator.h"
#include "postgres.h"
-#include "access/heapam.h"
#include "commands/tablespace.h"
#include "executor/executor.h"
#include "storage/buffile.h"
#endif
#include "access/attnum.h"
-#include "access/htup.h"
+#include "access/sysattr.h"
#include "catalog/pg_class.h"
#include "catalog/pg_proc.h"
#include "catalog/pg_trigger.h"
#include "access/relscan.h"
#include "access/sdir.h"
-#include "nodes/primnodes.h"
#include "nodes/tidbitmap.h"
+#include "storage/buf.h"
#include "storage/lock.h"
+#include "utils/rel.h"
/*
* Struct for statistics returned by ambuild
#ifndef GIN_H
#define GIN_H
-#include "access/relscan.h"
-#include "access/skey.h"
-#include "access/xlog.h"
-#include "access/xlogdefs.h"
-#include "storage/bufpage.h"
-#include "storage/off.h"
-#include "utils/rel.h"
#include "access/itup.h"
+#include "access/relscan.h"
#include "fmgr.h"
+#include "storage/block.h"
+#include "storage/buf.h"
+#include "storage/off.h"
+#include "storage/relfilenode.h"
/*
#include "access/xlog.h"
#include "access/xlogdefs.h"
#include "storage/bufpage.h"
-#include "storage/off.h"
#include "utils/rel.h"
/*
#ifndef GISTSCAN_H
#define GISTSCAN_H
-#include "access/relscan.h"
+#include "fmgr.h"
extern Datum gistbeginscan(PG_FUNCTION_ARGS);
extern Datum gistrescan(PG_FUNCTION_ARGS);
#include "access/htup.h"
#include "access/relscan.h"
#include "access/sdir.h"
-#include "access/tupmacs.h"
-#include "access/xlogutils.h"
#include "nodes/primnodes.h"
-#include "storage/block.h"
-#include "storage/lmgr.h"
-#include "utils/rel.h"
+#include "storage/lock.h"
#include "utils/snapshot.h"
-/* ----------------
- * fastgetattr
- *
- * Fetch a user attribute's value as a Datum (might be either a
- * value, or a pointer into the data area of the tuple).
- *
- * This must not be used when a system attribute might be requested.
- * Furthermore, the passed attnum MUST be valid. Use heap_getattr()
- * instead, if in doubt.
- *
- * This gets called many times, so we macro the cacheable and NULL
- * lookups, and call nocachegetattr() for the rest.
- * ----------------
- */
-
-#if !defined(DISABLE_COMPLEX_MACRO)
-
-#define fastgetattr(tup, attnum, tupleDesc, isnull) \
-( \
- AssertMacro((attnum) > 0), \
- (((isnull) != NULL) ? (*(isnull) = false) : (dummyret)NULL), \
- HeapTupleNoNulls(tup) ? \
- ( \
- (tupleDesc)->attrs[(attnum)-1]->attcacheoff >= 0 ? \
- ( \
- fetchatt((tupleDesc)->attrs[(attnum)-1], \
- (char *) (tup)->t_data + (tup)->t_data->t_hoff + \
- (tupleDesc)->attrs[(attnum)-1]->attcacheoff) \
- ) \
- : \
- nocachegetattr((tup), (attnum), (tupleDesc), (isnull)) \
- ) \
- : \
- ( \
- att_isnull((attnum)-1, (tup)->t_data->t_bits) ? \
- ( \
- (((isnull) != NULL) ? (*(isnull) = true) : (dummyret)NULL), \
- (Datum)NULL \
- ) \
- : \
- ( \
- nocachegetattr((tup), (attnum), (tupleDesc), (isnull)) \
- ) \
- ) \
-)
-#else /* defined(DISABLE_COMPLEX_MACRO) */
-
-extern Datum fastgetattr(HeapTuple tup, int attnum, TupleDesc tupleDesc,
- bool *isnull);
-#endif /* defined(DISABLE_COMPLEX_MACRO) */
-
-
-/* ----------------
- * heap_getattr
- *
- * Extract an attribute of a heap tuple and return it as a Datum.
- * This works for either system or user attributes. The given attnum
- * is properly range-checked.
- *
- * If the field in question has a NULL value, we return a zero Datum
- * and set *isnull == true. Otherwise, we set *isnull == false.
- *
- * <tup> is the pointer to the heap tuple. <attnum> is the attribute
- * number of the column (field) caller wants. <tupleDesc> is a
- * pointer to the structure describing the row and all its fields.
- * ----------------
- */
-#define heap_getattr(tup, attnum, tupleDesc, isnull) \
-( \
- AssertMacro((tup) != NULL), \
- ( \
- ((attnum) > 0) ? \
- ( \
- ((attnum) > (int) HeapTupleHeaderGetNatts((tup)->t_data)) ? \
- ( \
- (((isnull) != NULL) ? (*(isnull) = true) : (dummyret)NULL), \
- (Datum)NULL \
- ) \
- : \
- fastgetattr((tup), (attnum), (tupleDesc), (isnull)) \
- ) \
- : \
- heap_getsysattr((tup), (attnum), (tupleDesc), (isnull)) \
- ) \
-)
-
typedef enum
{
OffsetNumber *offsets, int offcnt);
extern XLogRecPtr log_newpage(RelFileNode *rnode, BlockNumber blk, Page page);
-/* in common/heaptuple.c */
-extern Size heap_compute_data_size(TupleDesc tupleDesc,
- Datum *values, bool *isnull);
-extern void heap_fill_tuple(TupleDesc tupleDesc,
- Datum *values, bool *isnull,
- char *data, Size data_size,
- uint16 *infomask, bits8 *bit);
-extern bool heap_attisnull(HeapTuple tup, int attnum);
-extern Datum nocachegetattr(HeapTuple tup, int attnum,
- TupleDesc att, bool *isnull);
-extern Datum heap_getsysattr(HeapTuple tup, int attnum, TupleDesc tupleDesc,
- bool *isnull);
-extern HeapTuple heap_copytuple(HeapTuple tuple);
-extern void heap_copytuple_with_tuple(HeapTuple src, HeapTuple dest);
-extern HeapTuple heap_form_tuple(TupleDesc tupleDescriptor,
- Datum *values, bool *isnull);
-extern HeapTuple heap_formtuple(TupleDesc tupleDescriptor,
- Datum *values, char *nulls);
-extern HeapTuple heap_modify_tuple(HeapTuple tuple,
- TupleDesc tupleDesc,
- Datum *replValues,
- bool *replIsnull,
- bool *doReplace);
-extern HeapTuple heap_modifytuple(HeapTuple tuple,
- TupleDesc tupleDesc,
- Datum *replValues,
- char *replNulls,
- char *replActions);
-extern void heap_deform_tuple(HeapTuple tuple, TupleDesc tupleDesc,
- Datum *values, bool *isnull);
-extern void heap_deformtuple(HeapTuple tuple, TupleDesc tupleDesc,
- Datum *values, char *nulls);
-extern void heap_freetuple(HeapTuple htup);
-extern MinimalTuple heap_form_minimal_tuple(TupleDesc tupleDescriptor,
- Datum *values, bool *isnull);
-extern void heap_free_minimal_tuple(MinimalTuple mtup);
-extern MinimalTuple heap_copy_minimal_tuple(MinimalTuple mtup);
-extern HeapTuple heap_tuple_from_minimal_tuple(MinimalTuple mtup);
-extern MinimalTuple minimal_tuple_from_heap_tuple(HeapTuple htup);
-extern HeapTuple heap_addheader(int natts, bool withoid,
- Size structlen, void *structure);
-
/* in heap/pruneheap.c */
extern void heap_page_prune_opt(Relation relation, Buffer buffer,
TransactionId OldestXmin);
#ifndef HTUP_H
#define HTUP_H
+#include "access/tupdesc.h"
+#include "access/tupmacs.h"
#include "storage/itemptr.h"
#include "storage/relfilenode.h"
#define MaxAttrSize (10 * 1024 * 1024)
-/*
- * Attribute numbers for the system-defined attributes
- */
-#define SelfItemPointerAttributeNumber (-1)
-#define ObjectIdAttributeNumber (-2)
-#define MinTransactionIdAttributeNumber (-3)
-#define MinCommandIdAttributeNumber (-4)
-#define MaxTransactionIdAttributeNumber (-5)
-#define MaxCommandIdAttributeNumber (-6)
-#define TableOidAttributeNumber (-7)
-#define FirstLowInvalidHeapAttributeNumber (-8)
-
-
/*
* MinimalTuple is an alternative representation that is used for transient
* tuples inside the executor, in places where transaction status information
CommandId *cmax,
bool *iscombo);
+/* ----------------
+ * fastgetattr
+ *
+ * Fetch a user attribute's value as a Datum (might be either a
+ * value, or a pointer into the data area of the tuple).
+ *
+ * This must not be used when a system attribute might be requested.
+ * Furthermore, the passed attnum MUST be valid. Use heap_getattr()
+ * instead, if in doubt.
+ *
+ * This gets called many times, so we macro the cacheable and NULL
+ * lookups, and call nocachegetattr() for the rest.
+ * ----------------
+ */
+
+#if !defined(DISABLE_COMPLEX_MACRO)
+
+#define fastgetattr(tup, attnum, tupleDesc, isnull) \
+( \
+ AssertMacro((attnum) > 0), \
+ (((isnull) != NULL) ? (*(isnull) = false) : (dummyret)NULL), \
+ HeapTupleNoNulls(tup) ? \
+ ( \
+ (tupleDesc)->attrs[(attnum)-1]->attcacheoff >= 0 ? \
+ ( \
+ fetchatt((tupleDesc)->attrs[(attnum)-1], \
+ (char *) (tup)->t_data + (tup)->t_data->t_hoff + \
+ (tupleDesc)->attrs[(attnum)-1]->attcacheoff) \
+ ) \
+ : \
+ nocachegetattr((tup), (attnum), (tupleDesc), (isnull)) \
+ ) \
+ : \
+ ( \
+ att_isnull((attnum)-1, (tup)->t_data->t_bits) ? \
+ ( \
+ (((isnull) != NULL) ? (*(isnull) = true) : (dummyret)NULL), \
+ (Datum)NULL \
+ ) \
+ : \
+ ( \
+ nocachegetattr((tup), (attnum), (tupleDesc), (isnull)) \
+ ) \
+ ) \
+)
+#else /* defined(DISABLE_COMPLEX_MACRO) */
+
+extern Datum fastgetattr(HeapTuple tup, int attnum, TupleDesc tupleDesc,
+ bool *isnull);
+#endif /* defined(DISABLE_COMPLEX_MACRO) */
+
+
+/* ----------------
+ * heap_getattr
+ *
+ * Extract an attribute of a heap tuple and return it as a Datum.
+ * This works for either system or user attributes. The given attnum
+ * is properly range-checked.
+ *
+ * If the field in question has a NULL value, we return a zero Datum
+ * and set *isnull == true. Otherwise, we set *isnull == false.
+ *
+ * <tup> is the pointer to the heap tuple. <attnum> is the attribute
+ * number of the column (field) caller wants. <tupleDesc> is a
+ * pointer to the structure describing the row and all its fields.
+ * ----------------
+ */
+#define heap_getattr(tup, attnum, tupleDesc, isnull) \
+( \
+ AssertMacro((tup) != NULL), \
+ ( \
+ ((attnum) > 0) ? \
+ ( \
+ ((attnum) > (int) HeapTupleHeaderGetNatts((tup)->t_data)) ? \
+ ( \
+ (((isnull) != NULL) ? (*(isnull) = true) : (dummyret)NULL), \
+ (Datum)NULL \
+ ) \
+ : \
+ fastgetattr((tup), (attnum), (tupleDesc), (isnull)) \
+ ) \
+ : \
+ heap_getsysattr((tup), (attnum), (tupleDesc), (isnull)) \
+ ) \
+)
+
+/* prototypes for functions in common/heaptuple.c */
+extern Size heap_compute_data_size(TupleDesc tupleDesc,
+ Datum *values, bool *isnull);
+extern void heap_fill_tuple(TupleDesc tupleDesc,
+ Datum *values, bool *isnull,
+ char *data, Size data_size,
+ uint16 *infomask, bits8 *bit);
+extern bool heap_attisnull(HeapTuple tup, int attnum);
+extern Datum nocachegetattr(HeapTuple tup, int attnum,
+ TupleDesc att, bool *isnull);
+extern Datum heap_getsysattr(HeapTuple tup, int attnum, TupleDesc tupleDesc,
+ bool *isnull);
+extern HeapTuple heap_copytuple(HeapTuple tuple);
+extern void heap_copytuple_with_tuple(HeapTuple src, HeapTuple dest);
+extern HeapTuple heap_form_tuple(TupleDesc tupleDescriptor,
+ Datum *values, bool *isnull);
+extern HeapTuple heap_formtuple(TupleDesc tupleDescriptor,
+ Datum *values, char *nulls);
+extern HeapTuple heap_modify_tuple(HeapTuple tuple,
+ TupleDesc tupleDesc,
+ Datum *replValues,
+ bool *replIsnull,
+ bool *doReplace);
+extern HeapTuple heap_modifytuple(HeapTuple tuple,
+ TupleDesc tupleDesc,
+ Datum *replValues,
+ char *replNulls,
+ char *replActions);
+extern void heap_deform_tuple(HeapTuple tuple, TupleDesc tupleDesc,
+ Datum *values, bool *isnull);
+extern void heap_deformtuple(HeapTuple tuple, TupleDesc tupleDesc,
+ Datum *values, char *nulls);
+extern void heap_freetuple(HeapTuple htup);
+extern MinimalTuple heap_form_minimal_tuple(TupleDesc tupleDescriptor,
+ Datum *values, bool *isnull);
+extern void heap_free_minimal_tuple(MinimalTuple mtup);
+extern MinimalTuple heap_copy_minimal_tuple(MinimalTuple mtup);
+extern HeapTuple heap_tuple_from_minimal_tuple(MinimalTuple mtup);
+extern MinimalTuple minimal_tuple_from_heap_tuple(HeapTuple htup);
+extern HeapTuple heap_addheader(int natts, bool withoid,
+ Size structlen, void *structure);
+
#endif /* HTUP_H */
#include "access/htup.h"
#include "access/skey.h"
#include "storage/bufpage.h"
+#include "utils/rel.h"
#include "utils/snapshot.h"
--- /dev/null
+/*-------------------------------------------------------------------------
+ *
+ * sysattr.h
+ * POSTGRES system attribute definitions.
+ *
+ *
+ * Portions Copyright (c) 1996-2008, PostgreSQL Global Development Group
+ * Portions Copyright (c) 1994, Regents of the University of California
+ *
+ * $PostgreSQL$
+ *
+ *-------------------------------------------------------------------------
+ */
+#ifndef SYSATTR_H
+#define SYSATTR_H
+
+
+/*
+ * Attribute numbers for the system-defined attributes
+ */
+#define SelfItemPointerAttributeNumber (-1)
+#define ObjectIdAttributeNumber (-2)
+#define MinTransactionIdAttributeNumber (-3)
+#define MinCommandIdAttributeNumber (-4)
+#define MaxTransactionIdAttributeNumber (-5)
+#define MaxCommandIdAttributeNumber (-6)
+#define TableOidAttributeNumber (-7)
+#define FirstLowInvalidHeapAttributeNumber (-8)
+
+
+#endif /* SYSATTR_H */
#include "access/htup.h"
#include "storage/bufpage.h"
+#include "utils/rel.h"
/*
* This enables de-toasting of index entries. Needed until VACUUM is
#ifndef PARSER_H
#define PARSER_H
+#include "nodes/pg_list.h"
+
extern List *raw_parser(const char *str);
#endif /* PARSER_H */
#define REWRITEDEFINE_H
#include "nodes/parsenodes.h"
+#include "utils/rel.h"
#define RULE_FIRES_ON_ORIGIN 'O'
#define RULE_FIRES_ALWAYS 'A'
#ifndef BUFPAGE_H
#define BUFPAGE_H
-#include "storage/bufmgr.h"
+#include "access/xlog.h"
#include "storage/item.h"
#include "storage/off.h"
-#include "access/xlog.h"
/*
* A postgres disk page is an abstraction layered on top of a postgres
#define LMGR_H
#include "lib/stringinfo.h"
+#include "storage/itemptr.h"
#include "storage/lock.h"
#include "utils/rel.h"
#ifndef LOCK_H_
#define LOCK_H_
-#include "nodes/pg_list.h"
#include "storage/backendid.h"
-#include "storage/itemptr.h"
#include "storage/lwlock.h"
#include "storage/shmem.h"
#include "access/itup.h"
#include "executor/tuptable.h"
+#include "utils/rel.h"
/* Tuplesortstate is an opaque type whose details are not known outside
#include "pl.tab.h"
-#include "access/heapam.h"
#include "catalog/namespace.h"
#include "catalog/pg_attrdef.h"
#include "catalog/pg_attribute.h"
#include <ctype.h>
-#include "access/heapam.h"
#include "access/transam.h"
#include "catalog/pg_proc.h"
#include "catalog/pg_type.h"
#include "plpgsql.h"
#include "pl.tab.h"
-#include "access/heapam.h"
#include "catalog/pg_proc.h"
#include "catalog/pg_type.h"
#include "funcapi.h"
#include <fcntl.h>
/* postgreSQL stuff */
-#include "access/heapam.h"
#include "catalog/pg_proc.h"
#include "catalog/pg_type.h"
#include "commands/trigger.h"
#define CONST84
#endif
-#include "access/heapam.h"
#include "catalog/pg_language.h"
#include "catalog/pg_proc.h"
#include "commands/trigger.h"