Packages

t

org.apache.spark.sql.delta

CDCStatementBase

trait CDCStatementBase extends LogicalPlan with DeltaTableValueFunction

Base trait for analyzing table_changes and table_changes_for_path. The resolution works as follows:

  1. The TVF logical plan is resolved using the TableFunctionRegistry in the Analyzer. This uses reflection to create one of CDCNameBased or CDCPathBased by passing all the arguments. 2. DeltaAnalysis turns the plans to a TableChanges node to resolve the DeltaTable. This can be resolved by the DeltaCatalog for tables or DeltaAnalysis for the path based use. 3. TableChanges then turns into a LogicalRelation that returns the CDC relation.
Linear Supertypes
DeltaTableValueFunction, UnresolvedLeafNode, UnresolvedNode, LeafNode, LeafLike[LogicalPlan], LogicalPlan, Logging, QueryPlanConstraints, ConstraintHelper, LogicalPlanDistinctKeys, LogicalPlanStats, AnalysisHelper, QueryPlan[LogicalPlan], SQLConfHelper, TreeNode[LogicalPlan], WithOrigin, TreePatternBits, Product, Equals, AnyRef, Any
Known Subclasses
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. CDCStatementBase
  2. DeltaTableValueFunction
  3. UnresolvedLeafNode
  4. UnresolvedNode
  5. LeafNode
  6. LeafLike
  7. LogicalPlan
  8. Logging
  9. QueryPlanConstraints
  10. ConstraintHelper
  11. LogicalPlanDistinctKeys
  12. LogicalPlanStats
  13. AnalysisHelper
  14. QueryPlan
  15. SQLConfHelper
  16. TreeNode
  17. WithOrigin
  18. TreePatternBits
  19. Product
  20. Equals
  21. AnyRef
  22. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Abstract Value Members

  1. abstract def canEqual(that: Any): Boolean
    Definition Classes
    Equals
  2. abstract def fnName: String
    Definition Classes
    DeltaTableValueFunction
  3. abstract val functionArgs: Seq[Expression]
    Definition Classes
    DeltaTableValueFunction
  4. abstract def getTable(spark: SparkSession, name: Expression): LogicalPlan

    Get the table that the function is being called on as an unresolved relation

    Get the table that the function is being called on as an unresolved relation

    Attributes
    protected
  5. abstract def productArity: Int
    Definition Classes
    Product
  6. abstract def productElement(n: Int): Any
    Definition Classes
    Product

