Re: Collation & ctype method table, and extension hooks

From: Jeff Davis <pgsql(at)j-davis(dot)com>
To: Andreas Karlsson <andreas(at)proxel(dot)se>, pgsql-hackers(at)postgresql(dot)org, Peter Eisentraut <peter(at)eisentraut(dot)org>
Subject: Re: Collation & ctype method table, and extension hooks
Date: 2025-01-18 06:42:15
Message-ID: 1c1b254807813bb708802d5f766ea97e7f06b265.camel@j-davis.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Wed, 2025-01-15 at 12:42 -0800, Jeff Davis wrote:
> > Here's v12 after committing a few of the earlier patches.

And here's v14, just a rebase.

> I collected some performance numbers for a worst case on UTF8.

I'm still inlined to think the method table is a good thing to do:

(a) The performance cases I tried seem implausibly bad -- running
character classification patterns over large fields consisting only of
codepoints over U+07FF.

(b) The method tables seem like a better code organization that
separates the responsibilities of the provider from the calling code.
It's also a requirement (or nearly so) if we want to provide some
pluggability or support multiple library versions.

It would be good to hear from others on these points, though.

Regards,
Jeff Davis

Attachment Content-Type Size
v14-0001-Control-ctype-behavior-internally-with-a-method-.patch text/x-patch 41.0 KB
v14-0002-Remove-provider-field-from-pg_locale_t.patch text/x-patch 4.8 KB
v14-0003-Make-provider-data-in-pg_locale_t-an-opaque-poin.patch text/x-patch 25.3 KB
v14-0004-Don-t-include-ICU-headers-in-pg_locale.h.patch text/x-patch 2.8 KB

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Jacob Brazeal 2025-01-18 07:14:02 Re: Old BufferDesc refcount in PrintBufferDescs and PrintPinnedBufs
Previous Message Tom Lane 2025-01-18 05:53:20 Re: Old BufferDesc refcount in PrintBufferDescs and PrintPinnedBufs