Commit Graph

82 Commits

Author SHA1 Message Date
Tom Lane
59e4a6941f Fix possible core dump from pgbench -d option. Julius Stroffek 2007-08-22 23:03:33 +00:00
Tatsuo Ishii
9c505e484c Backport patch.
Call srandom() instead of srand().
pgbench calls random() later, so it should have called srandom().
On most platforms except Windows srandom() is actually identical
to srand(), so the bug only bites Windows users.
per bug report from Akio Ishida.
2007-01-10 01:20:10 +00:00
Tatsuo Ishii
a5007d671a pgbench: More fix with handling default scaling factor in the default
scenarios. With multiple clinets, only the first client got the right
scaling factor and this gave a illusion of better performance in case
of the scaling factor greater than 1.
2006-10-21 06:31:28 +00:00
Tom Lane
71a6f8b85b On platforms that have getrlimit(RLIMIT_STACK), use it to ensure that
max_stack_depth is not set to an unsafe value.

This commit also provides configure-time checking for <sys/resource.h>,
and cleans up some perhaps-unportable code associated with use of that
include file and getrlimit().
2006-10-07 19:25:29 +00:00
Bruce Momjian
f99a569a2e pgindent run for 8.2. 2006-10-04 00:30:14 +00:00
Tom Lane
ac733df61b Fix some more uses of str[n]casecmp that should be pg_str[n]casecmp. 2006-09-16 13:31:40 +00:00
Tatsuo Ishii
ea21eea6a8 Change "tps" to "scale" to avoid confusion
Fix bug with handling default scaling factor in the default
scenarios
2006-09-13 00:39:19 +00:00
Tatsuo Ishii
66541c5aa5 Fix pgbench to handle empty lines in script files as documented.
patches contributed by Itagaki Takahiro.
2006-08-15 13:05:30 +00:00
Tatsuo Ishii
68dfef040b Fix memory allocation bug in pgbench.
patches submitted by ITAGAKI Takahiro.
2006-07-31 05:15:14 +00:00
Tatsuo Ishii
46d9c2ec8f Change the delta val from 0 and 10000 to -5000 and 5000 per recent
discussion in hackers list.  Also enhance predefined benchmark
scenarios to reflect the scaling factor parameter flexibly.
2006-07-28 22:58:26 +00:00
Tatsuo Ishii
0c57c832b9 New features contributed by Tomoaki Sato.
- predefined variable "tps"
  The value of variable tps is taken from the scaling factor
  specified by -s option.

- -D option
  Variable values can be defined by -D option.

- \set command now allows arithmetic calculations.
2006-07-26 07:24:50 +00:00
Tom Lane
69525fc0ef Remove incorrect increment of lineno, per David Fetter.
Sync HEAD and 8.1 branches of pgbench.
2005-12-10 01:09:07 +00:00
Tatsuo Ishii
baa6b22fcb Having blank lines in -f scripts was causing silent failures.
per David Fetter
2005-11-23 12:19:12 +00:00
Bruce Momjian
aac96b8994 Fix pgindent of libpq-fe.h by hacking pgindent script.
Remove pgbench comment that was causing problems.
2005-11-23 04:23:30 +00:00
Bruce Momjian
436a2956d8 Re-run pgindent, fixing a problem where comment lines after a blank
comment line where output as too long, and update typedefs for /lib
directory.  Also fix case where identifiers were used as variable names
in the backend, but as typedefs in ecpg (favor the backend for
indenting).

