From b7bb932078495375dc4ca1cd1b838f52c99d7df1 Mon Sep 17 00:00:00 2001 From: Moritz Bunkus Date: Wed, 25 Jun 2008 14:34:42 +0000 Subject: [PATCH] Zwei Probleme, die behoben werden: MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit 1. Bei UTF-8-Installationen dürfen keine ISO-8859-1-codierte Umlaute enthalten sein. 2. Die Funktion "do_query()" wird von vielen Upgradescripten neu definiert und hat dann eine andere Signatur als die "DBUtils::do_query()". Das führte dazu, dass warehouse.pl nur dann funktionierte, wenn nicht gleichzeitig eines derjenigen Upgradescripte ausgeführt wurde, das do_query() neu definiert. Fix ist, do_query() in warehouse.pl wie in den anderen Perl-Datenbankupgradescripten zu definieren und zu verwenden. --- sql/Pg-upgrade2/warehouse.pl | 34 +++++++++++++++++++++++++--------- 1 file changed, 25 insertions(+), 9 deletions(-) diff --git a/sql/Pg-upgrade2/warehouse.pl b/sql/Pg-upgrade2/warehouse.pl index 5fad05839..6efbe145a 100644 --- a/sql/Pg-upgrade2/warehouse.pl +++ b/sql/Pg-upgrade2/warehouse.pl @@ -4,6 +4,23 @@ die("This script cannot be run from the command line.") unless ($main::form); + +sub mydberror { + my ($msg) = @_; + die($dbup_locale->text("Database update error:") . + "
$msg
" . $DBI::errstr); +} + +sub do_query { + my ($query, $may_fail) = @_; + + if (!$dbh->do($query)) { + mydberror($query) unless ($may_fail); + $dbh->rollback(); + $dbh->begin_work(); + } +} + $do_sql_migration = 0; sub print_question { @@ -32,12 +49,12 @@ sub do_update { my $migration_code = < 0; ALTER TABLE parts DROP COLUMN onhand; ALTER TABLE parts ADD COLUMN onhand numeric(25,5); -- 2.20.1