Package com.ocient.jdbc.proto

# Interface PlanProtocol.SortOperatorOrBuilder

All Superinterfaces:
  `com.google.protobuf.MessageLiteOrBuilder`, `com.google.protobuf.MessageOrBuilder`

All Known Implementing Classes:
  `PlanProtocol.SortOperator`, `PlanProtocol.SortOperator.Builder`

Enclosing class:
  PlanProtocol

    public static interface PlanProtocol.SortOperatorOrBuilder
    extends com.google.protobuf.MessageOrBuilder

## Method Summary

Modifier and Type | Method | Description
--- | --- | ---
`boolean` | `getDirections​(int index)` | The directions for each sort col - true = ascending
`int` | `getDirectionsCount()` | The directions for each sort col - true = ascending
`List<Boolean>` | `getDirectionsList()` | The directions for each sort col - true = ascending
`String` | `getHashSortKeys​(int index)` | The hash sort keys if there are any, primarily only for window these can be different from the regular sort keys if this isn't empty we do a hash based sort mutliplexing instead
`com.google.protobuf.ByteString` | `getHashSortKeysBytes​(int index)` | The hash sort keys if there are any, primarily only for window these can be different from the regular sort keys if this isn't empty we do a hash based sort mutliplexing instead
`int` | `getHashSortKeysCount()` | The hash sort keys if there are any, primarily only for window these can be different from the regular sort keys if this isn't empty we do a hash based sort mutliplexing instead
`List<String>` | `getHashSortKeysList()` | The hash sort keys if there are any, primarily only for window these can be different from the regular sort keys if this isn't empty we do a hash based sort mutliplexing instead
`long` | `getLimitVal()` | If we know we only need the top n rows of the sort that is noted here If there is no limit being applied, this is set to -1
`boolean` | `getNullsFirst​(int index)` | `repeated bool nulls_first = 6;`
`int` | `getNullsFirstCount()` | `repeated bool nulls_first = 6;`
`List<Boolean>` | `getNullsFirstList()` | `repeated bool nulls_first = 6;`

`PlanProtocol.SortPartition`

`getPoint​(int index)`

This defines the list of partitioning points for dividing the sort into streams There's no guarantees on the size of this It could be completely empty, which could happen if it look like all the data has the same sort key - implies that we don't know what to do besides one sort stream There is no guarantee that the partitioning points are in order

`int` | `getPointCount()` | This defines the list of partitioning points for dividing the sort into streams There's no guarantees on the size of this It could be completely empty, which could happen if it look like all the data has the same sort key - implies that we don't know what to do besides one sort stream There is no guarantee that the partitioning points are in order

`List<PlanProtocol.SortPartition>`

`getPointList()`

This defines the list of partitioning points for dividing the sort into streams There's no guarantees on the size of this It could be completely empty, which could happen if it look like all the data has the same sort key - implies that we don't know what to do besides one sort stream There is no guarantee that the partitioning points are in order

`PlanProtocol.SortPartitionOrBuilder`

`getPointOrBuilder​(int index)`

This defines the list of partitioning points for dividing the sort into streams There's no guarantees on the size of this It could be completely empty, which could happen if it look like all the data has the same sort key - implies that we don't know what to do besides one sort stream There is no guarantee that the partitioning points are in order

`List<? extends PlanProtocol.SortPartitionOrBuilder>`

`getPointOrBuilderList()`

This defines the list of partitioning points for dividing the sort into streams There's no guarantees on the size of this It could be completely empty, which could happen if it look like all the data has the same sort key - implies that we don't know what to do besides one sort stream There is no guarantee that the partitioning points are in order

`String` | `getSortKeys​(int index)` | The sort columns - order matters
`com.google.protobuf.ByteString` | `getSortKeysBytes​(int index)` | The sort columns - order matters
`int` | `getSortKeysCount()` | The sort columns - order matters
`List<String>` | `getSortKeysList()` | The sort columns - order matters

### Methods inherited from interface com.google.protobuf.MessageLiteOrBuilder

`isInitialized`

### Methods inherited from interface com.google.protobuf.MessageOrBuilder

`findInitializationErrors, getAllFields, getDefaultInstanceForType, getDescriptorForType, getField, getInitializationErrorString, getOneofFieldDescriptor, getRepeatedField, getRepeatedFieldCount, getUnknownFields, hasField, hasOneof`

## Method Details

### getSortKeysList

List<String> getSortKeysList()

    The sort columns - order matters

`repeated string sortKeys = 1;`

