single-dbh: Fehler in Transaktionen immer weiterwerfen
authorSven Schöling <s.schoeling@linet-services.de>
Wed, 17 Aug 2016 13:51:24 +0000 (15:51 +0200)
committerSven Schöling <s.schoeling@linet-services.de>
Fri, 2 Sep 2016 12:21:31 +0000 (14:21 +0200)
16 files changed:
SL/AM.pm
SL/AP.pm
SL/AR.pm
SL/ARAP.pm
SL/AccTransCorrections.pm
SL/BP.pm
SL/Common.pm
SL/DATEV.pm
SL/DO.pm
SL/FU.pm
SL/GL.pm
SL/IR.pm
SL/Notes.pm
SL/OE.pm
SL/SEPA.pm
SL/TODO.pm

index a172867..a1ad0bc 100644 (file)
--- a/SL/AM.pm
+++ b/SL/AM.pm
@@ -498,7 +498,8 @@ sub delete_lead {
   SL::DB->client->with_transaction(sub {
     $query = qq|DELETE FROM leads WHERE id = ?|;
     do_query($form, SL::DB->client->dbh, $query, $form->{id});
-  });
+    1;
+  }) or do { die SL::DB->client->error };
 
   $main::lxdebug->leave_sub();
 }
@@ -606,7 +607,8 @@ sub save_language {
         ") VALUES (?, ?, ?, ?, ?, ?)";
     }
     do_query($form, $dbh, $query, @values);
-  });
+    1;
+  }) or do { die SL::DB->client->error };
 
   $main::lxdebug->leave_sub();
 }
@@ -627,7 +629,8 @@ sub delete_language {
 
     $query = "DELETE FROM language WHERE id = ?";
     do_query($form, $dbh, $query, $form->{"id"});
-  });
+    1;
+  }) or do { die SL::DB->client->error };
 
   $main::lxdebug->leave_sub();
 }
@@ -796,7 +799,8 @@ sub closebooks {
 
     # set close in defaults
     do_query($form, $dbh, $query, @values);
-  });
+    1;
+  }) or do { die SL::DB->client->error };
 
   $main::lxdebug->leave_sub();
 }
@@ -1097,7 +1101,8 @@ sub add_unit {
       }
       $sth->finish();
     }
-  });
+    1;
+  }) or do { die SL::DB->client->error };
 
   $main::lxdebug->leave_sub();
 }
@@ -1375,7 +1380,8 @@ sub delete_tax {
   SL::DB->client->with_transaction(sub {
     $query = qq|DELETE FROM tax WHERE id = ?|;
     do_query($form, SL::DB->client->dbh, $query, $form->{id});
-  });
+    1;
+  }) or do { die SL::DB->client->error };
 
   $main::lxdebug->leave_sub();
 }
@@ -1400,7 +1406,8 @@ sub save_price_factor {
     }
 
     do_query($form, $dbh, $query, @values);
-  });
+    1;
+  }) or do { die SL::DB->client->error };
 
   $main::lxdebug->leave_sub();
 }
@@ -1443,7 +1450,8 @@ sub delete_price_factor {
 
   SL::DB->client->with_transaction(sub {
     do_query($form, SL::DB->client->dbh, qq|DELETE FROM price_factors WHERE id = ?|, conv_i($form->{id}));
-  });
+    1;
+  }) or do { die SL::DB->client->error };
 
   $main::lxdebug->leave_sub();
 }
@@ -1480,7 +1488,8 @@ sub save_warehouse {
 
       $sth->finish();
     }
-  });
+    1;
+  }) or do { die SL::DB->client->error };
 
   $main::lxdebug->leave_sub();
 }
@@ -1512,7 +1521,8 @@ sub save_bins {
     }
 
     $sth->finish();
-  });
+    1;
+  }) or do { die SL::DB->client->error };
 
   $main::lxdebug->leave_sub();
 }
index ae75dc9..6de1b15 100644 (file)
--- a/SL/AP.pm
+++ b/SL/AP.pm
@@ -403,7 +403,8 @@ sub delete_transaction {
   SL::DB->client->with_transaction(sub {
     my $query = qq|DELETE FROM ap WHERE id = ?|;
     do_query($form, SL::DB->client->dbh, $query, $form->{id});
-  });
+    1;
+  }) or do { die SL::DB->client->error };
 
   $main::lxdebug->leave_sub();
 
