use SL::Common;
use SL::DBUpgrade2::Base;
use SL::DBUtils;
+use SL::System::Process;
use strict;
$params{path_suffix} ||= '';
$params{schema} ||= '';
- $params{path} ||= "sql/Pg-upgrade2" . $params{path_suffix};
+ $params{path} ||= SL::System::Process->exe_dir . "/sql/Pg-upgrade2" . $params{path_suffix};
map { $self->{$_} = $params{$_} } keys %params;
# Remove DOS and Unix style line endings.
chomp;
- # remove comments
- s/--.*$//;
-
for (my $i = 0; $i < length($_); $i++) {
my $char = substr($_, $i, 1);
&& $tag =~ /^ (?= [A-Za-z_] [A-Za-z0-9_]* | ) $/x) { # tag is identifier
push @quote_chars, $char = '$' . $tag . '$';
$i = $tag_end;
+ } elsif ($char eq "-") {
+ if ( substr($_, $i+1, 1) eq "-") {
+ # found a comment outside quote
+ last;
+ }
} elsif ($char eq ";") {
# Query is complete. Send it.
$dbh->begin_work;
# setup dbup_ export vars & run script
- my $old_dbh = $::form->set_standard_dbh($dbh);
my %dbup_myconfig = map { ($_ => $::form->{$_}) } qw(dbname dbuser dbpasswd dbhost dbport dbconnect);
my $result = eval {
SL::DBUpgrade2::Base::execute_script(
my $error = $EVAL_ERROR;
- $::form->set_standard_dbh($old_dbh);
-
$dbh->rollback if 1 != ($result // -1);
return $error if $self->{return_on_error} && (1 != ($result // -1));