]> granicus.if.org Git - pgbadger/commitdiff
Fix use of uninitialized value warning. Thanks to Payal for the report.
authorGilles Darold <gilles.darold@dalibo.com>
Thu, 13 Apr 2017 15:45:01 +0000 (17:45 +0200)
committerGilles Darold <gilles.darold@dalibo.com>
Thu, 13 Apr 2017 15:45:01 +0000 (17:45 +0200)
pgbadger

index a6c51a429b6ea67ff58ac17e404dbf2761beb89f..fc96b2e7ed0c7c4bdea3196a56018512e567959a 100644 (file)
--- a/pgbadger
+++ b/pgbadger
@@ -14263,6 +14263,7 @@ sub build_log_line_prefix_regex
                $self->{_output}          = '';
                $self->{_level_stack} = [];
                $self->{_new_line}      = 1;
+               $self->{ '_is_in_create' } = 0;
 
                my $last;
                $self->{_tokens} = [tokenize_sql($self->query, 1)];
@@ -14524,12 +14525,18 @@ sub build_log_line_prefix_regex
                if (!$self->_is_punctuation($token) and !$last_is_dot) {
 
                        my $sp = $self->_indent;
-                       if ( (!defined($last_token) || $last_token ne '(') && ($token ne ')') && ($token !~ /^::/) ) {
-                                       $self->{_output} .= $sp if (!defined($last_token) || $last_token ne '::');
-                       } elsif ( ($self->{ '_is_in_create' } == 2) && ($last_token eq '(')) {
-                                       $self->{_output} .= $sp if (!defined($last_token) || $last_token ne '::');
+                       if ( (!defined($last_token) || $last_token ne '(') && $token ne ')' && ($token !~ /^::/) ) {
+                           $self->{ '_output' } .= $sp if ($token ne ')'
+                                                           && defined($last_token)
+                                                           && $last_token ne '::'
+                                                           && ($token ne '(' || !$self->_is_function( $last_token ))
+                               );
+                           $self->{ '_output' } .= $sp if (!defined($last_token) && $token);
+                       } elsif ( $self->{ '_is_in_create' } == 2 && defined($last_token)) {
+                           $self->{ '_output' } .= $sp if ($last_token ne '::' and ($last_token ne '(' || !$self->{ '_is_in_index' }));
                        }
                        $token =~ s/\n/\n$sp/gs;
+
                }
 
                # uppercase keywords