Improve scripting language in pgbench

Teodor Sigaev <teodor@sigaev.ru>

Commit: bc7fa0c15c590ddf4872e426abd76c2634f22aca
Author: Teodor Sigaev <teodor@sigaev.ru>
Date: 2018-01-09T15:02:04Z
Releases: 11.0
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

Files

PathChange+/−
doc/src/sgml/ref/pgbench.sgml modified +217 −6
src/bin/pgbench/exprparse.y modified +181 −14
src/bin/pgbench/exprscan.l modified +54 −1
src/bin/pgbench/pgbench.c modified +418 −66
src/bin/pgbench/pgbench.h modified +22 −2
src/bin/pgbench/t/001_pgbench_with_server.pl modified +134 −37

Documentation touched

Discussion