Package com.ocient.jdbc.proto

## Class PlanProtocol.HashJoinOperator.Builder

- java.lang.Object
- - com.google.protobuf.AbstractMessageLite.Builder
  - - com.google.protobuf.AbstractMessage.Builder<BuilderType>
    - - com.google.protobuf.GeneratedMessageV3.Builder<PlanProtocol.HashJoinOperator.Builder>
      - - com.ocient.jdbc.proto.PlanProtocol.HashJoinOperator.Builder

All Implemented Interfaces:
  `com.google.protobuf.Message.Builder`, `com.google.protobuf.MessageLite.Builder`, `com.google.protobuf.MessageLiteOrBuilder`, `com.google.protobuf.MessageOrBuilder`, `PlanProtocol.HashJoinOperatorOrBuilder`, `Cloneable`

Enclosing class:
  PlanProtocol.HashJoinOperator

    public static final class PlanProtocol.HashJoinOperator.Builder
    extends com.google.protobuf.GeneratedMessageV3.Builder<PlanProtocol.HashJoinOperator.Builder>
    implements PlanProtocol.HashJoinOperatorOrBuilder

Protobuf type `xg.db.sqlPlans.HashJoinOperator`

### Method Summary

All Methods Static Methods Instance Methods Concrete Methods
`PlanProtocol.HashJoinOperator.Builder` `addAllFilters​(Iterable<? extends PlanProtocol.Disjunction> values)` Any additional filters that have to be applied to the join If there are more than 2 children, it will be empty
`PlanProtocol.HashJoinOperator.Builder` `addAllImplicitProjs​(Iterable<? extends Boolean> values)` implicitly project gdc keys [(for left child, for right child), ...] each
`PlanProtocol.HashJoinOperator.Builder` `addAllJoinCols​(Iterable<? extends PlanProtocol.JoinCols> values)` Each entry represents the equijoin columns for one child, they are in order of the children
`PlanProtocol.HashJoinOperator.Builder` `addAllMatchNullKeysIdxes​(Iterable<? extends Long> values)` Which equi join conditions match null keys? The index here corresponds to join col position in join_cols
`PlanProtocol.HashJoinOperator.Builder` `addFilters​(int index, PlanProtocol.Disjunction value)` Any additional filters that have to be applied to the join If there are more than 2 children, it will be empty
`PlanProtocol.HashJoinOperator.Builder` `addFilters​(int index, PlanProtocol.Disjunction.Builder builderForValue)` Any additional filters that have to be applied to the join If there are more than 2 children, it will be empty
`PlanProtocol.HashJoinOperator.Builder` `addFilters​(PlanProtocol.Disjunction value)` Any additional filters that have to be applied to the join If there are more than 2 children, it will be empty
`PlanProtocol.HashJoinOperator.Builder` `addFilters​(PlanProtocol.Disjunction.Builder builderForValue)` Any additional filters that have to be applied to the join If there are more than 2 children, it will be empty
`PlanProtocol.Disjunction.Builder` `addFiltersBuilder()` Any additional filters that have to be applied to the join If there are more than 2 children, it will be empty
`PlanProtocol.Disjunction.Builder` `addFiltersBuilder​(int index)` Any additional filters that have to be applied to the join If there are more than 2 children, it will be empty
`PlanProtocol.HashJoinOperator.Builder` `addImplicitProjs​(boolean value)` implicitly project gdc keys [(for left child, for right child), ...] each
`PlanProtocol.HashJoinOperator.Builder` `addJoinCols​(int index, PlanProtocol.JoinCols value)` Each entry represents the equijoin columns for one child, they are in order of the children
`PlanProtocol.HashJoinOperator.Builder` `addJoinCols​(int index, PlanProtocol.JoinCols.Builder builderForValue)` Each entry represents the equijoin columns for one child, they are in order of the children
`PlanProtocol.HashJoinOperator.Builder` `addJoinCols​(PlanProtocol.JoinCols value)` Each entry represents the equijoin columns for one child, they are in order of the children
`PlanProtocol.HashJoinOperator.Builder` `addJoinCols​(PlanProtocol.JoinCols.Builder builderForValue)` Each entry represents the equijoin columns for one child, they are in order of the children
`PlanProtocol.JoinCols.Builder` `addJoinColsBuilder()` Each entry represents the equijoin columns for one child, they are in order of the children
`PlanProtocol.JoinCols.Builder` `addJoinColsBuilder​(int index)` Each entry represents the equijoin columns for one child, they are in order of the children
`PlanProtocol.HashJoinOperator.Builder` `addMatchNullKeysIdxes​(long value)` Which equi join conditions match null keys? The index here corresponds to join col position in join_cols
`PlanProtocol.HashJoinOperator.Builder` `addRepeatedField​(com.google.protobuf.Descriptors.FieldDescriptor field, Object value)`
`PlanProtocol.HashJoinOperator` `build()`
`PlanProtocol.HashJoinOperator` `buildPartial()`
`PlanProtocol.HashJoinOperator.Builder` `clear()`
`PlanProtocol.HashJoinOperator.Builder` `clearCbc()` flags indicating that this is actually a correlated count bug correction join
`PlanProtocol.HashJoinOperator.Builder` `clearField​(com.google.protobuf.Descriptors.FieldDescriptor field)`
`PlanProtocol.HashJoinOperator.Builder` `clearFilters()` Any additional filters that have to be applied to the join If there are more than 2 children, it will be empty
`PlanProtocol.HashJoinOperator.Builder` `clearGdcJoin()` Whether or not this is a gdc join
`PlanProtocol.HashJoinOperator.Builder` `clearImplicitProjs()` implicitly project gdc keys [(for left child, for right child), ...] each
`PlanProtocol.HashJoinOperator.Builder` `clearJoinCols()` Each entry represents the equijoin columns for one child, they are in order of the children
`PlanProtocol.HashJoinOperator.Builder` `clearMatchNullKeys()` Whether or not this join is matching null keys
`PlanProtocol.HashJoinOperator.Builder` `clearMatchNullKeysIdxes()` Which equi join conditions match null keys? The index here corresponds to join col position in join_cols
`PlanProtocol.HashJoinOperator.Builder` `clearOneof​(com.google.protobuf.Descriptors.OneofDescriptor oneof)`
`PlanProtocol.HashJoinOperator.Builder` `clearScalar()` `bool scalar = 5;`
`PlanProtocol.HashJoinOperator.Builder` `clearType()` Type of the join - if there are more than 2 children, it will be INNER
`PlanProtocol.HashJoinOperator.Builder` `clearZero()` `bool zero = 6;`
`PlanProtocol.HashJoinOperator.Builder` `clone()`
`boolean` `getCbc()` flags indicating that this is actually a correlated count bug correction join
`PlanProtocol.HashJoinOperator` `getDefaultInstanceForType()`
`static com.google.protobuf.Descriptors.Descriptor` `getDescriptor()`
`com.google.protobuf.Descriptors.Descriptor` `getDescriptorForType()`
`PlanProtocol.Disjunction` `getFilters​(int index)` Any additional filters that have to be applied to the join If there are more than 2 children, it will be empty
`PlanProtocol.Disjunction.Builder` `getFiltersBuilder​(int index)` Any additional filters that have to be applied to the join If there are more than 2 children, it will be empty
`List<PlanProtocol.Disjunction.Builder>` `getFiltersBuilderList()` Any additional filters that have to be applied to the join If there are more than 2 children, it will be empty
`int` `getFiltersCount()` Any additional filters that have to be applied to the join If there are more than 2 children, it will be empty
`List<PlanProtocol.Disjunction>` `getFiltersList()` Any additional filters that have to be applied to the join If there are more than 2 children, it will be empty
`PlanProtocol.DisjunctionOrBuilder` `getFiltersOrBuilder​(int index)` Any additional filters that have to be applied to the join If there are more than 2 children, it will be empty
`List<? extends PlanProtocol.DisjunctionOrBuilder>` `getFiltersOrBuilderList()` Any additional filters that have to be applied to the join If there are more than 2 children, it will be empty
`boolean` `getGdcJoin()` Whether or not this is a gdc join
`boolean` `getImplicitProjs​(int index)` implicitly project gdc keys [(for left child, for right child), ...] each
`int` `getImplicitProjsCount()` implicitly project gdc keys [(for left child, for right child), ...] each
`List<Boolean>` `getImplicitProjsList()` implicitly project gdc keys [(for left child, for right child), ...] each
`PlanProtocol.JoinCols` `getJoinCols​(int index)` Each entry represents the equijoin columns for one child, they are in order of the children
`PlanProtocol.JoinCols.Builder` `getJoinColsBuilder​(int index)` Each entry represents the equijoin columns for one child, they are in order of the children
`List<PlanProtocol.JoinCols.Builder>` `getJoinColsBuilderList()` Each entry represents the equijoin columns for one child, they are in order of the children
`int` `getJoinColsCount()` Each entry represents the equijoin columns for one child, they are in order of the children
`List<PlanProtocol.JoinCols>` `getJoinColsList()` Each entry represents the equijoin columns for one child, they are in order of the children
`PlanProtocol.JoinColsOrBuilder` `getJoinColsOrBuilder​(int index)` Each entry represents the equijoin columns for one child, they are in order of the children
`List<? extends PlanProtocol.JoinColsOrBuilder>` `getJoinColsOrBuilderList()` Each entry represents the equijoin columns for one child, they are in order of the children
`boolean` `getMatchNullKeys()` Whether or not this join is matching null keys
`long` `getMatchNullKeysIdxes​(int index)` Which equi join conditions match null keys? The index here corresponds to join col position in join_cols
`int` `getMatchNullKeysIdxesCount()` Which equi join conditions match null keys? The index here corresponds to join col position in join_cols
`List<Long>` `getMatchNullKeysIdxesList()` Which equi join conditions match null keys? The index here corresponds to join col position in join_cols
`boolean` `getScalar()` `bool scalar = 5;`
`PlanProtocol.JoinType` `getType()` Type of the join - if there are more than 2 children, it will be INNER
`int` `getTypeValue()` Type of the join - if there are more than 2 children, it will be INNER
`boolean` `getZero()` `bool zero = 6;`
`protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable` `internalGetFieldAccessorTable()`
`boolean` `isInitialized()`
`PlanProtocol.HashJoinOperator.Builder` `mergeFrom​(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)`
`PlanProtocol.HashJoinOperator.Builder` `mergeFrom​(com.google.protobuf.Message other)`
`PlanProtocol.HashJoinOperator.Builder` `mergeFrom​(PlanProtocol.HashJoinOperator other)`
`PlanProtocol.HashJoinOperator.Builder` `mergeUnknownFields​(com.google.protobuf.UnknownFieldSet unknownFields)`
`PlanProtocol.HashJoinOperator.Builder` `removeFilters​(int index)` Any additional filters that have to be applied to the join If there are more than 2 children, it will be empty
`PlanProtocol.HashJoinOperator.Builder` `removeJoinCols​(int index)` Each entry represents the equijoin columns for one child, they are in order of the children
`PlanProtocol.HashJoinOperator.Builder` `setCbc​(boolean value)` flags indicating that this is actually a correlated count bug correction join
`PlanProtocol.HashJoinOperator.Builder` `setField​(com.google.protobuf.Descriptors.FieldDescriptor field, Object value)`
`PlanProtocol.HashJoinOperator.Builder` `setFilters​(int index, PlanProtocol.Disjunction value)` Any additional filters that have to be applied to the join If there are more than 2 children, it will be empty
`PlanProtocol.HashJoinOperator.Builder` `setFilters​(int index, PlanProtocol.Disjunction.Builder builderForValue)` Any additional filters that have to be applied to the join If there are more than 2 children, it will be empty
`PlanProtocol.HashJoinOperator.Builder` `setGdcJoin​(boolean value)` Whether or not this is a gdc join
`PlanProtocol.HashJoinOperator.Builder` `setImplicitProjs​(int index, boolean value)` implicitly project gdc keys [(for left child, for right child), ...] each
`PlanProtocol.HashJoinOperator.Builder` `setJoinCols​(int index, PlanProtocol.JoinCols value)` Each entry represents the equijoin columns for one child, they are in order of the children
`PlanProtocol.HashJoinOperator.Builder` `setJoinCols​(int index, PlanProtocol.JoinCols.Builder builderForValue)` Each entry represents the equijoin columns for one child, they are in order of the children
`PlanProtocol.HashJoinOperator.Builder` `setMatchNullKeys​(boolean value)` Whether or not this join is matching null keys
`PlanProtocol.HashJoinOperator.Builder` `setMatchNullKeysIdxes​(int index, long value)` Which equi join conditions match null keys? The index here corresponds to join col position in join_cols
`PlanProtocol.HashJoinOperator.Builder` `setRepeatedField​(com.google.protobuf.Descriptors.FieldDescriptor field, int index, Object value)`
`PlanProtocol.HashJoinOperator.Builder` `setScalar​(boolean value)` `bool scalar = 5;`
`PlanProtocol.HashJoinOperator.Builder` `setType​(PlanProtocol.JoinType value)` Type of the join - if there are more than 2 children, it will be INNER
`PlanProtocol.HashJoinOperator.Builder` `setTypeValue​(int value)` Type of the join - if there are more than 2 children, it will be INNER
`PlanProtocol.HashJoinOperator.Builder` `setUnknownFields​(com.google.protobuf.UnknownFieldSet unknownFields)`
`PlanProtocol.HashJoinOperator.Builder` `setZero​(boolean value)` `bool zero = 6;`

