// Copyright 2023 PingCAP, Inc. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. #include #include #include #include #include namespace DB::tests { class LeastGreatestTest : public DB::tests::FunctionTest { }; TEST_F(LeastGreatestTest, testLeast) try { const String & func_name = "tidbLeast"; ASSERT_COLUMN_EQ( createColumn({1, 3, 2, 1, 3, 2, 8}), executeFunction( func_name, createColumn({2, 3, 4, 5, 6, 7, 8}), createColumn({1, 3, 5, 7, 9, 11, 10}), createColumn({3, 5, 7, 6, 3, 2, 16}), createColumn({4, 3, 2, 1, 7, 8, 9}), createColumn({5, 6, 7, 8, 10, 9, 8}))); ASSERT_COLUMN_EQ( createColumn({7, 2, 3, 3, 2}), executeFunction( func_name, createColumn({10, 2, 3, 4, 5}), createColumn({7, 6, 5, 3, 4}), createColumn({8, 9, 6, 3, 2}))); ASSERT_COLUMN_EQ( createColumn({7, 2, 3, 3, 2}), executeFunction( func_name, createColumn({10, 2, 3, 4, 5}), createColumn({7, 6, 5, 3, 4}), createColumn({8, 9, 6, 3, 2}))); ASSERT_COLUMN_EQ( createColumn({7, 0, 1, 2, 6}), executeFunction( func_name, createColumn({10, 0, 1, 2, 6}), createColumn({7, 6, 5, 4, 9}), createColumn({8, 3, 4, 5, 6}))); ASSERT_COLUMN_EQ( createColumn({1, 3, 2, 5, 4}), executeFunction( func_name, createColumn({2, 5, 6, 7, 9}), createColumn({1, 4, 3, 7, 8}), createColumn({3, 8, 4, 6, 7}), createColumn({4, 3, 2, 9, 8}), createColumn({5, 7, 6, 5, 4}))); // int unsigned + int = bigint ASSERT_COLUMN_EQ( createColumn>({-1, -100, {}}), executeFunction( func_name, createColumn>({-1, -100, {}}), createColumn({100, 1, 1000}))); // int unsigned + bigint = bigint ASSERT_COLUMN_EQ( createColumn>({-1, -100, {}}), executeFunction( func_name, createColumn>({-1, -100, {}}), createColumn({100, 1, 1000}))); // bigint unsigned + bigint unsigned = bigint unsigned ASSERT_COLUMN_EQ( createColumn>({1, 1, {}}), executeFunction(func_name, createColumn>({1, 1, {}}), createColumn({100, 100, 1000}))); // bigint + bigint = bigint ASSERT_COLUMN_EQ( createColumn>({-100, 1, {}}), executeFunction(func_name, createColumn>({1, 1, {}}), createColumn({-100, 100, 1000}))); // consider null ASSERT_COLUMN_EQ( createColumn>({}), executeFunction( func_name, createColumn>({}), createColumn>({4}), createColumn>({}), createColumn>({}))); // real least ASSERT_COLUMN_EQ( createColumn>({1.1, -1.4, -1.1, -1.3, 1.1, -3.3, -1.1, -3.48, -12.34, 0.0, 0.0, {}, {}, {}}), executeFunction( func_name, createColumn>({1.4, -1.4, 1.3, -1.3, 3.3, -3.3, 3.3, -3.3, 12.34, 0.0, 0.0, 0.0, {}, {}}), createColumn>( {1.3, -1.3, 1.3, -1.3, 3.3, -3.3, 3.3, -3.48, -12.34, 0.0, 0.0, 0.0, {}, {}}), createColumn>( {1.1, 1.1, -1.1, -1.1, 1.1, 1.1, -1.1, -1.1, 0.0, 12.34, 0.0, {}, 0.0, {}}))); ASSERT_COLUMN_EQ( createColumn>({-2, 0, -12, {}, {}}), executeFunction( func_name, createColumn>({1.55, 1.55, 0, 0.0, {}}), createColumn>({-2, 3, -12, 0, {}}), createColumn>({-1, 0, 0, {}, {}}))); // const-vector least ASSERT_COLUMN_EQ( createColumn>({-3, -11, -3, -3, -3, -5, -3}), executeFunction( func_name, createConstColumn>(7, -2), createConstColumn>(7, -3), createColumn>({0, -11, 2, -3, 4, -5, 6}))); // vector-const least ASSERT_COLUMN_EQ( createColumn>({0, 1, 2, 3}), executeFunction( func_name, createColumn>({0, 1, 2, 3}), createConstColumn>(4, 3))); // const-const least ASSERT_COLUMN_EQ( createConstColumn(1, -3), executeFunction( func_name, createConstColumn>(1, 5), createConstColumn>(1, -3))); // only null least ASSERT_COLUMN_EQ( createColumn>({{}, {}}), executeFunction(func_name, createColumn>({{}, {}}), createColumn>({{}, {}}))); // const and only null least ASSERT_COLUMN_EQ( createColumn>({{}, {}, {}, {}}), executeFunction( func_name, createColumn>({{}, {}, {}, {}}), createConstColumn>(4, 3))); ASSERT_COLUMN_EQ( createColumn>({18446744073709551614U}), executeFunction( func_name, createColumn>({18446744073709551615U}), createColumn>({18446744073709551614U}))); // bigint unsgiend + bigint = Decimal, not support for now // ASSERT_COLUMN_EQ( // createColumn>({92233720368547720}), // executeFunction( // func_name, // createColumn>({9223372036854775818U}), // createColumn>({92233720368547720}))); } CATCH TEST_F(LeastGreatestTest, leastString) try { const String & func_name = "tidbLeastString"; const auto * utf8mb4_general_ci_collator = TiDB::ITiDBCollator::getCollator(TiDB::ITiDBCollator::UTF8MB4_GENERAL_CI); /// without collator // vector vector ASSERT_COLUMN_EQ( createColumn>({"11"}), executeFunction( func_name, {createColumn>({"1111"}), createColumn>({"11"}), createColumn>({"111"}), createColumn>({"111111"})})); ASSERT_COLUMN_EQ( createColumn>({""}), executeFunction( func_name, {createColumn>({"1111"}), createColumn>({"11"}), createColumn>({"111"}), createColumn>({""})})); ASSERT_COLUMN_EQ( createColumn>({"11", "2"}), executeFunction( func_name, {createColumn>({"1111", "2222"}), createColumn>({"11", "2"}), createColumn>({"111", "22"})})); // vector constant ASSERT_COLUMN_EQ( createColumn>({"11", "22222", "22", "11111111"}), executeFunction( func_name, {createColumn>({"11", "33", "22", "11111111"}), createConstColumn>(4, "22222")})); ASSERT_COLUMN_EQ( createColumn>({"11", "211", "211", "11111111"}), executeFunction( func_name, {createColumn>({"11", "33", "22", "11111111"}), createConstColumn>(4, "22222"), createConstColumn>(4, "211")})); ASSERT_COLUMN_EQ( createColumn>({"11", "03", "11", "11111111"}), executeFunction( func_name, {createColumn>({"11", "33", "22", "11111111"}), createColumn>({"33", "03", "11", "2333"}), createConstColumn>(4, "22222")})); // constant vector ASSERT_COLUMN_EQ( createColumn>({"11", "22222", "22", "11111111"}), executeFunction( func_name, {createConstColumn>(4, "22222"), createColumn>({"11", "33", "22", "11111111"})})); // constant constant ASSERT_COLUMN_EQ( createConstColumn(4, "11"), executeFunction( func_name, {createConstColumn>(4, "1111"), createConstColumn>(4, "11")})); ASSERT_COLUMN_EQ( createConstColumn(4, "11"), executeFunction( func_name, {createConstColumn>(4, "11"), createConstColumn>(4, "1111")})); ASSERT_COLUMN_EQ( createConstColumn(4, "11"), executeFunction( func_name, {createConstColumn>(4, "11"), createConstColumn>(4, "111"), createConstColumn>(4, "1111")})); /// with collator // vector vector ASSERT_COLUMN_EQ( createColumn>({"11"}), executeFunction( func_name, {createColumn>({"1111"}), createColumn>({"11"}), createColumn>({"111"})}, utf8mb4_general_ci_collator)); ASSERT_COLUMN_EQ( createColumn>({"111"}), executeFunction( func_name, {createColumn>({"1111"}), createColumn>({"2222"}), createColumn>({"111"})}, utf8mb4_general_ci_collator)); ASSERT_COLUMN_EQ( createColumn>({"a", "b"}), executeFunction( func_name, {createColumn>({"a", "b"}), createColumn>({"b", "c"}), createColumn>({"c", "d"})}, utf8mb4_general_ci_collator)); ASSERT_COLUMN_EQ( createColumn>({"a", "b", "asdhkas-\\"}), executeFunction( func_name, {createColumn>({"a", "b", "asdhkas-\\"}), createColumn>({"b", "c", "sadhhdask"}), createColumn>({"c", "d", "sahdjkdsahk"})}, utf8mb4_general_ci_collator)); ASSERT_COLUMN_EQ( createColumn>({"11", "22"}), executeFunction( func_name, {createColumn>({"1111", "2222"}), createColumn>({"11", "22"}), createColumn>({"111", "222"})}, utf8mb4_general_ci_collator)); ASSERT_COLUMN_EQ( createColumn>({"1", "2"}), executeFunction( func_name, {createColumn>({"1111", "2222"}), createColumn>({"11", "22"}), createColumn>({"111", "222"}), createColumn>({"1", "2"})}, utf8mb4_general_ci_collator)); ASSERT_COLUMN_EQ( createColumn>({"11", {}}), executeFunction( func_name, {createColumn>({"1111", {}}), createColumn>({"11", "22"}), createColumn>({"111", "222"})}, utf8mb4_general_ci_collator)); ASSERT_COLUMN_EQ( createColumn({"11", "2"}), executeFunction( func_name, {createColumn({"1111", "2"}), createColumn({"11", "22"}), createColumn({"111", "222"})}, utf8mb4_general_ci_collator)); ASSERT_COLUMN_EQ( createColumn>({{}, {}}), executeFunction( func_name, {createColumn>({"1111", "2222"}), createColumn>({"11", {}}), createColumn>({{}, "222"})}, utf8mb4_general_ci_collator)); ASSERT_COLUMN_EQ( createColumn>({{}, {}}), executeFunction( func_name, {createColumn>({{}, {}}), createColumn>({{}, {}}), createColumn>({{}, {}})}, utf8mb4_general_ci_collator)); // vector constant ASSERT_COLUMN_EQ( createColumn>({"11", "22222", "22", "11111111"}), executeFunction( func_name, {createColumn>({"11", "33", "22", "11111111"}), createConstColumn>(4, "22222")}, utf8mb4_general_ci_collator)); ASSERT_COLUMN_EQ( createColumn>({"11", "22222", "11111", "1111"}), executeFunction( func_name, {createColumn>({"11", "44", "333", "22222"}), createColumn>({"11", "367", "121", "234"}), createColumn>({"1111", "33", "11111", "9999"}), createColumn>({"111", "33", "7777", "1111"}), createColumn>({"11", "66", "6767", "78878"}), createConstColumn>(4, "22222"), createConstColumn>(4, "33333"), createConstColumn>(4, "44444")}, utf8mb4_general_ci_collator)); // constant vector ASSERT_COLUMN_EQ( createColumn>({"11", "22222", "22", "11111111"}), executeFunction( func_name, {createConstColumn>(4, "22222"), createColumn>({"11", "33", "22", "11111111"})}, utf8mb4_general_ci_collator)); // constant constant ASSERT_COLUMN_EQ( createConstColumn(4, "11111"), executeFunction( func_name, {createConstColumn>(4, "11111"), createConstColumn>(4, "22222")}, utf8mb4_general_ci_collator)); ASSERT_COLUMN_EQ( createConstColumn>(4, {}), executeFunction( func_name, {createConstColumn>(4, {}), createConstColumn>(4, "22222")}, utf8mb4_general_ci_collator)); ASSERT_COLUMN_EQ( createConstColumn(4, "111"), executeFunction( func_name, { createConstColumn>(4, "1111"), createConstColumn>(4, "22222"), createConstColumn>(4, "111"), }, utf8mb4_general_ci_collator)); const auto * bin_col = TiDB::ITiDBCollator::getCollator(TiDB::ITiDBCollator::BINARY); ASSERT_COLUMN_EQ( createColumn>({{}, {}}), executeFunction( func_name, {createColumn>({"1111", "2222"}), createColumn>({"11", {}}), createColumn>({{}, "222"})}, bin_col)); } CATCH TEST_F(LeastGreatestTest, greatestString) try { const String & func_name = "tidbGreatestString"; const auto * utf8mb4_general_ci_collator = TiDB::ITiDBCollator::getCollator(TiDB::ITiDBCollator::UTF8MB4_GENERAL_CI); /// without collator // vector vector ASSERT_COLUMN_EQ( createColumn>({"111111"}), executeFunction( func_name, {createColumn>({"1111"}), createColumn>({"11"}), createColumn>({"111"}), createColumn>({"111111"})})); ASSERT_COLUMN_EQ( createColumn>({"1111"}), executeFunction( func_name, {createColumn>({"1111"}), createColumn>({"11"}), createColumn>({"111"}), createColumn>({""})})); ASSERT_COLUMN_EQ( createColumn>({"1111", "2222"}), executeFunction( func_name, {createColumn>({"1111", "2222"}), createColumn>({"11", "2"}), createColumn>({"111", "22"})})); // vector constant ASSERT_COLUMN_EQ( createColumn>({"22222", "33", "22222", "22222"}), executeFunction( func_name, {createColumn>({"11", "33", "22", "11111111"}), createConstColumn>(4, "22222")})); ASSERT_COLUMN_EQ( createColumn>({"31111", "33", "31111", "31111"}), executeFunction( func_name, {createColumn>({"11", "33", "22", "11111111"}), createConstColumn>(4, "22222"), createConstColumn>(4, "31111")})); ASSERT_COLUMN_EQ( createColumn>({"33", "33", "22222", "2333"}), executeFunction( func_name, {createColumn>({"11", "33", "22", "11111111"}), createColumn>({"33", "33", "11", "2333"}), createConstColumn>(4, "22222")})); // constant vector ASSERT_COLUMN_EQ( createColumn>({"22222", "33", "22222", "22222"}), executeFunction( func_name, {createConstColumn>(4, "22222"), createColumn>({"11", "33", "22", "11111111"})})); // constant constant ASSERT_COLUMN_EQ( createConstColumn(4, "1111"), executeFunction( func_name, {createConstColumn>(4, "1111"), createConstColumn>(4, "11")})); ASSERT_COLUMN_EQ( createConstColumn(4, "1111"), executeFunction( func_name, {createConstColumn>(4, "11"), createConstColumn>(4, "1111")})); /// with collator // vector vector ASSERT_COLUMN_EQ( createColumn>({"1111"}), executeFunction( func_name, {createColumn>({"1111"}), createColumn>({"11"}), createColumn>({"111"})}, utf8mb4_general_ci_collator)); ASSERT_COLUMN_EQ( createColumn>({"2222"}), executeFunction( func_name, {createColumn>({"1111"}), createColumn>({"2222"}), createColumn>({"111"})}, utf8mb4_general_ci_collator)); ASSERT_COLUMN_EQ( createColumn>({"c", "d"}), executeFunction( func_name, {createColumn>({"a", "b"}), createColumn>({"b", "c"}), createColumn>({"c", "d"})}, utf8mb4_general_ci_collator)); ASSERT_COLUMN_EQ( createColumn>({"c", "d", "sahdjkdsahk"}), executeFunction( func_name, {createColumn>({"a", "b", "asdhkas-\\"}), createColumn>({"b", "c", "sadhhdask"}), createColumn>({"c", "d", "sahdjkdsahk"})}, utf8mb4_general_ci_collator)); ASSERT_COLUMN_EQ( createColumn>({"1111", "2222"}), executeFunction( func_name, {createColumn>({"1111", "2222"}), createColumn>({"11", "22"}), createColumn>({"111", "222"})}, utf8mb4_general_ci_collator)); ASSERT_COLUMN_EQ( createColumn>({"1111", "2222"}), executeFunction( func_name, {createColumn>({"1111", "2222"}), createColumn>({"11", "22"}), createColumn>({"111", "222"}), createColumn>({"1", "2"})}, utf8mb4_general_ci_collator)); ASSERT_COLUMN_EQ( createColumn>({"1111", {}}), executeFunction( func_name, {createColumn>({"1111", {}}), createColumn>({"11", "22"}), createColumn>({"111", "222"})}, utf8mb4_general_ci_collator)); ASSERT_COLUMN_EQ( createColumn({"1111", "222"}), executeFunction( func_name, {createColumn({"1111", "2"}), createColumn({"11", "22"}), createColumn({"111", "222"})}, utf8mb4_general_ci_collator)); ASSERT_COLUMN_EQ( createColumn>({{}, {}}), executeFunction( func_name, {createColumn>({"1111", "2222"}), createColumn>({"11", {}}), createColumn>({{}, "222"})}, utf8mb4_general_ci_collator)); ASSERT_COLUMN_EQ( createColumn>({{}, {}}), executeFunction( func_name, {createColumn>({{}, {}}), createColumn>({{}, {}}), createColumn>({{}, {}})}, utf8mb4_general_ci_collator)); // vector constant ASSERT_COLUMN_EQ( createColumn>({"22222", "33", "22222", "22222"}), executeFunction( func_name, {createColumn>({"11", "33", "22", "11111111"}), createConstColumn>(4, "22222")}, utf8mb4_general_ci_collator)); ASSERT_COLUMN_EQ( createColumn>({"44444", "66", "7777", "9999"}), executeFunction( func_name, {createColumn>({"11", "44", "333", "22222"}), createColumn>({"11", "367", "121", "234"}), createColumn>({"1111", "33", "11111", "9999"}), createColumn>({"111", "33", "7777", "1111"}), createColumn>({"11", "66", "6767", "78878"}), createConstColumn>(4, "22222"), createConstColumn>(4, "33333"), createConstColumn>(4, "44444")}, utf8mb4_general_ci_collator)); // constant vector ASSERT_COLUMN_EQ( createColumn>({"22222", "33", "22222", "22222"}), executeFunction( func_name, {createConstColumn>(4, "22222"), createColumn>({"11", "33", "22", "11111111"})}, utf8mb4_general_ci_collator)); // constant constant ASSERT_COLUMN_EQ( createConstColumn(4, "22222"), executeFunction( func_name, {createConstColumn>(4, "11111"), createConstColumn>(4, "22222")}, utf8mb4_general_ci_collator)); ASSERT_COLUMN_EQ( createConstColumn>(4, {}), executeFunction( func_name, {createConstColumn>(4, {}), createConstColumn>(4, "22222")}, utf8mb4_general_ci_collator)); ASSERT_COLUMN_EQ( createConstColumn(4, "33"), executeFunction( func_name, { createConstColumn>(4, "1111"), createConstColumn>(4, "22222"), createConstColumn>(4, "33"), }, utf8mb4_general_ci_collator)); const auto * bin_col = TiDB::ITiDBCollator::getCollator(TiDB::ITiDBCollator::BINARY); ASSERT_COLUMN_EQ( createColumn>({{}, {}}), executeFunction( func_name, {createColumn>({"1111", "2222"}), createColumn>({"11", {}}), createColumn>({{}, "222"})}, bin_col)); } CATCH TEST_F(LeastGreatestTest, testGreatest) try { const String & func_name = "tidbGreatest"; ASSERT_COLUMN_EQ( createColumn({5, 6, 7, 8, 10, 11, 16}), executeFunction( func_name, createColumn({2, 3, 4, 5, 6, 7, 8}), createColumn({1, 3, 5, 7, 9, 11, 10}), createColumn({3, 5, 7, 6, 3, 2, 16}), createColumn({4, 3, 2, 1, 7, 8, 9}), createColumn({5, 6, 7, 8, 10, 9, 8}))); ASSERT_COLUMN_EQ( createColumn({10, 9, 6, 4, 5}), executeFunction( func_name, createColumn({10, 2, 3, 4, 5}), createColumn({7, 6, 5, 3, 4}), createColumn({8, 9, 6, 3, 2}))); ASSERT_COLUMN_EQ( createColumn({10, 9, 6, 4, 5}), executeFunction( func_name, createColumn({10, 2, 3, 4, 5}), createColumn({7, 6, 5, 3, 4}), createColumn({8, 9, 6, 3, 2}))); ASSERT_COLUMN_EQ( createColumn({10, 6, 5, 5, 9}), executeFunction( func_name, createColumn({10, 0, 1, 2, 6}), createColumn({7, 6, 5, 4, 9}), createColumn({8, 3, 4, 5, 6}))); ASSERT_COLUMN_EQ( createColumn({5, 8, 6, 9, 9}), executeFunction( func_name, createColumn({2, 5, 6, 7, 9}), createColumn({1, 4, 3, 7, 8}), createColumn({3, 8, 4, 6, 7}), createColumn({4, 3, 2, 9, 8}), createColumn({5, 7, 6, 5, 4}))); // int unsigned + int = bigint ASSERT_COLUMN_EQ( createColumn>({100, 1, {}}), executeFunction( func_name, createColumn>({-1, -100, {}}), createColumn({100, 1, 1000}))); // int unsigned + bigint = bigint ASSERT_COLUMN_EQ( createColumn>({100, 1, {}}), executeFunction( func_name, createColumn>({-1, -100, {}}), createColumn({100, 1, 1000}))); // bigint unsigned + bigint unsigned = bigint unsigned ASSERT_COLUMN_EQ( createColumn>({100, 100, {}}), executeFunction(func_name, createColumn>({1, 1, {}}), createColumn({100, 100, 1000}))); // bigint + bigint = bigint ASSERT_COLUMN_EQ( createColumn>({1, 100, {}}), executeFunction(func_name, createColumn>({1, 1, {}}), createColumn({-100, 100, 1000}))); // consider null ASSERT_COLUMN_EQ( createColumn>({}), executeFunction( func_name, createColumn>({}), createColumn>({4}), createColumn>({}), createColumn>({}))); // real Greatest ASSERT_COLUMN_EQ( createColumn>({1.4, 1.1, 1.3, -1.1, 3.3, 1.1, 3.3, -1.1, 12.34, 12.34, 0.0, {}, {}, {}}), executeFunction( func_name, createColumn>({1.4, -1.4, 1.3, -1.3, 3.3, -3.3, 3.3, -3.3, 12.34, 0.0, 0.0, 0.0, {}, {}}), createColumn>( {1.3, -1.3, 1.3, -1.3, 3.3, -3.3, 3.3, -3.48, -12.34, 0.0, 0.0, 0.0, {}, {}}), createColumn>( {1.1, 1.1, -1.1, -1.1, 1.1, 1.1, -1.1, -1.1, 0.0, 12.34, 0.0, {}, 0.0, {}}))); ASSERT_COLUMN_EQ( createColumn>({1.55, 3, 0, {}, {}}), executeFunction( func_name, createColumn>({1.55, 1.55, 0, 0.0, {}}), createColumn>({-2, 3, -12, 0, {}}), createColumn>({-1, 0, 0, {}, {}}))); // const-vector greatest ASSERT_COLUMN_EQ( createColumn>({0, -2, 2, -2, 4, -2, 6}), executeFunction( func_name, createConstColumn>(7, -2), createConstColumn>(7, -3), createColumn>({0, -11, 2, -3, 4, -5, 6}))); // vector-const greatest ASSERT_COLUMN_EQ( createColumn>({3, 3, 3, 3}), executeFunction( func_name, createColumn>({0, 1, 2, 3}), createConstColumn>(4, 3))); // const-const greatest ASSERT_COLUMN_EQ( createConstColumn(1, 5), executeFunction( func_name, createConstColumn>(1, 5), createConstColumn>(1, -3))); // only null greatest ASSERT_COLUMN_EQ( createColumn>({{}, {}}), executeFunction(func_name, createColumn>({{}, {}}), createColumn>({{}, {}}))); // const and only null greatest ASSERT_COLUMN_EQ( createColumn>({{}, {}, {}, {}}), executeFunction( func_name, createColumn>({{}, {}, {}, {}}), createConstColumn>(4, 3))); ASSERT_COLUMN_EQ( createColumn>({18446744073709551615U}), executeFunction( func_name, createColumn>({18446744073709551615U}), createColumn>({18446744073709551614U}))); // bigint unsgiend + bigint = Decimal, not support for now // ASSERT_COLUMN_EQ( // createColumn>({9223372036854775818U}), // executeFunction( // func_name, // createColumn>({9223372036854775818U}), // createColumn>({92233720368547720}))); ASSERT_COLUMN_EQ( createColumn>({923372036854775818}), executeFunction( func_name, createColumn>({923372036854775818}), createColumn>({92233720368547720}))); } CATCH } // namespace DB::tests