mirror of
https://github.com/MariaDB/server.git
synced 2025-08-08 11:22:35 +03:00
Bug#36540: CREATE EVENT and ALTER EVENT statements fail with large server_id
The problem is that creating a event could fail if the value of the variable server_id didn't fit in the originator column of the event system table. The cause is two-fold: it was possible to set server_id to a value outside the documented range (from 0 to 2^32-1) and the originator column of the event table didn't have enough room for values in this range. The log tables (general_log and slow_log) also don't have a proper column type to store the server_id and having a large server_id value could prevent queries from being logged. The solution is to ensure that all system tables that store the server_id value have a proper column type (int unsigned) and that the variable can't be set to a value that is not within the range.
This commit is contained in:
@@ -60,9 +60,11 @@ SELECT @@global.server_id;
|
||||
@@global.server_id
|
||||
0
|
||||
SET @@global.server_id = 2147483649*2;
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect server-id value: '4294967298'
|
||||
SELECT @@global.server_id;
|
||||
@@global.server_id
|
||||
4294967298
|
||||
4294967295
|
||||
SET @@global.server_id = 65530.34.;
|
||||
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '.' at line 1
|
||||
SET @@global.server_id = '125';
|
||||
|
Reference in New Issue
Block a user