Re: [PATCH] Add transforms feature

From: Peter Eisentraut <peter_e(at)gmx(dot)net>
To: Dimitri Fontaine <dimitri(at)2ndQuadrant(dot)fr>
Cc: pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: [PATCH] Add transforms feature
Date: 2013-12-06 06:25:11
Message-ID: 1386311111.2743.34.camel@vanquo.pezone.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Tue, 2013-11-26 at 18:10 +0100, Dimitri Fontaine wrote:
> The problem is installing a set of extensions where some of them are
> already using the new transform feature and some of them are not. We
> need a way to cater with that, I think.

Here is an idea. Add a GUC that basically says something like
use_transforms = on|off. You can then attach that to individual
functions, which is the right granularity, because only the function
knows whether its code expects transforms or not. But you can use the
full power of GUC to configure it any way you want.

The only thing this doesn't give you is per-argument granularity, but I
think the use cases for that are slim, and we don't have a good existing
mechanism to attach arbitrary attributes to function arguments.

Actually, I'd take this two steps further.

First, make this parameter per-language, so something like
plpython.use_transforms. Then it's up to the language implementation
how they want to deal with this. A future new language could just
ignore the whole issue and require transforms from the start.

Second, depending on the choice of the language, this parameter could
take three values: ignore | if available | require. That would allow
users to set various kinds of strictness, for example if they want to be
alerted that a language cannot deal with a particular type.

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Amit Kapila 2013-12-06 06:26:52 Re: Heavily modified big table bloat even in auto vacuum is running
Previous Message Pavel Stehule 2013-12-06 06:22:27 spinlocks storm bug