Uploaded image for project: 'Apache Drill'
  1. Apache Drill
  2. DRILL-6687

Improve RemovingRecordBatch to do transfer when all records needs to be copied

Attach filesAttach ScreenshotVotersWatch issueWatchersCreate sub-taskLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

Details

    Description

      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.

      Attachments

        Issue Links

        Activity

          This comment will be Viewable by All Users Viewable by All Users
          Cancel

          People

            shamirwasia Sorabh Hamirwasia
            shamirwasia Sorabh Hamirwasia
            Parth Chandra Parth Chandra
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Slack

                Issue deployment