Hacker News new | ask | show | jobs
by koolba 3476 days ago
Reading through this really makes me appreciate how things like this are implemented in Postgres. From the outside you can deal with the text representation of a uuid as 36-chars (dash separated) but internally it automatically stores it as 16-bytes. No special translation functions required.

Having to use a UUID_TO_BIN(...) or BIN_TO_UUID(...) function for every usage, like it's implemented here, has a serious "ugh" factor. I guess the root of it is that it's not a native type. They're putting it in a regular BINARY(16) and only adding built in (but explicit) conversion functions in between that the text representation.