summary refs log tree commit diff stats
path: root/lib/field.cpp
diff options
context:
space:
mode:
authorKelly Rauchenberger <fefferburbia@gmail.com>2017-01-23 11:16:03 -0500
committerKelly Rauchenberger <fefferburbia@gmail.com>2017-01-23 11:16:03 -0500
commit71064d07ad84b1d31471298f8cc5b497cbe85505 (patch)
tree03a261f05e5a056d4acaa30287bd53b2bd72bf52 /lib/field.cpp
parent4a58f0f37aae6381f74a6d94c2be66f54b8ae107 (diff)
downloadverbly-71064d07ad84b1d31471298f8cc5b497cbe85505.tar.gz
verbly-71064d07ad84b1d31471298f8cc5b497cbe85505.tar.bz2
verbly-71064d07ad84b1d31471298f8cc5b497cbe85505.zip
Fixed nullity/non-nullity filters on join fields
Diffstat (limited to 'lib/field.cpp')
-rw-r--r--lib/field.cpp14
1 files changed, 12 insertions, 2 deletions
diff --git a/lib/field.cpp b/lib/field.cpp index d7adbb3..168935c 100644 --- a/lib/field.cpp +++ b/lib/field.cpp
@@ -70,12 +70,22 @@ namespace verbly {
70 70
71 field::operator filter() const 71 field::operator filter() const
72 { 72 {
73 return filter(*this, filter::comparison::is_not_null); 73 if (isJoin())
74 {
75 return filter(*this, filter::comparison::matches, filter());
76 } else {
77 return filter(*this, filter::comparison::is_not_null);
78 }
74 } 79 }
75 80
76 filter field::operator!() const 81 filter field::operator!() const
77 { 82 {
78 return filter(*this, filter::comparison::is_null); 83 if (isJoin())
84 {
85 return filter(*this, filter::comparison::does_not_match, filter());
86 } else {
87 return filter(*this, filter::comparison::is_null);
88 }
79 } 89 }
80 90
81 filter field::operator%=(filter joinCondition) const 91 filter field::operator%=(filter joinCondition) const