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.