From d546aa99a894446495f13a0857e249c47f16c47c Mon Sep 17 00:00:00 2001 From: James Date: Tue, 18 Nov 2014 12:30:27 +0000 Subject: [PATCH] adding support for OR --- arangod/Aql/OptimizerRules.cpp | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/arangod/Aql/OptimizerRules.cpp b/arangod/Aql/OptimizerRules.cpp index a226f7834e..6c14dbc36b 100644 --- a/arangod/Aql/OptimizerRules.cpp +++ b/arangod/Aql/OptimizerRules.cpp @@ -1230,6 +1230,13 @@ class FilterToEnumCollFinder : public WalkerWorker { attr.clear(); } } + + if (node->type == NODE_TYPE_OPERATOR_BINARY_OR) { + buildRangeInfoOR(node->getMember(0), enumCollVar, attr); + buildRangeInfoOR(node->getMember(1), enumCollVar, attr); + return; + } + // default case attr.clear(); enumCollVar = nullptr; @@ -1379,6 +1386,13 @@ class FilterToEnumCollFinder : public WalkerWorker { attr.clear(); } } + + if (node->type == NODE_TYPE_OPERATOR_BINARY_OR) { + buildRangeInfoOR(node->getMember(0), enumCollVar, attr); + buildRangeInfoOR(node->getMember(1), enumCollVar, attr); + return; + } + // default case attr.clear(); enumCollVar = nullptr;