Bug #36299 Values returned by UUID() are not unique
Submitted: 23 Apr 2008 17:45 Modified: 23 Apr 2008 17:52
Reporter: Philip Stoev Email Updates:
Status: Duplicate Impact on me:
None 
Category:MySQL Server Severity:S1 (Critical)
Version:6.0-falcon-team OS:Any
Assigned to: CPU Architecture:Any

[23 Apr 2008 17:45] Philip Stoev
Description:
When UUID() is called in a tight loop, the values returned are not unique.

How to repeat:
mysql> create table t1 (f1 char(255), unique (f1));
Query OK, 0 rows affected (0.02 sec)

mysql> insert into t1 (f1) values (UUID()),(UUID()),(UUID()),(UUID()),(UUID()),(UUID()),(UUID()),(UUID()),(UUID()),(UUID()),(UUID()),(UUID()),(UUID()),(UUID()),(UUID()),(UUID()),(UUID()),(UUID()),(UUID()),(UUID()),(UUID()),(UUID()),(UUID()),(UUID()),(UUID()),(UUID()),(UUID()),(UUID()),(UUID()),(UUID()),(UUID()),(UUID()),(UUID()),(UUID()),(UUID()),(UUID()),(UUID()),(UUID()),(UUID()),(UUID()),(UUID()),(UUID()),(UUID()),(UUID()),(UUID()),(UUID()),(UUID()),(UUID()),(UUID()),(UUID()),(UUID()),(UUID()),(UUID()),(UUID()),(UUID()),(UUID()),(UUID()),(UUID()),(UUID()),(UUID()),(UUID()),(UUID()),(UUID()),(UUID()),(UUID()),(UUID()),(UUID()),(UUID()),(UUID()),(UUID()),(UUID()),(UUID()),(UUID()),(UUID()),(UUID()),(UUID()),(UUID()),(UUID()),(UUID()),(UUID()),(UUID()),(UUID()),(UUID()),(UUID()),(UUID()),(UUID()),(UUID()),(UUID()),(UUID()),(UUID()),(UUID()),(UUID()),(UUID()),(UUID()),(UUID()),(UUID()),(UUID()),(UUID()),(UUID()),(UUID()),(UUID()),(UUID()),(UUID()),(UUID()),(UUID()),(UUID()),(UUID()),(UUID()),(UUID()),(UUID()),(UUID()),(UUID()),(UUID()),(UUID()),(UUID()),(UUID()),(UUID()),(UUID()),(UUID()),(UUID()),(UUID()),(UUID()),(UUID()),(UUID()),(UUID()),(UUID()),(UUID()),(UUID()),(UUID()),(UUID()),(UUID()),(UUID()),(UUID()),(UUID()),(UUID()),(UUID()),(UUID()),(UUID()),(UUID()),(UUID());
ERROR 1062 (23000): Duplicate entry '70fed422-5cd3-102b-9061-000c29c8314c' for key 'f1'

Suggested fix:
UUID() must always be unique regardless of how UUID() is used.
[23 Apr 2008 17:52] Philip Stoev
This occurs because of bug #35514 when the assertion is removed.