mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-09-20 16:50:48 +00:00
ISSUES-14235 add one integration test for empty GTID transaction
This commit is contained in:
parent
e2fa0eae2f
commit
49095e8169
@ -120,3 +120,37 @@ def test_materialize_database_ddl_with_mysql_8_0(started_cluster, started_mysql_
|
|||||||
materialize_with_ddl.alter_rename_column_with_materialize_mysql_database(clickhouse_node, started_mysql_8_0, "mysql8_0")
|
materialize_with_ddl.alter_rename_column_with_materialize_mysql_database(clickhouse_node, started_mysql_8_0, "mysql8_0")
|
||||||
materialize_with_ddl.alter_modify_column_with_materialize_mysql_database(clickhouse_node, started_mysql_8_0, "mysql8_0")
|
materialize_with_ddl.alter_modify_column_with_materialize_mysql_database(clickhouse_node, started_mysql_8_0, "mysql8_0")
|
||||||
|
|
||||||
|
def test_materialize_database_ddl_with_empty_transaction(started_cluster, started_mysql_5_7):
|
||||||
|
mysql_node = started_mysql_5_7.alloc_connection()
|
||||||
|
mysql_node.query("CREATE DATABASE test_database")
|
||||||
|
|
||||||
|
|
||||||
|
mysql_node.query("RESET MASTER")
|
||||||
|
mysql_node.query("CREATE TABLE test_database.t1(a INT NOT NULL PRIMARY KEY, b VARCHAR(255) DEFAULT 'BEGIN')")
|
||||||
|
mysql_node.query("INSERT INTO test_database.t1(a) VALUES(1)")
|
||||||
|
|
||||||
|
clickhouse_node.query(
|
||||||
|
"CREATE DATABASE test_database ENGINE = MaterializeMySQL('{}:3306', 'test_database', 'root', 'clickhouse')".format(
|
||||||
|
"mysql5_7"))
|
||||||
|
|
||||||
|
# Reject one empty GTID QUERY event with 'BEGIN' and 'COMMIT'
|
||||||
|
mysql_cursor = mysql_node.cursor(pymysql.cursors.DictCursor)
|
||||||
|
mysql_cursor.execute("SHOW MASTER STATUS")
|
||||||
|
(uuid, seqs) = mysql_cursor.fetchall()[0]["Executed_Gtid_Set"].split(":")
|
||||||
|
(seq_begin, seq_end) = seqs.split("-")
|
||||||
|
assert int(seq_begin) == 1
|
||||||
|
assert int(seq_end) == 3
|
||||||
|
next_gtid = uuid + ":" + str(int(seq_end) + 1)
|
||||||
|
mysql_node.query("SET gtid_next='" + next_gtid + "'")
|
||||||
|
mysql_node.query("BEGIN")
|
||||||
|
mysql_node.query("COMMIT")
|
||||||
|
mysql_node.query("SET gtid_next='AUTOMATIC'")
|
||||||
|
|
||||||
|
# Reject one 'BEGIN' QUERY event and 'COMMIT' XID event.
|
||||||
|
mysql_node.query("/* start */ begin /* end */")
|
||||||
|
mysql_node.query("INSERT INTO test_database.t1(a) VALUES(2)")
|
||||||
|
mysql_node.query("/* start */ commit /* end */")
|
||||||
|
|
||||||
|
materialize_with_ddl.check_query(clickhouse_node, "SELECT * FROM test_database.t1 ORDER BY a FORMAT TSV", "1\tBEGIN\n2\tBEGIN\n")
|
||||||
|
clickhouse_node.query("DROP DATABASE test_database")
|
||||||
|
mysql_node.query("DROP DATABASE test_database")
|
||||||
|
Loading…
Reference in New Issue
Block a user