pg_attribute.h
上传用户:blenddy
上传日期:2007-01-07
资源大小:6495k
文件大小:23k
源码类别:

数据库系统

开发平台:

Unix_Linux

  1. /*-------------------------------------------------------------------------
  2.  *
  3.  * pg_attribute.h
  4.  *   definition of the system "attribute" relation (pg_attribute)
  5.  *   along with the relation's initial contents.
  6.  *
  7.  *
  8.  * Copyright (c) 1994, Regents of the University of California
  9.  *
  10.  * $Id: pg_attribute.h,v 1.47 1999/05/25 16:13:42 momjian Exp $
  11.  *
  12.  * NOTES
  13.  *   the genbki.sh script reads this file and generates .bki
  14.  *   information from the DATA() statements.
  15.  *
  16.  *   utils/cache/relcache.c requires some hard-coded tuple descriptors
  17.  *   for some of the system catalogs so if the schema for any of
  18.  *   these changes, be sure and change the appropriate Schema_xxx
  19.  *   macros!  -cim 2/5/91
  20.  *
  21.  *-------------------------------------------------------------------------
  22.  */
  23. #ifndef PG_ATTRIBUTE_H
  24. #define PG_ATTRIBUTE_H
  25. /* ----------------
  26.  * postgres.h contains the system type definintions and the
  27.  * CATALOG(), BOOTSTRAP and DATA() sugar words so this file
  28.  * can be read by both genbki.sh and the C compiler.
  29.  * ----------------
  30.  */
  31. /* ----------------
  32.  * pg_attribute definition.  cpp turns this into
  33.  * typedef struct FormData_pg_attribute
  34.  *
  35.  * If you change the following, make sure you change the structs for
  36.  * system attributes in heap.c and index.c also.
  37.  * ----------------
  38.  */
  39. CATALOG(pg_attribute) BOOTSTRAP
  40. {
  41. Oid attrelid;
  42. NameData attname;
  43. Oid atttypid;
  44. /*
  45.  * atttypid is the OID of the instance in Catalog Class pg_type that
  46.  * defines the data type of this attribute (e.g. int4).  Information
  47.  * in that instance is redundant with the attlen, attbyval, and
  48.  * attalign attributes of this instance, so they had better match or
  49.  * Postgres will fail.
  50.  */
  51. float4 attdisbursion;
  52. int2 attlen;
  53. /*
  54.  * attlen is a copy of the typlen field from pg_type for this
  55.  * attribute.  See atttypid above. See struct Form_pg_type for
  56.  * definition.
  57.  */
  58. int2 attnum;
  59. /*
  60.  * attnum is the "attribute number" for the attribute: A value that
  61.  * uniquely identifies this attribute within its class. For user
  62.  * attributes, Attribute numbers are greater than 0 and not greater
  63.  * than the number of attributes in the class. I.e. if the Class
  64.  * pg_class says that Class XYZ has 10 attributes, then the user
  65.  * attribute numbers in Class pg_attribute must be 1-10.
  66.  *
  67.  * System attributes have attribute numbers less than 0 that are unique
  68.  * within the class, but not constrained to any particular range.
  69.  *
  70.  * Note that (attnum - 1) is often used as the index to an array.
  71.  */
  72. int4 attnelems;
  73. int4 attcacheoff;
  74. /*
  75.  * fastgetattr() uses attcacheoff to cache byte offsets of attributes
  76.  * in heap tuples. The data actually stored in pg_attribute (-1)
  77.  * indicates no cached value.  But when we copy these tuples into a
  78.  * tuple descriptor, we may then update attcacheoff in the copies.
  79.  * This speeds up the attribute walking process.
  80.  */
  81. int4 atttypmod;
  82. /*
  83.  * atttypmod records type-specific modifications supplied at table
  84.  * creation time, and passes it to input and output functions as the
  85.  * third argument.
  86.  */
  87. bool attbyval;
  88. /*
  89.  * attbyval is a copy of the typbyval field from pg_type for this
  90.  * attribute.  See atttypid above. See struct Form_pg_type for
  91.  * definition.
  92.  */
  93. bool attisset;
  94. char attalign;
  95. /*
  96.  * attalign is a copy of the typalign field from pg_type for this
  97.  * attribute.  See atttypid above. See struct Form_pg_type for
  98.  * definition.
  99.  */
  100. bool attnotnull;
  101. /* This flag represents the "NOT NULL" constraint */
  102. bool atthasdef;
  103. /* Has DEFAULT value or not */
  104. } FormData_pg_attribute;
  105. /*
  106.  * someone should figure out how to do this properly. (The problem is
  107.  * the size of the C struct is not the same as the size of the tuple.)
  108.  */
  109. #define ATTRIBUTE_TUPLE_SIZE 
  110. (offsetof(FormData_pg_attribute,atthasdef) + sizeof(char))
  111. /* ----------------
  112.  * Form_pg_attribute corresponds to a pointer to a tuple with
  113.  * the format of pg_attribute relation.
  114.  * ----------------
  115.  */
  116. typedef FormData_pg_attribute *Form_pg_attribute;
  117. /* ----------------
  118.  * compiler constants for pg_attribute
  119.  * ----------------
  120.  */
  121. #define Natts_pg_attribute 14
  122. #define Anum_pg_attribute_attrelid 1
  123. #define Anum_pg_attribute_attname 2
  124. #define Anum_pg_attribute_atttypid 3
  125. #define Anum_pg_attribute_attdisbursion 4
  126. #define Anum_pg_attribute_attlen 5
  127. #define Anum_pg_attribute_attnum 6
  128. #define Anum_pg_attribute_attnelems 7
  129. #define Anum_pg_attribute_attcacheoff 8
  130. #define Anum_pg_attribute_atttypmod 9
  131. #define Anum_pg_attribute_attbyval 10
  132. #define Anum_pg_attribute_attisset 11
  133. #define Anum_pg_attribute_attalign 12
  134. #define Anum_pg_attribute_attnotnull 13
  135. #define Anum_pg_attribute_atthasdef 14
  136. /* ----------------
  137.  * SCHEMA_ macros for declaring hardcoded tuple descriptors.
  138.  * these are used in utils/cache/relcache.c
  139.  * ----------------
  140. #define SCHEMA_NAME(x) CppConcat(Name_,x)
  141. #define SCHEMA_DESC(x) CppConcat(Desc_,x)
  142. #define SCHEMA_NATTS(x) CppConcat(Natts_,x)
  143. #define SCHEMA_DEF(x) 
  144. FormData_pg_attribute 
  145. SCHEMA_DESC(x) [ SCHEMA_NATTS(x) ] = 
  146. CppConcat(Schema_,x) 
  147. }
  148.  */
  149. /* ----------------
  150.  * initial contents of pg_attribute
  151.  * ----------------
  152.  */
  153. /* ----------------
  154.  * pg_type schema
  155.  * ----------------
  156.  */
  157. #define Schema_pg_type 
  158. { 1247, {"typname"},    19, 0, NAMEDATALEN, 1, 0, -1, -1, '', '', 'i', '', '' }, 
  159. { 1247, {"typowner"},    23, 0, 4, 2, 0, -1, -1, '01', '', 'i', '', '' }, 
  160. { 1247, {"typlen"},    21, 0, 2, 3, 0, -1, -1, '01', '', 's', '', '' }, 
  161. { 1247, {"typprtlen"},    21, 0, 2, 4, 0, -1, -1, '01', '', 's', '', '' }, 
  162. { 1247, {"typbyval"},    16, 0, 1, 5, 0, -1, -1, '01', '', 'c', '', '' }, 
  163. { 1247, {"typtype"},    18, 0, 1, 6, 0, -1, -1, '01', '', 'c', '', '' }, 
  164. { 1247, {"typisdefined"},  16, 0, 1, 7, 0, -1, -1, '01', '', 'c', '', '' }, 
  165. { 1247, {"typdelim"},    18, 0, 1, 8, 0, -1, -1, '01', '', 'c', '', '' }, 
  166. { 1247, {"typrelid"},    26, 0, 4, 9, 0, -1, -1, '01', '', 'i', '', '' }, 
  167. { 1247, {"typelem"},    26, 0, 4, 10, 0, -1, -1, '01', '', 'i', '', '' }, 
  168. { 1247, {"typinput"},    24, 0, 4, 11, 0, -1, -1, '01', '', 'i', '', '' }, 
  169. { 1247, {"typoutput"},    24, 0, 4, 12, 0, -1, -1, '01', '', 'i', '', '' }, 
  170. { 1247, {"typreceive"},    24, 0, 4, 13, 0, -1, -1, '01', '', 'i', '', '' }, 
  171. { 1247, {"typsend"},    24, 0, 4, 14, 0, -1, -1, '01', '', 'i', '', '' }, 
  172. { 1247, {"typalign"},    18, 0, 1, 15, 0, -1, -1, '01', '', 'c', '', '' }, 
  173. { 1247, {"typdefault"},    25, 0,  -1, 16, 0, -1, -1, '' , '', 'i', '', '' }
  174. DATA(insert OID = 0 ( 1247 typname 19 0 NAMEDATALEN   1 0 -1 -1 f f i f f));
  175. DATA(insert OID = 0 ( 1247 typowner 23 0  4   2 0 -1 -1 t f i f f));
  176. DATA(insert OID = 0 ( 1247 typlen 21 0  2   3 0 -1 -1 t f s f f));
  177. DATA(insert OID = 0 ( 1247 typprtlen 21 0  2   4 0 -1 -1 t f s f f));
  178. DATA(insert OID = 0 ( 1247 typbyval 16 0  1   5 0 -1 -1 t f c f f));
  179. DATA(insert OID = 0 ( 1247 typtype 18 0  1   6 0 -1 -1 t f c f f));
  180. DATA(insert OID = 0 ( 1247 typisdefined 16 0  1   7 0 -1 -1 t f c f f));
  181. DATA(insert OID = 0 ( 1247 typdelim 18 0  1   8 0 -1 -1 t f c f f));
  182. DATA(insert OID = 0 ( 1247 typrelid 26 0  4   9 0 -1 -1 t f i f f));
  183. DATA(insert OID = 0 ( 1247 typelem 26 0  4  10 0 -1 -1 t f i f f));
  184. DATA(insert OID = 0 ( 1247 typinput 24 0  4  11 0 -1 -1 t f i f f));
  185. DATA(insert OID = 0 ( 1247 typoutput 24 0  4  12 0 -1 -1 t f i f f));
  186. DATA(insert OID = 0 ( 1247 typreceive 24 0  4  13 0 -1 -1 t f i f f));
  187. DATA(insert OID = 0 ( 1247 typsend 24 0  4  14 0 -1 -1 t f i f f));
  188. DATA(insert OID = 0 ( 1247 typalign 18 0  1  15 0 -1 -1 t f c f f));
  189. DATA(insert OID = 0 ( 1247 typdefault 25 0 -1  16 0 -1 -1 f f i f f));
  190. DATA(insert OID = 0 ( 1247 ctid 27 0  6  -1 0 -1 -1 f f i f f));
  191. DATA(insert OID = 0 ( 1247 oid 26 0  4  -2 0 -1 -1 t f i f f));
  192. DATA(insert OID = 0 ( 1247 xmin 28 0  4  -3 0 -1 -1 t f i f f));
  193. DATA(insert OID = 0 ( 1247 cmin 29 0  4  -4 0 -1 -1 t f i f f));
  194. DATA(insert OID = 0 ( 1247 xmax 28 0  4  -5 0 -1 -1 t f i f f));
  195. DATA(insert OID = 0 ( 1247 cmax 29 0  4  -6 0 -1 -1 t f i f f));
  196. /* ----------------
  197.  * pg_database
  198.  * ----------------
  199.  */
  200. DATA(insert OID = 0 ( 1262 datname 19 0 NAMEDATALEN   1 0 -1 -1 f f i f f));
  201. DATA(insert OID = 0 ( 1262 datdba 23 0  4   2 0 -1 -1 t f i f f));
  202. DATA(insert OID = 0 ( 1262 encoding 23 0  4   3 0 -1 -1 t f i f f));
  203. DATA(insert OID = 0 ( 1262 datpath 25 0 -1   4 0 -1 -1 f f i f f));
  204. DATA(insert OID = 0 ( 1262 ctid 27 0  6  -1 0 -1 -1 f f i f f));
  205. DATA(insert OID = 0 ( 1262 oid 26 0  4  -2 0 -1 -1 t f i f f));
  206. DATA(insert OID = 0 ( 1262 xmin 28 0  4  -3 0 -1 -1 t f i f f));
  207. DATA(insert OID = 0 ( 1262 cmin 29 0  4  -4 0 -1 -1 t f i f f));
  208. DATA(insert OID = 0 ( 1262 xmax 28 0  4  -5 0 -1 -1 t f i f f));
  209. DATA(insert OID = 0 ( 1262 cmax 29 0  4  -6 0 -1 -1 t f i f f));
  210. /* ----------------
  211.  * pg_proc
  212.  * ----------------
  213.  */
  214. #define Schema_pg_proc 
  215. { 1255, {"proname"}, 19, 0, NAMEDATALEN,  1, 0, -1, -1, '', '', 'i', '', '' }, 
  216. { 1255, {"proowner"}, 23, 0, 4, 2, 0, -1, -1, '01', '', 'i', '', '' }, 
  217. { 1255, {"prolang"}, 26, 0, 4, 3, 0, -1, -1, '01', '', 'i', '', '' }, 
  218. { 1255, {"proisinh"}, 16, 0, 1, 4, 0, -1, -1, '01', '', 'c', '', '' }, 
  219. { 1255, {"proistrusted"}, 16, 0, 1, 5, 0, -1, -1, '01', '', 'c', '', '' }, 
  220. { 1255, {"proiscachable"}, 16, 0, 1, 6, 0, -1, -1, '01', '', 'c', '', '' }, 
  221. { 1255, {"pronargs"}, 21, 0, 2, 7, 0, -1, -1, '01', '', 's', '', '' }, 
  222. { 1255, {"proretset"}, 16, 0, 1, 8, 0, -1, -1, '01', '', 'c', '', '' }, 
  223. { 1255, {"prorettype"}, 26, 0, 4, 9, 0, -1, -1, '01', '', 'i', '', '' }, 
  224. { 1255, {"proargtypes"}, 30, 0, 32, 10, 0, -1, -1, '', '', 'i', '', '' }, 
  225. { 1255, {"probyte_pct"}, 23, 0, 4, 11, 0, -1, -1, '01', '', 'i', '', '' }, 
  226. { 1255, {"properbyte_cpu"}, 23, 0, 4, 12, 0, -1, -1, '01', '', 'i', '', '' }, 
  227. { 1255, {"propercall_cpu"}, 23, 0, 4, 13, 0, -1, -1, '01', '', 'i', '', '' }, 
  228. { 1255, {"prooutin_ratio"}, 23, 0, 4, 14, 0, -1, -1, '01', '', 'i', '', '' }, 
  229. { 1255, {"prosrc"}, 25, 0, -1, 15, 0, -1, -1, '', '', 'i', '', '' }, 
  230. { 1255, {"probin"}, 17, 0, -1, 16, 0, -1, -1, '', '', 'i', '', '' }
  231. DATA(insert OID = 0 ( 1255 proname 19 0 NAMEDATALEN   1 0 -1 -1 f f i f f));
  232. DATA(insert OID = 0 ( 1255 proowner 23 0  4   2 0 -1 -1 t f i f f));
  233. DATA(insert OID = 0 ( 1255 prolang 26 0  4   3 0 -1 -1 t f i f f));
  234. DATA(insert OID = 0 ( 1255 proisinh 16 0  1   4 0 -1 -1 t f c f f));
  235. DATA(insert OID = 0 ( 1255 proistrusted 16 0  1   5 0 -1 -1 t f c f f));
  236. DATA(insert OID = 0 ( 1255 proiscachable 16 0  1   6 0 -1 -1 t f c f f));
  237. DATA(insert OID = 0 ( 1255 pronargs 21 0  2   7 0 -1 -1 t f s f f));
  238. DATA(insert OID = 0 ( 1255 proretset 16 0  1   8 0 -1 -1 t f c f f));
  239. DATA(insert OID = 0 ( 1255 prorettype 26 0  4   9 0 -1 -1 t f i f f));
  240. DATA(insert OID = 0 ( 1255 proargtypes 30 0 32  10 0 -1 -1 f f i f f));
  241. DATA(insert OID = 0 ( 1255 probyte_pct 23 0  4  11 0 -1 -1 t f i f f));
  242. DATA(insert OID = 0 ( 1255 properbyte_cpu 23 0  4  12 0 -1 -1 t f i f f));
  243. DATA(insert OID = 0 ( 1255 propercall_cpu 23 0  4  13 0 -1 -1 t f i f f));
  244. DATA(insert OID = 0 ( 1255 prooutin_ratio 23 0  4  14 0 -1 -1 t f i f f));
  245. DATA(insert OID = 0 ( 1255 prosrc 25 0 -1  15 0 -1 -1 f f i f f));
  246. DATA(insert OID = 0 ( 1255 probin 17 0 -1  16 0 -1 -1 f f i f f));
  247. DATA(insert OID = 0 ( 1255 ctid 27 0  6  -1 0 -1 -1 f f i f f));
  248. DATA(insert OID = 0 ( 1255 oid 26 0  4  -2 0 -1 -1 t f i f f));
  249. DATA(insert OID = 0 ( 1255 xmin 28 0  4  -3 0 -1 -1 t f i f f));
  250. DATA(insert OID = 0 ( 1255 cmin 29 0  4  -4 0 -1 -1 t f i f f));
  251. DATA(insert OID = 0 ( 1255 xmax 28 0  4  -5 0 -1 -1 t f i f f));
  252. DATA(insert OID = 0 ( 1255 cmax 29 0  4  -6 0 -1 -1 t f i f f));
  253. /* ----------------
  254.  * pg_shadow
  255.  * ----------------
  256.  */
  257. DATA(insert OID = 0 ( 1260 usename 19 0 NAMEDATALEN 1 0 -1 -1 f f i f f));
  258. DATA(insert OID = 0 ( 1260 usesysid 23 0 4 2 0 -1 -1 t f i f f));
  259. DATA(insert OID = 0 ( 1260 usecreatedb 16 0 1 3 0 -1 -1 t f c f f));
  260. DATA(insert OID = 0 ( 1260 usetrace 16 0 1 4 0 -1 -1 t f c f f));
  261. DATA(insert OID = 0 ( 1260 usesuper 16 0 1 5 0 -1 -1 t f c f f));
  262. DATA(insert OID = 0 ( 1260 usecatupd 16 0 1 6 0 -1 -1 t f c f f));
  263. DATA(insert OID = 0 ( 1260 passwd 25 0  -1 7 0 -1 -1 f f i f f));
  264. DATA(insert OID = 0 ( 1260 valuntil 702 0 4 8 0 -1 -1 t f i f f));
  265. DATA(insert OID = 0 ( 1260 ctid 27 0  6  -1 0 -1 -1 f f i f f));
  266. DATA(insert OID = 0 ( 1260 oid 26 0  4  -2 0 -1 -1 t f i f f));
  267. DATA(insert OID = 0 ( 1260 xmin 28 0  4  -3 0 -1 -1 t f i f f));
  268. DATA(insert OID = 0 ( 1260 cmin 29 0  4  -4 0 -1 -1 t f i f f));
  269. DATA(insert OID = 0 ( 1260 xmax 28 0  4  -5 0 -1 -1 t f i f f));
  270. DATA(insert OID = 0 ( 1260 cmax 29 0  4  -6 0 -1 -1 t f i f f));
  271. /* ----------------
  272.  * pg_group
  273.  * ----------------
  274.  */
  275. DATA(insert OID = 0 ( 1261 groname 19 0 NAMEDATALEN  1 0 -1 -1 f f i f f));
  276. DATA(insert OID = 0 ( 1261 grosysid 23 0  4   2 0 -1 -1 t f i f f));
  277. DATA(insert OID = 0 ( 1261 grolist   1007 0 -1   3 0 -1 -1 f f i f f));
  278. DATA(insert OID = 0 ( 1261 ctid 27 0  6  -1 0 -1 -1 f f i f f));
  279. DATA(insert OID = 0 ( 1261 oid 26 0  4  -2 0 -1 -1 t f i f f));
  280. DATA(insert OID = 0 ( 1261 xmin 28 0  4  -3 0 -1 -1 t f i f f));
  281. DATA(insert OID = 0 ( 1261 cmin 29 0  4  -4 0 -1 -1 t f i f f));
  282. DATA(insert OID = 0 ( 1261 xmax 28 0  4  -5 0 -1 -1 t f i f f));
  283. DATA(insert OID = 0 ( 1261 cmax 29 0  4  -6 0 -1 -1 t f i f f));
  284. /* ----------------
  285.  * pg_attribute
  286.  * ----------------
  287.  */
  288. #define Schema_pg_attribute 
  289. { 1249, {"attrelid"},   26, 0, 4, 1, 0, -1, -1, '01', '', 'i', '', '' }, 
  290. { 1249, {"attname"},   19, 0, NAMEDATALEN, 2, 0, -1, -1, '', '', 'i', '', '' }, 
  291. { 1249, {"atttypid"},   26, 0, 4, 3, 0, -1, -1, '01', '', 'i', '', '' }, 
  292. { 1249, {"attdisbursion"}, 700, 0, 4, 4, 0, -1, -1, '', '', 'i', '', '' }, 
  293. { 1249, {"attlen"},   21, 0, 2, 5, 0, -1, -1, '01', '', 's', '', '' }, 
  294. { 1249, {"attnum"},   21, 0, 2, 6, 0, -1, -1, '01', '', 's', '', '' }, 
  295. { 1249, {"attnelems"},   23, 0, 4, 7, 0, -1, -1, '01', '', 'i', '', '' }, 
  296. { 1249, {"attcacheoff"},  23, 0, 4, 8, 0, -1, -1, '01', '', 'i', '', '' }, 
  297. { 1249, {"atttypmod"},   23, 0, 4, 9, 0, -1, -1, '01', '', 'i', '', '' }, 
  298. { 1249, {"attbyval"},   16, 0, 1, 10, 0, -1, -1, '01', '', 'c', '', '' }, 
  299. { 1249, {"attisset"},   16, 0, 1, 11, 0, -1, -1, '01', '', 'c', '', '' }, 
  300. { 1249, {"attalign"},   18, 0, 1, 12, 0, -1, -1, '01', '', 'c', '', '' }, 
  301. { 1249, {"attnotnull"},  16, 0, 1, 13, 0, -1, -1, '01', '', 'c', '', '' }, 
  302. { 1249, {"atthasdef"},  16, 0, 1, 14, 0, -1, -1, '01', '', 'c', '', '' }
  303. DATA(insert OID = 0 ( 1249 attrelid 26 0  4   1 0 -1 -1 t f i f f));
  304. DATA(insert OID = 0 ( 1249 attname 19 0 NAMEDATALEN  2 0 -1 -1 f f i f f));
  305. DATA(insert OID = 0 ( 1249 atttypid 26 0  4   3 0 -1 -1 t f i f f));
  306. DATA(insert OID = 0 ( 1249 attdisbursion   700 0  4   4 0 -1 -1 f f i f f));
  307. DATA(insert OID = 0 ( 1249 attlen 21 0  2   5 0 -1 -1 t f s f f));
  308. DATA(insert OID = 0 ( 1249 attnum 21 0  2   6 0 -1 -1 t f s f f));
  309. DATA(insert OID = 0 ( 1249 attnelems 23 0  4   7 0 -1 -1 t f i f f));
  310. DATA(insert OID = 0 ( 1249 attcacheoff 23 0  4   8 0 -1 -1 t f i f f));
  311. DATA(insert OID = 0 ( 1249 atttypmod 23 0  4   9 0 -1 -1 t f i f f));
  312. DATA(insert OID = 0 ( 1249 attbyval 16 0  1  10 0 -1 -1 t f c f f));
  313. DATA(insert OID = 0 ( 1249 attisset 16 0  1  11 0 -1 -1 t f c f f));
  314. DATA(insert OID = 0 ( 1249 attalign 18 0  1  12 0 -1 -1 t f c f f));
  315. DATA(insert OID = 0 ( 1249 attnotnull 16 0  1  13 0 -1 -1 t f c f f));
  316. DATA(insert OID = 0 ( 1249 atthasdef 16 0  1  14 0 -1 -1 t f c f f));
  317. DATA(insert OID = 0 ( 1249 ctid 27 0  6  -1 0 -1 -1 f f i f f));
  318. DATA(insert OID = 0 ( 1249 oid 26 0  4  -2 0 -1 -1 t f i f f));
  319. DATA(insert OID = 0 ( 1249 xmin 28 0  4  -3 0 -1 -1 t f i f f));
  320. DATA(insert OID = 0 ( 1249 cmin 29 0  4  -4 0 -1 -1 t f i f f));
  321. DATA(insert OID = 0 ( 1249 xmax 28 0  4  -5 0 -1 -1 t f i f f));
  322. DATA(insert OID = 0 ( 1249 cmax 29 0  4  -6 0 -1 -1 t f i f f));
  323. /* ----------------
  324.  * pg_class
  325.  * ----------------
  326.  */
  327. #define Schema_pg_class 
  328. { 1259, {"relname"},    19, 0, NAMEDATALEN, 1, 0, -1, -1, '', '', 'i', '', '' }, 
  329. { 1259, {"reltype"},    26, 0, 4, 2, 0, -1, -1, '01', '', 'i', '', '' }, 
  330. { 1259, {"relowner"},    23, 0, 4, 3, 0, -1, -1, '01', '', 'i', '', '' }, 
  331. { 1259, {"relam"},    26, 0, 4, 4, 0, -1, -1, '01', '', 'i', '', '' }, 
  332. { 1259, {"relpages"},    23, 0, 4, 5, 0, -1, -1, '01', '', 'i', '', '' }, 
  333. { 1259, {"reltuples"},    23, 0, 4, 6, 0, -1, -1, '01', '', 'i', '', '' }, 
  334. { 1259, {"relhasindex"},   16, 0, 1, 7, 0, -1, -1, '01', '', 'c', '', '' }, 
  335. { 1259, {"relisshared"},   16, 0, 1, 8, 0, -1, -1, '01', '', 'c', '', '' }, 
  336. { 1259, {"relkind"},    18, 0, 1, 9, 0, -1, -1, '01', '', 'c', '', '' }, 
  337. { 1259, {"relnatts"},    21, 0, 2, 10, 0, -1, -1, '01', '', 's', '', '' }, 
  338. { 1259, {"relchecks"},    21, 0, 2, 11, 0, -1, -1, '01', '', 's', '', '' }, 
  339. { 1259, {"reltriggers"},   21, 0, 2, 12, 0, -1, -1, '01', '', 's', '', '' }, 
  340. { 1259, {"relukeys"},    21, 0, 2, 13, 0, -1, -1, '01', '', 's', '', '' }, 
  341. { 1259, {"relfkeys"},    21, 0, 2, 14, 0, -1, -1, '01', '', 's', '', '' }, 
  342. { 1259, {"relrefs"},    21, 0, 2, 15, 0, -1, -1, '01', '', 's', '', '' }, 
  343. { 1259, {"relhaspkey"},    16, 0, 1, 16, 0, -1, -1, '01', '', 'c', '', '' }, 
  344. { 1259, {"relhasrules"},   16, 0, 1, 17, 0, -1, -1, '01', '', 'c', '', '' }, 
  345. { 1259, {"relacl"},  1034, 0,  -1, 18, 0, -1, -1, '', '', 'i', '', '' }
  346. DATA(insert OID = 0 ( 1259 relname 19 0 NAMEDATALEN   1 0 -1 -1 f f i f f));
  347. DATA(insert OID = 0 ( 1259 reltype 26 0  4   2 0 -1 -1 t f i f f));
  348. DATA(insert OID = 0 ( 1259 relowner 23 0  4   3 0 -1 -1 t f i f f));
  349. DATA(insert OID = 0 ( 1259 relam 26 0  4   4 0 -1 -1 t f i f f));
  350. DATA(insert OID = 0 ( 1259 relpages 23 0  4   5 0 -1 -1 t f i f f));
  351. DATA(insert OID = 0 ( 1259 reltuples 23 0  4   6 0 -1 -1 t f i f f));
  352. DATA(insert OID = 0 ( 1259 relhasindex 16 0  1   7 0 -1 -1 t f c f f));
  353. DATA(insert OID = 0 ( 1259 relisshared 16 0  1   8 0 -1 -1 t f c f f));
  354. DATA(insert OID = 0 ( 1259 relkind 18 0  1   9 0 -1 -1 t f c f f));
  355. DATA(insert OID = 0 ( 1259 relnatts 21 0  2  10 0 -1 -1 t f s f f));
  356. DATA(insert OID = 0 ( 1259 relchecks 21 0  2  11 0 -1 -1 t f s f f));
  357. DATA(insert OID = 0 ( 1259 reltriggers 21 0  2  12 0 -1 -1 t f s f f));
  358. DATA(insert OID = 0 ( 1259 relukeys 21 0  2  13 0 -1 -1 t f s f f));
  359. DATA(insert OID = 0 ( 1259 relfkeys 21 0  2  14 0 -1 -1 t f s f f));
  360. DATA(insert OID = 0 ( 1259 relrefs 21 0  2  15 0 -1 -1 t f s f f));
  361. DATA(insert OID = 0 ( 1259 relhaspkey 16 0  1  16 0 -1 -1 t f c f f));
  362. DATA(insert OID = 0 ( 1259 relhasrules 16 0  1  17 0 -1 -1 t f c f f));
  363. DATA(insert OID = 0 ( 1259 relacl   1034 0 -1  18 0 -1 -1 f f i f f));
  364. DATA(insert OID = 0 ( 1259 ctid 27 0  6  -1 0 -1 -1 f f i f f));
  365. DATA(insert OID = 0 ( 1259 oid 26 0  4  -2 0 -1 -1 t f i f f));
  366. DATA(insert OID = 0 ( 1259 xmin 28 0  4  -3 0 -1 -1 t f i f f));
  367. DATA(insert OID = 0 ( 1259 cmin 29 0  4  -4 0 -1 -1 t f i f f));
  368. DATA(insert OID = 0 ( 1259 xmax 28 0  4  -5 0 -1 -1 t f i f f));
  369. DATA(insert OID = 0 ( 1259 cmax 29 0  4  -6 0 -1 -1 t f i f f));
  370. /* ----------------
  371.  * pg_attrdef
  372.  * ----------------
  373.  */
  374. DATA(insert OID = 0 ( 1215 adrelid 26 0  4   1 0 -1 -1 t f i f f));
  375. DATA(insert OID = 0 ( 1215 adnum 21 0  2   2 0 -1 -1 t f s f f));
  376. DATA(insert OID = 0 ( 1215 adbin 25 0 -1   3 0 -1 -1 f f i f f));
  377. DATA(insert OID = 0 ( 1215 adsrc 25 0 -1   4 0 -1 -1 f f i f f));
  378. DATA(insert OID = 0 ( 1215 ctid 27 0  6  -1 0 -1 -1 f f i f f));
  379. DATA(insert OID = 0 ( 1215 oid 26 0  4  -2 0 -1 -1 t f i f f));
  380. DATA(insert OID = 0 ( 1215 xmin 28 0  4  -3 0 -1 -1 t f i f f));
  381. DATA(insert OID = 0 ( 1215 cmin 29 0  4  -4 0 -1 -1 t f i f f));
  382. DATA(insert OID = 0 ( 1215 xmax 28 0  4  -5 0 -1 -1 t f i f f));
  383. DATA(insert OID = 0 ( 1215 cmax 29 0  4  -6 0 -1 -1 t f i f f));
  384. /* ----------------
  385.  * pg_relcheck
  386.  * ----------------
  387.  */
  388. DATA(insert OID = 0 ( 1216 rcrelid 26 0  4   1 0 -1 -1 t f i f f));
  389. DATA(insert OID = 0 ( 1216 rcname 19 0  NAMEDATALEN  2 0 -1 -1 f f i f f));
  390. DATA(insert OID = 0 ( 1216 rcbin 25 0 -1   3 0 -1 -1 f f i f f));
  391. DATA(insert OID = 0 ( 1216 rcsrc 25 0 -1   4 0 -1 -1 f f i f f));
  392. DATA(insert OID = 0 ( 1216 ctid 27 0  6  -1 0 -1 -1 f f i f f));
  393. DATA(insert OID = 0 ( 1216 oid 26 0  4  -2 0 -1 -1 t f i f f));
  394. DATA(insert OID = 0 ( 1216 xmin 28 0  4  -3 0 -1 -1 t f i f f));
  395. DATA(insert OID = 0 ( 1216 cmin 29 0  4  -4 0 -1 -1 t f i f f));
  396. DATA(insert OID = 0 ( 1216 xmax 28 0  4  -5 0 -1 -1 t f i f f));
  397. DATA(insert OID = 0 ( 1216 cmax 29 0  4  -6 0 -1 -1 t f i f f));
  398. /* ----------------
  399.  * pg_trigger
  400.  * ----------------
  401.  */
  402. DATA(insert OID = 0 ( 1219 tgrelid 26 0  4   1 0 -1 -1 t f i f f));
  403. DATA(insert OID = 0 ( 1219 tgname 19 0  NAMEDATALEN  2 0 -1 -1 f f i f f));
  404. DATA(insert OID = 0 ( 1219 tgfoid 26 0  4   3 0 -1 -1 t f i f f));
  405. DATA(insert OID = 0 ( 1219 tgtype 21 0  2   4 0 -1 -1 t f s f f));
  406. DATA(insert OID = 0 ( 1219 tgnargs 21 0  2   5 0 -1 -1 t f s f f));
  407. DATA(insert OID = 0 ( 1219 tgattr 22 0 16   6 0 -1 -1 f f i f f));
  408. DATA(insert OID = 0 ( 1219 tgargs 17 0 -1   7 0 -1 -1 f f i f f));
  409. DATA(insert OID = 0 ( 1219 ctid 27 0  6  -1 0 -1 -1 f f i f f));
  410. DATA(insert OID = 0 ( 1219 oid 26 0  4  -2 0 -1 -1 t f i f f));
  411. DATA(insert OID = 0 ( 1219 xmin 28 0  4  -3 0 -1 -1 t f i f f));
  412. DATA(insert OID = 0 ( 1219 cmin 29 0  4  -4 0 -1 -1 t f i f f));
  413. DATA(insert OID = 0 ( 1219 xmax 28 0  4  -5 0 -1 -1 t f i f f));
  414. DATA(insert OID = 0 ( 1219 cmax 29 0  4  -6 0 -1 -1 t f i f f));
  415. /* ----------------
  416.  * pg_variable - this relation is modified by special purpose access
  417.  *   method code. The following is garbage but is needed
  418.  *   so that the reldesc code works properly.
  419.  * ----------------
  420.  */
  421. #define Schema_pg_variable 
  422. { 1264, {"varfoo"},  26, 0, 4, 1, 0, -1, -1, '01', '', 'i', '', '' }
  423. DATA(insert OID = 0 ( 1264 varfoo 26 0  4   1 0 -1 -1 t f i f f));
  424. /* ----------------
  425.  * pg_log - this relation is modified by special purpose access
  426.  *   method code. The following is garbage but is needed
  427.  *   so that the reldesc code works properly.
  428.  * ----------------
  429.  */
  430. #define Schema_pg_log 
  431. { 1269, {"logfoo"},  26, 0, 4, 1, 0, -1, -1, '01', '', 'i', '', '' }
  432. DATA(insert OID = 0 ( 1269 logfoo 26 0  4   1 0 -1 -1 t f i f f));
  433. /* ----------------
  434.  * pg_xactlock - this relation is modified by special purpose access
  435.  *   method code. The following is garbage but is needed
  436.  *   so that the reldesc code works properly.
  437.  * ----------------
  438.  */
  439. #define Schema_pg_xactlock 
  440. { 376, {"xactlockfoo"},  26, 0, 4, 1, 0, -1, -1, '01', '', 'i', '', '' }
  441. DATA(insert OID = 0 ( 376 xactlockfoo 26 0  4   1 0 -1 -1 t f i f f));
  442. #endif  /* PG_ATTRIBUTE_H */