8000 Add some FilterExecutor and CalculationExecutor tests (#11231) · arangodb/arangodb@cb42580 · GitHub
[go: up one dir, main page]

Skip to content

Commit cb42580

Browse files
markuspfmchacki
andauthored
Add some FilterExecutor and CalculationExecutor tests (#11231)
* Add some FilterExecutor tests * Calculation executor tests * Some more testcode * Add NoneEntry for EntryBuilder * Add some tests for CalculationExecutor Co-authored-by: Michael Hackstein <michael@arangodb.com>
1 parent 25de4de commit cb42580

File tree

3 files changed

+365
-697
lines changed

3 files changed

+365
-697
lines changed

tests/Aql/AqlItemBlockHelper.h

Lines changed: 13 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,9 @@ namespace arangodb {
7777
namespace tests {
7878
namespace aql {
7979

80-
using EntryBuilder = std::variant<int, const char*>;
80+
struct NoneEntry {};
81+
82+
using EntryBuilder = std::variant<NoneEntry, int, const char*>;
8183

8284
template <::arangodb::aql::RegisterId columns>
8385
using RowBuilder = std::array<EntryBuilder, columns>;
@@ -112,15 +114,16 @@ SharedAqlItemBlockPtr buildBlock(AqlItemBlockManager& manager,
112114
for (size_t row = 0; row < matrix.size(); row++) {
113115
for (RegisterId col = 0; col < columns; col++) {
114116
auto const& entry = matrix[row][col];
115-
auto value = std::visit(
116-
overload{
117-
[](int i) { return AqlValue{AqlValueHintInt{i}}; },
118-
[](const char* json) {
119-
VPackBufferPtr tmpVpack = vpackFromJsonString(json);
120-
return AqlValue{AqlValueHintCopy{tmpVpack->data()}};
121-
},
122-
},
123-
entry);
117+
auto value =
118+
std::visit(overload{
119+
[](NoneEntry) { return AqlValue{}; },
120+
[](int i) { return AqlValue{AqlValueHintInt{i}}; },
121+
[](const char* json) {
122+
VPackBufferPtr tmpVpack = vpackFromJsonString(json);
123+
return AqlValue{AqlValueHintCopy{tmpVpack->data()}};
124+
},
125+
},
126+
entry);
124127
block->setValue(row, col, value);
125128
}
126129
}

0 commit comments

Comments
 (0)
0