About the patch:

I'm generally in favor of providing more options to pgbench, especially if it can give optimization ideas to the performance conscious user.

I think that the name should be "tpcb-like-plfunc": the script does not implement tpcb per spec, and such a function could be written in another language with some performance benefit, or not.

Maybe that mean to relax the prefix condition to "take the first matching name" when prefix are used.

If you are reimplementing the transaction anyway, you could consider using UPDATE RETURNING instead of SELECT to get the balance. On the other hand the doc says that the "steps" are put in a PL function, so maybe it should reflect the original script.

I'm surprised by:

  "select * from pgbench_transaction(:aid, :bid, :tid, :delta);\n"

Why not simply:

    "select pgbench_transaction(:aid, :bid, :tid, :delta);\n"

I would suggest to use a more precise function name, in case other functions are thought of. Maybe "pgbench_tpcb_like_plfunc".

I would suggest to indent better the PL/function and put keywords and types in capital, and add explicitely the properties of the function (eg STRICT, VOLATILE?).

There is a spurious space at the end of the executeStatement call line.

The patch potentially interacts with other patches in the long and slow queue...

As usual with pgbench there are no regression tests.

--
Fabien.


--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

Reply via email to