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 1w53jb-002qv7-38 for pgsql-hackers@arkaria.postgresql.org; Tue, 24 Mar 2026 15:32:00 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1w53jZ-007UWw-0e for pgsql-hackers@arkaria.postgresql.org; Tue, 24 Mar 2026 15:31:57 +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 1w53jY-007UWk-2p for pgsql-hackers@lists.postgresql.org; Tue, 24 Mar 2026 15:31:57 +0000 Received: from mail-ot1-x329.google.com ([2607:f8b0:4864:20::329]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from ) id 1w53jW-00000000tlo-1hor for pgsql-hackers@postgresql.org; Tue, 24 Mar 2026 15:31:56 +0000 Received: by mail-ot1-x329.google.com with SMTP id 46e09a7af769-7d7e9b97a73so2444724a34.0 for ; Tue, 24 Mar 2026 08:31:54 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1774366313; cv=none; d=google.com; s=arc-20240605; b=ZAzOJ+rRS5Q7JUJ3v6OiNSop0B4EtQWPpRZzvQGgYFR8eGi3j+YTgjBlysCEA3jRIq 4a1DCXBZ83U9+eS7llTgiktoK9WvrIQNJy3GM9KgnGSw1dMRt4hxBr8i6Qbhdu+cXV0C amqYkfWtXWOgf9pLA8jBjd57QH4/99/SGoChs1lNSH5QyLingywWd8bz7yioUmNc3NY/ 8SPFRTVmnnLgTXQ22UglVlcfNNxSKQYwwsWvPiQhnMizlHhTIXIa+dzg1oLQ3FD4WGpx gotckh28X210sb6fDm1uv9OP+xitxvLtEEP5hltMwf6kD9ye6JHT5jo9KN7H+RP/dl6o iTbQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:dkim-signature; bh=qXnry/tAeU7Gj/8mx1MwY/0iqeUJX49pDJtqQdnpflo=; fh=TN0NmQGiJhcB7rr2GfY4VKaIlplsDADoeW8Hs79dLVI=; b=d3VhPZTZ2Ln/GGeLVsae7NqUq1cNiKj2wnyVuil4zLy5SxyMCPYijdFS5iqvXQMmYT Yg6WCYaWMAXv0bD0w6sG9CaECYKJQk7BA9CIZ/3j/DQ70w1rsLJ2T/1hrATqk2xO0iYi o0fTh3liPQlbdd0NCL7Ipb1VKqoKs7d6KCPS2DRVVzs1YW8+7VuO/4WFUyn8si2jKmQe RAIzd+cSlXJ5ewzXxAq7yByTetVBxnOmn8w1kK9uaWlNrhI8YjvNywc7c6ggIw6cdkp/ 3rTkgM35cdrwN2+xnDNKZFs77mnjTTPXTGpDCczRMaZywivD7T9bpRwNqT6mW991u6EB uyFg==; darn=postgresql.org ARC-Authentication-Results: i=1; mx.google.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tigerdata.com; s=google; t=1774366313; x=1774971113; darn=postgresql.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=qXnry/tAeU7Gj/8mx1MwY/0iqeUJX49pDJtqQdnpflo=; b=ElpZo79XkueQrwhj0QnUL0TTMD6PCM/0uF5eBR9gVSDNqTb51m3uVHdWF7hgPzy+6J GdWa1qAoNGSg3/3RWQUNf+IXIYnHr0gWoDqiZYpqWJh4j+VN8Lm1/ws8E5taoA5OQr8b vKPd8uLXq2tih87T2QD++DJAoaS6MPJuHU4EYl3MeTAJfNZj+aUHMili207cPCRp63Aj IYoKMcyrqParoE1EB5rCLUfrkEtGZIjTCIFpXgBaNGZpSTRWwxmx/TduL6mkq0br4KR4 y7uLo6RiSIG03osyQs38KQfo/2r0H9AEWi1+VFE5sWVeQT2+a/8ioDDaspum4enxos86 lvJw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1774366313; x=1774971113; h=content-transfer-encoding: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=qXnry/tAeU7Gj/8mx1MwY/0iqeUJX49pDJtqQdnpflo=; b=ImhmslEu7u/qupX9qAWCoseZjG/sGh+Gs9Apfz6p0fRw614CdCujfqpUDpktov+rcY v7AQP3HbBO4i2Jj1AE+4h9toF4O5wFzS//nrGFtMoDUR8X45MnFOeppPvOVmxFDCYei7 n9OM3rw5iRIUyTEl2Z8ZZ+NXuoknvtkCHBeV/RrIxKdqHpcadWg3G2aElTsKCh+qADlk jXonrMcou/M45lqo5wd5/pDEUB1pzk7GEagJL2CExI2sD6EeJsZgTp1jktJ1GreotsIh VtmVUZwU0UvDXgfnm/W6hu2W/vRMipRqvY72/OlGHwhBfmZ9HPLXLIA3G9E9SHjoNPDr PgWg== X-Gm-Message-State: AOJu0Yw3qMAm0VSV/4X0pl09Xgs363dvAxBAVaX9inepbRoic/OBL4a5 vbIT469KkMl25EqShb5ocSF4AEUr9LezP73LrQHGqqJHOACvlvj0C5Tbcc8fbru4eFdwgaggbDh +twrU7WkroSQ793d1qXr1RIutJT7xxEQMOXDyCQJj8cPJ+UCAuxcvddw= X-Gm-Gg: ATEYQzxkn4NnQGCorQEy0G/mwUij0HfwhttPPtdSvnlIqOJWTZAIXup7PXecZ5q6jo5 J9NGFWfNpVTeoCTwWBhbyhO5QfFxwt3brwYoorTwQP3ImlGgWWRNf60IxRlVwie32sdOtxHu1r/ NXKL2mB/MZC1HCPzT5Qumt8ytoufEbRDJbP21ET1ALoLD4SSXlVOu12Vl/Odu5LlV325sd+M9en 6GCHAEiqYBj0HxHHTeOOaawxZbUbdWHHipelVMN1J6J0vCuOI/RKr7EUG0L8PiJ9iAAtcDl1iGT Or3Up9Nc1ia77muUqxMXmwHHmnNFUH/IwCpMMFUJusXg8tI3C+8JG0oUs0LjKPPHnmK5fw== X-Received: by 2002:a4a:e90d:0:b0:67d:e65a:3bb6 with SMTP id 006d021491bc7-67dff267276mr126360eaf.0.1774366312553; Tue, 24 Mar 2026 08:31:52 -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> In-Reply-To: <1F13AF7E-B90A-40FB-B47C-DC38FBB08353@gmail.com> From: Aleksander Alekseev Date: Tue, 24 Mar 2026 18:31:41 +0300 X-Gm-Features: AQROBzD6_ZZDONB0vEbjkiafeoF_1Dles99hRr_PzLIfTd3RLhSXtKmvtvx_ETQ Message-ID: Subject: Re: Add uuid_to_base32hex() and base32hex_to_uuid() built-in functions To: pgsql-hackers Cc: Chao Li , Masahiko Sawada , =?UTF-8?Q?Dagfinn_Ilmari_Manns=C3=A5ker?= , Andrey Borodin Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk Hi, > > The patch looks basically good to me. I've made some changes to the > > regression test part as I want to have round-trip tests. I've merged > > the tests checking the sortability to the existing tests and added > > round-trip tests. With this change, we can test round-trip tests and > > sortability tests with random UUID value in every test run while > > minimizing the test time. Feedback is very welcome. v11 looks good to me. > It looks like leading, trailing, and embedded whitespace are all ignored.= But I don=E2=80=99t see a test case covering this behavior, so maybe it wo= uld be good to add one. I intentionally didn't include this test because the code is trivial: `` /* Skip whitespace */ if (c =3D=3D ' ' || c =3D=3D '\t' || c =3D=3D '\n' || c =3D=3D '\r'= ) continue; ``` And also because we never tested it for base64. If we want to start testing it we should add tests both for base64 and base32hex which IMO should be a separate patch. --=20 Best regards, Aleksander Alekseev