[ 
https://issues.apache.org/jira/browse/HIVE-3746?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13504126#comment-13504126
 ] 

Carl Steinbach commented on HIVE-3746:
--------------------------------------

This would probably be more efficient:

{noformat}
// Represents a rowset
struct TRowSet {
  // The starting row offset of this rowset.
  1: required i64 startRowOffset
  2: required list<TColumn> columns
}

struct TColumn {
  1: required list<i32> nullOffsets
  2: required TColumnData columnData
}

union TColumnData {
  1: list<bool> boolColumn
  2: list<byte> byteColumn
  3: list<i16> i16Column
  4: list<i32> i32Column
  5: list<i64> i64Column
  6: list<double> doubleColumn
  7: list<string> stringColumn
}
{noformat}

We may be able to make this even more compact by using a run-length encoding 
scheme for the nullOffset vector (and possibly the ColumnData list too).
                
> TRowSet resultset structure should be column-oriented
> -----------------------------------------------------
>
>                 Key: HIVE-3746
>                 URL: https://issues.apache.org/jira/browse/HIVE-3746
>             Project: Hive
>          Issue Type: Sub-task
>          Components: Server Infrastructure
>            Reporter: Carl Steinbach
>            Assignee: Carl Steinbach
>


--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to