mirror of
https://github.com/MariaDB/server.git
synced 2025-01-31 02:51:44 +01:00
5e0b13d173
Other things, mainly to get create_mysqld_error_find_printf_error tool to work: - Added protection to not include mysqld_error.h twice - Include "unireg.h" instead of "mysqld_error.h" in server - Added protection if ER_XX messages are already defined - Removed wrong calls to my_error(ER_OUTOFMEMORY) as my_malloc() and my_alloc will do this automatically - Added missing %s to ER_DUP_QUERY_NAME - Removed old and wrong calls to my_strerror() when using MY_ERROR_ON_RENAME (wrong merge) - Fixed deadlock error message from Galera. Before the extra information given to ER_LOCK_DEADLOCK was missing because ER_LOCK_DEADLOCK doesn't provide any extra information. I kept #ifdef mysqld_error_find_printf_error_used in sql_acl.h to make it easy to do this kind of check again in the future
32 lines
771 B
Text
32 lines
771 B
Text
CREATE TABLE t1 (f1 BIGINT SIGNED PRIMARY KEY, f2 VARCHAR(5)) ENGINE=InnoDB;
|
|
INSERT INTO t1 VALUES
|
|
(-9223372036854775808, 'min'),
|
|
(9223372036854775807, 'max')
|
|
;
|
|
connection node_2;
|
|
SELECT * FROM t1;
|
|
f1 f2
|
|
-9223372036854775808 min
|
|
9223372036854775807 max
|
|
UPDATE t1 SET f2 = CONCAT(f2, '_');
|
|
connection node_1;
|
|
SELECT * FROM t1;
|
|
f1 f2
|
|
-9223372036854775808 min_
|
|
9223372036854775807 max_
|
|
connection node_1;
|
|
SET AUTOCOMMIT=OFF;
|
|
START TRANSACTION;
|
|
UPDATE t1 SET f2 = 'foo' WHERE f1 = -9223372036854775808;
|
|
connection node_2;
|
|
SET AUTOCOMMIT=OFF;
|
|
START TRANSACTION;
|
|
UPDATE t1 SET f2 = 'bar' WHERE f1 = -9223372036854775808;
|
|
connection node_1;
|
|
COMMIT;
|
|
SET AUTOCOMMIT=ON;
|
|
connection node_2;
|
|
COMMIT;
|
|
ERROR 40001: Deadlock: wsrep aborted transaction
|
|
SET AUTOCOMMIT=ON;
|
|
DROP TABLE t1;
|