Concrete Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. lazy val allAttributes: AttributeSeq
    Definition Classes
    QueryPlan
  5. def analyzed: Boolean
    Definition Classes
    AnalysisHelper
  6. def apply(number: Int): TreeNode[_]
    Definition Classes
    TreeNode
  7. def argString(maxFields: Int): String
    Definition Classes
    TreeNode
  8. def asCode: String
    Definition Classes
    TreeNode
  9. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  10. def assertNotAnalysisRule(): Unit
    Attributes
    protected
    Definition Classes
    AnalysisHelper
  11. final lazy val canonicalized: LogicalPlan
    Definition Classes
    QueryPlan
    Annotations
    @transient()
  12. final def children: Seq[LogicalPlan]
    Definition Classes
    LeafLike
  13. def childrenResolved: Boolean
    Definition Classes
    LogicalPlan
  14. def clone(): LogicalPlan
    Definition Classes
    AnalysisHelper → TreeNode → AnyRef
  15. def collect[B](pf: PartialFunction[LogicalPlan, B]): Seq[B]
    Definition Classes
    TreeNode
  16. def collectFirst[B](pf: PartialFunction[LogicalPlan, B]): Option[B]
    Definition Classes
    TreeNode
  17. def collectLeaves(): Seq[LogicalPlan]
    Definition Classes
    TreeNode
  18. def collectWithSubqueries[B](f: PartialFunction[LogicalPlan, B]): Seq[B]
    Definition Classes
    QueryPlan
  19. def computeStats(): Statistics
    Definition Classes
    LeafNode
  20. def conf: SQLConf
    Definition Classes
    SQLConfHelper
  21. lazy val constraints: ExpressionSet
    Definition Classes
    QueryPlanConstraints
  22. def constructIsNotNullConstraints(constraints: ExpressionSet, output: Seq[Attribute]): ExpressionSet
    Definition Classes
    ConstraintHelper
  23. final def containsAllPatterns(patterns: TreePattern*): Boolean
    Definition Classes
    TreePatternBits
  24. final def containsAnyPattern(patterns: TreePattern*): Boolean
    Definition Classes
    TreePatternBits
  25. lazy val containsChild: Set[TreeNode[_]]
    Definition Classes
    TreeNode
  26. final def containsPattern(t: TreePattern): Boolean
    Definition Classes
    TreePatternBits
    Annotations
    @inline()
  27. def copyTagsFrom(other: LogicalPlan): Unit
    Definition Classes
    TreeNode
  28. lazy val deterministic: Boolean
    Definition Classes
    QueryPlan
  29. lazy val distinctKeys: Set[ExpressionSet]
    Definition Classes
    LogicalPlanDistinctKeys
  30. def doCanonicalize(): LogicalPlan
    Attributes
    protected
    Definition Classes
    QueryPlan
  31. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  32. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  33. def exists(f: (LogicalPlan) ⇒ Boolean): Boolean
    Definition Classes
    TreeNode
  34. final def expressions: Seq[Expression]
    Definition Classes
    QueryPlan
  35. def fastEquals(other: TreeNode[_]): Boolean
    Definition Classes
    TreeNode
  36. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  37. def find(f: (LogicalPlan) ⇒ Boolean): Option[LogicalPlan]
    Definition Classes
    TreeNode
  38. def flatMap[A](f: (LogicalPlan) ⇒ TraversableOnce[A]): Seq[A]
    Definition Classes
    TreeNode
  39. def foreach(f: (LogicalPlan) ⇒ Unit): Unit
    Definition Classes
    TreeNode
  40. def foreachUp(f: (LogicalPlan) ⇒ Unit): Unit
    Definition Classes
    TreeNode
  41. def formattedNodeName: String
    Attributes
    protected
    Definition Classes
    QueryPlan
  42. def generateTreeString(depth: Int, lastChildren: ArrayList[Boolean], append: (String) ⇒ Unit, verbose: Boolean, prefix: String, addSuffix: Boolean, maxFields: Int, printNodeId: Boolean, indent: Int): Unit
    Definition Classes
    TreeNode
  43. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  44. def getDefaultTreePatternBits: BitSet
    Attributes
    protected
    Definition Classes
    TreeNode
  45. def getMetadataAttributeByName(name: String): AttributeReference
    Definition Classes
    LogicalPlan
  46. def getMetadataAttributeByNameOpt(name: String): Option[AttributeReference]
    Definition Classes
    LogicalPlan
  47. def getOptions: CaseInsensitiveStringMap
    Attributes
    protected
  48. def getStringLiteral(e: Expression, whatFor: String): String
    Attributes
    protected
  49. def getTagValue[T](tag: TreeNodeTag[T]): Option[T]
    Definition Classes
    TreeNode
  50. def hashCode(): Int
    Definition Classes
    TreeNode → AnyRef → Any
  51. def inferAdditionalConstraints(constraints: ExpressionSet): ExpressionSet
    Definition Classes
    ConstraintHelper
  52. def initializeLogIfNecessary(isInterpreter: Boolean, silent: Boolean): Boolean
    Attributes
    protected
    Definition Classes
    Logging
  53. def initializeLogIfNecessary(isInterpreter: Boolean): Unit
    Attributes
    protected
    Definition Classes
    Logging
  54. def innerChildren: Seq[QueryPlan[_]]
    Definition Classes
    QueryPlan → TreeNode
  55. def inputSet: AttributeSet
    Definition Classes
    QueryPlan
  56. final def invalidateStatsCache(): Unit
    Definition Classes
    LogicalPlanStats
  57. def isCanonicalizedPlan: Boolean
    Attributes
    protected
    Definition Classes
    QueryPlan
  58. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  59. def isRuleIneffective(ruleId: RuleId): Boolean
    Attributes
    protected
    Definition Classes
    TreeNode
  60. def isStreaming: Boolean
    Definition Classes
    LogicalPlan
  61. def isTraceEnabled(): Boolean
    Attributes
    protected
    Definition Classes
    Logging
  62. def jsonFields: List[JField]
    Attributes
    protected
    Definition Classes
    TreeNode
  63. final def legacyWithNewChildren(newChildren: Seq[LogicalPlan]): LogicalPlan
    Attributes
    protected
    Definition Classes
    TreeNode
  64. def log: Logger
    Attributes
    protected
    Definition Classes
    Logging
  65. def logDebug(msg: ⇒ String, throwable: Throwable): Unit
    Attributes
    protected
    Definition Classes
    Logging
  66. def logDebug(msg: ⇒ String): Unit
    Attributes
    protected
    Definition Classes
    Logging
  67. def logError(msg: ⇒ String, throwable: Throwable): Unit
    Attributes
    protected
    Definition Classes
    Logging
  68. def logError(msg: ⇒ String): Unit
    Attributes
    protected
    Definition Classes
    Logging
  69. def logInfo(msg: ⇒ String, throwable: Throwable): Unit
    Attributes
    protected
    Definition Classes
    Logging
  70. def logInfo(msg: ⇒ String): Unit
    Attributes
    protected
    Definition Classes
    Logging
  71. def logName: String
    Attributes
    protected
    Definition Classes
    Logging
  72. def logTrace(msg: ⇒ String, throwable: Throwable): Unit
    Attributes
    protected
    Definition Classes
    Logging
  73. def logTrace(msg: ⇒ String): Unit
    Attributes
    protected
    Definition Classes
    Logging
  74. def logWarning(msg: ⇒ String, throwable: Throwable): Unit
    Attributes
    protected
    Definition Classes
    Logging
  75. def logWarning(msg: ⇒ String): Unit
    Attributes
    protected
    Definition Classes
    Logging
  76. def makeCopy(newArgs: Array[AnyRef]): LogicalPlan
    Definition Classes
    TreeNode
  77. def map[A](f: (LogicalPlan) ⇒ A): Seq[A]
    Definition Classes
    TreeNode
  78. final def mapChildren(f: (LogicalPlan) ⇒ LogicalPlan): LogicalPlan
    Definition Classes
    LeafLike
  79. def mapExpressions(f: (Expression) ⇒ Expression): CDCStatementBase.this.type
    Definition Classes
    QueryPlan
  80. def mapProductIterator[B](f: (Any) ⇒ B)(implicit arg0: ClassTag[B]): Array[B]
    Attributes
    protected
    Definition Classes
    TreeNode
  81. def markRuleAsIneffective(ruleId: RuleId): Unit
    Attributes
    protected
    Definition Classes
    TreeNode
  82. def maxRows: Option[Long]
    Definition Classes
    LogicalPlan
  83. def maxRowsPerPartition: Option[Long]
    Definition Classes
    LogicalPlan
  84. def metadataOutput: Seq[Attribute]
    Definition Classes
    LogicalPlan
  85. final def missingInput: AttributeSet
    Definition Classes
    QueryPlan
  86. def multiTransformDown(rule: PartialFunction[LogicalPlan, Seq[LogicalPlan]]): Stream[LogicalPlan]
    Definition Classes
    TreeNode
  87. def multiTransformDownWithPruning(cond: (TreePatternBits) ⇒ Boolean, ruleId: RuleId)(rule: PartialFunction[LogicalPlan, Seq[LogicalPlan]]): Stream[LogicalPlan]
    Definition Classes
    TreeNode
  88. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  89. def nodeName: String
    Definition Classes
    TreeNode
  90. val nodePatterns: Seq[TreePattern]
    Attributes
    protected
    Definition Classes
    TreeNode
  91. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  92. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  93. def numberedTreeString: String
    Definition Classes
    TreeNode
  94. val origin: Origin
    Definition Classes
    TreeNode → WithOrigin
  95. def otherCopyArgs: Seq[AnyRef]
    Attributes
    protected
    Definition Classes
    TreeNode
  96. def output: Seq[Attribute]
    Definition Classes
    UnresolvedNode → QueryPlan
  97. def outputOrdering: Seq[SortOrder]
    Definition Classes
    QueryPlan
  98. lazy val outputSet: AttributeSet
    Definition Classes
    QueryPlan
    Annotations
    @transient()
  99. def p(number: Int): LogicalPlan
    Definition Classes
    TreeNode
  100. def prettyJson: String
    Definition Classes
    TreeNode
  101. def printSchema(): Unit
    Definition Classes
    QueryPlan
  102. def producedAttributes: AttributeSet
    Definition Classes
    LeafNode → QueryPlan
  103. def productIterator: Iterator[Any]
    Definition Classes
    Product
  104. def productPrefix: String
    Definition Classes
    Product
  105. lazy val references: AttributeSet
    Definition Classes
    QueryPlan
    Annotations
    @transient()
  106. def refresh(): Unit
    Definition Classes
    LogicalPlan
  107. def resolve(nameParts: Seq[String], resolver: Resolver): Option[NamedExpression]
    Definition Classes
    LogicalPlan
  108. def resolve(schema: StructType, resolver: Resolver): Seq[Attribute]
    Definition Classes
    LogicalPlan
  109. def resolveChildren(nameParts: Seq[String], resolver: Resolver): Option[NamedExpression]
    Definition Classes
    LogicalPlan
  110. def resolveExpressions(r: PartialFunction[Expression, Expression]): LogicalPlan
    Definition Classes
    AnalysisHelper
  111. def resolveExpressionsWithPruning(cond: (TreePatternBits) ⇒ Boolean, ruleId: RuleId)(rule: PartialFunction[Expression, Expression]): LogicalPlan
    Definition Classes
    AnalysisHelper
  112. def resolveOperators(rule: PartialFunction[LogicalPlan, LogicalPlan]): LogicalPlan
    Definition Classes
    AnalysisHelper
  113. def resolveOperatorsDown(rule: PartialFunction[LogicalPlan, LogicalPlan]): LogicalPlan
    Definition Classes
    AnalysisHelper
  114. def resolveOperatorsDownWithPruning(cond: (TreePatternBits) ⇒ Boolean, ruleId: RuleId)(rule: PartialFunction[LogicalPlan, LogicalPlan]): LogicalPlan
    Definition Classes
    AnalysisHelper
  115. def resolveOperatorsUp(rule: PartialFunction[LogicalPlan, LogicalPlan]): LogicalPlan
    Definition Classes
    AnalysisHelper
  116. def resolveOperatorsUpWithNewOutput(rule: PartialFunction[LogicalPlan, (LogicalPlan, Seq[(Attribute, Attribute)])]): LogicalPlan
    Definition Classes
    AnalysisHelper
  117. def resolveOperatorsUpWithPruning(cond: (TreePatternBits) ⇒ Boolean, ruleId: RuleId)(rule: PartialFunction[LogicalPlan, LogicalPlan]): LogicalPlan
    Definition Classes
    AnalysisHelper
  118. def resolveOperatorsWithPruning(cond: (TreePatternBits) ⇒ Boolean, ruleId: RuleId)(rule: PartialFunction[LogicalPlan, LogicalPlan]): LogicalPlan
    Definition Classes
    AnalysisHelper
  119. def resolveQuoted(name: String, resolver: Resolver): Option[NamedExpression]
    Definition Classes
    LogicalPlan
  120. lazy val resolved: Boolean
    Definition Classes
    UnresolvedNode → LogicalPlan
  121. def rewriteAttrs(attrMap: AttributeMap[Attribute]): LogicalPlan
    Definition Classes
    QueryPlan
  122. def sameOutput(other: LogicalPlan): Boolean
    Definition Classes
    LogicalPlan
  123. final def sameResult(other: LogicalPlan): Boolean
    Definition Classes
    QueryPlan
  124. lazy val schema: StructType
    Definition Classes
    QueryPlan
  125. def schemaString: String
    Definition Classes
    QueryPlan
  126. final def semanticHash(): Int
    Definition Classes
    QueryPlan
  127. def setTagValue[T](tag: TreeNodeTag[T], value: T): Unit
    Definition Classes
    TreeNode
  128. def simpleString(maxFields: Int): String
    Definition Classes
    QueryPlan → TreeNode
  129. def simpleStringWithNodeId(): String
    Definition Classes
    QueryPlan → TreeNode
  130. def statePrefix: String
    Attributes
    protected
    Definition Classes
    LogicalPlan → QueryPlan
  131. def stats: Statistics
    Definition Classes
    LogicalPlanStats
  132. val statsCache: Option[Statistics]
    Attributes
    protected
    Definition Classes
    LogicalPlanStats
  133. def stringArgs: Iterator[Any]
    Attributes
    protected
    Definition Classes
    TreeNode
  134. lazy val subqueries: Seq[LogicalPlan]
    Definition Classes
    QueryPlan
    Annotations
    @transient()
  135. def subqueriesAll: Seq[LogicalPlan]
    Definition Classes
    QueryPlan
  136. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  137. def toJSON: String
    Definition Classes
    TreeNode
  138. def toString(): String
    Definition Classes
    TreeNode → AnyRef → Any
  139. def toTableChanges(spark: SparkSession): TableChanges
  140. def transform(rule: PartialFunction[LogicalPlan, LogicalPlan]): LogicalPlan
    Definition Classes
    TreeNode
  141. def transformAllExpressions(rule: PartialFunction[Expression, Expression]): CDCStatementBase.this.type
    Definition Classes
    QueryPlan
  142. def transformAllExpressionsWithPruning(cond: (TreePatternBits) ⇒ Boolean, ruleId: RuleId)(rule: PartialFunction[Expression, Expression]): CDCStatementBase.this.type
    Definition Classes
    AnalysisHelper → QueryPlan
  143. def transformAllExpressionsWithSubqueries(rule: PartialFunction[Expression, Expression]): CDCStatementBase.this.type
    Definition Classes
    QueryPlan
  144. def transformDown(rule: PartialFunction[LogicalPlan, LogicalPlan]): LogicalPlan
    Definition Classes
    TreeNode
  145. def transformDownWithPruning(cond: (TreePatternBits) ⇒ Boolean, ruleId: RuleId)(rule: PartialFunction[LogicalPlan, LogicalPlan]): LogicalPlan
    Definition Classes
    AnalysisHelper → TreeNode
  146. def transformDownWithSubqueries(f: PartialFunction[LogicalPlan, LogicalPlan]): LogicalPlan
    Definition Classes
    QueryPlan
  147. def transformDownWithSubqueriesAndPruning(cond: (TreePatternBits) ⇒ Boolean, ruleId: RuleId)(f: PartialFunction[LogicalPlan, LogicalPlan]): LogicalPlan
    Definition Classes
    QueryPlan
  148. def transformExpressions(rule: PartialFunction[Expression, Expression]): CDCStatementBase.this.type
    Definition Classes
    QueryPlan
  149. def transformExpressionsDown(rule: PartialFunction[Expression, Expression]): CDCStatementBase.this.type
    Definition Classes
    QueryPlan
  150. def transformExpressionsDownWithPruning(cond: (TreePatternBits) ⇒ Boolean, ruleId: RuleId)(rule: PartialFunction[Expression, Expression]): CDCStatementBase.this.type
    Definition Classes
    QueryPlan
  151. def transformExpressionsUp(rule: PartialFunction[Expression, Expression]): CDCStatementBase.this.type
    Definition Classes
    QueryPlan
  152. def transformExpressionsUpWithPruning(cond: (TreePatternBits) ⇒ Boolean, ruleId: RuleId)(rule: PartialFunction[Expression, Expression]): CDCStatementBase.this.type
    Definition Classes
    QueryPlan
  153. def transformExpressionsWithPruning(cond: (TreePatternBits) ⇒ Boolean, ruleId: RuleId)(rule: PartialFunction[Expression, Expression]): CDCStatementBase.this.type
    Definition Classes
    QueryPlan
  154. def transformUp(rule: PartialFunction[LogicalPlan, LogicalPlan]): LogicalPlan
    Definition Classes
    TreeNode
  155. def transformUpWithBeforeAndAfterRuleOnChildren(cond: (LogicalPlan) ⇒ Boolean, ruleId: RuleId)(rule: PartialFunction[(LogicalPlan, LogicalPlan), LogicalPlan]): LogicalPlan
    Definition Classes
    TreeNode
  156. def transformUpWithNewOutput(rule: PartialFunction[LogicalPlan, (LogicalPlan, Seq[(Attribute, Attribute)])], skipCond: (LogicalPlan) ⇒ Boolean, canGetOutput: (LogicalPlan) ⇒ Boolean): LogicalPlan
    Definition Classes
    AnalysisHelper → QueryPlan
  157. def transformUpWithPruning(cond: (TreePatternBits) ⇒ Boolean, ruleId: RuleId)(rule: PartialFunction[LogicalPlan, LogicalPlan]): LogicalPlan
    Definition Classes
    AnalysisHelper → TreeNode
  158. def transformUpWithSubqueries(f: PartialFunction[LogicalPlan, LogicalPlan]): LogicalPlan
    Definition Classes
    QueryPlan
  159. def transformWithPruning(cond: (TreePatternBits) ⇒ Boolean, ruleId: RuleId)(rule: PartialFunction[LogicalPlan, LogicalPlan]): LogicalPlan
    Definition Classes
    TreeNode
  160. def transformWithSubqueries(f: PartialFunction[LogicalPlan, LogicalPlan]): LogicalPlan
    Definition Classes
    QueryPlan
  161. lazy val treePatternBits: BitSet
    Definition Classes
    QueryPlan → TreeNode → TreePatternBits
  162. def treeString(append: (String) ⇒ Unit, verbose: Boolean, addSuffix: Boolean, maxFields: Int, printOperatorId: Boolean): Unit
    Definition Classes
    TreeNode
  163. final def treeString(verbose: Boolean, addSuffix: Boolean, maxFields: Int, printOperatorId: Boolean): String
    Definition Classes
    TreeNode
  164. final def treeString: String
    Definition Classes
    TreeNode
  165. def unsetTagValue[T](tag: TreeNodeTag[T]): Unit
    Definition Classes
    TreeNode
  166. def updateOuterReferencesInSubquery(plan: LogicalPlan, attrMap: AttributeMap[Attribute]): LogicalPlan
    Definition Classes
    AnalysisHelper → QueryPlan
  167. lazy val validConstraints: ExpressionSet
    Attributes
    protected
    Definition Classes
    QueryPlanConstraints
  168. def verboseString(maxFields: Int): String
    Definition Classes
    QueryPlan → TreeNode
  169. def verboseStringWithOperatorId(): String
    Definition Classes
    QueryPlan
  170. def verboseStringWithSuffix(maxFields: Int): String
    Definition Classes
    LogicalPlan → TreeNode
  171. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  172. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  173. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native()
  174. final def withNewChildren(newChildren: Seq[LogicalPlan]): LogicalPlan
    Definition Classes
    TreeNode
  175. def withNewChildrenInternal(newChildren: IndexedSeq[LogicalPlan]): LogicalPlan
    Definition Classes
    LeafLike

Inherited from DeltaTableValueFunction

Inherited from UnresolvedLeafNode

Inherited from UnresolvedNode

Inherited from LeafNode

Inherited from LeafLike[LogicalPlan]

Inherited from LogicalPlan

Inherited from Logging

Inherited from QueryPlanConstraints

Inherited from ConstraintHelper

Inherited from LogicalPlanDistinctKeys

Inherited from LogicalPlanStats

Inherited from AnalysisHelper

Inherited from QueryPlan[LogicalPlan]

Inherited from SQLConfHelper

Inherited from TreeNode[LogicalPlan]

Inherited from WithOrigin

Inherited from TreePatternBits

Inherited from Product

Inherited from Equals

Inherited from AnyRef

Inherited from Any

Ungrouped