Introduced squote as an util method
diff --git a/lib/Krawfish/Koral/Query/Builder.pm b/lib/Krawfish/Koral/Query/Builder.pm
index c4471b0..4ae34bc 100644
--- a/lib/Krawfish/Koral/Query/Builder.pm
+++ b/lib/Krawfish/Koral/Query/Builder.pm
@@ -17,6 +17,7 @@
# TODO: Not all constraints need to be wrapped
use Krawfish::Koral::Query::Constraint::Position;
use Krawfish::Koral::Query::Constraint::ClassDistance;
+use Krawfish::Koral::Query::Constraint::NotBetween;
sub new {
my $class = shift;
@@ -118,6 +119,11 @@
Krawfish::Koral::Query::Constraint::ClassDistance->new(@_);
};
+sub c_not_between {
+ shift;
+ Krawfish::Koral::Query::Constraint::NotBetween->new(@_);
+};
+
sub length {
shift;
Krawfish::Koral::Query::Length->new(@_);
diff --git a/lib/Krawfish/Koral/Query/Constraint/NotBetween.pm b/lib/Krawfish/Koral/Query/Constraint/NotBetween.pm
new file mode 100644
index 0000000..72c5eda
--- /dev/null
+++ b/lib/Krawfish/Koral/Query/Constraint/NotBetween.pm
@@ -0,0 +1,25 @@
+package Krawfish::Koral::Query::Constraint::NotBetween;
+use Krawfish::Query::Constraint::NotBetween;
+use Krawfish::Util::String qw/squote/;
+use strict;
+use warnings;
+
+sub new {
+ my $class = shift;
+ bless {
+ query => shift
+ }, $class;
+};
+
+sub to_string {
+ my $self = shift;
+ return 'notBetween=' . squote($self->{query}->to_string);
+};
+
+sub plan_for {
+ my ($self, $index) = @_;
+ my $query = $self->{query}->plan_for($index);
+ Krawfish::Query::Constraint::NotBetween->new($query);
+};
+
+1;
diff --git a/lib/Krawfish/Koral/Query/Sequence.pm b/lib/Krawfish/Koral/Query/Sequence.pm
index b2d2682..053e2c7 100644
--- a/lib/Krawfish/Koral/Query/Sequence.pm
+++ b/lib/Krawfish/Koral/Query/Sequence.pm
@@ -7,6 +7,8 @@
# TODO: Optimize if there is an identical subquery
# in a direct sequence - make this a repetition!!!
+# Todo: Check for queries like "Der {[pos!=ADJ]*} Mann"
+
use constant DEBUG => 0;
sub new {