Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1w5slw-003imm-2H for pgsql-hackers@arkaria.postgresql.org; Thu, 26 Mar 2026 22:01:48 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1w5slv-005vQ9-0B for pgsql-hackers@arkaria.postgresql.org; Thu, 26 Mar 2026 22:01:47 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1w5slu-005vQ1-2I for pgsql-hackers@lists.postgresql.org; Thu, 26 Mar 2026 22:01:47 +0000 Received: from mail-lf1-x12c.google.com ([2a00:1450:4864:20::12c]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from ) id 1w5slq-00000001MdY-0Wt8 for pgsql-hackers@postgresql.org; Thu, 26 Mar 2026 22:01:46 +0000 Received: by mail-lf1-x12c.google.com with SMTP id 2adb3069b0e04-5a0fc5e2c59so1723786e87.1 for ; Thu, 26 Mar 2026 15:01:42 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1774562502; cv=none; d=google.com; s=arc-20240605; b=PNaZC6y700RbRccmggcaoczTcEI5bCt2vAX5D30czu9JeIy1QMkTkRf3abLNQc/2in jtOLNPUIWPkuQEja8KCO0Lg062lY/27CKpt15r7KaJEmANqUYtcJp0Ror9SSq+ogG8gQ /qndTxMX8E+MwOBYD4P3Wy/GNAJIpe1ooUJGuCLMavtZpITlRCH/K2HNgS4sorv8hSvO OUG6Nuhio32nn3X+/d5TJFqlEF1yJhDfnZFF7aRkhwkQ6wcvW9qafdL4s2mapERwBoAH YQ+SU/uVnS6LZAibgL+tuTAG1ek2Qoi4xx9K9n6LBNqjTBX/ANr+/k6zEptt8uvuq7Uc EKpQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:dkim-signature; bh=R/DGPaB0ZC16BA/qvpjqgdmrGnu+faFwJpGbvUWf4MM=; fh=xKsiomiRFxNNm35z/wFh7q0b8v9Oa+ta5wnaouSwfhs=; b=ReIdN68oyeSCQLhY46dlxpzpp8Ma3DcwvYx59lZCdx0RnXEtA/ZFjnowKXyKrjrYQf J2nyr7q3u2EZ/IGTyOIFQmSP9k4WLljmRyiaUg3uPgZ3FiyBJWOBnj4TzDPhCIL9JHFM bfrzMjFMqqfTF7BDAvXCxuffKSvYF3Rp9f/jYGB1+m0gNrDErwF36njPkrlsqsbUvZp9 5OcT5LLuV6zbpixvo00aNRx/nLOUgmFRpBLeBOgqMTb8VOwdUGQ3hRISXkKssuBti2w5 UO3BWCpOovO4LD+aTL+D7HpD6ZLEXzyGuuW/BlrsMn+iRDNAe3+T4q/vZaqP+QBn7AhG AjlA==; darn=postgresql.org ARC-Authentication-Results: i=1; mx.google.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1774562502; x=1775167302; darn=postgresql.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=R/DGPaB0ZC16BA/qvpjqgdmrGnu+faFwJpGbvUWf4MM=; b=hfP5t67BODL36oaek1lDC/lYAvxvlPfh/2HH/V27hBmFx43jSQwuawZEz4O3RNm3ZN N5OFWqDdLMaDFYK4zLWW0kXSMHbhgeH7Lf5VCBgJuQ0kQ0q2TGtN62b1X78Gk7ax6TS5 Fk8cd3s773YdmyNV5z1bKsKqbbQ1akf/LznkcdWzUGBXV2fTFAwTEjwVyEb4FQHadXlF m8s6yOH/DtV+6JKeZ/szBWjTz5mO0oKI6vb8OXRk511eDbNUfcCbAA5mSyp3NQ1WPG8Y ajqU0eFxpJpUU9tEZcq/LpTXHINygy7WH50kaG6hS/06pu8KDgCnEoJnBjrHWDOkEakC Yi2w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1774562502; x=1775167302; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=R/DGPaB0ZC16BA/qvpjqgdmrGnu+faFwJpGbvUWf4MM=; b=PvJDuWG9jGTlE7L3HY7lHL9tZvb8Xaa34i66cWoqI4nQQ5nU7dHep9t8CtE25FkfC4 8ZNvK8jW8tw+fRMPdIj0Lbr9uSGGyZOZZFsK5pPAZfBakhG+zihoHllhD5+CMAiGlZ7b yVahRet3O40QQUf67EpxcI50Egw5cEmo4YGhooE9dXVwIrjcQNmOc++k1uHut9ywzDbb 0P1st/YfVb9+S3w+y1XejtMORdobmP3/Czg7w4rr/YGnLmlb/V8il/PBiwHoUXDlU5/3 cvpvsv9uVw9tZzlrHkLXDsVJIU8kSRe4NEHBKAApLoTBw0RXDezfICM9rmEKa/mN8TF9 r/EA== X-Forwarded-Encrypted: i=1; AJvYcCV7bf6KqYqdkcX6RDQUIPgBsGfWDyBa0lGeFs872SdzZDfamErWzBxHCulL0DMinVrV8+GnTRz2H4VYmpmE@postgresql.org X-Gm-Message-State: AOJu0YxmFNQyki9/Zbm2qxWCRNjBvXnqoE8QmS7F16djT7LssUluAJfJ jO79oizGXzZ8y7SYx7c2AACQQwjMkG8jdqfg5g0IspGIhsgxLZghJ3WhiD7HiKjVneA46CIzraC TagFE5qNjUVb3GI/DHnJvTGrugtNwQmE= X-Gm-Gg: ATEYQzztNoVAYiZmXMwExgNbQFBctYcOdpqADRy8tc88CsgQ0tuhXc/hY+znH0riKwR Sj2Ytjt7PMNweIbZF7jFMWzCcL/8WhS0KnI6+xWzMn8+VfDIdaBu0+ImjiTwYALihpq95/fHbKP 37/hrx9DTgAAVdxP627W+OYeCIhUm2bJ9uQPqzyuu3WhcX1qbfQn8lguJA3aVanekktvM9C686N Rtet9b6KC7tO9rNxA9CgMnVrk/m8vJpC5OhPBb+icXLBYaO5n9rknd3EpMM+6OzKtiJEhrewo+R 23+3J7gt X-Received: by 2002:a05:6512:2308:b0:5a1:26f7:8607 with SMTP id 2adb3069b0e04-5a2ab91d0e3mr44819e87.22.1774562501721; Thu, 26 Mar 2026 15:01:41 -0700 (PDT) MIME-Version: 1.0 References: <1791665551.452444.1761209220211.ref@mail.yahoo.com> <1895971769.8343.1761240853939@mail.yahoo.com> <574624399.175025.1761290201491@mail.yahoo.com> <953203149.383019.1761345585325@mail.yahoo.com> <6F76FA61-E2DC-44EF-9504-889D9BDB4EBD@yandex-team.ru> <1154454839.957923.1761604611424@mail.yahoo.com> <87ldkv8cog.fsf@wibble.ilmari.org> <87ikfz7zcu.fsf@wibble.ilmari.org> <9CB824CC-70DC-4165-AC6A-9664F47209EE@yandex-team.ru> <878qbn51kb.fsf@wibble.ilmari.org> <1F13AF7E-B90A-40FB-B47C-DC38FBB08353@gmail.com> <682417.1774482047@sss.pgh.pa.us> <431D684B-ABE2-461D-AA26-E009D2630CEA@yandex-team.ru> <975FB674-1C52-4431-B80F-298075198F25@yandex-team.ru> In-Reply-To: <975FB674-1C52-4431-B80F-298075198F25@yandex-team.ru> From: Masahiko Sawada Date: Thu, 26 Mar 2026 15:01:04 -0700 X-Gm-Features: AQROBzAkyLcHZGtWpT6xTs-VOEWOJY_IIsTg9OJ5frV4PcvznOal6fbBpMZAnsI Message-ID: Subject: Re: Add uuid_to_base32hex() and base32hex_to_uuid() built-in functions To: Andrey Borodin Cc: Tom Lane , Aleksander Alekseev , pgsql-hackers , Chao Li , =?UTF-8?Q?Dagfinn_Ilmari_Manns=C3=A5ker?= Content-Type: multipart/mixed; boundary="0000000000008c175c064df48783" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --0000000000008c175c064df48783 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Thu, Mar 26, 2026 at 10:59=E2=80=AFAM Andrey Borodin wrote: > > > > > On 26 Mar 2026, at 22:30, Masahiko Sawada wrote= : > > > > Feedback is very welcome. > > The patch is fine from my POV. > > Please consider these small improvements to the patch. Basically, we refe= rence to formula stated by RFC where possible. > 0001 is intact. Thank you for the suggestion. It looks good to me. I've merged these patches and am going to push barring any objections. Regards, --=20 Masahiko Sawada Amazon Web Services: https://aws.amazon.com --0000000000008c175c064df48783 Content-Type: text/x-patch; charset="US-ASCII"; name="v2-0001-doc-Clarify-collation-requirements-for-base32hex-.patch" Content-Disposition: attachment; filename="v2-0001-doc-Clarify-collation-requirements-for-base32hex-.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mn80nnyh0 RnJvbSAzNWQzMjFhOWUzMjE2MDUyYzkxN2I0ZDFhNjFiOTNlY2IxNDE0ZTQyIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBNYXNhaGlrbyBTYXdhZGEgPG1zYXdhZGFAcG9zdGdyZXNxbC5v cmlnPgpEYXRlOiBUaHUsIDI2IE1hciAyMDI2IDEwOjE3OjIzIC0wNzAwClN1YmplY3Q6IFtQQVRD SCB2Ml0gZG9jOiBDbGFyaWZ5IGNvbGxhdGlvbiByZXF1aXJlbWVudHMgZm9yIGJhc2UzMmhleAog c29ydGFiaWxpdHkuCgpXaGlsZSBmaXhpbmcgdGhlIGJhc2UzMmhleCBVVUlEIHNvcnRhYmlsaXR5 IHRlc3QgaW4gY29tbWl0Cjg5MjEwMDM3YTBhLCBpdCB0dXJuZWQgb3V0IHRoYXQgdGhlIGV4cGVj dGVkIGxleGljb2dyYXBoaWNhbCBvcmRlciBpcwpvbmx5IG1haW50YWluZWQgdW5kZXIgdGhlIEMg Y29sbGF0aW9uIChvciBhbiBlcXVpdmFsZW50IGJ5dGUtd2lzZQpjb2xsYXRpb24pLiBOYXR1cmFs IGxhbmd1YWdlIGNvbGxhdGlvbnMgbWF5IGVtcGxveSBkaWZmZXJlbnQgcnVsZXMsCmJyZWFraW5n IHRoZSBzb3J0YWJpbGl0eS4KClRoaXMgY29tbWl0IHVwZGF0ZXMgdGhlIGRvY3VtZW50YXRpb24g dG8gZXhwbGljaXRseSBzdGF0ZSB0aGF0CmJhc2UzMmhleCBpcyAiYnl0ZS13aXNlIHNvcnRhYmxl IiwgZW5zdXJpbmcgdXNlcnMgZG8gbm90IGZhbGwgaW50byB0aGUKdHJhcCBvZiB1c2luZyBuYXR1 cmFsIGxhbmd1YWdlIGNvbGxhdGlvbnMgd2hlbiBxdWVyeWluZyB0aGVpciBlbmNvZGVkCmRhdGEu CgpDby1BdXRob3JlZC1ieTogTWFzYWhpa28gU2F3YWRhIDxzYXdhZGEubXNoa0BnbWFpbC5jb20+ CkNvLUF1dGhvcmVkLWJ5OiBBbmRyZXkgQm9yb2RpbiA8eDRtbW1AeWFuZGV4LXRlYW0ucnU+CkRp c2N1c3Npb246IGh0dHBzOi8vcG9zdGdyLmVzL20vQ0FEMjFBb0F3WDFENmJhU0d1UVhtMG16UFhQ V0IwN2tnYW9hYWFoak5ISGVuYmRZMjRBQG1haWwuZ21haWwuY29tCi0tLQogZG9jL3NyYy9zZ21s L2Z1bmMvZnVuYy1iaW5hcnlzdHJpbmcuc2dtbCB8IDE0ICsrKysrKysrKysrLS0tCiAxIGZpbGUg Y2hhbmdlZCwgMTEgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9k b2Mvc3JjL3NnbWwvZnVuYy9mdW5jLWJpbmFyeXN0cmluZy5zZ21sIGIvZG9jL3NyYy9zZ21sL2Z1 bmMvZnVuYy1iaW5hcnlzdHJpbmcuc2dtbAppbmRleCAwYWFmOWJjNjhmMS4uZGM2YjdlNTdlYTcg MTAwNjQ0Ci0tLSBhL2RvYy9zcmMvc2dtbC9mdW5jL2Z1bmMtYmluYXJ5c3RyaW5nLnNnbWwKKysr IGIvZG9jL3NyYy9zZ21sL2Z1bmMvZnVuYy1iaW5hcnlzdHJpbmcuc2dtbApAQCAtNzc4LDE4ICs3 NzgsMjYgQEAKICAgICAgICA8dWxpbmsgdXJsPSJodHRwczovL2RhdGF0cmFja2VyLmlldGYub3Jn L2RvYy9odG1sL3JmYzQ2NDgjc2VjdGlvbi03Ij4KICAgICAgICBSRkMgNDY0OCBTZWN0aW9uIDc8 L3VsaW5rPi4gIEl0IHVzZXMgdGhlIGV4dGVuZGVkIGhleCBhbHBoYWJldAogICAgICAgICg8bGl0 ZXJhbD4wPC9saXRlcmFsPi08bGl0ZXJhbD45PC9saXRlcmFsPiBhbmQKLSAgICAgICA8bGl0ZXJh bD5BPC9saXRlcmFsPi08bGl0ZXJhbD5WPC9saXRlcmFsPikgd2hpY2ggcHJlc2VydmVzIHRoZSBs ZXhpY29ncmFwaGljYWwKLSAgICAgICBzb3J0IG9yZGVyIG9mIHRoZSBlbmNvZGVkIGRhdGEuIFRo ZSA8ZnVuY3Rpb24+ZW5jb2RlPC9mdW5jdGlvbj4gZnVuY3Rpb24KKyAgICAgICA8bGl0ZXJhbD5B PC9saXRlcmFsPi08bGl0ZXJhbD5WPC9saXRlcmFsPikgd2hpY2ggcHJlc2VydmVzIHRoZSBzb3J0 IG9yZGVyIG9mCisgICAgICAgdGhlIGVuY29kZWQgZGF0YSB3aGVuIGNvbXBhcmVkIGJ5dGUtd2lz ZS4gVGhlIDxmdW5jdGlvbj5lbmNvZGU8L2Z1bmN0aW9uPiBmdW5jdGlvbgogICAgICAgIHByb2R1 Y2VzIG91dHB1dCBwYWRkZWQgd2l0aCA8bGl0ZXJhbD4nPSc8L2xpdGVyYWw+LCB3aGlsZSA8ZnVu Y3Rpb24+ZGVjb2RlPC9mdW5jdGlvbj4KICAgICAgICBhY2NlcHRzIGJvdGggcGFkZGVkIGFuZCB1 bnBhZGRlZCBpbnB1dC4gRGVjb2RpbmcgaXMgY2FzZS1pbnNlbnNpdGl2ZSBhbmQgaWdub3Jlcwog ICAgICAgIHdoaXRlc3BhY2UgY2hhcmFjdGVycy4KICAgICAgIDwvcGFyYT4KICAgICAgIDxwYXJh PgotICAgICAgIFRoaXMgZm9ybWF0IGlzIHVzZWZ1bCBmb3IgZW5jb2RpbmcgVVVJRHMgaW4gYSBj b21wYWN0LCBzb3J0YWJsZSBmb3JtYXQ6CisgICAgICAgVGhpcyBmb3JtYXQgaXMgdXNlZnVsIGZv ciBlbmNvZGluZyBVVUlEcyBpbiBhIGNvbXBhY3QsIGJ5dGUtd2lzZSBzb3J0YWJsZSBmb3JtYXQ6 CiAgICAgICAgPGxpdGVyYWw+cnRyaW0oZW5jb2RlKHV1aWRfdmFsdWU6OmJ5dGVhLCAnYmFzZTMy aGV4JyksICc9Jyk8L2xpdGVyYWw+CiAgICAgICAgcHJvZHVjZXMgYSAyNi1jaGFyYWN0ZXIgc3Ry aW5nIGNvbXBhcmVkIHRvIHRoZSBzdGFuZGFyZCAzNi1jaGFyYWN0ZXIKICAgICAgICBVVUlEIHJl cHJlc2VudGF0aW9uLgogICAgICAgPC9wYXJhPgorICAgICAgPG5vdGU+CisgICAgICAgPHBhcmE+ CisgICAgICAgIFRvIG1haW50YWluIHRoZSBsZXhpY29ncmFwaGljYWwgc29ydCBvcmRlciBvZiB0 aGUgZW5jb2RlZCBkYXRhLAorICAgICAgICBlbnN1cmUgdGhhdCB0aGUgdGV4dCBpcyBzb3J0ZWQg dXNpbmcgdGhlIEMgY29sbGF0aW9uCisgICAgICAgIChlLmcuLCB1c2luZyA8bGl0ZXJhbD5DT0xM QVRFICJDIjwvbGl0ZXJhbD4pLiBOYXR1cmFsIGxhbmd1YWdlCisgICAgICAgIGNvbGxhdGlvbnMg bWF5IHNvcnQgY2hhcmFjdGVycyBkaWZmZXJlbnRseSBhbmQgYnJlYWsgdGhlIG9yZGVyaW5nLgor ICAgICAgIDwvcGFyYT4KKyAgICAgIDwvbm90ZT4KICAgICAgPC9saXN0aXRlbT4KICAgICA8L3Zh cmxpc3RlbnRyeT4KIAotLSAKMi41My4wCgo= --0000000000008c175c064df48783--