]> granicus.if.org Git - postgresql/blob - src/include/access/reloptions.h
b47d0864b8faad6157958f205c2c1b21087b732c
[postgresql] / src / include / access / reloptions.h
1 /*-------------------------------------------------------------------------
2  *
3  * reloptions.h
4  *        Core support for relation options (pg_class.reloptions)
5  *
6  * Note: the functions dealing with text-array reloptions values declare
7  * them as Datum, not ArrayType *, to avoid needing to include array.h
8  * into a lot of low-level code.
9  *
10  *
11  * Portions Copyright (c) 1996-2008, PostgreSQL Global Development Group
12  * Portions Copyright (c) 1994, Regents of the University of California
13  *
14  * $PostgreSQL: pgsql/src/include/access/reloptions.h,v 1.5 2008/01/01 19:45:56 momjian Exp $
15  *
16  *-------------------------------------------------------------------------
17  */
18 #ifndef RELOPTIONS_H
19 #define RELOPTIONS_H
20
21 #include "nodes/pg_list.h"
22
23 extern Datum transformRelOptions(Datum oldOptions, List *defList,
24                                         bool ignoreOids, bool isReset);
25
26 extern List *untransformRelOptions(Datum options);
27
28 extern void parseRelOptions(Datum options, int numkeywords,
29                                 const char *const * keywords,
30                                 char **values, bool validate);
31
32 extern bytea *default_reloptions(Datum reloptions, bool validate,
33                                    int minFillfactor, int defaultFillfactor);
34
35 extern bytea *heap_reloptions(char relkind, Datum reloptions, bool validate);
36
37 extern bytea *index_reloptions(RegProcedure amoptions, Datum reloptions,
38                                  bool validate);
39
40 #endif   /* RELOPTIONS_H */