Bug #16191 UUID() doesn't replicate properly
Submitted: 4 Jan 2006 15:57 Modified: 5 Jan 2006 20:26
Reporter: Ian Gulliver Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Server Severity:S4 (Feature request)
Version:5.0.16 OS:Linux (Debian Sarge)
Assigned to: CPU Architecture:Any
Triage: D5 (Feature request)

[4 Jan 2006 15:57] Ian Gulliver
Description:
As documented at:

http://dev.mysql.com/doc/refman/5.1/en/miscellaneous-functions.html

the UUID() function fails to replicate properly.  As UUID() would be a very useful alternative to AUTO INCREMENT for ID columns in a replication environment, having this working would be helpful.

How to repeat:
# On master server:

CREATE TABLE test (uid CHAR(36));
INSERT INTO test SET uid=UUID();
SELECT * FROM test;

# Example output:
# +--------------------------------------+
# | uid                                  |
# +--------------------------------------+
# | fece8494-ce86-1028-a3a2-000cf1e2fcf8 |
# +--------------------------------------+
# 1 row in set (0.00 sec)

# On slave server:

SELECT * FROM test;

# Example output:
# +--------------------------------------+
# | uid                                  |
# +--------------------------------------+
# | 37d162f6-ce88-1028-8f12-001125ce9bea |
# +--------------------------------------+
# 1 row in set (0.00 sec)

Suggested fix:
Make UUID() replicate properly.
[5 Jan 2006 20:18] Sergei Golubchik
It is not possible to make it working without big and incompatible changes :(
So it won't be done in 5.0.

But in 5.1 UUID() should replicate correctly if you use row-based replication.
[5 Jan 2006 20:24] Ian Gulliver
I can't find any mention in the documentation of 5.1 supporting row-based replication yet.  Shouldn't the wishlist bug stay open until it does?
[5 Jan 2006 20:26] Ian Gulliver
Nevermind; not in the changelog yet, but in the 5.1 replication docs stating 5.1.5.