Peter Eisentraut <peter_e@gmx.net> writes:
> 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.
+1
> 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.
+1
> 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.
I'm not sure about this level of granularity, but why not.
> 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.
My understanding is that it always can deal with any particular type if
you consider text based input/output, right?
Regards,
--
Dimitri Fontaine
http://2ndQuadrant.fr PostgreSQL : Expertise, Formation et Support