Inline the fast path of plpgsql's exec_cast_value().
authorTom Lane <tgl@sss.pgh.pa.us>
Sun, 5 Jul 2020 17:12:31 +0000 (13:12 -0400)
committerTom Lane <tgl@sss.pgh.pa.us>
Sun, 5 Jul 2020 17:12:31 +0000 (13:12 -0400)
commitfe2e206cdb00a2d5dcebc3c8e8119017392d9781
treece9171c0633d22c4a016117d4beb382401ba4ca3
parent90b2d8c1adc86d1fc46f83c73444a1fb5b28dd3c
Inline the fast path of plpgsql's exec_cast_value().

In the common case where this function isn't actually asked to perform
any type conversion, there's nothing it has to do beyond comparing the
arguments.  Arrange for that part to be inlined into callers, with the
slower path remaining out-of-line.  This seems to be good for several
percent speedup on simple cases, with only minimal code bloat.

Amit Khandekar

Discussion: https://postgr.es/m/CAJ3gD9eBNrmUD7WBBLG8ohaZ485H9y+4eihQTgr+K8Lhka3vcQ@mail.gmail.com
src/pl/plpgsql/src/pl_exec.c