package jdbc
- Alphabetic
- Public
- Protected
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()
- class JdbcSQLQueryBuilder extends AnyRef
The builder to build a single SELECT query.
The builder to build a single SELECT query.
Note: All the
withXXX
methods will be invoked at most once. The invocation order does not matter, as all these clauses follow the natural SQL order: sample the table first, then filter, then group by, then sort, then offset, then limit.- Since
3.5.0
- 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()
- trait NoLegacyJDBCError extends JdbcDialect
Make the
classifyException
method throw out the original exception
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.