1
0
Fork 0
mirror of https://github.com/perlbot/perlbuut synced 2025-06-08 00:15:42 -04:00

adding regex search

This commit is contained in:
Ryan Voots 2010-03-11 17:53:20 -05:00
parent 0f9f906f66
commit af3280e753

View file

@ -362,14 +362,31 @@ sub get_fact_search {
$body =~ s/^\s*for\s*//; #remove the for from searches $body =~ s/^\s*for\s*//; #remove the for from searches
my $results;
if ($body =~ m|^\s*m?/(.*)/\s*$|)
{
my $search = $1;
#XXX: need to also search contents of factoids TODO #XXX: need to also search contents of factoids TODO
my $results = $self->dbh->selectall_arrayref( $results = $self->dbh->selectall_arrayref(
"SELECT subject,copula,predicate
FROM (SELECT subject,copula,predicate FROM factoid GROUP BY original_subject) as subquery
WHERE subject regexp ? OR predicate regexp ?", # using a subquery so that i can do this properly
{Slice => {}},
$search, $search,
);
}
else
{
#XXX: need to also search contents of factoids TODO
$results = $self->dbh->selectall_arrayref(
"SELECT subject,copula,predicate "SELECT subject,copula,predicate
FROM (SELECT subject,copula,predicate FROM factoid GROUP BY original_subject) as subquery FROM (SELECT subject,copula,predicate FROM factoid GROUP BY original_subject) as subquery
WHERE subject like ? OR predicate like ?", # using a subquery so that i can do this properly WHERE subject like ? OR predicate like ?", # using a subquery so that i can do this properly
{Slice => {}}, {Slice => {}},
"%$body%", "%$body%", "%$body%", "%$body%",
); );
}
if( $results and @$results ) { if( $results and @$results ) {
my $ret_string; my $ret_string;
@ -383,6 +400,8 @@ sub get_fact_search {
else { else {
return "No matches." return "No matches."
} }
} }
sub get_fact { sub get_fact {