Class HashJoinRel

java.lang.Object
com.google.protobuf.AbstractMessageLite
com.google.protobuf.AbstractMessage
com.google.protobuf.GeneratedMessageV3
io.substrait.proto.HashJoinRel
All Implemented Interfaces:
com.google.protobuf.Message, com.google.protobuf.MessageLite, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, HashJoinRelOrBuilder, Serializable

public final class HashJoinRel extends com.google.protobuf.GeneratedMessageV3 implements HashJoinRelOrBuilder
 The hash equijoin operator will build a hash table out of one input (default `right`) based on a set of join keys.
 It will then probe that hash table for the other input (default `left`), finding matches.

 Two rows are a match if the comparison function returns true for all keys
 
Protobuf type substrait.HashJoinRel
See Also:
  • Field Details

  • Method Details

    • newInstance

      protected Object newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter unused)
      Overrides:
      newInstance in class com.google.protobuf.GeneratedMessageV3
    • 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
    • hasCommon

      public boolean hasCommon()
      .substrait.RelCommon common = 1;
      Specified by:
      hasCommon in interface HashJoinRelOrBuilder
      Returns:
      Whether the common field is set.
    • getCommon

      public RelCommon getCommon()
      .substrait.RelCommon common = 1;
      Specified by:
      getCommon in interface HashJoinRelOrBuilder
      Returns:
      The common.
    • getCommonOrBuilder

      public RelCommonOrBuilder getCommonOrBuilder()
      .substrait.RelCommon common = 1;
      Specified by:
      getCommonOrBuilder in interface HashJoinRelOrBuilder
    • hasLeft

      public boolean hasLeft()
      .substrait.Rel left = 2;
      Specified by:
      hasLeft in interface HashJoinRelOrBuilder
      Returns:
      Whether the left field is set.
    • getLeft

      public Rel getLeft()
      .substrait.Rel left = 2;
      Specified by:
      getLeft in interface HashJoinRelOrBuilder
      Returns:
      The left.
    • getLeftOrBuilder

      public RelOrBuilder getLeftOrBuilder()
      .substrait.Rel left = 2;
      Specified by:
      getLeftOrBuilder in interface HashJoinRelOrBuilder
    • hasRight

      public boolean hasRight()
      .substrait.Rel right = 3;
      Specified by:
      hasRight in interface HashJoinRelOrBuilder
      Returns:
      Whether the right field is set.
    • getRight

      public Rel getRight()
      .substrait.Rel right = 3;
      Specified by:
      getRight in interface HashJoinRelOrBuilder
      Returns:
      The right.
    • getRightOrBuilder

      public RelOrBuilder getRightOrBuilder()
      .substrait.Rel right = 3;
      Specified by:
      getRightOrBuilder in interface HashJoinRelOrBuilder
    • getLeftKeysList

      @Deprecated public List<Expression.FieldReference> getLeftKeysList()
      Deprecated.
       These fields are deprecated in favor of `keys`.  If they are set then
       the two lists (left_keys and right_keys) must have the same length and
       the comparion function is considered to be SimpleEqualityType::EQ
       
      repeated .substrait.Expression.FieldReference left_keys = 4 [deprecated = true];
      Specified by:
      getLeftKeysList in interface HashJoinRelOrBuilder
    • getLeftKeysOrBuilderList

      @Deprecated public List<? extends Expression.FieldReferenceOrBuilder> getLeftKeysOrBuilderList()
      Deprecated.
       These fields are deprecated in favor of `keys`.  If they are set then
       the two lists (left_keys and right_keys) must have the same length and
       the comparion function is considered to be SimpleEqualityType::EQ
       
      repeated .substrait.Expression.FieldReference left_keys = 4 [deprecated = true];
      Specified by:
      getLeftKeysOrBuilderList in interface HashJoinRelOrBuilder
    • getLeftKeysCount

      @Deprecated public int getLeftKeysCount()
      Deprecated.
       These fields are deprecated in favor of `keys`.  If they are set then
       the two lists (left_keys and right_keys) must have the same length and
       the comparion function is considered to be SimpleEqualityType::EQ
       
      repeated .substrait.Expression.FieldReference left_keys = 4 [deprecated = true];
      Specified by:
      getLeftKeysCount in interface HashJoinRelOrBuilder
    • getLeftKeys

      @Deprecated public Expression.FieldReference getLeftKeys(int index)
      Deprecated.
       These fields are deprecated in favor of `keys`.  If they are set then
       the two lists (left_keys and right_keys) must have the same length and
       the comparion function is considered to be SimpleEqualityType::EQ
       
      repeated .substrait.Expression.FieldReference left_keys = 4 [deprecated = true];
      Specified by:
      getLeftKeys in interface HashJoinRelOrBuilder
    • getLeftKeysOrBuilder

      @Deprecated public Expression.FieldReferenceOrBuilder getLeftKeysOrBuilder(int index)
      Deprecated.
       These fields are deprecated in favor of `keys`.  If they are set then
       the two lists (left_keys and right_keys) must have the same length and
       the comparion function is considered to be SimpleEqualityType::EQ
       
      repeated .substrait.Expression.FieldReference left_keys = 4 [deprecated = true];
      Specified by:
      getLeftKeysOrBuilder in interface HashJoinRelOrBuilder
    • getRightKeysList

      @Deprecated public List<Expression.FieldReference> getRightKeysList()
      Deprecated.
      repeated .substrait.Expression.FieldReference right_keys = 5 [deprecated = true];
      Specified by:
      getRightKeysList in interface HashJoinRelOrBuilder
    • getRightKeysOrBuilderList

      @Deprecated public List<? extends Expression.FieldReferenceOrBuilder> getRightKeysOrBuilderList()
      Deprecated.
      repeated .substrait.Expression.FieldReference right_keys = 5 [deprecated = true];
      Specified by:
      getRightKeysOrBuilderList in interface HashJoinRelOrBuilder
    • getRightKeysCount

      @Deprecated public int getRightKeysCount()
      Deprecated.
      repeated .substrait.Expression.FieldReference right_keys = 5 [deprecated = true];
      Specified by:
      getRightKeysCount in interface HashJoinRelOrBuilder
    • getRightKeys

      @Deprecated public Expression.FieldReference getRightKeys(int index)
      Deprecated.
      repeated .substrait.Expression.FieldReference right_keys = 5 [deprecated = true];
      Specified by:
      getRightKeys in interface HashJoinRelOrBuilder
    • getRightKeysOrBuilder

      @Deprecated public Expression.FieldReferenceOrBuilder getRightKeysOrBuilder(int index)
      Deprecated.
      repeated .substrait.Expression.FieldReference right_keys = 5 [deprecated = true];
      Specified by:
      getRightKeysOrBuilder in interface HashJoinRelOrBuilder
    • getKeysList

      public List<ComparisonJoinKey> getKeysList()
       One or more keys to join on.  The relation is invalid if this is empty
       (unless the deprecated left_keys/right_keys fields are being used).
      
       If a custom comparison function is used then it must be consistent with
       the hash function used for the keys.
      
       In other words, the hash function must return the same hash code when the
       comparison returns true.  For example, if the comparison function is
       "equals ignoring case" then the hash function must return the same hash
       code for strings that differ only by case.  Note: the hash function is not
       specified here.  It is the responsibility of the consumer to find an appropriate
       hash function for a given comparsion function or to reject the plan if it cannot
       do so.
       
      repeated .substrait.ComparisonJoinKey keys = 8;
      Specified by:
      getKeysList in interface HashJoinRelOrBuilder
    • getKeysOrBuilderList

      public List<? extends ComparisonJoinKeyOrBuilder> getKeysOrBuilderList()
       One or more keys to join on.  The relation is invalid if this is empty
       (unless the deprecated left_keys/right_keys fields are being used).
      
       If a custom comparison function is used then it must be consistent with
       the hash function used for the keys.
      
       In other words, the hash function must return the same hash code when the
       comparison returns true.  For example, if the comparison function is
       "equals ignoring case" then the hash function must return the same hash
       code for strings that differ only by case.  Note: the hash function is not
       specified here.  It is the responsibility of the consumer to find an appropriate
       hash function for a given comparsion function or to reject the plan if it cannot
       do so.
       
      repeated .substrait.ComparisonJoinKey keys = 8;
      Specified by:
      getKeysOrBuilderList in interface HashJoinRelOrBuilder
    • getKeysCount

      public int getKeysCount()
       One or more keys to join on.  The relation is invalid if this is empty
       (unless the deprecated left_keys/right_keys fields are being used).
      
       If a custom comparison function is used then it must be consistent with
       the hash function used for the keys.
      
       In other words, the hash function must return the same hash code when the
       comparison returns true.  For example, if the comparison function is
       "equals ignoring case" then the hash function must return the same hash
       code for strings that differ only by case.  Note: the hash function is not
       specified here.  It is the responsibility of the consumer to find an appropriate
       hash function for a given comparsion function or to reject the plan if it cannot
       do so.
       
      repeated .substrait.ComparisonJoinKey keys = 8;
      Specified by:
      getKeysCount in interface HashJoinRelOrBuilder
    • getKeys

      public ComparisonJoinKey getKeys(int index)
       One or more keys to join on.  The relation is invalid if this is empty
       (unless the deprecated left_keys/right_keys fields are being used).
      
       If a custom comparison function is used then it must be consistent with
       the hash function used for the keys.
      
       In other words, the hash function must return the same hash code when the
       comparison returns true.  For example, if the comparison function is
       "equals ignoring case" then the hash function must return the same hash
       code for strings that differ only by case.  Note: the hash function is not
       specified here.  It is the responsibility of the consumer to find an appropriate
       hash function for a given comparsion function or to reject the plan if it cannot
       do so.
       
      repeated .substrait.ComparisonJoinKey keys = 8;
      Specified by:
      getKeys in interface HashJoinRelOrBuilder
    • getKeysOrBuilder

      public ComparisonJoinKeyOrBuilder getKeysOrBuilder(int index)
       One or more keys to join on.  The relation is invalid if this is empty
       (unless the deprecated left_keys/right_keys fields are being used).
      
       If a custom comparison function is used then it must be consistent with
       the hash function used for the keys.
      
       In other words, the hash function must return the same hash code when the
       comparison returns true.  For example, if the comparison function is
       "equals ignoring case" then the hash function must return the same hash
       code for strings that differ only by case.  Note: the hash function is not
       specified here.  It is the responsibility of the consumer to find an appropriate
       hash function for a given comparsion function or to reject the plan if it cannot
       do so.
       
      repeated .substrait.ComparisonJoinKey keys = 8;
      Specified by:
      getKeysOrBuilder in interface HashJoinRelOrBuilder
    • hasPostJoinFilter

      public boolean hasPostJoinFilter()
      .substrait.Expression post_join_filter = 6;
      Specified by:
      hasPostJoinFilter in interface HashJoinRelOrBuilder
      Returns:
      Whether the postJoinFilter field is set.
    • getPostJoinFilter

      public Expression getPostJoinFilter()
      .substrait.Expression post_join_filter = 6;
      Specified by:
      getPostJoinFilter in interface HashJoinRelOrBuilder
      Returns:
      The postJoinFilter.
    • getPostJoinFilterOrBuilder

      public ExpressionOrBuilder getPostJoinFilterOrBuilder()
      .substrait.Expression post_join_filter = 6;
      Specified by:
      getPostJoinFilterOrBuilder in interface HashJoinRelOrBuilder
    • getTypeValue

      public int getTypeValue()
      .substrait.HashJoinRel.JoinType type = 7;
      Specified by:
      getTypeValue in interface HashJoinRelOrBuilder
      Returns:
      The enum numeric value on the wire for type.
    • getType

      public HashJoinRel.JoinType getType()
      .substrait.HashJoinRel.JoinType type = 7;
      Specified by:
      getType in interface HashJoinRelOrBuilder
      Returns:
      The type.
    • getBuildInputValue

      public int getBuildInputValue()
       Specifies which side of input to build the hash table for this hash join. Default is `BUILD_INPUT_RIGHT`.
       
      .substrait.HashJoinRel.BuildInput build_input = 9;
      Specified by:
      getBuildInputValue in interface HashJoinRelOrBuilder
      Returns:
      The enum numeric value on the wire for buildInput.
    • getBuildInput

      public HashJoinRel.BuildInput getBuildInput()
       Specifies which side of input to build the hash table for this hash join. Default is `BUILD_INPUT_RIGHT`.
       
      .substrait.HashJoinRel.BuildInput build_input = 9;
      Specified by:
      getBuildInput in interface HashJoinRelOrBuilder
      Returns:
      The buildInput.
    • hasAdvancedExtension

      public boolean hasAdvancedExtension()
      .substrait.extensions.AdvancedExtension advanced_extension = 10;
      Specified by:
      hasAdvancedExtension in interface HashJoinRelOrBuilder
      Returns:
      Whether the advancedExtension field is set.
    • getAdvancedExtension

      public AdvancedExtension getAdvancedExtension()
      .substrait.extensions.AdvancedExtension advanced_extension = 10;
      Specified by:
      getAdvancedExtension in interface HashJoinRelOrBuilder
      Returns:
      The advancedExtension.
    • getAdvancedExtensionOrBuilder

      public AdvancedExtensionOrBuilder getAdvancedExtensionOrBuilder()
      .substrait.extensions.AdvancedExtension advanced_extension = 10;
      Specified by:
      getAdvancedExtensionOrBuilder in interface HashJoinRelOrBuilder
    • isInitialized

      public final boolean isInitialized()
      Specified by:
      isInitialized in interface com.google.protobuf.MessageLiteOrBuilder
      Overrides:
      isInitialized in class com.google.protobuf.GeneratedMessageV3
    • writeTo

      public void writeTo(com.google.protobuf.CodedOutputStream output) throws IOException
      Specified by:
      writeTo in interface com.google.protobuf.MessageLite
      Overrides:
      writeTo in class com.google.protobuf.GeneratedMessageV3
      Throws:
      IOException
    • getSerializedSize

      public int getSerializedSize()
      Specified by:
      getSerializedSize in interface com.google.protobuf.MessageLite
      Overrides:
      getSerializedSize in class com.google.protobuf.GeneratedMessageV3
    • equals

      public boolean equals(Object obj)
      Specified by:
      equals in interface com.google.protobuf.Message
      Overrides:
      equals in class com.google.protobuf.AbstractMessage
    • hashCode

      public int hashCode()
      Specified by:
      hashCode in interface com.google.protobuf.Message
      Overrides:
      hashCode in class com.google.protobuf.AbstractMessage
    • parseFrom

      public static HashJoinRel parseFrom(ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException
      Throws:
      com.google.protobuf.InvalidProtocolBufferException
    • parseFrom

      public static HashJoinRel parseFrom(ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException
      Throws:
      com.google.protobuf.InvalidProtocolBufferException
    • parseFrom

      public static HashJoinRel parseFrom(com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException
      Throws:
      com.google.protobuf.InvalidProtocolBufferException
    • parseFrom

      public static HashJoinRel parseFrom(com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException
      Throws:
      com.google.protobuf.InvalidProtocolBufferException
    • parseFrom

      public static HashJoinRel parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException
      Throws:
      com.google.protobuf.InvalidProtocolBufferException
    • parseFrom

      public static HashJoinRel parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException
      Throws:
      com.google.protobuf.InvalidProtocolBufferException
    • parseFrom

      public static HashJoinRel parseFrom(InputStream input) throws IOException
      Throws:
      IOException
    • parseFrom

      public static HashJoinRel parseFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
      Throws:
      IOException
    • parseDelimitedFrom

      public static HashJoinRel parseDelimitedFrom(InputStream input) throws IOException
      Throws:
      IOException
    • parseDelimitedFrom

      public static HashJoinRel parseDelimitedFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
      Throws:
      IOException
    • parseFrom

      public static HashJoinRel parseFrom(com.google.protobuf.CodedInputStream input) throws IOException
      Throws:
      IOException
    • parseFrom

      public static HashJoinRel parseFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
      Throws:
      IOException
    • newBuilderForType

      public HashJoinRel.Builder newBuilderForType()
      Specified by:
      newBuilderForType in interface com.google.protobuf.Message
      Specified by:
      newBuilderForType in interface com.google.protobuf.MessageLite
    • newBuilder

      public static HashJoinRel.Builder newBuilder()
    • newBuilder

      public static HashJoinRel.Builder newBuilder(HashJoinRel prototype)
    • toBuilder

      public HashJoinRel.Builder toBuilder()
      Specified by:
      toBuilder in interface com.google.protobuf.Message
      Specified by:
      toBuilder in interface com.google.protobuf.MessageLite
    • newBuilderForType

      protected HashJoinRel.Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)
      Specified by:
      newBuilderForType in class com.google.protobuf.GeneratedMessageV3
    • getDefaultInstance

      public static HashJoinRel getDefaultInstance()
    • parser

      public static com.google.protobuf.Parser<HashJoinRel> parser()
    • getParserForType

      public com.google.protobuf.Parser<HashJoinRel> getParserForType()
      Specified by:
      getParserForType in interface com.google.protobuf.Message
      Specified by:
      getParserForType in interface com.google.protobuf.MessageLite
      Overrides:
      getParserForType in class com.google.protobuf.GeneratedMessageV3
    • getDefaultInstanceForType

      public HashJoinRel getDefaultInstanceForType()
      Specified by:
      getDefaultInstanceForType in interface com.google.protobuf.MessageLiteOrBuilder
      Specified by:
      getDefaultInstanceForType in interface com.google.protobuf.MessageOrBuilder