nickva opened a new pull request #883: Fix erlang time module compatibility
URL: https://github.com/apache/couchdb/pull/883
 
 
   `now/0` is deprecated since Erlang 18.0, and a set of new time related 
functions
   are available.
   
   Usually `now/0` can be replaced with `os:timestamp/0`, however in some
   instances it was used effectively to produce monotonically incrementing 
values
   rather than timestamps. So a new `couch_time_compat` module was created to
   emulate 18.0+ `unique_integer/0,1` functionality, and code was upgraded to 
use it.
   
   Most functional changes are in couch_uuid module. There `now/0` was used both
   as a timestamp and for uniqueness. To emulate previous behavior, a local
   incrementing clock sequence is used. If `os:timestamp/0` does not advance 
since
   last call then the local clock is advanced by 1 microsecond and that's used 
to
   generate the next V1 UUIDs. As soon as os:timestamp/0` catches up, the local
   sequence reset to that latest value.
   
 
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
[email protected]


With regards,
Apache Git Services

Reply via email to