[ 
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)

Reply via email to