removing files no longer being distributed with WebGUI
This commit is contained in:
parent
e2dc0e7b2c
commit
56a8e6ea44
70 changed files with 0 additions and 45620 deletions
|
|
@ -1,142 +0,0 @@
|
|||
|
||||
package DBIx::FullTextSearch::TableString;
|
||||
use vars qw! @ISA !;
|
||||
@ISA = qw! DBIx::FullTextSearch::String DBIx::FullTextSearch::Table !;
|
||||
|
||||
sub index_document {
|
||||
my ($self, $id, $data) = @_;
|
||||
my @data_sets = $self->get_the_data_from_table($id);
|
||||
push @data_sets, $data if $data;
|
||||
$self->SUPER::index_document($id, \@data_sets);
|
||||
}
|
||||
|
||||
package DBIx::FullTextSearch::TableNum;
|
||||
use vars qw! @ISA !;
|
||||
@ISA = qw! DBIx::FullTextSearch::Table !;
|
||||
|
||||
sub index_document {
|
||||
my ($self, $id, $extra_data) = @_;
|
||||
my @data_sets = $self->get_the_data_from_table($id);
|
||||
push @data_sets, $extra_data if $extra_data;
|
||||
$self->SUPER::index_document($id, \@data_sets);
|
||||
}
|
||||
|
||||
|
||||
package DBIx::FullTextSearch::Table;
|
||||
use DBIx::FullTextSearch;
|
||||
use strict;
|
||||
use vars qw! @ISA !;
|
||||
@ISA = qw! DBIx::FullTextSearch !;
|
||||
|
||||
sub _open_tables {
|
||||
my $self = shift;
|
||||
if (defined $self->{'doc_id_table'}) {
|
||||
eval 'use DBIx::FullTextSearch::String';
|
||||
bless $self, 'DBIx::FullTextSearch::TableString';
|
||||
}
|
||||
else {
|
||||
bless $self, 'DBIx::FullTextSearch::TableNum';
|
||||
}
|
||||
}
|
||||
|
||||
# we do not create any new tables, we just check that the parameters are
|
||||
# OK (the table and columns exist, etc.)
|
||||
sub _create_tables {
|
||||
my $fts = shift;
|
||||
my ($table, $column, $id) = @{$fts}{ qw! table_name column_name
|
||||
column_id_name ! };
|
||||
if (not defined $table and $column =~ /\./) {
|
||||
($table, $column) = ($column =~ /^(.*)\.(.*)$/s);
|
||||
}
|
||||
my $id_type;
|
||||
|
||||
if (not defined $table) {
|
||||
return "The parameter table_name has to be specified with the table frontend.";
|
||||
}
|
||||
if (not defined $column) {
|
||||
return "The parameter column_name has to be specified with the table frontend.";
|
||||
}
|
||||
my $dbh = $fts->{'dbh'};
|
||||
my $sth = $dbh->prepare("show columns from $table");
|
||||
$sth->{'PrintError'} = 0;
|
||||
$sth->{'RaiseError'} = 0;
|
||||
$sth->execute or return "The table `$table' doesn't exist.";
|
||||
|
||||
my $info = $dbh->selectall_arrayref($sth,
|
||||
{ 'PrintError' => 0, 'RaiseError' => 0 });
|
||||
if (not defined $info) {
|
||||
return "The table `$table' doesn't exist.";
|
||||
}
|
||||
|
||||
# use Data::Dumper; print Dumper $info;
|
||||
|
||||
if (not defined $id) {
|
||||
# search for column with primary key
|
||||
my $pri_num = 0;
|
||||
for my $i (0 .. $#$info) {
|
||||
if ($info->[$i][3] eq 'PRI') {
|
||||
$pri_num++;
|
||||
$id = $info->[$i][0];
|
||||
$id_type = $info->[$i][1];
|
||||
}
|
||||
}
|
||||
if ($pri_num > 1) {
|
||||
return 'The primary key has to be one-column.';
|
||||
}
|
||||
if ($pri_num == 0) {
|
||||
return "No primary key found in the table `$table'.";
|
||||
}
|
||||
}
|
||||
else {
|
||||
# find '$id' column
|
||||
for my $i (0 .. $#$info) {
|
||||
if ($info->[$i][0] eq $id){
|
||||
$id_type = $info->[$i][1];
|
||||
last;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
unless(defined $id_type){
|
||||
return "No key named '$id' found in the table '$table'";
|
||||
}
|
||||
|
||||
my $testcol = $dbh->prepare("select $column from $table where 1 = 0");
|
||||
$testcol->execute or
|
||||
return "Column `$column' doesn't exist in table `$table'.";
|
||||
$testcol->finish;
|
||||
|
||||
$fts->{'column_id_name'} = $id;
|
||||
|
||||
my $errstr;
|
||||
|
||||
if ($id_type =~ /([a-z]*int)/) {
|
||||
$fts->{'doc_id_bits'} = $DBIx::FullTextSearch::INT_TO_BITS{$1};
|
||||
bless $fts, 'DBIx::FullTextSearch::TableNum';
|
||||
}
|
||||
else {
|
||||
my ($length) = ($id_type =~ /^\w+\((\d+)\)$/);
|
||||
$fts->{'name_length'} = $1;
|
||||
eval 'use DBIx::FullTextSearch::String';
|
||||
bless $fts, 'DBIx::FullTextSearch::TableString';
|
||||
$errstr = $fts->DBIx::FullTextSearch::String::_create_tables($fts);
|
||||
}
|
||||
### use Data::Dumper; print Dumper $fts;
|
||||
return $errstr;
|
||||
}
|
||||
|
||||
sub get_the_data_from_table {
|
||||
my ($self, $id) = @_;
|
||||
my $dbh = $self->{'dbh'};
|
||||
my $get_data = ( defined $self->{'get_data_sth'}
|
||||
? $self->{'get_data_sth'}
|
||||
: $self->{'get_data_sth'} = $dbh->prepare("
|
||||
select $self->{'column_name'} from $self->{'table_name'}
|
||||
where $self->{'column_id_name'} = ?
|
||||
") );
|
||||
|
||||
my @data_ary = $dbh->selectrow_array($get_data, {}, $id);
|
||||
return wantarray ? @data_ary : join(" ", @data_ary);
|
||||
}
|
||||
|
||||
1;
|
||||
Loading…
Add table
Add a link
Reference in a new issue