|
sub initialize2 { my ($self) = @_; my $st = $self->{db}->prepare(qq{ show index from $self->{table} }); $st->execute(); my @keyfields = (); my $record; while (defined($record = $st->fetchrow_hashref())) { next unless $record->{Key_name} eq "PRIMARY"; $keyfields[$record->{Seq_in_index}] = $record->{Column_name}; } $st->finish(); shift @keyfields; # Seq_in_index is running from 1 croak "no primary key defined" unless @keyfields > 0; $self->{keyfields} = \@keyfields; $self->SUPER::initialize2(); } |
Durch die beiden Initialisierungs-Sequenzen über
initialize1 und initialize2 wird die am meisten
abgeleitete (und spezialisierte) Implementierung der
Abstraktion genau in der Mitte des gesamten
Initialisierungsvorgangs aktiv.
|
Copyright © 1996 - 2003 Andreas Borchert, in HTML konvertiert am 01.10.2003 |