TODO in veritas-sql-generator-0.0.3 vs TODO in veritas-sql-generator-0.0.4

- old
+ new

@@ -1,7 +1,7 @@ -* Replace some of the conditional logic with polymorphism, especially - where there is special case logic for certain types of generators +* Replace some of the conditional function with polymorphism, especially + where there is special case function for certain types of generators within other generators. * Replace Equality/Inequality with classes that handle all of the special cases. * Use different classes for inclusive/exclusive Range literals so that they can be serialized to SQL differently. @@ -13,5 +13,19 @@ * Handle cases where an Inequality/Exclusion predicate is used (or a Negation wrapping an Equality/Inclusion) on an *optional* attribute. * Add "OR attribute IS NULL" to the statement to ensure cases when the value is NULL still matches. + +* Handle cases where WHERE clause does and does not reference a function + in the SELECT list. + * It should collapse the inner subquery when there is no reference, and + keep the subquery when it is referenced. + * This will likely apply to projection and rename operators too. + +* When Restriction wraps a Summarization, and it would normally wrap the + statement and apply a WHERE clause, it should apply the clause using + HAVING instead. + +* Handle case where Extension does not reference a column in the + wrapped Summarization or Rename. It should be safe to collapse the query + in those cases.