Re: Add uuid_to_base32hex() and base32hex_to_uuid() built-in functions - Mailing list pgsql-hackers

From Dagfinn Ilmari Mannsåker
Subject Re: Add uuid_to_base32hex() and base32hex_to_uuid() built-in functions
Date
Msg-id 878qbn51kb.fsf@wibble.ilmari.org
Whole thread Raw
In response to Add uuid_to_base32hex() and base32hex_to_uuid() built-in functions  (Sergey Prokhorenko <sergeyprokhorenko@yahoo.com.au>)
Responses Re: Add uuid_to_base32hex() and base32hex_to_uuid() built-in functions
List pgsql-hackers
Masahiko Sawada <sawada.mshk@gmail.com> writes:

> I've made some minor changes to both patches (e.g., rewording the
> documentation changes and commit messages etc), and attached the
> updated patches.
>
> I'm going to push these patches unless there is no further comment.

Just one minor nitpick on my patch, which is that it should use
palloc_object(), which I wasn't aware of when I wrote it originally.

> diff --git a/src/backend/utils/adt/bytea.c b/src/backend/utils/adt/bytea.c
> index fd7662d41ee..4dc83671aa5 100644
> --- a/src/backend/utils/adt/bytea.c
> +++ b/src/backend/utils/adt/bytea.c
[...]
> +    if (len != UUID_LEN)
> +        ereport(ERROR,
> +                (errcode(ERRCODE_INVALID_BINARY_REPRESENTATION),
> +                 errmsg("invalid input length for type %s", "uuid"),
> +                 errdetail("Expected %d bytes, got %d.", UUID_LEN, len)));
> +
> +    uuid = (pg_uuid_t *) palloc(sizeof(pg_uuid_t));

this should be:

+    uuid = palloc_object(pg_uuid_t);

> +    memcpy(uuid->data, VARDATA_ANY(v), UUID_LEN);
> +    PG_RETURN_UUID_P(uuid);
> +}
> +


- ilmari



pgsql-hackers by date:

Previous
From: Heikki Linnakangas
Date:
Subject: Re: Better shared data structure management and resizable shared data structures
Next
From: Nathan Bossart
Date:
Subject: Re: remove bits* types