fix tests

This commit is contained in:
Nikita Mikhaylov 2021-07-08 21:10:00 +00:00
parent 7ebd678508
commit fbf529411b
12 changed files with 28 additions and 41 deletions

View File

@ -55,12 +55,11 @@ public:
for (size_t i = 0; i < getNumberOfArguments(); ++i) for (size_t i = 0; i < getNumberOfArguments(); ++i)
{ {
const auto * arg = arguments[i].get(); const auto * arg = arguments[i].get();
if (!WhichDataType(arg).isFloat64()) { if (!WhichDataType(arg).isFloat64())
throw Exception( throw Exception(
ErrorCodes::ILLEGAL_TYPE_OF_ARGUMENT, ErrorCodes::ILLEGAL_TYPE_OF_ARGUMENT,
"Illegal type {} of argument {} of function {}. Must be Float64", "Illegal type {} of argument {} of function {}. Must be Float64",
arg->getName(), i, getName()); arg->getName(), i, getName());
}
} }
return std::make_shared<DataTypeUInt64>(); return std::make_shared<DataTypeUInt64>();

View File

@ -21,7 +21,6 @@ namespace DB
namespace ErrorCodes namespace ErrorCodes
{ {
extern const int ILLEGAL_TYPE_OF_ARGUMENT; extern const int ILLEGAL_TYPE_OF_ARGUMENT;
extern const int NUMBER_OF_ARGUMENTS_DOESNT_MATCH;
} }
namespace namespace
@ -71,12 +70,11 @@ public:
"Illegal type {} of argument {} of function {}. Must be Float64", "Illegal type {} of argument {} of function {}. Must be Float64",
arg->getName(), 2, getName()); arg->getName(), 2, getName());
} }
else if (!WhichDataType(arg).isUInt64()) { else if (!WhichDataType(arg).isUInt64())
throw Exception( throw Exception(
ErrorCodes::ILLEGAL_TYPE_OF_ARGUMENT, ErrorCodes::ILLEGAL_TYPE_OF_ARGUMENT,
"Illegal type {} of argument {} of function {}. Must be UInt64", "Illegal type {} of argument {} of function {}. Must be UInt64",
arg->getName(), index + 1, getName()); arg->getName(), index + 1, getName());
}
} }
return std::make_shared<DataTypeUInt8>(); return std::make_shared<DataTypeUInt8>();
@ -98,6 +96,12 @@ public:
const Float64 degrees = col_degrees->getFloat64(row); const Float64 degrees = col_degrees->getFloat64(row);
const UInt64 point = col_point->getUInt(row); const UInt64 point = col_point->getUInt(row);
if (isNaN(degrees))
throw Exception(ErrorCodes::ILLEGAL_TYPE_OF_ARGUMENT, "Radius of the cap must not be nan");
if (std::isinf(degrees))
throw Exception(ErrorCodes::ILLEGAL_TYPE_OF_ARGUMENT, "Radius of the cap must not be infinite");
S1Angle angle = S1Angle::Degrees(degrees); S1Angle angle = S1Angle::Degrees(degrees);
S2Cap cap(S2CellId(center).ToPoint(), angle); S2Cap cap(S2CellId(center).ToPoint(), angle);

View File

@ -23,7 +23,6 @@ namespace DB
namespace ErrorCodes namespace ErrorCodes
{ {
extern const int ILLEGAL_TYPE_OF_ARGUMENT; extern const int ILLEGAL_TYPE_OF_ARGUMENT;
extern const int NUMBER_OF_ARGUMENTS_DOESNT_MATCH;
} }
namespace namespace
@ -67,13 +66,12 @@ public:
"Illegal type {} of argument {} of function {}. Must be Float64", "Illegal type {} of argument {} of function {}. Must be Float64",
arg->getName(), index + 1, getName()); arg->getName(), index + 1, getName());
} }
else if (!WhichDataType(arg).isUInt64()) { else if (!WhichDataType(arg).isUInt64())
throw Exception( throw Exception(
ErrorCodes::ILLEGAL_TYPE_OF_ARGUMENT, ErrorCodes::ILLEGAL_TYPE_OF_ARGUMENT,
"Illegal type {} of argument {} of function {}. Must be UInt64", "Illegal type {} of argument {} of function {}. Must be UInt64",
arg->getName(), index + 1, getName() arg->getName(), index + 1, getName()
); );
}
} }
DataTypePtr center = std::make_shared<DataTypeUInt64>(); DataTypePtr center = std::make_shared<DataTypeUInt64>();
@ -89,14 +87,14 @@ public:
const auto * col_center2 = arguments[2].column.get(); const auto * col_center2 = arguments[2].column.get();
const auto * col_radius2 = arguments[3].column.get(); const auto * col_radius2 = arguments[3].column.get();
auto col_res_first = ColumnUInt64::create(); auto col_res_center = ColumnUInt64::create();
auto col_res_second = ColumnFloat64::create(); auto col_res_radius = ColumnFloat64::create();
auto & vec_res_first = col_res_first->getData(); auto & vec_res_center = col_res_center->getData();
vec_res_first.reserve(input_rows_count); vec_res_center.reserve(input_rows_count);
auto & vec_res_second = col_res_second->getData(); auto & vec_res_radius = col_res_radius->getData();
vec_res_second.reserve(input_rows_count); vec_res_radius.reserve(input_rows_count);
for (const auto row : collections::range(0, input_rows_count)) for (const auto row : collections::range(0, input_rows_count))
{ {
@ -116,11 +114,11 @@ public:
S2Cap cap_union = cap1.Union(cap2); S2Cap cap_union = cap1.Union(cap2);
vec_res_first[row] = S2CellId(cap_union.center()).id(); vec_res_center.emplace_back(S2CellId(cap_union.center()).id());
vec_res_second[row] = cap_union.GetRadius().degrees(); vec_res_radius.emplace_back(cap_union.GetRadius().degrees());
} }
return ColumnTuple::create(Columns{std::move(col_res_first), std::move(col_res_second)}); return ColumnTuple::create(Columns{std::move(col_res_center), std::move(col_res_radius)});
} }
}; };