### getSortKeysCount

int getSortKeysCount()

    The sort columns - order matters

`repeated string sortKeys = 1;`

### getSortKeys

String getSortKeys​(int index)

    The sort columns - order matters

`repeated string sortKeys = 1;`

### getSortKeysBytes

com.google.protobuf.ByteString getSortKeysBytes​(int index)

    The sort columns - order matters

`repeated string sortKeys = 1;`

### getDirectionsList

List<Boolean> getDirectionsList()

    The directions for each sort col - true = ascending

`repeated bool directions = 2;`

### getDirectionsCount

int getDirectionsCount()

    The directions for each sort col - true = ascending

`repeated bool directions = 2;`

### getDirections

boolean getDirections​(int index)

    The directions for each sort col - true = ascending

`repeated bool directions = 2;`

### getLimitVal

long getLimitVal()

    If we know we only need the top n rows of the sort
    that is noted here
    If there is no limit being applied, this is set to -1

`int64 limitVal = 3;`

### getPointList

List<PlanProtocol.SortPartition> getPointList()

    This defines the list of partitioning points for dividing the sort into streams
    There's no guarantees on the size of this
    It could be completely empty, which could happen if it look like all the data
    has the same sort key - implies that we don't know what to do besides
    one sort stream
    There is no guarantee that the partitioning points are in order

`repeated .xg.db.sqlPlans.SortPartition point = 4;`

### getPoint

PlanProtocol.SortPartition getPoint​(int index)

    This defines the list of partitioning points for dividing the sort into streams
    There's no guarantees on the size of this
    It could be completely empty, which could happen if it look like all the data
    has the same sort key - implies that we don't know what to do besides
    one sort stream
    There is no guarantee that the partitioning points are in order

`repeated .xg.db.sqlPlans.SortPartition point = 4;`

### getPointCount

int getPointCount()

    This defines the list of partitioning points for dividing the sort into streams
    There's no guarantees on the size of this
    It could be completely empty, which could happen if it look like all the data
    has the same sort key - implies that we don't know what to do besides
    one sort stream
    There is no guarantee that the partitioning points are in order

`repeated .xg.db.sqlPlans.SortPartition point = 4;`

### getPointOrBuilderList

List<? extends PlanProtocol.SortPartitionOrBuilder> getPointOrBuilderList()

    This defines the list of partitioning points for dividing the sort into streams
    There's no guarantees on the size of this
    It could be completely empty, which could happen if it look like all the data
    has the same sort key - implies that we don't know what to do besides
    one sort stream
    There is no guarantee that the partitioning points are in order

`repeated .xg.db.sqlPlans.SortPartition point = 4;`

### getPointOrBuilder

PlanProtocol.SortPartitionOrBuilder getPointOrBuilder​(int index)

    This defines the list of partitioning points for dividing the sort into streams
    There's no guarantees on the size of this
    It could be completely empty, which could happen if it look like all the data
    has the same sort key - implies that we don't know what to do besides
    one sort stream
    There is no guarantee that the partitioning points are in order

`repeated .xg.db.sqlPlans.SortPartition point = 4;`

### getHashSortKeysList

List<String> getHashSortKeysList()

    The hash sort keys if there are any, primarily only for window
    these can be different from the regular sort keys
    if this isn't empty we do a hash based sort mutliplexing instead

`repeated string hashSortKeys = 5;`

### getHashSortKeysCount

int getHashSortKeysCount()

    The hash sort keys if there are any, primarily only for window
    these can be different from the regular sort keys
    if this isn't empty we do a hash based sort mutliplexing instead

`repeated string hashSortKeys = 5;`

### getHashSortKeys

String getHashSortKeys​(int index)

    The hash sort keys if there are any, primarily only for window
    these can be different from the regular sort keys
    if this isn't empty we do a hash based sort mutliplexing instead

`repeated string hashSortKeys = 5;`

### getHashSortKeysBytes

com.google.protobuf.ByteString getHashSortKeysBytes​(int index)

    The hash sort keys if there are any, primarily only for window
    these can be different from the regular sort keys
    if this isn't empty we do a hash based sort mutliplexing instead

`repeated string hashSortKeys = 5;`

### getNullsFirstList

List<Boolean> getNullsFirstList()
`repeated bool nulls_first = 6;`

### getNullsFirstCount

int getNullsFirstCount()
`repeated bool nulls_first = 6;`

### getNullsFirst

boolean getNullsFirst​(int index)
`repeated bool nulls_first = 6;`