Adding test to check selecting key when key has integer type.

This commit is contained in:
Vitaliy Zakaznikov 2021-03-07 11:53:45 -05:00
parent d3fdb15368
commit 3a5f4abd33
2 changed files with 34 additions and 2 deletions

View File

@ -37,7 +37,15 @@ xfails = {
"tests/table map select key with key string/Nullable(NULL)":
[(Fail, "https://github.com/ClickHouse/ClickHouse/issues/21026")],
"tests/table map select key with key string/LowCardinality:":
[(Fail, "https://github.com/ClickHouse/ClickHouse/issues/21406")]
[(Fail, "https://github.com/ClickHouse/ClickHouse/issues/21406")],
"tests/table map select key with key integer/Int:":
[(Fail, "https://github.com/ClickHouse/ClickHouse/issues/21032")],
"tests/table map select key with key integer/UInt256":
[(Fail, "https://github.com/ClickHouse/ClickHouse/issues/21031")],
"tests/table map select key with key integer/toNullable":
[(Fail, "https://github.com/ClickHouse/ClickHouse/issues/21406")],
"tests/table map select key with key integer/toNullable(NULL)":
[(Fail, "https://github.com/ClickHouse/ClickHouse/issues/21026")]
}
xflags = {

View File

@ -298,7 +298,7 @@ def table_map_with_value_array(self, type, data, output):
("Map(UInt8, Int8)", "('2020-01-01', map(0,1,255,1))", '{"d":"2020-01-01","m":{0:1,255:1}}', Name("UInt8")),
("Map(Int16, Int8)", "('2020-01-01', map(127,1,0,1,-128,1))", '{"d":"2020-01-01","m":{32767:1,0:1,-32768:1}}', Name("Int16")),
("Map(UInt16, Int8)", "('2020-01-01', map(0,1,65535,1))", '{"d":"2020-01-01","m":{0:1,65535:1}}', Name("UInt16")),
("Map(Int32, Int8)", "('2020-01-01', map(127,1,0,1,-128,1))", '{"d":"2020-01-01","m":{2147483647:1,0:1,-2147483648:1}}', Name("Int32")),
("Map(Int32, Int8)", "('2020-01-01', map(2147483647,1,0,1,-2147483648,1))", '{"d":"2020-01-01","m":{2147483647:1,0:1,-2147483648:1}}', Name("Int32")),
("Map(UInt32, Int8)", "('2020-01-01', map(0,1,4294967295,1))", '{"d":"2020-01-01","m":{0:1,4294967295:1}}', Name("UInt32")),
("Map(Int64, Int8)", "('2020-01-01', map(9223372036854775807,1,0,1,-9223372036854775808,1))", '{"d":"2020-01-01","m":{"9223372036854775807":1,"0":1,"-9223372036854775808":1}}', Name("Int64")),
("Map(UInt64, Int8)", "('2020-01-01', map(0,1,18446744073709551615,1))", '{"d":"2020-01-01","m":{"0":1,"18446744073709551615":1}}', Name("UInt64")),
@ -313,6 +313,30 @@ def table_map_with_key_integer(self, type, data, output):
"""
insert_into_table(type=type, data=data, output=output)
@TestOutline(Scenario)
@Requirements(
RQ_SRS_018_ClickHouse_Map_DataType_Key_Integer("1.0")
)
@Examples("type data output select", [
("Map(Int8, Int8)", "('2020-01-01', map(127,1,0,1,-128,1))", '{"m":1}', "m[127] AS m", Name("Int8")),
("Map(UInt8, Int8)", "('2020-01-01', map(0,1,255,1))", '{"m":2}', "(m[255] + m[0]) AS m", Name("UInt8")),
("Map(Int16, Int8)", "('2020-01-01', map(127,1,0,1,-128,1))", '{"m":3}', "(m[-128] + m[0] + m[-128]) AS m", Name("Int16")),
("Map(UInt16, Int8)", "('2020-01-01', map(0,1,65535,1))", '{"m":2}', "(m[0] + m[65535]) AS m", Name("UInt16")),
("Map(Int32, Int8)", "('2020-01-01', map(2147483647,1,0,1,-2147483648,1))", '{"m":3}', "(m[2147483647] + m[0] + m[-2147483648]) AS m", Name("Int32")),
("Map(UInt32, Int8)", "('2020-01-01', map(0,1,4294967295,1))", '{"m":2}', "(m[0] + m[4294967295]) AS m", Name("UInt32")),
("Map(Int64, Int8)", "('2020-01-01', map(9223372036854775807,1,0,1,-9223372036854775808,1))", '{"m":3}', "(m[9223372036854775807] + m[0] + m[-9223372036854775808]) AS m", Name("Int64")),
("Map(UInt64, Int8)", "('2020-01-01', map(0,1,18446744073709551615,1))", '{"m":2}', "(m[0] + m[18446744073709551615]) AS m", Name("UInt64")),
("Map(Int128, Int8)", "('2020-01-01', map(170141183460469231731687303715884105727,1,0,1,-170141183460469231731687303715884105728,1))", '{"m":3}', "(m[170141183460469231731687303715884105727] + m[0] + m[-170141183460469231731687303715884105728]) AS m", Name("Int128")),
("Map(Int256, Int8)", "('2020-01-01', map(57896044618658097711785492504343953926634992332820282019728792003956564819967,1,0,1,-57896044618658097711785492504343953926634992332820282019728792003956564819968,1))", '{"m":3}', "(m[57896044618658097711785492504343953926634992332820282019728792003956564819967] + m[0] + m[-57896044618658097711785492504343953926634992332820282019728792003956564819968]) AS m", Name("Int256")),
("Map(UInt256, Int8)", "('2020-01-01', map(0,1,115792089237316195423570985008687907853269984665640564039457584007913129639935,1))", '{"m":2}', "(m[0] + m[115792089237316195423570985008687907853269984665640564039457584007913129639935]) AS m", Name("UInt256")),
("Map(Nullable(Int8), Int8)", "('2020-01-01', map(toNullable(1),1))", '{"m":1}', "m[1] AS m", Name("toNullable")),
("Map(Nullable(Int8), Int8)", "('2020-01-01', map(toNullable(NULL),1))", '{"m":1}', "m[null] AS m", Name("toNullable(NULL)")),
])
def table_map_select_key_with_key_integer(self, type, data, output, select):
"""Check what values we can insert into map type column with key integer and if we can use the key to select the value.
"""
insert_into_table(type=type, data=data, output=output, select=select)
@TestOutline(Scenario)
@Requirements(
RQ_SRS_018_ClickHouse_Map_DataType_ArrayOfMaps("1.0"),