← Back to team overview

randgen team mailing list archive

RQG: Planned incompatible change to config file locations

 

Hi everyone,


*** READ THIS IF YOU USE THE RANDOM QUERY GENERATOR ***

RQG development branch: https://code.launchpad.net/~randgen/randgen/rqg2


I propose to implement an *incompatible change* to the directory
structure of the Random Query Generator, in order to define "categories"
of tests and test resources.

I plan to make this change in the middle of next week, specifically on
Wednesday 2010-02-24 (unless someone objects strongly).

If you pull from the randgen repository on Launchpad after that, beware
of this change. Let me know if you think you need more time to adjust.


DETAILS:


This change will for example make it easier to maintain, run, monitor
etc. a given group of tests, and we avoid ending up with a single
directory with hundreds of various config files.

The only directory to be affected is the RQG's "conf" directory.

When implemented and deployed, this will mean that any scripts etc.
referring to RQG configuration files (grammars (.yy), gendata files
(.zz), etc.) need to be updated with correct file paths.

Note that with this change, paths to config files as described in
various bug reports will no longer work as described, however it should
be easy to adjust as needed.


Example change:

Old: perl runall.pl --grammar=conf/signal_resignal.yy (...)

New: perl runall.pl --grammar=conf/runtime/signal_resignal.yy (...)



The proposed structure (under randgen/conf/) is available below.

I cannot rule out the possibility that we will need to make changes to
this structure later, but hopefully the amount of changes will be kept
to a minimum, and announced beforehand.


Thank you for your attention!


Proposed directory structure (categories) under randgen/conf/:

backup
  * backup_interop.yy
  * backup_obj.yy
  * backup_simple.yy
  * invariant.yy
  * invariant.zz

drizzle
  * combinations_drizzle.zz
  * drizzle.yy
  * drizzle.zz
  * many_indexes_drizzle.yy
  * many_indexes_drizzle.zz
  * subquery_drizzle.yy
  * subquery_materialization_drizzle.yy
  * subquery_semijoin_drizzle.yy
  * subquery_semijoin_nested_drizzle.yy
  * varchar_drizzle.zz

engines
  * blobs.yy
  * engine_stress.yy
  * engine_stress.zz
  * many_indexes.yy
  * many_indexes.zz
  * recovery.yy
  * tiny_inserts.yy
  * tiny_inserts.zz
  * varchar.yy
  * varchar.zz
  falcon
    * falcon_backlog.yy
    * falcon_backlog.zz
    * falcon_blobs.yy
    * falcon_blobs.zz
    * falcon_chill_thaw.yy
    * falcon_chill_thaw.zz
    * falcon_data_types_no_year_time.yy
    * falcon_data_types_no_year_time.zz
    * falcon_data_types.yy
    * falcon_data_types.zz
    * falcon_ddl.yy
    * falcon_limit.yy
    * falcon_nolimit_int.yy
    * falcon_nolimit.yy
    * falcon_online_alter.yy
    * falcon_pagesize.yy
    * falcon_pagesize2K.zz
    * falcon_pagesize32K.zz
    * falcon_recovery.yy
    * falcon_recovery.zz
    * falcon_replication.yy
    * falcon_replication.zz
    * falcon_select_autocommit.yy
    * falcon_simple.cc
    * falcon_varchar.cc
    * limit_compare.yy
  innodb
    * innodb_simple.cc
  maria
    * maria_bulk_insert.yy
    * maria_dml_alter.yy
    * maria_mostly_selects.yy
    * maria_stress.yy
    * maria.zz

examples
  * example.ff
  * example.yy
  * example.zz
  * flightstats.yy

i18n
  * collations.yy

optimizer
  * optimizer_basic.yy
  * optimizer_no_subquery_portable.yy
  * optimizer_no_subquery.yy
  * optimizer_simple.yy
  * optimizer_subquery_portable.yy
  * optimizer_subquery.yy
  * optimizer.cc
  * outer_join_portable.yy
  * outer_join.yy
  * outer_join.zz
  * range_access.yy
  * range_access.zz
  archive
    * join.yy
    * subquery_materialization.yy
    * subquery_semijoin_nested.yy
    * subquery_semijoin.yy
    * subquery-5.1.yy
    * subquery.yy

partitioning
  * partition_pruning.yy
  * partition_pruning.zz
  * partitions_procedures_triggers.yy
  * partitions-ddl.yy
  * partitions-wl4571.yy

replication
  * replication_innodb_myisam.zz
  * replication_simple.yy
  * replication_single_engine_pk.zz
  * replication_single_engine.zz
  * replication-5.1.zz
  * replication-6.0.zz
  * replication-ddl_data.zz
  * replication-ddl_sql.yy
  * replication-dml_data.zz
  * replication-dml_sql.yy
  * replication.yy

runtime
  * create_drop.yy
  * information_schema.yy
  * metadata_locking.cc
  * metadata_stability.yy
  * metadata_stability.zz
  * performance_schema.yy
  * signal_resignal.yy
  * WL5004_data.zz
  * WL5004_sql.yy

transactions
  * combinations.yy
  * combinations.zz
  * repeatable_read.yy
  * transaction_durability.yy
  * transactions-flat.yy
  * transactions.yy
  * transactions.zz


New config files should be placed in appropriate categories /
directories depending on the main purpose of the file.
Additional categories may be introduced later if needed.


-- 
John H. Embretsen




Follow ups