• Tom Lane's avatar
    Arrange that no database accesses are attempted during parser() --- this · fbd26d69
    Tom Lane authored
    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.
    fbd26d69
parse_clause.c 33.7 KB