so 25. 1. 2025 v 15:10 odesílatel Chapman Flack <jcflack@acm.org> napsal:
On 01/25/25 02:16, Pavel Stehule wrote: > because the function does nothing, then it is useless to convert input to > XML and force detosting > > Maybe the body of the function should be just > ... > PG_RETURN_DATUM(PG_GETARG_DATUM(0));
That sort of motivated my question upthread about whether there is already a function somewhere in the codebase that does exactly that and could be named in the pg_proc entry for xmldocument, as an alternative to supplying a brand-new one.
this should not be a problem, because the already created function XMLDOCUMENT surely will not be in the pg_catalog schema.
Maybe this is the only instance where it turns out that 'identity' is the right behavior for a function. But if it could conceivably happen again, a single C function (maybe even named identity) could reduce code duplication and make quite clear what the behavior is with a \sf.
I didn't find any function like this.
Regards
Pavel
A generic 'identity' function would be lacking the #ifdef USE_LIBXML and the error message, but I'm not convinced those matter here anyway. Without XML support, you'll already have raised that error in any attempt to construct a non-null XML argument to pass, and if you're passing NULL and the function is strict, you'll never see the error message from here anyway.