8000 AqlSubqueryExecutionBlockImplExecuteImplementation use moveValueInto … · arangodb/arangodb@41ce860 · GitHub
[go: up one dir, main page]

Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit 41ce860

Browse files
authored
AqlSubqueryExecutionBlockImplExecuteImplementation use moveValueInto instead of cloneValueInto (#11213)
* Fix memory leak in traversal * Use move instead of clone for AqlValues
1 parent c653260 commit 41ce860

File tree

1 file changed

+3
-3
lines changed

1 file changed

+3
-3
lines changed

arangod/Aql/TraversalExecutor.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -185,18 +185,18 @@ auto TraversalExecutor::doOutput(OutputAqlItemRow& output) -> void {
185185
if (_infos.useVertexOutput()) {
186186
AqlValue vertex = _traverser.lastVertexToAqlValue();
187187
AqlValueGuard guard{vertex, true};
188-
output.cloneValueInto(_infos.vertexRegister(), _inputRow, vertex);
188+
output.moveValueInto(_infos.vertexRegister(), _inputRow, guard);
189189
}
190190
if (_infos.useEdgeOutput()) {
191191
AqlValue edge = _traverser.lastEdgeToAqlValue();
192192
AqlValueGuard guard{edge, true};
193-
output.cloneValueInto(_infos.edgeRegister(), _inputRow, edge);
193+
output.moveValueInto(_infos.edgeRegister(), _inputRow, guard);
194194
}
195195
if (_infos.usePathOutput()) {
196196
transaction::BuilderLeaser tmp(_traverser.trx());
197197
AqlValue path = _traverser.pathToAqlValue(*tmp.builder());
198198
AqlValueGuard guard{path, true};
199-
output.cloneValueInto(_infos.pathRegister(), _inputRow, path);
199+
output.moveValueInto(_infos.pathRegister(), _inputRow, guard);
200200
}
201201
output.advanceRow();
202202
}

0 commit comments

Comments
 (0)
0