"Hiroshi Inoue" <Inoue@tpf.co.jp> writes:
>>>> which are executed without having bothered to check for aborted state.
>>>> I think this code should be removed from postgres.c, and the
>>>> SetQuerySnapshot call instead made from the Fetch and Copy arms of the
>>>> switch statement in ProcessUtility() (utility.c), after doing
>>>> CHECK_IF_ABORTED in each case.
> Is it bad to check ABORTED after yyparse() in parser.c ?
Yes. Try to execute an END (a/k/a ABORT, ROLLBACK, ...)
The check for abort state has to happen in the appropriate paths of
execution, not in the parser. Not all statements should reject on
abort state.
regards, tom lane