summaryrefslogtreecommitdiff
path: root/src/include
diff options
context:
space:
mode:
Diffstat (limited to 'src/include')
-rw-r--r--src/include/catalog/catversion.h4
-rw-r--r--src/include/catalog/heap.h3
-rw-r--r--src/include/catalog/pg_attribute.h456
-rw-r--r--src/include/catalog/pg_class.h4
-rw-r--r--src/include/executor/executor.h3
-rw-r--r--src/include/parser/parse_relation.h4
-rw-r--r--src/include/utils/lsyscache.h5
-rw-r--r--src/include/utils/syscache.h6
8 files changed, 247 insertions, 238 deletions
diff --git a/src/include/catalog/catversion.h b/src/include/catalog/catversion.h
index 9dcd646e6f3..f3e36226b01 100644
--- a/src/include/catalog/catversion.h
+++ b/src/include/catalog/catversion.h
@@ -37,7 +37,7 @@
* Portions Copyright (c) 1996-2002, PostgreSQL Global Development Group
* Portions Copyright (c) 1994, Regents of the University of California
*
- * $Id: catversion.h,v 1.143 2002/07/25 10:07:12 ishii Exp $
+ * $Id: catversion.h,v 1.144 2002/08/02 18:15:09 tgl Exp $
*
*-------------------------------------------------------------------------
*/
@@ -53,6 +53,6 @@
*/
/* yyyymmddN */
-#define CATALOG_VERSION_NO 200207251
+#define CATALOG_VERSION_NO 200208011
#endif
diff --git a/src/include/catalog/heap.h b/src/include/catalog/heap.h
index 3148fd32633..f45c61515ad 100644
--- a/src/include/catalog/heap.h
+++ b/src/include/catalog/heap.h
@@ -7,7 +7,7 @@
* Portions Copyright (c) 1996-2002, PostgreSQL Global Development Group
* Portions Copyright (c) 1994, Regents of the University of California
*
- * $Id: heap.h,v 1.54 2002/07/15 16:33:31 tgl Exp $
+ * $Id: heap.h,v 1.55 2002/08/02 18:15:09 tgl Exp $
*
*-------------------------------------------------------------------------
*/
@@ -63,6 +63,7 @@ extern int RemoveRelConstraints(Relation rel, const char *constrName,
extern void DeleteRelationTuple(Oid relid);
extern void DeleteAttributeTuples(Oid relid);
+extern void RemoveAttributeById(Oid relid, AttrNumber attnum);
extern void RemoveAttrDefault(Oid relid, AttrNumber attnum,
DropBehavior behavior, bool complain);
extern void RemoveAttrDefaultById(Oid attrdefId);
diff --git a/src/include/catalog/pg_attribute.h b/src/include/catalog/pg_attribute.h
index 15945192a00..a888fcf523c 100644
--- a/src/include/catalog/pg_attribute.h
+++ b/src/include/catalog/pg_attribute.h
@@ -8,7 +8,7 @@
* Portions Copyright (c) 1996-2002, PostgreSQL Global Development Group
* Portions Copyright (c) 1994, Regents of the University of California
*
- * $Id: pg_attribute.h,v 1.95 2002/07/31 17:19:54 tgl Exp $
+ * $Id: pg_attribute.h,v 1.96 2002/08/02 18:15:09 tgl Exp $
*
* NOTES
* the genbki.sh script reads this file and generates .bki
@@ -143,6 +143,9 @@ CATALOG(pg_attribute) BOOTSTRAP BKI_WITHOUT_OIDS
/* Has DEFAULT value or not */
bool atthasdef;
+
+ /* Is dropped (ie, logically invisible) or not */
+ bool attisdropped;
} FormData_pg_attribute;
/*
@@ -151,7 +154,7 @@ CATALOG(pg_attribute) BOOTSTRAP BKI_WITHOUT_OIDS
* because of alignment padding at the end of the struct.)
*/
#define ATTRIBUTE_TUPLE_SIZE \
- (offsetof(FormData_pg_attribute,atthasdef) + sizeof(bool))
+ (offsetof(FormData_pg_attribute,attisdropped) + sizeof(bool))
/* ----------------
* Form_pg_attribute corresponds to a pointer to a tuple with
@@ -165,7 +168,7 @@ typedef FormData_pg_attribute *Form_pg_attribute;
* ----------------
*/
-#define Natts_pg_attribute 15
+#define Natts_pg_attribute 16
#define Anum_pg_attribute_attrelid 1
#define Anum_pg_attribute_attname 2
#define Anum_pg_attribute_atttypid 3
@@ -181,6 +184,7 @@ typedef FormData_pg_attribute *Form_pg_attribute;
#define Anum_pg_attribute_attalign 13
#define Anum_pg_attribute_attnotnull 14
#define Anum_pg_attribute_atthasdef 15
+#define Anum_pg_attribute_attisdropped 16
@@ -211,264 +215,266 @@ typedef FormData_pg_attribute *Form_pg_attribute;
* ----------------
*/
#define Schema_pg_type \
-{ 1247, {"typname"}, 19, -1, NAMEDATALEN, 1, 0, -1, -1, false, 'p', false, 'i', false, false }, \
-{ 1247, {"typnamespace"}, 26, 0, 4, 2, 0, -1, -1, true, 'p', false, 'i', false, false }, \
-{ 1247, {"typowner"}, 23, 0, 4, 3, 0, -1, -1, true, 'p', false, 'i', false, false }, \
-{ 1247, {"typlen"}, 21, 0, 2, 4, 0, -1, -1, true, 'p', false, 's', false, false }, \
-{ 1247, {"typbyval"}, 16, 0, 1, 5, 0, -1, -1, true, 'p', false, 'c', false, false }, \
-{ 1247, {"typtype"}, 18, 0, 1, 6, 0, -1, -1, true, 'p', false, 'c', false, false }, \
-{ 1247, {"typisdefined"}, 16, 0, 1, 7, 0, -1, -1, true, 'p', false, 'c', false, false }, \
-{ 1247, {"typdelim"}, 18, 0, 1, 8, 0, -1, -1, true, 'p', false, 'c', false, false }, \
-{ 1247, {"typrelid"}, 26, 0, 4, 9, 0, -1, -1, true, 'p', false, 'i', false, false }, \
-{ 1247, {"typelem"}, 26, 0, 4, 10, 0, -1, -1, true, 'p', false, 'i', false, false }, \
-{ 1247, {"typinput"}, 24, 0, 4, 11, 0, -1, -1, true, 'p', false, 'i', false, false }, \
-{ 1247, {"typoutput"}, 24, 0, 4, 12, 0, -1, -1, true, 'p', false, 'i', false, false }, \
-{ 1247, {"typalign"}, 18, 0, 1, 13, 0, -1, -1, true, 'p', false, 'c', false, false }, \
-{ 1247, {"typstorage"}, 18, 0, 1, 14, 0, -1, -1, true, 'p', false, 'c', false, false }, \
-{ 1247, {"typnotnull"}, 16, 0, 1, 15, 0, -1, -1, true, 'p', false, 'c', false, false }, \
-{ 1247, {"typbasetype"}, 26, 0, 4, 16, 0, -1, -1, true, 'p', false, 'i', false, false }, \
-{ 1247, {"typtypmod"}, 23, 0, 4, 17, 0, -1, -1, true, 'p', false, 'i', false, false }, \
-{ 1247, {"typndims"}, 23, 0, 4, 18, 0, -1, -1, true, 'p', false, 'i', false, false }, \
-{ 1247, {"typdefaultbin"}, 25, 0, -1, 19, 0, -1, -1, false, 'x', false, 'i', false, false }, \
-{ 1247, {"typdefault"}, 25, 0, -1, 20, 0, -1, -1, false, 'x', false, 'i', false, false }
-
-
-DATA(insert ( 1247 typname 19 -1 NAMEDATALEN 1 0 -1 -1 f p f i f f));
-DATA(insert ( 1247 typnamespace 26 0 4 2 0 -1 -1 t p f i f f));
-DATA(insert ( 1247 typowner 23 0 4 3 0 -1 -1 t p f i f f));
-DATA(insert ( 1247 typlen 21 0 2 4 0 -1 -1 t p f s f f));
-DATA(insert ( 1247 typbyval 16 0 1 5 0 -1 -1 t p f c f f));
-DATA(insert ( 1247 typtype 18 0 1 6 0 -1 -1 t p f c f f));
-DATA(insert ( 1247 typisdefined 16 0 1 7 0 -1 -1 t p f c f f));
-DATA(insert ( 1247 typdelim 18 0 1 8 0 -1 -1 t p f c f f));
-DATA(insert ( 1247 typrelid 26 0 4 9 0 -1 -1 t p f i f f));
-DATA(insert ( 1247 typelem 26 0 4 10 0 -1 -1 t p f i f f));
-DATA(insert ( 1247 typinput 24 0 4 11 0 -1 -1 t p f i f f));
-DATA(insert ( 1247 typoutput 24 0 4 12 0 -1 -1 t p f i f f));
-DATA(insert ( 1247 typalign 18 0 1 13 0 -1 -1 t p f c f f));
-DATA(insert ( 1247 typstorage 18 0 1 14 0 -1 -1 t p f c f f));
-DATA(insert ( 1247 typnotnull 16 0 1 15 0 -1 -1 t p f c f f));
-DATA(insert ( 1247 typbasetype 26 0 4 16 0 -1 -1 t p f i f f));
-DATA(insert ( 1247 typtypmod 23 0 4 17 0 -1 -1 t p f i f f));
-DATA(insert ( 1247 typndims 23 0 4 18 0 -1 -1 t p f i f f));
-DATA(insert ( 1247 typdefaultbin 25 0 -1 19 0 -1 -1 f x f i f f));
-DATA(insert ( 1247 typdefault 25 0 -1 20 0 -1 -1 f x f i f f));
-DATA(insert ( 1247 ctid 27 0 6 -1 0 -1 -1 f p f i f f));
-DATA(insert ( 1247 oid 26 0 4 -2 0 -1 -1 t p f i f f));
-DATA(insert ( 1247 xmin 28 0 4 -3 0 -1 -1 t p f i f f));
-DATA(insert ( 1247 cmin 29 0 4 -4 0 -1 -1 t p f i f f));
-DATA(insert ( 1247 xmax 28 0 4 -5 0 -1 -1 t p f i f f));
-DATA(insert ( 1247 cmax 29 0 4 -6 0 -1 -1 t p f i f f));
-DATA(insert ( 1247 tableoid 26 0 4 -7 0 -1 -1 t p f i f f));
+{ 1247, {"typname"}, 19, -1, NAMEDATALEN, 1, 0, -1, -1, false, 'p', false, 'i', true, false, false }, \
+{ 1247, {"typnamespace"}, 26, 0, 4, 2, 0, -1, -1, true, 'p', false, 'i', true, false, false }, \
+{ 1247, {"typowner"}, 23, 0, 4, 3, 0, -1, -1, true, 'p', false, 'i', true, false, false }, \
+{ 1247, {"typlen"}, 21, 0, 2, 4, 0, -1, -1, true, 'p', false, 's', true, false, false }, \
+{ 1247, {"typbyval"}, 16, 0, 1, 5, 0, -1, -1, true, 'p', false, 'c', true, false, false }, \
+{ 1247, {"typtype"}, 18, 0, 1, 6, 0, -1, -1, true, 'p', false, 'c', true, false, false }, \
+{ 1247, {"typisdefined"}, 16, 0, 1, 7, 0, -1, -1, true, 'p', false, 'c', true, false, false }, \
+{ 1247, {"typdelim"}, 18, 0, 1, 8, 0, -1, -1, true, 'p', false, 'c', true, false, false }, \
+{ 1247, {"typrelid"}, 26, 0, 4, 9, 0, -1, -1, true, 'p', false, 'i', true, false, false }, \
+{ 1247, {"typelem"}, 26, 0, 4, 10, 0, -1, -1, true, 'p', false, 'i', true, false, false }, \
+{ 1247, {"typinput"}, 24, 0, 4, 11, 0, -1, -1, true, 'p', false, 'i', true, false, false }, \
+{ 1247, {"typoutput"}, 24, 0, 4, 12, 0, -1, -1, true, 'p', false, 'i', true, false, false }, \
+{ 1247, {"typalign"}, 18, 0, 1, 13, 0, -1, -1, true, 'p', false, 'c', true, false, false }, \
+{ 1247, {"typstorage"}, 18, 0, 1, 14, 0, -1, -1, true, 'p', false, 'c', true, false, false }, \
+{ 1247, {"typnotnull"}, 16, 0, 1, 15, 0, -1, -1, true, 'p', false, 'c', true, false, false }, \
+{ 1247, {"typbasetype"}, 26, 0, 4, 16, 0, -1, -1, true, 'p', false, 'i', true, false, false }, \
+{ 1247, {"typtypmod"}, 23, 0, 4, 17, 0, -1, -1, true, 'p', false, 'i', true, false, false }, \
+{ 1247, {"typndims"}, 23, 0, 4, 18, 0, -1, -1, true, 'p', false, 'i', true, false, false }, \
+{ 1247, {"typdefaultbin"}, 25, 0, -1, 19, 0, -1, -1, false, 'x', false, 'i', false, false, false }, \
+{ 1247, {"typdefault"}, 25, 0, -1, 20, 0, -1, -1, false, 'x', false, 'i', false, false, false }
+
+
+DATA(insert ( 1247 typname 19 -1 NAMEDATALEN 1 0 -1 -1 f p f i t f f));
+DATA(insert ( 1247 typnamespace 26 0 4 2 0 -1 -1 t p f i t f f));
+DATA(insert ( 1247 typowner 23 0 4 3 0 -1 -1 t p f i t f f));
+DATA(insert ( 1247 typlen 21 0 2 4 0 -1 -1 t p f s t f f));
+DATA(insert ( 1247 typbyval 16 0 1 5 0 -1 -1 t p f c t f f));
+DATA(insert ( 1247 typtype 18 0 1 6 0 -1 -1 t p f c t f f));
+DATA(insert ( 1247 typisdefined 16 0 1 7 0 -1 -1 t p f c t f f));
+DATA(insert ( 1247 typdelim 18 0 1 8 0 -1 -1 t p f c t f f));
+DATA(insert ( 1247 typrelid 26 0 4 9 0 -1 -1 t p f i t f f));
+DATA(insert ( 1247 typelem 26 0 4 10 0 -1 -1 t p f i t f f));
+DATA(insert ( 1247 typinput 24 0 4 11 0 -1 -1 t p f i t f f));
+DATA(insert ( 1247 typoutput 24 0 4 12 0 -1 -1 t p f i t f f));
+DATA(insert ( 1247 typalign 18 0 1 13 0 -1 -1 t p f c t f f));
+DATA(insert ( 1247 typstorage 18 0 1 14 0 -1 -1 t p f c t f f));
+DATA(insert ( 1247 typnotnull 16 0 1 15 0 -1 -1 t p f c t f f));
+DATA(insert ( 1247 typbasetype 26 0 4 16 0 -1 -1 t p f i t f f));
+DATA(insert ( 1247 typtypmod 23 0 4 17 0 -1 -1 t p f i t f f));
+DATA(insert ( 1247 typndims 23 0 4 18 0 -1 -1 t p f i t f f));
+DATA(insert ( 1247 typdefaultbin 25 0 -1 19 0 -1 -1 f x f i f f f));
+DATA(insert ( 1247 typdefault 25 0 -1 20 0 -1 -1 f x f i f f f));
+DATA(insert ( 1247 ctid 27 0 6 -1 0 -1 -1 f p f i t f f));
+DATA(insert ( 1247 oid 26 0 4 -2 0 -1 -1 t p f i t f f));
+DATA(insert ( 1247 xmin 28 0 4 -3 0 -1 -1 t p f i t f f));
+DATA(insert ( 1247 cmin 29 0 4 -4 0 -1 -1 t p f i t f f));
+DATA(insert ( 1247 xmax 28 0 4 -5 0 -1 -1 t p f i t f f));
+DATA(insert ( 1247 cmax 29 0 4 -6 0 -1 -1 t p f i t f f));
+DATA(insert ( 1247 tableoid 26 0 4 -7 0 -1 -1 t p f i t f f));
/* ----------------
* pg_database
* ----------------
*/
-DATA(insert ( 1262 datname 19 0 NAMEDATALEN 1 0 -1 -1 f p f i f f));
-DATA(insert ( 1262 datdba 23 0 4 2 0 -1 -1 t p f i f f));
-DATA(insert ( 1262 encoding 23 0 4 3 0 -1 -1 t p f i f f));
-DATA(insert ( 1262 datistemplate 16 0 1 4 0 -1 -1 t p f c f f));
-DATA(insert ( 1262 datallowconn 16 0 1 5 0 -1 -1 t p f c f f));
-DATA(insert ( 1262 datlastsysoid 26 0 4 6 0 -1 -1 t p f i f f));
-DATA(insert ( 1262 datvacuumxid 28 0 4 7 0 -1 -1 t p f i f f));
-DATA(insert ( 1262 datfrozenxid 28 0 4 8 0 -1 -1 t p f i f f));
+DATA(insert ( 1262 datname 19 0 NAMEDATALEN 1 0 -1 -1 f p f i t f f));
+DATA(insert ( 1262 datdba 23 0 4 2 0 -1 -1 t p f i t f f));
+DATA(insert ( 1262 encoding 23 0 4 3 0 -1 -1 t p f i t f f));
+DATA(insert ( 1262 datistemplate 16 0 1 4 0 -1 -1 t p f c t f f));
+DATA(insert ( 1262 datallowconn 16 0 1 5 0 -1 -1 t p f c t f f));
+DATA(insert ( 1262 datlastsysoid 26 0 4 6 0 -1 -1 t p f i t f f));
+DATA(insert ( 1262 datvacuumxid 28 0 4 7 0 -1 -1 t p f i t f f));
+DATA(insert ( 1262 datfrozenxid 28 0 4 8 0 -1 -1 t p f i t f f));
/* do not mark datpath as toastable; GetRawDatabaseInfo won't cope */
-DATA(insert ( 1262 datpath 25 0 -1 9 0 -1 -1 f p f i f f));
-DATA(insert ( 1262 datconfig 1009 0 -1 10 0 -1 -1 f x f i f f));
-DATA(insert ( 1262 datacl 1034 0 -1 11 0 -1 -1 f x f i f f));
-DATA(insert ( 1262 ctid 27 0 6 -1 0 -1 -1 f p f i f f));
-DATA(insert ( 1262 oid 26 0 4 -2 0 -1 -1 t p f i f f));
-DATA(insert ( 1262 xmin 28 0 4 -3 0 -1 -1 t p f i f f));
-DATA(insert ( 1262 cmin 29 0 4 -4 0 -1 -1 t p f i f f));
-DATA(insert ( 1262 xmax 28 0 4 -5 0 -1 -1 t p f i f f));
-DATA(insert ( 1262 cmax 29 0 4 -6 0 -1 -1 t p f i f f));
-DATA(insert ( 1262 tableoid 26 0 4 -7 0 -1 -1 t p f i f f));
+DATA(insert ( 1262 datpath 25 0 -1 9 0 -1 -1 f p f i t f f));
+DATA(insert ( 1262 datconfig 1009 0 -1 10 0 -1 -1 f x f i f f f));
+DATA(insert ( 1262 datacl 1034 0 -1 11 0 -1 -1 f x f i f f f));
+DATA(insert ( 1262 ctid 27 0 6 -1 0 -1 -1 f p f i t f f));
+DATA(insert ( 1262 oid 26 0 4 -2 0 -1 -1 t p f i t f f));
+DATA(insert ( 1262 xmin 28 0 4 -3 0 -1 -1 t p f i t f f));
+DATA(insert ( 1262 cmin 29 0 4 -4 0 -1 -1 t p f i t f f));
+DATA(insert ( 1262 xmax 28 0 4 -5 0 -1 -1 t p f i t f f));
+DATA(insert ( 1262 cmax 29 0 4 -6 0 -1 -1 t p f i t f f));
+DATA(insert ( 1262 tableoid 26 0 4 -7 0 -1 -1 t p f i t f f));
/* ----------------
* pg_proc
* ----------------
*/
#define Schema_pg_proc \
-{ 1255, {"proname"}, 19, -1, NAMEDATALEN, 1, 0, -1, -1, false, 'p', false, 'i', false, false }, \
-{ 1255, {"pronamespace"}, 26, 0, 4, 2, 0, -1, -1, true, 'p', false, 'i', false, false }, \
-{ 1255, {"proowner"}, 23, 0, 4, 3, 0, -1, -1, true, 'p', false, 'i', false, false }, \
-{ 1255, {"prolang"}, 26, 0, 4, 4, 0, -1, -1, true, 'p', false, 'i', false, false }, \
-{ 1255, {"proisagg"}, 16, 0, 1, 5, 0, -1, -1, true, 'p', false, 'c', false, false }, \
-{ 1255, {"prosecdef"}, 16, 0, 1, 6, 0, -1, -1, true, 'p', false, 'c', false, false }, \
-{ 1255, {"proisstrict"}, 16, 0, 1, 7, 0, -1, -1, true, 'p', false, 'c', false, false }, \
-{ 1255, {"proretset"}, 16, 0, 1, 8, 0, -1, -1, true, 'p', false, 'c', false, false }, \
-{ 1255, {"provolatile"}, 18, 0, 1, 9, 0, -1, -1, true, 'p', false, 'c', false, false }, \
-{ 1255, {"pronargs"}, 21, 0, 2, 10, 0, -1, -1, true, 'p', false, 's', false, false }, \
-{ 1255, {"prorettype"}, 26, 0, 4, 11, 0, -1, -1, true, 'p', false, 'i', false, false }, \
-{ 1255, {"proargtypes"}, 30, 0, INDEX_MAX_KEYS*4, 12, 0, -1, -1, false, 'p', false, 'i', false, false }, \
-{ 1255, {"prosrc"}, 25, 0, -1, 13, 0, -1, -1, false, 'x', false, 'i', false, false }, \
-{ 1255, {"probin"}, 17, 0, -1, 14, 0, -1, -1, false, 'x', false, 'i', false, false }, \
-{ 1255, {"proacl"}, 1034, 0, -1, 15, 0, -1, -1, false, 'x', false, 'i', false, false }
-
-DATA(insert ( 1255 proname 19 -1 NAMEDATALEN 1 0 -1 -1 f p f i f f));
-DATA(insert ( 1255 pronamespace 26 0 4 2 0 -1 -1 t p f i f f));
-DATA(insert ( 1255 proowner 23 0 4 3 0 -1 -1 t p f i f f));
-DATA(insert ( 1255 prolang 26 0 4 4 0 -1 -1 t p f i f f));
-DATA(insert ( 1255 proisagg 16 0 1 5 0 -1 -1 t p f c f f));
-DATA(insert ( 1255 prosecdef 16 0 1 6 0 -1 -1 t p f c f f));
-DATA(insert ( 1255 proisstrict 16 0 1 7 0 -1 -1 t p f c f f));
-DATA(insert ( 1255 proretset 16 0 1 8 0 -1 -1 t p f c f f));
-DATA(insert ( 1255 provolatile 18 0 1 9 0 -1 -1 t p f c f f));
-DATA(insert ( 1255 pronargs 21 0 2 10 0 -1 -1 t p f s f f));
-DATA(insert ( 1255 prorettype 26 0 4 11 0 -1 -1 t p f i f f));
-DATA(insert ( 1255 proargtypes 30 0 INDEX_MAX_KEYS*4 12 0 -1 -1 f p f i f f));
-DATA(insert ( 1255 prosrc 25 0 -1 13 0 -1 -1 f x f i f f));
-DATA(insert ( 1255 probin 17 0 -1 14 0 -1 -1 f x f i f f));
-DATA(insert ( 1255 proacl 1034 0 -1 15 0 -1 -1 f x f i f f));
-DATA(insert ( 1255 ctid 27 0 6 -1 0 -1 -1 f p f i f f));
-DATA(insert ( 1255 oid 26 0 4 -2 0 -1 -1 t p f i f f));
-DATA(insert ( 1255 xmin 28 0 4 -3 0 -1 -1 t p f i f f));
-DATA(insert ( 1255 cmin 29 0 4 -4 0 -1 -1 t p f i f f));
-DATA(insert ( 1255 xmax 28 0 4 -5 0 -1 -1 t p f i f f));
-DATA(insert ( 1255 cmax 29 0 4 -6 0 -1 -1 t p f i f f));
-DATA(insert ( 1255 tableoid 26 0 4 -7 0 -1 -1 t p f i f f));
+{ 1255, {"proname"}, 19, -1, NAMEDATALEN, 1, 0, -1, -1, false, 'p', false, 'i', true, false, false }, \
+{ 1255, {"pronamespace"}, 26, 0, 4, 2, 0, -1, -1, true, 'p', false, 'i', true, false, false }, \
+{ 1255, {"proowner"}, 23, 0, 4, 3, 0, -1, -1, true, 'p', false, 'i', true, false, false }, \
+{ 1255, {"prolang"}, 26, 0, 4, 4, 0, -1, -1, true, 'p', false, 'i', true, false, false }, \
+{ 1255, {"proisagg"}, 16, 0, 1, 5, 0, -1, -1, true, 'p', false, 'c', true, false, false }, \
+{ 1255, {"prosecdef"}, 16, 0, 1, 6, 0, -1, -1, true, 'p', false, 'c', true, false, false }, \
+{ 1255, {"proisstrict"}, 16, 0, 1, 7, 0, -1, -1, true, 'p', false, 'c', true, false, false }, \
+{ 1255, {"proretset"}, 16, 0, 1, 8, 0, -1, -1, true, 'p', false, 'c', true, false, false }, \
+{ 1255, {"provolatile"}, 18, 0, 1, 9, 0, -1, -1, true, 'p', false, 'c', true, false, false }, \
+{ 1255, {"pronargs"}, 21, 0, 2, 10, 0, -1, -1, true, 'p', false, 's', true, false, false }, \
+{ 1255, {"prorettype"}, 26, 0, 4, 11, 0, -1, -1, true, 'p', false, 'i', true, false, false }, \
+{ 1255, {"proargtypes"}, 30, 0, INDEX_MAX_KEYS*4, 12, 0, -1, -1, false, 'p', false, 'i', true, false, false }, \
+{ 1255, {"prosrc"}, 25, 0, -1, 13, 0, -1, -1, false, 'x', false, 'i', false, false, false }, \
+{ 1255, {"probin"}, 17, 0, -1, 14, 0, -1, -1, false, 'x', false, 'i', false, false, false }, \
+{ 1255, {"proacl"}, 1034, 0, -1, 15, 0, -1, -1, false, 'x', false, 'i', false, false, false }
+
+DATA(insert ( 1255 proname 19 -1 NAMEDATALEN 1 0 -1 -1 f p f i t f f));
+DATA(insert ( 1255 pronamespace 26 0 4 2 0 -1 -1 t p f i t f f));
+DATA(insert ( 1255 proowner 23 0 4 3 0 -1 -1 t p f i t f f));
+DATA(insert ( 1255 prolang 26 0 4 4 0 -1 -1 t p f i t f f));
+DATA(insert ( 1255 proisagg 16 0 1 5 0 -1 -1 t p f c t f f));
+DATA(insert ( 1255 prosecdef 16 0 1 6 0 -1 -1 t p f c t f f));
+DATA(insert ( 1255 proisstrict 16 0 1 7 0 -1 -1 t p f c t f f));
+DATA(insert ( 1255 proretset 16 0 1 8 0 -1 -1 t p f c t f f));
+DATA(insert ( 1255 provolatile 18 0 1 9 0 -1 -1 t p f c t f f));
+DATA(insert ( 1255 pronargs 21 0 2 10 0 -1 -1 t p f s t f f));
+DATA(insert ( 1255 prorettype 26 0 4 11 0 -1 -1 t p f i t f f));
+DATA(insert ( 1255 proargtypes 30 0 INDEX_MAX_KEYS*4 12 0 -1 -1 f p f i t f f));
+DATA(insert ( 1255 prosrc 25 0 -1 13 0 -1 -1 f x f i f f f));
+DATA(insert ( 1255 probin 17 0 -1 14 0 -1 -1 f x f i f f f));
+DATA(insert ( 1255 proacl 1034 0 -1 15 0 -1 -1 f x f i f f f));
+DATA(insert ( 1255 ctid 27 0 6 -1 0 -1 -1 f p f i t f f));
+DATA(insert ( 1255 oid 26 0 4 -2 0 -1 -1 t p f i t f f));
+DATA(insert ( 1255 xmin 28 0 4 -3 0 -1 -1 t p f i t f f));
+DATA(insert ( 1255 cmin 29 0 4 -4 0 -1 -1 t p f i t f f));
+DATA(insert ( 1255 xmax 28 0 4 -5 0 -1 -1 t p f i t f f));
+DATA(insert ( 1255 cmax 29 0 4 -6 0 -1 -1 t p f i t f f));
+DATA(insert ( 1255 tableoid 26 0 4 -7 0 -1 -1 t p f i t f f));
/* ----------------
* pg_shadow
* ----------------
*/
-DATA(insert ( 1260 usename 19 -1 NAMEDATALEN 1 0 -1 -1 f p f i f f));
-DATA(insert ( 1260 usesysid 23 -1 4 2 0 -1 -1 t p f i f f));
-DATA(insert ( 1260 usecreatedb 16 0 1 3 0 -1 -1 t p f c f f));
-DATA(insert ( 1260 usesuper 16 0 1 4 0 -1 -1 t p f c f f));
-DATA(insert ( 1260 usecatupd 16 0 1 5 0 -1 -1 t p f c f f));
-DATA(insert ( 1260 passwd 25 0 -1 6 0 -1 -1 f x f i f f));
-DATA(insert ( 1260 valuntil 702 0 4 7 0 -1 -1 t p f i f f));
-DATA(insert ( 1260 useconfig 1009 0 -1 8 0 -1 -1 f x f i f f));
-DATA(insert ( 1260 ctid 27 0 6 -1 0 -1 -1 f p f i f f));
+DATA(insert ( 1260 usename 19 -1 NAMEDATALEN 1 0 -1 -1 f p f i t f f));
+DATA(insert ( 1260 usesysid 23 -1 4 2 0 -1 -1 t p f i t f f));
+DATA(insert ( 1260 usecreatedb 16 0 1 3 0 -1 -1 t p f c t f f));
+DATA(insert ( 1260 usesuper 16 0 1 4 0 -1 -1 t p f c t f f));
+DATA(insert ( 1260 usecatupd 16 0 1 5 0 -1 -1 t p f c t f f));
+DATA(insert ( 1260 passwd 25 0 -1 6 0 -1 -1 f x f i f f f));
+DATA(insert ( 1260 valuntil 702 0 4 7 0 -1 -1 t p f i f f f));
+DATA(insert ( 1260 useconfig 1009 0 -1 8 0 -1 -1 f x f i f f f));
+DATA(insert ( 1260 ctid 27 0 6 -1 0 -1 -1 f p f i t f f));
/* no OIDs in pg_shadow */
-DATA(insert ( 1260 xmin 28 0 4 -3 0 -1 -1 t p f i f f));
-DATA(insert ( 1260 cmin 29 0 4 -4 0 -1 -1 t p f i f f));
-DATA(insert ( 1260 xmax 28 0 4 -5 0 -1 -1 t p f i f f));
-DATA(insert ( 1260 cmax 29 0 4 -6 0 -1 -1 t p f i f f));
-DATA(insert ( 1260 tableoid 26 0 4 -7 0 -1 -1 t p f i f f));
+DATA(insert ( 1260 xmin 28 0 4 -3 0 -1 -1 t p f i t f f));
+DATA(insert ( 1260 cmin 29 0 4 -4 0 -1 -1 t p f i t f f));
+DATA(insert ( 1260 xmax 28 0 4 -5 0 -1 -1 t p f i t f f));
+DATA(insert ( 1260 cmax 29 0 4 -6 0 -1 -1 t p f i t f f));
+DATA(insert ( 1260 tableoid 26 0 4 -7 0 -1 -1 t p f i t f f));
/* ----------------
* pg_group
* ----------------
*/
-DATA(insert ( 1261 groname 19 -1 NAMEDATALEN 1 0 -1 -1 f p f i f f));
-DATA(insert ( 1261 grosysid 23 -1 4 2 0 -1 -1 t p f i f f));
-DATA(insert ( 1261 grolist 1007 0 -1 3 0 -1 -1 f x f i f f));
-DATA(insert ( 1261 ctid 27 0 6 -1 0 -1 -1 f p f i f f));
+DATA(insert ( 1261 groname 19 -1 NAMEDATALEN 1 0 -1 -1 f p f i t f f));
+DATA(insert ( 1261 grosysid 23 -1 4 2 0 -1 -1 t p f i t f f));
+DATA(insert ( 1261 grolist 1007 0 -1 3 0 -1 -1 f x f i f f f));
+DATA(insert ( 1261 ctid 27 0 6 -1 0 -1 -1 f p f i t f f));
/* no OIDs in pg_group */
-DATA(insert ( 1261 xmin 28 0 4 -3 0 -1 -1 t p f i f f));
-DATA(insert ( 1261 cmin 29 0 4 -4 0 -1 -1 t p f i f f));
-DATA(insert ( 1261 xmax 28 0 4 -5 0 -1 -1 t p f i f f));
-DATA(insert ( 1261 cmax 29 0 4 -6 0 -1 -1 t p f i f f));
-DATA(insert ( 1261 tableoid 26 0 4 -7 0 -1 -1 t p f i f f));
+DATA(insert ( 1261 xmin 28 0 4 -3 0 -1 -1 t p f i t f f));
+DATA(insert ( 1261 cmin 29 0 4 -4 0 -1 -1 t p f i t f f));
+DATA(insert ( 1261 xmax 28 0 4 -5 0 -1 -1 t p f i t f f));
+DATA(insert ( 1261 cmax 29 0 4 -6 0 -1 -1 t p f i t f f));
+DATA(insert ( 1261 tableoid 26 0 4 -7 0 -1 -1 t p f i t f f));
/* ----------------
* pg_attribute
* ----------------
*/
#define Schema_pg_attribute \
-{ 1249, {"attrelid"}, 26, -1, 4, 1, 0, -1, -1, true, 'p', false, 'i', false, false }, \
-{ 1249, {"attname"}, 19, -1, NAMEDATALEN, 2, 0, -1, -1, false, 'p', false, 'i', false, false }, \
-{ 1249, {"atttypid"}, 26, 0, 4, 3, 0, -1, -1, true, 'p', false, 'i', false, false }, \
-{ 1249, {"attstattarget"}, 23, 0, 4, 4, 0, -1, -1, true, 'p', false, 'i', false, false }, \
-{ 1249, {"attlen"}, 21, 0, 2, 5, 0, -1, -1, true, 'p', false, 's', false, false }, \
-{ 1249, {"attnum"}, 21, 0, 2, 6, 0, -1, -1, true, 'p', false, 's', false, false }, \
-{ 1249, {"attndims"}, 23, 0, 4, 7, 0, -1, -1, true, 'p', false, 'i', false, false }, \
-{ 1249, {"attcacheoff"}, 23, 0, 4, 8, 0, -1, -1, true, 'p', false, 'i', false, false }, \
-{ 1249, {"atttypmod"}, 23, 0, 4, 9, 0, -1, -1, true, 'p', false, 'i', false, false }, \
-{ 1249, {"attbyval"}, 16, 0, 1, 10, 0, -1, -1, true, 'p', false, 'c', false, false }, \
-{ 1249, {"attstorage"}, 18, 0, 1, 11, 0, -1, -1, true, 'p', false, 'c', false, false }, \
-{ 1249, {"attisset"}, 16, 0, 1, 12, 0, -1, -1, true, 'p', false, 'c', false, false }, \
-{ 1249, {"attalign"}, 18, 0, 1, 13, 0, -1, -1, true, 'p', false, 'c', false, false }, \
-{ 1249, {"attnotnull"}, 16, 0, 1, 14, 0, -1, -1, true, 'p', false, 'c', false, false }, \
-{ 1249, {"atthasdef"}, 16, 0, 1, 15, 0, -1, -1, true, 'p', false, 'c', false, false }
-
-DATA(insert ( 1249 attrelid 26 -1 4 1 0 -1 -1 t p f i f f));
-DATA(insert ( 1249 attname 19 -1 NAMEDATALEN 2 0 -1 -1 f p f i f f));
-DATA(insert ( 1249 atttypid 26 0 4 3 0 -1 -1 t p f i f f));
-DATA(insert ( 1249 attstattarget 23 0 4 4 0 -1 -1 t p f i f f));
-DATA(insert ( 1249 attlen 21 0 2 5 0 -1 -1 t p f s f f));
-DATA(insert ( 1249 attnum 21 0 2 6 0 -1 -1 t p f s f f));
-DATA(insert ( 1249 attndims 23 0 4 7 0 -1 -1 t p f i f f));
-DATA(insert ( 1249 attcacheoff 23 0 4 8 0 -1 -1 t p f i f f));
-DATA(insert ( 1249 atttypmod 23 0 4 9 0 -1 -1 t p f i f f));
-DATA(insert ( 1249 attbyval 16 0 1 10 0 -1 -1 t p f c f f));
-DATA(insert ( 1249 attstorage 18 0 1 11 0 -1 -1 t p f c f f));
-DATA(insert ( 1249 attisset 16 0 1 12 0 -1 -1 t p f c f f));
-DATA(insert ( 1249 attalign 18 0 1 13 0 -1 -1 t p f c f f));
-DATA(insert ( 1249 attnotnull 16 0 1 14 0 -1 -1 t p f c f f));
-DATA(insert ( 1249 atthasdef 16 0 1 15 0 -1 -1 t p f c f f));
-DATA(insert ( 1249 ctid 27 0 6 -1 0 -1 -1 f p f i f f));
+{ 1249, {"attrelid"}, 26, -1, 4, 1, 0, -1, -1, true, 'p', false, 'i', true, false, false }, \
+{ 1249, {"attname"}, 19, -1, NAMEDATALEN, 2, 0, -1, -1, false, 'p', false, 'i', true, false, false }, \
+{ 1249, {"atttypid"}, 26, 0, 4, 3, 0, -1, -1, true, 'p', false, 'i', true, false, false }, \
+{ 1249, {"attstattarget"}, 23, 0, 4, 4, 0, -1, -1, true, 'p', false, 'i', true, false, false }, \
+{ 1249, {"attlen"}, 21, 0, 2, 5, 0, -1, -1, true, 'p', false, 's', true, false, false }, \
+{ 1249, {"attnum"}, 21, 0, 2, 6, 0, -1, -1, true, 'p', false, 's', true, false, false }, \
+{ 1249, {"attndims"}, 23, 0, 4, 7, 0, -1, -1, true, 'p', false, 'i', true, false, false }, \
+{ 1249, {"attcacheoff"}, 23, 0, 4, 8, 0, -1, -1, true, 'p', false, 'i', true, false, false }, \
+{ 1249, {"atttypmod"}, 23, 0, 4, 9, 0, -1, -1, true, 'p', false, 'i', true, false, false }, \
+{ 1249, {"attbyval"}, 16, 0, 1, 10, 0, -1, -1, true, 'p', false, 'c', true, false, false }, \
+{ 1249, {"attstorage"}, 18, 0, 1, 11, 0, -1, -1, true, 'p', false, 'c', true, false, false }, \
+{ 1249, {"attisset"}, 16, 0, 1, 12, 0, -1, -1, true, 'p', false, 'c', true, false, false }, \
+{ 1249, {"attalign"}, 18, 0, 1, 13, 0, -1, -1, true, 'p', false, 'c', true, false, false }, \
+{ 1249, {"attnotnull"}, 16, 0, 1, 14, 0, -1, -1, true, 'p', false, 'c', true, false, false }, \
+{ 1249, {"atthasdef"}, 16, 0, 1, 15, 0, -1, -1, true, 'p', false, 'c', true, false, false }, \
+{ 1249, {"attisdropped"}, 16, 0, 1, 16, 0, -1, -1, true, 'p', false, 'c', true, false, false }
+
+DATA(insert ( 1249 attrelid 26 -1 4 1 0 -1 -1 t p f i t f f));
+DATA(insert ( 1249 attname 19 -1 NAMEDATALEN 2 0 -1 -1 f p f i t f f));
+DATA(insert ( 1249 atttypid 26 0 4 3 0 -1 -1 t p f i t f f));
+DATA(insert ( 1249 attstattarget 23 0 4 4 0 -1 -1 t p f i t f f));
+DATA(insert ( 1249 attlen 21 0 2 5 0 -1 -1 t p f s t f f));
+DATA(insert ( 1249 attnum 21 0 2 6 0 -1 -1 t p f s t f f));
+DATA(insert ( 1249 attndims 23 0 4 7 0 -1 -1 t p f i t f f));
+DATA(insert ( 1249 attcacheoff 23 0 4 8 0 -1 -1 t p f i t f f));
+DATA(insert ( 1249 atttypmod 23 0 4 9 0 -1 -1 t p f i t f f));
+DATA(insert ( 1249 attbyval 16 0 1 10 0 -1 -1 t p f c t f f));
+DATA(insert ( 1249 attstorage 18 0 1 11 0 -1 -1 t p f c t f f));
+DATA(insert ( 1249 attisset 16 0 1 12 0 -1 -1 t p f c t f f));
+DATA(insert ( 1249 attalign 18 0 1 13 0 -1 -1 t p f c t f f));
+DATA(insert ( 1249 attnotnull 16 0 1 14 0 -1 -1 t p f c t f f));
+DATA(insert ( 1249 atthasdef 16 0 1 15 0 -1 -1 t p f c t f f));
+DATA(insert ( 1249 attisdropped 16 0 1 16 0 -1 -1 t p f c t f f));
+DATA(insert ( 1249 ctid 27 0 6 -1 0 -1 -1 f p f i t f f));
/* no OIDs in pg_attribute */
-DATA(insert ( 1249 xmin 28 0 4 -3 0 -1 -1 t p f i f f));
-DATA(insert ( 1249 cmin 29 0 4 -4 0 -1 -1 t p f i f f));
-DATA(insert ( 1249 xmax 28 0 4 -5 0 -1 -1 t p f i f f));
-DATA(insert ( 1249 cmax 29 0 4 -6 0 -1 -1 t p f i f f));
-DATA(insert ( 1249 tableoid 26 0 4 -7 0 -1 -1 t p f i f f));
+DATA(insert ( 1249 xmin 28 0 4 -3 0 -1 -1 t p f i t f f));
+DATA(insert ( 1249 cmin 29 0 4 -4 0 -1 -1 t p f i t f f));
+DATA(insert ( 1249 xmax 28 0 4 -5 0 -1 -1 t p f i t f f));
+DATA(insert ( 1249 cmax 29 0 4 -6 0 -1 -1 t p f i t f f));
+DATA(insert ( 1249 tableoid 26 0 4 -7 0 -1 -1 t p f i t f f));
/* ----------------
* pg_class
* ----------------
*/
#define Schema_pg_class \
-{ 1259, {"relname"}, 19, -1, NAMEDATALEN, 1, 0, -1, -1, false, 'p', false, 'i', false, false }, \
-{ 1259, {"relnamespace"}, 26, 0, 4, 2, 0, -1, -1, true, 'p', false, 'i', false, false }, \
-{ 1259, {"reltype"}, 26, 0, 4, 3, 0, -1, -1, true, 'p', false, 'i', false, false }, \
-{ 1259, {"relowner"}, 23, 0, 4, 4, 0, -1, -1, true, 'p', false, 'i', false, false }, \
-{ 1259, {"relam"}, 26, 0, 4, 5, 0, -1, -1, true, 'p', false, 'i', false, false }, \
-{ 1259, {"relfilenode"}, 26, 0, 4, 6, 0, -1, -1, true, 'p', false, 'i', false, false }, \
-{ 1259, {"relpages"}, 23, 0, 4, 7, 0, -1, -1, true, 'p', false, 'i', false, false }, \
-{ 1259, {"reltuples"}, 700, 0, 4, 8, 0, -1, -1, false, 'p', false, 'i', false, false }, \
-{ 1259, {"reltoastrelid"}, 26, 0, 4, 9, 0, -1, -1, true, 'p', false, 'i', false, false }, \
-{ 1259, {"reltoastidxid"}, 26, 0, 4, 10, 0, -1, -1, true, 'p', false, 'i', false, false }, \
-{ 1259, {"relhasindex"}, 16, 0, 1, 11, 0, -1, -1, true, 'p', false, 'c', false, false }, \
-{ 1259, {"relisshared"}, 16, 0, 1, 12, 0, -1, -1, true, 'p', false, 'c', false, false }, \
-{ 1259, {"relkind"}, 18, 0, 1, 13, 0, -1, -1, true, 'p', false, 'c', false, false }, \
-{ 1259, {"relnatts"}, 21, 0, 2, 14, 0, -1, -1, true, 'p', false, 's', false, false }, \
-{ 1259, {"relchecks"}, 21, 0, 2, 15, 0, -1, -1, true, 'p', false, 's', false, false }, \
-{ 1259, {"reltriggers"}, 21, 0, 2, 16, 0, -1, -1, true, 'p', false, 's', false, false }, \
-{ 1259, {"relukeys"}, 21, 0, 2, 17, 0, -1, -1, true, 'p', false, 's', false, false }, \
-{ 1259, {"relfkeys"}, 21, 0, 2, 18, 0, -1, -1, true, 'p', false, 's', false, false }, \
-{ 1259, {"relrefs"}, 21, 0, 2, 19, 0, -1, -1, true, 'p', false, 's', false, false }, \
-{ 1259, {"relhasoids"}, 16, 0, 1, 20, 0, -1, -1, true, 'p', false, 'c', false, false }, \
-{ 1259, {"relhaspkey"}, 16, 0, 1, 21, 0, -1, -1, true, 'p', false, 'c', false, false }, \
-{ 1259, {"relhasrules"}, 16, 0, 1, 22, 0, -1, -1, true, 'p', false, 'c', false, false }, \
-{ 1259, {"relhassubclass"},16, 0, 1, 23, 0, -1, -1, true, 'p', false, 'c', false, false }, \
-{ 1259, {"relacl"}, 1034, 0, -1, 24, 0, -1, -1, false, 'x', false, 'i', false, false }
-
-DATA(insert ( 1259 relname 19 -1 NAMEDATALEN 1 0 -1 -1 f p f i f f));
-DATA(insert ( 1259 relnamespace 26 0 4 2 0 -1 -1 t p f i f f));
-DATA(insert ( 1259 reltype 26 0 4 3 0 -1 -1 t p f i f f));
-DATA(insert ( 1259 relowner 23 0 4 4 0 -1 -1 t p f i f f));
-DATA(insert ( 1259 relam 26 0 4 5 0 -1 -1 t p f i f f));
-DATA(insert ( 1259 relfilenode 26 0 4 6 0 -1 -1 t p f i f f));
-DATA(insert ( 1259 relpages 23 0 4 7 0 -1 -1 t p f i f f));
-DATA(insert ( 1259 reltuples 700 0 4 8 0 -1 -1 f p f i f f));
-DATA(insert ( 1259 reltoastrelid 26 0 4 9 0 -1 -1 t p f i f f));
-DATA(insert ( 1259 reltoastidxid 26 0 4 10 0 -1 -1 t p f i f f));
-DATA(insert ( 1259 relhasindex 16 0 1 11 0 -1 -1 t p f c f f));
-DATA(insert ( 1259 relisshared 16 0 1 12 0 -1 -1 t p f c f f));
-DATA(insert ( 1259 relkind 18 0 1 13 0 -1 -1 t p f c f f));
-DATA(insert ( 1259 relnatts 21 0 2 14 0 -1 -1 t p f s f f));
-DATA(insert ( 1259 relchecks 21 0 2 15 0 -1 -1 t p f s f f));
-DATA(insert ( 1259 reltriggers 21 0 2 16 0 -1 -1 t p f s f f));
-DATA(insert ( 1259 relukeys 21 0 2 17 0 -1 -1 t p f s f f));
-DATA(insert ( 1259 relfkeys 21 0 2 18 0 -1 -1 t p f s f f));
-DATA(insert ( 1259 relrefs 21 0 2 19 0 -1 -1 t p f s f f));
-DATA(insert ( 1259 relhasoids 16 0 1 20 0 -1 -1 t p f c f f));
-DATA(insert ( 1259 relhaspkey 16 0 1 21 0 -1 -1 t p f c f f));
-DATA(insert ( 1259 relhasrules 16 0 1 22 0 -1 -1 t p f c f f));
-DATA(insert ( 1259 relhassubclass 16 0 1 23 0 -1 -1 t p f c f f));
-DATA(insert ( 1259 relacl 1034 0 -1 24 0 -1 -1 f x f i f f));
-DATA(insert ( 1259 ctid 27 0 6 -1 0 -1 -1 f p f i f f));
-DATA(insert ( 1259 oid 26 0 4 -2 0 -1 -1 t p f i f f));
-DATA(insert ( 1259 xmin 28 0 4 -3 0 -1 -1 t p f i f f));
-DATA(insert ( 1259 cmin 29 0 4 -4 0 -1 -1 t p f i f f));
-DATA(insert ( 1259 xmax 28 0 4 -5 0 -1 -1 t p f i f f));
-DATA(insert ( 1259 cmax 29 0 4 -6 0 -1 -1 t p f i f f));
-DATA(insert ( 1259 tableoid 26 0 4 -7 0 -1 -1 t p f i f f));
+{ 1259, {"relname"}, 19, -1, NAMEDATALEN, 1, 0, -1, -1, false, 'p', false, 'i', true, false, false }, \
+{ 1259, {"relnamespace"}, 26, 0, 4, 2, 0, -1, -1, true, 'p', false, 'i', true, false, false }, \
+{ 1259, {"reltype"}, 26, 0, 4, 3, 0, -1, -1, true, 'p', false, 'i', true, false, false }, \
+{ 1259, {"relowner"}, 23, 0, 4, 4, 0, -1, -1, true, 'p', false, 'i', true, false, false }, \
+{ 1259, {"relam"}, 26, 0, 4, 5, 0, -1, -1, true, 'p', false, 'i', true, false, false }, \
+{ 1259, {"relfilenode"}, 26, 0, 4, 6, 0, -1, -1, true, 'p', false, 'i', true, false, false }, \
+{ 1259, {"relpages"}, 23, 0, 4, 7, 0, -1, -1, true, 'p', false, 'i', true, false, false }, \
+{ 1259, {"reltuples"}, 700, 0, 4, 8, 0, -1, -1, false, 'p', false, 'i', true, false, false }, \
+{ 1259, {"reltoastrelid"}, 26, 0, 4, 9, 0, -1, -1, true, 'p', false, 'i', true, false, false }, \
+{ 1259, {"reltoastidxid"}, 26, 0, 4, 10, 0, -1, -1, true, 'p', false, 'i', true, false, false }, \
+{ 1259, {"relhasindex"}, 16, 0, 1, 11, 0, -1, -1, true, 'p', false, 'c', true, false, false }, \
+{ 1259, {"relisshared"}, 16, 0, 1, 12, 0, -1, -1, true, 'p', false, 'c', true, false, false }, \
+{ 1259, {"relkind"}, 18, 0, 1, 13, 0, -1, -1, true, 'p', false, 'c', true, false, false }, \
+{ 1259, {"relnatts"}, 21, 0, 2, 14, 0, -1, -1, true, 'p', false, 's', true, false, false }, \
+{ 1259, {"relchecks"}, 21, 0, 2, 15, 0, -1, -1, true, 'p', false, 's', true, false, false }, \
+{ 1259, {"reltriggers"}, 21, 0, 2, 16, 0, -1, -1, true, 'p', false, 's', true, false, false }, \
+{ 1259, {"relukeys"}, 21, 0, 2, 17, 0, -1, -1, true, 'p', false, 's', true, false, false }, \
+{ 1259, {"relfkeys"}, 21, 0, 2, 18, 0, -1, -1, true, 'p', false, 's', true, false, false }, \
+{ 1259, {"relrefs"}, 21, 0, 2, 19, 0, -1, -1, true, 'p', false, 's', true, false, false }, \
+{ 1259, {"relhasoids"}, 16, 0, 1, 20, 0, -1, -1, true, 'p', false, 'c', true, false, false }, \
+{ 1259, {"relhaspkey"}, 16, 0, 1, 21, 0, -1, -1, true, 'p', false, 'c', true, false, false }, \
+{ 1259, {"relhasrules"}, 16, 0, 1, 22, 0, -1, -1, true, 'p', false, 'c', true, false, false }, \
+{ 1259, {"relhassubclass"},16, 0, 1, 23, 0, -1, -1, true, 'p', false, 'c', true, false, false }, \
+{ 1259, {"relacl"}, 1034, 0, -1, 24, 0, -1, -1, false, 'x', false, 'i', false, false, false }
+
+DATA(insert ( 1259 relname 19 -1 NAMEDATALEN 1 0 -1 -1 f p f i t f f));
+DATA(insert ( 1259 relnamespace 26 0 4 2 0 -1 -1 t p f i t f f));
+DATA(insert ( 1259 reltype 26 0 4 3 0 -1 -1 t p f i t f f));
+DATA(insert ( 1259 relowner 23 0 4 4 0 -1 -1 t p f i t f f));
+DATA(insert ( 1259 relam 26 0 4 5 0 -1 -1 t p f i t f f));
+DATA(insert ( 1259 relfilenode 26 0 4 6 0 -1 -1 t p f i t f f));
+DATA(insert ( 1259 relpages 23 0 4 7 0 -1 -1 t p f i t f f));
+DATA(insert ( 1259 reltuples 700 0 4 8 0 -1 -1 f p f i t f f));
+DATA(insert ( 1259 reltoastrelid 26 0 4 9 0 -1 -1 t p f i t f f));
+DATA(insert ( 1259 reltoastidxid 26 0 4 10 0 -1 -1 t p f i t f f));
+DATA(insert ( 1259 relhasindex 16 0 1 11 0 -1 -1 t p f c t f f));
+DATA(insert ( 1259 relisshared 16 0 1 12 0 -1 -1 t p f c t f f));
+DATA(insert ( 1259 relkind 18 0 1 13 0 -1 -1 t p f c t f f));
+DATA(insert ( 1259 relnatts 21 0 2 14 0 -1 -1 t p f s t f f));
+DATA(insert ( 1259 relchecks 21 0 2 15 0 -1 -1 t p f s t f f));
+DATA(insert ( 1259 reltriggers 21 0 2 16 0 -1 -1 t p f s t f f));
+DATA(insert ( 1259 relukeys 21 0 2 17 0 -1 -1 t p f s t f f));
+DATA(insert ( 1259 relfkeys 21 0 2 18 0 -1 -1 t p f s t f f));
+DATA(insert ( 1259 relrefs 21 0 2 19 0 -1 -1 t p f s t f f));
+DATA(insert ( 1259 relhasoids 16 0 1 20 0 -1 -1 t p f c t f f));
+DATA(insert ( 1259 relhaspkey 16 0 1 21 0 -1 -1 t p f c t f f));
+DATA(insert ( 1259 relhasrules 16 0 1 22 0 -1 -1 t p f c t f f));
+DATA(insert ( 1259 relhassubclass 16 0 1 23 0 -1 -1 t p f c t f f));
+DATA(insert ( 1259 relacl 1034 0 -1 24 0 -1 -1 f x f i f f f));
+DATA(insert ( 1259 ctid 27 0 6 -1 0 -1 -1 f p f i t f f));
+DATA(insert ( 1259 oid 26 0 4 -2 0 -1 -1 t p f i t f f));
+DATA(insert ( 1259 xmin 28 0 4 -3 0 -1 -1 t p f i t f f));
+DATA(insert ( 1259 cmin 29 0 4 -4 0 -1 -1 t p f i t f f));
+DATA(insert ( 1259 xmax 28 0 4 -5 0 -1 -1 t p f i t f f));
+DATA(insert ( 1259 cmax 29 0 4 -6 0 -1 -1 t p f i t f f));
+DATA(insert ( 1259 tableoid 26 0 4 -7 0 -1 -1 t p f i t f f));
/* ----------------
* pg_xactlock - this is not a real relation, but is a placeholder
@@ -478,6 +484,6 @@ DATA(insert ( 1259 tableoid 26 0 4 -7 0 -1 -1 t p f i f f));
* table; and this entry is just to link to that one.
* ----------------
*/
-DATA(insert ( 376 xactlockfoo 26 0 4 1 0 -1 -1 t p f i f f));
+DATA(insert ( 376 xactlockfoo 26 0 4 1 0 -1 -1 t p f i t f f));
#endif /* PG_ATTRIBUTE_H */
diff --git a/src/include/catalog/pg_class.h b/src/include/catalog/pg_class.h
index 827769029f3..2d5011e6d62 100644
--- a/src/include/catalog/pg_class.h
+++ b/src/include/catalog/pg_class.h
@@ -8,7 +8,7 @@
* Portions Copyright (c) 1996-2002, PostgreSQL Global Development Group
* Portions Copyright (c) 1994, Regents of the University of California
*
- * $Id: pg_class.h,v 1.69 2002/07/24 19:11:12 petere Exp $
+ * $Id: pg_class.h,v 1.70 2002/08/02 18:15:09 tgl Exp $
*
* NOTES
* the genbki.sh script reads this file and generates .bki
@@ -136,7 +136,7 @@ typedef FormData_pg_class *Form_pg_class;
DATA(insert OID = 1247 ( pg_type PGNSP 71 PGUID 0 1247 0 0 0 0 f f r 20 0 0 0 0 0 t f f f _null_ ));
DESCR("");
-DATA(insert OID = 1249 ( pg_attribute PGNSP 75 PGUID 0 1249 0 0 0 0 f f r 15 0 0 0 0 0 f f f f _null_ ));
+DATA(insert OID = 1249 ( pg_attribute PGNSP 75 PGUID 0 1249 0 0 0 0 f f r 16 0 0 0 0 0 f f f f _null_ ));
DESCR("");
DATA(insert OID = 1255 ( pg_proc PGNSP 81 PGUID 0 1255 0 0 0 0 f f r 15 0 0 0 0 0 t f f f _null_ ));
DESCR("");
diff --git a/src/include/executor/executor.h b/src/include/executor/executor.h
index 9eb7367f2e3..2fdb5bc210c 100644
--- a/src/include/executor/executor.h
+++ b/src/include/executor/executor.h
@@ -7,7 +7,7 @@
* Portions Copyright (c) 1996-2002, PostgreSQL Global Development Group
* Portions Copyright (c) 1994, Regents of the University of California
*
- * $Id: executor.h,v 1.72 2002/07/20 15:12:55 tgl Exp $
+ * $Id: executor.h,v 1.73 2002/08/02 18:15:09 tgl Exp $
*
*-------------------------------------------------------------------------
*/
@@ -159,7 +159,6 @@ extern void ExecAssignScanType(CommonScanState *csstate,
TupleDesc tupDesc, bool shouldFree);
extern void ExecAssignScanTypeFromOuterPlan(Plan *node,
CommonScanState *csstate);
-extern Form_pg_attribute ExecGetTypeInfo(Relation relDesc);
extern ExprContext *MakeExprContext(TupleTableSlot *slot,
MemoryContext queryContext);
diff --git a/src/include/parser/parse_relation.h b/src/include/parser/parse_relation.h
index 5ff6d74e364..a34e2a5619f 100644
--- a/src/include/parser/parse_relation.h
+++ b/src/include/parser/parse_relation.h
@@ -7,7 +7,7 @@
* Portions Copyright (c) 1996-2002, PostgreSQL Global Development Group
* Portions Copyright (c) 1994, Regents of the University of California
*
- * $Id: parse_relation.h,v 1.34 2002/06/20 20:29:51 momjian Exp $
+ * $Id: parse_relation.h,v 1.35 2002/08/02 18:15:09 tgl Exp $
*
*-------------------------------------------------------------------------
*/
@@ -58,7 +58,7 @@ extern RangeTblEntry *addImplicitRTE(ParseState *pstate, RangeVar *relation);
extern void expandRTE(ParseState *pstate, RangeTblEntry *rte,
List **colnames, List **colvars);
extern List *expandRelAttrs(ParseState *pstate, RangeTblEntry *rte);
-extern int attnameAttNum(Relation rd, char *a);
+extern int attnameAttNum(Relation rd, const char *attname, bool sysColOK);
extern Name attnumAttName(Relation rd, int attid);
extern Oid attnumTypeId(Relation rd, int attid);
diff --git a/src/include/utils/lsyscache.h b/src/include/utils/lsyscache.h
index dcc310aab5e..ab06031b2c6 100644
--- a/src/include/utils/lsyscache.h
+++ b/src/include/utils/lsyscache.h
@@ -6,7 +6,7 @@
* Portions Copyright (c) 1996-2002, PostgreSQL Global Development Group
* Portions Copyright (c) 1994, Regents of the University of California
*
- * $Id: lsyscache.h,v 1.55 2002/07/12 18:43:19 tgl Exp $
+ * $Id: lsyscache.h,v 1.56 2002/08/02 18:15:09 tgl Exp $
*
*-------------------------------------------------------------------------
*/
@@ -18,9 +18,8 @@
extern bool op_in_opclass(Oid opno, Oid opclass);
extern bool op_requires_recheck(Oid opno, Oid opclass);
extern char *get_attname(Oid relid, AttrNumber attnum);
-extern AttrNumber get_attnum(Oid relid, char *attname);
+extern AttrNumber get_attnum(Oid relid, const char *attname);
extern Oid get_atttype(Oid relid, AttrNumber attnum);
-extern bool get_attisset(Oid relid, char *attname);
extern int32 get_atttypmod(Oid relid, AttrNumber attnum);
extern void get_atttypetypmod(Oid relid, AttrNumber attnum,
Oid *typid, int32 *typmod);
diff --git a/src/include/utils/syscache.h b/src/include/utils/syscache.h
index e8c70fa00be..b9a17c7453e 100644
--- a/src/include/utils/syscache.h
+++ b/src/include/utils/syscache.h
@@ -9,7 +9,7 @@
* Portions Copyright (c) 1996-2002, PostgreSQL Global Development Group
* Portions Copyright (c) 1994, Regents of the University of California
*
- * $Id: syscache.h,v 1.51 2002/07/25 10:07:13 ishii Exp $
+ * $Id: syscache.h,v 1.52 2002/08/02 18:15:09 tgl Exp $
*
*-------------------------------------------------------------------------
*/
@@ -78,6 +78,10 @@ extern bool SearchSysCacheExists(int cacheId,
extern Oid GetSysCacheOid(int cacheId,
Datum key1, Datum key2, Datum key3, Datum key4);
+extern HeapTuple SearchSysCacheAttName(Oid relid, const char *attname);
+extern HeapTuple SearchSysCacheCopyAttName(Oid relid, const char *attname);
+extern bool SearchSysCacheExistsAttName(Oid relid, const char *attname);
+
extern Datum SysCacheGetAttr(int cacheId, HeapTuple tup,
AttrNumber attributeNumber, bool *isNull);