Class Configuration
basic syntax :
jdbc:mariadb:[replication:|failover|loadbalance:|aurora:]//<hostDescription>[,<hostDescription>]/[database>]
[?<key1>=<value1>[&<key2>=<value2>]]
hostDescription:
- simple :
<host>:<portnumber>
(for example localhost:3306)
- complex :
address=[(type=(master|slave))][(port=<portnumber>)](host=<host>)
type is by default master
port is by default 3306
host can be dns name, ipv4 or ipv6.
in case of ipv6 and simple host description, the ip must be written inside bracket.
exemple : jdbc:mariadb://[2001:0660:7401:0200:0000:0000:0edf:bdd7]:3306
Some examples :
jdbc:mariadb://localhost:3306/database?user=greg&password=pass
jdbc:mariadb://address=(type=master)(host=master1),address=(port=3307)(type=slave)(host=slave1)/database?user=greg&password=pass
-
Nested Class Summary
Nested Classes -
Method Summary
Modifier and TypeMethodDescriptionstatic boolean
acceptsUrl
(String url) Tell if mariadb driver accept url string.addressesboolean
permits LOAD LOCAL INFILE commandsboolean
permit using multi queries commandboolean
permit mysql authentication to retrieve server certificateForce session autocommit on connection creationboolean
force returning blank table metadata (for old oracle compatibility)protected static String
buildUrl
(Configuration conf) Builds a JDBC URL from the provided configuration.boolean
Cache prepared statement result.Clone configuration with another user/passwordCodec<?>[]
codecs()
datatype Encoder/decoder listConnections attributesget connectionCollationSet connectionTimeZoneint
socket connect timeoutconnectTimeout
(int connectTimeout) Set connect timeoutboolean
create database if not existcredential plugin to usedatabase()
Connection default databaseint
result-set streaming default fetch sizeboolean
Disable pipeline.boolean
On connection creation, indicate behavior when password is expired.boolean
Must query by logged on exception.autorized cipher list.permitted ssl protocol list (comma separated)boolean
boolean
Indicate if keyStore option is not set to use keystore system property like "javax.net.ssl.keyStore"boolean
Indicate if system default truststore implementation can be usedforceConnectionTimeZoneToSession must connection timezone be forcedGalera comma separated allowed stategeometry default decoding implementationhaMode()
High availability modeint
hashCode()
boolean
boolean
On deadlock exception, must driver execute additional commands to show innodb status in error description.boolean
On deadlock exception, must driver display threads information on error description.Configuration generated URL depending on current configuration option.initSql()
Execute initial command when connection is establishedboolean
Force sql_mode to strict mode for JDBC compliancekey store alias passwordkeyStore()
key storekey store passwordkey store type (to replace default javax.net.ssl.keyStoreType system property)local socket configurationlocal socket address pathmax_allowed_packet value to avoid sending packet with non supported size, droping the connection without reason.int
Max idle timeint
max pool sizeint
query maximum size to log (query will be truncated of more than this limit)Default metadata getExportedKeys implementation.int
Minimum pool sizenon standard optionsboolean
When enable, in DatabaseMetadata, will handle null database/schema (depending on UseCatalog=catalog/schema) as currentboolean
Force Timestamp string representation compatible to 2.7 version Timestamp string representation will then correspond to Timestamp.toString() in place of taking field precisionstatic Configuration
parse connection stringstatic Configuration
parse
(String url, Properties prop) Parse url connection string with additional properties.password()
configuration passwordboolean
Indicate if Statement/PreparedStatement.executeQuery for command that produce no result will return an exception or just an empty result-setmust client redirect when requiredboolean
When enabled, ensure that for XA operation to use the same connectionpipe()
Pipe pathboolean
pool()
Create poolpoolName()
pool nameint
Pool mininum validation delay.int
Prepare statement cache size.boolean
Must timezone change preserve instantsboolean
register pool information to JMXRestrict authentication plugin to comma separated plugin listint
retry the maximum retry number of attempts to reconnect after a failover.boolean
Returns multi-values generated ids.Server RSA public key file for caching_sha2_password authenticationserver ssl certificate (file path / certificat content)Service principal name (GSSAPI option)coma separated Session variable listSocket factory class nameint
socket timeoutsslMode()
SSl modeboolean
close using TCP abortive close (RST TCP packet, in place or FIN packet)boolean
socket tcp keep aliveint
socket tcp keep count (java 11+ only)int
socket tcp keep idle (java 11+ only)int
socket tcp keep interval (java 11+ only)timezone()
Set timezoneboolean
Must tinyint(1) be considered as BitTLS socket typeCreate a Builder from current configuration.static String
Permit to have string information on how string is parsed.toString()
ToString implementation.Default transaction isolationboolean
implements transaction replay failoverint
transaction replay maximum number of saved command.boolean
Must tinyint(1) be considered as Boolean or Bittrust storetrust store passwordtrust store type (to replace default javax.net.ssl.keyStoreType system property)boolean
Use affected rowboolean
Use server COM_STMT_BULK for batching.boolean
Use server COM_STMT_BULK for batching inserts.Indicating using Catalog or Schemaboolean
Enable compression if server has compression capabilityboolean
use local state to avoid unnecessary queries.boolean
Force returning MySQL metadata informationuser()
configuration userboolean
Read all data from socket in advanceboolean
Must connection returned to pool be RESETboolean
Use server prepared statement.boolean
must uuid fields return as String and not java.util.UUIDboolean
Must year be return by default as Date in result-set
-
Method Details
-
toBuilder
Create a Builder from current configuration. Since configuration data are final, this permit to change configuration, creating another object.- Returns:
- builder
-
acceptsUrl
Tell if mariadb driver accept url string. (Correspond to interface java.jdbc.Driver.acceptsURL() method)- Parameters:
url
- url String- Returns:
- true if url string correspond.
-
parse
parse connection string- Parameters:
url
- connection string- Returns:
- configuration resulting object
- Throws:
SQLException
- if not supported driver or wrong connection string format.
-
parse
Parse url connection string with additional properties.- Parameters:
url
- connection stringprop
- properties- Returns:
- UrlParser instance
- Throws:
SQLException
- if parsing exception occur
-
toConf
Permit to have string information on how string is parsed. example : Configuration.toConf("jdbc:mariadb://localhost/test") will return a String containing:Configuration: * resulting Url : jdbc:mariadb://localhost/test Unknown options : None Non default options : * database : test default options : * user : null ...
- Parameters:
url
- url string- Returns:
- string describing the configuration parsed from url
- Throws:
SQLException
- if parsing fails
-
buildUrl
Builds a JDBC URL from the provided configuration.- Parameters:
conf
- Current configuration- Returns:
- Complete JDBC URL string
-
clone
Clone configuration with another user/password- Parameters:
username
- new usernamepassword
- new password- Returns:
- new cloned configuration object
-
havePrimaryHostOnly
public boolean havePrimaryHostOnly() -
database
Connection default database- Returns:
- database
-
addresses
addresses- Returns:
- addresses
-
haMode
High availability mode- Returns:
- configuration HA mode
-
credentialPlugin
credential plugin to use- Returns:
- credential plugin to use, null of none
-
user
configuration user- Returns:
- user
-
password
configuration password- Returns:
- password
-
initialUrl
Configuration generated URL depending on current configuration option. Password will be hidden by "***"- Returns:
- generated url
-
serverSslCert
server ssl certificate (file path / certificat content)- Returns:
- server ssl certificate
-
keyStore
key store- Returns:
- key store
-
trustStore
trust store- Returns:
- trust store
-
keyStorePassword
key store password- Returns:
- key store password
-
trustStorePassword
trust store password- Returns:
- trust store password
-
keyPassword
key store alias password- Returns:
- key store alias password
-
keyStoreType
key store type (to replace default javax.net.ssl.keyStoreType system property)- Returns:
- key store type
-
trustStoreType
trust store type (to replace default javax.net.ssl.keyStoreType system property)- Returns:
- trust store type
-
enabledSslProtocolSuites
permitted ssl protocol list (comma separated)- Returns:
- enabled ssl protocol list
-
credentialType
-
fallbackToSystemKeyStore
public boolean fallbackToSystemKeyStore()Indicate if keyStore option is not set to use keystore system property like "javax.net.ssl.keyStore"- Returns:
- true if can use keystore system property
-
fallbackToSystemTrustStore
public boolean fallbackToSystemTrustStore()Indicate if system default truststore implementation can be used- Returns:
- true if system default truststore implementation can be used
-
socketFactory
Socket factory class name- Returns:
- socket factory
-
connectTimeout
public int connectTimeout()socket connect timeout- Returns:
- connect timeout
-
connectTimeout
Set connect timeout- Parameters:
connectTimeout
- timeout value- Returns:
- current configuration
-
pipe
Pipe path- Returns:
- pipe value
-
localSocket
local socket configuration- Returns:
- local socket path
-
tcpKeepAlive
public boolean tcpKeepAlive()socket tcp keep alive- Returns:
- socket tcp keep alive value
-
uuidAsString
public boolean uuidAsString()must uuid fields return as String and not java.util.UUID- Returns:
- must UUID return as String and not uuid
-
tcpKeepIdle
public int tcpKeepIdle()socket tcp keep idle (java 11+ only)- Returns:
- socket tcp keep idle
-
tcpKeepCount
public int tcpKeepCount()socket tcp keep count (java 11+ only)- Returns:
- socket tcp keep count
-
tcpKeepInterval
public int tcpKeepInterval()socket tcp keep interval (java 11+ only)- Returns:
- socket tcp keep interval
-
tcpAbortiveClose
public boolean tcpAbortiveClose()close using TCP abortive close (RST TCP packet, in place or FIN packet)- Returns:
- close using TCP abortive close
-
localSocketAddress
local socket address path- Returns:
- local socket address
-
socketTimeout
public int socketTimeout()socket timeout- Returns:
- socket timeout
-
allowMultiQueries
public boolean allowMultiQueries()permit using multi queries command- Returns:
- permit using multi queries command
-
allowLocalInfile
public boolean allowLocalInfile()permits LOAD LOCAL INFILE commands- Returns:
- allow LOAD LOCAL INFILE
-
useCompression
public boolean useCompression()Enable compression if server has compression capability- Returns:
- use compression
-
blankTableNameMeta
public boolean blankTableNameMeta()force returning blank table metadata (for old oracle compatibility)- Returns:
- metadata table return blank
-
disconnectOnExpiredPasswords
public boolean disconnectOnExpiredPasswords()On connection creation, indicate behavior when password is expired. When true (default) throw an expired password error When false, connection succeed in "sandbox" mode, only queries related to password change are allowed- Returns:
- must connection fails on expired password
-
sslMode
SSl mode- Returns:
- ssl mode
-
transactionIsolation
Default transaction isolation- Returns:
- default transaction isolation.
-
metaExportedKeys
Default metadata getExportedKeys implementation.- Returns:
- default implementation
-
enabledSslCipherSuites
autorized cipher list.- Returns:
- list of permitted ciphers
-
sessionVariables
coma separated Session variable list- Returns:
- session variable
-
tinyInt1isBit
public boolean tinyInt1isBit()Must tinyint(1) be considered as Bit- Returns:
- true if tinyint(1) must be considered as Bit
-
transformedBitIsBoolean
public boolean transformedBitIsBoolean()Must tinyint(1) be considered as Boolean or Bit- Returns:
- true if tinyint(1) must be considered as Boolean
-
yearIsDateType
public boolean yearIsDateType()Must year be return by default as Date in result-set- Returns:
- year is Date type
-
timezone
Set timezone- Returns:
- timezone
-
connectionTimeZone
Set connectionTimeZone- Returns:
- connectionTimeZone
-
connectionCollation
get connectionCollation- Returns:
- connectionCollation
-
forceConnectionTimeZoneToSession
forceConnectionTimeZoneToSession must connection timezone be forced- Returns:
- forceConnectionTimeZoneToSession
-
preserveInstants
public boolean preserveInstants()Must timezone change preserve instants- Returns:
- true if instants must be preserved
-
dumpQueriesOnException
public boolean dumpQueriesOnException()Must query by logged on exception.- Returns:
- dump queries on exception
-
prepStmtCacheSize
public int prepStmtCacheSize()Prepare statement cache size.- Returns:
- Prepare statement cache size
-
useAffectedRows
public boolean useAffectedRows()Use affected row- Returns:
- use affected rows
-
useServerPrepStmts
public boolean useServerPrepStmts()Use server prepared statement. IF false, using client prepared statement.- Returns:
- use server prepared statement
-
connectionAttributes
Connections attributes- Returns:
- connection meta informations
-
useBulkStmts
public boolean useBulkStmts()Use server COM_STMT_BULK for batching.- Returns:
- use server bulk command.
-
useBulkStmtsForInserts
public boolean useBulkStmtsForInserts()Use server COM_STMT_BULK for batching inserts. if useBulkStmts is enabled, useBulkStmtsForInserts will be as well- Returns:
- use server bulk command for inserts
-
disablePipeline
public boolean disablePipeline()Disable pipeline.- Returns:
- is pipeline disabled.
-
autocommit
Force session autocommit on connection creation- Returns:
- autocommit forced value
-
useMysqlMetadata
public boolean useMysqlMetadata()Force returning MySQL metadata information- Returns:
- force returning MySQL in metadata
-
nullDatabaseMeansCurrent
public boolean nullDatabaseMeansCurrent()When enable, in DatabaseMetadata, will handle null database/schema (depending on UseCatalog=catalog/schema) as current- Returns:
- must null value be considered as current catalog/schema
-
useCatalogTerm
Indicating using Catalog or Schema- Returns:
- Indicating using Catalog or Schema
-
createDatabaseIfNotExist
public boolean createDatabaseIfNotExist()create database if not exist- Returns:
- create database if not exist
-
useLocalSessionState
public boolean useLocalSessionState()use local state to avoid unnecessary queries. This means application must use JDBC dedicated methods, like connection.setTransactionIsolation and never queries like "SET SESSION TRANSACTION ISOLATION LEVEL X" directly- Returns:
- can use local state
-
returnMultiValuesGeneratedIds
public boolean returnMultiValuesGeneratedIds()Returns multi-values generated ids. For mariadb 2.x connector compatibility- Returns:
- must returns multi-values generated ids.
-
jdbcCompliantTruncation
public boolean jdbcCompliantTruncation()Force sql_mode to strict mode for JDBC compliance- Returns:
- must force jdbc compliance
-
oldModeNoPrecisionTimestamp
public boolean oldModeNoPrecisionTimestamp()Force Timestamp string representation compatible to 2.7 version Timestamp string representation will then correspond to Timestamp.toString() in place of taking field precision- Returns:
- force 2.7 timestamp to string behavior
-
permitRedirect
must client redirect when required- Returns:
- must client redirect when required
-
pinGlobalTxToPhysicalConnection
public boolean pinGlobalTxToPhysicalConnection()When enabled, ensure that for XA operation to use the same connection- Returns:
- pinGlobalTxToPhysicalConnection
-
permitNoResults
public boolean permitNoResults()Indicate if Statement/PreparedStatement.executeQuery for command that produce no result will return an exception or just an empty result-setWhen enabled, command not returning no data will end returning an empty result-set When disabled, command not returning no data will end throwing an exception
- Returns:
- permitNoResults
-
includeInnodbStatusInDeadlockExceptions
public boolean includeInnodbStatusInDeadlockExceptions()On deadlock exception, must driver execute additional commands to show innodb status in error description.- Returns:
- includeInnodbStatusInDeadlockExceptions
-
includeThreadDumpInDeadlockExceptions
public boolean includeThreadDumpInDeadlockExceptions()On deadlock exception, must driver display threads information on error description.- Returns:
- include Thread Dump In Deadlock Exceptions
-
servicePrincipalName
Service principal name (GSSAPI option)- Returns:
- service principal name
-
defaultFetchSize
public int defaultFetchSize()result-set streaming default fetch size- Returns:
- Default fetch size.
-
nonMappedOptions
non standard options- Returns:
- non standard options
-
tlsSocketType
TLS socket type- Returns:
- TLS socket type
-
maxQuerySizeToLog
public int maxQuerySizeToLog()query maximum size to log (query will be truncated of more than this limit)- Returns:
- max query log size
-
maxAllowedPacket
max_allowed_packet value to avoid sending packet with non supported size, droping the connection without reason.- Returns:
- max_allowed_packet value
-
retriesAllDown
public int retriesAllDown()retry the maximum retry number of attempts to reconnect after a failover.- Returns:
- the maximum retry number of attempts to reconnect after a failover.
-
galeraAllowedState
Galera comma separated allowed state- Returns:
- galera allowed state
-
pool
public boolean pool()Create pool- Returns:
- create pool if don't exists
-
poolName
pool name- Returns:
- pool name.
-
maxPoolSize
public int maxPoolSize()max pool size- Returns:
- maximum pool size
-
minPoolSize
public int minPoolSize()Minimum pool size- Returns:
- minimum pool size
-
maxIdleTime
public int maxIdleTime()Max idle time- Returns:
- pool max idle time.
-
registerJmxPool
public boolean registerJmxPool()register pool information to JMX- Returns:
- register pool to JMX
-
poolValidMinDelay
public int poolValidMinDelay()Pool mininum validation delay.- Returns:
- pool validation delay
-
useResetConnection
public boolean useResetConnection()Must connection returned to pool be RESET- Returns:
- use RESET on connection
-
serverRsaPublicKeyFile
Server RSA public key file for caching_sha2_password authentication- Returns:
- server key file
-
allowPublicKeyRetrieval
public boolean allowPublicKeyRetrieval()permit mysql authentication to retrieve server certificate- Returns:
- is driver allowed to retrieve server certificate from server
-
useReadAheadInput
public boolean useReadAheadInput()Read all data from socket in advance- Returns:
- use read ahead buffer implementation
-
cachePrepStmts
public boolean cachePrepStmts()Cache prepared statement result.- Returns:
- cache prepare results
-
transactionReplay
public boolean transactionReplay()implements transaction replay failover- Returns:
- true if transaction must be replayed on failover.
-
transactionReplaySize
public int transactionReplaySize()transaction replay maximum number of saved command.- Returns:
- transaction replay buffer size.
-
geometryDefaultType
geometry default decoding implementation- Returns:
- geometry default type
-
restrictedAuth
Restrict authentication plugin to comma separated plugin list- Returns:
- authorized authentication list
-
initSql
Execute initial command when connection is established- Returns:
- initial SQL command
-
codecs
datatype Encoder/decoder list- Returns:
- codec list
-
toString
ToString implementation. -
equals
-
hashCode
public int hashCode()
-