Re: [HACKERS] pow support for pgbench
rmrodriguez@carto.com
From: Raúl Marín Rodríguez <rmrodriguez@carto.com>
To: Fabien COELHO <coelho@cri.ensmp.fr>
Cc: Robert Haas <robertmhaas@gmail.com>,
Michael Paquier <michael.paquier@gmail.com>, Alvaro Herrera <alvherre@alvh.no-ip.org>, PostgreSQL mailing lists <pgsql-hackers@postgresql.org>
Date: 2017-12-22T08:46:31Z
Lists: pgsql-hackers
Attachments
- pgbench_pow_v9.patch (text/x-patch) patch v9
Hi Fabien, Thanks for the review. If a double is always returned, I'm wondering whether keeping the ipow > version makes much sense: In case of double loss of precision, the > precision is lost, too bad, and casting back to int won't bring it back. I've kept it because knowing that both are ints enables not making a lot of checks (done in math.h pow) so it's way faster. In my system it's 2-3ns vs ~40ns. I'm willing to settle for using just pow() if that makes it clearer. In the doc, I'm not sure that "Numeric" brings anything. "Exponentiation" > would be enough. Done. Also, in pg I just noticed that POW is a shorthand for POWER. Maybe both > should be supported? Or not. I've never used power instead of pow, but I've added for compatibility shake. Attached the updated patch. On Thu, Dec 21, 2017 at 10:48 PM, Fabien COELHO <coelho@cri.ensmp.fr> wrote: > > Hello Raúl, > > v7 needs a rebase. >>> >>> Also, you might try to produce a version which is compatible with >>> Robert's >>> constraints. >>> >> > My 0.02€ on this new version: Applies cleanly, compiles and works. > > I cannot say that I like it more than the previous version. > > If a double is always returned, I'm wondering whether keeping the ipow > version makes much sense: In case of double loss of precision, the > precision is lost, too bad, and casting back to int won't bring it back. > > In the doc, I'm not sure that "Numeric" brings anything. "Exponentiation" > would be enough. > > Also, in pg I just noticed that POW is a shorthand for POWER. Maybe both > should be supported? Or not. > > -- > Fabien. -- *Raúl Marín Rodríguez *carto.com
Commits
-
Add pow(), aka power(), function to pgbench.
- 7a727c180aa3 11.0 landed
-
pgbench: Support double constants and functions.
- 86c43f4e22c0 9.6.0 cited