On Thu, May 5, 2011 at 11:20 AM, Tom Lane <[email protected]> wrote: > The documentation for ON_ERROR_STOP states, or at least implies by > omission, that it only affects the behavior in non-interactive scripts: > > By default, if non-interactive scripts encounter an error, such > as a malformed SQL command or internal meta-command, processing > continues. This has been the traditional behavior of psql but it > is sometimes not desirable. If this variable is set, script > processing will immediately terminate. If the script was called > from another script it will terminate in the same fashion. If > the outermost script was not called from an interactive psql > session but rather using the -f option, psql will return error > code 3, to distinguish this case from fatal error conditions > (error code 1). > > However, it is easily proven that it *does* affect interactive commands; > just try two commands on one line: > > regression=# select 1/0; select 2; > ERROR: division by zero > ?column? > ---------- > 2 > (1 row) > > regression=# \set ON_ERROR_STOP 1 > regression=# select 1/0; select 2; > ERROR: division by zero > regression=# > > Can we get the docs changed to reflect reality?
Here's an attempt at some suitable word-smithing. -- Robert Haas EnterpriseDB: http://www.enterprisedb.com The Enterprise PostgreSQL Company
on-error-stop.patch
Description: Binary data
-- Sent via pgsql-docs mailing list ([email protected]) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-docs
