postgresql/src/include/access/table.h

39 lines
1.2 KiB
C

/*-------------------------------------------------------------------------
*
* table.h
* Generic routines for table related code.
*
*
* Portions Copyright (c) 1996-2019, PostgreSQL Global Development Group
* Portions Copyright (c) 1994, Regents of the University of California
*
* src/include/access/table.h
*
*-------------------------------------------------------------------------
*/
#ifndef TABLE_H
#define TABLE_H
#include "nodes/primnodes.h"
#include "utils/relcache.h"
#include "storage/lockdefs.h"
extern Relation table_open(Oid relationId, LOCKMODE lockmode);
extern Relation table_openrv(const RangeVar *relation, LOCKMODE lockmode);
extern Relation table_openrv_extended(const RangeVar *relation,
LOCKMODE lockmode, bool missing_ok);
extern void table_close(Relation relation, LOCKMODE lockmode);
/*
* heap_ used to be the prefix for these routines, and a lot of code will just
* continue to work without adaptions after the introduction of pluggable
* storage, therefore just map these names.
*/
#define heap_open(r, l) table_open(r, l)
#define heap_openrv(r, l) table_openrv(r, l)
#define heap_openrv_extended(r, l, m) table_openrv_extended(r, l, m)
#define heap_close(r, l) table_close(r, l)
#endif /* TABLE_H */