169 |
# read database |
# read database |
170 |
for (my $mfn = 1; $mfn <= $maxmfn; $mfn++) { |
for (my $mfn = 1; $mfn <= $maxmfn; $mfn++) { |
171 |
|
|
172 |
|
|
173 |
|
$log->debug("mfn: $mfn\n"); |
174 |
|
|
175 |
# read record |
# read record |
176 |
my $row = OpenIsis::read( $isis_db, $mfn ); |
my $row = OpenIsis::read( $isis_db, $mfn ); |
177 |
foreach my $k (keys %{$row}) { |
foreach my $k (keys %{$row}) { |
198 |
} |
} |
199 |
|
|
200 |
# create lookup |
# create lookup |
201 |
my $rec = $self->{'data'}->{$mfn}; |
my $rec = $self->{'data'}->{$mfn} || $log->confess("record $mfn empty?"); |
202 |
$self->create_lookup($rec, @{$arg->{'lookup'}}); |
$self->create_lookup($rec, @{$arg->{'lookup'}}); |
203 |
|
|
204 |
$self->progress_bar($mfn,$maxmfn); |
$self->progress_bar($mfn,$maxmfn); |
208 |
$self->{'current_mfn'} = 1; |
$self->{'current_mfn'} = 1; |
209 |
$self->{'last_pcnt'} = 0; |
$self->{'last_pcnt'} = 0; |
210 |
|
|
211 |
|
$log->debug("max mfn: $maxmfn"); |
212 |
|
|
213 |
# store max mfn and return it. |
# store max mfn and return it. |
214 |
return $self->{'max_mfn'} = $maxmfn; |
return $self->{'max_mfn'} = $maxmfn; |
215 |
} |
} |
335 |
$log->logconfess("need HASH as first argument!") if ($rec !~ /HASH/o); |
$log->logconfess("need HASH as first argument!") if ($rec !~ /HASH/o); |
336 |
|
|
337 |
foreach my $i (@_) { |
foreach my $i (@_) { |
338 |
if ($i->{'eval'}) { |
$log->logconfess("need key") unless defined($i->{'key'}); |
339 |
my $eval = $self->fill_in($rec,$i->{'eval'}); |
$log->logconfess("need val") unless defined($i->{'val'}); |
340 |
my $key = $self->fill_in($rec,$i->{'key'}); |
|
341 |
my @val = $self->fill_in($rec,$i->{'val'}); |
if (defined($i->{'eval'})) { |
342 |
if ($key && @val && eval $eval) { |
# eval first, so we can skip fill_in for key and val |
343 |
|
my $eval = $self->fill_in($rec,$i->{'eval'}) || next; |
344 |
|
if ($self->_eval($eval)) { |
345 |
|
my $key = $self->fill_in($rec,$i->{'key'}) || next; |
346 |
|
my @val = $self->fill_in($rec,$i->{'val'}) || next; |
347 |
$log->debug("stored $key = ",sub { join(" | ",@val) }); |
$log->debug("stored $key = ",sub { join(" | ",@val) }); |
348 |
push @{$self->{'lookup'}->{$key}}, @val; |
push @{$self->{'lookup'}->{$key}}, @val; |
349 |
} |
} |
350 |
} else { |
} else { |
351 |
my $key = $self->fill_in($rec,$i->{'key'}); |
my $key = $self->fill_in($rec,$i->{'key'}) || next; |
352 |
my @val = $self->fill_in($rec,$i->{'val'}); |
my @val = $self->fill_in($rec,$i->{'val'}) || next; |
353 |
if ($key && @val) { |
$log->debug("stored $key = ",sub { join(" | ",@val) }); |
354 |
$log->debug("stored $key = ",sub { join(" | ",@val) }); |
push @{$self->{'lookup'}->{$key}}, @val; |
|
push @{$self->{'lookup'}->{$key}}, @val; |
|
|
} |
|
355 |
} |
} |
356 |
} |
} |
357 |
} |
} |