package jdbc
- Alphabetic
- Public
- All
Type Members
-
abstract
class
JdbcConnectionProvider extends AnyRef
::DeveloperApi:: Connection provider which opens connection toward various databases (database specific instance needed).
::DeveloperApi:: Connection provider which opens connection toward various databases (database specific instance needed). If any authentication required then it's the provider's responsibility to set all the parameters. Important to mention connection providers within a JVM used from multiple threads so adding internal state is not advised. If any state added then it must be synchronized properly.
- Annotations
- @DeveloperApi() @Unstable()
- Since
3.1.0
-
abstract
class
JdbcDialect extends Serializable with Logging
:: DeveloperApi :: Encapsulates everything (extensions, workarounds, quirks) to handle the SQL dialect of a certain database or jdbc driver.
:: DeveloperApi :: Encapsulates everything (extensions, workarounds, quirks) to handle the SQL dialect of a certain database or jdbc driver. Lots of databases define types that aren't explicitly supported by the JDBC spec. Some JDBC drivers also report inaccurate information---for instance, BIT(n
>
1) being reported as a BIT type is quite common, even though BIT in JDBC is meant for single-bit values. Also, there does not appear to be a standard name for an unbounded string or binary type; we use BLOB and CLOB by default but override with database-specific alternatives when these are absent or do not behave correctly.Currently, the only thing done by the dialect is type mapping.
getCatalystType
is used when reading from a JDBC table andgetJDBCType
is used when writing to a JDBC table. IfgetCatalystType
returnsnull
, the default type handling is used for the given JDBC type. Similarly, ifgetJDBCType
returns(null, None)
, the default type handling is used for the given Catalyst type.- Annotations
- @DeveloperApi()
-
case class
JdbcType(databaseTypeDefinition: String, jdbcNullType: Int) extends Product with Serializable
:: DeveloperApi :: A database type definition coupled with the jdbc type needed to send null values to the database.
:: DeveloperApi :: A database type definition coupled with the jdbc type needed to send null values to the database.
- databaseTypeDefinition
The database type definition
- jdbcNullType
The jdbc type (as defined in java.sql.Types) used to send a null value to the database.
- Annotations
- @DeveloperApi()
Value Members
-
object
JdbcDialects
:: DeveloperApi :: Registry of dialects that apply to every new jdbc
org.apache.spark.sql.DataFrame
.:: DeveloperApi :: Registry of dialects that apply to every new jdbc
org.apache.spark.sql.DataFrame
.If multiple matching dialects are registered then all matching ones will be tried in reverse order. A user-added dialect will thus be applied first, overwriting the defaults.
- Annotations
- @DeveloperApi()
- Note
All new dialects are applied to new jdbc DataFrames only. Make sure to register your dialects first.