diff --git a/src/backend/catalog/index.c b/src/backend/catalog/index.c index d0171a93a8..e6e87be728 100644 --- a/src/backend/catalog/index.c +++ b/src/backend/catalog/index.c @@ -8,7 +8,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/catalog/index.c,v 1.150 2001/05/16 22:36:03 momjian Exp $ + * $Header: /cvsroot/pgsql/src/backend/catalog/index.c,v 1.151 2001/05/18 22:35:50 momjian Exp $ * * * INTERFACE ROUTINES @@ -2175,12 +2175,12 @@ reindex_relation(Oid relid, bool force) heap_endscan(scan); heap_close(indexRelation, AccessShareLock); if (reindexed) + { /* * Ok,we could use the reindexed indexes of the target system * relation now. */ - { if (deactivate_needed) { if (!overwrite && relid == RelOid_pg_class) diff --git a/src/backend/parser/parse_expr.c b/src/backend/parser/parse_expr.c index 509f1921f9..786be98520 100644 --- a/src/backend/parser/parse_expr.c +++ b/src/backend/parser/parse_expr.c @@ -8,7 +8,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/parser/parse_expr.c,v 1.93 2001/05/18 21:24:19 momjian Exp $ + * $Header: /cvsroot/pgsql/src/backend/parser/parse_expr.c,v 1.94 2001/05/18 22:35:50 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -173,7 +173,7 @@ transformExpr(ParseState *pstate, Node *expr, int precedence) a->lexpr, precedence); - result = ParseFuncOrColumn(pstate, + result = ParseColumnOrFunc(pstate, "nullvalue", makeList1(lexpr), false, false, @@ -186,7 +186,7 @@ transformExpr(ParseState *pstate, Node *expr, int precedence) a->lexpr, precedence); - result = ParseFuncOrColumn(pstate, + result = ParseColumnOrFunc(pstate, "nonnullvalue", makeList1(lexpr), false, false, @@ -273,7 +273,7 @@ transformExpr(ParseState *pstate, Node *expr, int precedence) lfirst(args) = transformExpr(pstate, (Node *) lfirst(args), precedence); - result = ParseFuncOrColumn(pstate, + result = ParseColumnOrFunc(pstate, fn->funcname, fn->args, fn->agg_star, diff --git a/src/backend/parser/parse_func.c b/src/backend/parser/parse_func.c index a609a30c0e..cca77a3cc2 100644 --- a/src/backend/parser/parse_func.c +++ b/src/backend/parser/parse_func.c @@ -8,7 +8,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/parser/parse_func.c,v 1.103 2001/05/18 21:24:19 momjian Exp $ + * $Header: /cvsroot/pgsql/src/backend/parser/parse_func.c,v 1.104 2001/05/18 22:35:50 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -75,7 +75,7 @@ ParseNestedFuncOrColumn(ParseState *pstate, Attr *attr, int precedence) (Node *) attr->paramNo, EXPR_RELATION_FIRST); - retval = ParseFuncOrColumn(pstate, strVal(lfirst(attr->attrs)), + retval = ParseColumnOrFunc(pstate, strVal(lfirst(attr->attrs)), makeList1(param), false, false, precedence); @@ -86,7 +86,7 @@ ParseNestedFuncOrColumn(ParseState *pstate, Attr *attr, int precedence) ident->name = attr->relname; ident->isRel = TRUE; - retval = ParseFuncOrColumn(pstate, strVal(lfirst(attr->attrs)), + retval = ParseColumnOrFunc(pstate, strVal(lfirst(attr->attrs)), makeList1(ident), false, false, precedence); @@ -95,7 +95,7 @@ ParseNestedFuncOrColumn(ParseState *pstate, Attr *attr, int precedence) /* Do more attributes follow this one? */ foreach(mutator_iter, lnext(attr->attrs)) { - retval = ParseFuncOrColumn(pstate, strVal(lfirst(mutator_iter)), + retval = ParseColumnOrFunc(pstate, strVal(lfirst(mutator_iter)), makeList1(retval), false, false, precedence); @@ -235,10 +235,13 @@ agg_select_candidate(Oid typeid, CandidateList candidates) /* - * parse function + * parse function + * This code is confusing code because the database can accept relation.column + * column.function, or relation.column.function. + * Funcname is the first parameter, and fargs are the rest. */ Node * -ParseFuncOrColumn(ParseState *pstate, char *funcname, List *fargs, +ParseColumnOrFunc(ParseState *pstate, char *funcname, List *fargs, bool agg_star, bool agg_distinct, int precedence) { @@ -486,7 +489,7 @@ ParseFuncOrColumn(ParseState *pstate, char *funcname, List *fargs, } else { - elog(ERROR, "ParseFuncOrColumn: unexpected node type %d", + elog(ERROR, "ParseColumnOrFunc: unexpected node type %d", nodeTag(rteorjoin)); rte = NULL; /* keep compiler quiet */ } @@ -1535,7 +1538,7 @@ make_arguments(ParseState *pstate, /* ** setup_field_select ** Build a FieldSelect node that says which attribute to project to. - ** This routine is called by ParseFuncOrColumn() when we have found + ** This routine is called by ParseColumnOrFunc() when we have found ** a projection on a function result or parameter. */ static FieldSelect * diff --git a/src/backend/utils/adt/format_type.c b/src/backend/utils/adt/format_type.c index b499024550..e346d8d46a 100644 --- a/src/backend/utils/adt/format_type.c +++ b/src/backend/utils/adt/format_type.c @@ -8,7 +8,7 @@ * Portions Copyright (c) 1994, Regents of the University of California * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/utils/adt/format_type.c,v 1.10 2001/03/22 03:59:50 momjian Exp $ + * $Header: /cvsroot/pgsql/src/backend/utils/adt/format_type.c,v 1.11 2001/05/18 22:35:51 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -174,11 +174,11 @@ format_type_internal(Oid type_oid, int32 typemod) break; case TIMETZOID: - buf = pstrdup("time with time zone"); + buf = pstrdup("time & time zone"); break; case TIMESTAMPOID: - buf = pstrdup("timestamp with time zone"); + buf = pstrdup("timestamp & time zone"); break; case VARBITOID: diff --git a/src/include/parser/parse_func.h b/src/include/parser/parse_func.h index 7e0b3f7752..5ff0dd510c 100644 --- a/src/include/parser/parse_func.h +++ b/src/include/parser/parse_func.h @@ -7,7 +7,7 @@ * Portions Copyright (c) 1996-2001, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * - * $Id: parse_func.h,v 1.29 2001/03/22 04:00:57 momjian Exp $ + * $Id: parse_func.h,v 1.30 2001/05/18 22:35:51 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -40,7 +40,7 @@ typedef struct _CandidateList extern Node *ParseNestedFuncOrColumn(ParseState *pstate, Attr *attr, int precedence); -extern Node *ParseFuncOrColumn(ParseState *pstate, +extern Node *ParseColumnOrFunc(ParseState *pstate, char *funcname, List *fargs, bool agg_star, bool agg_distinct, int precedence);