On 2022-Aug-30, Amit Langote wrote: > Patches 0001-0006: > > Yeah, these add the overhead of an extra function call (typin() -> > typin_opt_error()) in possibly very common paths. Other than > refactoring *all* places that call typin() to use the new API, the > only other option seems to be to leave the typin() functions alone and > duplicate their code in typin_opt_error() versions for all the types > that this patch cares about. Though maybe, that's not necessarily a > better compromise than accepting the extra function call overhead.
I think another possibility is to create a static inline function in the corresponding .c module (say boolin_impl() in bool.c), which is called by both the opt_error variant as well as the regular one. This would avoid the duplicate code as well as the added function-call overhead. -- Álvaro Herrera PostgreSQL Developer — https://www.EnterpriseDB.com/ Syntax error: function hell() needs an argument. Please choose what hell you want to involve.