We demonstrate Habitat, a decalrative observational debugger for SQL. Habitat facilitates true language-level (not: plan-level) debugging of, propably flawed, SQL queries that yield unexpected results. Users may mark arbitrary SQL subexpressions - ranging from literals, over fragments of predicates, to entire subquery blocks - to observe wether these evaluate as expected.
From the marked SQL text, Habitat’s algebraic compiler derives a new query whose result represents the values of the desired observations. These observations are generated by the target SQL database host itself. Prior data extraction or extra debugging middleware is not required.
Habitat merges multiple observations into a single (nested) tabular display, letting a user explore the realtionship of various observations. Filter predicates furthermore ease the interpretation of large results.