MaterializedMySQL: Add tests for unquoted utf8 column names in DML

This commit is contained in:
Val Doroshchuk 2023-08-03 11:04:07 +02:00
parent 621d852289
commit 7da85cc0de

View File

@ -1671,22 +1671,24 @@ def utf8mb4_name_test(clickhouse_node, mysql_node, service_name):
f"CREATE TABLE `{db}`.`{table}` (id INT(11) NOT NULL PRIMARY KEY, `{table}` DATETIME) ENGINE=InnoDB DEFAULT CHARACTER SET utf8mb4"
)
mysql_node.query(f"INSERT INTO `{db}`.`{table}` VALUES(1, now())")
mysql_node.query(f"INSERT INTO `{db}`.`{table}`(id, `{table}`) VALUES(2, now())")
mysql_node.query(
f"CREATE TABLE {db}.{table}_unquoted (id INT(11) NOT NULL PRIMARY KEY, {table} DATETIME) ENGINE=InnoDB DEFAULT CHARACTER SET utf8mb4"
)
mysql_node.query(f"INSERT INTO {db}.{table}_unquoted VALUES(1, now())")
mysql_node.query(f"INSERT INTO {db}.{table}_unquoted(id, {table}) VALUES(2, now())")
clickhouse_node.query(
f"CREATE DATABASE `{db}` ENGINE = MaterializedMySQL('{service_name}:3306', '{db}', 'root', 'clickhouse')"
)
check_query(
clickhouse_node,
f"/* expect: 1 */ SELECT COUNT() FROM `{db}`.`{table}`",
"1\n",
f"/* expect: 2 */ SELECT COUNT() FROM `{db}`.`{table}`",
"2\n",
)
check_query(
clickhouse_node,
f"/* expect: 1 */ SELECT COUNT() FROM `{db}`.`{table}_unquoted`",
"1\n",
f"/* expect: 2 */ SELECT COUNT() FROM `{db}`.`{table}_unquoted`",
"2\n",
)
# Inc sync
@ -1694,20 +1696,24 @@ def utf8mb4_name_test(clickhouse_node, mysql_node, service_name):
f"CREATE TABLE `{db}`.`{table}2` (id INT(11) NOT NULL PRIMARY KEY, `{table}` DATETIME) ENGINE=InnoDB DEFAULT CHARACTER SET utf8mb4"
)
mysql_node.query(f"INSERT INTO `{db}`.`{table}2` VALUES(1, now())")
mysql_node.query(f"INSERT INTO `{db}`.`{table}2`(id, `{table}`) VALUES(2, now())")
check_query(
clickhouse_node,
f"/* expect: 1 */ SELECT COUNT() FROM `{db}`.`{table}2`",
"1\n",
f"/* expect: 2 */ SELECT COUNT() FROM `{db}`.`{table}2`",
"2\n",
)
mysql_node.query(
f"CREATE TABLE {db}.{table}2_unquoted (id INT(11) NOT NULL PRIMARY KEY, {table} DATETIME) ENGINE=InnoDB DEFAULT CHARACTER SET utf8mb4"
)
mysql_node.query(f"INSERT INTO {db}.{table}2_unquoted VALUES(1, now())")
mysql_node.query(
f"INSERT INTO {db}.{table}2_unquoted(id, {table}) VALUES(2, now())"
)
check_query(
clickhouse_node,
f"/* expect: 1 */ SELECT COUNT() FROM `{db}`.`{table}2_unquoted`",
"1\n",
f"/* expect: 2 */ SELECT COUNT() FROM `{db}`.`{table}2_unquoted`",
"2\n",
)
clickhouse_node.query(f"DROP DATABASE IF EXISTS `{db}`")