Re: [HACKERS] pow support for pgbench

rmrodriguez@carto.com

From: Raúl Marín Rodríguez <rmrodriguez@carto.com>
To: Robert Haas <robertmhaas@gmail.com>
Cc: Michael Paquier <michael.paquier@gmail.com>, Fabien COELHO <coelho@cri.ensmp.fr>, Alvaro Herrera <alvherre@alvh.no-ip.org>, PostgreSQL mailing lists <pgsql-hackers@postgresql.org>
Date: 2017-12-04T10:06:07Z
Lists: pgsql-hackers

Attachments

Hi,

Please add the new function into the documentation table in alphabetical
> order.

Fixed in the attached patch.

 What's the name of the backend function whose behavior this matches?

As Fabien has mentioned, it tries to behave as "numeric_power". Maybe we
it'd
better if we switch to "dpow" (which is pow with some error handling) and
always
return a double. What do you think?

On Fri, Dec 1, 2017 at 8:02 PM, Robert Haas <robertmhaas@gmail.com> wrote:

> On Fri, Dec 1, 2017 at 4:57 AM, Raúl Marín Rodríguez
> <rmrodriguez@carto.com> wrote:
> > I've rebased the patch so it can be applied cleanly on top of current
> > master.
>
> Please add the new function into the documentation table in alphabetical
> order.
>
> The fact that the return type is not consistently of one type bothers
> me.  I'm not sure pgbench's expression language is a good place to
> runtime polymorphism -- SQL doesn't work that way.
>
> + /*
> +  * pow() for integer values with exp >= 0. Matches SQL pow() behaviour
> +  */
>
> What's the name of the backend function whose behavior this matches?
>
> --
> Robert Haas
> EnterpriseDB: http://www.enterprisedb.com
> The Enterprise PostgreSQL Company
>



-- 

*Raúl Marín Rodríguez *carto.com

Commits

  1. Add pow(), aka power(), function to pgbench.

  2. pgbench: Support double constants and functions.