From 6159ba3ab12c1aed7729497ed8a03b6a0a915f43 Mon Sep 17 00:00:00 2001 From: Bruce Momjian Date: Sun, 1 Feb 1998 19:43:54 +0000 Subject: [PATCH] AIX patch from Darren King and Univel patch from Billy Allie, mostly related to grammar and parser issues, with one postmaster fix. --- src/backend/parser/gram.y | 14 +++++++------- src/backend/parser/parse_expr.c | 9 ++++----- src/backend/tcop/postgres.c | 6 +++--- src/backend/utils/adt/nabstime.c | 8 ++------ 4 files changed, 16 insertions(+), 21 deletions(-) diff --git a/src/backend/parser/gram.y b/src/backend/parser/gram.y index 1e0168156e..70236c7d10 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.99 1998/01/25 04:12:28 scrappy Exp $ + * $Header: /cvsroot/pgsql/src/backend/parser/gram.y,v 1.100 1998/02/01 19:43:34 momjian Exp $ * * HISTORY * AUTHOR DATE MAJOR EVENT @@ -125,8 +125,6 @@ Oid param_type(int t); /* used in parse_expr.c */ ExplainStmt, VariableSetStmt, VariableShowStmt, VariableResetStmt, CreateUserStmt, AlterUserStmt, DropUserStmt -%type - %type opt_database, location %type user_createdb_clause, user_createuser_clause @@ -261,7 +259,7 @@ Oid param_type(int t); /* used in parse_expr.c */ SECOND_P, SELECT, SET, SUBSTRING, TABLE, TIME, TIMESTAMP, TO, TRAILING, TRANSACTION, TRIM, UNION, UNIQUE, UPDATE, USING, - VALUES, VARCHAR, VARYING, VERBOSE, VERSION, VIEW, + VALUES, VARCHAR, VARYING, VIEW, WHERE, WITH, WORK, YEAR_P, ZONE /* Keywords (in SQL3 reserved words) */ @@ -2222,7 +2220,7 @@ LockStmt: LOCK_P relation_name c->typename->name = xlateSqlType("bool"); n->relname = $2; - n->whereClause = c; + n->whereClause = (Node *)c; $$ = (Node *)n; } ; @@ -3284,8 +3282,9 @@ a_expr: attr opt_indirection makeA_Expr(OP, "<", $1, $4), makeA_Expr(OP, ">", $1, $6)); } - | a_expr IN { saved_In_Expr = lcons($1,saved_In_Expr); } '(' in_expr ')' { saved_In_Expr = lnext(saved_In_Expr); } + | a_expr IN { saved_In_Expr = lcons($1,saved_In_Expr); } '(' in_expr ')' { + saved_In_Expr = lnext(saved_In_Expr); if (nodeTag($5) == T_SubLink) { SubLink *n = (SubLink *)$5; @@ -3297,8 +3296,9 @@ a_expr: attr opt_indirection } else $$ = $5; } - | a_expr NOT IN { saved_In_Expr = lcons($1,saved_In_Expr); } '(' not_in_expr ')' { saved_In_Expr = lnext(saved_In_Expr); } + | a_expr NOT IN { saved_In_Expr = lcons($1,saved_In_Expr); } '(' not_in_expr ')' { + saved_In_Expr = lnext(saved_In_Expr); if (nodeTag($6) == T_SubLink) { SubLink *n = (SubLink *)$6; diff --git a/src/backend/parser/parse_expr.c b/src/backend/parser/parse_expr.c index 485054eac1..e4f0eace9e 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.12 1998/01/20 22:11:55 momjian Exp $ + * $Header: /cvsroot/pgsql/src/backend/parser/parse_expr.c,v 1.13 1998/02/01 19:43:37 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -242,25 +242,24 @@ transformExpr(ParseState *pstate, Node *expr, int precedence) { SubLink *sublink = (SubLink *) expr; QueryTreeList *qtree; - Query *subselect; List *llist; qtree = parse_analyze(lcons(sublink->subselect,NIL), pstate); Assert(qtree->len == 1); - sublink->subselect = (Node *) subselect = qtree->qtrees[0]; + sublink->subselect = (Node *) qtree->qtrees[0]; foreach(llist, sublink->lefthand) lfirst(llist) = transformExpr(pstate, lfirst(llist), precedence); if (length(sublink->lefthand) != - length(subselect->targetList)) + length(sublink->subselect->targetList)) elog(ERROR,"Subselect has too many or too few fields."); if (sublink->subLinkType != EXISTS_SUBLINK) { char *op = lfirst(sublink->oper); List *left_expr = sublink->lefthand; - List *right_expr = subselect->targetList; + List *right_expr = sublink->subselect->targetList; List *elist; sublink->oper = NIL; diff --git a/src/backend/tcop/postgres.c b/src/backend/tcop/postgres.c index b5c55d335d..19e1646f95 100644 --- a/src/backend/tcop/postgres.c +++ b/src/backend/tcop/postgres.c @@ -7,7 +7,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/tcop/postgres.c,v 1.63 1998/01/26 01:41:35 scrappy Exp $ + * $Header: /cvsroot/pgsql/src/backend/tcop/postgres.c,v 1.64 1998/02/01 19:43:46 momjian Exp $ * * NOTES * this is the "main" module of the postgres backend and @@ -492,7 +492,7 @@ pg_parse_and_plan(char *query_string, /* string to execute */ for (i = 0; i < querytree_list->len; i++) { - print(querytree_list->qtrees[i]); + nodeDisplay(querytree_list->qtrees[i]); printf("\n"); } } @@ -1293,7 +1293,7 @@ PostgresMain(int argc, char *argv[]) if (IsUnderPostmaster == false) { puts("\nPOSTGRES backend interactive interface"); - puts("$Revision: 1.63 $ $Date: 1998/01/26 01:41:35 $"); + puts("$Revision: 1.64 $ $Date: 1998/02/01 19:43:46 $"); } /* ---------------- diff --git a/src/backend/utils/adt/nabstime.c b/src/backend/utils/adt/nabstime.c index 85e8381471..ad8fd22d0d 100644 --- a/src/backend/utils/adt/nabstime.c +++ b/src/backend/utils/adt/nabstime.c @@ -7,7 +7,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/utils/adt/nabstime.c,v 1.39 1998/01/07 18:46:50 momjian Exp $ + * $Header: /cvsroot/pgsql/src/backend/utils/adt/nabstime.c,v 1.40 1998/02/01 19:43:54 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -138,11 +138,9 @@ abstime2tm(AbsoluteTime time, int *tzp, struct tm * tm, char *tzn) { tx = gmtime((time_t *) &time); }; -#else #endif -#ifdef DATEDEBUG -#ifdef HAVE_INT_TIMEZONE +#if defined(DATEDEBUG) && defined(HAVE_INT_TIMEZONE) printf("datetime2tm- (localtime) %d.%02d.%02d %02d:%02d:%02d %s %s dst=%d\n", tx->tm_year, tx->tm_mon, tx->tm_mday, tx->tm_hour, tx->tm_min, tx->tm_sec, tzname[0], tzname[1], tx->tm_isdst); @@ -151,8 +149,6 @@ abstime2tm(AbsoluteTime time, int *tzp, struct tm * tm, char *tzn) tx->tm_year, tx->tm_mon, tx->tm_mday, tx->tm_hour, tx->tm_min, tx->tm_sec, tx->tm_zone, tx->tm_isdst); #endif -#else -#endif #ifdef USE_POSIX_TIME -- 2.11.0