Backpatch to 8.1.X.
2005-11-22 18:17:34 +00:00
Tatsuo Ishii
2feb930af6 Fix comment on -v option 2005-11-16 13:13:08 +00:00
Tom Lane
9ee0a7df50 Fix some allocation size calculation errors that would cause pgbench
to fail with large test scripts.
2005-10-29 19:38:07 +00:00
Tom Lane
0631059c9c Fix unportable struct initializations. 2005-10-15 20:24:00 +00:00
Bruce Momjian
1dc3498251 Standard pgindent run for 8.1. 2005-10-15 02:49:52 +00:00
Tom Lane
d156e1f850 (Apologies for fat-fingering cvs commit command...) Should have read:
Remove unportable use of tfind/tsearch in favor of bsearch.  Fix up
random number generator to use random() not rand() and to actually honor
its min/max arguments properly.  That wasn't so important before, but
with exposure of capability to ask for general ranges, it will be.
2005-10-07 15:34:17 +00:00
Tom Lane
6ae7671497 gni 2005-10-07 15:31:49 +00:00
Teodor Sigaev
380ab3669f Fix compile error 2005-10-04 17:10:55 +00:00
Tatsuo Ishii
8e48e91bc7 Oops. Partially saved file was committed. 2005-10-04 13:46:52 +00:00
Tatsuo Ishii
f50ae06e14 Allow multiple -f options.
Make pgbench "script driven" to eliminate hard coded transaction
scenario. (Tatsuo Ishii)
2005-10-04 13:40:45 +00:00
Tom Lane
c775b423c1 Fix unportable usages in new pgbench code (strndup, ctype macros) 2005-09-29 16:18:26 +00:00
Tatsuo Ishii
9b19abd74f Add -f option which enables to read SQL commands from a file.
Patches Contributed by Tomoaki Sato.
2005-09-29 13:44:25 +00:00
Tom Lane
0b36cb83dc PGXS should be set with := not =, as specified in the documentation,
to avoid useless multiple executions of pg_config.
2005-09-27 17:13:14 +00:00
Neil Conway
a99b2852ca Correct a thinko in pgbench that might result in incorrectly ignoring an
error condition when executing some DDL. Per report from ITAGAKI Takahiro.
2005-05-24 00:26:40 +00:00
Bruce Momjian
6b7ef076b5 Have libpgport link before libpq so that PG client applications are more
immunte to changes in libpq's usage of pgport between major versions.
2005-03-25 18:17:14 +00:00
Neil Conway
1b3e769682 This patch makes some cleanups to contrib/ to silence some sparse
warnings:

- remove pointless "extern" keyword from some function definitions in
contrib/tsearch2

- use "NULL" not "0" as NULL pointer in contrib/tsearch,
contrib/tsearch2, contrib/pgbench, and contrib/vacuumlo
2004-11-09 06:09:40 +00:00
Tom Lane
f1283ed6cc Fix a bunch of 'old-style parameter declaration' warnings induced by
writing 'foo()' rather than 'foo(void)'.
2004-10-25 02:15:02 +00:00
Tom Lane
bf06825e31 Win32 compile fixes for pgbench, pgcrypto, and tsearch.
Claudio Natoli
2004-09-14 03:39:55 +00:00
Bruce Momjian
b6b71b85bc Pgindent run for 8.0. 2004-08-29 05:07:03 +00:00
Bruce Momjian
ee85595d46 > Please find enclose a submission to fix these problems.
>
> The patch adds missing the "libpgport.a" file to the installation under
> "install-all-headers". It is needed by some contribs. I install the
> library in "pkglibdir", but I was wondering whether it should be "libdir"?
> I was wondering also whether it would make sense to have a "libpgport.so"?
>
> It fixes various macros which are used by contrib makefiles, especially
> libpq_*dir and LDFLAGS when used under PGXS. It seems to me that they are
> needed to
>
> It adds the ability to test and use PGXS with contribs, with "make
> USE_PGXS=1". Without the macro, this is exactly as before, there should be
> no difference, esp. wrt the vpath feature that seemed broken by previous
> submission. So it should not harm anybody, and it is useful at least to me.
>
> It fixes some inconsistencies in various contrib makefiles
> (useless override, ":=" instead of "=").

Fabien COELHO
2004-08-20 20:13:10 +00:00
Tatsuo Ishii
2990b8a4a6 Add missing PQclear(). 2004-06-14 11:00:12 +00:00
Tom Lane
9c26980f58 Replace unportable and overflow-prone use of 'long long' with safer
'double' arithmetic, per recent discussion.
2003-12-07 19:55:58 +00:00
PostgreSQL Daemon
969685ad44 $Header: -> $PostgreSQL Changes ... 2003-11-29 19:52:15 +00:00
Tatsuo Ishii
43f77c06bb Patches from Yutaka Tanida. Create primary key indexes after data
insertion to reduce initialization time.
2003-11-26 06:53:18 +00:00
Jan Wieck
e9ff025345 Fixed calculation of bid when generating accounts. Used to create
accounts.bid values of zero.

