Revision f82e94c7
Von Sven Schöling vor mehr als 8 Jahren hinzugefügt
SL/PE.pm | ||
---|---|---|
37 | 37 |
use Data::Dumper; |
38 | 38 |
|
39 | 39 |
use SL::DBUtils; |
40 |
use SL::DB; |
|
40 | 41 |
|
41 | 42 |
use strict; |
42 | 43 |
|
... | ... | |
46 | 47 |
my ($self, $myconfig, $form) = @_; |
47 | 48 |
|
48 | 49 |
# connect to database |
49 |
my $dbh = $form->dbconnect($myconfig);
|
|
50 |
my $dbh = SL::DB->client->dbh;
|
|
50 | 51 |
|
51 | 52 |
my ($where, @values); |
52 | 53 |
|
... | ... | |
77 | 78 |
|
78 | 79 |
$form->{item_list} = selectall_hashref_query($form, $dbh, $query, @values); |
79 | 80 |
|
80 |
$dbh->disconnect; |
|
81 |
|
|
82 | 81 |
$main::lxdebug->leave_sub(); |
83 | 82 |
|
84 | 83 |
return scalar(@{ $form->{item_list} }); |
... | ... | |
90 | 89 |
my ($self, $myconfig, $form) = @_; |
91 | 90 |
|
92 | 91 |
# connect to database |
93 |
my $dbh = $form->dbconnect($myconfig);
|
|
92 |
my $dbh = SL::DB->client->dbh;
|
|
94 | 93 |
|
95 | 94 |
$form->{discount} /= 100; |
96 | 95 |
|
... | ... | |
105 | 104 |
} |
106 | 105 |
do_query($form, $dbh, $query, @values); |
107 | 106 |
|
108 |
$dbh->disconnect; |
|
109 |
|
|
110 | 107 |
$main::lxdebug->leave_sub(); |
111 | 108 |
} |
112 | 109 |
|
... | ... | |
116 | 113 |
my ($self, $myconfig, $form) = @_; |
117 | 114 |
|
118 | 115 |
# connect to database |
119 |
my $dbh = $form->dbconnect($myconfig);
|
|
116 |
my $dbh = SL::DB->client->dbh;
|
|
120 | 117 |
|
121 | 118 |
my $query = |
122 | 119 |
qq|SELECT pg.*, | . |
... | ... | |
130 | 127 |
map({ $form->{$_} = $ref->{$_} } keys(%{$ref})); |
131 | 128 |
$sth->finish; |
132 | 129 |
|
133 |
$dbh->disconnect; |
|
134 |
|
|
135 | 130 |
# also not orphaned if partsgroup is selected for a cvar filter |
136 | 131 |
if ($form->{orphaned}) { |
137 | 132 |
my $cvar_count = scalar( @{ SL::DB::PartsGroup->new(id => $form->{id})->custom_variable_configs } ); |
... | ... | |
147 | 142 |
my ($self, $myconfig, $form) = @_; |
148 | 143 |
|
149 | 144 |
# connect to database |
150 |
my $dbh = $form->dbconnect($myconfig); |
|
151 |
|
|
152 |
my $table = $form->{type} eq "pricegroup" ? "pricegroup" : "partsgroup"; |
|
145 |
SL::DB->client->with_transaction(sub { |
|
146 |
my $dbh = SL::DB->client->dbh; |
|
153 | 147 |
|
154 |
my $query = qq|DELETE FROM $table WHERE id = ?|; |
|
155 |
do_query($form, $dbh, $query, $form->{id}); |
|
148 |
my $table = $form->{type} eq "pricegroup" ? "pricegroup" : "partsgroup"; |
|
156 | 149 |
|
157 |
$dbh->disconnect; |
|
150 |
my $query = qq|DELETE FROM $table WHERE id = ?|; |
|
151 |
do_query($form, $dbh, $query, $form->{id}); |
|
152 |
1; |
|
153 |
}) or do { die SL::DB->client->error }; |
|
158 | 154 |
|
159 | 155 |
$main::lxdebug->leave_sub(); |
160 | 156 |
} |
... | ... | |
168 | 164 |
my ($self, $myconfig, $form) = @_; |
169 | 165 |
|
170 | 166 |
# connect to database |
171 |
my $dbh = $form->dbconnect($myconfig);
|
|
167 |
my $dbh = SL::DB->client->dbh;
|
|
172 | 168 |
|
173 | 169 |
my ($where, @values); |
174 | 170 |
|
... | ... | |
203 | 199 |
|
204 | 200 |
$form->{item_list} = selectall_hashref_query($form, $dbh, $query, @values); |
205 | 201 |
|
206 |
$dbh->disconnect; |
|
207 |
|
|
208 | 202 |
$main::lxdebug->leave_sub(); |
209 | 203 |
|
210 | 204 |
return scalar(@{ $form->{item_list} }); |
... | ... | |
218 | 212 |
|
219 | 213 |
my ($self, $myconfig, $form) = @_; |
220 | 214 |
|
221 |
# connect to database |
|
222 |
my $dbh = $form->dbconnect($myconfig); |
|
223 |
my $query; |
|
224 |
|
|
225 |
$form->{discount} /= 100; |
|
215 |
SL::DB->client->with_transaction(sub { |
|
216 |
my $dbh = SL::DB->client->dbh; |
|
217 |
my $query; |
|
226 | 218 |
|
227 |
my @values = ($form->{pricegroup});
|
|
219 |
$form->{discount} /= 100;
|
|
228 | 220 |
|
229 |
if ($form->{id}) { |
|
230 |
$query = qq|UPDATE pricegroup SET pricegroup = ? WHERE id = ? |; |
|
231 |
push(@values, $form->{id}); |
|
232 |
} else { |
|
233 |
$query = qq|INSERT INTO pricegroup (pricegroup) VALUES (?)|; |
|
234 |
} |
|
235 |
do_query($form, $dbh, $query, @values); |
|
221 |
my @values = ($form->{pricegroup}); |
|
236 | 222 |
|
237 |
$dbh->disconnect; |
|
223 |
if ($form->{id}) { |
|
224 |
$query = qq|UPDATE pricegroup SET pricegroup = ? WHERE id = ? |; |
|
225 |
push(@values, $form->{id}); |
|
226 |
} else { |
|
227 |
$query = qq|INSERT INTO pricegroup (pricegroup) VALUES (?)|; |
|
228 |
} |
|
229 |
do_query($form, $dbh, $query, @values); |
|
230 |
1; |
|
231 |
}) or do { die SL::DB->client->error }; |
|
238 | 232 |
|
239 | 233 |
$main::lxdebug->leave_sub(); |
240 | 234 |
} |
... | ... | |
248 | 242 |
my ($self, $myconfig, $form) = @_; |
249 | 243 |
|
250 | 244 |
# connect to database |
251 |
my $dbh = $form->dbconnect($myconfig);
|
|
245 |
my $dbh = SL::DB->client->dbh;
|
|
252 | 246 |
|
253 | 247 |
my $query = qq|SELECT id, pricegroup FROM pricegroup WHERE id = ?|; |
254 | 248 |
my $sth = prepare_execute_query($form, $dbh, $query, $form->{id}); |
... | ... | |
272 | 266 |
($form->{orphaned}) = selectrow_query($form, $dbh, $query, @values); |
273 | 267 |
$form->{orphaned} = !$form->{orphaned}; |
274 | 268 |
|
275 |
$dbh->disconnect; |
|
276 |
|
|
277 | 269 |
$main::lxdebug->leave_sub(); |
278 | 270 |
} |
279 | 271 |
|
Auch abrufbar als: Unified diff
PE: single-dbh disconnects