# ================================================================== # 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;