/*------------------------------------------------------------------------- * * tableam.h * POSTGRES table access method definitions. * * * Portions Copyright (c) 1996-2018, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/access/tableam.h * *------------------------------------------------------------------------- */ #ifndef TABLEAM_H #define TABLEAM_H #include "utils/guc.h" #define DEFAULT_TABLE_ACCESS_METHOD "heap" extern char *default_table_access_method; /* * API struct for a table AM. Note this must be allocated in a * server-lifetime manner, typically as a static const struct, which then gets * returned by FormData_pg_am.amhandler. */ typedef struct TableAmRoutine { /* this must be set to T_TableAmRoutine */ NodeTag type; } TableAmRoutine; /* * Functions in tableamapi.c */ extern const TableAmRoutine *GetTableAmRoutine(Oid amhandler); extern const TableAmRoutine *GetTableAmRoutineByAmId(Oid amoid); extern const TableAmRoutine *GetHeapamTableAmRoutine(void); extern bool check_default_table_access_method(char **newval, void **extra, GucSource source); #endif /* TABLEAM_H */