{
my($self)=@_;
my $hasvals=$self->expecting_values();
- if($self->{in_all})
- {
- # FIXME: is this used?
- die "IN_ALL CALLED!!\n";
- return "\tSELECT id FROM files AS files_id\n";
- }
my $tree=$self->{tagtree};
- # FIXME
- print "UNDEF!!\n" unless($self->{tagtree});
my $parent=$self->trailing_tag_parent();
# print "ELEMENTS: ", join('/', map { $_->{name}; } @{$self->{elements}}), "\n";
return $sql;
}
-# FIXME: remove
-sub constraints_tag_list
-{
- my($self, @constraints)=@_;
- my $lasttag=undef;
- my @tags=();
- my @tags_vals=();
- for my $constraint (@constraints)
- {
-# print ref($constraint), ": ", $constraint->{name}, "\n";
- if($self->is("tag", $constraint))
- {
- if(defined($lasttag))
- {
-# print "TAGVAL\n";
- push(@tags_vals, [$lasttag, $constraint->id()]) if defined($constraint->id());
- $lasttag=undef;
- }
- elsif($self->tag_has_values($constraint->id()))
- {
-# print "HASVALUES\n";
- $lasttag=$constraint->id() if defined($constraint->id());
- }
- else
- {
-# print "NOVALUES\n";
- push(@tags, $constraint->id()) if(defined($constraint->id()));
- }
- }
- }
- @tags=map{ "\"$_\""; } @tags;
- @tags_vals=map( { [ map({ "\"$_\""; } @$_ ) ] } @tags_vals);
- $lasttag="\"$lasttag\"" if defined($lasttag);
- return(\@tags, \@tags_vals, $lasttag);
-}
-
# we just filter $ALLTRACKS, $NOARTIST and $NOALBUM
# filtering tags properly requires up to four levels of recursion
# (tag/tagval/AND/NOT) and is too slow