mariadb/mysql-test/suite/galera/r/galera_table_with_hyphen.result
sjaakola 2fcf2ec229 MDEV-33749 hyphen in table name can cause galera certification failures
Fix in this commit handles foreign key value appending into write set
so that db and table names are converted from the filepath format
to tablename format. This is compatible with key values appended from
elsewhere in the code base

There is a mtr test galera.galera_table_with_hyphen for regression testing

Reviewer: monty@mariadb.com
2024-04-04 17:12:09 +03:00

52 lines
1.9 KiB
Text

connection node_2;
connection node_1;
connection node_1;
set wsrep_sync_wait=0;
connect node_1a, 127.0.0.1, root, , test, $NODE_MYPORT_1;
SET SESSION wsrep_sync_wait = 0;
connection node_1;
SET GLOBAL wsrep_slave_threads=2;
CREATE TABLE `par-ent` ( id INT AUTO_INCREMENT PRIMARY KEY, j INT) ENGINE=InnoDB;
CREATE TABLE `child` (id INT AUTO_INCREMENT PRIMARY KEY, parent_id INT, j INT, FOREIGN KEY (parent_id) REFERENCES `par-ent`(id)) ENGINE=InnoDB;
INSERT INTO `par-ent` VALUES (23,0);
connection node_2;
connection node_1a;
SET GLOBAL DEBUG_DBUG='+d,wsrep_ha_write_row';
connection node_2;
INSERT INTO `child` VALUES (21,23,0),(22,23,0),(23,23,0);
connection node_1a;
SET DEBUG_SYNC='now WAIT_FOR wsrep_ha_write_row_reached';
connection node_2;
UPDATE `par-ent` SET j=2 WHERE id=23;
connection node_1a;
SET GLOBAL DEBUG_DBUG='-d,wsrep_ha_write_row';
SET DEBUG_SYNC='now SIGNAL wsrep_ha_write_row_continue';
SET GLOBAL DEBUG_DBUG="RESET";
SET DEBUG_SYNC = 'RESET';
SET GLOBAL wsrep_slave_threads=DEFAULT;
connection node_2;
drop table `child`;
drop table `par-ent`;
connection node_1;
SET GLOBAL wsrep_slave_threads=2;
CREATE TABLE `p-arent-` ( id INT AUTO_INCREMENT PRIMARY KEY, j INT) ENGINE=InnoDB;
CREATE TABLE `c-hild` (id INT AUTO_INCREMENT PRIMARY KEY, parent_id INT, j INT, FOREIGN KEY (parent_id) REFERENCES `p-arent-`(id)) ENGINE=InnoDB;
INSERT INTO `p-arent-` VALUES (23,0);
connection node_2;
connection node_1a;
SET GLOBAL DEBUG_DBUG='+d,wsrep_ha_write_row';
connection node_2;
INSERT INTO `c-hild` VALUES (21,23,0),(22,23,0),(23,23,0);
connection node_1a;
SET DEBUG_SYNC='now WAIT_FOR wsrep_ha_write_row_reached';
connection node_2;
UPDATE `p-arent-` SET j=2 WHERE id=23;
connection node_1a;
SET GLOBAL DEBUG_DBUG='-d,wsrep_ha_write_row';
SET DEBUG_SYNC='now SIGNAL wsrep_ha_write_row_continue';
SET GLOBAL DEBUG_DBUG="RESET";
SET DEBUG_SYNC = 'RESET';
SET GLOBAL wsrep_slave_threads=DEFAULT;
connection node_2;
drop table `c-hild`;
drop table `p-arent-`;