A framework for testing query transformation rules

In order to enable extensibility, modern query optimizers typically leverage a transformation rule based framework. Testing individual rule correctness as well as correctness of rule interactions is crucial in verifying the functionality of a query optimizer. While there has been a lot of work on how to architect optimizers for extensibility using a rule based framework, there has been relatively little work on how to test such optimizers. In this paper we present a framework for testing query transformation rules which enables: (a) efficient generation of queries that exercise a particular transformation rule or a set of rules and (b) efficient execution of corresponding test suites for correctness testing.

[1]  Vijay V. Vazirani,et al.  Approximation Algorithms , 2001, Springer Berlin Heidelberg.

[2]  César A. Galindo-Legaria,et al.  Testing SQL Server's Query Optimizer: Challenges, Techniques and Experiences , 2008, IEEE Data Eng. Bull..

[3]  Donald Kossmann,et al.  Efficient Regression Tests for Database Applications , 2005, CIDR.

[4]  Hamid Pirahesh,et al.  Extensible/rule based query rewrite optimization in Starburst , 1992, SIGMOD '92.

[5]  Goetz Graefe,et al.  The Volcano optimizer generator: extensibility and efficient search , 1993, Proceedings of IEEE 9th International Conference on Data Engineering.

[6]  Surajit Chaudhuri,et al.  An overview of query optimization in relational systems , 1998, PODS.

[7]  Leo Giakoumakis,et al.  A genetic approach for random testing of database systems , 2007, VLDB.

[8]  David J. DeWitt,et al.  The EXODUS optimizer generator , 1987, SIGMOD '87.

[9]  Surajit Chaudhuri,et al.  Generating Queries with Cardinality Constraints for DBMS Testing , 2006, IEEE Transactions on Knowledge and Data Engineering.

[10]  Pedro Celis The Query Optimizer in Tandem's new ServerWare SQL Product , 1996, VLDB.

[11]  Goetz Graefe The Cascades Framework for Query Optimization , 1995, IEEE Data Eng. Bull..

[12]  Nick Koudas,et al.  Generating targeted queries for database testing , 2008, SIGMOD Conference.

[13]  Boris Beizer,et al.  Software testing techniques (2. ed.) , 1990 .

[14]  Surajit Chaudhuri,et al.  Compressing SQL workloads , 2002, SIGMOD '02.

[15]  Carsten Binnig,et al.  QAGen: generating query-aware test databases , 2007, SIGMOD '07.

[16]  Leo Giakoumakis,et al.  Unit-testing query transformation rules , 2008, DBTest '08.

[17]  Nicolas Travers,et al.  TGV: A Tree Graph View for Modeling Untyped XQuery , 2007, DASFAA.

[18]  Nicolas Travers,et al.  An extensible rule transformation model for XQuery optimization - rules pattern for XQuery tree graph view , 2007, ICEIS.

[19]  Donald R. Slutz,et al.  Massive Stochastic Testing of SQL , 1998, VLDB.

[20]  Sam Lightstone,et al.  DB2 Design Advisor: Integrated Automatic Physical Database Design , 2004, VLDB.

[21]  Shashi Shekhar,et al.  Learning Transformation Rules for Semantic Query Optimization: A Data-Driven Approach , 1993, IEEE Trans. Knowl. Data Eng..

[22]  David S. Johnson,et al.  Computers and Intractability: A Guide to the Theory of NP-Completeness , 1978 .

[23]  Sigrid Eldh Software Testing Techniques , 2007 .

[24]  Goetz Graefe,et al.  The Volcano Optimizer Generator , 1991, ICDE 1991.