View File

@ -22,7 +22,6 @@ namespace DB
namespace ErrorCodes namespace ErrorCodes
{ {
extern const int ILLEGAL_TYPE_OF_ARGUMENT; extern const int ILLEGAL_TYPE_OF_ARGUMENT;
extern const int NUMBER_OF_ARGUMENTS_DOESNT_MATCH;
} }
namespace namespace
@ -55,12 +54,11 @@ public:
for (size_t i = 0; i < getNumberOfArguments(); ++i) for (size_t i = 0; i < getNumberOfArguments(); ++i)
{ {
const auto * arg = arguments[i].get(); const auto * arg = arguments[i].get();
if (!WhichDataType(arg).isUInt64()) { if (!WhichDataType(arg).isUInt64())
throw Exception( throw Exception(
ErrorCodes::ILLEGAL_TYPE_OF_ARGUMENT, ErrorCodes::ILLEGAL_TYPE_OF_ARGUMENT,
"Illegal type {} of argument {} of function {}. Must be UInt64", "Illegal type {} of argument {} of function {}. Must be UInt64",
arg->getName(), i, getName()); arg->getName(), i, getName());
}
} }
return std::make_shared<DataTypeUInt8>(); return std::make_shared<DataTypeUInt8>();

View File

@ -20,7 +20,6 @@ namespace DB
namespace ErrorCodes namespace ErrorCodes
{ {
extern const int ILLEGAL_TYPE_OF_ARGUMENT; extern const int ILLEGAL_TYPE_OF_ARGUMENT;
extern const int NUMBER_OF_ARGUMENTS_DOESNT_MATCH;
} }
namespace namespace
@ -53,12 +52,11 @@ public:
{ {
const auto * arg = arguments[0].get(); const auto * arg = arguments[0].get();
if (!WhichDataType(arg).isUInt64()) { if (!WhichDataType(arg).isUInt64())
throw Exception( throw Exception(
ErrorCodes::ILLEGAL_TYPE_OF_ARGUMENT, ErrorCodes::ILLEGAL_TYPE_OF_ARGUMENT,
"Illegal type {} of argument {} of function {}. Must be Float64", "Illegal type {} of argument {} of function {}. Must be Float64",
arg->getName(), 1, getName()); arg->getName(), 1, getName());
}
return std::make_shared<DataTypeArray>(std::make_shared<DataTypeUInt64>()); return std::make_shared<DataTypeArray>(std::make_shared<DataTypeUInt64>());
} }

View File

@ -22,7 +22,6 @@ namespace DB
namespace ErrorCodes namespace ErrorCodes
{ {
extern const int ILLEGAL_TYPE_OF_ARGUMENT; extern const int ILLEGAL_TYPE_OF_ARGUMENT;
extern const int NUMBER_OF_ARGUMENTS_DOESNT_MATCH;
} }
namespace namespace
@ -53,12 +52,11 @@ public:
for (size_t index = 0; index < getNumberOfArguments(); ++index) for (size_t index = 0; index < getNumberOfArguments(); ++index)
{ {
const auto * arg = arguments[index].get(); const auto * arg = arguments[index].get();
if (!WhichDataType(arg).isUInt64()) { if (!WhichDataType(arg).isUInt64())
throw Exception( throw Exception(
ErrorCodes::ILLEGAL_TYPE_OF_ARGUMENT, ErrorCodes::ILLEGAL_TYPE_OF_ARGUMENT,
"Illegal type {} of argument {} of function {}. Must be UInt64", "Illegal type {} of argument {} of function {}. Must be UInt64",
arg->getName(), index, getName()); arg->getName(), index, getName());
}
} }
DataTypePtr element = std::make_shared<DataTypeUInt64>(); DataTypePtr element = std::make_shared<DataTypeUInt64>();

View File

@ -22,7 +22,6 @@ namespace DB
namespace ErrorCodes namespace ErrorCodes
{ {
extern const int ILLEGAL_TYPE_OF_ARGUMENT; extern const int ILLEGAL_TYPE_OF_ARGUMENT;
extern const int NUMBER_OF_ARGUMENTS_DOESNT_MATCH;
} }
namespace namespace
@ -52,12 +51,11 @@ public:
for (size_t i = 0; i < getNumberOfArguments(); ++i) for (size_t i = 0; i < getNumberOfArguments(); ++i)
{ {
const auto * arg = arguments[i].get(); const auto * arg = arguments[i].get();
if (!WhichDataType(arg).isUInt64()) { if (!WhichDataType(arg).isUInt64())
throw Exception( throw Exception(
ErrorCodes::ILLEGAL_TYPE_OF_ARGUMENT, ErrorCodes::ILLEGAL_TYPE_OF_ARGUMENT,
"Illegal type {} of argument {} of function {}. Must be UInt64", "Illegal type {} of argument {} of function {}. Must be UInt64",
arg->getName(), i, getName()); arg->getName(), i, getName());
}
} }
return std::make_shared<DataTypeUInt8>(); return std::make_shared<DataTypeUInt8>();

View File

@ -22,7 +22,6 @@ namespace DB
namespace ErrorCodes namespace ErrorCodes
{ {
extern const int ILLEGAL_TYPE_OF_ARGUMENT; extern const int ILLEGAL_TYPE_OF_ARGUMENT;
extern const int NUMBER_OF_ARGUMENTS_DOESNT_MATCH;
} }
namespace namespace
@ -53,12 +52,11 @@ public:
for (size_t i = 0; i < getNumberOfArguments(); ++i) for (size_t i = 0; i < getNumberOfArguments(); ++i)
{ {
const auto * arg = arguments[i].get(); const auto * arg = arguments[i].get();
if (!WhichDataType(arg).isUInt64()) { if (!WhichDataType(arg).isUInt64())
throw Exception( throw Exception(
ErrorCodes::ILLEGAL_TYPE_OF_ARGUMENT, ErrorCodes::ILLEGAL_TYPE_OF_ARGUMENT,
"Illegal type {} of argument {} of function {}. Must be UInt64", "Illegal type {} of argument {} of function {}. Must be UInt64",
arg->getName(), i, getName()); arg->getName(), i, getName());
}
} }
DataTypePtr element = std::make_shared<DataTypeUInt64>(); DataTypePtr element = std::make_shared<DataTypeUInt64>();

View File

@ -22,7 +22,6 @@ namespace DB
namespace ErrorCodes namespace ErrorCodes
{ {
extern const int ILLEGAL_TYPE_OF_ARGUMENT; extern const int ILLEGAL_TYPE_OF_ARGUMENT;
extern const int NUMBER_OF_ARGUMENTS_DOESNT_MATCH;
} }
namespace namespace
@ -53,12 +52,11 @@ public:
for (size_t i = 0; i < getNumberOfArguments(); ++i) for (size_t i = 0; i < getNumberOfArguments(); ++i)
{ {
const auto * arg = arguments[i].get(); const auto * arg = arguments[i].get();
if (!WhichDataType(arg).isUInt64()) { if (!WhichDataType(arg).isUInt64())
throw Exception( throw Exception(
ErrorCodes::ILLEGAL_TYPE_OF_ARGUMENT, ErrorCodes::ILLEGAL_TYPE_OF_ARGUMENT,
"Illegal type {} of argument {} of function {}. Must be UInt64", "Illegal type {} of argument {} of function {}. Must be UInt64",
arg->getName(), i + 1, getName()); arg->getName(), i + 1, getName());
}
} }
DataTypePtr element = std::make_shared<DataTypeUInt64>(); DataTypePtr element = std::make_shared<DataTypeUInt64>();

View File

@ -22,7 +22,6 @@ namespace DB
namespace ErrorCodes namespace ErrorCodes
{ {
extern const int ILLEGAL_TYPE_OF_ARGUMENT; extern const int ILLEGAL_TYPE_OF_ARGUMENT;
extern const int NUMBER_OF_ARGUMENTS_DOESNT_MATCH;
} }
namespace namespace
@ -54,12 +53,11 @@ public:
{ {
const auto * arg = arguments[0].get(); const auto * arg = arguments[0].get();
if (!WhichDataType(arg).isUInt64()) { if (!WhichDataType(arg).isUInt64())
throw Exception( throw Exception(
ErrorCodes::ILLEGAL_TYPE_OF_ARGUMENT, ErrorCodes::ILLEGAL_TYPE_OF_ARGUMENT,
"Illegal type {} of argument {} of function {}. Must be Float64", "Illegal type {} of argument {} of function {}. Must be Float64",
arg->getName(), 1, getName()); arg->getName(), 1, getName());
}
DataTypePtr element = std::make_shared<DataTypeFloat64>(); DataTypePtr element = std::make_shared<DataTypeFloat64>();

View File

@ -1,2 +1,2 @@
select S2ToGeo(4573520603753570041); select s2ToGeo(4573520603753570041);
select S2ToGeo(4573517609713934091); select s2ToGeo(4573517609713934091);

View File

@ -1 +1 @@
select S2GetNeighbors(5074766849661468672); select s2GetNeighbors(5074766849661468672);