Commit 0386a50f authored by Bruce Momjian's avatar Bruce Momjian

Pass around typmod as int16.

parent 2a3c589c
...@@ -8,7 +8,7 @@ ...@@ -8,7 +8,7 @@
* *
* *
* IDENTIFICATION * IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/access/common/printtup.c,v 1.24 1998/02/10 04:00:12 momjian Exp $ * $Header: /cvsroot/pgsql/src/backend/access/common/printtup.c,v 1.25 1998/02/10 16:02:44 momjian Exp $
* *
*------------------------------------------------------------------------- *-------------------------------------------------------------------------
*/ */
...@@ -124,7 +124,7 @@ printtup(HeapTuple tuple, TupleDesc typeinfo) ...@@ -124,7 +124,7 @@ printtup(HeapTuple tuple, TupleDesc typeinfo)
{ {
outputstr = fmgr(typoutput, attr, outputstr = fmgr(typoutput, attr,
gettypelem(typeinfo->attrs[i]->atttypid), gettypelem(typeinfo->attrs[i]->atttypid),
(int)typeinfo->attrs[i]->atttypmod); typeinfo->attrs[i]->atttypmod);
pq_putint(strlen(outputstr) + VARHDRSZ, VARHDRSZ); pq_putint(strlen(outputstr) + VARHDRSZ, VARHDRSZ);
pq_putnchar(outputstr, strlen(outputstr)); pq_putnchar(outputstr, strlen(outputstr));
pfree(outputstr); pfree(outputstr);
...@@ -191,7 +191,7 @@ debugtup(HeapTuple tuple, TupleDesc typeinfo) ...@@ -191,7 +191,7 @@ debugtup(HeapTuple tuple, TupleDesc typeinfo)
{ {
value = fmgr(typoutput, attr, value = fmgr(typoutput, attr,
gettypelem(typeinfo->attrs[i]->atttypid), gettypelem(typeinfo->attrs[i]->atttypid),
(int)typeinfo->attrs[i]->atttypmod); typeinfo->attrs[i]->atttypmod);
printatt((unsigned) i + 1, typeinfo->attrs[i], value); printatt((unsigned) i + 1, typeinfo->attrs[i], value);
pfree(value); pfree(value);
} }
......
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
* *
* *
* IDENTIFICATION * IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/access/common/tupdesc.c,v 1.34 1998/02/10 04:00:14 momjian Exp $ * $Header: /cvsroot/pgsql/src/backend/access/common/tupdesc.c,v 1.35 1998/02/10 16:02:46 momjian Exp $
* *
* NOTES * NOTES
* some of the executor utility code such as "ExecTypeFromTL" should be * some of the executor utility code such as "ExecTypeFromTL" should be
...@@ -255,7 +255,7 @@ TupleDescInitEntry(TupleDesc desc, ...@@ -255,7 +255,7 @@ TupleDescInitEntry(TupleDesc desc,
AttrNumber attributeNumber, AttrNumber attributeNumber,
char *attributeName, char *attributeName,
Oid typeid, Oid typeid,
int typmod, int16 typmod,
int attdim, int attdim,
bool attisset) bool attisset)
{ {
...@@ -448,7 +448,7 @@ BuildDescForRelation(List *schema, char *relname) ...@@ -448,7 +448,7 @@ BuildDescForRelation(List *schema, char *relname)
TupleConstr *constr = (TupleConstr *) palloc(sizeof(TupleConstr)); TupleConstr *constr = (TupleConstr *) palloc(sizeof(TupleConstr));
char *attname; char *attname;
char *typename; char *typename;
int atttypmod; int16 atttypmod;
int attdim; int attdim;
int ndef = 0; int ndef = 0;
bool attisset; bool attisset;
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
* *
* *
* IDENTIFICATION * IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/commands/copy.c,v 1.40 1998/01/31 04:38:18 momjian Exp $ * $Header: /cvsroot/pgsql/src/backend/commands/copy.c,v 1.41 1998/02/10 16:02:51 momjian Exp $
* *
*------------------------------------------------------------------------- *-------------------------------------------------------------------------
*/ */
...@@ -205,6 +205,7 @@ CopyTo(Relation rel, bool binary, bool oids, FILE *fp, char *delim) ...@@ -205,6 +205,7 @@ CopyTo(Relation rel, bool binary, bool oids, FILE *fp, char *delim)
FmgrInfo *out_functions; FmgrInfo *out_functions;
Oid out_func_oid; Oid out_func_oid;
Oid *elements; Oid *elements;
int16 *typmod;
Datum value; Datum value;
bool isnull; /* The attribute we are copying is null */ bool isnull; /* The attribute we are copying is null */
char *nulls; char *nulls;
...@@ -230,11 +231,13 @@ CopyTo(Relation rel, bool binary, bool oids, FILE *fp, char *delim) ...@@ -230,11 +231,13 @@ CopyTo(Relation rel, bool binary, bool oids, FILE *fp, char *delim)
{ {
out_functions = (FmgrInfo *) palloc(attr_count * sizeof(FmgrInfo)); out_functions = (FmgrInfo *) palloc(attr_count * sizeof(FmgrInfo));
elements = (Oid *) palloc(attr_count * sizeof(Oid)); elements = (Oid *) palloc(attr_count * sizeof(Oid));
typmod = (int16 *) palloc(attr_count * sizeof(int16));
for (i = 0; i < attr_count; i++) for (i = 0; i < attr_count; i++)
{ {
out_func_oid = (Oid) GetOutputFunction(attr[i]->atttypid); out_func_oid = (Oid) GetOutputFunction(attr[i]->atttypid);
fmgr_info(out_func_oid, &out_functions[i]); fmgr_info(out_func_oid, &out_functions[i]);
elements[i] = GetTypeElement(attr[i]->atttypid); elements[i] = GetTypeElement(attr[i]->atttypid);
typmod[i] = attr[i]->atttypmod;
} }
nulls = NULL; /* meaningless, but compiler doesn't know nulls = NULL; /* meaningless, but compiler doesn't know
* that */ * that */
...@@ -242,6 +245,7 @@ CopyTo(Relation rel, bool binary, bool oids, FILE *fp, char *delim) ...@@ -242,6 +245,7 @@ CopyTo(Relation rel, bool binary, bool oids, FILE *fp, char *delim)
else else
{ {
elements = NULL; elements = NULL;
typmod = NULL;
out_functions = NULL; out_functions = NULL;
nulls = (char *) palloc(attr_count); nulls = (char *) palloc(attr_count);
for (i = 0; i < attr_count; i++) for (i = 0; i < attr_count; i++)
...@@ -271,7 +275,8 @@ CopyTo(Relation rel, bool binary, bool oids, FILE *fp, char *delim) ...@@ -271,7 +275,8 @@ CopyTo(Relation rel, bool binary, bool oids, FILE *fp, char *delim)
{ {
if (!isnull) if (!isnull)
{ {
string = (char *) (*fmgr_faddr(&out_functions[i])) (value, elements[i]); string = (char *) (*fmgr_faddr(&out_functions[i]))
(value, elements[i], typmod[i]);
CopyAttributeOut(fp, string, delim); CopyAttributeOut(fp, string, delim);
pfree(string); pfree(string);
} }
...@@ -345,6 +350,7 @@ CopyTo(Relation rel, bool binary, bool oids, FILE *fp, char *delim) ...@@ -345,6 +350,7 @@ CopyTo(Relation rel, bool binary, bool oids, FILE *fp, char *delim)
{ {
pfree(out_functions); pfree(out_functions);
pfree(elements); pfree(elements);
pfree(typmod);
} }
heap_close(rel); heap_close(rel);
...@@ -376,6 +382,7 @@ CopyFrom(Relation rel, bool binary, bool oids, FILE *fp, char *delim) ...@@ -376,6 +382,7 @@ CopyFrom(Relation rel, bool binary, bool oids, FILE *fp, char *delim)
tuples_read = 0; tuples_read = 0;
bool reading_to_eof = true; bool reading_to_eof = true;
Oid *elements; Oid *elements;
int16 *typmod;
FuncIndexInfo *finfo, FuncIndexInfo *finfo,
**finfoP = NULL; **finfoP = NULL;
TupleDesc *itupdescArr; TupleDesc *itupdescArr;
...@@ -498,17 +505,20 @@ CopyFrom(Relation rel, bool binary, bool oids, FILE *fp, char *delim) ...@@ -498,17 +505,20 @@ CopyFrom(Relation rel, bool binary, bool oids, FILE *fp, char *delim)
{ {
in_functions = (FmgrInfo *) palloc(attr_count * sizeof(FmgrInfo)); in_functions = (FmgrInfo *) palloc(attr_count * sizeof(FmgrInfo));
elements = (Oid *) palloc(attr_count * sizeof(Oid)); elements = (Oid *) palloc(attr_count * sizeof(Oid));
typmod = (int16 *) palloc(attr_count * sizeof(int16));
for (i = 0; i < attr_count; i++) for (i = 0; i < attr_count; i++)
{ {
in_func_oid = (Oid) GetInputFunction(attr[i]->atttypid); in_func_oid = (Oid) GetInputFunction(attr[i]->atttypid);
fmgr_info(in_func_oid, &in_functions[i]); fmgr_info(in_func_oid, &in_functions[i]);
elements[i] = GetTypeElement(attr[i]->atttypid); elements[i] = GetTypeElement(attr[i]->atttypid);
typmod[i] = attr[i]->atttypmod;
} }
} }
else else
{ {
in_functions = NULL; in_functions = NULL;
elements = NULL; elements = NULL;
typmod = NULL;
fread(&ntuples, sizeof(int32), 1, fp); fread(&ntuples, sizeof(int32), 1, fp);
if (ntuples != 0) if (ntuples != 0)
reading_to_eof = false; reading_to_eof = false;
...@@ -574,7 +584,7 @@ CopyFrom(Relation rel, bool binary, bool oids, FILE *fp, char *delim) ...@@ -574,7 +584,7 @@ CopyFrom(Relation rel, bool binary, bool oids, FILE *fp, char *delim)
values[i] = values[i] =
(Datum) (*fmgr_faddr(&in_functions[i])) (string, (Datum) (*fmgr_faddr(&in_functions[i])) (string,
elements[i], elements[i],
attr[i]->atttypmod); typmod[i]);
/* /*
* Sanity check - by reference attributes cannot * Sanity check - by reference attributes cannot
...@@ -801,9 +811,13 @@ CopyFrom(Relation rel, bool binary, bool oids, FILE *fp, char *delim) ...@@ -801,9 +811,13 @@ CopyFrom(Relation rel, bool binary, bool oids, FILE *fp, char *delim)
done = true; done = true;
} }
pfree(values); pfree(values);
pfree(nulls);
if (!binary) if (!binary)
{
pfree(in_functions); pfree(in_functions);
pfree(nulls); pfree(elements);
pfree(typmod);
}
pfree(byval); pfree(byval);
heap_close(rel); heap_close(rel);
} }
......
...@@ -13,7 +13,7 @@ ...@@ -13,7 +13,7 @@
* columns. (ie. tuples from the same group are consecutive) * columns. (ie. tuples from the same group are consecutive)
* *
* IDENTIFICATION * IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/executor/nodeGroup.c,v 1.15 1998/02/10 04:00:53 momjian Exp $ * $Header: /cvsroot/pgsql/src/backend/executor/nodeGroup.c,v 1.16 1998/02/10 16:02:58 momjian Exp $
* *
*------------------------------------------------------------------------- *-------------------------------------------------------------------------
*/ */
...@@ -418,10 +418,10 @@ sameGroup(TupleTableSlot *oldslot, ...@@ -418,10 +418,10 @@ sameGroup(TupleTableSlot *oldslot,
val1 = fmgr(typoutput, attr1, val1 = fmgr(typoutput, attr1,
gettypelem(tupdesc->attrs[att - 1]->atttypid), gettypelem(tupdesc->attrs[att - 1]->atttypid),
(int)tupdesc->attrs[att - 1]->atttypmod); tupdesc->attrs[att - 1]->atttypmod);
val2 = fmgr(typoutput, attr2, val2 = fmgr(typoutput, attr2,
gettypelem(tupdesc->attrs[att - 1]->atttypid), gettypelem(tupdesc->attrs[att - 1]->atttypid),
(int)tupdesc->attrs[att - 1]->atttypmod); tupdesc->attrs[att - 1]->atttypmod);
/* /*
* now, val1 and val2 are ascii representations so we can use * now, val1 and val2 are ascii representations so we can use
......
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
* *
* *
* IDENTIFICATION * IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/executor/nodeUnique.c,v 1.13 1998/02/10 04:00:55 momjian Exp $ * $Header: /cvsroot/pgsql/src/backend/executor/nodeUnique.c,v 1.14 1998/02/10 16:03:03 momjian Exp $
* *
*------------------------------------------------------------------------- *-------------------------------------------------------------------------
*/ */
...@@ -198,10 +198,10 @@ ExecUnique(Unique *node) ...@@ -198,10 +198,10 @@ ExecUnique(Unique *node)
continue; continue;
val1 = fmgr(typoutput, attr1, val1 = fmgr(typoutput, attr1,
gettypelem(tupDesc->attrs[uniqueAttrNum - 1]->atttypid), gettypelem(tupDesc->attrs[uniqueAttrNum - 1]->atttypid),
(int)tupDesc->attrs[uniqueAttrNum - 1]->atttypmod); tupDesc->attrs[uniqueAttrNum - 1]->atttypmod);
val2 = fmgr(typoutput, attr2, val2 = fmgr(typoutput, attr2,
gettypelem(tupDesc->attrs[uniqueAttrNum - 1]->atttypid), gettypelem(tupDesc->attrs[uniqueAttrNum - 1]->atttypid),
(int)tupDesc->attrs[uniqueAttrNum - 1]->atttypmod); tupDesc->attrs[uniqueAttrNum - 1]->atttypmod);
/* /*
* now, val1 and val2 are ascii representations so we can * now, val1 and val2 are ascii representations so we can
......
...@@ -432,7 +432,7 @@ SPI_getvalue(HeapTuple tuple, TupleDesc tupdesc, int fnumber) ...@@ -432,7 +432,7 @@ SPI_getvalue(HeapTuple tuple, TupleDesc tupdesc, int fnumber)
return (fmgr(foutoid, val, return (fmgr(foutoid, val,
gettypelem(tupdesc->attrs[fnumber - 1]->atttypid), gettypelem(tupdesc->attrs[fnumber - 1]->atttypid),
(int)tupdesc->attrs[fnumber - 1]->atttypmod)); tupdesc->attrs[fnumber - 1]->atttypmod));
} }
Datum Datum
......
...@@ -8,7 +8,7 @@ ...@@ -8,7 +8,7 @@
* *
* *
* IDENTIFICATION * IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/libpq/Attic/be-dumpdata.c,v 1.12 1998/02/10 04:00:58 momjian Exp $ * $Header: /cvsroot/pgsql/src/backend/libpq/Attic/be-dumpdata.c,v 1.13 1998/02/10 16:03:12 momjian Exp $
* *
*------------------------------------------------------------------------- *-------------------------------------------------------------------------
*/ */
...@@ -314,7 +314,7 @@ be_printtup(HeapTuple tuple, TupleDesc typeinfo) ...@@ -314,7 +314,7 @@ be_printtup(HeapTuple tuple, TupleDesc typeinfo)
{ {
values[i] = fmgr(typoutput, attr, values[i] = fmgr(typoutput, attr,
gettypelem(typeinfo->attrs[i]->atttypid), gettypelem(typeinfo->attrs[i]->atttypid),
(int)typeinfo->attrs[i]->atttypmod); typeinfo->attrs[i]->atttypmod);
} }
else else
values[i] = NULL; values[i] = NULL;
......
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
* *
* *
* IDENTIFICATION * IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/nodes/makefuncs.c,v 1.6 1998/02/10 04:00:50 momjian Exp $ * $Header: /cvsroot/pgsql/src/backend/nodes/makefuncs.c,v 1.7 1998/02/10 16:03:17 momjian Exp $
* *
* NOTES * NOTES
* Creator functions in POSTGRES 4.2 are generated automatically. Most of * Creator functions in POSTGRES 4.2 are generated automatically. Most of
...@@ -53,7 +53,7 @@ Var * ...@@ -53,7 +53,7 @@ Var *
makeVar(Index varno, makeVar(Index varno,
AttrNumber varattno, AttrNumber varattno,
Oid vartype, Oid vartype,
int vartypmod, int16 vartypmod,
Index varlevelsup, Index varlevelsup,
Index varnoold, Index varnoold,
AttrNumber varoattno) AttrNumber varoattno)
...@@ -78,7 +78,7 @@ makeVar(Index varno, ...@@ -78,7 +78,7 @@ makeVar(Index varno,
Resdom * Resdom *
makeResdom(AttrNumber resno, makeResdom(AttrNumber resno,
Oid restype, Oid restype,
int restypmod, int16 restypmod,
char *resname, char *resname,
Index reskey, Index reskey,
Oid reskeyop, Oid reskeyop,
......
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
* *
* *
* IDENTIFICATION * IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/nodes/outfuncs.c,v 1.28 1998/02/10 04:00:57 momjian Exp $ * $Header: /cvsroot/pgsql/src/backend/nodes/outfuncs.c,v 1.29 1998/02/10 16:03:21 momjian Exp $
* *
* NOTES * NOTES
* Every (plan) node in POSTGRES has an associated "out" routine which * Every (plan) node in POSTGRES has an associated "out" routine which
...@@ -698,7 +698,7 @@ _outVar(StringInfo str, Var *node) ...@@ -698,7 +698,7 @@ _outVar(StringInfo str, Var *node)
appendStringInfo(str, buf); appendStringInfo(str, buf);
sprintf(buf, " :vartype %u ", node->vartype); sprintf(buf, " :vartype %u ", node->vartype);
appendStringInfo(str, buf); appendStringInfo(str, buf);
sprintf(buf, " :vartypmod %u ", node->vartypmod); sprintf(buf, " :vartypmod %d ", node->vartypmod);
appendStringInfo(str, buf); appendStringInfo(str, buf);
sprintf(buf, " :varlevelsup %u ", node->varlevelsup); sprintf(buf, " :varlevelsup %u ", node->varlevelsup);
appendStringInfo(str, buf); appendStringInfo(str, buf);
......
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
* *
* *
* IDENTIFICATION * IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/nodes/readfuncs.c,v 1.23 1998/02/10 04:01:03 momjian Exp $ * $Header: /cvsroot/pgsql/src/backend/nodes/readfuncs.c,v 1.24 1998/02/10 16:03:23 momjian Exp $
* *
* NOTES * NOTES
* Most of the read functions for plan nodes are tested. (In fact, they * Most of the read functions for plan nodes are tested. (In fact, they
...@@ -816,7 +816,7 @@ _readVar() ...@@ -816,7 +816,7 @@ _readVar()
token = lsptok(NULL, &length); /* eat :vartypmod */ token = lsptok(NULL, &length); /* eat :vartypmod */
token = lsptok(NULL, &length); /* get vartypmod */ token = lsptok(NULL, &length); /* get vartypmod */
local_node->vartypmod = (Oid) atol(token); local_node->vartypmod = atoi(token);
token = lsptok(NULL, &length); /* eat :varlevelsup */ token = lsptok(NULL, &length); /* eat :varlevelsup */
token = lsptok(NULL, &length); /* get varlevelsup */ token = lsptok(NULL, &length); /* get varlevelsup */
......
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
* *
* *
* IDENTIFICATION * IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/parser/parse_expr.c,v 1.18 1998/02/07 06:11:30 momjian Exp $ * $Header: /cvsroot/pgsql/src/backend/parser/parse_expr.c,v 1.19 1998/02/10 16:03:28 momjian Exp $
* *
*------------------------------------------------------------------------- *-------------------------------------------------------------------------
*/ */
...@@ -31,7 +31,7 @@ ...@@ -31,7 +31,7 @@
#include "parser/parse_target.h" #include "parser/parse_target.h"
#include "utils/builtins.h" #include "utils/builtins.h"
static Node *parser_typecast(Value *expr, TypeName *typename, int atttypmod); static Node *parser_typecast(Value *expr, TypeName *typename, int16 atttypmod);
/* /*
* transformExpr - * transformExpr -
...@@ -393,7 +393,7 @@ exprType(Node *expr) ...@@ -393,7 +393,7 @@ exprType(Node *expr)
} }
static Node * static Node *
parser_typecast(Value *expr, TypeName *typename, int atttypmod) parser_typecast(Value *expr, TypeName *typename, int16 atttypmod)
{ {
/* check for passing non-ints */ /* check for passing non-ints */
Const *adt; Const *adt;
...@@ -471,7 +471,7 @@ parser_typecast(Value *expr, TypeName *typename, int atttypmod) ...@@ -471,7 +471,7 @@ parser_typecast(Value *expr, TypeName *typename, int atttypmod)
} }
Node * Node *
parser_typecast2(Node *expr, Oid exprType, Type tp, int atttypmod) parser_typecast2(Node *expr, Oid exprType, Type tp, int16 atttypmod)
{ {
/* check for passing non-ints */ /* check for passing non-ints */
Const *adt; Const *adt;
......
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
* *
* *
* IDENTIFICATION * IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/parser/parse_func.c,v 1.13 1998/02/10 04:01:52 momjian Exp $ * $Header: /cvsroot/pgsql/src/backend/parser/parse_func.c,v 1.14 1998/02/10 16:03:34 momjian Exp $
* *
*------------------------------------------------------------------------- *-------------------------------------------------------------------------
*/ */
...@@ -1056,7 +1056,7 @@ setup_tlist(char *attname, Oid relid) ...@@ -1056,7 +1056,7 @@ setup_tlist(char *attname, Oid relid)
Resdom *resnode; Resdom *resnode;
Var *varnode; Var *varnode;
Oid typeid; Oid typeid;
int type_mod; int16 type_mod;
int attno; int attno;
attno = get_attnum(relid, attname); attno = get_attnum(relid, attname);
......
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
* *
* *
* IDENTIFICATION * IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/parser/parse_node.c,v 1.11 1998/02/10 04:01:55 momjian Exp $ * $Header: /cvsroot/pgsql/src/backend/parser/parse_node.c,v 1.12 1998/02/10 16:03:39 momjian Exp $
* *
*------------------------------------------------------------------------- *-------------------------------------------------------------------------
*/ */
...@@ -246,7 +246,7 @@ make_var(ParseState *pstate, Oid relid, char *refname, ...@@ -246,7 +246,7 @@ make_var(ParseState *pstate, Oid relid, char *refname,
int vnum, int vnum,
attid; attid;
Oid vartypeid; Oid vartypeid;
int type_mod; int16 type_mod;
int sublevels_up; int sublevels_up;
vnum = refnameRangeTablePosn(pstate, refname, &sublevels_up); vnum = refnameRangeTablePosn(pstate, refname, &sublevels_up);
......
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
* *
* *
* IDENTIFICATION * IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/parser/parse_target.c,v 1.8 1998/02/10 04:01:57 momjian Exp $ * $Header: /cvsroot/pgsql/src/backend/parser/parse_target.c,v 1.9 1998/02/10 16:03:41 momjian Exp $
* *
*------------------------------------------------------------------------- *-------------------------------------------------------------------------
*/ */
...@@ -55,7 +55,7 @@ transformTargetList(ParseState *pstate, List *targetlist) ...@@ -55,7 +55,7 @@ transformTargetList(ParseState *pstate, List *targetlist)
{ {
Node *expr; Node *expr;
Oid type_id; Oid type_id;
int type_mod; int16 type_mod;
char *identname; char *identname;
char *resname; char *resname;
...@@ -194,7 +194,7 @@ transformTargetList(ParseState *pstate, List *targetlist) ...@@ -194,7 +194,7 @@ transformTargetList(ParseState *pstate, List *targetlist)
case T_Attr: case T_Attr:
{ {
Oid type_id; Oid type_id;
int type_mod; int16 type_mod;
Attr *att = (Attr *) res->val; Attr *att = (Attr *) res->val;
Node *result; Node *result;
char *attrname; char *attrname;
...@@ -332,7 +332,7 @@ make_targetlist_expr(ParseState *pstate, ...@@ -332,7 +332,7 @@ make_targetlist_expr(ParseState *pstate,
{ {
Oid type_id, Oid type_id,
attrtype; attrtype;
int type_mod, int16 type_mod,
attrtypmod; attrtypmod;
int resdomno; int resdomno;
Relation rd; Relation rd;
......
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
* *
* *
* IDENTIFICATION * IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/parser/parse_type.c,v 1.4 1998/01/16 23:20:23 momjian Exp $ * $Header: /cvsroot/pgsql/src/backend/parser/parse_type.c,v 1.5 1998/02/10 16:03:42 momjian Exp $
* *
*------------------------------------------------------------------------- *-------------------------------------------------------------------------
*/ */
...@@ -136,7 +136,7 @@ typeTypeFlag(Type t) ...@@ -136,7 +136,7 @@ typeTypeFlag(Type t)
/* Given a type structure and a string, returns the internal form of /* Given a type structure and a string, returns the internal form of
that string */ that string */
char * char *
stringTypeString(Type tp, char *string, int atttypmod) stringTypeString(Type tp, char *string, int16 atttypmod)
{ {
Oid op; Oid op;
Oid typelem; Oid typelem;
......
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
* *
* *
* IDENTIFICATION * IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/utils/adt/varchar.c,v 1.26 1998/02/07 06:11:38 momjian Exp $ * $Header: /cvsroot/pgsql/src/backend/utils/adt/varchar.c,v 1.27 1998/02/10 16:03:46 momjian Exp $
* *
*------------------------------------------------------------------------- *-------------------------------------------------------------------------
*/ */
...@@ -50,7 +50,7 @@ ...@@ -50,7 +50,7 @@
* because we pass typelem as the second argument for array_in.) * because we pass typelem as the second argument for array_in.)
*/ */
char * char *
bpcharin(char *s, int dummy, int atttypmod) bpcharin(char *s, int dummy, int16 atttypmod)
{ {
char *result, char *result,
*r; *r;
...@@ -124,7 +124,7 @@ bpcharout(char *s) ...@@ -124,7 +124,7 @@ bpcharout(char *s)
* because we pass typelem as the second argument for array_in.) * because we pass typelem as the second argument for array_in.)
*/ */
char * char *
varcharin(char *s, int dummy, int atttypmod) varcharin(char *s, int dummy, int16 atttypmod)
{ {
char *result; char *result;
int len; int len;
......
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
* *
* *
* IDENTIFICATION * IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/utils/cache/lsyscache.c,v 1.11 1998/01/29 03:23:09 scrappy Exp $ * $Header: /cvsroot/pgsql/src/backend/utils/cache/lsyscache.c,v 1.12 1998/02/10 16:03:51 momjian Exp $
* *
* NOTES * NOTES
* Eventually, the index information should go through here, too. * Eventually, the index information should go through here, too.
...@@ -161,7 +161,7 @@ get_attisset(Oid relid, char *attname) ...@@ -161,7 +161,7 @@ get_attisset(Oid relid, char *attname)
* return the "atttypmod" field from the attribute relation. * return the "atttypmod" field from the attribute relation.
* *
*/ */
int int16
get_atttypmod(Oid relid, AttrNumber attnum) get_atttypmod(Oid relid, AttrNumber attnum)
{ {
FormData_pg_attribute att_tup; FormData_pg_attribute att_tup;
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
* *
* Copyright (c) 1994, Regents of the University of California * Copyright (c) 1994, Regents of the University of California
* *
* $Id: tupdesc.h,v 1.14 1998/02/10 04:02:13 momjian Exp $ * $Id: tupdesc.h,v 1.15 1998/02/10 16:03:57 momjian Exp $
* *
*------------------------------------------------------------------------- *-------------------------------------------------------------------------
*/ */
...@@ -69,7 +69,7 @@ extern bool TupleDescInitEntry(TupleDesc desc, ...@@ -69,7 +69,7 @@ extern bool TupleDescInitEntry(TupleDesc desc,
AttrNumber attributeNumber, AttrNumber attributeNumber,
char *attributeName, char *attributeName,
Oid typeid, Oid typeid,
int typmod, int16 typmod,
int attdim, int attdim,
bool attisset); bool attisset);
......
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
* *
* Copyright (c) 1994, Regents of the University of California * Copyright (c) 1994, Regents of the University of California
* *
* $Id: pg_attribute.h,v 1.26 1998/02/10 04:02:16 momjian Exp $ * $Id: pg_attribute.h,v 1.27 1998/02/10 16:04:03 momjian Exp $
* *
* NOTES * NOTES
* the genbki.sh script reads this file and generates .bki * the genbki.sh script reads this file and generates .bki
...@@ -89,12 +89,6 @@ CATALOG(pg_attribute) BOOTSTRAP ...@@ -89,12 +89,6 @@ CATALOG(pg_attribute) BOOTSTRAP
/* /*
* atttypmod records type-specific modifications supplied at table * atttypmod records type-specific modifications supplied at table
* creation time. * creation time.
* This is not integrated into all areas of the source. It is in
* TypeName to pass typmod info from the parser during table creation
* time, and it is used in the parser when converting a string to a
* typed constant associated with a variable. We also have a hack in
* execMain.c/execUtils.c that uses atttypmod to properly create tables
* for SELECT * INTO TABLE test2 FROM test;
*/ */
bool attbyval; bool attbyval;
......
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
* *
* Copyright (c) 1994, Regents of the University of California * Copyright (c) 1994, Regents of the University of California
* *
* $Id: pg_type.h,v 1.32 1998/02/10 04:02:17 momjian Exp $ * $Id: pg_type.h,v 1.33 1998/02/10 16:04:10 momjian Exp $
* *
* NOTES * NOTES
* the genbki.sh script reads this file and generates .bki * the genbki.sh script reads this file and generates .bki
...@@ -367,7 +367,6 @@ DESCR("limited-range ISO-format date and time"); ...@@ -367,7 +367,6 @@ DESCR("limited-range ISO-format date and time");
#define TIMESTAMPOID 1296 #define TIMESTAMPOID 1296
#define USE_ATTTYPMOD(typeid) ((typeid) == BPCHAROID || (typeid) == VARCHAROID)
#define VARLENA_FIXED_SIZE(attr) ((attr)->atttypid == BPCHAROID && (attr)->atttypmod > 0) #define VARLENA_FIXED_SIZE(attr) ((attr)->atttypid == BPCHAROID && (attr)->atttypmod > 0)
/* /*
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
* *
* Copyright (c) 1994, Regents of the University of California * Copyright (c) 1994, Regents of the University of California
* *
* $Id: makefuncs.h,v 1.8 1998/02/10 04:02:23 momjian Exp $ * $Id: makefuncs.h,v 1.9 1998/02/10 16:04:24 momjian Exp $
* *
*------------------------------------------------------------------------- *-------------------------------------------------------------------------
*/ */
...@@ -25,14 +25,14 @@ extern Oper * makeOper(Oid opno, ...@@ -25,14 +25,14 @@ extern Oper * makeOper(Oid opno,
extern Var * makeVar(Index varno, extern Var * makeVar(Index varno,
AttrNumber varattno, AttrNumber varattno,
Oid vartype, Oid vartype,
int vartypmod, int16 vartypmod,
Index varlevelsup, Index varlevelsup,
Index varnoold, Index varnoold,
AttrNumber varoattno); AttrNumber varoattno);
extern Resdom * makeResdom(AttrNumber resno, extern Resdom * makeResdom(AttrNumber resno,
Oid restype, Oid restype,
int restypmod, int16 restypmod,
char *resname, char *resname,
Index reskey, Index reskey,
Oid reskeyop, Oid reskeyop,
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
* *
* Copyright (c) 1994, Regents of the University of California * Copyright (c) 1994, Regents of the University of California
* *
* $Id: parsenodes.h,v 1.46 1998/01/17 04:53:40 momjian Exp $ * $Id: parsenodes.h,v 1.47 1998/02/10 16:04:26 momjian Exp $
* *
*------------------------------------------------------------------------- *-------------------------------------------------------------------------
*/ */
...@@ -643,7 +643,7 @@ typedef struct TypeName ...@@ -643,7 +643,7 @@ typedef struct TypeName
char *name; /* name of the type */ char *name; /* name of the type */
bool timezone; /* timezone specified? */ bool timezone; /* timezone specified? */
bool setof; /* is a set? */ bool setof; /* is a set? */
int2 typmod; /* type modifier */ int16 typmod; /* type modifier */
List *arrayBounds; /* array bounds */ List *arrayBounds; /* array bounds */
} TypeName; } TypeName;
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
* *
* Copyright (c) 1994, Regents of the University of California * Copyright (c) 1994, Regents of the University of California
* *
* $Id: primnodes.h,v 1.17 1998/02/10 04:02:32 momjian Exp $ * $Id: primnodes.h,v 1.18 1998/02/10 16:04:27 momjian Exp $
* *
*------------------------------------------------------------------------- *-------------------------------------------------------------------------
*/ */
...@@ -41,7 +41,7 @@ typedef struct Resdom ...@@ -41,7 +41,7 @@ typedef struct Resdom
NodeTag type; NodeTag type;
AttrNumber resno; AttrNumber resno;
Oid restype; Oid restype;
int restypmod; int16 restypmod;
char *resname; char *resname;
Index reskey; Index reskey;
Oid reskeyop; Oid reskeyop;
...@@ -124,7 +124,7 @@ typedef struct Var ...@@ -124,7 +124,7 @@ typedef struct Var
Index varno; Index varno;
AttrNumber varattno; AttrNumber varattno;
Oid vartype; Oid vartype;
int vartypmod; int16 vartypmod;
Index varlevelsup; /* erased by upper optimizer */ Index varlevelsup; /* erased by upper optimizer */
Index varnoold; /* only used by optimizer */ Index varnoold; /* only used by optimizer */
AttrNumber varoattno; /* only used by optimizer */ AttrNumber varoattno; /* only used by optimizer */
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
* *
* Copyright (c) 1994, Regents of the University of California * Copyright (c) 1994, Regents of the University of California
* *
* $Id: parse_expr.h,v 1.6 1998/01/20 05:04:47 momjian Exp $ * $Id: parse_expr.h,v 1.7 1998/02/10 16:04:30 momjian Exp $
* *
*------------------------------------------------------------------------- *-------------------------------------------------------------------------
*/ */
...@@ -21,7 +21,7 @@ ...@@ -21,7 +21,7 @@
extern Node *transformExpr(ParseState *pstate, Node *expr, int precedence); extern Node *transformExpr(ParseState *pstate, Node *expr, int precedence);
extern Node *transformIdent(ParseState *pstate, Node *expr, int precedence); extern Node *transformIdent(ParseState *pstate, Node *expr, int precedence);
extern Oid exprType(Node *expr); extern Oid exprType(Node *expr);
extern Node *parser_typecast2(Node *expr, Oid exprType, Type tp, int attypmod); extern Node *parser_typecast2(Node *expr, Oid exprType, Type tp, int16 attypmod);
#endif /* PARSE_EXPR_H */ #endif /* PARSE_EXPR_H */
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
* *
* Copyright (c) 1994, Regents of the University of California * Copyright (c) 1994, Regents of the University of California
* *
* $Id: parse_type.h,v 1.3 1998/01/16 23:21:03 momjian Exp $ * $Id: parse_type.h,v 1.4 1998/02/10 16:04:32 momjian Exp $
* *
*------------------------------------------------------------------------- *-------------------------------------------------------------------------
*/ */
...@@ -26,7 +26,7 @@ extern int16 typeLen(Type t); ...@@ -26,7 +26,7 @@ extern int16 typeLen(Type t);
extern bool typeByVal(Type t); extern bool typeByVal(Type t);
extern char *typeTypeName(Type t); extern char *typeTypeName(Type t);
extern char typeTypeFlag(Type t); extern char typeTypeFlag(Type t);
extern char *stringTypeString(Type tp, char *string, int atttypmod); extern char *stringTypeString(Type tp, char *string, int16 atttypmod);
extern Oid typeidRetoutfunc(Oid type_id); extern Oid typeidRetoutfunc(Oid type_id);
extern Oid typeidTypeRelid(Oid type_id); extern Oid typeidTypeRelid(Oid type_id);
extern Oid typeTypeRelid(Type typ); extern Oid typeTypeRelid(Type typ);
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
* *
* Copyright (c) 1994, Regents of the University of California * Copyright (c) 1994, Regents of the University of California
* *
* $Id: builtins.h,v 1.35 1998/02/02 03:11:37 scrappy Exp $ * $Id: builtins.h,v 1.36 1998/02/10 16:04:36 momjian Exp $
* *
* NOTES * NOTES
* This should normally only be included by fmgr.h. * This should normally only be included by fmgr.h.
...@@ -445,7 +445,7 @@ DateTime *timestamp_datetime(time_t timestamp); ...@@ -445,7 +445,7 @@ DateTime *timestamp_datetime(time_t timestamp);
time_t datetime_timestamp(DateTime *datetime); time_t datetime_timestamp(DateTime *datetime);
/* varchar.c */ /* varchar.c */
extern char *bpcharin(char *s, int dummy, int atttypmod); extern char *bpcharin(char *s, int dummy, int16 atttypmod);
extern char *bpcharout(char *s); extern char *bpcharout(char *s);
extern bool bpchareq(char *arg1, char *arg2); extern bool bpchareq(char *arg1, char *arg2);
extern bool bpcharne(char *arg1, char *arg2); extern bool bpcharne(char *arg1, char *arg2);
...@@ -457,7 +457,7 @@ extern int32 bpcharcmp(char *arg1, char *arg2); ...@@ -457,7 +457,7 @@ extern int32 bpcharcmp(char *arg1, char *arg2);
extern int32 bpcharlen(char *arg); extern int32 bpcharlen(char *arg);
extern uint32 hashbpchar(struct varlena * key); extern uint32 hashbpchar(struct varlena * key);
extern char *varcharin(char *s, int dummy, int atttypmod); extern char *varcharin(char *s, int dummy, int16 atttypmod);
extern char *varcharout(char *s); extern char *varcharout(char *s);
extern bool varchareq(char *arg1, char *arg2); extern bool varchareq(char *arg1, char *arg2);
extern bool varcharne(char *arg1, char *arg2); extern bool varcharne(char *arg1, char *arg2);
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
* *
* Copyright (c) 1994, Regents of the University of California * Copyright (c) 1994, Regents of the University of California
* *
* $Id: lsyscache.h,v 1.8 1998/01/24 22:50:48 momjian Exp $ * $Id: lsyscache.h,v 1.9 1998/02/10 16:04:38 momjian Exp $
* *
*------------------------------------------------------------------------- *-------------------------------------------------------------------------
*/ */
...@@ -21,7 +21,7 @@ extern char *get_attname(Oid relid, AttrNumber attnum); ...@@ -21,7 +21,7 @@ extern char *get_attname(Oid relid, AttrNumber attnum);
extern AttrNumber get_attnum(Oid relid, char *attname); extern AttrNumber get_attnum(Oid relid, char *attname);
extern Oid get_atttype(Oid relid, AttrNumber attnum); extern Oid get_atttype(Oid relid, AttrNumber attnum);
extern bool get_attisset(Oid relid, char *attname); extern bool get_attisset(Oid relid, char *attname);
extern int get_atttypmod(Oid relid, AttrNumber attnum); extern int16 get_atttypmod(Oid relid, AttrNumber attnum);
extern RegProcedure get_opcode(Oid opid); extern RegProcedure get_opcode(Oid opid);
extern char *get_opname(Oid opid); extern char *get_opname(Oid opid);
extern bool op_mergesortable(Oid opid, Oid ltype, Oid rtype, extern bool op_mergesortable(Oid opid, Oid ltype, Oid rtype,
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment