mirror of
https://git.postgresql.org/git/postgresql.git
synced 2024-09-06 18:59:21 +02:00
7bd631bfa4
so that dependencies in default expressions (on operators, functions, etc) can be expressed properly.
77 lines
2.1 KiB
C
77 lines
2.1 KiB
C
/*-------------------------------------------------------------------------
|
|
*
|
|
* heap.h
|
|
* prototypes for functions in backend/catalog/heap.c
|
|
*
|
|
*
|
|
* Portions Copyright (c) 1996-2002, PostgreSQL Global Development Group
|
|
* Portions Copyright (c) 1994, Regents of the University of California
|
|
*
|
|
* $Id: heap.h,v 1.54 2002/07/15 16:33:31 tgl Exp $
|
|
*
|
|
*-------------------------------------------------------------------------
|
|
*/
|
|
#ifndef HEAP_H
|
|
#define HEAP_H
|
|
|
|
#include "catalog/pg_attribute.h"
|
|
#include "nodes/parsenodes.h"
|
|
#include "parser/parse_node.h"
|
|
#include "utils/rel.h"
|
|
|
|
|
|
typedef struct RawColumnDefault
|
|
{
|
|
AttrNumber attnum; /* attribute to attach default to */
|
|
Node *raw_default; /* default value (untransformed parse
|
|
* tree) */
|
|
} RawColumnDefault;
|
|
|
|
extern Relation heap_create(const char *relname,
|
|
Oid relnamespace,
|
|
TupleDesc tupDesc,
|
|
bool shared_relation,
|
|
bool storage_create,
|
|
bool allow_system_table_mods);
|
|
|
|
extern void heap_storage_create(Relation rel);
|
|
|
|
extern Oid heap_create_with_catalog(const char *relname,
|
|
Oid relnamespace,
|
|
TupleDesc tupdesc,
|
|
char relkind,
|
|
bool shared_relation,
|
|
bool relhasoids,
|
|
bool allow_system_table_mods);
|
|
|
|
extern void heap_drop_with_catalog(Oid rid);
|
|
|
|
extern void heap_truncate(Oid rid);
|
|
|
|
extern void AddRelationRawConstraints(Relation rel,
|
|
List *rawColDefaults,
|
|
List *rawConstraints);
|
|
|
|
extern Node *cookDefault(ParseState *pstate,
|
|
Node *raw_default,
|
|
Oid atttypid,
|
|
int32 atttypmod,
|
|
char *attname);
|
|
|
|
extern int RemoveRelConstraints(Relation rel, const char *constrName,
|
|
DropBehavior behavior);
|
|
|
|
extern void DeleteRelationTuple(Oid relid);
|
|
extern void DeleteAttributeTuples(Oid relid);
|
|
extern void RemoveAttrDefault(Oid relid, AttrNumber attnum,
|
|
DropBehavior behavior, bool complain);
|
|
extern void RemoveAttrDefaultById(Oid attrdefId);
|
|
|
|
extern Form_pg_attribute SystemAttributeDefinition(AttrNumber attno,
|
|
bool relhasoids);
|
|
|
|
extern Form_pg_attribute SystemAttributeByName(const char *attname,
|
|
bool relhasoids);
|
|
|
|
#endif /* HEAP_H */
|