1 /*-------------------------------------------------------------------------
4 * POSTGRES define and remove utility definitions.
7 * Portions Copyright (c) 1996-2002, PostgreSQL Global Development Group
8 * Portions Copyright (c) 1994, Regents of the University of California
10 * $Id: defrem.h,v 1.40 2002/07/01 15:27:56 tgl Exp $
12 *-------------------------------------------------------------------------
17 #include "nodes/parsenodes.h"
19 #define DEFAULT_TYPDELIM ','
22 * prototypes in indexcmds.c
24 extern void DefineIndex(RangeVar *heapRelation,
25 char *indexRelationName,
26 char *accessMethodName,
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);
38 * DefineFoo and RemoveFoo are now both in foocmds.c
41 extern void CreateFunction(CreateFunctionStmt *stmt);
42 extern void RemoveFunction(List *functionName, List *argTypes);
44 extern void DefineOperator(List *names, List *parameters);
45 extern void RemoveOperator(RemoveOperStmt *stmt);
47 extern void DefineAggregate(List *names, List *parameters);
48 extern void RemoveAggregate(List *aggName, TypeName *aggType);
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);
56 /* support routines in commands/define.c */
58 extern void case_translate_language_name(const char *input, char *output);
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);