Header And Logo

PostgreSQL
| The world's most advanced open source database.

pg_collation.h

Go to the documentation of this file.
00001 /*-------------------------------------------------------------------------
00002  *
00003  * pg_collation.h
00004  *    definition of the system "collation" relation (pg_collation)
00005  *    along with the relation's initial contents.
00006  *
00007  *
00008  * Portions Copyright (c) 1996-2013, PostgreSQL Global Development Group
00009  * Portions Copyright (c) 1994, Regents of the University of California
00010  *
00011  * IDENTIFICATION
00012  *      src/include/catalog/pg_collation.h
00013  *
00014  * NOTES
00015  *    the genbki.pl script reads this file and generates .bki
00016  *    information from the DATA() statements.
00017  *
00018  *-------------------------------------------------------------------------
00019  */
00020 #ifndef PG_COLLATION_H
00021 #define PG_COLLATION_H
00022 
00023 #include "catalog/genbki.h"
00024 
00025 /* ----------------
00026  *      pg_collation definition.  cpp turns this into
00027  *      typedef struct FormData_pg_collation
00028  * ----------------
00029  */
00030 #define CollationRelationId  3456
00031 
00032 CATALOG(pg_collation,3456)
00033 {
00034     NameData    collname;       /* collation name */
00035     Oid         collnamespace;  /* OID of namespace containing collation */
00036     Oid         collowner;      /* owner of collation */
00037     int32       collencoding;   /* encoding for this collation; -1 = "all" */
00038     NameData    collcollate;    /* LC_COLLATE setting */
00039     NameData    collctype;      /* LC_CTYPE setting */
00040 } FormData_pg_collation;
00041 
00042 /* ----------------
00043  *      Form_pg_collation corresponds to a pointer to a row with
00044  *      the format of pg_collation relation.
00045  * ----------------
00046  */
00047 typedef FormData_pg_collation *Form_pg_collation;
00048 
00049 /* ----------------
00050  *      compiler constants for pg_collation
00051  * ----------------
00052  */
00053 #define Natts_pg_collation              6
00054 #define Anum_pg_collation_collname      1
00055 #define Anum_pg_collation_collnamespace 2
00056 #define Anum_pg_collation_collowner     3
00057 #define Anum_pg_collation_collencoding  4
00058 #define Anum_pg_collation_collcollate   5
00059 #define Anum_pg_collation_collctype     6
00060 
00061 /* ----------------
00062  *      initial contents of pg_collation
00063  * ----------------
00064  */
00065 
00066 DATA(insert OID = 100 ( default     PGNSP PGUID -1 "" "" ));
00067 DESCR("database's default collation");
00068 #define DEFAULT_COLLATION_OID   100
00069 DATA(insert OID = 950 ( C           PGNSP PGUID -1 "C" "C" ));
00070 DESCR("standard C collation");
00071 #define C_COLLATION_OID         950
00072 DATA(insert OID = 951 ( POSIX       PGNSP PGUID -1 "POSIX" "POSIX" ));
00073 DESCR("standard POSIX collation");
00074 #define POSIX_COLLATION_OID     951
00075 
00076 #endif   /* PG_COLLATION_H */