Skip to content

Commit

Permalink
update
Browse files Browse the repository at this point in the history
  • Loading branch information
acquamarin committed Jun 22, 2023
1 parent d1a37b2 commit 4f69f02
Show file tree
Hide file tree
Showing 2 changed files with 23 additions and 34 deletions.
24 changes: 12 additions & 12 deletions src/function/comparison/comparison_operations.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -4,61 +4,61 @@ namespace kuzu {
namespace function {
namespace operation {

template<typename OPERATION>
template<typename OP>
static void executeNestedOperation(uint8_t& result, common::ValueVector* leftVector,
common::ValueVector* rightVector, uint64_t leftPos, uint64_t rightPos) {
switch (leftVector->dataType.getPhysicalType()) {
case common::PhysicalTypeID::BOOL: {
OPERATION::operation(leftVector->getValue<uint8_t>(leftPos),
OP::operation(leftVector->getValue<uint8_t>(leftPos),
rightVector->getValue<uint8_t>(rightPos), result, nullptr /* left */,
nullptr /* right */);
} break;
case common::PhysicalTypeID::INT64: {
OPERATION::operation(leftVector->getValue<int64_t>(leftPos),
OP::operation(leftVector->getValue<int64_t>(leftPos),
rightVector->getValue<int64_t>(rightPos), result, nullptr /* left */,
nullptr /* right */);
} break;
case common::PhysicalTypeID::INT32: {
OPERATION::operation(leftVector->getValue<int32_t>(leftPos),
OP::operation(leftVector->getValue<int32_t>(leftPos),
rightVector->getValue<int32_t>(rightPos), result, nullptr /* left */,
nullptr /* right */);
} break;
case common::PhysicalTypeID::INT16: {

Check warning on line 26 in src/function/comparison/comparison_operations.cpp

View check run for this annotation

Codecov / codecov/patch

src/function/comparison/comparison_operations.cpp#L26

Added line #L26 was not covered by tests
OPERATION::operation(leftVector->getValue<int16_t>(leftPos),
OP::operation(leftVector->getValue<int16_t>(leftPos),
rightVector->getValue<int16_t>(rightPos), result, nullptr /* left */,
nullptr /* right */);
} break;
case common::PhysicalTypeID::DOUBLE: {
OPERATION::operation(leftVector->getValue<double_t>(leftPos),
OP::operation(leftVector->getValue<double_t>(leftPos),
rightVector->getValue<double_t>(rightPos), result, nullptr /* left */,
nullptr /* right */);
} break;
case common::PhysicalTypeID::FLOAT: {

Check warning on line 36 in src/function/comparison/comparison_operations.cpp

View check run for this annotation

Codecov / codecov/patch

src/function/comparison/comparison_operations.cpp#L36

Added line #L36 was not covered by tests
OPERATION::operation(leftVector->getValue<float_t>(leftPos),
OP::operation(leftVector->getValue<float_t>(leftPos),
rightVector->getValue<float_t>(rightPos), result, nullptr /* left */,
nullptr /* right */);
} break;
case common::PhysicalTypeID::STRING: {
OPERATION::operation(leftVector->getValue<common::ku_string_t>(leftPos),
OP::operation(leftVector->getValue<common::ku_string_t>(leftPos),
rightVector->getValue<common::ku_string_t>(rightPos), result, nullptr /* left */,
nullptr /* right */);
} break;
case common::PhysicalTypeID::INTERVAL: {
OPERATION::operation(leftVector->getValue<common::interval_t>(leftPos),
OP::operation(leftVector->getValue<common::interval_t>(leftPos),
rightVector->getValue<common::interval_t>(rightPos), result, nullptr /* left */,
nullptr /* right */);
} break;
case common::PhysicalTypeID::INTERNAL_ID: {

Check warning on line 51 in src/function/comparison/comparison_operations.cpp

View check run for this annotation

Codecov / codecov/patch

src/function/comparison/comparison_operations.cpp#L51

Added line #L51 was not covered by tests
OPERATION::operation(leftVector->getValue<common::internalID_t>(leftPos),
OP::operation(leftVector->getValue<common::internalID_t>(leftPos),
rightVector->getValue<common::internalID_t>(rightPos), result, nullptr /* left */,
nullptr /* right */);
} break;
case common::PhysicalTypeID::VAR_LIST: {
OPERATION::operation(leftVector->getValue<common::list_entry_t>(leftPos),
OP::operation(leftVector->getValue<common::list_entry_t>(leftPos),
rightVector->getValue<common::list_entry_t>(rightPos), result, leftVector, rightVector);
} break;
case common::PhysicalTypeID::STRUCT: {
OPERATION::operation(leftVector->getValue<common::struct_entry_t>(leftPos),
OP::operation(leftVector->getValue<common::struct_entry_t>(leftPos),
rightVector->getValue<common::struct_entry_t>(rightPos), result, leftVector,
rightVector);
} break;
Expand Down
33 changes: 11 additions & 22 deletions src/include/function/comparison/vector_comparison_operations.h
Original file line number Diff line number Diff line change
Expand Up @@ -119,49 +119,38 @@ class VectorComparisonOperations : public VectorOperations {
switch (leftTypeID) {
case common::PhysicalTypeID::INT64: {
func = BinaryComparisonSelectFunction<int64_t, int64_t, FUNC>;
return;
}
} break;
case common::PhysicalTypeID::INT32: {
func = BinaryComparisonSelectFunction<int32_t, int32_t, FUNC>;
return;
}
} break;
case common::PhysicalTypeID::INT16: {
func = BinaryComparisonSelectFunction<int16_t, int16_t, FUNC>;
return;
}
} break;
case common::PhysicalTypeID::DOUBLE: {
func = BinaryComparisonSelectFunction<double_t, double_t, FUNC>;
return;
}
} break;
case common::PhysicalTypeID::FLOAT: {
func = BinaryComparisonSelectFunction<float_t, float_t, FUNC>;
return;
}
} break;
case common::PhysicalTypeID::BOOL: {
func = BinaryComparisonSelectFunction<uint8_t, uint8_t, FUNC>;
return;
}
} break;
case common::PhysicalTypeID::STRING: {
func = BinaryComparisonSelectFunction<common::ku_string_t, common::ku_string_t, FUNC>;
return;
}
} break;
case common::PhysicalTypeID::INTERNAL_ID: {
func = BinaryComparisonSelectFunction<common::nodeID_t, common::nodeID_t, FUNC>;
return;
}
} break;
case common::PhysicalTypeID::INTERVAL: {
func = BinaryComparisonSelectFunction<common::interval_t, common::interval_t, FUNC>;
return;
}
} break;
case common::PhysicalTypeID::VAR_LIST: {
func = BinaryComparisonSelectFunction<common::list_entry_t, common::list_entry_t, FUNC>;
return;
}
} break;
case common::PhysicalTypeID::STRUCT: {
func = BinaryComparisonSelectFunction<common::struct_entry_t, common::struct_entry_t,
FUNC>;
return;
}
} break;
default:
throw common::RuntimeException(
"Invalid input data types(" +
Expand Down

0 comments on commit 4f69f02

Please sign in to comment.