$self->{name}=shift;
$self->{parents_id}=shift;
$self->{table}=1;
- $self->{join}=undef;
+ $self->{hasvals}=undef;
if($self->{type} != $TYPE_BOOL)
{
my $table='';
sub id { return shift->set("id", shift); }
sub parents_id { return shift->set("parents_id", shift); }
sub table { return shift->set("table", shift); }
-sub join { return shift->set("join", shift); }
+sub hasvals { return shift->set("hasvals", shift); }
sub to_sql
{
- my($self, $hasvals, $not)=@_;
+ my($self, $not)=@_;
$not=0 unless(defined($not));
- $hasvals=0 unless(defined($hasvals));
my $str='';
if($self->type() != $TYPE_BOOL)
{
$str .= "t" . $self->table() . ".id='" . $self->{id} . "'";
- if($not && !$hasvals)
+ if($not && !$self->hasvals())
{
$str = "(" . $str . " AND fxt" . $self->table() . ".files_id IS NULL)";
}
my $right=$self->right();
return ("") unless($left || $right);
- my $leftstr = $left->to_sql($hasvals, $not) if($left);
+ my $leftstr = $left->to_sql($not) if($left);
my $op=$self->name();
$not=1 if(defined($op) && ($op eq "NOT"));
- my $rightstr = $right->to_sql($hasvals, $not) if($right);
+ my $rightstr = $right->to_sql($not) if($right);
$str = $leftstr;
$str .= " $op " if($op && !$not);
$str .= $rightstr;