diff options
author | Minijackson <minijackson@riseup.net> | 2018-06-11 11:08:12 +0200 |
---|---|---|
committer | Minijackson <minijackson@riseup.net> | 2018-06-11 11:08:12 +0200 |
commit | a520527c8983bf1cba50fd3d86d406e7e68ddb88 (patch) | |
tree | a2b4a104e00c6a14c11651a2112b6b45ce93babd /common/query.cpp | |
parent | bdf8ada25760ca9f4054d9ac719c703ce8abc300 (diff) | |
download | sink-a520527c8983bf1cba50fd3d86d406e7e68ddb88.tar.gz sink-a520527c8983bf1cba50fd3d86d406e7e68ddb88.zip |
Add overlap query
Diffstat (limited to 'common/query.cpp')
-rw-r--r-- | common/query.cpp | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/common/query.cpp b/common/query.cpp index 404a304..ceb1897 100644 --- a/common/query.cpp +++ b/common/query.cpp | |||
@@ -179,6 +179,19 @@ bool QueryBase::Comparator::matches(const QVariant &v) const | |||
179 | 179 | ||
180 | return range[0] <= v && v <= range[1]; | 180 | return range[0] <= v && v <= range[1]; |
181 | } | 181 | } |
182 | case Overlap: { | ||
183 | auto bounds = value.value<QList<QVariant>>(); | ||
184 | if (bounds.size() < 2) { | ||
185 | return false; | ||
186 | } | ||
187 | |||
188 | auto range = v.value<QList<QVariant>>(); | ||
189 | if (range.size() < 2) { | ||
190 | return false; | ||
191 | } | ||
192 | |||
193 | return range[0] <= bounds[1] && bounds[0] <= range[1]; | ||
194 | } | ||
182 | case Fulltext: | 195 | case Fulltext: |
183 | case Invalid: | 196 | case Invalid: |
184 | default: | 197 | default: |