mirror of https://gitee.com/bigwinds/arangodb
removed optimization for range node
This commit is contained in:
parent
fc8094e832
commit
1f423a5e0d
|
@ -948,11 +948,6 @@ void Ast::optimize () {
|
||||||
return optimizeReference(node);
|
return optimizeReference(node);
|
||||||
}
|
}
|
||||||
|
|
||||||
// range
|
|
||||||
if (node->type == NODE_TYPE_RANGE) {
|
|
||||||
return optimizeRange(node);
|
|
||||||
}
|
|
||||||
|
|
||||||
// LET
|
// LET
|
||||||
if (node->type == NODE_TYPE_LET) {
|
if (node->type == NODE_TYPE_LET) {
|
||||||
return optimizeLet(node);
|
return optimizeLet(node);
|
||||||
|
@ -1571,33 +1566,6 @@ AstNode* Ast::optimizeReference (AstNode* node) {
|
||||||
return static_cast<AstNode*>(variable->constValue());
|
return static_cast<AstNode*>(variable->constValue());
|
||||||
}
|
}
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////////////////////
|
|
||||||
/// @brief optimizes the range operator
|
|
||||||
////////////////////////////////////////////////////////////////////////////////
|
|
||||||
|
|
||||||
AstNode* Ast::optimizeRange (AstNode* node) {
|
|
||||||
TRI_ASSERT(node != nullptr);
|
|
||||||
TRI_ASSERT(node->type == NODE_TYPE_RANGE);
|
|
||||||
TRI_ASSERT(node->numMembers() == 2);
|
|
||||||
|
|
||||||
AstNode* lhs = node->getMember(0);
|
|
||||||
AstNode* rhs = node->getMember(1);
|
|
||||||
|
|
||||||
if (lhs == nullptr || rhs == nullptr) {
|
|
||||||
THROW_ARANGO_EXCEPTION(TRI_ERROR_OUT_OF_MEMORY);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (! lhs->isConstant() || ! rhs->isConstant()) {
|
|
||||||
return node;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (! lhs->isNumericValue() || ! rhs->isNumericValue()) {
|
|
||||||
_query->registerError(TRI_ERROR_QUERY_INVALID_ARITHMETIC_VALUE);
|
|
||||||
}
|
|
||||||
|
|
||||||
return node;
|
|
||||||
}
|
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////////////
|
||||||
/// @brief optimizes the LET statement
|
/// @brief optimizes the LET statement
|
||||||
////////////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
|
@ -569,12 +569,6 @@ namespace triagens {
|
||||||
|
|
||||||
AstNode* optimizeReference (AstNode*);
|
AstNode* optimizeReference (AstNode*);
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////////////////////
|
|
||||||
/// @brief optimizes the range operator
|
|
||||||
////////////////////////////////////////////////////////////////////////////////
|
|
||||||
|
|
||||||
AstNode* optimizeRange (AstNode*);
|
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////////////
|
||||||
/// @brief optimizes the LET statement
|
/// @brief optimizes the LET statement
|
||||||
////////////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
Loading…
Reference in New Issue