HomeDevCentral

Implement UUIDv1 UUIDv6 UUIDv7 and UUIDv8
580a895e5a6bUnpublished

Unpublished Commit · Learn More

Not On Permanent Ref: This commit is not an ancestor of any permanent ref.
This commit has been deleted in the repository: it is no longer reachable from any branch, tag, or ref.

Description

Implement UUIDv1 UUIDv6 UUIDv7 and UUIDv8

Summary:
There is currently a proposal for new UUID to address concerns,
and create identifiers suitable for database purpose as primary key.

This change implements UUIDv6, UUIDv7 and UUIDv8 from that proposal.

Allow to convert back and forth between UUIDv1 and UUIDv6.

Allow to represent timestamps for UUIDv1/UUIDv6 or UUIDv7.

Allow to determine version and variant from a UUID.

References:

  • RFC 4122 for UUIDv1
  • I-D draft-peabody-dispatch-new-uuid-format-03 for UUIDv6 UUIDv7 UUIDv8

Ref T1717.

Test Plan: Full coverage of added code by unit tests.

Reviewers: dereckson

Reviewed By: dereckson

Maniphest Tasks: T1717

Differential Revision: https://devcentral.nasqueron.org/D2660

Details

Provenance
derecksonAuthored on Apr 9 2022, 07:59
derecksonPushed on Jul 1 2023, 20:39
derecksonPushed on Jun 22 2023, 22:00
Parents
rKERUALD889ab94f932e: Represent a bits vector
Branches
Unknown
Tags
Unknown

Event Timeline