There are some important RQG constants that sometimes need to be changed to make particular tests more reasonable. Maybe some day I’ll make them configurable, but so far I just modify them in the code. Since it doesn’t happen every day, I tend to forget where they are located, so here they are:
For performance comparison test (new values can be different depending on the nature of the test):
# Configurable constants:
-use constant MIN_DURATION => 0.02; # (seconds) Queries with shorter execution times are not processed.
+use constant MIN_DURATION => 0.2; # (seconds) Queries with shorter execution times are not processed.
use constant MAX_DURATION => 300; # (seconds) Queries with longer execution times are not processed.
-use constant MIN_RATIO => 1.5; # Minimum speed-up or slow-down required in order to report a query
+use constant MIN_RATIO => 5; # Minimum speed-up or slow-down required in order to report a query
use constant MAX_ROWS => 200; # Skip query if initial execution resulted in more than so many rows.
use constant MIN_SAMPLES => 0; # Minimum number of execution time samples to do for each query per server.
use constant MAX_SAMPLES => 0; # Max number of execution time samples per query per server. Must be no less than MIN_SAMPLES.
For result comparison tests, where queries too often fail due to reaching max rows threshold:
-use constant MAX_ROWS_THRESHOLD => 50000;
+use constant MAX_ROWS_THRESHOLD => 500000;
For running experimental combinations, to avoid aborting a set of tests prematurely due to an error which RQG considers an environment failure, make STATUS_ENVIRONMENT_FAILURE not fatal:
-use constant STATUS_ENVIRONMENT_FAILURE => 110; # A failure in the environment or the grammar file
+use constant STATUS_ENVIRONMENT_FAILURE => 90; # A failure in the environment or the grammar file
For creating less tables than it’s usually done by default (but not bothering to create your own zz file just yet):
=== modified file 'lib/GenTest/App/GendataSimple.pm'
-use constant GDS_DEFAULT_NAMES => ['A', 'B', 'C', 'D', 'E', 'AA', 'BB', 'CC', 'DD'];
+use constant GDS_DEFAULT_NAMES => ['A', 'B', 'C', 'D'];