From: | "David E(dot) Wheeler" <david(at)justatheory(dot)com> |
---|---|
To: | Erik Wienhold <ewie(at)ewie(dot)name> |
Cc: | Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, jian he <jian(dot)universality(at)gmail(dot)com>, Jim Jones <jim(dot)jones(at)uni-muenster(dot)de>, Dagfinn Ilmari Mannsåker <ilmari(at)ilmari(dot)org>, pgsql-hackers(at)lists(dot)postgresql(dot)org |
Subject: | Re: Patch: Add parse_type Function |
Date: | 2024-02-19 16:43:34 |
Message-ID: | 3ED9B785-79CC-4356-A230-A6DBA822931D@justatheory.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On Feb 18, 2024, at 15:55, Erik Wienhold <ewie(at)ewie(dot)name> wrote:
>> The overhead of parse_type_and_format can be related to higher planning
>> time. PL/pgSQL can assign composite without usage FROM clause.
>
> Thanks, didn't know that this makes a difference. In that case both
> variants are on par.
Presumably this is a side-effect of the use of a RECORD here, which requires a FROM clause in pure SQL, yes?
The only way I can think of to avoid that is to:
1. Add a to_regtypmod() for those who just want the typemod.
2. Add a format_type_string() function that returns a string, the equivalent of this function but in C:
CREATE FUNCTION format_type_string(text) RETURNS TEXT AS $$
SELECT format_type(to_regtype($1), to_regtypmod($1))
$$;
We could also keep the record-returning function for users who want both the regtype and the regytypemod at once, but with the other two I consider it less essential.
Thoughts?
Best,
David
From | Date | Subject | |
---|---|---|---|
Next Message | Jelte Fennema-Nio | 2024-02-19 17:00:11 | Re: Avoid switching between system-user and system-username in the doc |
Previous Message | Tomas Vondra | 2024-02-19 16:26:21 | Re: JIT compilation per plan node |