use utf8;
use warnings; no warnings "redefine";
use strict;
use Dbase::Help qw(DoFn Do qquote);
use Dbase::Globals qw(content);
use Fehler qw(problem);
use Loader qw(line_in log_update);

# Darf nur verändert werden wenn rrd_typ = 1 = COUNTER
# ansonsten hat es immer denn Wert 1
sub set_messtyp_rrd_faktor($;$$) {
    my ( $idi, $kn, $wert ) = @_;

    my $rrd_faktor = $wert;
    unless ( defined $rrd_faktor ) {
        content( $rrd_faktor = line_in 'RRD Faktor: ' )
          or return;
    }

    return problem( qq(Das ist kein gültiger Faktor (Dezimalformat).) )
      if $rrd_faktor !~ /^\d+(?:.\d+)?\z/ and $rrd_faktor ne '-';

    $rrd_faktor = $rrd_faktor eq '-' ? '1' : qquote $rrd_faktor;
    return $rrd_faktor unless defined $idi;

    log_update mess_typ => id => $idi, undef, 'rrd_faktor', undef,
        DoFn("SELECT rrd_faktor FROM mess_typ WHERE id = $idi");
    Do("UPDATE mess_typ SET rrd_faktor = $rrd_faktor WHERE id = $idi");
}

1;
