2
0
mirror of https://github.com/fhem/fhem-mirror.git synced 2025-02-25 16:05:19 +00:00

93_DbLog: contrib 5.5.1

git-svn-id: https://svn.fhem.de/fhem/trunk@26821 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
nasseeder1 2022-12-09 14:54:33 +00:00
parent 5ca17f92d7
commit 94e8a1222f

View File

@ -2585,7 +2585,6 @@ sub _DbLog_SBP_onRun_Log {
my $history = $store->{dbparams}{history}; my $history = $store->{dbparams}{history};
my $current = $store->{dbparams}{current}; my $current = $store->{dbparams}{current};
my $errorh = q{};
my $error = q{}; my $error = q{};
my $doins = 0; # Hilfsvariable, wenn "1" sollen inserts in Tabelle current erfolgen (updates schlugen fehl) my $doins = 0; # Hilfsvariable, wenn "1" sollen inserts in Tabelle current erfolgen (updates schlugen fehl)
my $rowlback = q{}; # Eventliste für Rückgabe wenn Fehler my $rowlback = q{}; # Eventliste für Rückgabe wenn Fehler
@ -2696,20 +2695,24 @@ sub _DbLog_SBP_onRun_Log {
eval { $sth_ih = $dbh->prepare($sqlins); eval { $sth_ih = $dbh->prepare($sqlins);
$sth_ih->{TraceLevel} = "$tl|$tf" if($tl); # Tracelevel setzen $sth_ih->{TraceLevel} = "$tl|$tf" if($tl); # Tracelevel setzen
$ins_hist = $sth_ih->execute(); $ins_hist = $sth_ih->execute();
$ins_hist = 0 if($ins_hist eq "0E0");
1; 1;
} }
or do { $errorh = $@; or do { $error = $@;
Log3 ($name, 2, "DbLog $name - Error table $history - $errorh"); Log3 ($name, 2, "DbLog $name - Error table $history - $error");
$dbh->disconnect(); if($useta) {
delete $store->{dbh}; $rowlback = $cdata; # nicht gespeicherte Datensätze nur zurück geben wenn Transaktion ein
__DbLog_SBP_rollbackOnly ($name, $dbh, $history);
$rowlback = $cdata if($useta); # nicht gespeicherte Datensätze nur zurück geben wenn Transaktion ein }
else {
__DbLog_SBP_commitOnly ($name, $dbh, $history);
}
$ret = { $ret = {
name => $name, name => $name,
msg => $errorh, msg => $error,
ot => 0, ot => 0,
oper => $operation, oper => $operation,
rowlback => $rowlback rowlback => $rowlback
@ -2720,9 +2723,6 @@ sub _DbLog_SBP_onRun_Log {
return; return;
}; };
$ins_hist = 0 if($ins_hist eq "0E0");
$error = __DbLog_SBP_commitOnly ($name, $dbh, $history);
if($ins_hist == $ceti) { if($ins_hist == $ceti) {
Log3 ($name, 4, "DbLog $name - $ins_hist of $ceti events inserted into table $history".($usepkh ? " using PK on columns $pkh" : "")); Log3 ($name, 4, "DbLog $name - $ins_hist of $ceti events inserted into table $history".($usepkh ? " using PK on columns $pkh" : ""));
} }
@ -2844,6 +2844,7 @@ sub _DbLog_SBP_onRun_Log {
$nins_cur++; $nins_cur++;
} }
if(!$nins_cur) { if(!$nins_cur) {
Log3 ($name, 4, "DbLog $name - ".($#device_cur+1)." of ".($#device_cur+1)." events inserted into table $current ".($usepkc ? " using PK on columns $pkc" : "")); Log3 ($name, 4, "DbLog $name - ".($#device_cur+1)." of ".($#device_cur+1)." events inserted into table $current ".($usepkc ? " using PK on columns $pkc" : ""));
} }
@ -2900,11 +2901,11 @@ sub _DbLog_SBP_onRun_Log {
$sth_ih->bind_param_array (6, [@value]); $sth_ih->bind_param_array (6, [@value]);
$sth_ih->bind_param_array (7, [@unit]); $sth_ih->bind_param_array (7, [@unit]);
$error = __DbLog_SBP_beginTransaction ($name, $dbh, $useta);
my @n2hist; my @n2hist;
my $rowhref; my $rowhref;
$error = __DbLog_SBP_beginTransaction ($name, $dbh, $useta);
eval { eval {
($tuples, $rows) = $sth_ih->execute_array( { ArrayTupleStatus => \@tuple_status } ); ($tuples, $rows) = $sth_ih->execute_array( { ArrayTupleStatus => \@tuple_status } );
@ -2950,21 +2951,23 @@ sub _DbLog_SBP_onRun_Log {
} }
} }
} }
1;
# $error = __DbLog_SBP_commitOnly ($name, $dbh, $history); # $error = __DbLog_SBP_commitOnly ($name, $dbh, $history);
#if ($error) { #if ($error) {
# $rowlback = $cdata if($useta); # nicht gespeicherte Datensätze nur zurück geben wenn Transaktion ein # $rowlback = $cdata if($useta); # nicht gespeicherte Datensätze nur zurück geben wenn Transaktion ein
#} #}
}; }
or do { $error = $@;
if ($@) {
$error = $@;
Log3 ($name, 2, "DbLog $name - Error table $history - $error"); Log3 ($name, 2, "DbLog $name - Error table $history - $error");
__DbLog_SBP_commitOnly ($name, $dbh, $history); # eingefügte Array-Daten bestätigen if($useta) {
$rowlback = $cdata; # nicht gespeicherte Datensätze nur zurück geben wenn Transaktion ein
__DbLog_SBP_rollbackOnly ($name, $dbh, $history);
}
else {
if(defined $rowhref) { # nicht gespeicherte Datensätze ausgeben if(defined $rowhref) { # nicht gespeicherte Datensätze ausgeben
Log3 ($name, 4, "DbLog $name - The following data are faulty and were not saved:"); Log3 ($name, 4, "DbLog $name - The following data are faulty and were not saved:");
@ -2973,8 +2976,9 @@ sub _DbLog_SBP_onRun_Log {
} }
} }
$rowlback = $cdata if($useta); # nicht gespeicherte Datensätze nur zurück geben wenn Transaktion ein __DbLog_SBP_commitOnly ($name, $dbh, $history); # eingefügte Array-Daten bestätigen
} }
};
} }
if (lc($DbLogType) =~ m(current)) { # insert current mit/ohne primary key if (lc($DbLogType) =~ m(current)) { # insert current mit/ohne primary key
@ -6737,8 +6741,8 @@ sub DbLog_commitMode {
my ($ac,$ta) = split "_", $cm; my ($ac,$ta) = split "_", $cm;
$useac = ($ac =~ /off/) ? 0 : $useac = $ac =~ /off/xs ? 0 :
($ac =~ /on/) ? 1 : $ac =~ /on/xs ? 1 :
2; 2;
$useta = 0 if($ta =~ /off/); $useta = 0 if($ta =~ /off/);