Skip to content

The ULIDs are not constantly growing and are not sequential within the same millisecond. #101

@vmelamed

Description

@vmelamed

I generated and printed a bunch of ULIDs.

Console.WriteLine(Ulid.NewUlid().ToString());
Console.WriteLine(Ulid.NewUlid().ToString());
Console.WriteLine(Ulid.NewUlid().ToString());
Console.WriteLine(Ulid.NewUlid().ToString());
Console.WriteLine(Ulid.NewUlid().ToString());
Console.WriteLine(Ulid.NewUlid().ToString());
Console.WriteLine(Ulid.NewUlid().ToString());
Console.WriteLine(Ulid.NewUlid().ToString());
Console.WriteLine(Ulid.NewUlid().ToString());
Console.WriteLine(Ulid.NewUlid().ToString());
Console.WriteLine(Ulid.NewUlid().ToString());

And I got this:

01K4P8T8PW:2NRPGWK4VC9H38PS
01K4P8T8PX:SFM8VGRCFTSZ1STZ
01K4P8T8PX:HWSQB413GQ18FQM8
01K4P8T8PX:43FGEJ4WX30YSCGG
01K4P8T8PX:M8BW2DH4BW3BS2XS
01K4P8T8PX:XB4Q98K7V1PVX1A9
01K4P8T8PX:711NFBQ7GBSR33R4
01K4P8T8PX:JMEQXX10P5V1GYZM
01K4P8T8PX:3DK2XNSG46KVGZR0
01K4P8T8PX:HVPHQ4P1H1Z8QMF1
01K4P8T8PX:TJDPST8MCT6GJ3W1

(I inserted the colon after the 10th letter for ease of separating the parts. I understand that technically this is not quite accurate but it helps.)

  1. The second ULID is lexicographically greater than the third: 01K4P8T8PX:SFM8VGRCFTSZ1STZ > 01K4P8T8PX:HWSQB413GQ18FQM8.
  2. According to the description shouldn't the third ULID be something like 01K4P8T8PX:SFM8VGRCFTSZ1SV0?

I understand that this is not a standard, but it seems to me that these are important issues, esp. for relational DB-s. No?

Thank you!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions