Fixed tests

This commit is contained in:
Maksim Kita 2023-03-02 13:09:18 +01:00
parent 47ece846bc
commit eab29f4a4e
5 changed files with 29 additions and 26 deletions

View File

@ -675,28 +675,29 @@ private:
return impl.isInjective(sample_columns);
}
DataTypePtr getReturnTypeImpl(const ColumnsWithTypeAndName & arguments) const override
DataTypePtr getReturnTypeImpl(const DataTypes &) const override
{
DataTypePtr result_type;
DataTypePtr result;
if constexpr (IsDataTypeDecimal<DataType>)
result_type = std::make_shared<DataType>(DataType::maxPrecision(), 0);
result = std::make_shared<DataType>(DataType::maxPrecision(), 0);
else
result_type = std::make_shared<DataType>();
result = std::make_shared<DataType>();
return result;
}
ColumnPtr executeImpl(const ColumnsWithTypeAndName & arguments, const DataTypePtr & result_type, size_t input_rows_count) const override
{
auto return_type = impl.getReturnTypeImpl(arguments);
if (!return_type->equals(*result_type))
throw Exception(ErrorCodes::TYPE_MISMATCH, "Function {} dictionary attribute has different type {} expected {}",
getName(),
return_type->getName(),
result_type->getName());
return result_type;
}
ColumnPtr executeImpl(const ColumnsWithTypeAndName & arguments, const DataTypePtr & result_type, size_t input_rows_count) const override
{
return impl.executeImpl(arguments, result_type, input_rows_count);
return impl.executeImpl(arguments, return_type, input_rows_count);
}
const FunctionDictGetNoType<dictionary_get_function_type> impl;

View File

