sql formatting tweaks
authorIan Beckwith <ianb@erislabs.net>
Tue, 19 Oct 2010 17:52:53 +0000 (18:52 +0100)
committerIan Beckwith <ianb@erislabs.net>
Tue, 19 Oct 2010 17:52:53 +0000 (18:52 +0100)
lib/ID3FS/Path.pm
lib/ID3FS/Path/Node.pm

index 01b1234..629c02a 100644 (file)
@@ -695,6 +695,8 @@ sub tags_subselect
     }
     my ($sqlclause, @joins)=(undef, ());
     ($sqlclause, @joins) = $tree->to_sql($hasvals) if($tree);
     }
     my ($sqlclause, @joins)=(undef, ());
     ($sqlclause, @joins) = $tree->to_sql($hasvals) if($tree);
+#    use Data::Dumper;
+#    print Dumper $tree if($tree);
 #    print "SQL(" . scalar(@joins) ."): $sqlclause\n";
     my $sql="\tSELECT fxt1.files_id FROM tags t1";
     my @crosses=();
 #    print "SQL(" . scalar(@joins) ."): $sqlclause\n";
     my $sql="\tSELECT fxt1.files_id FROM tags t1";
     my @crosses=();
index 774af3a..6254600 100644 (file)
@@ -82,7 +82,7 @@ sub to_sql
        $str .= "t" . scalar(@joins) . ".id='" . $self->{id} . "'";
        if($not && !$hasvals)
        {
        $str .= "t" . scalar(@joins) . ".id='" . $self->{id} . "'";
        if($not && !$hasvals)
        {
-           $str .= " AND fxt" . scalar(@joins) . ".files_id IS NULL";
+           $str = "(" . $str . " AND fxt" . scalar(@joins) . ".files_id IS NULL)";
        }
        return ($str, @outjoins);
     }
        }
        return ($str, @outjoins);
     }
@@ -150,7 +150,7 @@ sub to_sql
     $str=$leftstr;
     $str .= " $op " if($op && !$not);
     $str .= $rightstr;
     $str=$leftstr;
     $str .= " $op " if($op && !$not);
     $str .= $rightstr;
-    if($op || ($left && $right))
+    if($op && $left && $right)
     {
        $str="(" . $str . ")";
     }
     {
        $str="(" . $str . ")";
     }