Re: inconsistency and inefficiency in setup_conversion()

From: John Naylor <jcnaylor(at)gmail(dot)com>
To: Thomas Munro <thomas(dot)munro(at)enterprisedb(dot)com>
Cc: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: inconsistency and inefficiency in setup_conversion()
Date: 2018-05-18 10:53:34
Views: Raw Message | Whole Thread | Download mbox
Lists: pgsql-hackers

On 5/17/18, Thomas Munro <thomas(dot)munro(at)enterprisedb(dot)com> wrote:
> Hi John,
> This failed for my patch testing robot on Windows, with this message[1]:
> I see that you changed src/backend/catalog/Makefile to pass the new -I
> switch to I think for Windows you might need to add it to
> the line in src/tools/msvc/ that invokes via
> system()?

Yes, you're quite right. Thanks for the report. I've attached an
updated v2 patchset, with some additional revisions:

I wrote:

> -I have not done performance testing of initdb yet. I'll do so at a
> later date unless someone is excited enough to beat me to it.

Tom Lane reported [1] that setup_conversion() took ~70ms out of
1300ms. With this patch, on hardware with a similar total runtime, the
total is ~65ms faster, as one would expect based on the number of new

> -I piggy-backed on the OID lookup machinery for the encoding lookup,
> but haven't changed all the comments that refer only to catalogs and
> OIDs.

I considered changing the SGML documentation referring to OID
references [2], since this patch invalidates some details, but in the
end I thought that would make the docs harder to follow for the sake
of a small corner case. Instead, I added some comments around the
encoding lookups to alert the reader we're repurposing the OID lookup
machinery. I can revisit this later if desired.

> -With the 88 pg_proc entries with prolang=13 along with the 50 or so
> with prolang=14, it might be worth it to create a language lookup.
> This patch does not do so, however.

In version 2, patch 0001 adds a pg_language lookup. It turns out doing
so has a side benefit of simplifying and its Makefile,


-John Naylor

Attachment Content-Type Size
v2-0001-Add-pg_language-lookup.patch text/x-patch 26.4 KB
v2-0002-Replace-ad-hoc-format-for-conversion-functions.patch text/x-patch 73.5 KB

In response to


Browse pgsql-hackers by date

  From Date Subject
Next Message Magnus Hagander 2018-05-18 11:32:41 pg_control read error message
Previous Message Amit Kapila 2018-05-18 10:28:16 Re: Postgres 11 release notes