mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-09-20 08:40:50 +00:00
Cosine null fix
This commit is contained in:
parent
6386560a9b
commit
e0963c7666
@ -7,8 +7,6 @@ namespace DB
|
||||
namespace ErrorCodes
|
||||
{
|
||||
extern const int ILLEGAL_TYPE_OF_ARGUMENT;
|
||||
extern const int ILLEGAL_COLUMN;
|
||||
extern const int ARGUMENT_OUT_OF_BOUND;
|
||||
}
|
||||
|
||||
class ITupleFunction : public IFunction
|
||||
|
@ -1,6 +1,7 @@
|
||||
#include <Columns/ColumnTuple.h>
|
||||
#include <DataTypes/DataTypeTuple.h>
|
||||
#include <DataTypes/DataTypesNumber.h>
|
||||
#include <DataTypes/DataTypeNothing.h>
|
||||
#include <Functions/FunctionFactory.h>
|
||||
#include <Functions/FunctionHelpers.h>
|
||||
#include <Functions/ITupleFunction.h>
|
||||
@ -11,6 +12,8 @@ namespace DB
|
||||
namespace ErrorCodes
|
||||
{
|
||||
extern const int ILLEGAL_TYPE_OF_ARGUMENT;
|
||||
extern const int ILLEGAL_COLUMN;
|
||||
extern const int ARGUMENT_OUT_OF_BOUND;
|
||||
}
|
||||
|
||||
struct PlusName { static constexpr auto name = "plus"; };
|
||||
@ -1022,6 +1025,11 @@ public:
|
||||
|
||||
ColumnPtr executeImpl(const ColumnsWithTypeAndName & arguments, const DataTypePtr &, size_t input_rows_count) const override
|
||||
{
|
||||
if (getReturnTypeImpl(arguments)->isNullable()) {
|
||||
return DataTypeNullable(std::make_shared<DataTypeNothing>())
|
||||
.createColumnConstWithDefaultValue(input_rows_count);
|
||||
}
|
||||
|
||||
FunctionDotProduct dot(context);
|
||||
ColumnWithTypeAndName dot_result{dot.executeImpl(arguments, DataTypePtr(), input_rows_count),
|
||||
dot.getReturnTypeImpl(arguments), {}};
|
||||
|
@ -70,3 +70,4 @@
|
||||
(0.5,0.5) (0.7071067811865475,0.7071067811865475) (1,1) (0.5,0.5)
|
||||
3.6060655943063797
|
||||
4.3208683194033215
|
||||
\N
|
||||
|
@ -100,4 +100,4 @@ SELECT LpNorm((1, 2, 3), inf); -- { serverError 69 }
|
||||
SELECT LpNorm((1, 2, 3), -1.); -- { serverError 69 }
|
||||
SELECT LpNorm((1, 2, 3), -1); -- { serverError 44 }
|
||||
SELECT LpNorm((1, 2, 3), 0.); -- { serverError 69 }
|
||||
--SELECT cosineDistance(materialize((NULL, -2147483648)), (1048577, 1048575));
|
||||
SELECT cosineDistance(materialize((NULL, -2147483648)), (1048577, 1048575));
|
||||
|
Loading…
Reference in New Issue
Block a user