index 510cc5d..3b795d4 100644 (file)
--- a/SL/AR.pm
+++ b/SL/AR.pm
@@ -452,7 +452,8 @@ sub delete_transaction {
     # acc_trans entries are deleted by database triggers.
     my $query = qq|DELETE FROM ar WHERE id = ?|;
     do_query($form, SL::DB->client->dbh, $query, $form->{id});
-  });
+    1;
+  }) or do { die SL::DB->client->error };
 
   $main::lxdebug->leave_sub();
 
index 4d5c564..121ea06 100644 (file)
@@ -154,7 +154,8 @@ sub close_orders_if_billed {
     SL::DB->client->with_transaction(sub {
       my $query = qq|UPDATE oe SET closed = TRUE WHERE id IN (| . join(', ', ('?') x scalar @close_oe_ids) . qq|)|;
       do_query($form, $dbh, $query, @close_oe_ids);
-    });
+      1;
+    }) or do { die SL::DB->client->error };
   }
 
   $main::lxdebug->leave_sub();
index 1dad072..fff16f7 100644 (file)
@@ -796,7 +796,8 @@ sub fix_ap_ar_wrong_taxkeys {
 
       $h_taxkey_only->finish();
       $h_taxkey_chart_id->finish();
-    });
+      1;
+    }) or do { die SL::DB->client->error };
   }
 
   $main::lxdebug->leave_sub();
@@ -872,7 +873,8 @@ sub fix_invoice_inventory_with_taxkeys {
       }
 
       $sth->finish();
-    });
+      1;
+    }) or do { die SL::DB->client->error };
   }
 
   $main::lxdebug->leave_sub();
@@ -922,7 +924,8 @@ sub fix_wrong_taxkeys {
     $h_taxkey_only->finish();
     $h_taxkey_chart->finish();
     $h_transdate->finish();
-  });
+    1;
+  }) or do { die SL::DB->client->error };
 
   $main::lxdebug->leave_sub();
 }
@@ -949,7 +952,8 @@ sub delete_transaction {
     do_query($form, $dbh, qq|DELETE FROM ap        WHERE id       = ?|, conv_i($params{trans_id}));
     do_query($form, $dbh, qq|DELETE FROM gl        WHERE id       = ?|, conv_i($params{trans_id}));
     do_query($form, $dbh, qq|DELETE FROM acc_trans WHERE trans_id = ?|, conv_i($params{trans_id}));
-  });
+    1;
+  }) or do { die SL::DB->client->error };
 
   $main::lxdebug->leave_sub();
 }
index 711b988..9cf0750 100644 (file)
--- a/SL/BP.pm
+++ b/SL/BP.pm
@@ -261,7 +261,8 @@ sub delete_spool {
         unlink(qq|$spool/$form->{"spoolfile_$i"}|);
       }
     }
-  });
+    1;
+  }) or do { die SL::DB->client->error };
 
   $main::lxdebug->leave_sub();
   return 1;
index 31fbba9..28a3d5a 100644 (file)
@@ -434,7 +434,8 @@ sub save_email_status {
     do_query($form, $dbh, qq|UPDATE $table SET intnotes = ? WHERE id = ?|, $intnotes, $form->{id});
 
     $form->save_status($dbh);
-  });
+    1;
+  }) or do { die SL::DB->client->error };
 
   $main::lxdebug->leave_sub();
 }
index eb23cf2..be3ec95 100644 (file)
@@ -293,7 +293,8 @@ sub save_datev_stamm {
 
     my $query = "INSERT INTO datev (" . join(', ', @columns) . ") VALUES (" . join(', ', ('?') x @columns) . ")";
     do_query($::form, $self->dbh, $query, map { $data->{$_} } @columns);
-  });
+    1;
+  }) or do { die SL::DB->client->error };
 }
 
 sub export {
index 0e14319..4ba4828 100644 (file)
--- a/SL/DO.pm
+++ b/SL/DO.pm
@@ -578,7 +578,8 @@ sub mark_orders_if_delivered {
     foreach my $oe_id (keys %ship) {
         do_query($form, $dbh,"UPDATE oe SET delivered = ".($ship{$oe_id}->{delivered}?"TRUE":"FALSE")." WHERE id = ?", $oe_id);
     }
-  });
+    1;
+  }) or do { die SL::DB->client->error };
 
   $main::lxdebug->leave_sub();
 }
@@ -605,7 +606,8 @@ sub close_orders {
     my $query    = qq|UPDATE delivery_orders SET closed = TRUE WHERE id IN (| . join(', ', ('?') x scalar(@{ $params{ids} })) . qq|)|;
 
     do_query($form, $dbh, $query, map { conv_i($_) } @{ $params{ids} });
-  });
+    1;
+  }) or die { SL::DB->client->error };
 
   $form->new_lastmtime('delivery_orders');
 
