| From: | Aleksander Alekseev <aleksander(at)tigerdata(dot)com> |
|---|---|
| To: | pgsql-hackers <pgsql-hackers(at)postgresql(dot)org> |
| Cc: | Sergey Prokhorenko <sergeyprokhorenko(at)yahoo(dot)com(dot)au> |
| Subject: | Re: Add uuid_to_base32hex() and base32hex_to_uuid() built-in functions |
| Date: | 2025-10-23 09:55:01 |
| Message-ID: | CAJ7c6TOramr1UTLcyB128LWMqita1Y7=arq3KHaU=qikf5yKOQ@mail.gmail.com |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-hackers |
Hi Sergey,
> I'm writing to propose adding two new built-in functions to PostgreSQL that provide compact UUID encoding using the base32hex format.
Firstly, cc:'ing a few dozens of people is not the best way to get
attention to your patch. Please don't do this.
Secondly, in order to propose a patch please use `git format-patch`
and send it as an attachment. Then register it on the nearest open
commitfest [1].
The interface you are proposing is ugly and is not composable. The
right way of doing this IMO would be:
1. Implement uuid -> bytea and bytea -> uuid casting
2. Implement encode(bytea, 'base32') and decode(text, 'base32')
So the overall interface should be like this:
SELECT encode(uuidv7() :: bytea, 'base32');
The value of converting uuid to base32 is not obvious though, so I
would recommend explaining it in more detail. Consider starting a new
thread for each separate patch.
[1]: https://commitfest.postgresql.org/
--
Best regards,
Aleksander Alekseev
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Greg Sabino Mullane | 2025-10-23 09:57:19 | Re: POC: Carefully exposing information without authentication |
| Previous Message | jian he | 2025-10-23 09:49:13 | Re: postgres_fdw: Use COPY to speed up batch inserts |