trait SupportsPushDownJoin extends ScanBuilder
A mix-in interface for ScanBuilder. Data sources can implement this interface to
push down join operators.
- Annotations
- @Evolving()
- Source
- SupportsPushDownJoin.java
- Since
- 4.1.0 
- Alphabetic
- By Inheritance
- SupportsPushDownJoin
- ScanBuilder
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Abstract Value Members
-   abstract  def build(): Scan- Definition Classes
- ScanBuilder
 
-   abstract  def isOtherSideCompatibleForJoin(other: SupportsPushDownJoin): BooleanReturns true if the other side of the join is compatible with the current SupportsPushDownJoinfor a join push down, meaning both sides can be processed together within the same underlying data source.Returns true if the other side of the join is compatible with the current SupportsPushDownJoinfor a join push down, meaning both sides can be processed together within the same underlying data source.
 
 For example, JDBC connectors are compatible if they use the same host, port, username, and password.
-   abstract  def pushDownJoin(other: SupportsPushDownJoin, joinType: JoinType, leftSideRequiredColumnsWithAliases: Array[ColumnWithAlias], rightSideRequiredColumnsWithAliases: Array[ColumnWithAlias], condition: Predicate): BooleanPushes down the join of the current SupportsPushDownJoinand the other side of joinSupportsPushDownJoin.Pushes down the join of the current SupportsPushDownJoinand the other side of joinSupportsPushDownJoin.- other
- SupportsPushDownJointhat this- SupportsPushDownJoingets joined with.
- joinType
- the type of join. 
- leftSideRequiredColumnsWithAliases
- required output of the left side - SupportsPushDownJoin
- rightSideRequiredColumnsWithAliases
- required output of the right side - SupportsPushDownJoin
- condition
- join condition. Columns are named after the specified aliases in - leftSideRequiredColumnWithAliasesand- rightSideRequiredColumnWithAliases
- returns
- True if join has been successfully pushed down. 
 
Concrete Value Members
-   final  def !=(arg0: Any): Boolean- Definition Classes
- AnyRef → Any
 
-   final  def ##: Int- Definition Classes
- AnyRef → Any
 
-   final  def ==(arg0: Any): Boolean- Definition Classes
- AnyRef → Any
 
-   final  def asInstanceOf[T0]: T0- Definition Classes
- Any
 
-    def clone(): AnyRef- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @IntrinsicCandidate() @native()
 
-   final  def eq(arg0: AnyRef): Boolean- Definition Classes
- AnyRef
 
-    def equals(arg0: AnyRef): Boolean- Definition Classes
- AnyRef → Any
 
-   final  def getClass(): Class[_ <: AnyRef]- Definition Classes
- AnyRef → Any
- Annotations
- @IntrinsicCandidate() @native()
 
-    def hashCode(): Int- Definition Classes
- AnyRef → Any
- Annotations
- @IntrinsicCandidate() @native()
 
-   final  def isInstanceOf[T0]: Boolean- Definition Classes
- Any
 
-   final  def ne(arg0: AnyRef): Boolean- Definition Classes
- AnyRef
 
-   final  def notify(): Unit- Definition Classes
- AnyRef
- Annotations
- @IntrinsicCandidate() @native()
 
-   final  def notifyAll(): Unit- Definition Classes
- AnyRef
- Annotations
- @IntrinsicCandidate() @native()
 
-   final  def synchronized[T0](arg0: => T0): T0- Definition Classes
- AnyRef
 
-    def toString(): String- Definition Classes
- AnyRef → Any
 
-   final  def wait(arg0: Long, arg1: Int): Unit- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
 
-   final  def wait(arg0: Long): Unit- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
 
-   final  def wait(): Unit- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
 
Deprecated Value Members
-    def finalize(): Unit- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable]) @Deprecated
- Deprecated
- (Since version 9)