TreeNode
sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/trees/TreeNode.scala
Origin
该类可以获取 sql 语句的 line 和 start 位置信息
/**
* Contexts of TreeNodes, including location, SQL text, object type and object name.
* The only supported object type is "VIEW" now. In the future, we may support SQL UDF or other
* objects which contain SQL text.
*/
case class Origin(
line: Option[Int] = None,
startPosition: Option[Int] = None,
startIndex: Option[Int] = None,
stopIndex: Option[Int] = None,
sqlText: Option[String] = None,
objectType: Option[String] = None,
objectName: Option[String] = None) {
lazy val context: SQLQueryContext = SQLQueryContext(
line, startPosition, startIndex, stopIndex, sqlText, objectType, objectName)
}