Hi, On 2022-12-06 15:21:09 -0500, Tom Lane wrote: > +{ oid => '8050', descr => 'test whether string is valid input for data type', > + proname => 'pg_input_is_valid', provolatile => 's', prorettype => 'bool', > + proargtypes => 'text regtype', prosrc => 'pg_input_is_valid' }, > +{ oid => '8051', descr => 'test whether string is valid input for data type', > + proname => 'pg_input_is_valid', provolatile => 's', prorettype => 'bool', > + proargtypes => 'text regtype int4', prosrc => 'pg_input_is_valid_mod' }, > +{ oid => '8052', > + descr => 'get error message if string is not valid input for data type', > + proname => 'pg_input_invalid_message', provolatile => 's', > + prorettype => 'text', proargtypes => 'text regtype', > + prosrc => 'pg_input_invalid_message' }, > +{ oid => '8053', > + descr => 'get error message if string is not valid input for data type', > + proname => 'pg_input_invalid_message', provolatile => 's', > + prorettype => 'text', proargtypes => 'text regtype int4', > + prosrc => 'pg_input_invalid_message_mod' }, > +
Is there a guarantee that input functions are stable or immutable? We don't have any volatile input functions in core PG: SELECT provolatile, count(*) FROM pg_proc WHERE oid IN (SELECT typinput FROM pg_type) GROUP BY provolatile; Greetings, Andres Freund