Add a comment explaining one of the ways that pgbench fails to fully
authorTom Lane <tgl@sss.pgh.pa.us>
Wed, 12 Mar 2008 02:18:33 +0000 (02:18 +0000)
committerTom Lane <tgl@sss.pgh.pa.us>
Wed, 12 Mar 2008 02:18:33 +0000 (02:18 +0000)
comply with TPC-B.  Per Itagaki Takahiro and discussion of bug#3681.

contrib/pgbench/pgbench.c

index b5082e0abd62efb9d1a7e68eb7b1d1e149ce5713..4dabe6f0ba104c272f6b443620c4ab8ac343bddf 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * $PostgreSQL: pgsql/contrib/pgbench/pgbench.c,v 1.76 2008/03/10 01:23:04 tgl Exp $
+ * $PostgreSQL: pgsql/contrib/pgbench/pgbench.c,v 1.77 2008/03/12 02:18:33 tgl Exp $
  *
  * pgbench: a simple benchmark program for PostgreSQL
  * written by Tatsuo Ishii
@@ -811,6 +811,16 @@ init(void)
 {
    PGconn     *con;
    PGresult   *res;
+   /*
+    * Note: TPC-B requires at least 100 bytes per row, and the "filler"
+    * fields in these table declarations were intended to comply with that.
+    * But because they default to NULLs, they don't actually take any
+    * space.  We could fix that by giving them non-null default values.
+    * However, that would completely break comparability of pgbench
+    * results with prior versions.  Since pgbench has never pretended
+    * to be fully TPC-B compliant anyway, we stick with the historical
+    * behavior.
+    */
    static char *DDLs[] = {
        "drop table if exists branches",
        "create table branches(bid int not null,bbalance int,filler char(88)) with (fillfactor=%d)",