Module rewrite

Module rewrite 

Source
Expand description

An implementation of Query Rewriting, an optimization that rewrites queries to make use of materialized views.

The implementation is based heavily on this paper, Optimizing Queries Using Materialized Views: A Practical, Scalable Solution.

Modules§

exploitation
This module implements a query rewriting optimizer, also known as “view exploitation” in some academic sources. The “view matching” subproblem is implemented in the SpjNormalForm code, which is used by the ViewMatcher logical optimizer to compare queries with materialized views.
normal_form
This module contains code primarily used for view matching. We implement the view matching algorithm from this paper, which provides a method for determining when one Select-Project-Join query can be rewritten in terms of another Select-Project-Join query.

Structs§

QueryRewriteOptions
Options for the query rewriting optimizer