1/*-------------------------------------------------------------------------
2 *
3 * pg_conversion.h
4 * definition of the "conversion" system catalog (pg_conversion)
5 *
6 * Portions Copyright (c) 1996-2019, PostgreSQL Global Development Group
7 * Portions Copyright (c) 1994, Regents of the University of California
8 *
9 * src/include/catalog/pg_conversion.h
10 *
11 * NOTES
12 * The Catalog.pm module reads this file and derives schema
13 * information.
14 *
15 *-------------------------------------------------------------------------
16 */
17#ifndef PG_CONVERSION_H
18#define PG_CONVERSION_H
19
20#include "catalog/genbki.h"
21#include "catalog/pg_conversion_d.h"
22
23#include "catalog/objectaddress.h"
24
25/* ----------------
26 * pg_conversion definition. cpp turns this into
27 * typedef struct FormData_pg_conversion
28 * ----------------
29 */
30CATALOG(pg_conversion,2607,ConversionRelationId)
31{
32 /* oid */
33 Oid oid;
34
35 /* name of the conversion */
36 NameData conname;
37
38 /* namespace that the conversion belongs to */
39 Oid connamespace BKI_DEFAULT(PGNSP);
40
41 /* owner of the conversion */
42 Oid conowner BKI_DEFAULT(PGUID);
43
44 /* FOR encoding id */
45 int32 conforencoding BKI_LOOKUP(encoding);
46
47 /* TO encoding id */
48 int32 contoencoding BKI_LOOKUP(encoding);
49
50 /* OID of the conversion proc */
51 regproc conproc BKI_LOOKUP(pg_proc);
52
53 /* true if this is a default conversion */
54 bool condefault BKI_DEFAULT(t);
55} FormData_pg_conversion;
56
57/* ----------------
58 * Form_pg_conversion corresponds to a pointer to a tuple with
59 * the format of pg_conversion relation.
60 * ----------------
61 */
62typedef FormData_pg_conversion *Form_pg_conversion;
63
64
65extern ObjectAddress ConversionCreate(const char *conname, Oid connamespace,
66 Oid conowner,
67 int32 conforencoding, int32 contoencoding,
68 Oid conproc, bool def);
69extern void RemoveConversionById(Oid conversionOid);
70extern Oid FindDefaultConversion(Oid connamespace, int32 for_encoding,
71 int32 to_encoding);
72
73#endif /* PG_CONVERSION_H */
74