On Tue, Aug 30, 2022 at 6:19 PM Alvaro Herrera <alvhe...@alvh.no-ip.org> wrote: > 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.
+1 -- Thanks, Amit Langote EDB: http://www.enterprisedb.com