Sha256: da2fdfc4254a818932f651a4a1b7ae5adadbedbe9a513b8a5db77e4ddb680ee0
Contents?: true
Size: 1.36 KB
Versions: 3
Compression:
Stored size: 1.36 KB
Contents
* 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. * Create Veritas::Literal::Range proxy object w/factory method * Create Veritas::Literal::Range::Inclusive * Create Veritas::Literal::Range::Exclusive * 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.
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
veritas-sql-generator-0.0.7 | TODO |
veritas-sql-generator-0.0.6 | TODO |
veritas-sql-generator-0.0.5 | TODO |