OSDN Git Service

Arrange that no database accesses are attempted during parser() --- this
authorTom Lane <tgl@sss.pgh.pa.us>
Sat, 7 Oct 2000 00:58:23 +0000 (00:58 +0000)
committerTom Lane <tgl@sss.pgh.pa.us>
Sat, 7 Oct 2000 00:58:23 +0000 (00:58 +0000)
commitfbd26d69846fcbfb69deee45bdddcc692dd59b07
tree2aee8f89268d64645b1c4c96958a0e575a12e259
parent4837270be9cbba925a7003de5980918c3de8fb37
Arrange that no database accesses are attempted during parser() --- this
took some rejiggering of typename and ACL parsing, as well as moving
parse_analyze call out of parser().  Restructure postgres.c processing
so that parse analysis and rewrite are skipped when in abort-transaction
state.  Only COMMIT and ABORT statements will be processed beyond the raw
parser() phase.  This addresses problem of parser failing with database access
errors while in aborted state (see pghackers discussions around 7/28/00).
Also fix some bugs with COMMIT/ABORT statements appearing in the middle of
a single query input string.
Function, operator, and aggregate arguments/results can now use full
TypeName production, in particular foo[] for array types.
DROP OPERATOR and COMMENT ON OPERATOR were broken for unary operators.
Allow CREATE AGGREGATE to accept unquoted numeric constants for initcond.
20 files changed:
src/backend/catalog/pg_proc.c
src/backend/commands/comment.c
src/backend/commands/define.c
src/backend/commands/remove.c
src/backend/nodes/copyfuncs.c
src/backend/nodes/equalfuncs.c
src/backend/parser/analyze.c
src/backend/parser/gram.y
src/backend/parser/parse_clause.c
src/backend/parser/parse_expr.c
src/backend/parser/parser.c
src/backend/tcop/postgres.c
src/backend/tcop/utility.c
src/backend/utils/adt/acl.c
src/include/commands/defrem.h
src/include/nodes/parsenodes.h
src/include/parser/analyze.h
src/include/parser/parse_expr.h
src/include/tcop/tcopprot.h
src/include/utils/acl.h