### Methods inherited from class com.google.protobuf.GeneratedMessageV3.Builder

`getAllFields, getField, getFieldBuilder, getOneofFieldDescriptor, getParentForChildren, getRepeatedField, getRepeatedFieldBuilder, getRepeatedFieldCount, getUnknownFields, hasField, hasOneof, internalGetMapField, internalGetMutableMapField, isClean, markClean, newBuilderForField, onBuilt, onChanged, setUnknownFieldsProto3`

### Methods inherited from class com.google.protobuf.AbstractMessage.Builder

`findInitializationErrors, getInitializationErrorString, internalMergeFrom, mergeDelimitedFrom, mergeDelimitedFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, newUninitializedMessageException, toString`

### Methods inherited from class com.google.protobuf.AbstractMessageLite.Builder

`addAll, addAll, mergeFrom, newUninitializedMessageException`

### Methods inherited from class java.lang.Object

`equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

### Methods inherited from interface com.google.protobuf.MessageLite.Builder

`mergeFrom`

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

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

### Method Detail

#### getDescriptor

    public static final com.google.protobuf.Descriptors.Descriptor getDescriptor()

#### internalGetFieldAccessorTable

    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()

Specified by:
  `internalGetFieldAccessorTable` in class `com.google.protobuf.GeneratedMessageV3.Builder<PlanProtocol.HashJoinOperator.Builder>`

#### clear

    public PlanProtocol.HashJoinOperator.Builder clear()

Specified by:
  `clear` in interface `com.google.protobuf.Message.Builder`
Specified by:
  `clear` in interface `com.google.protobuf.MessageLite.Builder`
Overrides:
  `clear` in class `com.google.protobuf.GeneratedMessageV3.Builder<PlanProtocol.HashJoinOperator.Builder>`

#### getDescriptorForType

    public com.google.protobuf.Descriptors.Descriptor getDescriptorForType()

Specified by:
  `getDescriptorForType` in interface `com.google.protobuf.Message.Builder`
Specified by:
  `getDescriptorForType` in interface `com.google.protobuf.MessageOrBuilder`
Overrides:
  `getDescriptorForType` in class `com.google.protobuf.GeneratedMessageV3.Builder<PlanProtocol.HashJoinOperator.Builder>`

#### getDefaultInstanceForType

    public PlanProtocol.HashJoinOperator getDefaultInstanceForType()

Specified by:
  `getDefaultInstanceForType` in interface `com.google.protobuf.MessageLiteOrBuilder`
Specified by:
  `getDefaultInstanceForType` in interface `com.google.protobuf.MessageOrBuilder`

#### build

    public PlanProtocol.HashJoinOperator build()

Specified by:
  `build` in interface `com.google.protobuf.Message.Builder`
Specified by:
  `build` in interface `com.google.protobuf.MessageLite.Builder`

#### buildPartial

    public PlanProtocol.HashJoinOperator buildPartial()

Specified by:
  `buildPartial` in interface `com.google.protobuf.Message.Builder`
Specified by:
  `buildPartial` in interface `com.google.protobuf.MessageLite.Builder`

#### clone

    public PlanProtocol.HashJoinOperator.Builder clone()

Specified by:
  `clone` in interface `com.google.protobuf.Message.Builder`
Specified by:
  `clone` in interface `com.google.protobuf.MessageLite.Builder`
Overrides:
  `clone` in class `com.google.protobuf.GeneratedMessageV3.Builder<PlanProtocol.HashJoinOperator.Builder>`

#### setField

    public PlanProtocol.HashJoinOperator.Builder setField​(com.google.protobuf.Descriptors.FieldDescriptor field,
                                                          Object value)

Specified by:
  `setField` in interface `com.google.protobuf.Message.Builder`
Overrides:
  `setField` in class `com.google.protobuf.GeneratedMessageV3.Builder<PlanProtocol.HashJoinOperator.Builder>`

#### clearField

    public PlanProtocol.HashJoinOperator.Builder clearField​(com.google.protobuf.Descriptors.FieldDescriptor field)

Specified by:
  `clearField` in interface `com.google.protobuf.Message.Builder`
Overrides:
  `clearField` in class `com.google.protobuf.GeneratedMessageV3.Builder<PlanProtocol.HashJoinOperator.Builder>`

#### clearOneof

    public PlanProtocol.HashJoinOperator.Builder clearOneof​(com.google.protobuf.Descriptors.OneofDescriptor oneof)

Specified by:
  `clearOneof` in interface `com.google.protobuf.Message.Builder`
Overrides:
  `clearOneof` in class `com.google.protobuf.GeneratedMessageV3.Builder<PlanProtocol.HashJoinOperator.Builder>`

#### setRepeatedField

    public PlanProtocol.HashJoinOperator.Builder setRepeatedField​(com.google.protobuf.Descriptors.FieldDescriptor field,
                                                                  int index,
                                                                  Object value)

Specified by:
  `setRepeatedField` in interface `com.google.protobuf.Message.Builder`
Overrides:
  `setRepeatedField` in class `com.google.protobuf.GeneratedMessageV3.Builder<PlanProtocol.HashJoinOperator.Builder>`

#### addRepeatedField

    public PlanProtocol.HashJoinOperator.Builder addRepeatedField​(com.google.protobuf.Descriptors.FieldDescriptor field,
                                                                  Object value)

Specified by:
  `addRepeatedField` in interface `com.google.protobuf.Message.Builder`
Overrides:
  `addRepeatedField` in class `com.google.protobuf.GeneratedMessageV3.Builder<PlanProtocol.HashJoinOperator.Builder>`

#### mergeFrom

    public PlanProtocol.HashJoinOperator.Builder mergeFrom​(com.google.protobuf.Message other)

Specified by:
  `mergeFrom` in interface `com.google.protobuf.Message.Builder`
Overrides:
  `mergeFrom` in class `com.google.protobuf.AbstractMessage.Builder<PlanProtocol.HashJoinOperator.Builder>`

#### mergeFrom

    public PlanProtocol.HashJoinOperator.Builder mergeFrom​(PlanProtocol.HashJoinOperator other)

#### isInitialized

    public final boolean isInitialized()

Specified by:
  `isInitialized` in interface `com.google.protobuf.MessageLiteOrBuilder`
Overrides:
  `isInitialized` in class `com.google.protobuf.GeneratedMessageV3.Builder<PlanProtocol.HashJoinOperator.Builder>`

#### mergeFrom

    public PlanProtocol.HashJoinOperator.Builder mergeFrom​(com.google.protobuf.CodedInputStream input,
                                                           com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                                    throws IOException

Specified by:
  `mergeFrom` in interface `com.google.protobuf.Message.Builder`
Specified by:
  `mergeFrom` in interface `com.google.protobuf.MessageLite.Builder`
Overrides:
  `mergeFrom` in class `com.google.protobuf.AbstractMessage.Builder<PlanProtocol.HashJoinOperator.Builder>`
Throws:
  `IOException`

#### getJoinColsList

    public List<PlanProtocol.JoinCols> getJoinColsList()

    Each entry represents the equijoin columns for one child, they are in order of the children

`repeated .xg.db.sqlPlans.JoinCols join_cols = 1;`

Specified by:
  `getJoinColsList` in interface `PlanProtocol.HashJoinOperatorOrBuilder`

#### getJoinColsCount

    public int getJoinColsCount()

    Each entry represents the equijoin columns for one child, they are in order of the children

`repeated .xg.db.sqlPlans.JoinCols join_cols = 1;`

Specified by:
  `getJoinColsCount` in interface `PlanProtocol.HashJoinOperatorOrBuilder`

#### getJoinCols

    public PlanProtocol.JoinCols getJoinCols​(int index)

    Each entry represents the equijoin columns for one child, they are in order of the children

`repeated .xg.db.sqlPlans.JoinCols join_cols = 1;`

Specified by:
  `getJoinCols` in interface `PlanProtocol.HashJoinOperatorOrBuilder`

#### setJoinCols

    public PlanProtocol.HashJoinOperator.Builder setJoinCols​(int index,
                                                             PlanProtocol.JoinCols value)

    Each entry represents the equijoin columns for one child, they are in order of the children

`repeated .xg.db.sqlPlans.JoinCols join_cols = 1;`

#### setJoinCols

    public PlanProtocol.HashJoinOperator.Builder setJoinCols​(int index,
                                                             PlanProtocol.JoinCols.Builder builderForValue)

    Each entry represents the equijoin columns for one child, they are in order of the children

`repeated .xg.db.sqlPlans.JoinCols join_cols = 1;`

#### addJoinCols

    public PlanProtocol.HashJoinOperator.Builder addJoinCols​(PlanProtocol.JoinCols value)

    Each entry represents the equijoin columns for one child, they are in order of the children

`repeated .xg.db.sqlPlans.JoinCols join_cols = 1;`

#### addJoinCols

    public PlanProtocol.HashJoinOperator.Builder addJoinCols​(int index,
                                                             PlanProtocol.JoinCols value)

    Each entry represents the equijoin columns for one child, they are in order of the children

`repeated .xg.db.sqlPlans.JoinCols join_cols = 1;`

#### addJoinCols

    public PlanProtocol.HashJoinOperator.Builder addJoinCols​(PlanProtocol.JoinCols.Builder builderForValue)

    Each entry represents the equijoin columns for one child, they are in order of the children

`repeated .xg.db.sqlPlans.JoinCols join_cols = 1;`

#### addJoinCols

    public PlanProtocol.HashJoinOperator.Builder addJoinCols​(int index,
                                                             PlanProtocol.JoinCols.Builder builderForValue)

    Each entry represents the equijoin columns for one child, they are in order of the children

`repeated .xg.db.sqlPlans.JoinCols join_cols = 1;`

#### addAllJoinCols

    public PlanProtocol.HashJoinOperator.Builder addAllJoinCols​(Iterable<? extends PlanProtocol.JoinCols> values)

    Each entry represents the equijoin columns for one child, they are in order of the children

`repeated .xg.db.sqlPlans.JoinCols join_cols = 1;`

#### clearJoinCols

    public PlanProtocol.HashJoinOperator.Builder clearJoinCols()

    Each entry represents the equijoin columns for one child, they are in order of the children

`repeated .xg.db.sqlPlans.JoinCols join_cols = 1;`

#### removeJoinCols

    public PlanProtocol.HashJoinOperator.Builder removeJoinCols​(int index)

    Each entry represents the equijoin columns for one child, they are in order of the children

`repeated .xg.db.sqlPlans.JoinCols join_cols = 1;`

#### getJoinColsBuilder

    public PlanProtocol.JoinCols.Builder getJoinColsBuilder​(int index)

    Each entry represents the equijoin columns for one child, they are in order of the children

`repeated .xg.db.sqlPlans.JoinCols join_cols = 1;`

#### getJoinColsOrBuilder

    public PlanProtocol.JoinColsOrBuilder getJoinColsOrBuilder​(int index)

    Each entry represents the equijoin columns for one child, they are in order of the children

`repeated .xg.db.sqlPlans.JoinCols join_cols = 1;`

Specified by:
  `getJoinColsOrBuilder` in interface `PlanProtocol.HashJoinOperatorOrBuilder`

#### getJoinColsOrBuilderList

    public List<? extends PlanProtocol.JoinColsOrBuilder> getJoinColsOrBuilderList()

    Each entry represents the equijoin columns for one child, they are in order of the children

`repeated .xg.db.sqlPlans.JoinCols join_cols = 1;`

Specified by:
  `getJoinColsOrBuilderList` in interface `PlanProtocol.HashJoinOperatorOrBuilder`

#### addJoinColsBuilder

    public PlanProtocol.JoinCols.Builder addJoinColsBuilder()

    Each entry represents the equijoin columns for one child, they are in order of the children

`repeated .xg.db.sqlPlans.JoinCols join_cols = 1;`

#### addJoinColsBuilder

    public PlanProtocol.JoinCols.Builder addJoinColsBuilder​(int index)

    Each entry represents the equijoin columns for one child, they are in order of the children

`repeated .xg.db.sqlPlans.JoinCols join_cols = 1;`

#### getJoinColsBuilderList

    public List<PlanProtocol.JoinCols.Builder> getJoinColsBuilderList()

    Each entry represents the equijoin columns for one child, they are in order of the children

`repeated .xg.db.sqlPlans.JoinCols join_cols = 1;`

#### getFiltersList

    public List<PlanProtocol.Disjunction> getFiltersList()

    Any additional filters that have to be applied to the join
    If there are more than 2 children, it will be empty

`repeated .xg.db.sqlPlans.Disjunction filters = 2;`

Specified by:
  `getFiltersList` in interface `PlanProtocol.HashJoinOperatorOrBuilder`

#### getFiltersCount

    public int getFiltersCount()

    Any additional filters that have to be applied to the join
    If there are more than 2 children, it will be empty

`repeated .xg.db.sqlPlans.Disjunction filters = 2;`

Specified by:
  `getFiltersCount` in interface `PlanProtocol.HashJoinOperatorOrBuilder`

#### getFilters

    public PlanProtocol.Disjunction getFilters​(int index)

    Any additional filters that have to be applied to the join
    If there are more than 2 children, it will be empty

`repeated .xg.db.sqlPlans.Disjunction filters = 2;`

Specified by:
  `getFilters` in interface `PlanProtocol.HashJoinOperatorOrBuilder`

#### setFilters

    public PlanProtocol.HashJoinOperator.Builder setFilters​(int index,
                                                            PlanProtocol.Disjunction value)

    Any additional filters that have to be applied to the join
    If there are more than 2 children, it will be empty

`repeated .xg.db.sqlPlans.Disjunction filters = 2;`

#### setFilters

    public PlanProtocol.HashJoinOperator.Builder setFilters​(int index,
                                                            PlanProtocol.Disjunction.Builder builderForValue)

    Any additional filters that have to be applied to the join
    If there are more than 2 children, it will be empty

`repeated .xg.db.sqlPlans.Disjunction filters = 2;`

#### addFilters

    public PlanProtocol.HashJoinOperator.Builder addFilters​(PlanProtocol.Disjunction value)

    Any additional filters that have to be applied to the join
    If there are more than 2 children, it will be empty

`repeated .xg.db.sqlPlans.Disjunction filters = 2;`

#### addFilters

    public PlanProtocol.HashJoinOperator.Builder addFilters​(int index,
                                                            PlanProtocol.Disjunction value)

    Any additional filters that have to be applied to the join
    If there are more than 2 children, it will be empty

`repeated .xg.db.sqlPlans.Disjunction filters = 2;`

#### addFilters

    public PlanProtocol.HashJoinOperator.Builder addFilters​(PlanProtocol.Disjunction.Builder builderForValue)

    Any additional filters that have to be applied to the join
    If there are more than 2 children, it will be empty

`repeated .xg.db.sqlPlans.Disjunction filters = 2;`

#### addFilters

    public PlanProtocol.HashJoinOperator.Builder addFilters​(int index,
                                                            PlanProtocol.Disjunction.Builder builderForValue)

    Any additional filters that have to be applied to the join
    If there are more than 2 children, it will be empty

`repeated .xg.db.sqlPlans.Disjunction filters = 2;`

#### addAllFilters

    public PlanProtocol.HashJoinOperator.Builder addAllFilters​(Iterable<? extends PlanProtocol.Disjunction> values)

    Any additional filters that have to be applied to the join
    If there are more than 2 children, it will be empty

`repeated .xg.db.sqlPlans.Disjunction filters = 2;`

#### clearFilters

    public PlanProtocol.HashJoinOperator.Builder clearFilters()

    Any additional filters that have to be applied to the join
    If there are more than 2 children, it will be empty

`repeated .xg.db.sqlPlans.Disjunction filters = 2;`

#### removeFilters

    public PlanProtocol.HashJoinOperator.Builder removeFilters​(int index)

    Any additional filters that have to be applied to the join
    If there are more than 2 children, it will be empty

`repeated .xg.db.sqlPlans.Disjunction filters = 2;`

#### getFiltersBuilder

    public PlanProtocol.Disjunction.Builder getFiltersBuilder​(int index)

    Any additional filters that have to be applied to the join
    If there are more than 2 children, it will be empty

`repeated .xg.db.sqlPlans.Disjunction filters = 2;`

#### getFiltersOrBuilder

    public PlanProtocol.DisjunctionOrBuilder getFiltersOrBuilder​(int index)

    Any additional filters that have to be applied to the join
    If there are more than 2 children, it will be empty

`repeated .xg.db.sqlPlans.Disjunction filters = 2;`

Specified by:
  `getFiltersOrBuilder` in interface `PlanProtocol.HashJoinOperatorOrBuilder`

#### getFiltersOrBuilderList

    public List<? extends PlanProtocol.DisjunctionOrBuilder> getFiltersOrBuilderList()

    Any additional filters that have to be applied to the join
    If there are more than 2 children, it will be empty

`repeated .xg.db.sqlPlans.Disjunction filters = 2;`

Specified by:
  `getFiltersOrBuilderList` in interface `PlanProtocol.HashJoinOperatorOrBuilder`

#### addFiltersBuilder

    public PlanProtocol.Disjunction.Builder addFiltersBuilder()

    Any additional filters that have to be applied to the join
    If there are more than 2 children, it will be empty

`repeated .xg.db.sqlPlans.Disjunction filters = 2;`

#### addFiltersBuilder

    public PlanProtocol.Disjunction.Builder addFiltersBuilder​(int index)

    Any additional filters that have to be applied to the join
    If there are more than 2 children, it will be empty

`repeated .xg.db.sqlPlans.Disjunction filters = 2;`

#### getFiltersBuilderList

    public List<PlanProtocol.Disjunction.Builder> getFiltersBuilderList()

    Any additional filters that have to be applied to the join
    If there are more than 2 children, it will be empty

`repeated .xg.db.sqlPlans.Disjunction filters = 2;`

#### getTypeValue

    public int getTypeValue()

    Type of the join - if there are more than 2 children, it will be INNER

`.xg.db.sqlPlans.JoinType type = 3;`

Specified by:
  `getTypeValue` in interface `PlanProtocol.HashJoinOperatorOrBuilder`
Returns:
  The enum numeric value on the wire for type.

#### setTypeValue

    public PlanProtocol.HashJoinOperator.Builder setTypeValue​(int value)

    Type of the join - if there are more than 2 children, it will be INNER

`.xg.db.sqlPlans.JoinType type = 3;`

Parameters:
  `value` - The enum numeric value on the wire for type to set.
Returns:
  This builder for chaining.

#### getType

    public PlanProtocol.JoinType getType()

    Type of the join - if there are more than 2 children, it will be INNER

`.xg.db.sqlPlans.JoinType type = 3;`

Specified by:
  `getType` in interface `PlanProtocol.HashJoinOperatorOrBuilder`
Returns:
  The type.

#### setType

    public PlanProtocol.HashJoinOperator.Builder setType​(PlanProtocol.JoinType value)

    Type of the join - if there are more than 2 children, it will be INNER

`.xg.db.sqlPlans.JoinType type = 3;`

Parameters:
  `value` - The type to set.
Returns:
  This builder for chaining.

#### clearType

    public PlanProtocol.HashJoinOperator.Builder clearType()

    Type of the join - if there are more than 2 children, it will be INNER

`.xg.db.sqlPlans.JoinType type = 3;`

Returns:
  This builder for chaining.

#### getCbc

    public boolean getCbc()

    flags indicating that this is actually a correlated count bug correction join

`bool cbc = 4;`

Specified by:
  `getCbc` in interface `PlanProtocol.HashJoinOperatorOrBuilder`
Returns:
  The cbc.

#### setCbc

    public PlanProtocol.HashJoinOperator.Builder setCbc​(boolean value)

    flags indicating that this is actually a correlated count bug correction join

`bool cbc = 4;`

Parameters:
  `value` - The cbc to set.
Returns:
  This builder for chaining.

#### clearCbc

    public PlanProtocol.HashJoinOperator.Builder clearCbc()

    flags indicating that this is actually a correlated count bug correction join

`bool cbc = 4;`

Returns:
  This builder for chaining.

#### getScalar

    public boolean getScalar()

`bool scalar = 5;`

Specified by:
  `getScalar` in interface `PlanProtocol.HashJoinOperatorOrBuilder`
Returns:
  The scalar.

#### setScalar

    public PlanProtocol.HashJoinOperator.Builder setScalar​(boolean value)

`bool scalar = 5;`

Parameters:
  `value` - The scalar to set.
Returns:
  This builder for chaining.

#### clearScalar

    public PlanProtocol.HashJoinOperator.Builder clearScalar()

`bool scalar = 5;`

Returns:
  This builder for chaining.

#### getZero

    public boolean getZero()

`bool zero = 6;`

Specified by:
  `getZero` in interface `PlanProtocol.HashJoinOperatorOrBuilder`
Returns:
  The zero.

#### setZero

    public PlanProtocol.HashJoinOperator.Builder setZero​(boolean value)

`bool zero = 6;`

Parameters:
  `value` - The zero to set.
Returns:
  This builder for chaining.

#### clearZero

    public PlanProtocol.HashJoinOperator.Builder clearZero()

`bool zero = 6;`

Returns:
  This builder for chaining.

#### getGdcJoin

    public boolean getGdcJoin()

    Whether or not this is a gdc join

`bool gdcJoin = 7;`

Specified by:
  `getGdcJoin` in interface `PlanProtocol.HashJoinOperatorOrBuilder`
Returns:
  The gdcJoin.

#### setGdcJoin

    public PlanProtocol.HashJoinOperator.Builder setGdcJoin​(boolean value)

    Whether or not this is a gdc join

`bool gdcJoin = 7;`

Parameters:
  `value` - The gdcJoin to set.
Returns:
  This builder for chaining.

#### clearGdcJoin

    public PlanProtocol.HashJoinOperator.Builder clearGdcJoin()

    Whether or not this is a gdc join

`bool gdcJoin = 7;`

Returns:
  This builder for chaining.

#### getMatchNullKeys

    public boolean getMatchNullKeys()

    Whether or not this join is matching null keys

`bool matchNullKeys = 8;`

Specified by:
  `getMatchNullKeys` in interface `PlanProtocol.HashJoinOperatorOrBuilder`
Returns:
  The matchNullKeys.

#### setMatchNullKeys

    public PlanProtocol.HashJoinOperator.Builder setMatchNullKeys​(boolean value)

    Whether or not this join is matching null keys

`bool matchNullKeys = 8;`

Parameters:
  `value` - The matchNullKeys to set.
Returns:
  This builder for chaining.

#### clearMatchNullKeys

    public PlanProtocol.HashJoinOperator.Builder clearMatchNullKeys()

    Whether or not this join is matching null keys

`bool matchNullKeys = 8;`

Returns:
  This builder for chaining.

#### getImplicitProjsList

    public List<Boolean> getImplicitProjsList()

     implicitly project gdc keys [(for left child, for right child), ...] each

`repeated bool implicit_projs = 9;`

Specified by:
  `getImplicitProjsList` in interface `PlanProtocol.HashJoinOperatorOrBuilder`
Returns:
  A list containing the implicitProjs.

#### getImplicitProjsCount

    public int getImplicitProjsCount()

     implicitly project gdc keys [(for left child, for right child), ...] each

`repeated bool implicit_projs = 9;`

Specified by:
  `getImplicitProjsCount` in interface `PlanProtocol.HashJoinOperatorOrBuilder`
Returns:
  The count of implicitProjs.

#### getImplicitProjs

    public boolean getImplicitProjs​(int index)

     implicitly project gdc keys [(for left child, for right child), ...] each

`repeated bool implicit_projs = 9;`

Specified by:
  `getImplicitProjs` in interface `PlanProtocol.HashJoinOperatorOrBuilder`
Parameters:
  `index` - The index of the element to return.
Returns:
  The implicitProjs at the given index.

#### setImplicitProjs

    public PlanProtocol.HashJoinOperator.Builder setImplicitProjs​(int index,
                                                                  boolean value)

     implicitly project gdc keys [(for left child, for right child), ...] each

`repeated bool implicit_projs = 9;`

Parameters:
  `index` - The index to set the value at.
  `value` - The implicitProjs to set.
Returns:
  This builder for chaining.

#### addImplicitProjs

    public PlanProtocol.HashJoinOperator.Builder addImplicitProjs​(boolean value)

     implicitly project gdc keys [(for left child, for right child), ...] each

`repeated bool implicit_projs = 9;`

Parameters:
  `value` - The implicitProjs to add.
Returns:
  This builder for chaining.

#### addAllImplicitProjs

    public PlanProtocol.HashJoinOperator.Builder addAllImplicitProjs​(Iterable<? extends Boolean> values)

     implicitly project gdc keys [(for left child, for right child), ...] each

`repeated bool implicit_projs = 9;`

Parameters:
  `values` - The implicitProjs to add.
Returns:
  This builder for chaining.

#### clearImplicitProjs

    public PlanProtocol.HashJoinOperator.Builder clearImplicitProjs()

     implicitly project gdc keys [(for left child, for right child), ...] each

`repeated bool implicit_projs = 9;`

Returns:
  This builder for chaining.

#### getMatchNullKeysIdxesList

    public List<Long> getMatchNullKeysIdxesList()

     Which equi join conditions match null keys? The index here corresponds to join col position in join_cols

`repeated uint64 matchNullKeysIdxes = 10;`

Specified by:
  `getMatchNullKeysIdxesList` in interface `PlanProtocol.HashJoinOperatorOrBuilder`
Returns:
  A list containing the matchNullKeysIdxes.

#### getMatchNullKeysIdxesCount

    public int getMatchNullKeysIdxesCount()

     Which equi join conditions match null keys? The index here corresponds to join col position in join_cols

`repeated uint64 matchNullKeysIdxes = 10;`

Specified by:
  `getMatchNullKeysIdxesCount` in interface `PlanProtocol.HashJoinOperatorOrBuilder`
Returns:
  The count of matchNullKeysIdxes.

#### getMatchNullKeysIdxes

    public long getMatchNullKeysIdxes​(int index)

     Which equi join conditions match null keys? The index here corresponds to join col position in join_cols

`repeated uint64 matchNullKeysIdxes = 10;`

Specified by:
  `getMatchNullKeysIdxes` in interface `PlanProtocol.HashJoinOperatorOrBuilder`
Parameters:
  `index` - The index of the element to return.
Returns:
  The matchNullKeysIdxes at the given index.

#### setMatchNullKeysIdxes

    public PlanProtocol.HashJoinOperator.Builder setMatchNullKeysIdxes​(int index,
                                                                       long value)

     Which equi join conditions match null keys? The index here corresponds to join col position in join_cols

`repeated uint64 matchNullKeysIdxes = 10;`

Parameters:
  `index` - The index to set the value at.
  `value` - The matchNullKeysIdxes to set.
Returns:
  This builder for chaining.

#### addMatchNullKeysIdxes

    public PlanProtocol.HashJoinOperator.Builder addMatchNullKeysIdxes​(long value)

     Which equi join conditions match null keys? The index here corresponds to join col position in join_cols

`repeated uint64 matchNullKeysIdxes = 10;`

Parameters:
  `value` - The matchNullKeysIdxes to add.
Returns:
  This builder for chaining.

#### addAllMatchNullKeysIdxes

    public PlanProtocol.HashJoinOperator.Builder addAllMatchNullKeysIdxes​(Iterable<? extends Long> values)

     Which equi join conditions match null keys? The index here corresponds to join col position in join_cols

`repeated uint64 matchNullKeysIdxes = 10;`

Parameters:
  `values` - The matchNullKeysIdxes to add.
Returns:
  This builder for chaining.

#### clearMatchNullKeysIdxes

    public PlanProtocol.HashJoinOperator.Builder clearMatchNullKeysIdxes()

     Which equi join conditions match null keys? The index here corresponds to join col position in join_cols

`repeated uint64 matchNullKeysIdxes = 10;`

Returns:
  This builder for chaining.

#### setUnknownFields

    public final PlanProtocol.HashJoinOperator.Builder setUnknownFields​(com.google.protobuf.UnknownFieldSet unknownFields)

Specified by:
  `setUnknownFields` in interface `com.google.protobuf.Message.Builder`
Overrides:
  `setUnknownFields` in class `com.google.protobuf.GeneratedMessageV3.Builder<PlanProtocol.HashJoinOperator.Builder>`

#### mergeUnknownFields

    public final PlanProtocol.HashJoinOperator.Builder mergeUnknownFields​(com.google.protobuf.UnknownFieldSet unknownFields)

Specified by:
  `mergeUnknownFields` in interface `com.google.protobuf.Message.Builder`
Overrides:
  `mergeUnknownFields` in class `com.google.protobuf.GeneratedMessageV3.Builder<PlanProtocol.HashJoinOperator.Builder>`