Обсуждение: pgsql: Improve scripting language in pgbench

Поиск
Список
Период
Сортировка

pgsql: Improve scripting language in pgbench

От
Teodor Sigaev
Дата:
Improve scripting language in pgbench

Added:
 - variable now might contain integer, double, boolean and null values
 - functions ln, exp
 - logical AND/OR/NOT
 - bitwise AND/OR/NOT/XOR
 - bit right/left shift
 - comparison operators
 - IS [NOT] (NULL|TRUE|FALSE)
 - conditional choice (in form of when/case/then)

New operations and functions allow to implement more complicated test scenario.

Author: Fabien Coelho with minor editorization by me
Reviewed-By: Pavel Stehule, Jeevan Ladhe, me
Discussion: https://www.postgresql.org/message-id/flat/alpine.DEB.2.10.1604030742390.31618@sto

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/bc7fa0c15c590ddf4872e426abd76c2634f22aca

Modified Files
--------------
doc/src/sgml/ref/pgbench.sgml                | 223 +++++++++++-
src/bin/pgbench/exprparse.y                  | 195 ++++++++++-
src/bin/pgbench/exprscan.l                   |  55 ++-
src/bin/pgbench/pgbench.c                    | 484 +++++++++++++++++++++++----
src/bin/pgbench/pgbench.h                    |  24 +-
src/bin/pgbench/t/001_pgbench_with_server.pl | 171 ++++++++--
6 files changed, 1026 insertions(+), 126 deletions(-)


Re: pgsql: Improve scripting language in pgbench

От
Thomas Munro
Дата:
On Wed, Jan 10, 2018 at 4:02 AM, Teodor Sigaev <teodor@sigaev.ru> wrote:
> Improve scripting language in pgbench

Hi Teodor,

I think this commit might have lost a fix from
0aa1d489ea756b96b6d5573692ae9cd5d143c2a5.  bowerbird and jacana now
fail when they see an unexpected "0" before the exponent:

Jan 09 11:49:51 # debug(script=0,command=29): double 1e+030
...
Jan 09 11:49:51 #     doesn't match '(?-xism:command=29.: double 1e\+30\b)'

I think you need to put "0?" back into the pattern like in the attached.

-- 
Thomas Munro
http://www.enterprisedb.com

Вложения

Re: pgsql: Improve scripting language in pgbench

От
Teodor Sigaev
Дата:
Thank you very much, applied

Thomas Munro wrote:
> On Wed, Jan 10, 2018 at 4:02 AM, Teodor Sigaev <teodor@sigaev.ru> wrote:
>> Improve scripting language in pgbench
> 
> Hi Teodor,
> 
> I think this commit might have lost a fix from
> 0aa1d489ea756b96b6d5573692ae9cd5d143c2a5.  bowerbird and jacana now
> fail when they see an unexpected "0" before the exponent:
> 
> Jan 09 11:49:51 # debug(script=0,command=29): double 1e+030
> ...
> Jan 09 11:49:51 #     doesn't match '(?-xism:command=29.: double 1e\+30\b)'
> 
> I think you need to put "0?" back into the pattern like in the attached.
> 

-- 
Teodor Sigaev                                   E-mail: teodor@sigaev.ru
                                                    WWW: http://www.sigaev.ru/