Close to the bottom of:
https://www.postgresql.org/docs/devel/plpgsql-implementation.html
(and all previous version)
... the manual says:

> During the ensuing assignment to the local variable curtime, the PL/pgSQL
interpreter casts this string to the timestamp type by calling the text_out
and timestamp_in functions for the conversion.

Should most probably be "textout" instead of "text_out". See:

test=# SELECT proname FROM pg_proc
WHERE proname IN ('text_out', 'textout');
 proname
---------
 textout
(1 row)

"timestamp_in" seems correct, though. Those function names seem rather
inconsistent: roughly half of them have the underscore, the rest doesn't.
Might explain the confusion.

SELECT * FROM pg_proc
WHERE  proname ~ 'out$'
AND    prorettype = 'cstring'::regtype
ORDER  BY proname ~ '_out$';

SELECT * FROM pg_proc
WHERE  proname ~ 'in$'
AND    proargtypes = ARRAY['cstring'::regtype]::oidvector
ORDER  BY proname ~ '_in$';

Regards
Erwin

Reply via email to