[ 
https://issues.apache.org/jira/browse/DRILL-2147?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Jacques Nadeau updated DRILL-2147:
----------------------------------
    Fix Version/s:     (was: 1.0.0)
                   1.2.0

> ValueVector design refactoring umbrella
> ---------------------------------------
>
>                 Key: DRILL-2147
>                 URL: https://issues.apache.org/jira/browse/DRILL-2147
>             Project: Apache Drill
>          Issue Type: Improvement
>          Components: Execution - Data Types
>            Reporter: Hanifi Gunes
>            Assignee: Hanifi Gunes
>             Fix For: 1.2.0
>
>
> The overall design of value vectors has become unclear and inconsistent with 
> additions from multiple contributors over the time. Also we need proper 
> documentation for the abstractions made for consistently communicating with 
> developers. 
> There are many instances that indicate possible design issues.
> For instance, ValueVector implements Iterator<ValueVector>. This seems to 
> assume all vectors are somewhat hierarchical. This does not truly capture 
> scalar vectors as they have no child.
> Similarly, RepeatedVector has the following interface definition:
> {code:title=RepeatedVector}
> interface RepeatedVector {
>   RepeatedFixedWidthVector.RepeatedAccessor getAccessor()
> }
> {code}
> Yet, RepeatedFixedWidthVector implements RepeatedVector as follows
> {code:title=RepeatedFixedWidthVector}
> interface RepeatedFixedWidthVector extends ValueVector, RepeatedVector {
>   interface RepeatedAccessor extends Accessor {...}
>   interface RepeatedMutator extends Mutator {...}
> }
> {code}
> A super-type that is aware of its sub-type hints a need for re-design.
> Examples could be multiplied here: some method names are not self-explaining 
> or wrongly named or seems to be misplaced. There are couple of more places 
> where design is not capturing the nature of vectors such like missing 
> abstractions for Repeated vs Composite vectors. We should consider a design 
> refactoring.
> This is an umbrella issue for tracking ValueVector design refactoring.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to