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.
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.