object ViewHelper extends SQLConfHelper with Logging
- Alphabetic
- By Inheritance
- ViewHelper
- Logging
- SQLConfHelper
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
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 checkCyclicViewReference(plan: LogicalPlan, path: Seq[TableIdentifier], viewIdent: TableIdentifier): Unit
Recursively search the logical plan to detect cyclic view references, throw an AnalysisException if cycle detected.
Recursively search the logical plan to detect cyclic view references, throw an AnalysisException if cycle detected.
A cyclic view reference is a cycle of reference dependencies, for example, if the following statements are executed: CREATE VIEW testView AS SELECT id FROM tbl CREATE VIEW testView2 AS SELECT id FROM testView ALTER VIEW testView AS SELECT * FROM testView2 The view
testView
referencestestView2
, andtestView2
also referencestestView
, therefore a reference cycle (testView -> testView2 -> testView) exists.- plan
the logical plan we detect cyclic view references from.
- path
the path between the altered view and current node.
- viewIdent
the table identifier of the altered view, we compare two views by the
desc.identifier
.
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native()
- def conf: SQLConf
- Definition Classes
- SQLConfHelper
- def createTemporaryViewRelation(name: TableIdentifier, session: SparkSession, replace: Boolean, getRawTempView: (String) => Option[TemporaryViewRelation], originalText: Option[String], analyzedPlan: LogicalPlan, aliasedPlan: LogicalPlan, referredTempFunctions: Seq[String]): TemporaryViewRelation
Returns a TemporaryViewRelation that contains information about a temporary view to create, given an analyzed plan of the view.
Returns a TemporaryViewRelation that contains information about a temporary view to create, given an analyzed plan of the view. If a temp view is to be replaced and it is cached, it will be uncached before being replaced.
- name
the name of the temporary view to create/replace.
- session
the spark session.
- replace
if true and the existing view is cached, it will be uncached.
- getRawTempView
the function that returns an optional raw plan of the local or global temporary view.
- originalText
the original SQL text of this view, can be None if this view is created via Dataset API or spark.sql.legacy.storeAnalyzedPlanForView is set to true.
- analyzedPlan
the logical plan that represents the view; this is used to generate the logical plan for temporary view and the view schema.
- aliasedPlan
the aliased logical plan based on the user specified columns. If there are no user specified plans, this should be same as
analyzedPlan
.
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable])
- def generateViewProperties(properties: Map[String, String], session: SparkSession, analyzedPlan: LogicalPlan, fieldNames: Array[String], tempViewNames: Seq[Seq[String]] = Seq.empty, tempFunctionNames: Seq[String] = Seq.empty): Map[String, String]
Generate the view properties in CatalogTable, including: 1.
Generate the view properties in CatalogTable, including: 1. view default database that is used to provide the default database name on view resolution. 2. the output column names of the query that creates a view, this is used to map the output of the view child to the view output during view resolution. 3. the SQL configs when creating the view.
- properties
the
properties
in CatalogTable.- session
the spark session.
- analyzedPlan
the analyzed logical plan that represents the child of a view.
- returns
new view properties including view default database and query column names properties.
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def initializeLogIfNecessary(isInterpreter: Boolean, silent: Boolean): Boolean
- Attributes
- protected
- Definition Classes
- Logging
- def initializeLogIfNecessary(isInterpreter: Boolean): Unit
- Attributes
- protected
- Definition Classes
- Logging
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- def isTraceEnabled(): Boolean
- Attributes
- protected
- Definition Classes
- Logging
- def log: Logger
- Attributes
- protected
- Definition Classes
- Logging
- def logDebug(msg: => String, throwable: Throwable): Unit
- Attributes
- protected
- Definition Classes
- Logging
- def logDebug(msg: => String): Unit
- Attributes
- protected
- Definition Classes
- Logging
- def logError(msg: => String, throwable: Throwable): Unit
- Attributes
- protected
- Definition Classes
- Logging
- def logError(msg: => String): Unit
- Attributes
- protected
- Definition Classes
- Logging
- def logInfo(msg: => String, throwable: Throwable): Unit
- Attributes
- protected
- Definition Classes
- Logging
- def logInfo(msg: => String): Unit
- Attributes
- protected
- Definition Classes
- Logging
- def logName: String
- Attributes
- protected
- Definition Classes
- Logging
- def logTrace(msg: => String, throwable: Throwable): Unit
- Attributes
- protected
- Definition Classes
- Logging
- def logTrace(msg: => String): Unit
- Attributes
- protected
- Definition Classes
- Logging
- def logWarning(msg: => String, throwable: Throwable): Unit
- Attributes
- protected
- Definition Classes
- Logging
- def logWarning(msg: => String): Unit
- Attributes
- protected
- Definition Classes
- Logging
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- def verifyAutoGeneratedAliasesNotExists(child: LogicalPlan, isTemporary: Boolean, name: TableIdentifier): Unit
- def verifyTemporaryObjectsNotExists(isTemporary: Boolean, name: TableIdentifier, child: LogicalPlan, referredTempFunctions: Seq[String]): Unit
Permanent views are not allowed to reference temp objects, including temp function and views
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- 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()