diff --git a/Ahuacatl/ahuacatl-access-optimiser.c b/Ahuacatl/ahuacatl-access-optimiser.c index 9fd8682506..c8132b94ed 100644 --- a/Ahuacatl/ahuacatl-access-optimiser.c +++ b/Ahuacatl/ahuacatl-access-optimiser.c @@ -40,6 +40,7 @@ /// @{ //////////////////////////////////////////////////////////////////////////////// +#ifdef DEBUG_AQL //////////////////////////////////////////////////////////////////////////////// /// @brief return the name of an access type //////////////////////////////////////////////////////////////////////////////// @@ -62,7 +63,7 @@ static char* AccessName (const TRI_aql_access_e type) { return "unknown"; } } - +#endif //////////////////////////////////////////////////////////////////////////////// /// @brief free access member data, but do not free the access struct itself @@ -1628,6 +1629,13 @@ static TRI_vector_pointer_t* ProcessNode (TRI_aql_context_t* const context, return NULL; } + if (node2->_type != AQL_NODE_VALUE && + node2->_type != AQL_NODE_LIST && + node2->_type != AQL_NODE_ARRAY) { + // only the above types are supported + return NULL; + } + field = GetAttributeName(context, node1); if (field) { @@ -1859,6 +1867,7 @@ void TRI_FreeRangesAql (TRI_vector_pointer_t* const ranges) { /// @brief dump a single range for debugging purposes //////////////////////////////////////////////////////////////////////////////// +#if DEBUG_AQL void TRI_DumpRangeAql (const TRI_aql_field_access_t* const fieldAccess) { printf("\nFIELD ACCESS\n- FIELD: %s\n",fieldAccess->_fullName); printf("- TYPE: %s\n", AccessName(fieldAccess->_type)); @@ -1907,6 +1916,7 @@ void TRI_DumpRangesAql (const TRI_vector_pointer_t* const ranges) { TRI_DumpRangeAql(fieldAccess); } } +#endif //////////////////////////////////////////////////////////////////////////////// /// @brief free all field access structs in a vector diff --git a/Ahuacatl/ahuacatl-access-optimiser.h b/Ahuacatl/ahuacatl-access-optimiser.h index 477c28a4a9..f41526d6a1 100644 --- a/Ahuacatl/ahuacatl-access-optimiser.h +++ b/Ahuacatl/ahuacatl-access-optimiser.h @@ -189,6 +189,7 @@ int TRI_PickAccessAql (const TRI_aql_field_access_t* const, void TRI_FreeRangesAql (TRI_vector_pointer_t* const); +#ifdef DEBUG_AQL //////////////////////////////////////////////////////////////////////////////// /// @brief dump a single range for debugging purposes //////////////////////////////////////////////////////////////////////////////// @@ -200,6 +201,7 @@ void TRI_DumpRangeAql (const TRI_aql_field_access_t* const); //////////////////////////////////////////////////////////////////////////////// void TRI_DumpRangesAql (const TRI_vector_pointer_t* const); +#endif //////////////////////////////////////////////////////////////////////////////// /// @brief free all field access structs in a vector