From: | bt22nakamorit <bt22nakamorit(at)oss(dot)nttdata(dot)com> |
---|---|
To: | PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org> |
Subject: | Make ON_ERROR_STOP stop on shell script failure |
Date: | 2022-09-16 06:55:33 |
Message-ID: | eaf326ad693e74eba068f33a7f518039@oss.nttdata.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Hi,
"""\set ON_ERROR_STOP on""" stops any subsequent incoming query that
comes after an error of an SQL, but does not stop after a shell script
ran by """\! <some command>""" returning values other than 0, -1, or
127, which suggests a failure in the result of the shell script.
For example, suppose that below is an SQL file.
\set ON_ERROR_STOP on
SELECT 1;
\! false
SELECT 2;
The current design allows SELECT 2 even though the shell script returns
a value indicating a failure.
I thought that this action is rather unexpected since, based on the word
"""ON_ERROR_STOP""", ones may expect that failures of shell scripts
should halt the incoming instructions as well.
One clear solution is to let failures of shell script stop incoming
queries just like how errors of SQLs do currently. Thoughts?
Tatsu
Attachment | Content-Type | Size |
---|---|---|
stop_error.patch | text/x-diff | 363 bytes |
From | Date | Subject | |
---|---|---|---|
Next Message | CK Tan | 2022-09-16 06:56:43 | missing PG_FREE_IF_COPY in textlike() and textnlike() ? |
Previous Message | Marina Polyakova | 2022-09-16 06:49:28 | Re: ICU for global collation |