index b98687f..8a2f269 100644 (file)
--- a/SL/FU.pm
+++ b/SL/FU.pm
@@ -81,7 +81,8 @@ sub finish {
 
   SL::DB->client->with_transaction(sub {
     do_query($form, SL::DB->client->dbh, qq|UPDATE follow_ups SET done = TRUE WHERE id = ?|, conv_i($params{id}));
-  });
+    1;
+  }) or do { die SL::DB->client->error };
 
   $main::lxdebug->leave_sub();
 }
@@ -105,7 +106,8 @@ sub delete {
     do_query($form, $dbh, qq|DELETE FROM follow_up_links WHERE follow_up_id = ?|,                         $id);
     do_query($form, $dbh, qq|DELETE FROM follow_ups      WHERE id = ?|,                                   $id);
     do_query($form, $dbh, qq|DELETE FROM notes           WHERE (trans_id = ?) AND (trans_module = 'fu')|, $id);
-  });
+    1;
+  }) or do { die SL::DB->client->error };
 
   $main::lxdebug->leave_sub();
 }
@@ -444,7 +446,8 @@ sub save_access_rights {
     }
 
     $sth->finish();
-  });
+    1;
+  }) or do { die SL::DB->client->error };
 
   $main::lxdebug->leave_sub();
 }
index bd8113e..1b71c94 100644 (file)
--- a/SL/GL.pm
+++ b/SL/GL.pm
@@ -52,7 +52,8 @@ sub delete_transaction {
 
   SL::DB->with_transaction(sub {
     do_query($form, SL::DB->client->dbh, qq|DELETE FROM gl WHERE id = ?|, conv_i($form->{id}));
-  });
+    1;
+  }) or do { die SL::DB->client->error };
 
   $main::lxdebug->leave_sub();
 }
index f1a1b7c..4a5b22e 100644 (file)
--- a/SL/IR.pm
+++ b/SL/IR.pm
@@ -933,7 +933,8 @@ sub delete_invoice {
     );
 
     map { do_query($form, $dbh, $_, @values) } @queries;
-  });
+    1;
+  }) or do { die SL::DB->client->error };
 
   return 1;
 }
index d7d657c..1d768f3 100644 (file)
@@ -34,7 +34,8 @@ sub save {
     push @values, $params{subject}, $params{body}, conv_i($params{id});
 
     do_query($form, $dbh, $query, @values);
-  });
+    1;
+  }) or do { die SL::DB->client->error };
 
   $main::lxdebug->leave_sub();
 
@@ -79,7 +80,8 @@ sub delete {
     do_query($form, $dbh, qq|DELETE FROM follow_up_links WHERE follow_up_id IN (SELECT DISTINCT id FROM follow_ups WHERE note_id = ?)|, $id);
     do_query($form, $dbh, qq|DELETE FROM follow_ups      WHERE note_id = ?|, $id);
     do_query($form, $dbh, qq|DELETE FROM notes           WHERE id = ?|, $id);
-  });
+    1;
+  }) or do { die SL::DB->client->error };
 
   $main::lxdebug->leave_sub();
 }
index 0e671bd..cc28517 100644 (file)
--- a/SL/OE.pm
+++ b/SL/OE.pm
@@ -885,8 +885,8 @@ sub _close_quotations_rfqs {
       $query = qq|UPDATE oe SET closed = TRUE WHERE id IN (| . join(', ', ('?') x scalar @close_ids) . qq|)|;
       do_query($form, $dbh, $query, @close_ids);
     }
-
-  });
+    1;
+  }) or do { die SL::DB->client->error };
 
   $main::lxdebug->leave_sub();
 }
@@ -905,7 +905,7 @@ sub delete {
     unlink map { "$spool/$_" } @spoolfiles if $spool;
 
     1;
-  });
+  }) or do { die SL::DB->client->error };
 
   $main::lxdebug->leave_sub();
 
index 0746732..b8cdee0 100644 (file)
@@ -280,7 +280,8 @@ sub close_export {
     my $query        = qq|UPDATE sepa_export SET closed = TRUE WHERE id IN ($placeholders)|;
 
     do_query($form, $dbh, $query, map { conv_i($_) } @ids);
-  });
+    1;
+  }) or do { die SL::DB->client->error };
 
   $main::lxdebug->leave_sub();
 }
index c575fa8..ff29abb 100644 (file)
@@ -95,7 +95,8 @@ sub save_user_config {
     push @values, $id;
 
     do_query($form, $dbh, $query, @values);
-  });
+    1;
+  }) or do { die SL::DB->client->error };
 
   $main::lxdebug->leave_sub();
 }