diff options
author | Bruce Momjian <bruce@momjian.us> | 1998-01-16 23:21:07 +0000 |
---|---|---|
committer | Bruce Momjian <bruce@momjian.us> | 1998-01-16 23:21:07 +0000 |
commit | c65ea0e040f08b59407cd74f8f0f0dd190169d46 (patch) | |
tree | 5d46c03cb5ddd61ed5e0693b261965cb2fae8b95 /src/backend/parser/parse_expr.c | |
parent | d7427e4802fd4d7108e37544115cab83c13172ab (diff) | |
download | postgresql-c65ea0e040f08b59407cd74f8f0f0dd190169d46.tar.gz postgresql-c65ea0e040f08b59407cd74f8f0f0dd190169d46.zip |
New pg_attribute.atttypmod for type-specific information like
varchar length.
Cleans up code so attlen is always length.
Removed varchar() hack added earlier.
Will fix bug in selecting varchar() fields, and varchar() can be
variable length.
Diffstat (limited to 'src/backend/parser/parse_expr.c')
-rw-r--r-- | src/backend/parser/parse_expr.c | 13 |
1 files changed, 6 insertions, 7 deletions
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)) { |