Hi,

> Function to extract timestamp does not provide any guarantees at all. 
> Standard states this, see Kyzer answers upthread.
> Moreover, standard urges against relying on that if uuidX was generated 
> before uuidY, then uuidX<uuid. The standard is doing a lot to make this 
> happen, but does not guaranty that.
> All what is guaranteed is the uniqueness at certain conditions.
>
> > Otherwise you can calculate crc64(X) or sha256(X)
> > internally in order to generate an unique ID and claim that it's fine.
> >
> > Values that violate named invariants should be rejected with an error.
>
> Think about the value that you pass to uuid generation function as an 
> entropy. It’s there to ensure uniqueness and promote ordering (but not 
> guarantee).

If the standard doesn't guarantee something it doesn't mean it forbids
us to give stronger guarantees. I'm convinced that these guarantees
will be useful in real-world applications, at least the ones acting
exclusively within Postgres.

This being said, I understand your point of view too. Let's see what
other people think.

-- 
Best regards,
Aleksander Alekseev


Reply via email to