⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 heap.h

📁 PostgreSQL 8.1.4的源码 适用于Linux下的开源数据库系统
💻 H
字号:
/*------------------------------------------------------------------------- * * heap.h *	  prototypes for functions in backend/catalog/heap.c * * * Portions Copyright (c) 1996-2005, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * $PostgreSQL: pgsql/src/include/catalog/heap.h,v 1.76 2005/10/15 02:49:42 momjian 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;typedef struct CookedConstraint{	ConstrType	contype;		/* CONSTR_DEFAULT or CONSTR_CHECK */	char	   *name;			/* name, or NULL if none */	AttrNumber	attnum;			/* which attr (only for DEFAULT) */	Node	   *expr;			/* transformed default or check expr */} CookedConstraint;extern Relation heap_create(const char *relname,			Oid relnamespace,			Oid reltablespace,			Oid relid,			TupleDesc tupDesc,			char relkind,			bool shared_relation,			bool allow_system_table_mods);extern Oid heap_create_with_catalog(const char *relname,						 Oid relnamespace,						 Oid reltablespace,						 Oid relid,						 Oid ownerid,						 TupleDesc tupdesc,						 char relkind,						 bool shared_relation,						 bool oidislocal,						 int oidinhcount,						 OnCommitAction oncommit,						 bool allow_system_table_mods);extern void heap_drop_with_catalog(Oid relid);extern void heap_truncate(List *relids);extern void heap_truncate_check_FKs(List *relations, bool tempTables);extern List *AddRelationRawConstraints(Relation rel,						  List *rawColDefaults,						  List *rawConstraints);extern void StoreAttrDefault(Relation rel, AttrNumber attnum, char *adbin);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 RemoveAttributeById(Oid relid, AttrNumber attnum);extern void RemoveAttrDefault(Oid relid, AttrNumber attnum,				  DropBehavior behavior, bool complain);extern void RemoveAttrDefaultById(Oid attrdefId);extern void RemoveStatistics(Oid relid, AttrNumber attnum);extern Form_pg_attribute SystemAttributeDefinition(AttrNumber attno,						  bool relhasoids);extern Form_pg_attribute SystemAttributeByName(const char *attname,					  bool relhasoids);extern void CheckAttributeNamesTypes(TupleDesc tupdesc, char relkind);extern void CheckAttributeType(const char *attname, Oid atttypid);#endif   /* HEAP_H */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -