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
33 lines
714 B
Text
33 lines
714 B
Text
CREATE TABLE t1 (f1 BLOB) ENGINE=InnoDB;
|
|
INSERT INTO t1 VALUES (NULL),('abc');
|
|
connection node_2;
|
|
SELECT f1 FROM t1;
|
|
f1
|
|
NULL
|
|
abc
|
|
DELETE FROM t1 WHERE f1 IS NULL;
|
|
UPDATE t1 SET f1 = 'xyz' WHERE f1 = 'abc';
|
|
connection node_1;
|
|
SELECT COUNT(*) = 1 FROM t1;
|
|
COUNT(*) = 1
|
|
1
|
|
SELECT f1 = 'abc' FROM t1;
|
|
f1 = 'abc'
|
|
0
|
|
connection node_1;
|
|
CREATE TABLE t2 (f1 BLOB) ENGINE=InnoDB;
|
|
INSERT INTO t2 VALUES (NULL);
|
|
SET AUTOCOMMIT=OFF;
|
|
START TRANSACTION;
|
|
UPDATE t2 SET f1 = 'abc' WHERE f1 IS NULL;
|
|
connection node_2;
|
|
SET AUTOCOMMIT=OFF;
|
|
START TRANSACTION;
|
|
UPDATE t2 SET f1 = 'xyz' WHERE f1 IS NULL;
|
|
connection node_1;
|
|
COMMIT;
|
|
connection node_2;
|
|
COMMIT;
|
|
ERROR 40001: Deadlock: wsrep aborted transaction
|
|
DROP TABLE t1;
|
|
DROP TABLE t2;
|