more sql tweaks
authorIan Beckwith <ianb@erislabs.net>
Mon, 4 Oct 2010 03:34:29 +0000 (04:34 +0100)
committerIan Beckwith <ianb@erislabs.net>
Mon, 4 Oct 2010 03:34:29 +0000 (04:34 +0100)
lib/ID3FS/DB.pm

index 808ff11..96b88f9 100644 (file)
@@ -207,12 +207,13 @@ sub tags
     push(@andclauses, "( t2.parents_id=" . (defined($parent) ? $parent : "''") . " )");
     if(@tags)
     {
-       push(@orclauses, "( t2.parents_id='' AND t2.id NOT IN ( " . join(', ', @tags) ." ) )");
+       push(@orclauses, "( t2.id NOT IN ( " . join(', ', @tags) ." ) )");
     }
     for my $pair (@tags_vals)
     {
        my($tag, $val)=@$pair;
-       push(@orclauses, "( NOT (t2.parents_id=$tag AND t2.id=$val ) )");
+#      push(@orclauses, "( NOT ( t2.parents_id=$tag AND t2.id=$val ) )");
+       push(@andclauses, "( NOT ( t2.id=$tag ) )");
     }
     if(@orclauses)
     {
@@ -402,7 +403,8 @@ sub tags_subselect
     my @andclauses=();
     if(@tags)
     {
-       push(@orclauses, "( t1.parents_id='' AND t1.id IN ( " . join(', ', @tags) ." ) )");
+       push(@andclauses, "( t1.parents_id=" . (defined($parent) ? $parent : "''") . " )");
+       push(@andclauses, "( t1.id IN ( " . join(', ', @tags) ." ) )");
     }
     for my $pair (@tags_vals)
     {