projects
/
kivitendo-erp.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
f2cbb7d
)
PE: single-dbh disconnects
author
Sven Schöling
<s.schoeling@linet-services.de>
Thu, 8 Sep 2016 14:51:09 +0000
(16:51 +0200)
committer
Sven Schöling
<s.schoeling@linet-services.de>
Thu, 8 Sep 2016 14:51:09 +0000
(16:51 +0200)
SL/PE.pm
patch
|
blob
|
history
diff --git
a/SL/PE.pm
b/SL/PE.pm
index
2eb7201
..
c6de663
100644
(file)
--- a/
SL/PE.pm
+++ b/
SL/PE.pm
@@
-37,6
+37,7
@@
package PE;
use Data::Dumper;
use SL::DBUtils;
use Data::Dumper;
use SL::DBUtils;
+use SL::DB;
use strict;
use strict;
@@
-46,7
+47,7
@@
sub partsgroups {
my ($self, $myconfig, $form) = @_;
# connect to database
my ($self, $myconfig, $form) = @_;
# connect to database
- my $dbh =
$form->dbconnect($myconfig)
;
+ my $dbh =
SL::DB->client->dbh
;
my ($where, @values);
my ($where, @values);
@@
-77,8
+78,6
@@
sub partsgroups {
$form->{item_list} = selectall_hashref_query($form, $dbh, $query, @values);
$form->{item_list} = selectall_hashref_query($form, $dbh, $query, @values);
- $dbh->disconnect;
-
$main::lxdebug->leave_sub();
return scalar(@{ $form->{item_list} });
$main::lxdebug->leave_sub();
return scalar(@{ $form->{item_list} });
@@
-90,7
+89,7
@@
sub save_partsgroup {
my ($self, $myconfig, $form) = @_;
# connect to database
my ($self, $myconfig, $form) = @_;
# connect to database
- my $dbh =
$form->dbconnect($myconfig)
;
+ my $dbh =
SL::DB->client->dbh
;
$form->{discount} /= 100;
$form->{discount} /= 100;
@@
-105,8
+104,6
@@
sub save_partsgroup {
}
do_query($form, $dbh, $query, @values);
}
do_query($form, $dbh, $query, @values);
- $dbh->disconnect;
-
$main::lxdebug->leave_sub();
}
$main::lxdebug->leave_sub();
}
@@
-116,7
+113,7
@@
sub get_partsgroup {
my ($self, $myconfig, $form) = @_;
# connect to database
my ($self, $myconfig, $form) = @_;
# connect to database
- my $dbh =
$form->dbconnect($myconfig)
;
+ my $dbh =
SL::DB->client->dbh
;
my $query =
qq|SELECT pg.*, | .
my $query =
qq|SELECT pg.*, | .
@@
-130,8
+127,6
@@
sub get_partsgroup {
map({ $form->{$_} = $ref->{$_} } keys(%{$ref}));
$sth->finish;
map({ $form->{$_} = $ref->{$_} } keys(%{$ref}));
$sth->finish;
- $dbh->disconnect;
-
# also not orphaned if partsgroup is selected for a cvar filter
if ($form->{orphaned}) {
my $cvar_count = scalar( @{ SL::DB::PartsGroup->new(id => $form->{id})->custom_variable_configs } );
# also not orphaned if partsgroup is selected for a cvar filter
if ($form->{orphaned}) {
my $cvar_count = scalar( @{ SL::DB::PartsGroup->new(id => $form->{id})->custom_variable_configs } );
@@
-147,14
+142,15
@@
sub delete_tuple {
my ($self, $myconfig, $form) = @_;
# connect to database
my ($self, $myconfig, $form) = @_;
# connect to database
- my $dbh = $form->dbconnect($myconfig);
-
- my $table = $form->{type} eq "pricegroup" ? "pricegroup" : "partsgroup";
+ SL::DB->client->with_transaction(sub {
+ my $dbh = SL::DB->client->dbh;
- my $query = qq|DELETE FROM $table WHERE id = ?|;
- do_query($form, $dbh, $query, $form->{id});
+ my $table = $form->{type} eq "pricegroup" ? "pricegroup" : "partsgroup";
- $dbh->disconnect;
+ my $query = qq|DELETE FROM $table WHERE id = ?|;
+ do_query($form, $dbh, $query, $form->{id});
+ 1;
+ }) or do { die SL::DB->client->error };
$main::lxdebug->leave_sub();
}
$main::lxdebug->leave_sub();
}
@@
-168,7
+164,7
@@
sub pricegroups {
my ($self, $myconfig, $form) = @_;
# connect to database
my ($self, $myconfig, $form) = @_;
# connect to database
- my $dbh =
$form->dbconnect($myconfig)
;
+ my $dbh =
SL::DB->client->dbh
;
my ($where, @values);
my ($where, @values);
@@
-203,8
+199,6
@@
sub pricegroups {
$form->{item_list} = selectall_hashref_query($form, $dbh, $query, @values);
$form->{item_list} = selectall_hashref_query($form, $dbh, $query, @values);
- $dbh->disconnect;
-
$main::lxdebug->leave_sub();
return scalar(@{ $form->{item_list} });
$main::lxdebug->leave_sub();
return scalar(@{ $form->{item_list} });
@@
-218,23
+212,23
@@
sub save_pricegroup {
my ($self, $myconfig, $form) = @_;
my ($self, $myconfig, $form) = @_;
- # connect to database
- my $dbh = $form->dbconnect($myconfig);
- my $query;
-
- $form->{discount} /= 100;
+ SL::DB->client->with_transaction(sub {
+ my $dbh = SL::DB->client->dbh;
+ my $query;
-
my @values = ($form->{pricegroup})
;
+
$form->{discount} /= 100
;
- if ($form->{id}) {
- $query = qq|UPDATE pricegroup SET pricegroup = ? WHERE id = ? |;
- push(@values, $form->{id});
- } else {
- $query = qq|INSERT INTO pricegroup (pricegroup) VALUES (?)|;
- }
- do_query($form, $dbh, $query, @values);
+ my @values = ($form->{pricegroup});
- $dbh->disconnect;
+ if ($form->{id}) {
+ $query = qq|UPDATE pricegroup SET pricegroup = ? WHERE id = ? |;
+ push(@values, $form->{id});
+ } else {
+ $query = qq|INSERT INTO pricegroup (pricegroup) VALUES (?)|;
+ }
+ do_query($form, $dbh, $query, @values);
+ 1;
+ }) or do { die SL::DB->client->error };
$main::lxdebug->leave_sub();
}
$main::lxdebug->leave_sub();
}
@@
-248,7
+242,7
@@
sub get_pricegroup {
my ($self, $myconfig, $form) = @_;
# connect to database
my ($self, $myconfig, $form) = @_;
# connect to database
- my $dbh =
$form->dbconnect($myconfig)
;
+ my $dbh =
SL::DB->client->dbh
;
my $query = qq|SELECT id, pricegroup FROM pricegroup WHERE id = ?|;
my $sth = prepare_execute_query($form, $dbh, $query, $form->{id});
my $query = qq|SELECT id, pricegroup FROM pricegroup WHERE id = ?|;
my $sth = prepare_execute_query($form, $dbh, $query, $form->{id});
@@
-272,8
+266,6
@@
sub get_pricegroup {
($form->{orphaned}) = selectrow_query($form, $dbh, $query, @values);
$form->{orphaned} = !$form->{orphaned};
($form->{orphaned}) = selectrow_query($form, $dbh, $query, @values);
$form->{orphaned} = !$form->{orphaned};
- $dbh->disconnect;
-
$main::lxdebug->leave_sub();
}
$main::lxdebug->leave_sub();
}