2022-09-16 17:30 に Kyotaro Horiguchi さんは書きました:
> At Fri, 16 Sep 2022 15:55:33 +0900, bt22nakamorit
> <bt22nakamorit@oss.nttdata.com> wrote in
>> 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.
>
> Since the "false" command did not "error out"?
>
>> 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?
>
> I'm not sure we want to regard any exit status from a succssful run as
> a failure.
>
> On the other hand, the proposed behavior seems useful to me.
>
> So +1 from me to the proposal, assuming the corresponding edit of the
> documentation happens.
>
> regards.
> Since the "false" command did not "error out"?
"false" command returns 1 which is an exit status code that indicates
failure, but not error.
I think it does not "error out" if that is what you mean.
> So +1 from me to the proposal, assuming the corresponding edit of the
> documentation happens.
I will work on editing the document and share further updates.
Thank you!
Tatsu