52 lines
1.5 KiB
Perl
52 lines
1.5 KiB
Perl
# ==================================================================
|
|
# Gossamer Threads Module Library - http://gossamer-threads.com/
|
|
#
|
|
# GT::Search::MYSQL::Search
|
|
# Author : Aki Mimoto
|
|
# CVS Info : 087,071,086,086,085
|
|
# $Id: Search.pm,v 1.14 2004/01/13 01:35:19 jagerman Exp $
|
|
#
|
|
# Copyright (c) 2004 Gossamer Threads Inc. All Rights Reserved.
|
|
# ==================================================================
|
|
#
|
|
# Description:
|
|
# Class used to search indexed tables.
|
|
#
|
|
|
|
package GT::SQL::Search::MYSQL::Search;
|
|
# ------------------------------------------------------------------------------
|
|
use strict;
|
|
use vars qw/ @ISA $ATTRIBS $VERSION $DEBUG $AUTOLOAD /;
|
|
use GT::SQL::Search::Base::Search;
|
|
@ISA = qw( GT::SQL::Search::Base::Search );
|
|
|
|
# ------------------------------------------------------------------------------
|
|
# Preamble information related to the object
|
|
|
|
$DEBUG = 0;
|
|
$VERSION = sprintf "%d.%03d", q$Revision: 1.14 $ =~ /(\d+)\.(\d+)/;
|
|
$ATTRIBS = {
|
|
min_word_size => 4
|
|
};
|
|
|
|
sub load {
|
|
# --------------------------------------------------
|
|
my $self = shift;
|
|
my $opts = $self->common_param( @_ );
|
|
|
|
# determine which mysql search variant to use.
|
|
my $tbl = $opts->{table};
|
|
my $ver_sth = $tbl->do_query( 'SELECT VERSION()' );
|
|
my $version = $ver_sth->fetchrow_array();
|
|
|
|
my ( $maj, $min ) = split /\./, $version;
|
|
|
|
my $pkg = 'GT::SQL::Search::MYSQL::';
|
|
$pkg .= $maj > 3 ? 'VER4' : 'VER3';
|
|
|
|
eval "require $pkg";
|
|
return $pkg->new(@_)
|
|
}
|
|
|
|
1;
|