Re: Add uuid_to_base32hex() and base32hex_to_uuid() built-in functions
Dagfinn Ilmari Mannsåker <ilmari@ilmari.org>
From: Dagfinn Ilmari Mannsåker <ilmari@ilmari.org>
To: Jelte Fennema-Nio <postgres@jeltef.nl>
Cc: Sergey Prokhorenko <sergeyprokhorenko@yahoo.com.au>, Andrey Borodin
<x4mmm@yandex-team.ru>, Masahiko Sawada <sawada.mshk@gmail.com>,
pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2025-10-29T10:51:56Z
Lists: pgsql-hackers
Commits
Same data as JSON:
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
Add base32hex support to encode() and decode() functions.
- 497c1170cb10 19 (unreleased) landed
-
Allow explicit casting between bytea and uuid.
- ba21f5bf8aff 19 (unreleased) landed
-
Add support for base64url encoding and decoding
- e1d917182c19 19 (unreleased) cited
Attachments
Jelte Fennema-Nio <postgres@jeltef.nl> writes: > On Tue, 28 Oct 2025 at 17:41, Dagfinn Ilmari Mannsåker > <ilmari@ilmari.org> wrote: >> Here's a patch for that. > > Looks good to me. Maybe add a test where not every byte is the same though. Good point. I've replaced them with two randomly generated ones. >> I'm not 100% confident about the error code >> for invalid length, but that was the closest one I could find in >> errcodes.txt. > > The errorcode you chose seems acceptable to me, but I think a slightly > more fitting option would be ERRCODE_INVALID_BINARY_REPRESENTATION. > Error codes in postgres are pretty arbitrary though, so either seems > fine to me. That does seem like a better fit. It's used mainly in recv functions, which this basically is (but user-callable). Updated patch attaced. - ilmari