diff --git a/arangod/Aql/InputAqlItemRow.cpp b/arangod/Aql/InputAqlItemRow.cpp index 36481fe2df..403e328b5f 100644 --- a/arangod/Aql/InputAqlItemRow.cpp +++ b/arangod/Aql/InputAqlItemRow.cpp @@ -254,7 +254,12 @@ void InputAqlItemRow::toVelocyPack(transaction::Methods* trx, VPackBuilder& resu InputAqlItemRow::InputAqlItemRow(CreateInvalidInputRowHint) : _block(nullptr), _baseIndex(0) {} -InputAqlItemRow::InputAqlItemRow(SharedAqlItemBlockPtr block, size_t baseIndex) +InputAqlItemRow::InputAqlItemRow(SharedAqlItemBlockPtr const& block, size_t baseIndex) + : _block(block), _baseIndex(baseIndex) { + TRI_ASSERT(_block != nullptr); +} + +InputAqlItemRow::InputAqlItemRow(SharedAqlItemBlockPtr&& block, size_t baseIndex) noexcept : _block(std::move(block)), _baseIndex(baseIndex) { TRI_ASSERT(_block != nullptr); } diff --git a/arangod/Aql/InputAqlItemRow.h b/arangod/Aql/InputAqlItemRow.h index 168faf7e26..ed6b68de4f 100644 --- a/arangod/Aql/InputAqlItemRow.h +++ b/arangod/Aql/InputAqlItemRow.h @@ -67,9 +67,9 @@ class InputAqlItemRow { // The default constructor contains an invalid item row explicit InputAqlItemRow(CreateInvalidInputRowHint); - InputAqlItemRow( - // cppcheck-suppress passedByValue - SharedAqlItemBlockPtr block, size_t baseIndex); + InputAqlItemRow(SharedAqlItemBlockPtr const& block, size_t baseIndex); + + InputAqlItemRow(SharedAqlItemBlockPtr&& block, size_t baseIndex) noexcept; /** * @brief Get a reference to the value of the given Variable Nr