1. A computer-implemented method comprising: providing an engine in communication with a rule catalog comprising a plurality of query plan re-write rules; causing the engine to receive a query plan as an input; causing the engine to reference the rule catalog to generate a re-written query plan by applying a first query plan re-write rule to the query plan; and causing the engine to store the re-written query plan in a non-transitory computer readable storage medium.