aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/backend/access/common/tupdesc.c17
-rw-r--r--src/backend/catalog/catalog.c11
-rw-r--r--src/backend/catalog/index.c24
-rw-r--r--src/backend/commands/command.c9
-rw-r--r--src/backend/commands/copy.c4
-rw-r--r--src/backend/commands/sequence.c1
-rw-r--r--src/backend/executor/execAmi.c28
-rw-r--r--src/backend/executor/execMain.c9
-rw-r--r--src/backend/executor/execUtils.c75
-rw-r--r--src/backend/nodes/copyfuncs.c4
-rw-r--r--src/backend/nodes/outfuncs.c8
-rw-r--r--src/backend/optimizer/prep/preptlist.c6
-rw-r--r--src/backend/parser/gram.y4
-rw-r--r--src/backend/parser/parse_expr.c13
-rw-r--r--src/backend/parser/parse_oper.c6
-rw-r--r--src/backend/parser/parse_relation.c15
-rw-r--r--src/backend/parser/parse_target.c19
-rw-r--r--src/backend/parser/parse_type.c7
-rw-r--r--src/backend/utils/adt/varchar.c22
-rw-r--r--src/bin/pg_dump/pg_dump.c34
-rw-r--r--src/bin/pg_dump/pg_dump.h4
-rw-r--r--src/include/catalog/pg_attribute.h462
-rw-r--r--src/include/catalog/pg_class.h6
-rw-r--r--src/include/nodes/parsenodes.h4
-rw-r--r--src/include/parser/parse_expr.h4
-rw-r--r--src/include/parser/parse_type.h4
-rw-r--r--src/include/utils/builtins.h6
27 files changed, 339 insertions, 467 deletions
diff --git a/src/backend/access/common/tupdesc.c b/src/backend/access/common/tupdesc.c
index 9324a95c768..f23c8e86572 100644
--- a/src/backend/access/common/tupdesc.c
+++ b/src/backend/access/common/tupdesc.c
@@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/access/common/tupdesc.c,v 1.31 1998/01/07 21:00:45 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/access/common/tupdesc.c,v 1.32 1998/01/16 23:19:16 momjian Exp $
*
* NOTES
* some of the executor utility code such as "ExecTypeFromTL" should be
@@ -301,11 +301,12 @@ TupleDescInitEntry(TupleDesc desc,
att->attdisbursion = 0; /* dummy value */
att->attcacheoff = -1;
+ att->atttypmod = 0;
att->attnum = attributeNumber;
att->attnelems = attdim;
att->attisset = attisset;
-
+
att->attnotnull = false;
att->atthasdef = false;
@@ -512,17 +513,7 @@ BuildDescForRelation(List *schema, char *relname)
typename);
}
- /*
- * this is for char() and varchar(). When an entry is of type
- * char() or varchar(), typlen is set to the appropriate length,
- * which we'll use here instead. (The catalog lookup only returns
- * the length of bpchar and varchar which is not what we want!) -
- * ay 6/95
- */
- if (entry->typename->typlen > 0)
- {
- desc->attrs[attnum - 1]->attlen = entry->typename->typlen;
- }
+ desc->attrs[attnum - 1]->atttypmod = entry->typename->typmod;
/* This is for constraints */
if (entry->is_not_null)
diff --git a/src/backend/catalog/catalog.c b/src/backend/catalog/catalog.c
index 2669a4481fa..f45685ea8a2 100644
--- a/src/backend/catalog/catalog.c
+++ b/src/backend/catalog/catalog.c
@@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/catalog/catalog.c,v 1.12 1998/01/06 19:42:26 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/catalog/catalog.c,v 1.13 1998/01/16 23:19:23 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@@ -190,16 +190,9 @@ fillatt(TupleDesc tupleDesc)
* and byval, since those were already set in
* TupleDescInitEntry. In fact, this seems redundant here,
* but who knows what I'll break if I take it out...
- *
- * same for char() and varchar() stuff. I share the same
- * sentiments. This function is poorly written anyway. -ay
- * 6/95
*/
- if (!(*attributeP)->attisset &&
- (*attributeP)->atttypid != BPCHAROID &&
- (*attributeP)->atttypid != VARCHAROID)
+ if (!(*attributeP)->attisset)
{
-
typp = (TypeTupleForm) GETSTRUCT(tuple); /* XXX */
(*attributeP)->attlen = typp->typlen;
(*attributeP)->attbyval = typp->typbyval;
diff --git a/src/backend/catalog/index.c b/src/backend/catalog/index.c
index c98c877d7d2..6772f8b6658 100644
--- a/src/backend/catalog/index.c
+++ b/src/backend/catalog/index.c
@@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/catalog/index.c,v 1.35 1998/01/15 19:42:27 pgsql Exp $
+ * $Header: /cvsroot/pgsql/src/backend/catalog/index.c,v 1.36 1998/01/16 23:19:27 momjian Exp $
*
*
* INTERFACE ROUTINES
@@ -107,6 +107,7 @@ DefaultBuild(Relation heapRelation, Relation indexRelation,
* AttrNumber attnum;
* uint32 attnelems;
* int32 attcacheoff;
+ * int16 atttypmod;
* bool attbyval;
* bool attisset;
* char attalign;
@@ -117,12 +118,12 @@ DefaultBuild(Relation heapRelation, Relation indexRelation,
* ----------------------------------------------------------------
*/
static FormData_pg_attribute sysatts[] = {
- {0l, {"ctid"}, 27l, 0l, 6, -1, 0, -1, '\0', '\0', 'i', '\0', '\0'},
- {0l, {"oid"}, 26l, 0l, 4, -2, 0, -1, '\001', '\0', 'i', '\0', '\0'},
- {0l, {"xmin"}, 28l, 0l, 4, -3, 0, -1, '\0', '\0', 'i', '\0', '\0'},
- {0l, {"cmin"}, 29l, 0l, 4, -4, 0, -1, '\001', '\0', 'i', '\0', '\0'},
- {0l, {"xmax"}, 28l, 0l, 4, -5, 0, -1, '\0', '\0', 'i', '\0', '\0'},
- {0l, {"cmax"}, 29l, 0l, 4, -6, 0, -1, '\001', '\0', 'i', '\0', '\0'},
+ {0l, {"ctid"}, 27l, 0l, 6, -1, 0, -1, 0, '\0', '\0', 'i', '\0', '\0'},
+ {0l, {"oid"}, 26l, 0l, 4, -2, 0, -1, 0, '\001', '\0', 'i', '\0', '\0'},
+ {0l, {"xmin"}, 28l, 0l, 4, -3, 0, -1, 0, '\0', '\0', 'i', '\0', '\0'},
+ {0l, {"cmin"}, 29l, 0l, 4, -4, 0, -1, 0, '\001', '\0', 'i', '\0', '\0'},
+ {0l, {"xmax"}, 28l, 0l, 4, -5, 0, -1, 0, '\0', '\0', 'i', '\0', '\0'},
+ {0l, {"cmax"}, 29l, 0l, 4, -6, 0, -1, 0, '\001', '\0', 'i', '\0', '\0'},
};
/* ----------------------------------------------------------------
@@ -436,6 +437,7 @@ ConstructTupleDescriptor(Oid heapoid,
((AttributeTupleForm) to)->attnotnull = false;
((AttributeTupleForm) to)->atthasdef = false;
+ ((AttributeTupleForm) to)->atttypmod = 0;
/*
* if the keytype is defined, we need to change the tuple form's
@@ -454,11 +456,11 @@ ConstructTupleDescriptor(Oid heapoid,
((AttributeTupleForm) to)->atttypid = tup->t_oid;
((AttributeTupleForm) to)->attbyval =
((TypeTupleForm) ((char *) tup + tup->t_hoff))->typbyval;
- if (IndexKeyType->typlen > 0)
- ((AttributeTupleForm) to)->attlen = IndexKeyType->typlen;
- else
- ((AttributeTupleForm) to)->attlen =
+
+ ((AttributeTupleForm) to)->attlen =
((TypeTupleForm) ((char *) tup + tup->t_hoff))->typlen;
+
+ ((AttributeTupleForm) to)->atttypmod = IndexKeyType->typmod;
}
diff --git a/src/backend/commands/command.c b/src/backend/commands/command.c
index d9a4281ea12..5f7bcd2d073 100644
--- a/src/backend/commands/command.c
+++ b/src/backend/commands/command.c
@@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/commands/Attic/command.c,v 1.23 1998/01/05 16:38:44 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/commands/Attic/command.c,v 1.24 1998/01/16 23:19:33 momjian Exp $
*
* NOTES
* The PortalExecutorHeapMemory crap needs to be eliminated
@@ -482,11 +482,8 @@ PerformAddAttribute(char *relationName,
}
namestrcpy(&(attribute->attname), (char *) key[1].sk_argument);
attribute->atttypid = typeTuple->t_oid;
- if (colDef->typename->typlen > 0)
- attribute->attlen = colDef->typename->typlen;
- else
-/* bpchar, varchar, text */
- attribute->attlen = form->typlen;
+ attribute->attlen = form->typlen;
+ attribute->atttypmod = colDef->typename->typmod;
attribute->attnum = i;
attribute->attbyval = form->typbyval;
attribute->attnelems = attnelems;
diff --git a/src/backend/commands/copy.c b/src/backend/commands/copy.c
index 9b5fbda69e8..b3017dcd74f 100644
--- a/src/backend/commands/copy.c
+++ b/src/backend/commands/copy.c
@@ -6,7 +6,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/commands/copy.c,v 1.38 1998/01/15 19:42:36 pgsql Exp $
+ * $Header: /cvsroot/pgsql/src/backend/commands/copy.c,v 1.39 1998/01/16 23:19:40 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@@ -574,7 +574,7 @@ CopyFrom(Relation rel, bool binary, bool oids, FILE *fp, char *delim)
values[i] =
(Datum) (*fmgr_faddr(&in_functions[i])) (string,
elements[i],
- attr[i]->attlen);
+ attr[i]->atttypmod);
/*
* Sanity check - by reference attributes cannot
diff --git a/src/backend/commands/sequence.c b/src/backend/commands/sequence.c
index bf7e79d3ed1..58008dd1382 100644
--- a/src/backend/commands/sequence.c
+++ b/src/backend/commands/sequence.c
@@ -98,6 +98,7 @@ DefineSequence(CreateSeqStmt *seq)
typnam = makeNode(TypeName);
typnam->setof = FALSE;
typnam->arrayBounds = NULL;
+ typnam->typmod = 0;
coldef = makeNode(ColumnDef);
coldef->typename = typnam;
coldef->defval = NULL;
diff --git a/src/backend/executor/execAmi.c b/src/backend/executor/execAmi.c
index 675a58d649f..2349f32411e 100644
--- a/src/backend/executor/execAmi.c
+++ b/src/backend/executor/execAmi.c
@@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/executor/execAmi.c,v 1.15 1998/01/16 05:03:45 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/executor/execAmi.c,v 1.16 1998/01/16 23:19:47 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@@ -42,7 +42,6 @@
#include "access/genam.h"
#include "access/heapam.h"
#include "catalog/heap.h"
-#include "catalog/pg_type.h"
static Pointer
ExecBeginScan(Relation relation, int nkeys, ScanKey skeys,
@@ -125,31 +124,6 @@ ExecOpenR(Oid relationOid, bool isindex)
if (relation == NULL)
elog(DEBUG, "ExecOpenR: relation == NULL, heap_open failed.");
- {
- int i;
- Relation trel = palloc(sizeof(RelationData));
- TupleDesc tdesc = palloc(sizeof(struct tupleDesc));
- AttributeTupleForm *tatt =
- palloc(sizeof(AttributeTupleForm*)*relation->rd_att->natts);
-
- memcpy(trel, relation, sizeof(RelationData));
- memcpy(tdesc, relation->rd_att, sizeof(struct tupleDesc));
- trel->rd_att = tdesc;
- tdesc->attrs = tatt;
-
- for (i = 0; i < relation->rd_att->natts; i++)
- {
- if (relation->rd_att->attrs[i]->atttypid != VARCHAROID)
- tdesc->attrs[i] = relation->rd_att->attrs[i];
- else
- {
- tdesc->attrs[i] = palloc(sizeof(FormData_pg_attribute));
- memcpy(tdesc->attrs[i], relation->rd_att->attrs[i],
- sizeof(FormData_pg_attribute));
- tdesc->attrs[i]->attlen = -1;
- }
- }
- }
return relation;
}
diff --git a/src/backend/executor/execMain.c b/src/backend/executor/execMain.c
index b4716cc2bb5..ecfc4d9a952 100644
--- a/src/backend/executor/execMain.c
+++ b/src/backend/executor/execMain.c
@@ -26,7 +26,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/executor/execMain.c,v 1.38 1998/01/14 15:48:09 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/executor/execMain.c,v 1.39 1998/01/16 23:19:49 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@@ -563,13 +563,8 @@ InitPlan(CmdType operation, Query *parseTree, Plan *plan, EState *estate)
*/
tupdesc = CreateTupleDescCopy(tupType);
- /* fixup to prevent zero-length columns in create */
- setVarAttrLenForCreateTable(tupdesc, targetList, rangeTable);
-
intoRelationId = heap_create_with_catalog(intoName, tupdesc);
-#ifdef NOT_USED /* it's copy ... */
- resetVarAttrLenForCreateTable(tupdesc);
-#endif
+
FreeTupleDesc(tupdesc);
/* ----------------
diff --git a/src/backend/executor/execUtils.c b/src/backend/executor/execUtils.c
index 75f44e865ea..8d93ecf9cc0 100644
--- a/src/backend/executor/execUtils.c
+++ b/src/backend/executor/execUtils.c
@@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/executor/execUtils.c,v 1.23 1998/01/07 21:02:50 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/executor/execUtils.c,v 1.24 1998/01/16 23:19:52 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@@ -1177,76 +1177,3 @@ ExecInsertIndexTuples(TupleTableSlot *slot,
if (econtext != NULL)
pfree(econtext);
}
-
-/* ----------------------------------------------------------------
- * setVarAttrLenForCreateTable -
- * called when we do a SELECT * INTO TABLE tab
- * needed for attributes that have a defined length, like bpchar and
- * varchar
- * ----------------------------------------------------------------
- */
-void
-setVarAttrLenForCreateTable(TupleDesc tupType, List *targetList,
- List *rangeTable)
-{
- List *tl;
- TargetEntry *tle;
- Node *expr;
- int varno;
-
- tl = targetList;
-
- for (varno = 0; varno < tupType->natts; varno++)
- {
- tle = lfirst(tl);
-
- if (tupType->attrs[varno]->atttypid == BPCHAROID ||
- tupType->attrs[varno]->atttypid == VARCHAROID)
- {
- expr = tle->expr;
- if (expr && IsA(expr, Var))
- {
- Var *var;
- RangeTblEntry *rtentry;
- Relation rd;
-
- var = (Var *) expr;
- rtentry = rt_fetch(var->varnoold, rangeTable);
- rd = heap_open(rtentry->relid);
- /* set length to that defined in relation */
- tupType->attrs[varno]->attlen =
- (*rd->rd_att->attrs[var->varoattno - 1]).attlen;
- heap_close(rd);
- }
- else
- elog(ERROR, "setVarAttrLenForCreateTable: can't get length for variable-length field");
- }
- tl = lnext(tl);
- }
-}
-
-
-#ifdef NOT_USED /* look at execMain.c */
-/* ----------------------------------------------------------------
- * resetVarAttrLenForCreateTable -
- * called when we do a SELECT * INTO TABLE tab
- * needed for attributes that have a defined length, like bpchar and
- * varchar
- * resets length to -1 for those types
- * ----------------------------------------------------------------
- */
-void
-resetVarAttrLenForCreateTable(TupleDesc tupType)
-{
- int varno;
-
- for (varno = 0; varno < tupType->natts; varno++)
- {
- if (tupType->attrs[varno]->atttypid == BPCHAROID ||
- tupType->attrs[varno]->atttypid == VARCHAROID)
- /* set length to original -1 */
- tupType->attrs[varno]->attlen = -1;
- }
-}
-
-#endif
diff --git a/src/backend/nodes/copyfuncs.c b/src/backend/nodes/copyfuncs.c
index e0ccc63f350..fe045539223 100644
--- a/src/backend/nodes/copyfuncs.c
+++ b/src/backend/nodes/copyfuncs.c
@@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/nodes/copyfuncs.c,v 1.30 1998/01/15 18:59:20 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/nodes/copyfuncs.c,v 1.31 1998/01/16 23:19:56 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@@ -1480,8 +1480,8 @@ _copyTypeName(TypeName *from)
newnode->name = pstrdup(from->name);
newnode->timezone = from->timezone;
newnode->setof = from->setof;
+ newnode->typmod = from->typmod;
Node_Copy(from, newnode, arrayBounds);
- newnode->typlen = from->typlen;
return newnode;
}
diff --git a/src/backend/nodes/outfuncs.c b/src/backend/nodes/outfuncs.c
index ba4b27f822c..41f3022c135 100644
--- a/src/backend/nodes/outfuncs.c
+++ b/src/backend/nodes/outfuncs.c
@@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/nodes/outfuncs.c,v 1.21 1998/01/15 18:59:26 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/nodes/outfuncs.c,v 1.22 1998/01/16 23:19:59 momjian Exp $
*
* NOTES
* Every (plan) node in POSTGRES has an associated "out" routine which
@@ -137,11 +137,11 @@ _outTypeName(StringInfo str, TypeName *node)
appendStringInfo(str, (node->timezone ? "true" : "false"));
appendStringInfo(str, " :setof ");
appendStringInfo(str, (node->setof ? "true" : "false"));
+ appendStringInfo(str, " :typmod ");
+ sprintf(buf," %d ", node->typmod);
+ appendStringInfo(str, buf);
appendStringInfo(str, " :arrayBounds ");
_outNode(str, node->arrayBounds);
- appendStringInfo(str, " :typlen ");
- sprintf(buf," %d ", node->typlen);
- appendStringInfo(str, buf);
}
static void
diff --git a/src/backend/optimizer/prep/preptlist.c b/src/backend/optimizer/prep/preptlist.c
index faf281985e4..e92fbb33322 100644
--- a/src/backend/optimizer/prep/preptlist.c
+++ b/src/backend/optimizer/prep/preptlist.c
@@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/optimizer/prep/preptlist.c,v 1.6 1997/11/25 22:00:06 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/optimizer/prep/preptlist.c,v 1.7 1998/01/16 23:20:09 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@@ -278,13 +278,9 @@ new_relation_targetlist(Oid relid, Index rt_index, NodeTag node_type)
*/
attisset = get_attisset( /* type_id, */ relid, attname);
if (attisset)
- {
typlen = typeLen(typeidType(OIDOID));
- }
else
- {
typlen = get_typlen(atttype);
- }
switch (node_type)
{
diff --git a/src/backend/parser/gram.y b/src/backend/parser/gram.y
index d2ed0d2633f..77a2e0b7c29 100644
--- a/src/backend/parser/gram.y
+++ b/src/backend/parser/gram.y
@@ -10,7 +10,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/parser/gram.y,v 1.90 1998/01/11 20:01:59 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/parser/gram.y,v 1.91 1998/01/16 23:20:14 momjian Exp $
*
* HISTORY
* AUTHOR DATE MAJOR EVENT
@@ -2754,7 +2754,7 @@ Character: character '(' Iconst ')'
* between this and "text" is that we blank-pad and
* truncate where necessary
*/
- $$->typlen = VARHDRSZ + $3;
+ $$->typmod = VARHDRSZ + $3;
}
| character
{
diff --git a/src/backend/parser/parse_expr.c b/src/backend/parser/parse_expr.c
index c17c3e9d48e..00efc044dcd 100644
--- a/src/backend/parser/parse_expr.c
+++ b/src/backend/parser/parse_expr.c
@@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/parser/parse_expr.c,v 1.6 1998/01/05 03:32:27 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/parser/parse_expr.c,v 1.7 1998/01/16 23:20:18 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@@ -30,7 +30,7 @@
#include "parser/parse_target.h"
#include "utils/builtins.h"
-static Node *parser_typecast(Value *expr, TypeName *typename, int typlen);
+static Node *parser_typecast(Value *expr, TypeName *typename, int atttypmod);
/*
* transformExpr -
@@ -403,7 +403,7 @@ handleNestedDots(ParseState *pstate, Attr *attr, int *curr_resno, int precedence
}
static Node *
-parser_typecast(Value *expr, TypeName *typename, int typlen)
+parser_typecast(Value *expr, TypeName *typename, int atttypmod)
{
/* check for passing non-ints */
Const *adt;
@@ -492,7 +492,7 @@ parser_typecast(Value *expr, TypeName *typename, int typlen)
}
#endif
- cp = stringTypeString(tp, const_string, typlen);
+ cp = stringTypeString(tp, const_string, atttypmod);
if (!typeByVal(tp))
{
@@ -540,7 +540,7 @@ parser_typecast(Value *expr, TypeName *typename, int typlen)
}
Node *
-parser_typecast2(Node *expr, Oid exprType, Type tp, int typlen)
+parser_typecast2(Node *expr, Oid exprType, Type tp, int atttypmod)
{
/* check for passing non-ints */
Const *adt;
@@ -627,8 +627,7 @@ parser_typecast2(Node *expr, Oid exprType, Type tp, int typlen)
return ((Node *) adt);
}
- cp = stringTypeString(tp, const_string, typlen);
-
+ cp = stringTypeString(tp, const_string, atttypmod);
if (!typeByVal(tp))
{
diff --git a/src/backend/parser/parse_oper.c b/src/backend/parser/parse_oper.c
index 66961ca79ac..253fed7ced4 100644
--- a/src/backend/parser/parse_oper.c
+++ b/src/backend/parser/parse_oper.c
@@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/parser/parse_oper.c,v 1.6 1998/01/15 20:54:28 scrappy Exp $
+ * $Header: /cvsroot/pgsql/src/backend/parser/parse_oper.c,v 1.7 1998/01/16 23:20:20 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@@ -401,9 +401,9 @@ unary_oper_get_candidates(char *op,
*candidates = NULL;
- fmgr_info(NameEqualRegProcedure, (func_ptr *) &opKey[0].sk_func);
+ fmgr_info(NameEqualRegProcedure, (FmgrInfo *) &opKey[0].sk_func);
opKey[0].sk_argument = NameGetDatum(op);
- fmgr_info(CharacterEqualRegProcedure, (func_ptr *) &opKey[1].sk_func);
+ fmgr_info(CharacterEqualRegProcedure, (FmgrInfo *) &opKey[1].sk_func);
opKey[1].sk_argument = CharGetDatum(rightleft);
/* currently, only "unknown" can be coerced */
diff --git a/src/backend/parser/parse_relation.c b/src/backend/parser/parse_relation.c
index dc5a11a8df5..692b1eb116e 100644
--- a/src/backend/parser/parse_relation.c
+++ b/src/backend/parser/parse_relation.c
@@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/parser/parse_relation.c,v 1.5 1998/01/05 03:32:30 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/parser/parse_relation.c,v 1.6 1998/01/16 23:20:21 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@@ -430,10 +430,15 @@ checkTargetTypes(ParseState *pstate, char *target_colname,
elog(ERROR, "Type of %s does not match target column %s",
colname, target_colname);
- if ((attrtype_id == BPCHAROID || attrtype_id == VARCHAROID) &&
- rd->rd_att->attrs[resdomno_id - 1]->attlen !=
- pstate->p_target_relation->rd_att->attrs[resdomno_target - 1]->attlen)
- elog(ERROR, "Length of %s does not match length of target column %s",
+ if (attrtype_id == BPCHAROID &&
+ rd->rd_att->attrs[resdomno_id - 1]->atttypmod !=
+ pstate->p_target_relation->rd_att->attrs[resdomno_target - 1]->atttypmod)
+ elog(ERROR, "Length of %s is longer than length of target column %s",
+ colname, target_colname);
+ if (attrtype_id == VARCHAROID &&
+ rd->rd_att->attrs[resdomno_id - 1]->atttypmod >
+ pstate->p_target_relation->rd_att->attrs[resdomno_target - 1]->atttypmod)
+ elog(ERROR, "Length of %s is longer than length of target column %s",
colname, target_colname);
heap_close(rd);
diff --git a/src/backend/parser/parse_target.c b/src/backend/parser/parse_target.c
index eccdbda6b4e..895411aa1da 100644
--- a/src/backend/parser/parse_target.c
+++ b/src/backend/parser/parse_target.c
@@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/parser/parse_target.c,v 1.5 1998/01/05 03:32:31 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/parser/parse_target.c,v 1.6 1998/01/16 23:20:22 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@@ -326,7 +326,8 @@ make_targetlist_expr(ParseState *pstate,
Oid type_id,
attrtype;
int type_len,
- attrlen;
+ attrlen,
+ attrtypmod;
int resdomno;
Relation rd;
bool attrisset;
@@ -360,14 +361,8 @@ make_targetlist_expr(ParseState *pstate,
attrtype = attnumTypeId(rd, resdomno);
if ((arrayRef != NIL) && (lfirst(arrayRef) == NIL))
attrtype = GetArrayElementType(attrtype);
- if (attrtype == BPCHAROID || attrtype == VARCHAROID)
- {
- attrlen = rd->rd_att->attrs[resdomno - 1]->attlen;
- }
- else
- {
- attrlen = typeLen(typeidType(attrtype));
- }
+ attrlen = typeLen(typeidType(attrtype));
+ attrtypmod = rd->rd_att->attrs[resdomno - 1]->atttypmod;
#if 0
if (Input_is_string && Typecast_ok)
{
@@ -438,13 +433,13 @@ make_targetlist_expr(ParseState *pstate,
expr = (Node *) parser_typecast2(expr,
type_id,
typeidType(typelem),
- attrlen);
+ attrtypmod);
}
else
expr = (Node *) parser_typecast2(expr,
type_id,
typeidType(attrtype),
- attrlen);
+ attrtypmod);
}
else
{
diff --git a/src/backend/parser/parse_type.c b/src/backend/parser/parse_type.c
index ef238f9fd07..4562623808e 100644
--- a/src/backend/parser/parse_type.c
+++ b/src/backend/parser/parse_type.c
@@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/parser/parse_type.c,v 1.3 1998/01/05 03:32:33 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/parser/parse_type.c,v 1.4 1998/01/16 23:20:23 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@@ -136,15 +136,14 @@ typeTypeFlag(Type t)
/* Given a type structure and a string, returns the internal form of
that string */
char *
-stringTypeString(Type tp, char *string, int typlen)
+stringTypeString(Type tp, char *string, int atttypmod)
{
Oid op;
Oid typelem;
op = ((TypeTupleForm) GETSTRUCT(tp))->typinput;
typelem = ((TypeTupleForm) GETSTRUCT(tp))->typelem; /* XXX - used for array_in */
- /* typlen is for bpcharin() and varcharin() */
- return ((char *) fmgr(op, string, typelem, typlen));
+ return ((char *) fmgr(op, string, typelem, atttypmod));
}
/* Given a type id, returns the out-conversion function of the type */
diff --git a/src/backend/utils/adt/varchar.c b/src/backend/utils/adt/varchar.c
index 2aaf0a58b8b..cb17194e252 100644
--- a/src/backend/utils/adt/varchar.c
+++ b/src/backend/utils/adt/varchar.c
@@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/utils/adt/varchar.c,v 1.23 1998/01/08 06:18:18 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/utils/adt/varchar.c,v 1.24 1998/01/16 23:20:34 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@@ -50,7 +50,7 @@
* because we pass typelem as the second argument for array_in.)
*/
char *
-bpcharin(char *s, int dummy, int typlen)
+bpcharin(char *s, int dummy, int atttypmod)
{
char *result,
*r;
@@ -60,23 +60,23 @@ bpcharin(char *s, int dummy, int typlen)
if (s == NULL)
return ((char *) NULL);
- if (typlen == -1)
+ if (atttypmod == -1)
{
/*
- * this is here because some functions can't supply the typlen
+ * this is here because some functions can't supply the atttypmod
*/
len = strlen(s);
- typlen = len + VARHDRSZ;
+ atttypmod = len + VARHDRSZ;
}
else
- len = typlen - VARHDRSZ;
+ len = atttypmod - VARHDRSZ;
if (len > 4096)
elog(ERROR, "bpcharin: length of char() must be less than 4096");
- result = (char *) palloc(typlen);
- VARSIZE(result) = typlen;
+ result = (char *) palloc(atttypmod);
+ VARSIZE(result) = atttypmod;
r = VARDATA(result);
for (i = 0; i < len; i++, r++, s++)
{
@@ -124,7 +124,7 @@ bpcharout(char *s)
* because we pass typelem as the second argument for array_in.)
*/
char *
-varcharin(char *s, int dummy, int typlen)
+varcharin(char *s, int dummy, int atttypmod)
{
char *result;
int len;
@@ -133,8 +133,8 @@ varcharin(char *s, int dummy, int typlen)
return ((char *) NULL);
len = strlen(s) + VARHDRSZ;
- if (typlen != -1 && len > typlen)
- len = typlen; /* clip the string at max length */
+ if (atttypmod != -1 && len > atttypmod)
+ len = atttypmod; /* clip the string at max length */
if (len > 4096)
elog(ERROR, "varcharin: length of char() must be less than 4096");
diff --git a/src/bin/pg_dump/pg_dump.c b/src/bin/pg_dump/pg_dump.c
index ea463e32c65..1e465b5296c 100644
--- a/src/bin/pg_dump/pg_dump.c
+++ b/src/bin/pg_dump/pg_dump.c
@@ -21,7 +21,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/bin/pg_dump/pg_dump.c,v 1.59 1997/12/26 08:45:27 vadim Exp $
+ * $Header: /cvsroot/pgsql/src/bin/pg_dump/pg_dump.c,v 1.60 1998/01/16 23:20:39 momjian Exp $
*
* Modifications - 6/10/96 - dave@bensoft.com - version 1.13.dhb
*
@@ -924,8 +924,8 @@ clearTableInfo(TableInfo *tblinfo, int numTables)
if (tblinfo[i].typnames[j])
free(tblinfo[i].typnames[j]);
}
- if (tblinfo[i].attlen)
- free((int *) tblinfo[i].attlen);
+ if (tblinfo[i].atttypmod)
+ free((int *) tblinfo[i].atttypmod);
if (tblinfo[i].inhAttrs)
free((int *) tblinfo[i].inhAttrs);
if (tblinfo[i].attnames)
@@ -1613,7 +1613,7 @@ getTableAttrs(TableInfo *tblinfo, int numTables)
char q[MAXQUERYLEN];
int i_attname;
int i_typname;
- int i_attlen;
+ int i_atttypmod;
int i_attnotnull;
int i_atthasdef;
PGresult *res;
@@ -1638,7 +1638,7 @@ getTableAttrs(TableInfo *tblinfo, int numTables)
tblinfo[i].relname,
g_comment_end);
- sprintf(q, "SELECT a.attnum, a.attname, t.typname, a.attlen, "
+ sprintf(q, "SELECT a.attnum, a.attname, t.typname, a.atttypmod, "
"a.attnotnull, a.atthasdef "
"from pg_attribute a, pg_type t "
"where a.attrelid = '%s'::oid and a.atttypid = t.oid "
@@ -1656,14 +1656,14 @@ getTableAttrs(TableInfo *tblinfo, int numTables)
i_attname = PQfnumber(res, "attname");
i_typname = PQfnumber(res, "typname");
- i_attlen = PQfnumber(res, "attlen");
+ i_atttypmod = PQfnumber(res, "atttypmod");
i_attnotnull = PQfnumber(res, "attnotnull");
i_atthasdef = PQfnumber(res, "atthasdef");
tblinfo[i].numatts = ntups;
tblinfo[i].attnames = (char **) malloc(ntups * sizeof(char *));
tblinfo[i].typnames = (char **) malloc(ntups * sizeof(char *));
- tblinfo[i].attlen = (int *) malloc(ntups * sizeof(int));
+ tblinfo[i].atttypmod = (int *) malloc(ntups * sizeof(int));
tblinfo[i].inhAttrs = (int *) malloc(ntups * sizeof(int));
tblinfo[i].notnull = (bool *) malloc(ntups * sizeof(bool));
tblinfo[i].adef_expr = (char **) malloc(ntups * sizeof(char *));
@@ -1673,9 +1673,7 @@ getTableAttrs(TableInfo *tblinfo, int numTables)
{
tblinfo[i].attnames[j] = strdup(PQgetvalue(res, j, i_attname));
tblinfo[i].typnames[j] = strdup(PQgetvalue(res, j, i_typname));
- tblinfo[i].attlen[j] = atoi(PQgetvalue(res, j, i_attlen));
- if (tblinfo[i].attlen[j] > 0)
- tblinfo[i].attlen[j] = tblinfo[i].attlen[j] - VARHDRSZ;
+ tblinfo[i].atttypmod[j] = atoi(PQgetvalue(res, j, i_atttypmod));
tblinfo[i].inhAttrs[j] = 0; /* this flag is set in
* flagInhAttrs() */
tblinfo[i].notnull[j] = (PQgetvalue(res, j, i_attnotnull)[0] == 't') ? true : false;
@@ -2321,11 +2319,9 @@ dumpTables(FILE *fout, TableInfo *tblinfo, int numTables,
(actual_atts > 0) ? ", " : "",
fmtId(tblinfo[i].attnames[j]));
- /* stored length can be -1 (variable) */
- if (tblinfo[i].attlen[j] > 0)
- sprintf(q, "%s(%d)",
- q,
- tblinfo[i].attlen[j]);
+ sprintf(q, "%s(%d)",
+ q,
+ tblinfo[i].atttypmod[j]-VARHDRSZ);
actual_atts++;
}
else if (!strcmp(tblinfo[i].typnames[j], "varchar"))
@@ -2336,11 +2332,9 @@ dumpTables(FILE *fout, TableInfo *tblinfo, int numTables,
fmtId(tblinfo[i].attnames[j]),
tblinfo[i].typnames[j]);
- /* stored length can be -1 (variable) */
- if (tblinfo[i].attlen[j] > 0)
- sprintf(q, "%s(%d)",
- q,
- tblinfo[i].attlen[j]);
+ sprintf(q, "%s(%d)",
+ q,
+ tblinfo[i].atttypmod[j]-VARHDRSZ);
actual_atts++;
}
else
diff --git a/src/bin/pg_dump/pg_dump.h b/src/bin/pg_dump/pg_dump.h
index 2e687105447..9aed251ce92 100644
--- a/src/bin/pg_dump/pg_dump.h
+++ b/src/bin/pg_dump/pg_dump.h
@@ -5,7 +5,7 @@
*
* Copyright (c) 1994, Regents of the University of California
*
- * $Id: pg_dump.h,v 1.28 1997/12/04 01:31:28 scrappy Exp $
+ * $Id: pg_dump.h,v 1.29 1998/01/16 23:20:43 momjian Exp $
*
* Modifications - 6/12/96 - dave@bensoft.com - version 1.13.dhb.2
*
@@ -86,7 +86,7 @@ typedef struct _tableInfo
* needed because the SQL tables will not
* have the same order of attributes as
* the POSTQUEL tables */
- int *attlen; /* attribute lengths */
+ int *atttypmod; /* type-specific type modifier */
char *usename;
int ncheck; /* # of CHECK expressions */
char **check_expr; /* [CONSTRAINT name] CHECK expressions */
diff --git a/src/include/catalog/pg_attribute.h b/src/include/catalog/pg_attribute.h
index 9be5e6ba23b..0c43065b8e1 100644
--- a/src/include/catalog/pg_attribute.h
+++ b/src/include/catalog/pg_attribute.h
@@ -7,7 +7,7 @@
*
* Copyright (c) 1994, Regents of the University of California
*
- * $Id: pg_attribute.h,v 1.21 1997/12/04 00:27:47 scrappy Exp $
+ * $Id: pg_attribute.h,v 1.22 1998/01/16 23:20:49 momjian Exp $
*
* NOTES
* the genbki.sh script reads this file and generates .bki
@@ -75,8 +75,8 @@ CATALOG(pg_attribute) BOOTSTRAP
* Note that (attnum - 1) is often used as the index to an array.
*/
int4 attnelems;
- int4 attcacheoff;
+ int4 attcacheoff;
/*
* fastgetattr() uses attcacheoff to cache byte offsets of attributes
* in heap tuples. The data actually stored in pg_attribute (-1)
@@ -84,8 +84,14 @@ CATALOG(pg_attribute) BOOTSTRAP
* tuple descriptor, we may then update attcacheoff in the copies.
* This speeds up the attribute walking process.
*/
- bool attbyval;
+ int2 atttypmod;
+ /*
+ * atttypmod records type-specific modifications supplied at table
+ * creation time.
+ */
+
+ bool attbyval;
/*
* attbyval is a copy of the typbyval field from pg_type for this
* attribute. See atttypid above. See struct TypeTupleFormData for
@@ -126,25 +132,21 @@ typedef FormData_pg_attribute *AttributeTupleForm;
* ----------------
*/
-#define Natts_pg_attribute 13
+#define Natts_pg_attribute 14
#define Anum_pg_attribute_attrelid 1
#define Anum_pg_attribute_attname 2
#define Anum_pg_attribute_atttypid 3
-
#define Anum_pg_attribute_attdisbursion 4
-
#define Anum_pg_attribute_attlen 5
#define Anum_pg_attribute_attnum 6
-
-
-
#define Anum_pg_attribute_attnelems 7
#define Anum_pg_attribute_attcacheoff 8
-#define Anum_pg_attribute_attbyval 9
-#define Anum_pg_attribute_attisset 10
-#define Anum_pg_attribute_attalign 11
-#define Anum_pg_attribute_attnotnull 12
-#define Anum_pg_attribute_atthasdef 13
+#define Anum_pg_attribute_atttypmod 9
+#define Anum_pg_attribute_attbyval 10
+#define Anum_pg_attribute_attisset 11
+#define Anum_pg_attribute_attalign 12
+#define Anum_pg_attribute_attnotnull 13
+#define Anum_pg_attribute_atthasdef 14
/* ----------------
@@ -172,265 +174,267 @@ typedef FormData_pg_attribute *AttributeTupleForm;
* ----------------
*/
#define Schema_pg_type \
-{ 1247l, {"typname"}, 19l, 0l, NAMEDATALEN, 1, 0l, -1l, '\0', '\0', 'i', '\0', '\0' }, \
-{ 1247l, {"typowner"}, 26l, 0l, 4, 2, 0l, -1l, '\001', '\0', 'i', '\0', '\0' }, \
-{ 1247l, {"typlen"}, 21l, 0l, 2, 3, 0l, -1l, '\001', '\0', 's', '\0', '\0' }, \
-{ 1247l, {"typprtlen"}, 21l, 0l, 2, 4, 0l, -1l, '\001', '\0', 's', '\0', '\0' }, \
-{ 1247l, {"typbyval"}, 16l, 0l, 1, 5, 0l, -1l, '\001', '\0', 'c', '\0', '\0' }, \
-{ 1247l, {"typtype"}, 18l, 0l, 1, 6, 0l, -1l, '\001', '\0', 'c', '\0', '\0' }, \
-{ 1247l, {"typisdefined"}, 16l, 0l, 1, 7, 0l, -1l, '\001', '\0', 'c', '\0', '\0' }, \
-{ 1247l, {"typdelim"}, 18l, 0l, 1, 8, 0l, -1l, '\001', '\0', 'c', '\0', '\0' }, \
-{ 1247l, {"typrelid"}, 26l, 0l, 4, 9, 0l, -1l, '\001', '\0', 'i', '\0', '\0' }, \
-{ 1247l, {"typelem"}, 26l, 0l, 4, 10, 0l, -1l, '\001', '\0', 'i', '\0', '\0' }, \
-{ 1247l, {"typinput"}, 24l, 0l, 4, 11, 0l, -1l, '\001', '\0', 'i', '\0', '\0' }, \
-{ 1247l, {"typoutput"}, 24l, 0l, 4, 12, 0l, -1l, '\001', '\0', 'i', '\0', '\0' }, \
-{ 1247l, {"typreceive"}, 24l, 0l, 4, 13, 0l, -1l, '\001', '\0', 'i', '\0', '\0' }, \
-{ 1247l, {"typsend"}, 24l, 0l, 4, 14, 0l, -1l, '\001', '\0', 'i', '\0', '\0' }, \
-{ 1247l, {"typalign"}, 18l, 0l, 1, 15, 0l, -1l, '\001', '\0', 'c', '\0', '\0' }, \
-{ 1247l, {"typdefault"}, 25l, 0l, -1, 16, 0l, -1l, '\0' , '\0', 'i', '\0', '\0' }
-
-DATA(insert OID = 0 ( 1247 typname 19 0 NAMEDATALEN 1 0 -1 f f i f f));
-DATA(insert OID = 0 ( 1247 typowner 26 0 4 2 0 -1 t f i f f));
-DATA(insert OID = 0 ( 1247 typlen 21 0 2 3 0 -1 t f s f f));
-DATA(insert OID = 0 ( 1247 typprtlen 21 0 2 4 0 -1 t f s f f));
-DATA(insert OID = 0 ( 1247 typbyval 16 0 1 5 0 -1 t f c f f));
-DATA(insert OID = 0 ( 1247 typtype 18 0 1 6 0 -1 t f c f f));
-DATA(insert OID = 0 ( 1247 typisdefined 16 0 1 7 0 -1 t f c f f));
-DATA(insert OID = 0 ( 1247 typdelim 18 0 1 8 0 -1 t f c f f));
-DATA(insert OID = 0 ( 1247 typrelid 26 0 4 9 0 -1 t f i f f));
-DATA(insert OID = 0 ( 1247 typelem 26 0 4 10 0 -1 t f i f f));
-DATA(insert OID = 0 ( 1247 typinput 24 0 4 11 0 -1 t f i f f));
-DATA(insert OID = 0 ( 1247 typoutput 24 0 4 12 0 -1 t f i f f));
-DATA(insert OID = 0 ( 1247 typreceive 24 0 4 13 0 -1 t f i f f));
-DATA(insert OID = 0 ( 1247 typsend 24 0 4 14 0 -1 t f i f f));
-DATA(insert OID = 0 ( 1247 typalign 18 0 1 15 0 -1 t f c f f));
-DATA(insert OID = 0 ( 1247 typdefault 25 0 -1 16 0 -1 f f i f f));
-DATA(insert OID = 0 ( 1247 ctid 27 0 6 -1 0 -1 f f i f f));
-DATA(insert OID = 0 ( 1247 oid 26 0 4 -2 0 -1 t f i f f));
-DATA(insert OID = 0 ( 1247 xmin 28 0 4 -3 0 -1 f f i f f));
-DATA(insert OID = 0 ( 1247 cmin 29 0 4 -4 0 -1 t f i f f));
-DATA(insert OID = 0 ( 1247 xmax 28 0 4 -5 0 -1 f f i f f));
-DATA(insert OID = 0 ( 1247 cmax 29 0 4 -6 0 -1 t f i f f));
+{ 1247l, {"typname"}, 19l, 0l, NAMEDATALEN, 1, 0l, -1l, 0, '\0', '\0', 'i', '\0', '\0' }, \
+{ 1247l, {"typowner"}, 26l, 0l, 4, 2, 0l, -1l, 0, '\001', '\0', 'i', '\0', '\0' }, \
+{ 1247l, {"typlen"}, 21l, 0l, 2, 3, 0l, -1l, 0, '\001', '\0', 's', '\0', '\0' }, \
+{ 1247l, {"typprtlen"}, 21l, 0l, 2, 4, 0l, -1l, 0, '\001', '\0', 's', '\0', '\0' }, \
+{ 1247l, {"typbyval"}, 16l, 0l, 1, 5, 0l, -1l, 0, '\001', '\0', 'c', '\0', '\0' }, \
+{ 1247l, {"typtype"}, 18l, 0l, 1, 6, 0l, -1l, 0, '\001', '\0', 'c', '\0', '\0' }, \
+{ 1247l, {"typisdefined"}, 16l, 0l, 1, 7, 0l, -1l, 0, '\001', '\0', 'c', '\0', '\0' }, \
+{ 1247l, {"typdelim"}, 18l, 0l, 1, 8, 0l, -1l, 0, '\001', '\0', 'c', '\0', '\0' }, \
+{ 1247l, {"typrelid"}, 26l, 0l, 4, 9, 0l, -1l, 0, '\001', '\0', 'i', '\0', '\0' }, \
+{ 1247l, {"typelem"}, 26l, 0l, 4, 10, 0l, -1l, 0, '\001', '\0', 'i', '\0', '\0' }, \
+{ 1247l, {"typinput"}, 24l, 0l, 4, 11, 0l, -1l, 0, '\001', '\0', 'i', '\0', '\0' }, \
+{ 1247l, {"typoutput"}, 24l, 0l, 4, 12, 0l, -1l, 0, '\001', '\0', 'i', '\0', '\0' }, \
+{ 1247l, {"typreceive"}, 24l, 0l, 4, 13, 0l, -1l, 0, '\001', '\0', 'i', '\0', '\0' }, \
+{ 1247l, {"typsend"}, 24l, 0l, 4, 14, 0l, -1l, 0, '\001', '\0', 'i', '\0', '\0' }, \
+{ 1247l, {"typalign"}, 18l, 0l, 1, 15, 0l, -1l, 0, '\001', '\0', 'c', '\0', '\0' }, \
+{ 1247l, {"typdefault"}, 25l, 0l, -1, 16, 0l, -1l, 0, '\0' , '\0', 'i', '\0', '\0' }
+
+DATA(insert OID = 0 ( 1247 typname 19 0 NAMEDATALEN 1 0 -1 0 f f i f f));
+DATA(insert OID = 0 ( 1247 typowner 26 0 4 2 0 -1 0 t f i f f));
+DATA(insert OID = 0 ( 1247 typlen 21 0 2 3 0 -1 0 t f s f f));
+DATA(insert OID = 0 ( 1247 typprtlen 21 0 2 4 0 -1 0 t f s f f));
+DATA(insert OID = 0 ( 1247 typbyval 16 0 1 5 0 -1 0 t f c f f));
+DATA(insert OID = 0 ( 1247 typtype 18 0 1 6 0 -1 0 t f c f f));
+DATA(insert OID = 0 ( 1247 typisdefined 16 0 1 7 0 -1 0 t f c f f));
+DATA(insert OID = 0 ( 1247 typdelim 18 0 1 8 0 -1 0 t f c f f));
+DATA(insert OID = 0 ( 1247 typrelid 26 0 4 9 0 -1 0 t f i f f));
+DATA(insert OID = 0 ( 1247 typelem 26 0 4 10 0 -1 0 t f i f f));
+DATA(insert OID = 0 ( 1247 typinput 24 0 4 11 0 -1 0 t f i f f));
+DATA(insert OID = 0 ( 1247 typoutput 24 0 4 12 0 -1 0 t f i f f));
+DATA(insert OID = 0 ( 1247 typreceive 24 0 4 13 0 -1 0 t f i f f));
+DATA(insert OID = 0 ( 1247 typsend 24 0 4 14 0 -1 0 t f i f f));
+DATA(insert OID = 0 ( 1247 typalign 18 0 1 15 0 -1 0 t f c f f));
+DATA(insert OID = 0 ( 1247 typdefault 25 0 -1 16 0 -1 0 f f i f f));
+DATA(insert OID = 0 ( 1247 ctid 27 0 6 -1 0 -1 0 f f i f f));
+DATA(insert OID = 0 ( 1247 oid 26 0 4 -2 0 -1 0 t f i f f));
+DATA(insert OID = 0 ( 1247 xmin 28 0 4 -3 0 -1 0 f f i f f));
+DATA(insert OID = 0 ( 1247 cmin 29 0 4 -4 0 -1 0 t f i f f));
+DATA(insert OID = 0 ( 1247 xmax 28 0 4 -5 0 -1 0 f f i f f));
+DATA(insert OID = 0 ( 1247 cmax 29 0 4 -6 0 -1 0 t f i f f));
/* ----------------
* pg_database
* ----------------
*/
-DATA(insert OID = 0 ( 1262 datname 19 0 NAMEDATALEN 1 0 -1 f f i f f));
-DATA(insert OID = 0 ( 1262 datdba 23 0 4 2 0 -1 t f s f f));
-DATA(insert OID = 0 ( 1262 datpath 25 0 -1 3 0 -1 f f i f f));
-DATA(insert OID = 0 ( 1262 ctid 27 0 6 -1 0 -1 f f i f f));
-DATA(insert OID = 0 ( 1262 oid 26 0 4 -2 0 -1 t f i f f));
-DATA(insert OID = 0 ( 1262 xmin 28 0 4 -3 0 -1 f f i f f));
-DATA(insert OID = 0 ( 1262 cmin 29 0 4 -4 0 -1 t f i f f));
-DATA(insert OID = 0 ( 1262 xmax 28 0 4 -5 0 -1 f f i f f));
-DATA(insert OID = 0 ( 1262 cmax 29 0 4 -6 0 -1 t f i f f));
+DATA(insert OID = 0 ( 1262 datname 19 0 NAMEDATALEN 1 0 -1 0 f f i f f));
+DATA(insert OID = 0 ( 1262 datdba 23 0 4 2 0 -1 0 t f s f f));
+DATA(insert OID = 0 ( 1262 datpath 25 0 -1 3 0 -1 0 f f i f f));
+DATA(insert OID = 0 ( 1262 ctid 27 0 6 -1 0 -1 0 f f i f f));
+DATA(insert OID = 0 ( 1262 oid 26 0 4 -2 0 -1 0 t f i f f));
+DATA(insert OID = 0 ( 1262 xmin 28 0 4 -3 0 -1 0 f f i f f));
+DATA(insert OID = 0 ( 1262 cmin 29 0 4 -4 0 -1 0 t f i f f));
+DATA(insert OID = 0 ( 1262 xmax 28 0 4 -5 0 -1 0 f f i f f));
+DATA(insert OID = 0 ( 1262 cmax 29 0 4 -6 0 -1 0 t f i f f));
/* ----------------
* pg_proc
* ----------------
*/
#define Schema_pg_proc \
-{ 1255l, {"proname"}, 19l, 0l, NAMEDATALEN, 1, 0l, -1l, '\0', '\0', 'i', '\0', '\0' }, \
-{ 1255l, {"proowner"}, 26l, 0l, 4, 2, 0l, -1l, '\001', '\0', 'i', '\0', '\0' }, \
-{ 1255l, {"prolang"}, 26l, 0l, 4, 3, 0l, -1l, '\001', '\0', 'i', '\0', '\0' }, \
-{ 1255l, {"proisinh"}, 16l, 0l, 1, 4, 0l, -1l, '\001', '\0', 'c', '\0', '\0' }, \
-{ 1255l, {"proistrusted"}, 16l, 0l, 1, 5, 0l, -1l, '\001', '\0', 'c', '\0', '\0' }, \
-{ 1255l, {"proiscachable"}, 16l, 0l, 1, 6, 0l, -1l, '\001', '\0', 'c', '\0', '\0' }, \
-{ 1255l, {"pronargs"}, 21l, 0l, 2, 7, 0l, -1l, '\001', '\0', 's', '\0', '\0' }, \
-{ 1255l, {"proretset"}, 16l, 0l, 1, 8, 0l, -1l, '\001', '\0', 'c', '\0', '\0' }, \
-{ 1255l, {"prorettype"}, 26l, 0l, 4, 9, 0l, -1l, '\001', '\0', 'i', '\0', '\0' }, \
-{ 1255l, {"proargtypes"}, 30l, 0l, 32, 10, 0l, -1l, '\0', '\0', 'i', '\0', '\0' }, \
-{ 1255l, {"probyte_pct"}, 23l, 0l, 4, 11, 0l, -1l, '\001', '\0', 'i', '\0', '\0' }, \
-{ 1255l, {"properbyte_cpu"}, 23l, 0l, 4, 12, 0l, -1l, '\001', '\0', 'i', '\0', '\0' }, \
-{ 1255l, {"propercall_cpu"}, 23l, 0l, 4, 13, 0l, -1l, '\001', '\0', 'i', '\0', '\0' }, \
-{ 1255l, {"prooutin_ratio"}, 23l, 0l, 4, 14, 0l, -1l, '\001', '\0', 'i', '\0', '\0' }, \
-{ 1255l, {"prosrc"}, 25l, 0l, -1, 15, 0l, -1l, '\0', '\0', 'i', '\0', '\0' }, \
-{ 1255l, {"probin"}, 17l, 0l, -1, 16, 0l, -1l, '\0', '\0', 'i', '\0', '\0' }
-
-DATA(insert OID = 0 ( 1255 proname 19 0 NAMEDATALEN 1 0 -1 f f i f f));
-DATA(insert OID = 0 ( 1255 proowner 26 0 4 2 0 -1 t f i f f));
-DATA(insert OID = 0 ( 1255 prolang 26 0 4 3 0 -1 t f i f f));
-DATA(insert OID = 0 ( 1255 proisinh 16 0 1 4 0 -1 t f c f f));
-DATA(insert OID = 0 ( 1255 proistrusted 16 0 1 5 0 -1 t f c f f));
-DATA(insert OID = 0 ( 1255 proiscachable 16 0 1 6 0 -1 t f c f f));
-DATA(insert OID = 0 ( 1255 pronargs 21 0 2 7 0 -1 t f s f f));
-DATA(insert OID = 0 ( 1255 proretset 16 0 1 8 0 -1 t f c f f));
-DATA(insert OID = 0 ( 1255 prorettype 26 0 4 9 0 -1 t f i f f));
-DATA(insert OID = 0 ( 1255 proargtypes 30 0 32 10 0 -1 f f i f f));
-DATA(insert OID = 0 ( 1255 probyte_pct 23 0 4 11 0 -1 t f i f f));
-DATA(insert OID = 0 ( 1255 properbyte_cpu 23 0 4 12 0 -1 t f i f f));
-DATA(insert OID = 0 ( 1255 propercall_cpu 23 0 4 13 0 -1 t f i f f));
-DATA(insert OID = 0 ( 1255 prooutin_ratio 23 0 4 14 0 -1 t f i f f));
-DATA(insert OID = 0 ( 1255 prosrc 25 0 -1 15 0 -1 f f i f f));
-DATA(insert OID = 0 ( 1255 probin 17 0 -1 16 0 -1 f f i f f));
-DATA(insert OID = 0 ( 1255 ctid 27 0 6 -1 0 -1 f f i f f));
-DATA(insert OID = 0 ( 1255 oid 26 0 4 -2 0 -1 t f i f f));
-DATA(insert OID = 0 ( 1255 xmin 28 0 4 -3 0 -1 f f i f f));
-DATA(insert OID = 0 ( 1255 cmin 29 0 4 -4 0 -1 t f i f f));
-DATA(insert OID = 0 ( 1255 xmax 28 0 4 -5 0 -1 f f i f f));
-DATA(insert OID = 0 ( 1255 cmax 29 0 4 -6 0 -1 t f i f f));
+{ 1255l, {"proname"}, 19l, 0l, NAMEDATALEN, 1, 0l, -1l, 0, '\0', '\0', 'i', '\0', '\0' }, \
+{ 1255l, {"proowner"}, 26l, 0l, 4, 2, 0l, -1l, 0, '\001', '\0', 'i', '\0', '\0' }, \
+{ 1255l, {"prolang"}, 26l, 0l, 4, 3, 0l, -1l, 0, '\001', '\0', 'i', '\0', '\0' }, \
+{ 1255l, {"proisinh"}, 16l, 0l, 1, 4, 0l, -1l, 0, '\001', '\0', 'c', '\0', '\0' }, \
+{ 1255l, {"proistrusted"}, 16l, 0l, 1, 5, 0l, -1l, 0, '\001', '\0', 'c', '\0', '\0' }, \
+{ 1255l, {"proiscachable"}, 16l, 0l, 1, 6, 0l, -1l, 0, '\001', '\0', 'c', '\0', '\0' }, \
+{ 1255l, {"pronargs"}, 21l, 0l, 2, 7, 0l, -1l, 0, '\001', '\0', 's', '\0', '\0' }, \
+{ 1255l, {"proretset"}, 16l, 0l, 1, 8, 0l, -1l, 0, '\001', '\0', 'c', '\0', '\0' }, \
+{ 1255l, {"prorettype"}, 26l, 0l, 4, 9, 0l, -1l, 0, '\001', '\0', 'i', '\0', '\0' }, \
+{ 1255l, {"proargtypes"}, 30l, 0l, 32, 10, 0l, -1l, 0, '\0', '\0', 'i', '\0', '\0' }, \
+{ 1255l, {"probyte_pct"}, 23l, 0l, 4, 11, 0l, -1l, 0, '\001', '\0', 'i', '\0', '\0' }, \
+{ 1255l, {"properbyte_cpu"}, 23l, 0l, 4, 12, 0l, -1l, 0, '\001', '\0', 'i', '\0', '\0' }, \
+{ 1255l, {"propercall_cpu"}, 23l, 0l, 4, 13, 0l, -1l, 0, '\001', '\0', 'i', '\0', '\0' }, \
+{ 1255l, {"prooutin_ratio"}, 23l, 0l, 4, 14, 0l, -1l, 0, '\001', '\0', 'i', '\0', '\0' }, \
+{ 1255l, {"prosrc"}, 25l, 0l, -1, 15, 0l, -1l, 0, '\0', '\0', 'i', '\0', '\0' }, \
+{ 1255l, {"probin"}, 17l, 0l, -1, 16, 0l, -1l, 0, '\0', '\0', 'i', '\0', '\0' }
+
+DATA(insert OID = 0 ( 1255 proname 19 0 NAMEDATALEN 1 0 -1 0 f f i f f));
+DATA(insert OID = 0 ( 1255 proowner 26 0 4 2 0 -1 0 t f i f f));
+DATA(insert OID = 0 ( 1255 prolang 26 0 4 3 0 -1 0 t f i f f));
+DATA(insert OID = 0 ( 1255 proisinh 16 0 1 4 0 -1 0 t f c f f));
+DATA(insert OID = 0 ( 1255 proistrusted 16 0 1 5 0 -1 0 t f c f f));
+DATA(insert OID = 0 ( 1255 proiscachable 16 0 1 6 0 -1 0 t f c f f));
+DATA(insert OID = 0 ( 1255 pronargs 21 0 2 7 0 -1 0 t f s f f));
+DATA(insert OID = 0 ( 1255 proretset 16 0 1 8 0 -1 0 t f c f f));
+DATA(insert OID = 0 ( 1255 prorettype 26 0 4 9 0 -1 0 t f i f f));
+DATA(insert OID = 0 ( 1255 proargtypes 30 0 32 10 0 -1 0 f f i f f));
+DATA(insert OID = 0 ( 1255 probyte_pct 23 0 4 11 0 -1 0 t f i f f));
+DATA(insert OID = 0 ( 1255 properbyte_cpu 23 0 4 12 0 -1 0 t f i f f));
+DATA(insert OID = 0 ( 1255 propercall_cpu 23 0 4 13 0 -1 0 t f i f f));
+DATA(insert OID = 0 ( 1255 prooutin_ratio 23 0 4 14 0 -1 0 t f i f f));
+DATA(insert OID = 0 ( 1255 prosrc 25 0 -1 15 0 -1 0 f f i f f));
+DATA(insert OID = 0 ( 1255 probin 17 0 -1 16 0 -1 0 f f i f f));
+DATA(insert OID = 0 ( 1255 ctid 27 0 6 -1 0 -1 0 f f i f f));
+DATA(insert OID = 0 ( 1255 oid 26 0 4 -2 0 -1 0 t f i f f));
+DATA(insert OID = 0 ( 1255 xmin 28 0 4 -3 0 -1 0 f f i f f));
+DATA(insert OID = 0 ( 1255 cmin 29 0 4 -4 0 -1 0 t f i f f));
+DATA(insert OID = 0 ( 1255 xmax 28 0 4 -5 0 -1 0 f f i f f));
+DATA(insert OID = 0 ( 1255 cmax 29 0 4 -6 0 -1 0 t f i f f));
/* ----------------
* pg_user
* ----------------
*/
-DATA(insert OID = 0 ( 1260 usename 19 0 NAMEDATALEN 1 0 -1 f f i f f));
-DATA(insert OID = 0 ( 1260 usesysid 23 0 4 2 0 -1 t f s f f));
-DATA(insert OID = 0 ( 1260 usecreatedb 16 0 1 3 0 -1 t f c f f));
-DATA(insert OID = 0 ( 1260 usetrace 16 0 1 4 0 -1 t f c f f));
-DATA(insert OID = 0 ( 1260 usesuper 16 0 1 5 0 -1 t f c f f));
-DATA(insert OID = 0 ( 1260 usecatupd 16 0 1 6 0 -1 t f c f f));
-DATA(insert OID = 0 ( 1260 passwd 25 0 -1 7 0 -1 f f i f f));
-DATA(insert OID = 0 ( 1260 valuntil 702 0 4 8 0 -1 t f i f f));
-DATA(insert OID = 0 ( 1260 ctid 27 0 6 -1 0 -1 f f i f f));
-DATA(insert OID = 0 ( 1260 oid 26 0 4 -2 0 -1 t f i f f));
-DATA(insert OID = 0 ( 1260 xmin 28 0 4 -3 0 -1 f f i f f));
-DATA(insert OID = 0 ( 1260 cmin 29 0 4 -4 0 -1 t f i f f));
-DATA(insert OID = 0 ( 1260 xmax 28 0 4 -5 0 -1 f f i f f));
-DATA(insert OID = 0 ( 1260 cmax 29 0 4 -6 0 -1 t f i f f));
+DATA(insert OID = 0 ( 1260 usename 19 0 NAMEDATALEN 1 0 -1 0 f f i f f));
+DATA(insert OID = 0 ( 1260 usesysid 23 0 4 2 0 -1 0 t f s f f));
+DATA(insert OID = 0 ( 1260 usecreatedb 16 0 1 3 0 -1 0 t f c f f));
+DATA(insert OID = 0 ( 1260 usetrace 16 0 1 4 0 -1 0 t f c f f));
+DATA(insert OID = 0 ( 1260 usesuper 16 0 1 5 0 -1 0 t f c f f));
+DATA(insert OID = 0 ( 1260 usecatupd 16 0 1 6 0 -1 0 t f c f f));
+DATA(insert OID = 0 ( 1260 passwd 25 0 -1 7 0 -1 0 f f i f f));
+DATA(insert OID = 0 ( 1260 valuntil 702 0 4 8 0 -1 0 t f i f f));
+DATA(insert OID = 0 ( 1260 ctid 27 0 6 -1 0 -1 0 f f i f f));
+DATA(insert OID = 0 ( 1260 oid 26 0 4 -2 0 -1 0 t f i f f));
+DATA(insert OID = 0 ( 1260 xmin 28 0 4 -3 0 -1 0 f f i f f));
+DATA(insert OID = 0 ( 1260 cmin 29 0 4 -4 0 -1 0 t f i f f));
+DATA(insert OID = 0 ( 1260 xmax 28 0 4 -5 0 -1 0 f f i f f));
+DATA(insert OID = 0 ( 1260 cmax 29 0 4 -6 0 -1 0 t f i f f));
/* ----------------
* pg_group
* ----------------
*/
-DATA(insert OID = 0 ( 1261 groname 19 0 NAMEDATALEN 1 0 -1 f f i f f));
-DATA(insert OID = 0 ( 1261 grosysid 23 0 4 2 0 -1 t f s f f));
-DATA(insert OID = 0 ( 1261 grolist 1007 0 -1 3 0 -1 f f i f f));
-DATA(insert OID = 0 ( 1261 ctid 27 0 6 -1 0 -1 f f i f f));
-DATA(insert OID = 0 ( 1261 oid 26 0 4 -2 0 -1 t f i f f));
-DATA(insert OID = 0 ( 1261 xmin 28 0 4 -3 0 -1 f f i f f));
-DATA(insert OID = 0 ( 1261 cmin 29 0 4 -4 0 -1 t f i f f));
-DATA(insert OID = 0 ( 1261 xmax 28 0 4 -5 0 -1 f f i f f));
-DATA(insert OID = 0 ( 1261 cmax 29 0 4 -6 0 -1 t f i f f));
+DATA(insert OID = 0 ( 1261 groname 19 0 NAMEDATALEN 1 0 -1 0 f f i f f));
+DATA(insert OID = 0 ( 1261 grosysid 23 0 4 2 0 -1 0 t f s f f));
+DATA(insert OID = 0 ( 1261 grolist 1007 0 -1 3 0 0 -1 f f i f f));
+DATA(insert OID = 0 ( 1261 ctid 27 0 6 -1 0 -1 0 f f i f f));
+DATA(insert OID = 0 ( 1261 oid 26 0 4 -2 0 -1 0 t f i f f));
+DATA(insert OID = 0 ( 1261 xmin 28 0 4 -3 0 -1 0 f f i f f));
+DATA(insert OID = 0 ( 1261 cmin 29 0 4 -4 0 -1 0 t f i f f));
+DATA(insert OID = 0 ( 1261 xmax 28 0 4 -5 0 -1 0 f f i f f));
+DATA(insert OID = 0 ( 1261 cmax 29 0 4 -6 0 -1 0 t f i f f));
/* ----------------
* pg_attribute
* ----------------
*/
#define Schema_pg_attribute \
-{ 1249l, {"attrelid"}, 26l, 0l, 4, 1, 0l, -1l, '\001', '\0', 'i', '\0', '\0' }, \
-{ 1249l, {"attname"}, 19l, 0l, NAMEDATALEN, 2, 0l, -1l, '\0', '\0', 'i', '\0', '\0' }, \
-{ 1249l, {"atttypid"}, 26l, 0l, 4, 3, 0l, -1l, '\001', '\0', 'i', '\0', '\0' }, \
-{ 1249l, {"attdisbursion"}, 700l, 0l, 4, 4, 0l, -1l, '\0', '\0', 'i', '\0', '\0' }, \
-{ 1249l, {"attlen"}, 21l, 0l, 2, 5, 0l, -1l, '\001', '\0', 's', '\0', '\0' }, \
-{ 1249l, {"attnum"}, 21l, 0l, 2, 6, 0l, -1l, '\001', '\0', 's', '\0', '\0' }, \
-{ 1249l, {"attnelems"}, 23l, 0l, 4, 7, 0l, -1l, '\001', '\0', 'i', '\0', '\0' }, \
-{ 1249l, {"attcacheoff"}, 23l, 0l, 4, 8, 0l, -1l, '\001', '\0', 'i', '\0', '\0' }, \
-{ 1249l, {"attbyval"}, 16l, 0l, 1, 9, 0l, -1l, '\001', '\0', 'c', '\0', '\0' }, \
-{ 1249l, {"attisset"}, 16l, 0l, 1, 10, 0l, -1l, '\001', '\0', 'c', '\0', '\0' }, \
-{ 1249l, {"attalign"}, 18l, 0l, 1, 11, 0l, -1l, '\001', '\0', 'c', '\0', '\0' }, \
-{ 12491, {"attnotnull"}, 16l, 0l, 1, 12, 0l, -1l, '\001', '\0', 'c', '\0', '\0' }, \
-{ 12491, {"atthasdef"}, 16l, 0l, 1, 13, 0l, -1l, '\001', '\0', 'c', '\0', '\0' }
-
-DATA(insert OID = 0 ( 1249 attrelid 26 0 4 1 0 -1 t f i f f));
-DATA(insert OID = 0 ( 1249 attname 19 0 NAMEDATALEN 2 0 -1 f f i f f));
-DATA(insert OID = 0 ( 1249 atttypid 26 0 4 3 0 -1 t f i f f));
-DATA(insert OID = 0 ( 1249 attdisbursion 700 0 4 4 0 -1 f f i f f));
-DATA(insert OID = 0 ( 1249 attlen 21 0 2 5 0 -1 t f s f f));
-DATA(insert OID = 0 ( 1249 attnum 21 0 2 6 0 -1 t f s f f));
-DATA(insert OID = 0 ( 1249 attnelems 23 0 4 7 0 -1 t f i f f));
-DATA(insert OID = 0 ( 1249 attcacheoff 23 0 4 8 0 -1 t f i f f));
-DATA(insert OID = 0 ( 1249 attbyval 16 0 1 9 0 -1 t f c f f));
-DATA(insert OID = 0 ( 1249 attisset 16 0 1 10 0 -1 t f c f f));
-DATA(insert OID = 0 ( 1249 attalign 18 0 1 11 0 -1 t f c f f));
-DATA(insert OID = 0 ( 1249 attnotnull 16 0 1 12 0 -1 t f c f f));
-DATA(insert OID = 0 ( 1249 atthasdef 16 0 1 13 0 -1 t f c f f));
-DATA(insert OID = 0 ( 1249 ctid 27 0 6 -1 0 -1 f f i f f));
-DATA(insert OID = 0 ( 1249 oid 26 0 4 -2 0 -1 t f i f f));
-DATA(insert OID = 0 ( 1249 xmin 28 0 4 -3 0 -1 f f i f f));
-DATA(insert OID = 0 ( 1249 cmin 29 0 4 -4 0 -1 t f i f f));
-DATA(insert OID = 0 ( 1249 xmax 28 0 4 -5 0 -1 f f i f f));
-DATA(insert OID = 0 ( 1249 cmax 29 0 4 -6 0 -1 t f i f f));
+{ 1249l, {"attrelid"}, 26l, 0l, 4, 1, 0l, -1l, 0, '\001', '\0', 'i', '\0', '\0' }, \
+{ 1249l, {"attname"}, 19l, 0l, NAMEDATALEN, 2, 0l, -1l, 0, '\0', '\0', 'i', '\0', '\0' }, \
+{ 1249l, {"atttypid"}, 26l, 0l, 4, 3, 0l, -1l, 0, '\001', '\0', 'i', '\0', '\0' }, \
+{ 1249l, {"attdisbursion"}, 700l, 0l, 4, 4, 0l, -1l, 0, '\0', '\0', 'i', '\0', '\0' }, \
+{ 1249l, {"attlen"}, 21l, 0l, 2, 5, 0l, -1l, 0, '\001', '\0', 's', '\0', '\0' }, \
+{ 1249l, {"attnum"}, 21l, 0l, 2, 6, 0l, -1l, 0, '\001', '\0', 's', '\0', '\0' }, \
+{ 1249l, {"attnelems"}, 23l, 0l, 4, 7, 0l, -1l, 0, '\001', '\0', 'i', '\0', '\0' }, \
+{ 1249l, {"attcacheoff"}, 23l, 0l, 4, 8, 0l, -1l, 0, '\001', '\0', 'i', '\0', '\0' }, \
+{ 1249l, {"atttypmod"}, 21l, 0l, 2, 9, 0l, -1l, 0, '\001', '\0', 's', '\0', '\0' }, \
+{ 1249l, {"attbyval"}, 16l, 0l, 1, 10, 0l, -1l, 0, '\001', '\0', 'c', '\0', '\0' }, \
+{ 1249l, {"attisset"}, 16l, 0l, 1, 11, 0l, -1l, 0, '\001', '\0', 'c', '\0', '\0' }, \
+{ 1249l, {"attalign"}, 18l, 0l, 1, 12, 0l, -1l, 0, '\001', '\0', 'c', '\0', '\0' }, \
+{ 12491, {"attnotnull"}, 16l, 0l, 1, 13, 0l, -1l, 0, '\001', '\0', 'c', '\0', '\0' }, \
+{ 12491, {"atthasdef"}, 16l, 0l, 1, 14, 0l, -1l, 0, '\001', '\0', 'c', '\0', '\0' }
+
+DATA(insert OID = 0 ( 1249 attrelid 26 0 4 1 0 -1 0 t f i f f));
+DATA(insert OID = 0 ( 1249 attname 19 0 NAMEDATALEN 2 0 -1 0 f f i f f));
+DATA(insert OID = 0 ( 1249 atttypid 26 0 4 3 0 -1 0 t f i f f));
+DATA(insert OID = 0 ( 1249 attdisbursion 700 0 4 4 0 0 -1 f f i f f));
+DATA(insert OID = 0 ( 1249 attlen 21 0 2 5 0 -1 0 t f s f f));
+DATA(insert OID = 0 ( 1249 attnum 21 0 2 6 0 -1 0 t f s f f));
+DATA(insert OID = 0 ( 1249 attnelems 23 0 4 7 0 -1 0 t f i f f));
+DATA(insert OID = 0 ( 1249 attcacheoff 23 0 4 8 0 -1 0 t f i f f));
+DATA(insert OID = 0 ( 1249 atttypmod 21 0 2 9 0 -1 0 t f s f f));
+DATA(insert OID = 0 ( 1249 attbyval 16 0 1 10 0 -1 0 t f c f f));
+DATA(insert OID = 0 ( 1249 attisset 16 0 1 11 0 -1 0 t f c f f));
+DATA(insert OID = 0 ( 1249 attalign 18 0 1 12 0 -1 0 t f c f f));
+DATA(insert OID = 0 ( 1249 attnotnull 16 0 1 13 0 -1 0 t f c f f));
+DATA(insert OID = 0 ( 1249 atthasdef 16 0 1 14 0 -1 0 t f c f f));
+DATA(insert OID = 0 ( 1249 ctid 27 0 6 -1 0 -1 0 f f i f f));
+DATA(insert OID = 0 ( 1249 oid 26 0 4 -2 0 -1 0 t f i f f));
+DATA(insert OID = 0 ( 1249 xmin 28 0 4 -3 0 -1 0 f f i f f));
+DATA(insert OID = 0 ( 1249 cmin 29 0 4 -4 0 -1 0 t f i f f));
+DATA(insert OID = 0 ( 1249 xmax 28 0 4 -5 0 -1 0 f f i f f));
+DATA(insert OID = 0 ( 1249 cmax 29 0 4 -6 0 -1 0 t f i f f));
/* ----------------
* pg_class
* ----------------
*/
#define Schema_pg_class \
-{ 1259l, {"relname"}, 19l, 0l, NAMEDATALEN, 1, 0l, -1l, '\0', '\0', 'i', '\0', '\0' }, \
-{ 1259l, {"reltype"}, 26l, 0l, 4, 2, 0l, -1l, '\001', '\0', 'i', '\0', '\0' }, \
-{ 1259l, {"relowner"}, 26l, 0l, 4, 3, 0l, -1l, '\001', '\0', 'i', '\0', '\0' }, \
-{ 1259l, {"relam"}, 26l, 0l, 4, 4, 0l, -1l, '\001', '\0', 'i', '\0', '\0' }, \
-{ 1259l, {"relpages"}, 23, 0l, 4, 5, 0l, -1l, '\001', '\0', 'i', '\0', '\0' }, \
-{ 1259l, {"reltuples"}, 23, 0l, 4, 6, 0l, -1l, '\001', '\0', 'i', '\0', '\0' }, \
-{ 1259l, {"relhasindex"}, 16, 0l, 1, 7, 0l, -1l, '\001', '\0', 'c', '\0', '\0' }, \
-{ 1259l, {"relisshared"}, 16, 0l, 1, 8, 0l, -1l, '\001', '\0', 'c', '\0', '\0' }, \
-{ 1259l, {"relkind"}, 18, 0l, 1, 9, 0l, -1l, '\001', '\0', 'c', '\0', '\0' }, \
-{ 1259l, {"relnatts"}, 21, 0l, 2, 10, 0l, -1l, '\001', '\0', 's', '\0', '\0' }, \
-{ 1259l, {"relchecks"}, 21l, 0l, 2, 11, 0l, -1l, '\001', '\0', 's', '\0', '\0' }, \
-{ 1259l, {"reltriggers"}, 21l, 0l, 2, 12, 0l, -1l, '\001', '\0', 's', '\0', '\0' }, \
-{ 1259l, {"relhasrules"}, 16, 0l, 1, 13, 0l, -1l, '\001', '\0', 'c', '\0', '\0' }, \
-{ 1259l, {"relacl"}, 1034l, 0l, -1, 14, 0l, -1l, '\0', '\0', 'i', '\0', '\0' }
-
-DATA(insert OID = 0 ( 1259 relname 19 0 NAMEDATALEN 1 0 -1 f f i f f));
-DATA(insert OID = 0 ( 1259 reltype 26 0 4 2 0 -1 t f i f f));
-DATA(insert OID = 0 ( 1259 relowner 26 0 4 3 0 -1 t f i f f));
-DATA(insert OID = 0 ( 1259 relam 26 0 4 4 0 -1 t f i f f));
-DATA(insert OID = 0 ( 1259 relpages 23 0 4 5 0 -1 t f i f f));
-DATA(insert OID = 0 ( 1259 reltuples 23 0 4 6 0 -1 t f i f f));
-DATA(insert OID = 0 ( 1259 relhasindex 16 0 1 7 0 -1 t f c f f));
-DATA(insert OID = 0 ( 1259 relisshared 16 0 1 8 0 -1 t f c f f));
-DATA(insert OID = 0 ( 1259 relkind 18 0 1 9 0 -1 t f c f f));
-DATA(insert OID = 0 ( 1259 relnatts 21 0 2 10 0 -1 t f s f f));
-DATA(insert OID = 0 ( 1259 relchecks 21 0 2 11 0 -1 t f s f f));
-DATA(insert OID = 0 ( 1259 reltriggers 21 0 2 12 0 -1 t f s f f));
-DATA(insert OID = 0 ( 1259 relhasrules 16 0 1 13 0 -1 t f c f f));
-DATA(insert OID = 0 ( 1259 relacl 1034 0 -1 14 0 -1 f f i f f));
-DATA(insert OID = 0 ( 1259 ctid 27 0 6 -1 0 -1 f f i f f));
-DATA(insert OID = 0 ( 1259 oid 26 0 4 -2 0 -1 t f i f f));
-DATA(insert OID = 0 ( 1259 xmin 28 0 4 -3 0 -1 f f i f f));
-DATA(insert OID = 0 ( 1259 cmin 29 0 4 -4 0 -1 t f i f f));
-DATA(insert OID = 0 ( 1259 xmax 28 0 4 -5 0 -1 f f i f f));
-DATA(insert OID = 0 ( 1259 cmax 29 0 4 -6 0 -1 t f i f f));
+{ 1259l, {"relname"}, 19l, 0l, NAMEDATALEN, 1, 0l, -1l, 0, '\0', '\0', 'i', '\0', '\0' }, \
+{ 1259l, {"reltype"}, 26l, 0l, 4, 2, 0l, -1l, 0, '\001', '\0', 'i', '\0', '\0' }, \
+{ 1259l, {"relowner"}, 26l, 0l, 4, 3, 0l, -1l, 0, '\001', '\0', 'i', '\0', '\0' }, \
+{ 1259l, {"relam"}, 26l, 0l, 4, 4, 0l, -1l, 0, '\001', '\0', 'i', '\0', '\0' }, \
+{ 1259l, {"relpages"}, 23, 0l, 4, 5, 0l, -1l, 0, '\001', '\0', 'i', '\0', '\0' }, \
+{ 1259l, {"reltuples"}, 23, 0l, 4, 6, 0l, -1l, 0, '\001', '\0', 'i', '\0', '\0' }, \
+{ 1259l, {"relhasindex"}, 16, 0l, 1, 7, 0l, -1l, 0, '\001', '\0', 'c', '\0', '\0' }, \
+{ 1259l, {"relisshared"}, 16, 0l, 1, 8, 0l, -1l, 0, '\001', '\0', 'c', '\0', '\0' }, \
+{ 1259l, {"relkind"}, 18, 0l, 1, 9, 0l, -1l, 0, '\001', '\0', 'c', '\0', '\0' }, \
+{ 1259l, {"relnatts"}, 21, 0l, 2, 10, 0l, -1l, 0, '\001', '\0', 's', '\0', '\0' }, \
+{ 1259l, {"relchecks"}, 21l, 0l, 2, 11, 0l, -1l, 0, '\001', '\0', 's', '\0', '\0' }, \
+{ 1259l, {"reltriggers"}, 21l, 0l, 2, 12, 0l, -1l, 0, '\001', '\0', 's', '\0', '\0' }, \
+{ 1259l, {"relhasrules"}, 16, 0l, 1, 13, 0l, -1l, 0, '\001', '\0', 'c', '\0', '\0' }, \
+{ 1259l, {"relacl"}, 1034l, 0l, -1, 14, 0l, -1l, 0, '\0', '\0', 'i', '\0', '\0' }
+
+DATA(insert OID = 0 ( 1259 relname 19 0 NAMEDATALEN 1 0 -1 0 f f i f f));
+DATA(insert OID = 0 ( 1259 reltype 26 0 4 2 0 -1 0 t f i f f));
+DATA(insert OID = 0 ( 1259 relowner 26 0 4 3 0 -1 0 t f i f f));
+DATA(insert OID = 0 ( 1259 relam 26 0 4 4 0 -1 0 t f i f f));
+DATA(insert OID = 0 ( 1259 relpages 23 0 4 5 0 -1 0 t f i f f));
+DATA(insert OID = 0 ( 1259 reltuples 23 0 4 6 0 -1 0 t f i f f));
+DATA(insert OID = 0 ( 1259 relhasindex 16 0 1 7 0 -1 0 t f c f f));
+DATA(insert OID = 0 ( 1259 relisshared 16 0 1 8 0 -1 0 t f c f f));
+DATA(insert OID = 0 ( 1259 relkind 18 0 1 9 0 -1 0 t f c f f));
+DATA(insert OID = 0 ( 1259 relnatts 21 0 2 10 0 -1 0 t f s f f));
+DATA(insert OID = 0 ( 1259 relchecks 21 0 2 11 0 -1 0 t f s f f));
+DATA(insert OID = 0 ( 1259 reltriggers 21 0 2 12 0 -1 0 t f s f f));
+DATA(insert OID = 0 ( 1259 relhasrules 16 0 1 13 0 -1 0 t f c f f));
+DATA(insert OID = 0 ( 1259 relacl 1034 0 -1 14 0 0 -1 f f i f f));
+DATA(insert OID = 0 ( 1259 ctid 27 0 6 -1 0 -1 0 f f i f f));
+DATA(insert OID = 0 ( 1259 oid 26 0 4 -2 0 -1 0 t f i f f));
+DATA(insert OID = 0 ( 1259 xmin 28 0 4 -3 0 -1 0 f f i f f));
+DATA(insert OID = 0 ( 1259 cmin 29 0 4 -4 0 -1 0 t f i f f));
+DATA(insert OID = 0 ( 1259 xmax 28 0 4 -5 0 -1 0 f f i f f));
+DATA(insert OID = 0 ( 1259 cmax 29 0 4 -6 0 -1 0 t f i f f));
/* ----------------
* pg_attrdef
* ----------------
*/
-DATA(insert OID = 0 ( 1215 adrelid 26 0 4 1 0 -1 t f i f f));
-DATA(insert OID = 0 ( 1215 adnum 21 0 2 2 0 -1 t f s f f));
-DATA(insert OID = 0 ( 1215 adbin 25 0 -1 3 0 -1 f f i f f));
-DATA(insert OID = 0 ( 1215 adsrc 25 0 -1 4 0 -1 f f i f f));
-DATA(insert OID = 0 ( 1215 ctid 27 0 6 -1 0 -1 f f i f f));
-DATA(insert OID = 0 ( 1215 oid 26 0 4 -2 0 -1 t f i f f));
-DATA(insert OID = 0 ( 1215 xmin 28 0 4 -3 0 -1 f f i f f));
-DATA(insert OID = 0 ( 1215 cmin 29 0 4 -4 0 -1 t f i f f));
-DATA(insert OID = 0 ( 1215 xmax 28 0 4 -5 0 -1 f f i f f));
-DATA(insert OID = 0 ( 1215 cmax 29 0 4 -6 0 -1 t f i f f));
+DATA(insert OID = 0 ( 1215 adrelid 26 0 4 1 0 -1 0 t f i f f));
+DATA(insert OID = 0 ( 1215 adnum 21 0 2 2 0 -1 0 t f s f f));
+DATA(insert OID = 0 ( 1215 adbin 25 0 -1 3 0 -1 0 f f i f f));
+DATA(insert OID = 0 ( 1215 adsrc 25 0 -1 4 0 -1 0 f f i f f));
+DATA(insert OID = 0 ( 1215 ctid 27 0 6 -1 0 -1 0 f f i f f));
+DATA(insert OID = 0 ( 1215 oid 26 0 4 -2 0 -1 0 t f i f f));
+DATA(insert OID = 0 ( 1215 xmin 28 0 4 -3 0 -1 0 f f i f f));
+DATA(insert OID = 0 ( 1215 cmin 29 0 4 -4 0 -1 0 t f i f f));
+DATA(insert OID = 0 ( 1215 xmax 28 0 4 -5 0 -1 0 f f i f f));
+DATA(insert OID = 0 ( 1215 cmax 29 0 4 -6 0 -1 0 t f i f f));
/* ----------------
* pg_relcheck
* ----------------
*/
-DATA(insert OID = 0 ( 1216 rcrelid 26 0 4 1 0 -1 t f i f f));
-DATA(insert OID = 0 ( 1216 rcname 19 0 NAMEDATALEN 2 0 -1 f f i f f));
-DATA(insert OID = 0 ( 1216 rcbin 25 0 -1 3 0 -1 f f i f f));
-DATA(insert OID = 0 ( 1216 rcsrc 25 0 -1 4 0 -1 f f i f f));
-DATA(insert OID = 0 ( 1216 ctid 27 0 6 -1 0 -1 f f i f f));
-DATA(insert OID = 0 ( 1216 oid 26 0 4 -2 0 -1 t f i f f));
-DATA(insert OID = 0 ( 1216 xmin 28 0 4 -3 0 -1 f f i f f));
-DATA(insert OID = 0 ( 1216 cmin 29 0 4 -4 0 -1 t f i f f));
-DATA(insert OID = 0 ( 1216 xmax 28 0 4 -5 0 -1 f f i f f));
-DATA(insert OID = 0 ( 1216 cmax 29 0 4 -6 0 -1 t f i f f));
+DATA(insert OID = 0 ( 1216 rcrelid 26 0 4 1 0 -1 0 t f i f f));
+DATA(insert OID = 0 ( 1216 rcname 19 0 NAMEDATALEN 2 0 -1 0 f f i f f));
+DATA(insert OID = 0 ( 1216 rcbin 25 0 -1 3 0 -1 0 f f i f f));
+DATA(insert OID = 0 ( 1216 rcsrc 25 0 -1 4 0 -1 0 f f i f f));
+DATA(insert OID = 0 ( 1216 ctid 27 0 6 -1 0 -1 0 f f i f f));
+DATA(insert OID = 0 ( 1216 oid 26 0 4 -2 0 -1 0 t f i f f));
+DATA(insert OID = 0 ( 1216 xmin 28 0 4 -3 0 -1 0 f f i f f));
+DATA(insert OID = 0 ( 1216 cmin 29 0 4 -4 0 -1 0 t f i f f));
+DATA(insert OID = 0 ( 1216 xmax 28 0 4 -5 0 -1 0 f f i f f));
+DATA(insert OID = 0 ( 1216 cmax 29 0 4 -6 0 -1 0 t f i f f));
/* ----------------
* pg_trigger
* ----------------
*/
-DATA(insert OID = 0 ( 1219 tgrelid 26 0 4 1 0 -1 t f i f f));
-DATA(insert OID = 0 ( 1219 tgname 19 0 NAMEDATALEN 2 0 -1 f f i f f));
-DATA(insert OID = 0 ( 1219 tgfoid 26 0 4 3 0 -1 t f i f f));
-DATA(insert OID = 0 ( 1219 tgtype 21 0 2 4 0 -1 t f s f f));
-DATA(insert OID = 0 ( 1219 tgnargs 21 0 2 5 0 -1 t f s f f));
-DATA(insert OID = 0 ( 1219 tgattr 22 0 16 6 0 -1 f f i f f));
-DATA(insert OID = 0 ( 1219 tgargs 17 0 -1 7 0 -1 f f i f f));
-DATA(insert OID = 0 ( 1219 ctid 27 0 6 -1 0 -1 f f i f f));
-DATA(insert OID = 0 ( 1219 oid 26 0 4 -2 0 -1 t f i f f));
-DATA(insert OID = 0 ( 1219 xmin 28 0 4 -3 0 -1 f f i f f));
-DATA(insert OID = 0 ( 1219 cmin 29 0 4 -4 0 -1 t f i f f));
-DATA(insert OID = 0 ( 1219 xmax 28 0 4 -5 0 -1 f f i f f));
-DATA(insert OID = 0 ( 1219 cmax 29 0 4 -6 0 -1 t f i f f));
+DATA(insert OID = 0 ( 1219 tgrelid 26 0 4 1 0 -1 0 t f i f f));
+DATA(insert OID = 0 ( 1219 tgname 19 0 NAMEDATALEN 2 0 -1 0 f f i f f));
+DATA(insert OID = 0 ( 1219 tgfoid 26 0 4 3 0 -1 0 t f i f f));
+DATA(insert OID = 0 ( 1219 tgtype 21 0 2 4 0 -1 0 t f s f f));
+DATA(insert OID = 0 ( 1219 tgnargs 21 0 2 5 0 -1 0 t f s f f));
+DATA(insert OID = 0 ( 1219 tgattr 22 0 16 6 0 -1 0 f f i f f));
+DATA(insert OID = 0 ( 1219 tgargs 17 0 -1 7 0 -1 0 f f i f f));
+DATA(insert OID = 0 ( 1219 ctid 27 0 6 -1 0 -1 0 f f i f f));
+DATA(insert OID = 0 ( 1219 oid 26 0 4 -2 0 -1 0 t f i f f));
+DATA(insert OID = 0 ( 1219 xmin 28 0 4 -3 0 -1 0 f f i f f));
+DATA(insert OID = 0 ( 1219 cmin 29 0 4 -4 0 -1 0 t f i f f));
+DATA(insert OID = 0 ( 1219 xmax 28 0 4 -5 0 -1 0 f f i f f));
+DATA(insert OID = 0 ( 1219 cmax 29 0 4 -6 0 -1 0 t f i f f));
/* ----------------
* pg_variable - this relation is modified by special purpose access
@@ -439,9 +443,9 @@ DATA(insert OID = 0 ( 1219 cmax 29 0 4 -6 0 -1 t f i f f));
* ----------------
*/
#define Schema_pg_variable \
-{ 1264l, {"varfoo"}, 26l, 0l, 4, 1, 0l, -1l, '\001', '\0', 'i', '\0', '\0' }
+{ 1264l, {"varfoo"}, 26l, 0l, 4, 1, 0l, -1l, 0, '\001', '\0', 'i', '\0', '\0' }
-DATA(insert OID = 0 ( 1264 varfoo 26 0 4 1 0 -1 t f i f f));
+DATA(insert OID = 0 ( 1264 varfoo 26 0 4 1 0 -1 0 t f i f f));
/* ----------------
* pg_log - this relation is modified by special purpose access
@@ -450,8 +454,8 @@ DATA(insert OID = 0 ( 1264 varfoo 26 0 4 1 0 -1 t f i f f));
* ----------------
*/
#define Schema_pg_log \
-{ 1269l, {"logfoo"}, 26l, 0l, 4, 1, 0l, -1l, '\001', '\0', 'i', '\0', '\0' }
+{ 1269l, {"logfoo"}, 26l, 0l, 4, 1, 0l, -1l, 0, '\001', '\0', 'i', '\0', '\0' }
-DATA(insert OID = 0 ( 1269 logfoo 26 0 4 1 0 -1 t f i f f));
+DATA(insert OID = 0 ( 1269 logfoo 26 0 4 1 0 -1 0 t f i f f));
#endif /* PG_ATTRIBUTE_H */
diff --git a/src/include/catalog/pg_class.h b/src/include/catalog/pg_class.h
index 7c0ee50fec9..b70ceba2cee 100644
--- a/src/include/catalog/pg_class.h
+++ b/src/include/catalog/pg_class.h
@@ -7,7 +7,7 @@
*
* Copyright (c) 1994, Regents of the University of California
*
- * $Id: pg_class.h,v 1.17 1997/12/04 00:27:50 scrappy Exp $
+ * $Id: pg_class.h,v 1.18 1998/01/16 23:20:52 momjian Exp $
*
* NOTES
* ``pg_relation'' is being replaced by ``pg_class''. currently
@@ -119,11 +119,11 @@ typedef FormData_pg_class *Form_pg_class;
DATA(insert OID = 1247 ( pg_type 71 PGUID 0 0 0 f f r 16 0 0 f _null_ ));
DESCR("");
-DATA(insert OID = 1249 ( pg_attribute 75 PGUID 0 0 0 f f r 16 0 0 f _null_ ));
+DATA(insert OID = 1249 ( pg_attribute 75 PGUID 0 0 0 f f r 14 0 0 f _null_ ));
DESCR("");
DATA(insert OID = 1255 ( pg_proc 81 PGUID 0 0 0 f f r 16 0 0 f _null_ ));
DESCR("");
-DATA(insert OID = 1259 ( pg_class 83 PGUID 0 0 0 f f r 18 0 0 f _null_ ));
+DATA(insert OID = 1259 ( pg_class 83 PGUID 0 0 0 f f r 14 0 0 f _null_ ));
DESCR("");
DATA(insert OID = 1260 ( pg_user 86 PGUID 0 0 0 f t r 8 0 0 f _null_ ));
DESCR("");
diff --git a/src/include/nodes/parsenodes.h b/src/include/nodes/parsenodes.h
index c56363ddf0c..02fa069df61 100644
--- a/src/include/nodes/parsenodes.h
+++ b/src/include/nodes/parsenodes.h
@@ -6,7 +6,7 @@
*
* Copyright (c) 1994, Regents of the University of California
*
- * $Id: parsenodes.h,v 1.44 1998/01/15 19:00:11 momjian Exp $
+ * $Id: parsenodes.h,v 1.45 1998/01/16 23:20:55 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@@ -642,8 +642,8 @@ typedef struct TypeName
char *name; /* name of the type */
bool timezone; /* timezone specified? */
bool setof; /* is a set? */
+ int2 typmod; /* type modifier */
List *arrayBounds; /* array bounds */
- int typlen; /* length for char() and varchar() */
} TypeName;
/*
diff --git a/src/include/parser/parse_expr.h b/src/include/parser/parse_expr.h
index ba8eed9c814..42cbe9c4616 100644
--- a/src/include/parser/parse_expr.h
+++ b/src/include/parser/parse_expr.h
@@ -6,7 +6,7 @@
*
* Copyright (c) 1994, Regents of the University of California
*
- * $Id: parse_expr.h,v 1.4 1998/01/04 04:31:41 momjian Exp $
+ * $Id: parse_expr.h,v 1.5 1998/01/16 23:21:01 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@@ -23,7 +23,7 @@ extern Node *transformIdent(ParseState *pstate, Node *expr, int precedence);
extern Oid exprType(Node *expr);
extern Node *handleNestedDots(ParseState *pstate, Attr *attr,
int *curr_resno, int precedence);
-extern Node *parser_typecast2(Node *expr, Oid exprType, Type tp, int typlen);
+extern Node *parser_typecast2(Node *expr, Oid exprType, Type tp, int attypmod);
#endif /* PARSE_EXPR_H */
diff --git a/src/include/parser/parse_type.h b/src/include/parser/parse_type.h
index fa2025994c7..22a81c4994f 100644
--- a/src/include/parser/parse_type.h
+++ b/src/include/parser/parse_type.h
@@ -6,7 +6,7 @@
*
* Copyright (c) 1994, Regents of the University of California
*
- * $Id: parse_type.h,v 1.2 1997/11/26 01:14:14 momjian Exp $
+ * $Id: parse_type.h,v 1.3 1998/01/16 23:21:03 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@@ -26,7 +26,7 @@ extern int16 typeLen(Type t);
extern bool typeByVal(Type t);
extern char *typeTypeName(Type t);
extern char typeTypeFlag(Type t);
-extern char *stringTypeString(Type tp, char *string, int typlen);
+extern char *stringTypeString(Type tp, char *string, int atttypmod);
extern Oid typeidRetoutfunc(Oid type_id);
extern Oid typeidTypeRelid(Oid type_id);
extern Oid typeTypeRelid(Type typ);
diff --git a/src/include/utils/builtins.h b/src/include/utils/builtins.h
index 0c8e5554cb6..b10769ee7d5 100644
--- a/src/include/utils/builtins.h
+++ b/src/include/utils/builtins.h
@@ -6,7 +6,7 @@
*
* Copyright (c) 1994, Regents of the University of California
*
- * $Id: builtins.h,v 1.33 1998/01/01 05:42:40 thomas Exp $
+ * $Id: builtins.h,v 1.34 1998/01/16 23:21:07 momjian Exp $
*
* NOTES
* This should normally only be included by fmgr.h.
@@ -445,7 +445,7 @@ DateTime *timestamp_datetime(time_t timestamp);
time_t datetime_timestamp(DateTime *datetime);
/* varchar.c */
-extern char *bpcharin(char *s, int dummy, int typlen);
+extern char *bpcharin(char *s, int dummy, int atttypmod);
extern char *bpcharout(char *s);
extern bool bpchareq(char *arg1, char *arg2);
extern bool bpcharne(char *arg1, char *arg2);
@@ -457,7 +457,7 @@ extern int32 bpcharcmp(char *arg1, char *arg2);
extern int32 bpcharlen(char *arg);
extern uint32 hashbpchar(struct varlena * key);
-extern char *varcharin(char *s, int dummy, int typlen);
+extern char *varcharin(char *s, int dummy, int atttypmod);
extern char *varcharout(char *s);
extern bool varchareq(char *arg1, char *arg2);
extern bool varcharne(char *arg1, char *arg2);