v3-0002-Minor-suggestions-to-Ilmari-s-patch.patch
application/octet-stream
Filename: v3-0002-Minor-suggestions-to-Ilmari-s-patch.patch
Type: application/octet-stream
Part: 2
From d73e7c1cd31f5036a847b8a6bc3823a01cac5a77 Mon Sep 17 00:00:00 2001
From: Andrey Borodin <amborodin@acm.org>
Date: Wed, 29 Oct 2025 15:59:46 +0400
Subject: [PATCH v3 2/3] Minor suggestions to Ilmari's patch
---
src/backend/utils/adt/bytea.c | 9 +++++----
src/test/regress/expected/uuid.out | 3 ++-
2 files changed, 7 insertions(+), 5 deletions(-)
diff --git a/src/backend/utils/adt/bytea.c b/src/backend/utils/adt/bytea.c
index ff9e46f3015..14e95031be1 100644
--- a/src/backend/utils/adt/bytea.c
+++ b/src/backend/utils/adt/bytea.c
@@ -1124,12 +1124,13 @@ bytea_uuid(PG_FUNCTION_ARGS)
if (len != UUID_LEN)
ereport(ERROR,
- errcode(ERRCODE_INVALID_BINARY_REPRESENTATION),
- errmsg("invalid uuid length"));
+ (errcode(ERRCODE_INVALID_BINARY_REPRESENTATION),
+ errmsg("invalid length for UUID"),
+ errdetail("Expected %d bytes, got %d.", UUID_LEN, len)));
- uuid = (pg_uuid_t *) palloc(UUID_LEN);
+ uuid = (pg_uuid_t *) palloc(sizeof(pg_uuid_t));
memcpy(uuid->data, VARDATA_ANY(v), UUID_LEN);
- PG_RETURN_POINTER(uuid);
+ PG_RETURN_UUID_P(uuid);
}
/* Cast uuid -> bytea; can just use uuid_send() */
diff --git a/src/test/regress/expected/uuid.out b/src/test/regress/expected/uuid.out
index 4b635336606..24486084aaf 100644
--- a/src/test/regress/expected/uuid.out
+++ b/src/test/regress/expected/uuid.out
@@ -319,6 +319,7 @@ SELECT '\x019a2f859ced7225b99d9c55044a2563'::bytea::uuid;
(1 row)
SELECT '\x1234567890abcdef'::bytea::uuid; -- error
-ERROR: invalid uuid length
+ERROR: invalid length for UUID
+DETAIL: Expected 16 bytes, got 8.
-- clean up
DROP TABLE guid1, guid2, guid3 CASCADE;
--
2.39.5 (Apple Git-154)