Litcius/Paper detail

Proving Query Equivalence Using Linear Integer Arithmetic

Haoran Ding, Zhaoguo Wang, Yicun Yang, D. Zhang, Zhenglin Xu, Haibo Chen, Ružica Piskač, Jinyang Li

2023Proceedings of the ACM on Management of Data13 citationsDOI

Abstract

Proving the equivalence between SQL queries is a fundamental problem in database research. Existing solvers model queries using algebraic representations and convert such representations into first-order logic formulas so that query equivalence can be verified by solving a satisfiability problem. The main challenge lies in "unbounded summations", which appear commonly in a query's algebraic representation in order to model common SQL features, such as projection and aggregate functions. Unfortunately, existing solvers handle unbounded summations in an ad-hoc manner based on heuristics or syntax comparison, which severely limits the set of queries that can be supported. This paper develops a new SQL equivalence prover called SQLSolver, which can handle unbounded summations in a principled way. Our key insight is to use the theory of LIA^*, which extends linear integer arithmetic formulas with unbounded sums and provides algorithms to translate a LIA^* formula to a LIA formula that can be decided using existing SMT solvers. We augment the basic LIA^* theory to handle several complex scenarios (such as nested unbounded summations) that arise from modeling real-world queries. We evaluate SQLSolver with 359 equivalent query pairs derived from the SQL rewrite rules in Calcite and Spark SQL. SQLSolver successfully proves 346 pairs of them, which significantly outperforms existing provers.

Topics & Concepts

Computer scienceSQLEquivalence (formal languages)Theoretical computer scienceDecidabilitySpatial queryLogical equivalenceQuery optimizationHeuristicsAlgorithmMathematicsSargableProgramming languageDiscrete mathematicsDatabaseOperating systemInformation retrievalSearch engineWeb search queryAdvanced Database Systems and QueriesDistributed systems and fault toleranceData Management and Algorithms