39 lines
1.2 KiB
C
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 */
|