Michael Paquier <michael.paqu...@gmail.com> writes: > On Tue, Dec 5, 2017 at 5:38 AM, Robert Haas <robertmh...@gmail.com> wrote: >> I'm willing to commit any of the following things: >> >> 1. A patch that adds an integer version of pow() but not a double version >> 2. A patch that adds a double version of pow() but not an integer version >> 3. A patch that adds both an integer version of pow() and a double >> version of pow(), with the two versions having different names
> It seems to me that 1 and 2 have value on their own for the workloads > tried to be emulated, so what you are suggesting in 3 looks good to > me. Now why are two different function names necessary? ISTM one key issue here is whether pgbench's expression language is meant to model SQL (where we have function overloading) or C (where there is no overloading). I don't think we've really settled on a fixed policy on that, but maybe now is the time. If we do think that function overloading is OK, there remains the question of when the typing is resolved. I think Robert is objecting to resolving at runtime, and I tend to agree that that's something we'd regret in the long run. It doesn't match either SQL or C. regards, tom lane