Обсуждение: pgsql: Improve scripting language in pgbench
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(-)
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
Вложения
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/