diff options
author | Michael Scherer <misc@mageia.org> | 2011-04-19 12:46:07 +0000 |
---|---|---|
committer | Michael Scherer <misc@mageia.org> | 2011-04-19 12:46:07 +0000 |
commit | d094f9770e1bc88635374fb649f642c3f1deab7c (patch) | |
tree | 964209e7953df373a4da91670d3fb9cff20207ec | |
parent | acf0e88ecf4fa46e52099900a22cc3b69c6a4381 (diff) | |
download | puppet-d094f9770e1bc88635374fb649f642c3f1deab7c.tar puppet-d094f9770e1bc88635374fb649f642c3f1deab7c.tar.gz puppet-d094f9770e1bc88635374fb649f642c3f1deab7c.tar.bz2 puppet-d094f9770e1bc88635374fb649f642c3f1deab7c.tar.xz puppet-d094f9770e1bc88635374fb649f642c3f1deab7c.zip |
use a transaction and close the database, maybe this will help to avoid
the timeout problem I see from time to time
-rw-r--r-- | modules/phpbb/files/phpbb_apply_config.pl | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/modules/phpbb/files/phpbb_apply_config.pl b/modules/phpbb/files/phpbb_apply_config.pl index 8c776ce5..5bd094e4 100644 --- a/modules/phpbb/files/phpbb_apply_config.pl +++ b/modules/phpbb/files/phpbb_apply_config.pl @@ -8,10 +8,15 @@ my $key = $ARGV[0]; # DBI will use default value coming from env # see puppet manifests -my $dbh = DBI->connect("dbi:Pg:","",""); +my $dbh = DBI->connect("dbi:Pg:","","", { + AutoCommit => 0, + RaiseError => 1, +}); my $table = "phpbb_config"; +# FIXME add rollback if there is a problem +# http://docstore.mik.ua/orelly/linux/dbi/ch06_03.htm my $update = $dbh->prepare("UPDATE $table SET config_value = ?, is_dynamic = ? WHERE config_name = ?"); my $insert = $dbh->prepare("INSERT INTO $table ( config_value, is_dynamic, config_name ) VALUES ( ? , ? , ? )"); @@ -19,4 +24,5 @@ my $res = $update->execute($VALUE, 1, $key) or die "cannot do update $?"; if ($res == 0 ) { $insert->execute($VALUE, 1, $key) or die "cannot do insert $?"; } - +$dbh->commit(); +$dbh->disconnect(); |