Jan
2003-09-27 19:15:34 +00:00
Bruce Momjian
089003fb46 pgindent run. 2003-08-04 00:43:34 +00:00
Tom Lane
3896f48d7e Fix some minor portability issues, per Chris K-L. 2003-08-01 02:21:17 +00:00
Tatsuo Ishii
412893b416 Fix uninitialized memory bug
Add support for PGHOST, PGPORT, PGUSER environment variables
2003-06-10 09:07:15 +00:00
Tom Lane
f85f43dfb5 Backend support for autocommit removed, per recent discussions. The
only remnant of this failed experiment is that the server will take
SET AUTOCOMMIT TO ON.  Still TODO: provide some client-side autocommit
logic in libpq.
2003-05-14 03:26:03 +00:00
Tom Lane
fd89de5156 Add note that scaling factor should be >= # of clients. 2002-11-27 19:26:10 +00:00
Tom Lane
4d1aaedac0 Fix core dump recently introduced into pgbench. 2002-10-20 19:38:10 +00:00
Bruce Momjian
aa4c702eac Update /contrib for "autocommit TO 'on'".
Create objects in public schema.

Make spacing/capitalization consistent.

Remove transaction block use for object creation.

Remove unneeded function GRANTs.
2002-10-18 18:41:22 +00:00
Tatsuo Ishii
9a2e9c6804 Avoid PQisBusy/PQconsumeInput busy loop in case of PQisBusy returning
false. per Tom Lane's suggestion. See:

Subject: Suggested change to pgbench
From: Tom Lane <tgl@sss.pgh.pa.us>
To: Tatsuo Ishii <t-ishii@sra.co.jp>
Cc: pgsql-patches@postgreSQL.org
Date: Sun, 06 Oct 2002 12:37:27 -0400

for more details.
2002-10-07 05:10:02 +00:00
Bruce Momjian
e50f52a074 pgindent run. 2002-09-04 20:31:48 +00:00
Bruce Momjian
66eb8df6a4 The attached patch changes most of the usages of sprintf() to
snprintf() in contrib/. I didn't touch the places where pointer
arithmatic was being used, or other areas where the fix wasn't
trivial. I would think that few, if any, of the usages of sprintf()
were actually exploitable, but it's probably better to be paranoid...

Neil Conway
2002-08-15 02:58:29 +00:00
Tatsuo Ishii
cdf4b9aff2 Apply patches from Neil Conway.
> Hi Tatsuo,
>
> I've attached a patch for the version of pgbench in CVS. It includes the
> following changes:
>
>     - fix some spelling mistakes, indentation stuff, etc.
>
>     - minor code cleanup -- (void) args instead of (), etc.
>
>     - allocate the state array dynamically, so that it is only as
>     large as needed. This reduces the memory consumption of pgbench
>     slightly, and makes a larger MAXCLIENTS setting possible
>
>     - (the only controversial change) add an option "-l" to log
>     transaction latencies to a file. The "transaction latency"
>     is the time between when the BEGIN is issued and the transaction
>     commits. This is written to a file, along with the client #
>     and the transaction #. The data in the file can then be used
>     for things like:
>
>         - consistency analysis: is the TPS the same through the
>         entire run of pgbench, or does it change?
>
>         - more detailed stats: what is the average latency, worse-case
>         latency, best-case latency?
>
>         - graphs: feed the data to gnuplot, graph latency versus. time
>
>         - etc.
>
>     I was going to store this data in memory and write it to disk
>     at the end of the pgbench run, but that isn't feasible because
>     the data can be very large: for example, ~70MB if benchmarking
>     128 clients doing 100,000 transactions each.
>
> Cheers,
>
> Neil
2002-07-20 03:02:01 +00:00