Ignore empty atoms in query decomposition
authorMike Rylander <mrylander@gmail.com>
Tue, 23 Aug 2011 19:03:56 +0000 (15:03 -0400)
committerThomas Berezansky <tsbere@mvlc.org>
Wed, 24 Aug 2011 18:16:02 +0000 (14:16 -0400)
Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
Open-ILS/src/perlmods/lib/OpenILS/Application/Storage/QueryParser.pm

index db9dd98..b4dc798 100644 (file)
@@ -676,7 +676,7 @@ sub decompose {
             my $negator = ($atom =~ s/^-//o) ? '!' : '';
             my $truncate = ($atom =~ s/\*$//o) ? '*' : '';
 
-            if (!grep { $atom eq $_ } ('&','|')) { # throw away & and |, not allowed in tsquery, and not really useful anyway
+            if ($atom ne '' and !grep { $atom eq $_ } ('&','|')) { # throw away & and |, not allowed in tsquery, and not really useful anyway
                 my $class_node = $struct->classed_node($current_class);
                 $class_node->add_fts_atom( $atom, suffix => $truncate, prefix => $negator, node => $class_node );
                 $struct->joiner( '&' );