2
0
mirror of https://github.com/fhem/fhem-mirror.git synced 2025-03-03 16:56:54 +00:00

93_DbLog: - removed string length limitation for SQLITE. - little reduceLog cosmetics.

git-svn-id: https://svn.fhem.de/fhem/trunk@9340 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
rapster 2015-10-02 11:09:41 +00:00
parent dafd1db6e2
commit d631b94e19
2 changed files with 15 additions and 12 deletions

View File

@ -1,5 +1,6 @@
# Add changes at the top of the list. Keep it in ASCII, and 80-char wide. # Add changes at the top of the list. Keep it in ASCII, and 80-char wide.
# Do not insert empty lines here, update check depends on it. # Do not insert empty lines here, update check depends on it.
- change: 93_DbLog: removed string length limitation for SQLITE.
- bugfix: 93_DbLog: fixed ploteditor bug when DbLogType=History. - bugfix: 93_DbLog: fixed ploteditor bug when DbLogType=History.
- feature: 93_DbLog: added new setter 'reduceLog' to clean up database. - feature: 93_DbLog: added new setter 'reduceLog' to clean up database.
- feature: new Modules 36_EleroStick.pm and 36_EleroDrive.pm for Elero shutters - feature: new Modules 36_EleroStick.pm and 36_EleroDrive.pm for Elero shutters

View File

@ -439,14 +439,16 @@ sub DbLog_Push(@) {
my ($hash, $DbLogType, $timestamp, $device, $type, $event, $reading, $value, $unit) = @_; my ($hash, $DbLogType, $timestamp, $device, $type, $event, $reading, $value, $unit) = @_;
my $dbh= $hash->{DBH}; my $dbh= $hash->{DBH};
# Daten auf maximale laenge beschneiden if ($hash->{DBMODEL} ne 'SQLITE') {
$device = substr($device,0, $columns{DEVICE}); # Daten auf maximale laenge beschneiden
$type = substr($type,0, $columns{TYPE}); $device = substr($device,0, $columns{DEVICE});
$event = substr($event,0, $columns{EVENT}); $type = substr($type,0, $columns{TYPE});
$reading = substr($reading,0, $columns{READING}); $event = substr($event,0, $columns{EVENT});
$value = substr($value,0, $columns{VALUE}); $reading = substr($reading,0, $columns{READING});
$unit = substr($unit,0, $columns{UNIT}); $value = substr($value,0, $columns{VALUE});
$unit = substr($unit,0, $columns{UNIT});
}
$dbh->{RaiseError} = 1; $dbh->{RaiseError} = 1;
$dbh->{PrintError} = 0; $dbh->{PrintError} = 0;
@ -1280,7 +1282,7 @@ DbLog_Get($@)
} }
### DBLog - Historische Werte ausdünnen > Forum #41089 ### DBLog - Historische Werte ausduennen > Forum #41089
sub DbLog_reduceLog($@) { sub DbLog_reduceLog($@) {
my ($hash,@a) = @_; my ($hash,@a) = @_;
my ($ret,$cmd,$row,$filter,$exclude,$c,$day,$hour,$lastHour,$updDate,$updHour,$average,$processingDay,$lastUpdH,%hourlyKnown,%averageHash,@excludeRegex,@dayRows,@averageUpd,@averageUpdD); my ($ret,$cmd,$row,$filter,$exclude,$c,$day,$hour,$lastHour,$updDate,$updHour,$average,$processingDay,$lastUpdH,%hourlyKnown,%averageHash,@excludeRegex,@dayRows,@averageUpd,@averageUpdD);
@ -1295,9 +1297,9 @@ sub DbLog_reduceLog($@) {
} }
Log3($name, 3, "DbLog $name: reduceLog requested with DAYS=$a[2]".(($average || $filter) ? ', ' : '').(($average) ? "$average" : '').(($average && $filter) ? ", " : '').(($filter) ? "EXCLUDE=$filter" : '')); Log3($name, 3, "DbLog $name: reduceLog requested with DAYS=$a[2]".(($average || $filter) ? ', ' : '').(($average) ? "$average" : '').(($average && $filter) ? ", " : '').(($filter) ? "EXCLUDE=$filter" : ''));
if (InternalVal($name,'DBMODEL','') eq 'SQLITE') { $cmd = "datetime('now', '-$a[2] days')"; } if ($hash->{DBMODEL} eq 'SQLITE') { $cmd = "datetime('now', '-$a[2] days')"; }
elsif (InternalVal($name,'DBMODEL','') eq 'MYSQL') { $cmd = "DATE_SUB(CURDATE(),INTERVAL $a[2] DAY)"; } elsif ($hash->{DBMODEL} eq 'MYSQL') { $cmd = "DATE_SUB(CURDATE(),INTERVAL $a[2] DAY)"; }
elsif (InternalVal($name,'DBMODEL','') eq 'POSTGRESQL') { $cmd = "NOW() - INTERVAL '$a[2] DAY"; } elsif ($hash->{DBMODEL} eq 'POSTGRESQL') { $cmd = "NOW() - INTERVAL '$a[2] DAY"; }
else { $ret = 'Unknown database type.'; } else { $ret = 'Unknown database type.'; }
if ($cmd) { if ($cmd) {