Class

org.apache.spark.sql.internal

SnappySessionCatalog

Related Doc: package internal

Permalink

class SnappySessionCatalog extends SessionCatalog

::DeveloperApi:: Catalog using Hive for persistence and adding Snappy extensions like stream/topK tables and returning LogicalPlan to materialize these entities.

Annotations
@DeveloperApi()
Linear Supertypes
SessionCatalog, internal.Logging, AnyRef, Any
Known Subclasses
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. SnappySessionCatalog
  2. SessionCatalog
  3. Logging
  4. AnyRef
  5. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new SnappySessionCatalog(externalCatalog: SnappyExternalCatalog, snappySession: SnappySession, globalTempViewManager: GlobalTempViewManager, functionResourceLoader: FunctionResourceLoader, functionRegistry: FunctionRegistry, sqlConf: SQLConf, hadoopConf: Configuration)

    Permalink

Value Members

  1. final def !=(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  4. def addMissingGlobalTempSchema(name: TableIdentifier): TableIdentifier

    Permalink

    SnappyData allows the schema for global temporary views to be optional so this method adds it to TableIdentifier if required so that super methods can be invoked directly.

    SnappyData allows the schema for global temporary views to be optional so this method adds it to TableIdentifier if required so that super methods can be invoked directly.

    Attributes
    protected
  5. def alterDatabase(schemaDefinition: CatalogDatabase): Unit

    Permalink
    Definition Classes
    SnappySessionCatalog → SessionCatalog
  6. def alterPartitions(tableName: TableIdentifier, parts: Seq[CatalogTablePartition]): Unit

    Permalink
    Definition Classes
    SnappySessionCatalog → SessionCatalog
  7. def alterTable(table: CatalogTable): Unit

    Permalink
    Definition Classes
    SnappySessionCatalog → SessionCatalog
  8. def alterTempViewDefinition(name: TableIdentifier, viewDefinition: LogicalPlan): Boolean

    Permalink
    Definition Classes
    SnappySessionCatalog → SessionCatalog
  9. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  10. val cachedDataSourceTables: LoadingCache[TableIdentifier, LogicalPlan]

    Permalink

    A cache of Spark SQL data source tables that have been accessed.

    A cache of Spark SQL data source tables that have been accessed.

    Attributes
    protected[org.apache.spark.sql]
  11. final def checkBuiltinCatalog(tableIdent: TableIdentifier): Boolean

    Permalink

    Return true if the given table needs to be checked in the builtin catalog rather than the external hive catalog (if enabled).

    Return true if the given table needs to be checked in the builtin catalog rather than the external hive catalog (if enabled).

    Attributes
    protected
  12. def clearTempTables(): Unit

    Permalink
    Definition Classes
    SessionCatalog
  13. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  14. def compatibleSchema(schema1: StructType, schema2: StructType): Boolean

    Permalink
  15. var convertCharTypesInMetadata: Boolean

    Permalink

    Can be used to temporarily switch the metadata returned by catalog to use CharType and VarcharTypes.

    Can be used to temporarily switch the metadata returned by catalog to use CharType and VarcharTypes. Is to be used for only temporary change by a caller that wishes the consume the result because rest of Spark cannot deal with those types.

    Attributes
    protected[org.apache.spark.sql]
  16. def createDatabase(schemaDefinition: CatalogDatabase, ignoreIfExists: Boolean): Unit

    Permalink
    Definition Classes
    SnappySessionCatalog → SessionCatalog
  17. def createFunction(funcDefinition: CatalogFunction, ignoreIfExists: Boolean): Unit

    Permalink
    Definition Classes
    SnappySessionCatalog → SessionCatalog
  18. def createGlobalTempView(name: String, viewDefinition: LogicalPlan, overrideIfExists: Boolean): Unit

    Permalink
    Definition Classes
    SessionCatalog
  19. def createPartitions(tableName: TableIdentifier, parts: Seq[CatalogTablePartition], ignoreIfExists: Boolean): Unit

    Permalink
    Definition Classes
    SnappySessionCatalog → SessionCatalog
  20. def createPolicy(policyIdent: TableIdentifier, targetTable: TableIdentifier, policyFor: String, policyApplyTo: Seq[String], expandedPolicyApplyTo: Seq[String], currentUser: String, filterString: String): Unit

    Permalink
  21. def createTable(table: CatalogTable, ignoreIfExists: Boolean): Unit

    Permalink
    Definition Classes
    SnappySessionCatalog → SessionCatalog
  22. def createTempFunction(name: String, info: ExpressionInfo, funcDefinition: FunctionBuilder, ignoreIfExists: Boolean): Unit

    Permalink
    Definition Classes
    SessionCatalog
  23. def createTempView(name: String, tableDefinition: LogicalPlan, overrideIfExists: Boolean): Unit

    Permalink
    Definition Classes
    SessionCatalog
  24. var currentDb: String

    Permalink
    Attributes
    protected
    Definition Classes
    SessionCatalog
  25. def databaseExists(schema: String): Boolean

    Permalink
    Definition Classes
    SnappySessionCatalog → SessionCatalog
  26. val defaultSchemaName: String

    Permalink
  27. def defaultTablePath(tableIdent: TableIdentifier): String

    Permalink
    Definition Classes
    SessionCatalog
  28. def destroyAndRegisterBuiltInFunctionsForTests(): Unit

    Permalink

    Test only method

  29. def dropAllSchemaObjects(schema: String, ignoreIfNotExists: Boolean, cascade: Boolean): Unit

    Permalink

    Drop all the objects in a schema.

    Drop all the objects in a schema. The provided schema must already be formatted with a call to formatDatabaseName.

  30. def dropDatabase(schema: String, ignoreIfNotExists: Boolean, cascade: Boolean): Unit

    Permalink
    Definition Classes
    SnappySessionCatalog → SessionCatalog
  31. def dropFromTemporaryBaseTable(table: CatalogTable): Unit

    Permalink
    Attributes
    protected
  32. def dropFunction(name: FunctionIdentifier, ignoreIfNotExists: Boolean): Unit

    Permalink
    Definition Classes
    SnappySessionCatalog → SessionCatalog
  33. def dropGlobalTempView(name: String): Boolean

    Permalink
    Definition Classes
    SessionCatalog
  34. def dropPartitions(tableName: TableIdentifier, specs: Seq[TablePartitionSpec], ignoreIfNotExists: Boolean, purge: Boolean, retainData: Boolean): Unit

    Permalink
    Definition Classes
    SnappySessionCatalog → SessionCatalog
  35. def dropTable(tableIdent: TableIdentifier, ignoreIfNotExists: Boolean, purge: Boolean): Unit

    Permalink
    Definition Classes
    SnappySessionCatalog → SessionCatalog
  36. def dropTempFunction(name: String, ignoreIfNotExists: Boolean): Unit

    Permalink
    Definition Classes
    SessionCatalog
  37. def dropTempView(name: String): Boolean

    Permalink
    Definition Classes
    SessionCatalog
  38. def dropTemporaryTable(tableIdent: TableIdentifier): Unit

    Permalink
    Attributes
    protected
  39. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  40. def equals(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  41. val externalCatalog: SnappyExternalCatalog

    Permalink
  42. def failFunctionLookup(name: String): Nothing

    Permalink
    Definition Classes
    SnappySessionCatalog → SessionCatalog
  43. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  44. def formatDatabaseName(name: String): String

    Permalink

    Format schema name.

    Format schema name. Hive meta-store is case-insensitive so always convert to lower case.

    Definition Classes
    SnappySessionCatalog → SessionCatalog
  45. final def formatName(name: String): String

    Permalink
  46. def formatTableName(name: String): String

    Permalink

    Format table name.

    Format table name. Hive meta-store is case-insensitive so always convert to lower case.

    Definition Classes
    SnappySessionCatalog → SessionCatalog
  47. def functionExists(name: FunctionIdentifier): Boolean

    Permalink
    Definition Classes
    SnappySessionCatalog → SessionCatalog
  48. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  49. final def getCombinedPolicyFilterForExternalTable(rlsRelation: RowLevelSecurityRelation, wrappingLogicalRelation: Option[LogicalRelation], currentUser: Option[String]): Option[Filter]

    Permalink
  50. final def getCombinedPolicyFilterForNativeTable(rlsRelation: RowLevelSecurityRelation, wrappingLogicalRelation: Option[LogicalRelation]): Option[Filter]

    Permalink
  51. def getCurrentDatabase: String

    Permalink
    Definition Classes
    SessionCatalog
  52. final def getCurrentSchema: String

    Permalink
  53. def getDataSourceRelations[T](tableType: Type): Seq[T]

    Permalink
  54. def getDatabaseMetadata(schema: String): CatalogDatabase

    Permalink
    Definition Classes
    SnappySessionCatalog → SessionCatalog
  55. def getDefaultDBPath(db: String): String

    Permalink
    Definition Classes
    SessionCatalog
  56. def getFunctionMetadata(name: FunctionIdentifier): CatalogFunction

    Permalink
    Definition Classes
    SnappySessionCatalog → SessionCatalog
  57. def getGlobalTempView(name: String): Option[LogicalPlan]

    Permalink
    Definition Classes
    SessionCatalog
  58. def getKeyColumns(table: String): Seq[catalog.Column]

    Permalink

    API to get primary key or Key Columns of a SnappyData table

  59. def getKeyColumnsAndPositions(table: String): Seq[(catalog.Column, Int)]

    Permalink

    API to get primary key or Key Columns of a SnappyData table

  60. def getPartition(table: TableIdentifier, spec: TablePartitionSpec): CatalogTablePartition

    Permalink
    Definition Classes
    SnappySessionCatalog → SessionCatalog
  61. def getSampleRelations(baseTable: TableIdentifier): Seq[(LogicalPlan, String)]

    Permalink
  62. def getSamples(base: LogicalPlan): Seq[LogicalPlan]

    Permalink
  63. final def getSchemaName(identifier: IdentifierWithDatabase): String

    Permalink
  64. def getTableMetadata(name: TableIdentifier): CatalogTable

    Permalink
    Definition Classes
    SnappySessionCatalog → SessionCatalog
  65. def getTableMetadataOption(name: TableIdentifier): Option[CatalogTable]

    Permalink
    Definition Classes
    SnappySessionCatalog → SessionCatalog
  66. def getTempView(name: String): Option[LogicalPlan]

    Permalink
    Definition Classes
    SessionCatalog
  67. def getTempViewOrPermanentTableMetadata(name: TableIdentifier): CatalogTable

    Permalink
    Definition Classes
    SnappySessionCatalog → SessionCatalog
  68. val hadoopConf: Configuration

    Permalink
  69. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  70. final lazy val hiveSessionCatalog: HiveSessionCatalog

    Permalink

    Fallback session state to lookup from external hive catalog in case "snappydata.sql.hive.enabled" is set on the session.

    Fallback session state to lookup from external hive catalog in case "snappydata.sql.hive.enabled" is set on the session.

    Attributes
    protected
  71. def initializeLogIfNecessary(isInterpreter: Boolean): Unit

    Permalink
    Attributes
    protected
    Definition Classes
    Logging
  72. def invalidate(resolved: TableIdentifier, sessionOnly: Boolean = false): Unit

    Permalink
  73. def invalidateAll(sessionOnly: Boolean = false): Unit

    Permalink
  74. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  75. def isLocalTemporaryView(name: TableIdentifier): Boolean

    Permalink
  76. def isTemporaryFunction(name: FunctionIdentifier): Boolean

    Permalink
    Definition Classes
    SessionCatalog
  77. def isTemporaryTable(name: TableIdentifier): Boolean

    Permalink
    Definition Classes
    SnappySessionCatalog → SessionCatalog
  78. def isTraceEnabled(): Boolean

    Permalink
    Attributes
    protected
    Definition Classes
    Logging
  79. def listDatabases(pattern: String): Seq[String]

    Permalink
    Definition Classes
    SnappySessionCatalog → SessionCatalog
  80. def listDatabases(): Seq[String]

    Permalink
    Definition Classes
    SnappySessionCatalog → SessionCatalog
  81. def listFunctions(schema: String, pattern: String): Seq[(FunctionIdentifier, String)]

    Permalink
    Definition Classes
    SnappySessionCatalog → SessionCatalog
  82. def listFunctions(db: String): Seq[(FunctionIdentifier, String)]

    Permalink
    Definition Classes
    SessionCatalog
  83. def listPartitionNames(tableName: TableIdentifier, partialSpec: Option[TablePartitionSpec] = None): Seq[String]

    Permalink
    Definition Classes
    SnappySessionCatalog → SessionCatalog
  84. def listPartitions(tableName: TableIdentifier, partialSpec: Option[TablePartitionSpec]): Seq[CatalogTablePartition]

    Permalink
    Definition Classes
    SnappySessionCatalog → SessionCatalog
  85. def listPartitionsByFilter(tableName: TableIdentifier, predicates: Seq[Expression]): Seq[CatalogTablePartition]

    Permalink
    Definition Classes
    SnappySessionCatalog → SessionCatalog
  86. def listTables(schema: String, pattern: String): Seq[TableIdentifier]

    Permalink
    Definition Classes
    SnappySessionCatalog → SessionCatalog
  87. def listTables(db: String): Seq[TableIdentifier]

    Permalink
    Definition Classes
    SessionCatalog
  88. def loadFunctionResources(resources: Seq[FunctionResource]): Unit

    Permalink
    Definition Classes
    SnappySessionCatalog → SessionCatalog
  89. def loadPartition(table: TableIdentifier, loadPath: String, spec: TablePartitionSpec, isOverwrite: Boolean, holdDDLTime: Boolean, inheritTableSpecs: Boolean): Unit

    Permalink
    Definition Classes
    SnappySessionCatalog → SessionCatalog
  90. def loadTable(table: TableIdentifier, loadPath: String, isOverwrite: Boolean, holdDDLTime: Boolean): Unit

    Permalink
    Definition Classes
    SnappySessionCatalog → SessionCatalog
  91. def log: Logger

    Permalink
    Attributes
    protected
    Definition Classes
    Logging
  92. def logDebug(msg: ⇒ String, throwable: Throwable): Unit

    Permalink
    Attributes
    protected
    Definition Classes
    Logging
  93. def logDebug(msg: ⇒ String): Unit

    Permalink
    Attributes
    protected
    Definition Classes
    Logging
  94. def logError(msg: ⇒ String, throwable: Throwable): Unit

    Permalink
    Attributes
    protected
    Definition Classes
    Logging
  95. def logError(msg: ⇒ String): Unit

    Permalink
    Attributes
    protected
    Definition Classes
    Logging
  96. def logInfo(msg: ⇒ String, throwable: Throwable): Unit

    Permalink
    Attributes
    protected
    Definition Classes
    Logging
  97. def logInfo(msg: ⇒ String): Unit

    Permalink
    Attributes
    protected
    Definition Classes
    Logging
  98. def logName: String

    Permalink
    Attributes
    protected
    Definition Classes
    Logging
  99. def logTrace(msg: ⇒ String, throwable: Throwable): Unit

    Permalink
    Attributes
    protected
    Definition Classes
    Logging
  100. def logTrace(msg: ⇒ String): Unit

    Permalink
    Attributes
    protected
    Definition Classes
    Logging
  101. def logWarning(msg: ⇒ String, throwable: Throwable): Unit

    Permalink
    Attributes
    protected
    Definition Classes
    Logging
  102. def logWarning(msg: ⇒ String): Unit

    Permalink
    Attributes
    protected
    Definition Classes
    Logging
  103. def lookupFunction(name: FunctionIdentifier, children: Seq[Expression]): Expression

    Permalink

    Return an Expression that represents the specified function, assuming it exists.

    Return an Expression that represents the specified function, assuming it exists.

    For a temporary function or a permanent function that has been loaded, this method will simply lookup the function through the FunctionRegistry and create an expression based on the builder.

    For a permanent function that has not been loaded, we will first fetch its metadata from the underlying external catalog. Then, we will load all resources associated with this function (i.e. jars and files). Finally, we create a function builder based on the function class and put the builder into the FunctionRegistry. The name of this function in the FunctionRegistry will be databaseName.functionName.

    Definition Classes
    SnappySessionCatalog → SessionCatalog
  104. def lookupFunctionInfo(name: FunctionIdentifier): ExpressionInfo

    Permalink
    Definition Classes
    SnappySessionCatalog → SessionCatalog
  105. def lookupRelation(name: TableIdentifier, alias: Option[String]): LogicalPlan

    Permalink
    Definition Classes
    SnappySessionCatalog → SessionCatalog
  106. def makeFunctionBuilder(funcName: String, className: String): FunctionBuilder

    Permalink
    Definition Classes
    SnappySessionCatalog → SessionCatalog
  107. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  108. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  109. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  110. def refreshTable(name: TableIdentifier): Unit

    Permalink
    Definition Classes
    SnappySessionCatalog → SessionCatalog
  111. def renamePartitions(tableName: TableIdentifier, specs: Seq[TablePartitionSpec], newSpecs: Seq[TablePartitionSpec]): Unit

    Permalink
    Definition Classes
    SnappySessionCatalog → SessionCatalog
  112. def renameTable(old: TableIdentifier, newName: TableIdentifier): Unit

    Permalink
    Definition Classes
    SnappySessionCatalog → SessionCatalog
  113. def reset(): Unit

    Permalink
    Definition Classes
    SnappySessionCatalog → SessionCatalog
  114. final def resolveExistingTable(name: String): TableIdentifier

    Permalink

    Convert a table name to TableIdentifier for an existing table.

  115. final def resolveRelation(tableIdent: TableIdentifier): LogicalPlan

    Permalink

    Lookup relation and resolve to a LogicalRelation if not a temporary view.

  116. final def resolveRelationWithAlias(tableIdent: TableIdentifier, alias: Option[String] = None): LogicalPlan

    Permalink

    Lookup relation and resolve to a LogicalRelation if not a temporary view.

  117. final def resolveTableIdentifier(identifier: TableIdentifier): TableIdentifier

    Permalink

    Add schema to TableIdentifier if missing and format the name.

  118. def setCurrentDatabase(schema: String): Unit

    Permalink
    Definition Classes
    SnappySessionCatalog → SessionCatalog
  119. val snappySession: SnappySession

    Permalink
  120. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  121. def tableExists(name: TableIdentifier): Boolean

    Permalink
    Definition Classes
    SnappySessionCatalog → SessionCatalog
  122. val tempTables: HashMap[String, LogicalPlan]

    Permalink
    Attributes
    protected
    Definition Classes
    SessionCatalog
  123. def toString(): String

    Permalink
    Definition Classes
    AnyRef → Any
  124. def validateSchemaName(schemaName: String, checkForDefault: Boolean): Unit

    Permalink
    Attributes
    protected[org.apache.spark.sql]
  125. final def wait(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  126. final def wait(arg0: Long, arg1: Int): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  127. final def wait(arg0: Long): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from SessionCatalog

Inherited from internal.Logging

Inherited from AnyRef

Inherited from Any

Ungrouped