final case class ExasolConnectionManager(config: ExasolConfiguration) extends Product with Serializable
A class that provides and manages Exasol connections.
It is okay to serialize this class to Spark workers, it will create Exasol jdbc connections within each executor JVM.
- config
An ExasolConfiguration with user provided or runtime configuration parameters
- Alphabetic
- By Inheritance
- ExasolConnectionManager
- Serializable
- Serializable
- Product
- Equals
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Instance Constructors
-
new
ExasolConnectionManager(config: ExasolConfiguration)
- config
An ExasolConfiguration with user provided or runtime configuration parameters
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( ... ) @native() @HotSpotIntrinsicCandidate()
- val config: ExasolConfiguration
-
def
createTable(tableName: String, tableSchema: String): Unit
Creates a table in Exasol.
Creates a table in Exasol.
- tableName
A table name (with both schema and table, e.g. myschem.my_table)
-
def
dropTable(tableName: String): Unit
Given an Exasol table name (with schema, e.g mySchema.myTable format), drop it.
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
-
def
getConnection(): EXAConnection
A single non-pooled com.exasol.jdbc.EXAConnection connection.
A single non-pooled com.exasol.jdbc.EXAConnection connection.
Maintaining and gracefully closing the connection is a responsibility of the user.
-
def
getJdbcConnectionString(): String
A regular Exasol jdbc connection string
-
def
initParallel(mainConnection: EXAConnection): Int
Starts a parallel sub-connections from the main JDBC connection.
Starts a parallel sub-connections from the main JDBC connection.
- mainConnection
the main connection
- returns
the number of parallel connections
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- def mainConnection(): EXAConnection
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
-
def
subConnection(subConnectionUrl: String): EXAConnection
Creates a JDBC connection using one of the sub-connection URL strings.
Creates a JDBC connection using one of the sub-connection URL strings.
- subConnectionUrl
one of the sub-connection strings
- returns
a JDBC connection on the separate parallel connection
-
def
subConnections(mainConnection: EXAConnection): Seq[String]
Returns the list of all parallel sub-connection URLs.
Returns the list of all parallel sub-connection URLs.
- mainConnection
the main connection
- returns
the list of sub-connections URLs
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
tableExists(tableName: String): Boolean
Checks if table already exists, if so should return true otherwise false.
Checks if table already exists, if so should return true otherwise false.
TODO: This should be changed to Exasol specific checks. For example, by using EXA_USER_TABLES.
- tableName
A Exasol table name including schema, e.g.
schema.tableName- returns
trueif table exists, otherwise returnfalse
-
def
truncateTable(tableName: String): Unit
Given an Exasol table name (with schema, e.g mySchema.myTable format), truncates it.
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
def
withConnection[T](handle: (EXAConnection) ⇒ T): T
A method to run with a new connection.
A method to run with a new connection.
This method closes the connection afterwards.
- T
A result type of the
handlefunction- handle
A code block that needs to be run with a connection
- returns
A result of
handlefunction
-
def
withCountQuery(query: String): Long
Given a query with
count(*)returns the result. -
def
withExecute(queries: Seq[String]): Unit
A helper method to run
stmt.executegiven a list of queries.A helper method to run
stmt.executegiven a list of queries.- queries
A list of SQL queries to run
- returns
A scala.Unit result
-
def
withExecuteQuery[T](query: String)(handle: (EXAResultSet) ⇒ T): T
A helper method to run
stmt.executeQuerygiven a query.A helper method to run
stmt.executeQuerygiven a query.- T
A result type of the
handlefunction- query
A query string to executeQuery
- returns
A result of
handlefunction
-
def
withStatement[T](handle: (EXAStatement) ⇒ T): T
A helper method to run with a new statement.
A helper method to run with a new statement.
This method closes the resources afterwards.
- T
A result type of the
handlefunction- handle
A code block that needs to be run with a given statement
- returns
A result of
handlefunction
- def writerMainConnection(): EXAConnection
Deprecated Value Members
-
def
finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] ) @Deprecated
- Deprecated