OSDN Git Service

First phase of applying Rod Taylor's pg_depend patch. This just adds
[pg-rex/syncrep.git] / src / include / commands / defrem.h
1 /*-------------------------------------------------------------------------
2  *
3  * defrem.h
4  *        POSTGRES define and remove utility definitions.
5  *
6  *
7  * Portions Copyright (c) 1996-2002, PostgreSQL Global Development Group
8  * Portions Copyright (c) 1994, Regents of the University of California
9  *
10  * $Id: defrem.h,v 1.40 2002/07/01 15:27:56 tgl Exp $
11  *
12  *-------------------------------------------------------------------------
13  */
14 #ifndef DEFREM_H
15 #define DEFREM_H
16
17 #include "nodes/parsenodes.h"
18
19 #define DEFAULT_TYPDELIM                ','
20
21 /*
22  * prototypes in indexcmds.c
23  */
24 extern void DefineIndex(RangeVar *heapRelation,
25                         char *indexRelationName,
26                         char *accessMethodName,
27                         List *attributeList,
28                         bool unique,
29                         bool primary,
30                         Expr *predicate,
31                         List *rangetable);
32 extern void RemoveIndex(RangeVar *relation, DropBehavior behavior);
33 extern void ReindexIndex(RangeVar *indexRelation, bool force);
34 extern void ReindexTable(RangeVar *relation, bool force);
35 extern void ReindexDatabase(const char *databaseName, bool force, bool all);
36
37 /*
38  * DefineFoo and RemoveFoo are now both in foocmds.c
39  */
40
41 extern void CreateFunction(CreateFunctionStmt *stmt);
42 extern void RemoveFunction(List *functionName, List *argTypes);
43
44 extern void DefineOperator(List *names, List *parameters);
45 extern void RemoveOperator(RemoveOperStmt *stmt);
46
47 extern void DefineAggregate(List *names, List *parameters);
48 extern void RemoveAggregate(List *aggName, TypeName *aggType);
49
50 extern void DefineType(List *names, List *parameters);
51 extern void RemoveType(List *names, DropBehavior behavior);
52 extern void DefineDomain(CreateDomainStmt *stmt);
53 extern void RemoveDomain(List *names, DropBehavior behavior);
54
55
56 /* support routines in commands/define.c */
57
58 extern void case_translate_language_name(const char *input, char *output);
59
60 extern char *defGetString(DefElem *def);
61 extern double defGetNumeric(DefElem *def);
62 extern int64 defGetInt64(DefElem *def);
63 extern List *defGetQualifiedName(DefElem *def);
64 extern TypeName *defGetTypeName(DefElem *def);
65 extern int      defGetTypeLength(DefElem *def);
66
67 #endif   /* DEFREM_H */