Comment 1 for bug 315564

Revision history for this message
Philip Stoev (pstoev) wrote :

To run, please branch the Random Query Generator from and then execute:

$ perl runall.pl \
  --mem \
  --queries=1000000 \
  --duration=300 \
  --basedir=/build/bzr/mysql-6.0 \
  --mysqld=--plugin-dir=/build/bzr/pbxt/src/.libs/\
  --mysqld=--plugin-load=PBXT=libpbxt.so \
  --engine=PBXT \
  --grammar=bug315564.yy \
  --gendata=conf/transactions.zz \
  --validator=DatabaseConsistency \
  --mysqld=--loose-lock-wait-timeout=1 \
  --mysqld=--log-output=file

This will start a random workload containing UPDATE and INSERT statements. Shortly after takeoff, the test will complain that the average of all integers in the table has diverged from the desired. This is because NULL values have appeared in the table, even though the SQL grammar specifies that every INSERT of NULLs should be followed by a ROLLBACK. You can verify in the query log that this is indeed the case.