This commit is contained in:
qgarnier 2020-12-28 16:15:01 +01:00 committed by GitHub
parent 426a4c5190
commit ca7f950f49
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -51,6 +51,7 @@ sub new {
'username:s@' => { name => 'username' }, 'username:s@' => { name => 'username' },
'password:s@' => { name => 'password' }, 'password:s@' => { name => 'password' },
'connect-options:s@' => { name => 'connect_options' }, 'connect-options:s@' => { name => 'connect_options' },
'connect-query:s@' => { name => 'connect_query' },
'sql-errors-exit:s' => { name => 'sql_errors_exit', default => 'unknown' }, 'sql-errors-exit:s' => { name => 'sql_errors_exit', default => 'unknown' },
'timeout:s' => { name => 'timeout' }, 'timeout:s' => { name => 'timeout' },
}); });
@ -136,6 +137,7 @@ sub check_options {
$self->{username} = (defined($self->{option_results}->{username})) ? shift(@{$self->{option_results}->{username}}) : undef; $self->{username} = (defined($self->{option_results}->{username})) ? shift(@{$self->{option_results}->{username}}) : undef;
$self->{password} = (defined($self->{option_results}->{password})) ? shift(@{$self->{option_results}->{password}}) : undef; $self->{password} = (defined($self->{option_results}->{password})) ? shift(@{$self->{option_results}->{password}}) : undef;
$self->{connect_options} = (defined($self->{option_results}->{connect_options})) ? shift(@{$self->{option_results}->{connect_options}}) : undef; $self->{connect_options} = (defined($self->{option_results}->{connect_options})) ? shift(@{$self->{option_results}->{connect_options}}) : undef;
$self->{connect_query} = (defined($self->{option_results}->{connect_query})) ? shift(@{$self->{option_results}->{connect_query}}) : undef;
$self->{env} = (defined($self->{option_results}->{env})) ? shift(@{$self->{option_results}->{env}}) : undef; $self->{env} = (defined($self->{option_results}->{env})) ? shift(@{$self->{option_results}->{env}}) : undef;
$self->{sql_errors_exit} = $self->{option_results}->{sql_errors_exit}; $self->{sql_errors_exit} = $self->{option_results}->{sql_errors_exit};
@ -241,6 +243,9 @@ sub connect {
return (-1, $err_msg); return (-1, $err_msg);
} }
if (defined($self->{connect_query}) && $self->{connect_query} ne '') {
$self->query(query => $self->{connect_query});
}
$self->set_version(); $self->set_version();
return 0; return 0;
} }
@ -287,7 +292,7 @@ sub query {
$self->{output}->option_exit(exit_litteral => $self->{sql_errors_exit}); $self->{output}->option_exit(exit_litteral => $self->{sql_errors_exit});
} }
my $rv = $self->{statement_handle}->execute; my $rv = $self->{statement_handle}->execute();
if (!$rv) { if (!$rv) {
return 1 if ($continue_error == 1); return 1 if ($continue_error == 1);
$self->{output}->add_option_msg(short_msg => 'Cannot execute query: ' . $self->{statement_handle}->errstr); $self->{output}->add_option_msg(short_msg => 'Cannot execute query: ' . $self->{statement_handle}->errstr);
@ -331,6 +336,10 @@ Database password.
Add options in database connect. Add options in database connect.
Format: name=value,name2=value2,... Format: name=value,name2=value2,...
=item B<--connect-query>
Execute a query just after connection.
=item B<--sql-errors-exit> =item B<--sql-errors-exit>
Exit code for DB Errors (default: unknown) Exit code for DB Errors (default: unknown)