OSDN Git Service

rebuid:
[eos/hostdependX86MAC64.git] / util / X86MAC64 / include / postgresql / server / catalog / pg_enum.h
1 /*-------------------------------------------------------------------------
2  *
3  * pg_enum.h
4  *        definition of the system "enum" relation (pg_enum)
5  *        along with the relation's initial contents.
6  *
7  *
8  * Copyright (c) 2006-2014, PostgreSQL Global Development Group
9  *
10  * src/include/catalog/pg_enum.h
11  *
12  * NOTES
13  *        the genbki.pl script reads this file and generates .bki
14  *        information from the DATA() statements.
15  *
16  *        XXX do NOT break up DATA() statements into multiple lines!
17  *                the scripts are not as smart as you might think...
18  *
19  *-------------------------------------------------------------------------
20  */
21 #ifndef PG_ENUM_H
22 #define PG_ENUM_H
23
24 #include "catalog/genbki.h"
25 #include "nodes/pg_list.h"
26
27 /* ----------------
28  *              pg_enum definition.  cpp turns this into
29  *              typedef struct FormData_pg_enum
30  * ----------------
31  */
32 #define EnumRelationId  3501
33
34 CATALOG(pg_enum,3501)
35 {
36         Oid                     enumtypid;              /* OID of owning enum type */
37         float4          enumsortorder;  /* sort position of this enum value */
38         NameData        enumlabel;              /* text representation of enum value */
39 } FormData_pg_enum;
40
41 /* ----------------
42  *              Form_pg_enum corresponds to a pointer to a tuple with
43  *              the format of pg_enum relation.
44  * ----------------
45  */
46 typedef FormData_pg_enum *Form_pg_enum;
47
48 /* ----------------
49  *              compiler constants for pg_enum
50  * ----------------
51  */
52 #define Natts_pg_enum                                   3
53 #define Anum_pg_enum_enumtypid                  1
54 #define Anum_pg_enum_enumsortorder              2
55 #define Anum_pg_enum_enumlabel                  3
56
57 /* ----------------
58  *              pg_enum has no initial contents
59  * ----------------
60  */
61
62 /*
63  * prototypes for functions in pg_enum.c
64  */
65 extern void EnumValuesCreate(Oid enumTypeOid, List *vals);
66 extern void EnumValuesDelete(Oid enumTypeOid);
67 extern void AddEnumLabel(Oid enumTypeOid, const char *newVal,
68                          const char *neighbor, bool newValIsAfter,
69                          bool skipIfExists);
70
71 #endif   /* PG_ENUM_H */