Uh, where are we on this?

---------------------------------------------------------------------------

On Fri, Jun 28, 2024 at 06:05:35PM +0530, Ashutosh Bapat wrote:
> 
> 
> On Wed, Jun 26, 2024 at 8:54 PM Tom Lane <t...@sss.pgh.pa.us> wrote:
> 
>     Ashutosh Bapat <ashutosh.bapat....@gmail.com> writes:
>     > The usage help mentions exit code 2 specifically while describing 
> --check
>     > option but it doesn't mention exit code 1. Neither does the README. So I
>     > don't think we need to document exit code 3 anywhere. Please let me know
>     if
>     > you think otherwise.
> 
>     I think we should have at least a code comment summarizing the
>     possible exit codes, along the lines of
> 
>     # Exit codes:
>     #   0 -- all OK
>     #   1 -- could not invoke pgindent, nothing done
>     #   2 -- --check mode and at least one file requires changes
>     #   3 -- pgindent failed on at least one file
> 
> 
> Thanks. Here's a patch with these lines.
>  
> In an offline chat Andrew mentioned that he expects more changes in the patch
> and he would take care of those. Will review and test his patch.
> 
> --
> Best Wishes,
> Ashutosh Bapat

> From 2a61830f0a2b6559d04bef75c6aa224e30ed1609 Mon Sep 17 00:00:00 2001
> From: Ashutosh Bapat <ashutosh.ba...@enterprisedb.com>
> Date: Wed, 26 Jun 2024 15:46:53 +0530
> Subject: [PATCH 1/2] pgindent exit status on error
> 
> When pg_bsd_indent exits with a non-zero status or reports an error,
> make pgindent exit with non-zero status 3. The program does not exit on
> the first instance of the error. Instead it continues to process
> remaining files as long as some other exit condition is encountered, in
> which case exit code 3 is reported.
> 
> This helps to detect errors automatically when pgindent is run in shells
> which interpret non-zero exit status as failure.
> 
> Author: Ashutosh Bapat
> Reviewed by: Andrew Dunstan
> Discussion: 
> https://www.postgresql.org/message-id/caexhw5sprsifeldp-u1fa5ba7ys2f0gvljmkoobopkadjwq...@mail.gmail.com
> ---
>  src/tools/pgindent/pgindent | 10 +++++++++-
>  1 file changed, 9 insertions(+), 1 deletion(-)
> 
> diff --git a/src/tools/pgindent/pgindent b/src/tools/pgindent/pgindent
> index 48d83bc434..03b319c9c3 100755
> --- a/src/tools/pgindent/pgindent
> +++ b/src/tools/pgindent/pgindent
> @@ -1,5 +1,12 @@
>  #!/usr/bin/perl
>  
> +# Program to maintain uniform layout style in our C and Perl code.
> +# Exit codes:
> +#   0 -- all OK
> +#   1 -- could not invoke pgindent, nothing done
> +#   2 -- --check mode and at least one file requires changes
> +#   3 -- pgindent failed on at least one file
> +
>  # Copyright (c) 2021-2024, PostgreSQL Global Development Group
>  
>  use strict;
> @@ -409,6 +416,7 @@ foreach my $source_filename (@files)
>       if ($source eq "")
>       {
>               print STDERR "Failure in $source_filename: " . $error_message . 
> "\n";
> +             $status = 3;
>               next;
>       }
>  
> @@ -429,7 +437,7 @@ foreach my $source_filename (@files)
>  
>                       if ($check)
>                       {
> -                             $status = 2;
> +                             $status ||= 2;
>                               last unless $diff;
>                       }
>               }
> -- 
> 2.34.1
> 


-- 
  Bruce Momjian  <br...@momjian.us>        https://momjian.us
  EDB                                      https://enterprisedb.com

  When a patient asks the doctor, "Am I going to die?", he means 
  "Am I going to die soon?"


Reply via email to