X-Git-Url: http://wagnertech.de/gitweb/gitweb.cgi/kivitendo-erp.git/blobdiff_plain/d707f7ac60b9dbe7da50d733db1e73eae84952f7..c87608abb2f5d98353e6838f33146b00a1399c3c:/SL/User.pm diff --git a/SL/User.pm b/SL/User.pm index 212175aac..5e4d667a8 100644 --- a/SL/User.pm +++ b/SL/User.pm @@ -311,6 +311,25 @@ sub dbsources { return @dbsources; } +sub dbclusterencoding { + $main::lxdebug->enter_sub(); + + my ($self, $form) = @_; + + $form->{dbdefault} ||= $form->{dbuser}; + + dbconnect_vars($form, $form->{dbdefault}); + + my $dbh = DBI->connect($form->{dbconnect}, $form->{dbuser}, $form->{dbpasswd}) || $form->dberror(); + my $query = qq|SELECT pg_encoding_to_char(encoding) FROM pg_database WHERE datname = 'template0'|; + my ($cluster_encoding) = $dbh->selectrow_array($query); + $dbh->disconnect(); + + $main::lxdebug->leave_sub(); + + return $cluster_encoding; +} + sub dbcreate { $main::lxdebug->enter_sub(); @@ -344,7 +363,8 @@ sub dbcreate { my $query = $dbcreate{$form->{dbdriver}}; $query .= " WITH " . join(" ", @{$dboptions{"Pg"}}) if (@{$dboptions{"Pg"}}); - do_query($form, $dbh, $query); + # Ignore errors if the database exists. + $dbh->do($query); if ($form->{dbdriver} eq 'Oracle') { $query = qq|GRANT CONNECT, RESOURCE TO "$form->{db}"|; @@ -767,7 +787,7 @@ sub dbupdate { last if ($version < $mindb); # apply upgrade - $main::lxdebug->message(DEBUG2, "Applying Update $upgradescript"); + $main::lxdebug->message(LXDebug::DEBUG2, "Applying Update $upgradescript"); if ($file_type eq "sql") { $self->process_query($form, $dbh, "sql/" . $form->{"dbdriver"} . "-upgrade/$upgradescript", $str_maxdb, $db_charset); @@ -851,7 +871,7 @@ sub dbupdate2 { my $file_type = $1; # apply upgrade - $main::lxdebug->message(DEBUG2, "Applying Update $control->{file}"); + $main::lxdebug->message(LXDebug::DEBUG2, "Applying Update $control->{file}"); print $form->parse_html_template("dbupgrade/upgrade_message2", $control); if ($file_type eq "sql") {