Sorabh Hamirwasia created DRILL-6687:
----------------------------------------

             Summary: Improve SelectionVector2 to do transfer when all records 
needs to be copied
                 Key: DRILL-6687
                 URL: https://issues.apache.org/jira/browse/DRILL-6687
             Project: Apache Drill
          Issue Type: Improvement
          Components: Execution - Relational Operators
            Reporter: Sorabh Hamirwasia
            Assignee: Sorabh Hamirwasia
             Fix For: 1.15.0


SelectionVector2 contains list of indexes for the rows that RemovingRecordBatch 
can copy from underlying RecordBatch. SV2 is created by operator like Filter, 
Limit, etc to provide the selected rows from underlying buffer. Later then 
RemovingRecordBatch copies the rows based on indexes in SelectionVector2 to the 
output container of type NONE. 

For cases when all the rows needs to be copied by RemovingRecordBatch from 
incoming batch, it can be improved to do full transfer of ValueVectors from 
input to output container instead of row by row copy. For example if for an 
incoming batch all rows are selected by the Filter condition in 
FilterRecordBatch, it will prepare an SV2 with all the record rowIndex. Later 
RemovingRecordBatch downstream of Filter can potentially do just transfer 
instead of row by row copy.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to