};
# castdate not supported for acqlia fields: they're all type text
- my ($k, $v, $fuzzy, $between, $not, $starts, $ends) = breakdown_term($unit);
+ my ($k, $v, $fuzzy, $between, $not, $starts, $ends, $castdate, $gte, $lte, $age, $gt, $lt) = breakdown_term($unit);
my $point = $subquery->{"where"}->{"-and"};
my $term_clause;
push @$point, {"attr_value" => {"ilike" => $v . "%"}};
} elsif ($ends and not ref $v) {
push @$point, {"attr_value" => {"ilike" => "%" . $v}};
+ } elsif ($gte and not ref $v) {
+ push @$point, {"attr_value" => {">=" => $v}};
+ } elsif ($lte and not ref $v) {
+ push @$point, {"attr_value" => {"<=" => $v}};
+ } elsif ($gt and not ref $v) {
+ push @$point, {"attr_value" => {">" => $v}};
+ } elsif ($lt and not ref $v) {
+ push @$point, {"attr_value" => {"<" => $v}};
} elsif ($between and could_be_range($v)) {
push @$point, {"attr_value" => {"between" => $v}};
} elsif (check_1d_max($v)) {
foreach my $unit (@$acqlia) {
# castdate not supported for acqlia fields: they're all type text
- my ($k, $v, $fuzzy, $between, $not, $starts, $ends) = breakdown_term($unit);
+ my ($k, $v, $fuzzy, $between, $not, $starts, $ends, $castdate, $gte, $lte, $age, $gt, $lt) = breakdown_term($unit);
my $term_clause;
if ($fuzzy and not ref $v) {
$term_clause = {
"attr_value" => {"ilike" => "%" . $v}
}
};
+ } elsif ($gte and not ref $v) {
+ $term_clause = {
+ "-and" => {
+ "definition" => $k,
+ "attr_value" => {">=" => $v}
+ }
+ };
+ } elsif ($lte and not ref $v) {
+ $term_clause = {
+ "-and" => {
+ "definition" => $k,
+ "attr_value" => {"<=" => $v}
+ }
+ };
+ } elsif ($gt and not ref $v) {
+ $term_clause = {
+ "-and" => {
+ "definition" => $k,
+ "attr_value" => {">" => $v}
+ }
+ };
+ } elsif ($lt and not ref $v) {
+ $term_clause = {
+ "-and" => {
+ "definition" => $k,
+ "attr_value" => {">" => $v}
+ }
+ };
} elsif ($between and could_be_range($v)) {
$term_clause = {
"-and" => {