Refactor the BaseQueryRewriter
hierarchy
#64
Labels
refactoring
Code improvement without behavior change
BaseQueryRewriter
hierarchy
#64
The
BaseQueryRewriter
is used to rewrite a query written in Exasol's SQL dialect to an external data source's SQL dialect.This class is a concrete class, and provides a
rewrite
method, but this method is overridden by several classes, and the re-implemented methods break the substitution principle.This makes it harder to understand, especially when implementing a new SQL dialect, given that one makes the assumption that this
BaseQueryRewriter
provides a common implementation but it doesn't.We should address this, probably by making this method abstract and delegating this responsibility to the sub-classes.
The text was updated successfully, but these errors were encountered: