[
https://issues.apache.org/jira/browse/OPTIQ-333?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14053250#comment-14053250
]
Julian Hyde commented on OPTIQ-333:
-----------------------------------
To be fair, the recent changes to Schema and OptiqSchema were intended to make
it easier to implement the SPI: OPTIQ-175, OPTIQ-106, OPTIQ-215, with Drill's
needs explicitly in mind.
And, if there are future changes, if you choose to provide your own
implementation of a larger-surface-area SPI, you are likely to experience more
disruption than if you extend a narrower SPI.
Your proposed change would be useful to other users if you went a step further,
and made OptiqSchema into a public SPI. (That is, an interface in the
net.hydromatic.optiq package, with a clearly defined contract. It should be
called something other than OptiqSchema.)
> Abstract OptiqSchema as a base class and move the existing implementation to
> a separate class
> ---------------------------------------------------------------------------------------------
>
> Key: OPTIQ-333
> URL: https://issues.apache.org/jira/browse/OPTIQ-333
> Project: Optiq
> Issue Type: Improvement
> Reporter: Jacques Nadeau
> Assignee: Jacques Nadeau
>
> The implementation of OptiqSchema can make users jump through many hoops
> because it holds a complex hold internal state. A couple of times now,
> efforts to move Apache Drill to newer versions of Optiq has required all
> schema management code to be rewritten as the nature of the internally
> maintained state has changed. As such, this JIRA is about abstracting out
> the core interface and providing an alternative, near stateless
> implementation. Existing tools will continue to leverage the traditional
> existing implementation.
--
This message was sent by Atlassian JIRA
(v6.2#6252)