@ -86,7 +86,7 @@
[
{
"name": "k",
"type": "DateTime"
"type": "DateTime('UTC')"
},
{
"name": "count()",
@ -104,7 +104,7 @@
"totals":
{
"k": "1970-01-01 01:00:00",
"k": "1970-01-01 00:00:00",
"count()": "1"
},

View File

@ -9,5 +9,5 @@ ${CLICKHOUSE_CURL} -sS "${CLICKHOUSE_URL}&extremes=1&output_format_write_statist
${CLICKHOUSE_CURL} -sS "${CLICKHOUSE_URL}&extremes=1&output_format_write_statistics=0" -d "SELECT toFloat32(1.23) AS k, count() GROUP BY k WITH TOTALS SETTINGS allow_experimental_analyzer = 1 FORMAT JSONCompact";
${CLICKHOUSE_CURL} -sS "${CLICKHOUSE_URL}&extremes=1&output_format_write_statistics=0" -d "SELECT toDate('2010-01-01') AS k, count() GROUP BY k WITH TOTALS SETTINGS allow_experimental_analyzer = 1";
${CLICKHOUSE_CURL} -sS "${CLICKHOUSE_URL}&extremes=1&output_format_write_statistics=0" -d "SELECT toDateTime('2010-01-01 01:02:03') AS k, count() GROUP BY k WITH TOTALS SETTINGS allow_experimental_analyzer = 1 FORMAT JSON";
${CLICKHOUSE_CURL} -sS "${CLICKHOUSE_URL}&extremes=1&output_format_write_statistics=0" -d "SELECT toDateTime('2010-01-01 01:02:03', 'UTC') AS k, count() GROUP BY k WITH TOTALS SETTINGS allow_experimental_analyzer = 1 FORMAT JSON";
${CLICKHOUSE_CURL} -sS "${CLICKHOUSE_URL}&extremes=1&output_format_write_statistics=0" -d "SELECT 1.1 AS k, count() GROUP BY k WITH TOTALS SETTINGS allow_experimental_analyzer = 1 FORMAT JSONCompact";

View File

@ -4,17 +4,17 @@ SET join_algorithm = 'partial_merge';
SELECT 'defaults';
SELECT count(1) FROM (
SELECT k, n FROM (SELECT materialize(1) as k FROM numbers(10)) nums
SELECT materialize(1) as k, n FROM numbers(10) nums
JOIN (SELECT materialize(1) AS k, number n FROM numbers(1000000)) j
USING k);
SELECT count(1) FROM (
SELECT k, n FROM (SELECT materialize(1) as k FROM numbers(1000)) nums
SELECT materialize(1) as k, n FROM numbers(1000) nums
JOIN (SELECT materialize(1) AS k, number n FROM numbers(10000)) j
USING k);
SELECT count(1), uniqExact(n) FROM (
SELECT k, n FROM (SELECT materialize(1) AS k FROM numbers(1000000)) nums
SELECT materialize(1) as k, n FROM numbers(1000000) nums
JOIN (SELECT materialize(1) AS k, number n FROM numbers(10)) j
USING k);
@ -22,12 +22,12 @@ SELECT count(1), uniqExact(n) FROM (
SET max_joined_block_size_rows = 0;
SELECT count(1) FROM (
SELECT k, n FROM (SELECT materialize(1) AS k FROM numbers(10)) nums
SELECT materialize(1) as k, n FROM numbers(10) nums
JOIN (SELECT materialize(1) AS k, number n FROM numbers(1000000)) j
USING k); -- { serverError 241 }
SELECT count(1) FROM (
SELECT k, n FROM (SELECT materialize(1) AS k FROM numbers(1000)) nums
SELECT materialize(1) as k, n FROM numbers(1000) nums
JOIN (SELECT materialize(1) AS k, number n FROM numbers(10000)) j
USING k); -- { serverError 241 }
@ -35,17 +35,17 @@ SELECT 'max_joined_block_size_rows = 2000';
SET max_joined_block_size_rows = 2000;
SELECT count(1) FROM (
SELECT k, n FROM (SELECT materialize(1) AS k FROM numbers(10)) nums
SELECT materialize(1) as k, n FROM numbers(10) nums
JOIN (SELECT materialize(1) AS k, number n FROM numbers(1000000)) j
USING k);
SELECT count(1), uniqExact(n) FROM (
SELECT k, n FROM (SELECT materialize(1) AS k FROM numbers(1000)) nums
SELECT materialize(1) as k, n FROM numbers(1000) nums
JOIN (SELECT materialize(1) AS k, number n FROM numbers(10000)) j
USING k);
SELECT count(1), uniqExact(n) FROM (
SELECT k, n FROM (SELECT materialize(1) as k FROM numbers(1000000)) nums
SELECT materialize(1) as k, n FROM numbers(1000000) nums
JOIN (SELECT materialize(1) AS k, number n FROM numbers(10)) j
USING k);
@ -53,16 +53,16 @@ SELECT 'max_rows_in_join = 1000';
SET max_rows_in_join = 1000;
SELECT count(1) FROM (
SELECT k, n FROM (SELECT materialize(1) AS k FROM numbers(10)) nums
SELECT materialize(1) as k, n FROM numbers(10) nums
JOIN (SELECT materialize(1) AS k, number n FROM numbers(1000000)) j
USING k);
SELECT count(1), uniqExact(n) FROM (
SELECT k, n FROM (SELECT materialize(1) AS k FROM numbers(1000)) nums
SELECT materialize(1) as k, n FROM numbers(1000) nums
JOIN (SELECT materialize(1) AS k, number n FROM numbers(10000)) j
USING k);
SELECT count(1), uniqExact(n) FROM (
SELECT k, n FROM (SELECT materialize(1) AS k FROM numbers(1000000)) nums
SELECT materialize(1) as k, n FROM numbers(1000000) nums
JOIN (SELECT materialize(1) AS k, number n FROM numbers(10)) j
USING k);

View File

@ -1 +1,3 @@
SET allow_experimental_analyzer = 1;
explain header = 1 select 1 as x;