summaryrefslogtreecommitdiff
path: root/sql/item_strfunc.cc
diff options
context:
space:
mode:
authorserg@serg.mylan <>2004-03-14 11:50:15 +0100
committerserg@serg.mylan <>2004-03-14 11:50:15 +0100
commitae279eae3b0b944a140201a5fa93be1b2a313811 (patch)
treed920b7055f99de2547ed223f5b4db09641b829d5 /sql/item_strfunc.cc
parent001ad875547e9551958f9696ecb13544606ef895 (diff)
downloadmariadb-git-ae279eae3b0b944a140201a5fa93be1b2a313811.tar.gz
UUID() bug that manifests itself on low-res (<1 us) timers only
(and not critical at all as it does not result in repeated values)
Diffstat (limited to 'sql/item_strfunc.cc')
-rw-r--r--sql/item_strfunc.cc9
1 files changed, 8 insertions, 1 deletions
diff --git a/sql/item_strfunc.cc b/sql/item_strfunc.cc
index 518b9ca624b..bcf534c9e84 100644
--- a/sql/item_strfunc.cc
+++ b/sql/item_strfunc.cc
@@ -2754,7 +2754,14 @@ String *Item_func_uuid::val_str(String *str)
tv++;
}
else
- nanoseq=0;
+ {
+ if (nanoseq)
+ {
+ tv-=nanoseq;
+ nanoseq=0;
+ }
+ DBUG_ASSERT(tv > uuid_time);
+ }
uuid_time=tv;
pthread_mutex_unlock(&LOCK_uuid_generator);