| Akron | 61e8bce | 2017-05-24 15:55:27 +0200 | [diff] [blame] | 1 | package Krawfish::Koral::Query::Constraint::NotBetween; |
| 2 | use Krawfish::Query::Constraint::NotBetween; |
| Akron | 61e8bce | 2017-05-24 15:55:27 +0200 | [diff] [blame] | 3 | use strict; |
| 4 | use warnings; |
| 5 | |
| 6 | sub new { |
| 7 | my $class = shift; |
| 8 | bless { |
| 9 | query => shift |
| 10 | }, $class; |
| 11 | }; |
| 12 | |
| 13 | sub to_string { |
| 14 | my $self = shift; |
| Akron | 52751e6 | 2017-05-25 02:31:37 +0200 | [diff] [blame] | 15 | return 'notBetween=' . $self->{query}->to_string; |
| Akron | 61e8bce | 2017-05-24 15:55:27 +0200 | [diff] [blame] | 16 | }; |
| 17 | |
| 18 | sub plan_for { |
| 19 | my ($self, $index) = @_; |
| Akron | 617871f | 2017-05-27 02:05:31 +0200 | [diff] [blame] | 20 | my $query; |
| 21 | |
| 22 | unless ($query = $self->{query}->plan_without_classes_for($index)) { |
| 23 | # TODO something like this: $self->copy_info_from($self->span); |
| 24 | return; |
| 25 | }; |
| 26 | |
| 27 | # Span has no match |
| 28 | if ($query->freq == 0) { |
| 29 | return; |
| 30 | }; |
| 31 | |
| 32 | return Krawfish::Query::Constraint::NotBetween->new($query); |
| Akron | 61e8bce | 2017-05-24 15:55:27 +0200 | [diff] [blame] | 33 | }; |
| 34 | |
| 35 | 1; |