# The information can be saved when we are switching to a new main message
if ($cur_pid && ($prefix_vars{'t_loglevel'} =~ /^(LOG|ERROR|FATAL|PANIC|WARNING)$/)) {
&store_queries($cur_pid);
- delete $cur_info{$cur_pid};
+ delete $cur_info{$cur_pid} if (!$log_duration || (($cur_info{$cur_pid}{duration} ne '') && ($cur_info{$cur_pid}{query} ne '')));
}
# Process the log line
# The information can be saved when we are switching to a new main message
if ($cur_pid && $prefix_vars{'t_loglevel'} =~ /^(LOG|ERROR|FATAL|PANIC|WARNING)$/) {
&store_queries($cur_pid);
- delete $cur_info{$cur_pid};
+ delete $cur_info{$cur_pid} if (!$log_duration || (($cur_info{$cur_pid}{duration} ne '') && ($cur_info{$cur_pid}{query} ne '')));
}
# Process the log line
my $t_pid = shift;
- $cur_info{$t_pid}{year} = $prefix_vars{'t_year'} if (!$log_duration || !$cur_info{$t_pid}{year});
- $cur_info{$t_pid}{month} = $prefix_vars{'t_month'} if (!$log_duration || !$cur_info{$t_pid}{month});
- $cur_info{$t_pid}{day} = $prefix_vars{'t_day'} if (!$log_duration || !$cur_info{$t_pid}{day});
- $cur_info{$t_pid}{hour} = $prefix_vars{'t_hour'} if (!$log_duration || ($cur_info{$t_pid}{hour} eq ''));
- $cur_info{$t_pid}{min} = $prefix_vars{'t_min'} if (!$log_duration || !$cur_info{$t_pid}{min} eq '');
- $cur_info{$t_pid}{sec} = $prefix_vars{'t_sec'} if (!$log_duration || !$cur_info{$t_pid}{sec} eq '');
- $cur_info{$t_pid}{timestamp} = $prefix_vars{'t_timestamp'} if (!$log_duration || !$cur_info{$t_pid}{timestamp});
- $cur_info{$t_pid}{ident} = $prefix_vars{'t_ident'} if (!$log_duration || !$cur_info{$t_pid}{ident});
- $cur_info{$t_pid}{query} = $prefix_vars{'t_query'} if (!$log_duration || !$cur_info{$t_pid}{query});
- $cur_info{$t_pid}{duration} = $prefix_vars{'t_duration'} if (!$log_duration || !$cur_info{$t_pid}{duration});
- $cur_info{$t_pid}{pid} = $prefix_vars{'t_pid'} if (!$log_duration || !$cur_info{$t_pid}{pid});
- $cur_info{$t_pid}{session} = $prefix_vars{'t_session_line'} if (!$log_duration || !$cur_info{$t_pid}{session});
- $cur_info{$t_pid}{loglevel} = $prefix_vars{'t_loglevel'} if (!$log_duration || !$cur_info{$t_pid}{loglevel});
- $cur_info{$t_pid}{dbname} = $prefix_vars{'t_dbname'} if (!$log_duration || !$cur_info{$t_pid}{dbname});
- $cur_info{$t_pid}{dbuser} = $prefix_vars{'t_dbuser'} if (!$log_duration || !$cur_info{$t_pid}{dbuser});
- $cur_info{$t_pid}{dbclient} = $prefix_vars{'t_client'} || $prefix_vars{'t_dbclient'} if (!$log_duration || !$cur_info{$t_pid}{dbclient});
- $cur_info{$t_pid}{dbappname} = $prefix_vars{'t_appname'} if (!$log_duration || !$cur_info{$t_pid}{dbappname});
- $cur_info{$t_pid}{date} = $prefix_vars{'t_date'} if (!$log_duration || !$cur_info{$t_pid}{date});
- $cur_info{$t_pid}{bind} = $prefix_vars{'t_bind'} if (!$log_duration || !$cur_info{$t_pid}{bind});
+ $cur_info{$t_pid}{year} = $prefix_vars{'t_year'} if (!$cur_info{$t_pid}{year});
+ $cur_info{$t_pid}{month} = $prefix_vars{'t_month'} if (!$cur_info{$t_pid}{month});
+ $cur_info{$t_pid}{day} = $prefix_vars{'t_day'} if (!$cur_info{$t_pid}{day});
+ $cur_info{$t_pid}{hour} = $prefix_vars{'t_hour'} if (($cur_info{$t_pid}{hour} eq ''));
+ $cur_info{$t_pid}{min} = $prefix_vars{'t_min'} if (!$cur_info{$t_pid}{min} eq '');
+ $cur_info{$t_pid}{sec} = $prefix_vars{'t_sec'} if (!$cur_info{$t_pid}{sec} eq '');
+ $cur_info{$t_pid}{timestamp} = $prefix_vars{'t_timestamp'} if (!$cur_info{$t_pid}{timestamp});
+ $cur_info{$t_pid}{ident} = $prefix_vars{'t_ident'} if (!$cur_info{$t_pid}{ident});
+ $cur_info{$t_pid}{query} = $prefix_vars{'t_query'} if (!$cur_info{$t_pid}{query});
+ $cur_info{$t_pid}{duration} = $prefix_vars{'t_duration'} if (!$cur_info{$t_pid}{duration});
+ $cur_info{$t_pid}{pid} = $prefix_vars{'t_pid'} if (!$cur_info{$t_pid}{pid});
+ $cur_info{$t_pid}{session} = $prefix_vars{'t_session_line'} if (!$cur_info{$t_pid}{session});
+ $cur_info{$t_pid}{loglevel} = $prefix_vars{'t_loglevel'} if (!$cur_info{$t_pid}{loglevel});
+ $cur_info{$t_pid}{dbname} = $prefix_vars{'t_dbname'} if (!$cur_info{$t_pid}{dbname});
+ $cur_info{$t_pid}{dbuser} = $prefix_vars{'t_dbuser'} if (!$cur_info{$t_pid}{dbuser});
+ $cur_info{$t_pid}{dbclient} = $prefix_vars{'t_client'} || $prefix_vars{'t_dbclient'} if (!$cur_info{$t_pid}{dbclient});
+ $cur_info{$t_pid}{dbappname} = $prefix_vars{'t_appname'} if (!$cur_info{$t_pid}{dbappname});
+ $cur_info{$t_pid}{date} = $prefix_vars{'t_date'} if (!$cur_info{$t_pid}{date});
+ $cur_info{$t_pid}{bind} = $prefix_vars{'t_bind'} if (!$cur_info{$t_pid}{bind});
# Extract the query part from the plan
if (exists $cur_plan_info{$t_pid}{plan} && ($cur_plan_info{$t_pid}{plan} ne '')) {
# With separate log_duration and log_statement wait duration before storing the entry
return 0 if (!$end && $log_duration && ($cur_info{$t_pid}{duration} eq '')
- && ($cur_info{$t_pid}{log_level} eq 'LOG'));
+ && ($cur_info{$t_pid}{query} ne ''));
# Remove comments if required
if ($remove_comment) {
$cur_info{$t_pid}{query} = &anonymize_query($cur_info{$t_pid}{query});
}
-#print STDERR "ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ ", %{$cur_info{$t_pid}}, "\n";
return 0 if (!exists $cur_info{$t_pid});
return 1 if (!$cur_info{$t_pid}{year});