# Copyright (c) 2007, 2021, Oracle and/or its affiliates.
#
# This program is free software; you can redistribute it and/or modify it under
# the terms of the GNU General Public License, version 2.0, as published by the
# Free Software Foundation.
#
# This program is also distributed with certain software (including but not
# limited to OpenSSL) that is licensed under separate terms, as designated in a
# particular file or component or in included license documentation. The
# authors of MySQL hereby grant you an additional permission to link the
# program and your derivative works with the separately licensed software that
# they have included with MySQL.
#
# Without limiting anything contained in the foregoing, this file, which is
# part of MySQL Connector/J, is also subject to the Universal FOSS Exception,
# version 1.0, a copy of which can be found at
# http://oss.oracle.com/licenses/universal-foss-exception.
#
# This program is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
# FOR A PARTICULAR PURPOSE. See the GNU General Public License, version 2.0,
# for more details.
#
# You should have received a copy of the GNU General Public License along with
# this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA

#
# Common
#
Common.UnableToUnwrap=Unable to unwrap to {0}
Nanoseconds=ns
Milliseconds=ms

#
# Classes
#
AuthenticationLdapSaslClientPlugin.UnsupportedAuthMech=Unsupported SASL authentication mechanism ''{0}''.
AuthenticationLdapSaslClientPlugin.MissingLdapServerHostname=An LDAP Server hostname could not be acquired. One must be provided by either using the connection option ''ldapServerHostname'' or by setting the system property ''java.security.krb5.kdc''.
AuthenticationLdapSaslClientPlugin.FailCreateSaslClient=Failed creating a SASL client for the authentication mechanism ''{0}''.
AuthenticationLdapSaslClientPlugin.ErrProcessingAuthIter=Error while processing an authentication iteration for the authentication mechanism ''{0}''.

AuthenticationKerberosClientPlugin.FailAuthenticateUser=No cached TGT found in the system or failed authenticating the user in the Kerberos server.
AuthenticationKerberosClientPlugin.FailCreateSaslClient=Failed creating a SASL client for the authentication mechanism ''{0}''.
AuthenticationKerberosClientPlugin.ErrProcessingAuthIter=Error while processing an authentication iteration for the authentication mechanism ''{0}''.

AuthenticationProvider.BadAuthenticationPlugin=Unable to load authentication plugin ''{0}''.
AuthenticationProvider.BadDefaultAuthenticationPlugin=Improper value "{0}" for property ''defaultAuthenticationPlugin''.
AuthenticationProvider.DefaultAuthenticationPluginIsNotListed=Default authentication plugin "{0}" is neither one of the built-in plugins nor one of the plugins listed in ''authenticationPlugins''.
AuthenticationProvider.BadDisabledAuthenticationPlugin=Can''t disable the default authentication plugin. Either remove "{0}" from the disabled authentication plugins list, or choose a different default authentication plugin.
AuthenticationProvider.AuthenticationPluginRequiresSSL=SSL connection required for plugin "{0}". Check if ''sslMode'' is enabled.
AuthenticationProvider.UnexpectedAuthenticationApproval=Unexpected authentication approval. Authentication plugin "{0}" did not report "done" state but server has approved the connection.

Blob.0=indexToWriteAt must be >= 1
Blob.1=IO Error while writing bytes to blob
Blob.2="pos" argument can not be < 1.
Blob.3="pos" argument can not be larger than the BLOB''s length.
Blob.4="pos" + "length" arguments can not be larger than the BLOB''s length.
Blob.5="len" argument can not be < 1.
Blob.6="len" argument can not be larger than the BLOB''s length.
Blob.7=Invalid operation on closed BLOB
Blob.invalidStreamLength=Requested stream length of {2} is out of range, given blob length of {0} and starting position of {1}.
Blob.invalidStreamPos=Position ''pos'' can not be < 1 or > blob length.
Blob.8=Emulated BLOB locators must come from a ResultSet with only one table selected, and all primary keys selected
Blob.9=BLOB data not found! Did primary keys change?


Buffer.0=Payload length can not be larger than buffer size.
Buffer.1=Buffer length is less then expected payload length.

CallableStatement.1=Unable to retrieve metadata for procedure.
CallableStatement.2=Parameter name can not be NULL or zero-length.
CallableStatement.3=No parameter named ''{0}''
CallableStatement.5=Parameter named ''{0}'' is not an OUT parameter
CallableStatement.6=Can''t find local placeholder mapping for parameter named ''{0}''.
CallableStatement.7=No output parameters registered.
CallableStatement.8=No output parameters returned by procedure.
CallableStatement.9=Parameter number {0} is not an OUT parameter
CallableStatement.11=Parameter index of {0} is out of range (1, {1})
CallableStatement.14=Can not use streaming result sets with callable statements that have output parameters
CallableStatement.21=Parameter {0} is not registered as an output parameter
CallableStatement.23=No access to parameters by name when connection has been configured not to access procedure bodies
CallableStatement.24=Can''t set out parameters
CallableStatement.25=Can''t call executeBatch() on CallableStatement with OUTPUT parameters

Clob.0=indexToWriteAt must be >= 1
Clob.1=indexToWriteAt must be >= 1
Clob.2=Starting position can not be < 1
Clob.3=String to set can not be NULL
Clob.4=Starting position can not be < 1
Clob.5=String to set can not be NULL
Clob.6=CLOB start position can not be < 1
Clob.7=CLOB start position + length can not be > length of CLOB
Clob.8=Illegal starting position for search, ''{0}''
Clob.10=Starting position for search is past end of CLOB
Clob.11=Cannot truncate CLOB of length 
Clob.12=\ to length of 
Clob.13=.

ColumnDefinition.0={0} is not applicable to the {1} type of column ''{2}''.
ColumnDefinition.1=Length must be specified before decimals for column ''{0}''.

Connection.0=Unable to connect to database.
Connection.1=Cannot connect to MySQL server on {0}:{1}.\n\nMake sure that there is a MySQL server running on the machine/port you are trying to connect to and that the machine this software is running on is able to connect to this host/port (i.e. not firewalled). Also make sure that the server has not been started with the --skip-networking flag.\n\n
Connection.2=No operations allowed after connection closed.
Connection.3=Can''t call commit when autocommit=true
Connection.4=Communications link failure during commit(). Transaction resolution unknown.
Connection.5=Unknown Java encoding for the character set with index ''{0}''. Use the ''customCharsetMapping'' property to force it.
Connection.6=Unknown character set index ''{0}'' received from server. The appropriate client character set can be forced via the ''characterEncoding'' property.
Connection.7=Can''t map {0} given for characterSetResults to a supported MySQL encoding.
Connection.8=Unable to use encoding: {0}
Connection.9=No timezone mapping entry for ''{0}''
Connection.10=Illegal connection port value ''{0}''
Connection.12=Could not map transaction isolation ''{0}'' to a valid JDBC level.
Connection.13=Could not retrieve transaction isolation level from server
Connection.15=Connection setting too low for ''maxAllowedPacket''. When ''useServerPrepStmts=true'', ''maxAllowedPacket'' must be higher than {0}. Check also ''max_allowed_packet'' in MySQL configuration files.
Connection.16=Could not retrieve transaction read-only status from server
Connection.17=HOLD_CUSRORS_OVER_COMMIT is only supported holdability level
Connection.18=Connection implicitly closed by Driver. You should call Connection.close() from your code to free resources more efficiently and avoid resource leaks.
Connection.19=Connection lifetime of < .5 seconds. You might be un-necessarily creating short-lived connections and should investigate connection pooling to be more efficient.
Connection.20=Can''t call rollback when autocommit=true
Connection.21=Communications link failure during rollback(). Transaction resolution unknown.
Connection.22=Savepoint ''{0}'' does not exist
Connection.23=Communications link failure during rollback(). Transaction resolution unknown.
Connection.24=Transaction isolation level NONE not supported by MySQL
Connection.25=Unsupported transaction isolation level ''{0}''
Connection.26=Executor can not be null
Connection.UnableToConnect=Could not create connection to database server.
Connection.UnableToConnectWithRetries=Could not create connection to database server. \
Attempted reconnect {0} times. Giving up.
Connection.UnexpectedException=Unexpected exception encountered during query.
Connection.UnhandledExceptionDuringShutdown=Unexpected exception during server shutdown.
Connection.ClientInfoNotImplemented=Configured clientInfoProvider class ''{0}'' does not implement com.mysql.cj.jdbc.ClientInfoProvider.
Connection.BadValueInServerVariables=Invalid value ''{1}'' for server variable named ''{0}'', falling back to sane default of ''{2}''.
Connection.exceededConnectionLifetime=Ping or validation failed because configured connection lifetime exceeded.
Connection.badLifecycleInterceptor=Unable to load connection lifecycle interceptor ''{0}''.
Connection.BadExceptionInterceptor=Unable to load exception interceptor ''{0}''.
Connection.CantDetectLocalConnect=Unable to determine if hostname ''{0}'' is local to this box because of exception, assuming it''s not.
Connection.NoMetadataOnSocketFactory=Configured socket factory does not implement SocketMetadata, can not determine whether server is locally-connected, assuming not"
Connection.CantFindCacheFactory=Can not find class ''{0}'' specified by the ''{1}'' configuration property.
Connection.CantLoadCacheFactory=Can not load the cache factory ''{0}'' specified by the ''{1}'' configuration property.
Connection.LoginTimeout=Connection attempt exceeded defined timeout.

ConnectionGroup.0=Cannot remove host, only one configured host active.
ConnectionGroup.1=Host is not configured: {0}

ConnectionProperties.unableToInitDriverProperties=Unable to initialize driver properties due to 
ConnectionProperties.errorNotExpected=Huh?
ConnectionProperties.dynamicChangeIsNotAllowed=Dynamic change of ''{0}'' is not allowed.

ConnectionString.0=The database URL cannot be null.
ConnectionString.1=Malformed database URL, failed to parse the main URL sections.
ConnectionString.2=Malformed database URL, failed to parse the URL authority segment ''{0}''.
ConnectionString.3=Failed to parse the host:port pair ''{0}''.
ConnectionString.4=Malformed database URL, failed to parse the connection string near ''{0}''.
ConnectionString.5=Connector/J cannot handle a database URL of type ''{0}''.
ConnectionString.6=Connector/J cannot handle a database URL of type ''{0}'' that takes {1} hosts.
ConnectionString.7=Malformed database URL, failed to parse the port ''{0}'' as a number.
ConnectionString.8=Illegal transformation to the ''{0}'' property. The value ''{1}'' is not a valid number.
ConnectionString.9=Unable to create properties transform instance ''{0}'' due to underlying exception: {1}
ConnectionString.10=Can''t find configuration template named ''{0}''
ConnectionString.11=Unable to load configuration template ''{0}'' due to underlying IOException
ConnectionString.12=Illegal database URL, host ''{0}'' is duplicated but ''{1}'' connections can only handle one instance of each host:port pair.
ConnectionString.13=Illegal database URL, Host ''{0}'' is duplicated in the combined hosts list (sources & replicas) but ''{1}'' connections can only handle one instance of each host:port pair.
ConnectionString.14=Illegal database URL, in a ''{0}'' multi-host connection it is required the same credentials in all hosts.
ConnectionString.15=Illegal database URL, in a ''{0}'' multi-host connection it is required that all or none of the hosts set a "priority" value.
ConnectionString.16=Illegal database URL, in a ''{0}'' multi-host connection the "priority" setting must be a value between 0 and 100.
ConnectionString.17=Connector/J cannot handle a connection string ''{0}''.
ConnectionString.18=A host name is required for DNS SRV lookup enabled connections.
ConnectionString.19=Specifying multiple host names with DNS SRV lookup is not allowed.
ConnectionString.20=Exactly two host names of different types are required for DNS SRV lookup enabled replication connections.
ConnectionString.21=Specifying multiple host names for the same type with DNS SRV lookup is not allowed.
ConnectionString.22=Specifying a port number with DNS SRV lookup is not allowed.
ConnectionString.23=''{0}'' cannot be set to false with DNS SRV lookup enabled.
ConnectionString.24=Using named pipes with DNS SRV lookup is not allowed.
ConnectionString.25=The option ''{0}'' cannot be set. Live management of connections is not supported with DNS SRV lookup.
ConnectionString.26=Unable to locate any hosts for {0}.


ConnectionWrapper.0=Can''t set autocommit to ''true'' on an XAConnection
ConnectionWrapper.1=Can''t call commit() on an XAConnection associated with a global transaction
ConnectionWrapper.2=Can''t call rollback() on an XAConnection associated with a global transaction

CreateIndexParams.0=Parameter ''{0}'' must not be null or empty.

CreateTableStatement.0=Parameter ''{0}'' must not be null.
CreateTableStatement.1=Parameter ''{0}'' must not contain null values.

DatabaseMetaData.0=NULL typeinfo not supported.
DatabaseMetaData.1=Internal error while parsing callable statement metadata (unknown nullability value fount)
DatabaseMetaData.2=Table not specified.
DatabaseMetaData.4=User does not have access to metadata required to determine stored procedure parameter types. If rights can not be granted, configure connection with "noAccessToProcedureBodies=true" to have driver generate parameters that represent INOUT strings irregardless of actual parameter types.
DatabaseMetaData.5=Internal error when parsing callable statement metadata
DatabaseMetaData.6=Internal error when parsing callable statement metadata (missing parameter name)
DatabaseMetaData.7=Internal error when parsing callable statement metadata (missing parameter type)
DatabaseMetaData.8=Internal error when parsing callable statement metadata (unknown output from ''SHOW CREATE PROCEDURE'')
DatabaseMetaData.10=Can not find column in full column list to determine true ordinal position.
DatabaseMetaData.12=Error parsing foreign keys definition, number of local and referenced columns is not the same.
DatabaseMetaData.14=Error parsing foreign keys definition, couldn''t find start of local columns list.
DatabaseMetaData.15=Error parsing foreign keys definition, couldn''t find end of local columns list.
DatabaseMetaData.16=Error parsing foreign keys definition, couldn''t find start of referenced tables list.
DatabaseMetaData.17=Error parsing foreign keys definition, couldn''t find start of referenced columns list.
DatabaseMetaData.18=Error parsing foreign keys definition, couldn''t find name of referenced database.
DatabaseMetaData.19=Error parsing foreign keys definition, couldn''t find end of referenced columns list.
DatabaseMetaData.20=Illegal arguments to supportsResultSetConcurrency()

EscapeProcessor.0=Not a valid escape sequence: {0}
EscapeProcessor.1=Syntax error for DATE escape sequence ''{0}''
EscapeProcessor.2=Syntax error for TIMESTAMP escape sequence ''{0}''.
EscapeProcessor.3=Syntax error for escape sequence ''{0}''
EscapeProcessor.4=Syntax error while processing '{'fn convert (... , ...)'}' token, missing opening parenthesis in token ''{0}''.
EscapeProcessor.5=Syntax error while processing '{'fn convert (... , ...)'}' token, missing comma in token ''{0}''.
EscapeProcessor.6=Syntax error while processing '{'fn convert (... , ...)'}' token, missing closing parenthesis in token ''{0}''.
EscapeProcessor.7=Unsupported conversion type ''{0}'' found while processing escape token.

Field.12=Unsupported character encoding ''{0}''

JdbcUtil.0=Can''t instantiate required class

JsonParser.0=Invalid value was found after key ''{0}''.
JsonParser.1=Invalid whitespace character ''{0}''.
JsonParser.2=No valid JSON document was found.
JsonParser.3=Missed closing ''{0}''.
JsonParser.4=Colon is missed after key ''{0}''.
JsonParser.5=No valid value was found.
JsonParser.6=Attempt to add character ''{0}'' to unopened string.
JsonParser.7=Unknown escape sequence ''\\{0}''.
JsonParser.8=Wrong ''{0}'' position after ''{1}''.
JsonParser.10=Wrong ''{0}'' occurrence after ''{1}'', it is allowed only once per number.
JsonParser.11=''.'' is not allowed in the exponent.
JsonParser.12=Wrong literal ''{0}''.

LoadBalanceConnectionGroupManager.0=Unable to register load-balance management bean with JMX

LoadBalancedConnectionProxy.0=Cannot remove only configured host.
LoadBalancedConnectionProxy.badValueForRetriesAllDown=Bad value ''{0}'' for property "retriesAllDown".
LoadBalancedConnectionProxy.badValueForLoadBalanceBlocklistTimeout=Bad value ''{0}'' for property "loadBalanceBlocklistTimeout".
LoadBalancedConnectionProxy.badValueForLoadBalanceHostRemovalGracePeriod=Bad value ''{0}'' for property "loadBalanceHostRemovalGracePeriod".
LoadBalancedConnectionProxy.badValueForLoadBalanceAutoCommitStatementThreshold=Invalid numeric value ''{0}'' for property "loadBalanceAutoCommitStatementThreshold".
LoadBalancedConnectionProxy.badValueForLoadBalanceAutoCommitStatementRegex=Bad value ''{0}'' for property "loadBalanceAutoCommitStatementRegex".
LoadBalancedConnectionProxy.unusableConnection=The connection is unusable at the current state. There may be no hosts to connect to or all hosts this connection knows may be down at the moment.

MiniAdmin.0=Conection can not be null.
MiniAdmin.1=MiniAdmin can only be used with MySQL connections

ModifyStatement.0=Parameter ''{0}'' must not be null or empty.

MultihostConnection.badValueForHaEnableJMX=Bad value ''{0}'' for property "ha.enableJMX".

MysqlDataSource.0=Can not load Driver class com.mysql.cj.jdbc.Driver
MysqlDataSource.BadUrl=Failed to get a connection using the URL ''{0}''.
MysqlDataSourceFactory.0=Unable to create DataSource of class ''{0}'', reason: {1}

MysqlIO.15=SSL Connection required, but not provided by server.
MysqlIO.17=Attempt to close streaming result set 
MysqlIO.18=\ when no streaming result set was registered. This is an internal error.
MysqlIO.23=Can not use streaming results with multiple result statements
MysqlIO.25=\ ... (truncated)
MysqlIO.39=Streaming result set 
MysqlIO.40=\ is still active.
MysqlIO.41=\ No statements may be issued when any streaming result sets are open and in use on a given connection.
MysqlIO.42=\ Ensure that you have called .close() on any active streaming result sets before attempting more queries.
MysqlIO.43=Unexpected end of input stream
MysqlIO.48=Unexpected end of input stream
MysqlIO.57=send() compressed packet:\n
MysqlIO.58=\n\nOriginal packet (uncompressed):\n
MysqlIO.59=send() packet payload:\n
MysqlIO.60=The path ''{0}'' specified in ''{1}'' does not exist.
MysqlIO.61=The file ''{0}'' is not under the safe path ''{1}''.
MysqlIO.62=Unable to open file 
MysqlIO.63=for "LOAD DATA LOCAL INFILE" command.
MysqlIO.64=Due to underlying IOException: 
MysqlIO.65=Unable to close local file during "LOAD DATA LOCAL INFILE" command
MysqlIO.66=Unsupported protocol ''{0}''. Only protocol ''file'' is supported when ''allowLoadLocalInfileInPath'' is set.
MysqlIO.67=Cannot read from host ''{0}''. Only local host names are supported when ''allowLoadLocalInfileInPath'' is set. Consider using the loopback network interface (''localhost'').
MysqlIO.68=Cannot read from ''{0}''. Only local host names are supported when ''allowLoadLocalInfileInPath'' is set. Consider using the loopback network interface (''localhost'').
MysqlIO.70=Unknown column
MysqlIO.72=\ message from server: "
MysqlIO.79=Unexpected end of input stream
MysqlIO.80=Unexpected end of input stream
MysqlIO.81=Unexpected end of input stream
MysqlIO.82=Unexpected end of input stream
MysqlIO.83=Packets received out of order
MysqlIO.84=Packets received out of order
MysqlIO.85=Unexpected end of input stream
MysqlIO.86=Unexpected end of input stream
MysqlIO.87=Unexpected end of input stream
MysqlIO.88=Packets received out of order
MysqlIO.89=Packets received out of order
MysqlIO.97=Unknown type ''{0}'' in column ''{1}'' of ''{2}'' in binary-encoded result set.
MysqlIO.102=, underlying cause: 
MysqlIO.103=Unexpected packet length
MysqlIO.105=Negative skip length not allowed
MysqlIO.106=Value ''0000-00-00'' can not be represented as java.sql.Date
MysqlIO.107=Value ''0000-00-00'' can not be represented as java.sql.Timestamp
MysqlIO.111=Could not allocate packet of {0} bytes required for "LOAD DATA LOCAL INFILE" operation. Try increasing max heap allocation for JVM or decreasing server variable ''max_allowed_packet''
MysqlIO.113=Invalid character set index {0} for handshake, only values 1-255 are allowed.
MysqlIO.EOF=Can not read response from server. Expected to read {0} bytes, read {1} bytes before connection was unexpectedly lost.
MysqlIO.NoInnoDBStatusFound=No InnoDB status output returned by server.
MysqlIO.InnoDBStatusFailed=Couldn''t retrieve InnoDB status due to underlying exception: 
MysqlIO.LoadDataLocalNotAllowed=Server asked for stream in response to "LOAD DATA LOCAL INFILE" but functionality is not enabled at client by setting "allowLoadLocalInfile=true" or specifying a path with ''allowLoadLocalInfileInPath''.
MysqlIo.BadQueryInterceptor=Unable to load query interceptor ''{0}''.

MysqlParameterMetadata.0=Parameter metadata not available for the given statement
MysqlParameterMetadata.1=Parameter index of ''{0}'' is invalid.
MysqlParameterMetadata.2=Parameter index of ''{0}'' is greater than number of parameters, which is ''{1}''.

MysqlPooledConnection.0=Physical Connection doesn''t exist

MysqlSavepoint.0=Savepoint name can not be NULL or empty
MysqlSavepoint.1=Only named savepoints are supported.

MysqlSQLXML.0=SQLXMLInstance has been free()d
MysqlSQLXML.1=Can''t perform requested operation after getResult() has been called to write XML data
MysqlSQLXML.2=XML Source of type ''{0}'' Not supported.
MysqlSQLXML.3=XML Result of type ''{0}'' Not supported.

MysqlXAConnection.001=Invalid flag, must use TMNOFLAGS, or any combination of TMSTARTRSCAN and TMENDRSCAN 
MysqlXAConnection.002=Error while recovering XIDs from RM. GTRID and BQUAL are wrong sizes
MysqlXAConnection.003=Undetermined error occurred in the underlying Connection - check your data for consistency

NamedPipeSocketFactory.2=Can not specify NULL or empty value for property ''
NamedPipeSocketFactory.3=''.
NamedPipeSocketFactory.4=Named pipe path can not be null or empty

NativeCapabilites.001=Unsupported protocol version: {0}. Likely connecting to an X Protocol port.

NonRegisteringDriver.3=Hostname of MySQL Server
NonRegisteringDriver.7=Port number of MySQL Server
NonRegisteringDriver.10=Database name;
NonRegisteringDriver.13=Username to authenticate as
NonRegisteringDriver.16=Password to use for authentication
NonRegisteringDriver.17=Cannot load connection class because of underlying exception: {0}
NonRegisteringDriver.37=Must specify port after '':'' in connection string
NonRegisteringDriver.41=Must specify at least one replica host to connect to for source/replica replication load-balancing functionality

OperationNotSupportedException.0=Operation not supported.

PacketReader.1=Short read from server, expected {0} bytes, received only {1}
PacketReader.3=Reading packet of length 
PacketReader.4=\nPacket header:\n
PacketReader.5=reuseAndReadPacket() payload:\n
PacketReader.6=readPacket() payload:\n
PacketReader.7=\n\nLarge packet dump truncated at 
PacketReader.8=\ bytes.
PacketReader.9=Packets out of order, expected packet # {0}, but received packet # {1}
PacketReader.10=Packets received out of order

PreparedQuery.0=SQL String cannot be NULL
PreparedQuery.1=SQL String cannot be empty

PreparedStatement.0=SQL String cannot be NULL
PreparedStatement.1=SQL String cannot be NULL
PreparedStatement.2=Parameter index out of range (
PreparedStatement.3=\ > 
PreparedStatement.4=)
PreparedStatement.16=Unknown Types value
PreparedStatement.17=Cannot convert 
PreparedStatement.18=\ to SQL type requested due to 
PreparedStatement.19=\ - 
PreparedStatement.20=Connection is read-only. 
PreparedStatement.21=Queries leading to data modification are not allowed
PreparedStatement.25=Connection is read-only. 
PreparedStatement.26=Queries leading to data modification are not allowed
PreparedStatement.34=Connection is read-only. 
PreparedStatement.35=Queries leading to data modification are not allowed
PreparedStatement.37=Can not issue executeUpdate() or executeLargeUpdate() for SELECTs
PreparedStatement.40=No value specified for parameter 
PreparedStatement.43=PreparedStatement created, but used 1 or fewer times. It is more efficient to prepare statements once, and re-use them many times
PreparedStatement.48=PreparedStatement has been closed. No further operations allowed.
PreparedStatement.49=Parameter index out of range (
PreparedStatement.50=\ < 1 ).
PreparedStatement.51=Parameter index out of range (
PreparedStatement.52=\ > number of parameters, which is 
PreparedStatement.53=).
PreparedStatement.54=Invalid argument value: 
PreparedStatement.61=SQL String can not be NULL
PreparedStatement.62=Parse error for {0}
PreparedStatement.63=Can''t set IN parameter for return value of stored function call.
PreparedStatement.64=''{0}'' is not a valid numeric or approximate numeric value
PreparedStatement.65=Can''t set scale of ''{0}'' for DECIMAL argument ''{1}''
PreparedStatement.66=No conversion from {0} to Types.BOOLEAN possible.
PreparedStatement.67=Conversion from {0} to {1} is not supported.


Protocol.0=\ message from server: "
Protocol.2=\ ... (truncated)
Protocol.3=Not issuing EXPLAIN for query of size > {0} bytes.
Protocol.4=The following query was executed with a bad index, use ''EXPLAIN'' for more details: 
Protocol.5=The following query was executed using no index, use ''EXPLAIN'' for more details: 
Protocol.6=Slow query explain results for ''
Protocol.7='' :\n\n
Protocol.8=Invalid socket timeout value or state
Protocol.SlowQuery=Slow query (exceeded {0} {1}, duration: {2} {1}): {3}
Protocol.ServerSlowQuery=The server processing the query has indicated that the query was marked "slow". 
Protocol.DuplicateAttribute=Duplicate key "{0}" used in "xdevapi.connection-attributes".
Protocol.WrongAttributeName=Key names in "xdevapi.connection-attributes" cannot start with "_".
Protocol.Compression.0=Compression requested but the server does not support it.
Protocol.Compression.1=The property "xdevapi.compression-extensions" must be a comma separated list of colon separated triplets.
Protocol.Compression.2=Compression requested but the compression algorithm negotiation failed.
Protocol.Compression.3=Error loading the class {0}.
Protocol.Compression.4=Incorrect compression algorithm designation ''{0}''. The compression algorithm must be identified by "name_mode".
Protocol.Compression.5=Unknown or unsupported compression mode ''{0}''.
Protocol.Compression.6=Failed setting up the connection compression input stream.
Protocol.Compression.7=Failed setting up the connection compression output stream.
Protocol.Compression.8=Compression cannot be enabled with asynchronous variant of X Protocol.
Protocol.Compression.IoFactory.0=Failed creating an instance of {0} to inflate from {1} compressed data.
Protocol.Compression.IoFactory.1=Failed creating an instance of {0} to deflate into {1} compressed data.
Protocol.Compression.Streams.0=Failed reading the packet payload.
Protocol.Compression.Streams.1=Failed parsing the packet payload as a compressed message.

RandomBalanceStrategy.0=No hosts configured


RemoveStatement.0=Parameter ''{0}'' must not be null or empty.

ReplicationConnectionProxy.badValueForAllowSourceDownConnections=Bad value ''{0}'' for property "allowSourceDownConnections".
ReplicationConnectionProxy.badValueForAllowReplicaDownConnections=Bad value ''{0}'' for property "allowReplicaDownConnections".
ReplicationConnectionProxy.badValueForReadFromSourceWhenNoReplicas=Bad value ''{0}'' for property "readFromSourceWhenNoReplicas".
ReplicationConnectionProxy.initializationWithEmptyHostsLists=A replication connection cannot be initialized without source hosts and replica hosts, simultaneously.
ReplicationConnectionProxy.noHostsInconsistentState=The replication connection is an inconsistent state due to non existing hosts in both its internal hosts lists.

ReplicationGroupManager.0=Unable to register replication host management bean with JMX

ResultSet.Retrieved__1=Retrieved 
ResultSet.Bad_format_for_BigDecimal=Bad format for BigDecimal ''{0}'' in column {1}.
ResultSet.Bad_format_for_BigInteger=Bad format for BigInteger ''{0}'' in column {1}.
ResultSet.Column_Index_out_of_range_low=Column Index out of range, {0} < 1.
ResultSet.Column_Index_out_of_range_high=Column Index out of range, {0} > {1}. 
ResultSet.Value_is_out_of_range=Value ''{0}'' is out of range [{1}, {2}].
ResultSet.Positioned_Update_not_supported=Positioned Update not supported.
ResultSet.Bad_format_for_Date=Bad format for DATE ''{0}'' in column {1}.
ResultSet.Bad_format_for_Column=Bad format for {0} ''{1}'' in column {2} ({3}).
ResultSet.Bad_format_for_number=Bad format for number ''{0}'' in column {1}.
ResultSet.Illegal_operation_on_empty_result_set=Illegal operation on empty result set.

ResultSet.Query_generated_no_fields_for_ResultSet_57=Query generated no fields for ResultSet
ResultSet.Illegal_value_for_fetch_direction_64=Illegal value for fetch direction
ResultSet.Unacceptable_value_for_fetch_direction=Fetch direction {0} cannot be set on a ResultSet of type ResultSet.TYPE_FORWARD_ONLY
ResultSet.Value_must_be_between_0_and_getMaxRows()_66=Value must be between 0 and getMaxRows()
ResultSet.Query_generated_no_fields_for_ResultSet_99=Query generated no fields for ResultSet
ResultSet.Operation_not_allowed_after_ResultSet_closed_144=Operation not allowed after ResultSet closed
ResultSet.Before_start_of_result_set_146=Before start of result set
ResultSet.After_end_of_result_set_148=After end of result set
ResultSet.Query_generated_no_fields_for_ResultSet_133=Query generated no fields for ResultSet
ResultSet.ResultSet_is_from_UPDATE._No_Data_115=ResultSet is from UPDATE. No Data.

ResultSet.Invalid_value_for_getFloat()_-____68=Invalid value for getFloat() - ''
ResultSet.Invalid_value_for_getInt()_-____74=Invalid value for getInt() - ''
ResultSet.Invalid_value_for_getLong()_-____79=Invalid value for getLong() - ''
ResultSet.Invalid_value_for_getFloat()_-____200=Invalid value for getFloat() - ''
ResultSet.___in_column__201='' in column 
ResultSet.Invalid_value_for_getInt()_-____206=Invalid value for getInt() - ''
ResultSet.___in_column__207='' in column 
ResultSet.Invalid_value_for_getLong()_-____211=Invalid value for getLong() - ''
ResultSet.___in_column__212='' in column 
ResultSet.Invalid_value_for_getShort()_-____217=Invalid value for getShort() - ''
ResultSet.___in_column__218='' in column 

ResultSet.Class_not_found___91=Class not found: 
ResultSet._while_reading_serialized_object_92=\ while reading serialized object

ResultSet.Invalid_value_for_getShort()_-____96=Invalid value for getShort() - ''
ResultSet.Unsupported_character_encoding____101=Unsupported character encoding ''

ResultSet.Malformed_URL____104=Malformed URL ''
ResultSet.Malformed_URL____107=Malformed URL ''
ResultSet.Malformed_URL____141=Malformed URL ''

ResultSet.Column____112=Column ''
ResultSet.___not_found._113='' not found.

ResultSet.Unsupported_character_encoding____135=Unsupported character encoding ''
ResultSet.Unsupported_character_encoding____138=Unsupported character encoding ''

ResultSet.InvalidLengthForType=Invalid length ({0}) for type {1}
ResultSet.InvalidFormatForType=Invalid format for type {0}. Value ''{1}''
ResultSet.NumberOutOfRange=Value ''{0}'' is outside of valid range for type {1}
ResultSet.UnsupportedConversion=Unsupported conversion from {0} to {1}
ResultSet.PrecisionLostWarning=Precision lost converting DATETIME/TIMESTAMP to {0}
ResultSet.ImplicitDatePartWarning=Date part does not exist in SQL TIME field, thus it is set to January 1, 1970 GMT while converting to {0}
ResultSet.UnableToInterpretString=Cannot determine value type from string ''{0}''
ResultSet.UnableToConvertString=Cannot convert string ''{0}'' to {1} value
ResultSet.UnknownSourceType=Cannot decode value of unknown source type
ResultSet.InvalidTimeValue=The value ''{0}'' is an invalid TIME value. JDBC Time objects represent a wall-clock time and not a duration as MySQL treats them. If you are treating this type as a duration, consider retrieving this value as a string and dealing with it according to your requirements.
ResultSet.InvalidZeroDate=Zero date value prohibited

ValueEncoder.WrongTinyIntValueType=Type ''{0}'' cannot be encoded into a MySQL TINYINT value.
ValueEncoder.WrongSmallIntValueType=Type ''{0}'' cannot be encoded into a MySQL SMALLINT value.
ValueEncoder.WrongIntValueType=Type ''{0}'' cannot be encoded into a MySQL INT value.
ValueEncoder.WrongBigIntValueType=Type ''{0}'' cannot be encoded into a MySQL BIGINT value.
ValueEncoder.WrongTimeValueType=Type ''{0}'' cannot be encoded into a MySQL TIME value.
ValueEncoder.WrongDateValueType=Type ''{0}'' cannot be encoded into a MySQL DATE value.
ValueEncoder.WrongDateTimeValueType=Type ''{0}'' cannot be encoded into a MySQL DATETIME value.
ValueEncoder.WrongTimestampValueType=Type ''{0}'' cannot be encoded into a MySQL TIMESTAMP value.

#
# Usage advisor messages for ResultSets
#

ResultSet.ResultSet_implicitly_closed_by_driver=ResultSet implicitly closed by driver.\n\nYou should close ResultSets explicitly from your code to free up resources in a more efficient manner.
ResultSet.Possible_incomplete_traversal_of_result_set=Possible incomplete traversal of result set. Cursor was left on row {0} of {1} rows when it was closed.\n\nYou should consider re-formulating your query to return only the rows you are interested in using.
ResultSet.The_following_columns_were_never_referenced=The following columns were part of the SELECT statement for this result set, but were never referenced: {0}
ResultSet.Too_Large_Result_Set=Result set size of {0} rows is larger than \"resultSetSizeThreshold\" of {1} rows. Application may be requesting more data than it is using. Consider reformulating the query.
ResultSet.CostlyConversion=ResultSet type conversion via parsing detected when calling {0} for column {1} (column named ''{2}'') in table ''{3}''{4}\n\nJava class of column type is ''{5}'', MySQL field type is ''{6}''.\n\nTypes that could be converted directly without parsing are:\n{7}
ResultSet.CostlyConversionCreatedFromQuery= created from query:\n\n

ResultSet.Value____173=Value ''
ResultSetMetaData.46=Column index out of range.
ResultSet.___is_out_of_range_[-127,127]_174='' is out of range [-127,127]
ResultSet.Bad_format_for_Date____180=Bad format for Date ''

ResultSet.Timestamp_too_small_to_convert_to_Time_value_in_column__223=Timestamp too small to convert to Time value in column 
ResultSet.Precision_lost_converting_TIMESTAMP_to_Time_with_getTime()_on_column__227=Precision lost converting TIMESTAMP to Time with getTime() on column 
ResultSet.Precision_lost_converting_DATETIME_to_Time_with_getTime()_on_column__230=Precision lost converting DATETIME to Time with getTime() on column 
ResultSet.Bad_format_for_Time____233=Bad format for Time ''
ResultSet.___in_column__234='' in column 
ResultSet.Bad_format_for_Timestamp____244=Bad format for Timestamp ''
ResultSet.___in_column__245='' in column 
ResultSet.Cannot_convert_value____249=Cannot convert value ''
ResultSet.___from_column__250='' from column 
ResultSet._)_to_TIMESTAMP._252=\ ) to TIMESTAMP.
ResultSet.Timestamp_too_small_to_convert_to_Time_value_in_column__257=Timestamp too small to convert to Time value in column 
ResultSet.Precision_lost_converting_TIMESTAMP_to_Time_with_getTime()_on_column__261=Precision lost converting TIMESTAMP to Time with getTime() on column 
ResultSet.Precision_lost_converting_DATETIME_to_Time_with_getTime()_on_column__264=Precision lost converting DATETIME to Time with getTime() on column 
ResultSet.Bad_format_for_Time____267=Bad format for Time ''
ResultSet.___in_column__268='' in column 
ResultSet.Bad_format_for_Timestamp____278=Bad format for Timestamp ''
ResultSet.___in_column__279='' in column 
ResultSet.Cannot_convert_value____283=Cannot convert value ''
ResultSet.___from_column__284='' from column 
ResultSet._)_to_TIMESTAMP._286=\ ) to TIMESTAMP.

ResultSet.1=Can''t convert empty string ('''') to numeric
ResultSet.2=Required type conversion not allowed
ResultSet.3=Value ''{0}'' can not be represented as java.sql.Date
ResultSet.4=Type parameter can not be null
ResultSet.5=Conversion not supported for type {0}
ResultSet.6=Value ''{0}'' can not be represented as java.sql.Time
ResultSet.7=Value ''{0}'' can not be represented as java.sql.Timestamp
ResultSet.8=Bad format for Timestamp ''{0}'' in column {1}.
ResultSet.9=Cannot convert value ''{0}'' from column {1} to TIMESTAMP.
ResultSet.10=''{0}'' in column ''{1}'' is outside valid range for the datatype {2}.
ResultSet.11=Can not call getNCharacterStream() when field''s charset isn''t UTF-8
ResultSet.12=Can not call getNClob() when field''s charset isn''t UTF-8
ResultSet.13=Unsupported character encoding {0}
ResultSet.14=Can not call getNString() when field''s charset isn''t UTF-8
ResultSet.15=Internal error - conversion method doesn''t support this type
ResultSet.16=Can not call updateNCharacterStream() when field''s character set isn''t UTF-8
ResultSet.17=Can not call updateNClob() when field''s character set isn''t UTF-8
ResultSet.18=Can not call updateNString() when field''s character set isn''t UTF-8

ResultSet.ForwardOnly=Operation not allowed for a result set of type ResultSet.TYPE_FORWARD_ONLY.

ResultSetScannerInterceptor.0=resultSetScannerRegex must be configured, and must be > 0 characters
ResultSetScannerInterceptor.1=Can''t use configured regex due to underlying exception.
ResultSetScannerInterceptor.2=value disallowed by filter

RowDataDynamic.1=WARN: Possible incomplete traversal of result set. Streaming result set had {0} rows left to read when it was closed.\n\nYou should consider re-formulating your query to return only the rows you are interested in using.\n\nResultSet was created at: {1} 
RowDataDynamic.2=Error retrieving record: Unexpected Exception: {0} message given: {1}\n\nNested Stack Trace:\n{2}
RowDataDynamic.3=Operation not supported for streaming result sets

ServerPreparedStatement.2=Connection is read-only. 
ServerPreparedStatement.3=Queries leading to data modification are not allowed
ServerPreparedStatement.6=\ unable to materialize as string due to underlying SQLException: 
ServerPreparedStatement.7=Not supported for server-side prepared statements.
ServerPreparedStatement.8=No parameters defined during prepareCall()
ServerPreparedStatement.9=Parameter index out of bounds. 
ServerPreparedStatement.10=\ is not between valid values of 1 and 
ServerPreparedStatement.11=Driver can not re-execute prepared statement when a parameter has been changed 
ServerPreparedStatement.12=from a streaming type to an intrinsic data type without calling clearParameters() first.
ServerPreparedStatement.13=Statement parameter 
ServerPreparedStatement.14=\ not set.

ServerPreparedStatement.15=Slow query (exceeded {0} ms, duration: {1} ms) as prepared: {2}\n\n with parameters bound:\n\n{3}

ServerPreparedStatement.18=Unknown LONG DATA type ''
ServerPreparedStatement.22=Unsupported character encoding ''
ServerPreparedStatement.24=Error while reading binary stream: 
ServerPreparedStatement.25=Error while reading binary stream:
ServerPreparedStatement.26=Unknown type when re-binding parameter into batched statement for parameter index {0}
ServerPreparedStatement.27=Unable to prepare batch statement
ServerPreparedStatement.28=Can not call setNCharacterStream() when connection character set isn''t UTF-8
ServerPreparedStatement.29=Can not call setNClob() when connection character set isn''t UTF-8
ServerPreparedStatement.30=Can not call setNString() when connection character set isn''t UTF-8

Session.Create.Failover.0=Unable to connect to any of the target hosts.

Sha256PasswordPlugin.0=Unable to read public key {0}
Sha256PasswordPlugin.1=Unable to close public key file
Sha256PasswordPlugin.2=Public Key Retrieval is not allowed

Schema.CreateCollection=The server doesn't support the requested operation. Please update the MySQL Server and or Client library

SocketConnection.0=No name specified for socket factory
SocketConnection.1=Could not create socket factory ''
SocketConnection.2=Socket is closed

SocketMetadata.0=Using ''host'' value of ''{0}'' to determine locality of connection
SocketMetadata.1=Locally connected - HostAddress({0}).equals(whereIconnectedTo({1})
SocketMetadata.2=Attempted locally connected check failed - ! HostAddress({0}).equals(whereIconnectedTo({1})
SocketMetadata.3=Remote socket address {0} is not an inet socket address

Statement.0=Connection is closed.
Statement.2=Unsupported character encoding ''{0}''
Statement.5=Illegal value for setFetchDirection().
Statement.7=Illegal value for setFetchSize().
Statement.11=Illegal value for setMaxFieldSize().
Statement.13=Can not set max field size > max allowed packet of {0} bytes.
Statement.15=setMaxRows() out of range. 
Statement.19=Illegal flag for getMoreResults(int).
Statement.21=Illegal value for setQueryTimeout().
Statement.27=Connection is read-only. 
Statement.28=Queries leading to data modification are not allowed.
Statement.34=Connection is read-only. 
Statement.35=Queries leading to data modification are not allowed.
Statement.40=Can not issue INSERT/UPDATE/DELETE with executeQuery().
Statement.42=Connection is read-only. 
Statement.43=Queries leading to data modification are not allowed.
Statement.46=Can not issue SELECT via executeUpdate() or executeLargeUpdate().
Statement.AlreadyClosed=No operations allowed after statement closed.
Statement.57=Can not issue data manipulation statements with executeQuery().
Statement.59=Can not issue NULL query.
Statement.61=Can not issue empty query.
Statement.63=Statement not closed explicitly. You should call close() on created Statement instances from your code to be more efficient.
Statement.65=Operation not supported.
Statement.GeneratedKeysNotRequested=Generated keys not requested. You need to specify Statement.RETURN_GENERATED_KEYS to Statement.executeUpdate(), Statement.executeLargeUpdate() or Connection.prepareStatement().
Statement.ConnectionKilledDueToTimeout=Connection closed to due to statement timeout being reached and "queryTimeoutKillsConnection" being set to "true".
Statement.UnsupportedSQLType=Unsupported SQL type: 


StringUtils.0=Unsupported character encoding ''{0}''
StringUtils.15=Illegal argument value {0} for openingMarkers and/or {1} for closingMarkers. These cannot be null and must have the same length.
StringUtils.16=Illegal argument value {0} for overridingMarkers. These cannot be null and must be a sub-set of openingMarkers {1}.
StringUtils.badIntFormat=Invalid integer format for value ''{0}''

TimeUtil.0=Illegal hour value ''{0}'' for java.sql.Time type in value ''{1}''.
TimeUtil.1=Illegal minute value ''{0}'' for java.sql.Time type in value ''{1}''.
TimeUtil.2=Illegal second value ''{0}'' for java.sql.Time type in value ''{1}''.
TimeUtil.UnrecognizedTimeZoneId=The server time zone value ''{0}'' is unrecognized or represents more than one time zone. You must \
configure either the server or JDBC driver (via the ''connectionTimeZone'' configuration property) to use a \
more specific time zone value if you want to utilize time zone support.
TimeUtil.LoadTimeZoneMappingError=Failed to load the time zone mapping resource file ''TimeZoneMapping.properties''.

UpdatableResultSet.1=Can not call deleteRow() when on insert row.
UpdatableResultSet.2=Can not call deleteRow() on empty result set.
UpdatableResultSet.3=Before start of result set. Can not call deleteRow().
UpdatableResultSet.4=After end of result set. Can not call deleteRow().
UpdatableResultSet.7=Not on insert row.
UpdatableResultSet.8=Can not call refreshRow() when on insert row.
UpdatableResultSet.9=Can not call refreshRow() on empty result set.
UpdatableResultSet.10=Before start of result set. Can not call refreshRow().
UpdatableResultSet.11=After end of result set. Can not call refreshRow().
UpdatableResultSet.12=refreshRow() called on row that has been deleted or had primary key changed.
UpdatableResultSet.34=Updatable result set created, but never updated. You should only create updatable result sets when you want to update/insert/delete values using the updateRow(), deleteRow() and insertRow() methods.
UpdatableResultSet.43=Can not create updatable result sets when there is no currently selected database and MySQL server version < 4.1.
UpdatableResultSet.44=Can not call updateRow() when on insert row.

Util.1=\n\n** BEGIN NESTED EXCEPTION ** \n\n
Util.2=\nMESSAGE: 
Util.3=\n\nSTACKTRACE:\n\n
Util.4=\n\n** END NESTED EXCEPTION **\n\n
Util.5=Error reading from InputStream 

#
# Exceptions
#
AssertionFailedException.0=ASSERTION FAILED: Exception 
AssertionFailedException.1=\ that should not be thrown, was thrown
AssertionFailedException.2=ASSERTION FAILED: {0}

CommunicationsException.2=\ is longer than the server configured value of 
CommunicationsException.3=''wait_timeout''
CommunicationsException.4=''interactive_timeout''
CommunicationsException.5=may or may not be greater than the server-side timeout 
CommunicationsException.6=(the driver was unable to determine the value of either the 
CommunicationsException.7=''wait_timeout'' or ''interactive_timeout'' configuration values from 
CommunicationsException.8=the server.
CommunicationsException.11=. You should consider either expiring and/or testing connection validity 
CommunicationsException.12=before use in your application, increasing the server configured values for client timeouts, 
CommunicationsException.13=or using the Connector/J connection property ''autoReconnect=true'' to avoid this problem.
CommunicationsException.TooManyClientConnections=The driver was unable to create a connection due to an inability to establish the client portion of a socket.\n\nThis is usually caused by a limit on the number of sockets imposed by the operating system. This limit is usually configurable. \n\nFor Unix-based platforms, see the manual page for the ''ulimit'' command. Kernel or system reconfiguration may also be required.\n\nFor Windows-based platforms, see Microsoft Knowledge Base Article 196271 (Q196271).
CommunicationsException.LocalSocketAddressNotAvailable=The configuration parameter \"localSocketAddress\" has been set to a network interface not available for use by the JVM.
CommunicationsException.20=Communications link failure
CommunicationsException.ClientWasStreaming=Application was streaming results when the connection failed. Consider raising value of ''net_write_timeout'' on the server.
CommunicationsException.ServerPacketTimingInfoNoRecv=The last packet sent successfully to the server was {0} milliseconds ago. The driver has not received any packets from the server.
CommunicationsException.ServerPacketTimingInfo=The last packet successfully received from the server was {0} milliseconds ago. The last packet sent successfully to the server was {1} milliseconds ago.
CommunicationsException.TooManyAuthenticationPluginNegotiations=Too many authentication plugin negotiations.

ConnectionFeatureNotAvailableException.0=Feature not available in this distribution of Connector/J

InvalidLoadBalanceStrategy=Invalid load balancing strategy ''{0}''.

MySQLStatementCancelledException.0=Statement cancelled due to client request

MySQLTimeoutException.0=Statement cancelled due to timeout or client request

NoSubInterceptorWrapper.0=Interceptor to be wrapped can not be NULL

NotImplemented.0=Feature not implemented

NotUpdatable.0=Result Set not updatable.
NotUpdatable.1=This result set must come from a statement that was created with a result set type of ResultSet.CONCUR_UPDATABLE, the query must select only one table, can not use functions and must select all primary keys from that table. See the JDBC 2.1 API Specification, section 5.6 for more details.

NotUpdatableReason.0=Result Set not updatable (references more than one table).
NotUpdatableReason.1=Result Set not updatable (references more than one database).
NotUpdatableReason.3=Result Set not updatable (references computed values or doesn''t reference any columns or tables).
NotUpdatableReason.4=Result Set not updatable (references no primary keys).
NotUpdatableReason.5=Result Set not updatable (referenced table has no primary keys).
NotUpdatableReason.6=Result Set not updatable (references unknown primary key {0}).
NotUpdatableReason.7=Result Set not updatable (does not reference all primary keys).

PacketTooBigException.0=Packet for query is too large ({0} > {1}). You can change this value on the server by setting the ''max_allowed_packet'' variable.
PacketTooBigException.1=Packet for query is too large ({0} > {1}). You can change this value on the server by setting the ''mysqlx_max_allowed_packet'' variable.

XSession.0=Parameter ''{0}'' must not be null or empty.

SQLError.35=Disconnect error
SQLError.36=Data truncated
SQLError.37=Privilege not revoked
SQLError.38=Invalid connection string attribute
SQLError.39=Error in row
SQLError.40=No rows updated or deleted
SQLError.41=More than one row updated or deleted
SQLError.42=Wrong number of parameters
SQLError.43=Unable to connect to data source
SQLError.44=Connection in use
SQLError.45=Connection not open
SQLError.46=Data source rejected establishment of connection
SQLError.47=Connection failure during transaction
SQLError.48=Communication link failure
SQLError.49=Insert value list does not match column list
SQLError.50=Numeric value out of range
SQLError.51=Datetime field overflow
SQLError.52=Division by zero
SQLError.53=Deadlock found when trying to get lock; Try restarting transaction
SQLError.54=Invalid authorization specification
SQLError.55=Syntax error or access violation
SQLError.56=Base table or view not found
SQLError.57=Base table or view already exists
SQLError.58=Base table not found
SQLError.59=Index already exists
SQLError.60=Index not found
SQLError.61=Column already exists
SQLError.62=Column not found
SQLError.63=No default for column
SQLError.64=General error
SQLError.65=Memory allocation failure
SQLError.66=Invalid column number
SQLError.67=Invalid argument value
SQLError.68=Driver not capable
SQLError.69=Timeout expired

#
# Log messages
#

QueryAttributes.SetButNotSupported=Query attributes have been set but the server does not support them.

#
# ConnectionProperty Categories
#

ConnectionProperties.categoryAuthentication=Authentication
ConnectionProperties.categoryConnection=Connection
ConnectionProperties.categorySession=Session
ConnectionProperties.categoryNetworking=Networking
ConnectionProperties.categorySecurity=Security
ConnectionProperties.categoryStatements=Statements
ConnectionProperties.categoryPreparedStatements=Prepared Statements
ConnectionProperties.categoryResultSets=Result Sets
ConnectionProperties.categoryMetadata=Metadata
ConnectionProperties.categoryBlobs=BLOB/CLOB processing
ConnectionProperties.categoryDatetimes=Datetime types processing
ConnectionProperties.categoryHA=High Availability and Clustering
ConnectionProperties.categoryPerformance=Performance Extensions
ConnectionProperties.categoryDebuggingProfiling=Debugging/Profiling
ConnectionProperties.categoryExceptions=Exceptions/Warnings
ConnectionProperties.categoryIntegration=Tunes for integration with other products
ConnectionProperties.categoryJDBC=JDBC compliance
ConnectionProperties.categoryXDevAPI=X Protocol and X DevAPI
ConnectionProperties.categoryUserDefined=User-defined properties

#
# ConnectionProperty Descriptions
#

ConnectionProperties.loadDataLocal=Should the driver allow use of "LOAD DATA LOCAL INFILE ..."?[CR]Setting to "true" overrides whatever path is set in ''allowLoadLocalInfileInPath'', allowing uploading files from any location.
ConnectionProperties.loadDataLocalInPath=Enables "LOAD DATA LOCAL INFILE ..." statements, but only allows loading files from the specified path. Files within sub-directories are also allowed, but relative paths or symlinks that fall outside this path are forbidden.
ConnectionProperties.allowSourceDownConnections=By default, a replication-aware connection will fail to connect when configured source hosts are all unavailable at initial connection. Setting this property to ''true'' allows to establish the initial connection, by failing over to the replica servers, in read-only state. It won''t prevent subsequent failures when switching back to the source hosts i.e. by setting the replication connection to read/write state.
ConnectionProperties.allowReplicaDownConnections=By default, a replication-aware connection will fail to connect when configured replica hosts are all unavailable at initial connection. Setting this property to ''true'' allows to establish the initial connection. It won''t prevent failures when switching to replicas i.e. by setting the replication connection to read-only state. The property ''readFromSourceWhenNoReplicas'' should be used for this purpose. 
ConnectionProperties.readFromSourceWhenNoReplicas=Replication-aware connections distribute load by using the source hosts when in read/write state and by using the replica hosts when in read-only state. If, when setting the connection to read-only state, none of the replica hosts are available, an SQLException is thrown back. Setting this property to ''true'' allows to fail over to the source hosts, while setting the connection state to read-only, when no replica hosts are available at switch instant.
ConnectionProperties.allowMultiQueries=Allow the use of '';'' to delimit multiple queries during one statement (true/false). Default is ''false'', and it does not affect the addBatch() and executeBatch() methods, which rely on rewriteBatchStatements instead.
ConnectionProperties.allowNANandINF=Should the driver allow NaN or +/- INF values in PreparedStatement.setDouble()?
ConnectionProperties.allowUrlInLoadLocal=Should the driver allow URLs in "LOAD DATA LOCAL INFILE ..." statements?
ConnectionProperties.alwaysSendSetIsolation=Should the driver always communicate with the database when Connection.setTransactionIsolation() is called? If set to false, the driver will only communicate with the database when the requested transaction isolation is different than the whichever is newer, the last value that was set via Connection.setTransactionIsolation(), or the value that was read from the server when the connection was established. Note that useLocalSessionState=true will force the same behavior as alwaysSendSetIsolation=false, regardless of how alwaysSendSetIsolation is set.
ConnectionProperties.autoClosePstmtStreams=Should the driver automatically call .close() on streams/readers passed as arguments via set*() methods?
ConnectionProperties.autoDeserialize=Should the driver automatically detect and de-serialize objects stored in BLOB fields?
ConnectionProperties.autoGenerateTestcaseScript=Should the driver dump the SQL it is executing, including server-side prepared statements to STDERR?
ConnectionProperties.autoReconnect=Should the driver try to re-establish stale and/or dead connections? If enabled the driver will throw an exception for a queries issued on a stale or dead connection, which belong to the current transaction, but will attempt reconnect before the next query issued on the connection in a new transaction. The use of this feature is not recommended, because it has side effects related to session state and data consistency when applications don''t handle SQLExceptions properly, and is only designed to be used when you are unable to configure your application to handle SQLExceptions resulting from dead and stale connections properly. Alternatively, as a last option, investigate setting the MySQL server variable "wait_timeout" to a high value, rather than the default of 8 hours.
ConnectionProperties.autoReconnectForPools=Use a reconnection strategy appropriate for connection pools (defaults to ''false'')
ConnectionProperties.autoSlowLog=Instead of using slowQueryThreshold* to determine if a query is slow enough to be logged, maintain statistics that allow the driver to determine queries that are outside the 99th percentile?
ConnectionProperties.blobsAreStrings=Should the driver always treat BLOBs as Strings - specifically to work around dubious metadata returned by the server for GROUP BY clauses?
ConnectionProperties.functionsNeverReturnBlobs=Should the driver always treat data from functions returning BLOBs as Strings - specifically to work around dubious metadata returned by the server for GROUP BY clauses?
ConnectionProperties.blobSendChunkSize=Chunk size to use when sending BLOB/CLOBs via ServerPreparedStatements. Note that this value cannot exceed the value of "maxAllowedPacket" and, if that is the case, then this value will be corrected automatically.
ConnectionProperties.cacheCallableStatements=Should the driver cache the parsing stage of CallableStatements
ConnectionProperties.cachePrepStmts=Should the driver cache the parsing stage of PreparedStatements of client-side prepared statements, the "check" for suitability of server-side prepared and server-side prepared statements themselves?
ConnectionProperties.cacheRSMetadata=Should the driver cache ResultSetMetaData for Statements and PreparedStatements? (Req. JDK-1.4+, true/false, default ''false'')
ConnectionProperties.cacheServerConfiguration=Should the driver cache the results of ''SHOW VARIABLES'' and ''SHOW COLLATION'' on a per-URL basis?
ConnectionProperties.callableStmtCacheSize=If ''cacheCallableStmts'' is enabled, how many callable statements should be cached?
ConnectionProperties.characterEncoding=Instructs the server to set session system variables ''character_set_client'' and ''character_set_connection'' to the default character set for the specified Java encoding and set ''collation_connection'' to the default collation for this character set. If neither this property nor the property ''connectionCollation'' is set:[CR]For Connector/J 8.0.25 and earlier, the driver will try to use the server default character set;[CR]For Connector/J 8.0.26 and later, the driver will use "utf8mb4".
ConnectionProperties.characterSetResults=Instructs the server to return the data encoded with the default character set for the specified Java encoding. If not set or set to "null", the server will send data in its original character set and the driver will decode it according to the result metadata.
ConnectionProperties.clientInfoProvider=The name of a class that implements the com.mysql.cj.jdbc.ClientInfoProvider interface in order to support JDBC-4.0''s Connection.get/setClientInfo() methods
ConnectionProperties.clobberStreamingResults=This will cause a ''streaming'' ResultSet to be automatically closed, and any outstanding data still streaming from the server to be discarded if another query is executed before all the data has been read from the server.
ConnectionProperties.clobCharacterEncoding=The character encoding to use for sending and retrieving TEXT, MEDIUMTEXT and LONGTEXT values instead of the configured connection characterEncoding
ConnectionProperties.compensateOnDuplicateKeyUpdateCounts=Should the driver compensate for the update counts of "ON DUPLICATE KEY" INSERT statements (2 = 1, 0 = 1) when using prepared statements?
ConnectionProperties.connectionCollation=Instructs the server to set session system variable ''collation_connection'' to the specified collation name and set ''character_set_client'' and ''character_set_connection'' to the corresponding character set. This property overrides the value of ''characterEncoding'' with the character set this collation belongs to. If neither this property nor the property ''characterEncoding'' is set:[CR]For Connector/J 8.0.25 and earlier, the driver will try to use the server default character set;[CR]For Connector/J 8.0.26 and later, the driver will use "utf8mb4" default collation.
ConnectionProperties.connectionLifecycleInterceptors=A comma-delimited list of classes that implement "com.mysql.cj.jdbc.interceptors.ConnectionLifecycleInterceptor" that should notified of connection lifecycle events (creation, destruction, commit, rollback, setting the current database and changing the autocommit mode) and potentially alter the execution of these commands. ConnectionLifecycleInterceptors are "stackable", more than one interceptor may be specified via the configuration property as a comma-delimited list, with the interceptors executed in order from left to right.
ConnectionProperties.connectTimeout=Timeout for socket connect (in milliseconds), with 0 being no timeout. Only works on JDK-1.4 or newer. Defaults to ''0''.
ConnectionProperties.continueBatchOnError=Should the driver continue processing batch commands if one statement fails. The JDBC spec allows either way (defaults to ''true'').
ConnectionProperties.createDatabaseIfNotExist=Creates the database given in the URL if it doesn''t yet exist. Assumes the configured user has permissions to create databases.
ConnectionProperties.customCharsetMapping=A comma-delimited list of custom "charset:java encoding" pairs.[CR]In case the MySQL server is configured with custom character sets and ''detectCustomCollations=true'', Connector/J needs to know which Java character encoding to use for the data represented by these character sets. Example usage: ''customCharsetMapping=charset1:UTF-8,charset2:Cp1252''.
ConnectionProperties.defaultFetchSize=The driver will call setFetchSize(n) with this value on all newly-created Statements
ConnectionProperties.useServerPrepStmts=Use server-side prepared statements if the server supports them?
ConnectionProperties.dontTrackOpenResources=The JDBC specification requires the driver to automatically track and close resources, however if your application doesn''t do a good job of explicitly calling close() on statements or result sets, this can cause memory leakage. Setting this property to true relaxes this constraint, and can be more memory efficient for some applications. Also the automatic closing of the Statement and current ResultSet in Statement.closeOnCompletion() and Statement.getMoreResults ([Statement.CLOSE_CURRENT_RESULT | Statement.CLOSE_ALL_RESULTS]), respectively, ceases to happen. This property automatically sets holdResultsOpenOverStatementClose=true.
ConnectionProperties.dumpQueriesOnException=Should the driver dump the contents of the query sent to the server in the message for SQLExceptions?
ConnectionProperties.eliseSetAutoCommit=If using MySQL-4.1 or newer, should the driver only issue ''set autocommit=n'' queries when the server''s state doesn''t match the requested state by Connection.setAutoCommit(boolean)?
ConnectionProperties.emptyStringsConvertToZero=Should the driver allow conversions from empty string fields to numeric values of '''0''?
ConnectionProperties.emulateLocators=Should the driver emulate java.sql.Blobs with locators? With this feature enabled, the driver will delay loading the actual Blob data until the one of the retrieval methods (getInputStream(), getBytes(), and so forth) on the blob data stream has been accessed. For this to work, you must use a column alias with the value of the column to the actual name of the Blob. The feature also has the following restrictions: The SELECT that created the result set must reference only one table, the table must have a primary key; the SELECT must alias the original blob column name, specified as a string, to an alternate name; the SELECT must cover all columns that make up the primary key. 
ConnectionProperties.emulateUnsupportedPstmts=Should the driver detect prepared statements that are not supported by the server, and replace them with client-side emulated versions?
ConnectionProperties.enablePacketDebug=When enabled, a ring-buffer of ''packetDebugBufferSize'' packets will be kept, and dumped when exceptions are thrown in key areas in the driver''s code
ConnectionProperties.enableQueryTimeouts=When enabled, query timeouts set via Statement.setQueryTimeout() use a shared java.util.Timer instance for scheduling. Even if the timeout doesn''t expire before the query is processed, there will be memory used by the TimerTask for the given timeout which won''t be reclaimed until the time the timeout would have expired if it hadn''t been cancelled by the driver. High-load environments might want to consider disabling this functionality.
ConnectionProperties.explainSlowQueries=If ''logSlowQueries'' is enabled, should the driver automatically issue an ''EXPLAIN'' on the server and send the results to the configured logger at a WARN level?
ConnectionProperties.failoverReadOnly=When failing over in autoReconnect mode, should the connection be set to ''read-only''?
ConnectionProperties.gatherPerfMetrics=Should the driver gather performance metrics, and report them via the configured logger every ''reportMetricsIntervalMillis'' milliseconds?
ConnectionProperties.generateSimpleParameterMetadata=Should the driver generate simplified parameter metadata for PreparedStatements when no metadata is available either because the server couldn''t support preparing the statement, or server-side prepared statements are disabled?
ConnectionProperties.holdRSOpenOverStmtClose=Should the driver close result sets on Statement.close() as required by the JDBC specification?
ConnectionProperties.ignoreNonTxTables=Ignore non-transactional table warning for rollback? (defaults to ''false'').
ConnectionProperties.includeInnodbStatusInDeadlockExceptions=Include the output of "SHOW ENGINE INNODB STATUS" in exception messages when deadlock exceptions are detected?
ConnectionProperties.includeThreadDumpInDeadlockExceptions=Include a current Java thread dump in exception messages when deadlock exceptions are detected?
ConnectionProperties.includeThreadNamesAsStatementComment=Include the name of the current thread as a comment visible in "SHOW PROCESSLIST", or in Innodb deadlock dumps, useful in correlation with "includeInnodbStatusInDeadlockExceptions=true" and "includeThreadDumpInDeadlockExceptions=true". 
ConnectionProperties.initialTimeout=If autoReconnect is enabled, the initial time to wait between re-connect attempts (in seconds, defaults to ''2'').
ConnectionProperties.interactiveClient=Set the CLIENT_INTERACTIVE flag, which tells MySQL to timeout connections based on INTERACTIVE_TIMEOUT instead of WAIT_TIMEOUT
ConnectionProperties.jdbcCompliantTruncation=Should the driver throw java.sql.DataTruncation exceptions when data is truncated as is required by the JDBC specification when connected to a server that supports warnings (MySQL 4.1.0 and newer)? This property has no effect if the server sql-mode includes STRICT_TRANS_TABLES.
ConnectionProperties.largeRowSizeThreshold=What size result set row should the JDBC driver consider "large", and thus use a more memory-efficient way of representing the row internally?
ConnectionProperties.ldapServerHostname=When using MySQL''s LDAP pluggable authentication with GSSAPI/Kerberos authentication method, allows setting the LDAP service principal hostname as configured in the Kerberos KDC. If this property is not set, Connector/J takes the system property ''java.security.krb5.kdc'' and extracts the hostname (short name) from its value and uses it. If neither is set, the connection fails with an exception.
ConnectionProperties.loadBalanceStrategy=If using a load-balanced connection to connect to SQL nodes in a MySQL Cluster/NDB configuration (by using the URL prefix "jdbc:mysql:loadbalance://"), which load balancing algorithm should the driver use: (1) "random" - the driver will pick a random host for each request. This tends to work better than round-robin, as the randomness will somewhat account for spreading loads where requests vary in response time, while round-robin can sometimes lead to overloaded nodes if there are variations in response times across the workload. (2) "bestResponseTime" - the driver will route the request to the host that had the best response time for the previous transaction. (3) "serverAffinity" - the driver initially attempts to enforce server affinity while still respecting and benefiting from the fault tolerance aspects of the load-balancing implementation. The server affinity ordered list is provided using the property ''serverAffinityOrder''. If none of the servers listed in the affinity list is responsive, the driver then refers to the "random" strategy to proceed with choosing the next server.
ConnectionProperties.serverAffinityOrder=A comma separated list containing the host/port pairs that are to be used in load-balancing "serverAffinity" strategy. Only the sub-set of the hosts enumerated in the main hosts section in this URL will be used and they must be identical in case and type, i.e., can''t use an IP address in one place and the corresponding host name in the other. 
ConnectionProperties.loadBalanceBlocklistTimeout=Time in milliseconds between checks of servers which are unavailable, by controlling how long a server lives in the global blocklist.
ConnectionProperties.loadBalancePingTimeout=Time in milliseconds to wait for ping response from each of load-balanced physical connections when using load-balanced Connection.
ConnectionProperties.loadBalanceValidateConnectionOnSwapServer=Should the load-balanced Connection explicitly check whether the connection is live when swapping to a new physical connection at commit/rollback?
ConnectionProperties.loadBalanceConnectionGroup=Logical group of load-balanced connections within a classloader, used to manage different groups independently. If not specified, live management of load-balanced connections is disabled.
ConnectionProperties.loadBalanceExceptionChecker=Fully-qualified class name of custom exception checker. The class must implement com.mysql.cj.jdbc.ha.LoadBalanceExceptionChecker interface, and is used to inspect SQLExceptions and determine whether they should trigger fail-over to another host in a load-balanced deployment.
ConnectionProperties.loadBalanceSQLStateFailover=Comma-delimited list of SQLState codes used by default load-balanced exception checker to determine whether a given SQLException should trigger failover. The SQLState of a given SQLException is evaluated to determine whether it begins with any value in the comma-delimited list.
ConnectionProperties.loadBalanceSQLExceptionSubclassFailover=Comma-delimited list of classes/interfaces used by default load-balanced exception checker to determine whether a given SQLException should trigger failover. The comparison is done using Class.isInstance(SQLException) using the thrown SQLException.
ConnectionProperties.ha.enableJMX=Enables JMX-based management of load-balanced connection groups, including live addition/removal of hosts from load-balancing pool. Enables JMX-based management of replication connection groups, including live replica promotion, addition of new replicas and removal of source or replica hosts from load-balanced source and replica connection pools.
ConnectionProperties.loadBalanceHostRemovalGracePeriod=Sets the grace period to wait for a host being removed from a load-balanced connection, to be released when it is currently the active host.
ConnectionProperties.loadBalanceAutoCommitStatementThreshold=When auto-commit is enabled, the number of statements which should be executed before triggering load-balancing to rebalance. Default value of 0 causes load-balanced connections to only rebalance when exceptions are encountered, or auto-commit is disabled and transactions are explicitly committed or rolled back.
ConnectionProperties.loadBalanceAutoCommitStatementRegex=When load-balancing is enabled for auto-commit statements (via loadBalanceAutoCommitStatementThreshold), the statement counter will only increment when the SQL matches the regular expression. By default, every statement issued matches.
ConnectionProperties.localSocketAddress=Hostname or IP address given to explicitly configure the interface that the driver will bind the client side of the TCP/IP connection to when connecting.
ConnectionProperties.locatorFetchBufferSize=If ''emulateLocators'' is configured to ''true'', what size buffer should be used when fetching BLOB data for getBinaryInputStream?
ConnectionProperties.logger=The name of a class that implements \"{0}\" that will be used to log messages to. (default is \"{1}\", which logs to STDERR)
ConnectionProperties.logSlowQueries=Should queries that take longer than ''slowQueryThresholdMillis'' or detected by the ''autoSlowLog'' monitoring be reported to the registered ''profilerEventHandler''?
ConnectionProperties.logXaCommands=Should the driver log XA commands sent by MysqlXaConnection to the server, at the DEBUG level of logging?
ConnectionProperties.maintainTimeStats=Should the driver maintain various internal timers to enable idle time calculations as well as more verbose error messages when the connection to the server fails? Setting this property to false removes at least two calls to System.getCurrentTimeMillis() per query.
ConnectionProperties.maxQuerySizeToLog=Controls the maximum length of the part of a query that will get logged when profiling or tracing
ConnectionProperties.maxReconnects=Maximum number of reconnects to attempt if autoReconnect is true, default is ''3''.
ConnectionProperties.maxRows=The maximum number of rows to return (0, the default means return all rows).
ConnectionProperties.allVersions=all versions
ConnectionProperties.metadataCacheSize=The number of queries to cache ResultSetMetadata for if cacheResultSetMetaData is set to ''true'' (default 50)
ConnectionProperties.netTimeoutForStreamingResults=What value should the driver automatically set the server setting ''net_write_timeout'' to when the streaming result sets feature is in use? (value has unit of seconds, the value ''0'' means the driver will not try and adjust this value)
ConnectionProperties.noAccessToProcedureBodies=When determining procedure parameter types for CallableStatements, and the connected user can''t access procedure bodies through "SHOW CREATE PROCEDURE" or select on mysql.proc should the driver instead create basic metadata (all parameters reported as INOUT VARCHARs) instead of throwing an exception?
ConnectionProperties.noDatetimeStringSync=Don''t ensure that ResultSet.getDatetimeType().toString().equals(ResultSet.getString())
ConnectionProperties.cacheDefaultTimeZone=Caches client's default time zone. This results in better performance when dealing with time zone conversions in Date and Time data types, however it won't be aware of time zone changes if they happen at runtime.
ConnectionProperties.nullCatalogMeansCurrent=When DatabaseMetadata methods ask for a ''catalog'' or ''schema'' parameter, does the value null mean use the current database? See also property ''databaseTerm''.
ConnectionProperties.databaseTerm=MySQL uses the term "schema" as a synonym of the term "database," while Connector/J historically takes the JDBC term "catalog" as synonymous to "database". This property sets for Connector/J which of the JDBC terms "catalog" and "schema" is used in an application to refer to a database. The property takes one of the two values CATALOG or SCHEMA and uses it to determine (1) which Connection methods can be used to set/get the current database (e.g. setCatalog() or setSchema()?), (2) which arguments can be used within the various DatabaseMetaData methods to filter results (e.g. the catalog or schemaPattern argument of getColumns()?), and (3) which fields in the ResultSet returned by DatabaseMetaData methods contain the database identification information (i.e., the TABLE_CAT or TABLE_SCHEM field in the ResultSet returned by getTables()?).[CR]If databaseTerm=CATALOG, schemaPattern for searches are ignored and calls of schema methods (like setSchema() or get Schema()) become no-ops, and vice versa.
ConnectionProperties.packetDebugBufferSize=The maximum number of packets to retain when ''enablePacketDebug'' is true
ConnectionProperties.padCharsWithSpace=If a result set column has the CHAR type and the value does not fill the amount of characters specified in the DDL for the column, should the driver pad the remaining characters with space (for ANSI compliance)?
ConnectionProperties.paranoid=Take measures to prevent exposure sensitive information in error messages and clear data structures holding sensitive data when possible? (defaults to ''false'')
ConnectionProperties.pedantic=Follow the JDBC spec to the letter.
ConnectionProperties.pinGlobalTxToPhysicalConnection=When using XAConnections, should the driver ensure that operations on a given XID are always routed to the same physical connection? This allows the XAConnection to support "XA START ... JOIN" after "XA END" has been called
ConnectionProperties.populateInsertRowWithDefaultValues=When using ResultSets that are CONCUR_UPDATABLE, should the driver pre-populate the "insert" row with default values from the DDL for the table used in the query so those values are immediately available for ResultSet accessors? This functionality requires a call to the database for metadata each time a result set of this type is created. If disabled (the default), the default values will be populated by the an internal call to refreshRow() which pulls back default values and/or values changed by triggers.
ConnectionProperties.prepStmtCacheSize=If prepared statement caching is enabled, how many prepared statements should be cached?
ConnectionProperties.prepStmtCacheSqlLimit=If prepared statement caching is enabled, what''s the largest SQL the driver will cache the parsing for?
ConnectionProperties.processEscapeCodesForPrepStmts=Should the driver process escape codes in queries that are prepared? Default escape processing behavior in non-prepared statements must be defined with the property ''enableEscapeProcessing''.
ConnectionProperties.profilerEventHandler=Name of a class that implements the interface com.mysql.cj.log.ProfilerEventHandler that will be used to handle profiling/tracing events.
ConnectionProperties.profileSQL=Trace queries and their execution/fetch times to the configured ''profilerEventHandler''
ConnectionProperties.connectionPropertiesTransform=An implementation of com.mysql.cj.conf.ConnectionPropertiesTransform that the driver will use to modify URL properties passed to the driver before attempting a connection
ConnectionProperties.queriesBeforeRetrySource=Number of queries to issue before falling back to the primary host when failed over (when using multi-host failover). Whichever condition is met first, ''queriesBeforeRetrySource'' or ''secondsBeforeRetrySource'' will cause an attempt to be made to reconnect to the primary host. Setting both properties to 0 disables the automatic fall back to the primary host at transaction boundaries. Defaults to 50.
ConnectionProperties.reconnectAtTxEnd=If autoReconnect is set to true, should the driver attempt reconnections at the end of every transaction?
ConnectionProperties.reportMetricsIntervalMillis=If ''gatherPerfMetrics'' is enabled, how often should they be logged (in ms)?
ConnectionProperties.requireSSL=For 8.0.12 and earlier: Require server support of SSL connection if useSSL=true? (defaults to ''false'').[CR] For 8.0.13 and later: DEPRECATED. See sslMode property description for details.
ConnectionProperties.resourceId=A globally unique name that identifies the resource that this datasource or connection is connected to, used for XAResource.isSameRM() when the driver can''t determine this value based on hostnames used in the URL
ConnectionProperties.resultSetSizeThreshold=If ''useUsageAdvisor'' is true, how many rows should a result set contain before the driver warns that it is suspiciously large?
ConnectionProperties.retriesAllDown=When using loadbalancing or failover, the number of times the driver should cycle through available hosts, attempting to connect. Between cycles, the driver will pause for 250ms if no servers are available.
ConnectionProperties.rewriteBatchedStatements=Should the driver use multiqueries (regardless of the setting of "allowMultiQueries") as well as rewriting of prepared statements for INSERT into multi-value inserts when executeBatch() is called? Notice that this has the potential for SQL injection if using plain java.sql.Statements and your code doesn''t sanitize input correctly. Notice that for prepared statements, server-side prepared statements can not currently take advantage of this rewrite option, and that if you don''t specify stream lengths when using PreparedStatement.set*Stream(), the driver won''t be able to determine the optimum number of parameters per batch and you might receive an error from the driver that the resultant packet is too large. Statement.getGeneratedKeys() for these rewritten statements only works when the entire batch includes INSERT statements. Please be aware using rewriteBatchedStatements=true with INSERT .. ON DUPLICATE KEY UPDATE that for rewritten statement server returns only one value as sum of all affected (or found) rows in batch and it isn''t possible to map it correctly to initial statements; in this case driver returns 0 as a result of each batch statement if total count was 0, and the Statement.SUCCESS_NO_INFO as a result of each batch statement if total count was > 0.
ConnectionProperties.rollbackOnPooledClose=Should the driver issue a rollback() when the logical connection in a pool is closed?
ConnectionProperties.secondsBeforeRetrySource=How long should the driver wait, when failed over, before attempting to reconnect to the primary host? Whichever condition is met first, ''queriesBeforeRetrySource'' or ''secondsBeforeRetrySource'' will cause an attempt to be made to reconnect to the source host. Setting both properties to 0 disables the automatic fall back to the primary host at transaction boundaries. Time in seconds, defaults to 30
ConnectionProperties.selfDestructOnPingSecondsLifetime=If set to a non-zero value, the driver will close the connection and report failure when Connection.ping() or Connection.isValid(int) is called if the connection''s lifetime exceeds this value (in milliseconds).
ConnectionProperties.selfDestructOnPingMaxOperations=If set to a non-zero value, the driver will report close the connection and report failure when Connection.ping() or Connection.isValid(int) is called if the connection''s count of commands sent to the server exceeds this value.
ConnectionProperties.connectionTimeZone=Configures the connection time zone which is used by Connector/J if conversion between the JVM default and a target time zone is needed when preserving instant temporal values.[CR]Accepts a geographic time zone name or a time zone offset from Greenwich/UTC, using a syntax ''java.time.ZoneId'' is able to parse, or one of the two logical values "LOCAL" and "SERVER". Default is "LOCAL". If set to an explicit time zone then it must be one that either the JVM or both the JVM and MySQL support. If set to "LOCAL" then the driver assumes that the connection time zone is the same as the JVM default time zone. If set to "SERVER" then the driver attempts to detect the session time zone from the values configured on the MySQL server session variables ''time_zone'' or ''system_time_zone''. The time zone detection and subsequent mapping to a Java time zone may fail due to several reasons, mostly because of time zone abbreviations being used, in which case an explicit time zone must be set or a different time zone must be configured on the server.[CR]This option itself does not set MySQL server session variable ''time_zone'' to the given value. To do that the ''forceConnectionTimeZoneToSession'' connection option must be set to "true".[CR]Please note that setting a value to ''connectionTimeZone'' in conjunction with ''forceConnectionTimeZoneToSession=false'' and ''preserveInstants=false'' has no effect since, in this case, neither this option is used to change the session time zone nor used for time zone conversions of time-based data.[CR]Former connection option ''serverTimezone'' is still valid as an alias of this one but may be deprecated in the future.[CR]See also ''forceConnectionTimeZoneToSession'' and ''preserveInstants'' for more details.
ConnectionProperties.forceConnectionTimeZoneToSession=If enabled, sets the time zone value determined by ''connectionTimeZone'' connection property to the current server session ''time_zone'' variable. If the time zone value is given as a geographical time zone, then Connector/J sets this value as-is in the server session, in which case the time zone system tables must be populated beforehand (consult the MySQL Server documentation for further details); but, if the value is given as an offset from Greenwich/UTC in any of the supported syntaxes, then the server session time zone is set as a numeric offset from UTC.[CR]With that no intermediate conversion between JVM default time zone and connection time zone is needed to store correct milliseconds value of instant Java objects such as java.sql.Timestamp or java.time.OffsetDateTime when stored in TIMESTAMP columns.[CR]Note that it also affects the result of MySQL functions such as ''NOW()'', ''CURTIME()'' or ''CURDATE()''.[CR]This option has no effect if used in conjunction with ''connectionTimeZone=SERVER'' since, in this case, the session is already set with the required time zone.[CR]See also ''connectionTimeZone'' and ''preserveInstants'' for more details.
ConnectionProperties.preserveInstants=If enabled, Connector/J does its best to preserve the instant point on the time-line for Java instant-based objects such as java.sql.Timestamp or java.time.OffsetDateTime instead of their original visual form. Otherwise, the driver always uses the JVM default time zone for rendering the values it sends to the server and for constructing the Java objects from the fetched data.[CR]MySQL uses implied time zone conversion for TIMESTAMP values: they are converted from the session time zone to UTC for storage, and back from UTC to the session time zone for retrieval. So, to store the correct correct UTC value internally, the driver converts the value from the original time zone to the session time zone before sending to the server. On retrieval, Connector/J converts the received value from the session time zone to the JVM default one.[CR]When storing, the conversion is performed only if the target SQLType, either the explicit one or the default one, is TIMESTAMP. When retrieving, the conversion is performed only if the source column has the TIMESTAMP, DATETIME or character type and the target class is an instant-based one, like java.sql.Timestamp or java.time.OffsetDateTime.[CR]Note that this option has no effect if used in conjunction with ''connectionTimeZone=LOCAL'' since, in this case, the source and target time zones are the same. Though, in this case, it's still possible to store a correct instant value if set ''forceConnectionTimeZoneToSession=true''.[CR]See also ''connectionTimeZone'' and ''forceConnectionTimeZoneToSession'' for more details.
ConnectionProperties.scrollTolerantForwardOnly=Should the driver contradict the JDBC API and tolerate and support backward and absolute cursor movement on result sets of type ''ResultSet.TYPE_FORWARD_ONLY''?[CR]Regardless of this setting, cursor-based and row streaming result sets cannot be navigated in the prohibited directions.
ConnectionProperties.sessionVariables=A comma or semicolon separated list of name=value pairs to be sent as SET [SESSION] ... to the server when the driver connects.
ConnectionProperties.slowQueryThresholdMillis=If ''logSlowQueries'' is enabled, how long should a query take (in ms) before it is logged as slow?
ConnectionProperties.slowQueryThresholdNanos=If ''logSlowQueries'' is enabled, ''useNanosForElapsedTime'' is set to true, and this property is set to a non-zero value, the driver will use this threshold (in nanosecond units) to determine if a query was slow.
ConnectionProperties.socketFactory=The name of the class that the driver should use for creating socket connections to the server. This class must implement the interface ''com.mysql.cj.protocol.SocketFactory'' and have public no-args constructor.
ConnectionProperties.socketTimeout=Timeout (in milliseconds) on network socket operations (0, the default means no timeout).
ConnectionProperties.socksProxyHost=Name or IP address of SOCKS host to connect through.
ConnectionProperties.socksProxyPort=Port of SOCKS server.
ConnectionProperties.queryInterceptors=A comma-delimited list of classes that implement "com.mysql.cj.interceptors.QueryInterceptor" that should be placed "in between" query execution to influence the results. QueryInterceptors are "chainable", the results returned by the "current" interceptor will be passed on to the next in in the chain, from left-to-right order, as specified in this property. 
ConnectionProperties.strictUpdates=Should the driver do strict checking (all primary keys selected) of updatable result sets (true, false, defaults to ''true'')?
ConnectionProperties.overrideSupportsIEF=Should the driver return "true" for DatabaseMetaData.supportsIntegrityEnhancementFacility() even if the database doesn''t support it to workaround applications that require this method to return "true" to signal support of foreign keys, even though the SQL specification states that this facility contains much more than just foreign key support (one such application being OpenOffice)?
ConnectionProperties.tcpNoDelay=If connecting using TCP/IP, should the driver set SO_TCP_NODELAY (disabling the Nagle Algorithm)?
ConnectionProperties.tcpKeepAlive=If connecting using TCP/IP, should the driver set SO_KEEPALIVE?
ConnectionProperties.tcpSoRcvBuf=If connecting using TCP/IP, should the driver set SO_RCV_BUF to the given value? The default value of ''0'', means use the platform default value for this property)
ConnectionProperties.tcpSoSndBuf=If connecting using TCP/IP, should the driver set SO_SND_BUF to the given value? The default value of ''0'', means use the platform default value for this property)
ConnectionProperties.tcpTrafficClass=If connecting using TCP/IP, should the driver set traffic class or type-of-service fields ?See the documentation for java.net.Socket.setTrafficClass() for more information.
ConnectionProperties.tinyInt1isBit=Should the driver treat the datatype TINYINT(1) as the BIT type (because the server silently converts BIT -> TINYINT(1) when creating tables)?
ConnectionProperties.traceProtocol=Should the network protocol be logged at the TRACE level?
ConnectionProperties.trackSessionState=Receive server session state changes on query results. These changes are accessible via MysqlConnection.getServerSessionStateController().
ConnectionProperties.treatUtilDateAsTimestamp=Should the driver treat java.util.Date as a TIMESTAMP for the purposes of PreparedStatement.setObject()?
ConnectionProperties.transformedBitIsBoolean=If the driver converts TINYINT(1) to a different type, should it use BOOLEAN instead of BIT for future compatibility with MySQL-5.0, as MySQL-5.0 has a BIT type?
ConnectionProperties.useCompression=Use zlib compression when communicating with the server (true/false)?
ConnectionProperties.useConfigs=Load the comma-delimited list of configuration properties before parsing the URL or applying user-specified properties. These configurations are explained in the ''Configurations'' of the documentation.
ConnectionProperties.useCursorFetch=Should the driver use cursor-based fetching to retrieve rows? If set to "true" and "defaultFetchSize" > 0 (or setFetchSize() > 0 is called on a statement) then the cursor-based result set will be used. Please note that "useServerPrepStmts" is automatically set to "true" in this case because cursor functionality is available only for server-side prepared statements.
ConnectionProperties.useHostsInPrivileges=Add ''@hostname'' to users in DatabaseMetaData.getColumn/TablePrivileges() (true/false), defaults to ''true''.
ConnectionProperties.useInformationSchema=Should the driver use the INFORMATION_SCHEMA to derive information used by DatabaseMetaData? Default is ''true'' when connecting to MySQL 8.0.3+, otherwise default is ''false''.
ConnectionProperties.useLocalSessionState=Should the driver refer to the internal values of autocommit and transaction isolation that are set by Connection.setAutoCommit() and Connection.setTransactionIsolation() and transaction state as maintained by the protocol, rather than querying the database or blindly sending commands to the database for commit() or rollback() method calls?
ConnectionProperties.useLocalTransactionState=Should the driver use the in-transaction state provided by the MySQL protocol to determine if a commit() or rollback() should actually be sent to the database?
ConnectionProperties.useNanosForElapsedTime=For profiling/debugging functionality that measures elapsed time, should the driver try to use nanoseconds resolution if available (JDK >= 1.5)?
ConnectionProperties.useOldAliasMetadataBehavior=Should the driver use the legacy behavior for "AS" clauses on columns and tables, and only return aliases (if any) for ResultSetMetaData.getColumnName() or ResultSetMetaData.getTableName() rather than the original column/table name? In 5.0.x, the default value was true.
ConnectionProperties.useOnlyServerErrorMessages=Don''t prepend ''standard'' SQLState error messages to error messages returned by the server.
ConnectionProperties.useReadAheadInput=Use newer, optimized non-blocking, buffered input stream when reading from the server?
ConnectionProperties.useSqlStateCodes=Use SQL Standard state codes instead of ''legacy'' X/Open/SQL state codes (true/false), default is ''true''
ConnectionProperties.useSSL=For 8.0.12 and earlier: Use SSL when communicating with the server (true/false), default is ''true'' when connecting to MySQL 5.5.45+, 5.6.26+ or 5.7.6+, otherwise default is ''false''.[CR] For 8.0.13 and later: Default is ''true''. DEPRECATED. See sslMode property description for details.
ConnectionProperties.useStreamLengthsInPrepStmts=Honor stream length parameter in PreparedStatement/ResultSet.setXXXStream() method calls (true/false, defaults to ''true'')?
ConnectionProperties.ultraDevHack=Create PreparedStatements for prepareCall() when required, because UltraDev is broken and issues a prepareCall() for _all_ statements? (true/false, defaults to ''false'')
ConnectionProperties.useUnbufferedInput=Don''t use BufferedInputStream for reading data from the server
ConnectionProperties.useUsageAdvisor=Should the driver issue ''usage'' warnings advising proper and efficient usage of JDBC and MySQL Connector/J to the ''profilerEventHandler''?
ConnectionProperties.verifyServerCertificate=For 8.0.12 and earlier: If "useSSL" is set to "true", should the driver verify the server''s certificate? When using this feature, the key store parameters should be specified by the "clientCertificateKeyStore*" properties, rather than system properties. Default is ''false'' when connecting to MySQL 5.5.45+, 5.6.26+ or 5.7.6+ and "useSSL" was not explicitly set to "true". Otherwise default is ''true''.[CR] For 8.0.13 and later: Default is ''false''. DEPRECATED. See sslMode property description for details.
ConnectionProperties.yearIsDateType=Should the JDBC driver treat the MySQL type "YEAR" as a java.sql.Date, or as a SHORT?
ConnectionProperties.zeroDateTimeBehavior=What should happen when the driver encounters DATETIME values that are composed entirely of zeros (used by MySQL to represent invalid dates)? Valid values are \"{0}\", \"{1}\" and \"{2}\".
ConnectionProperties.clientCertificateKeyStoreUrl=URL for the client certificate KeyStore[CR]If not specified, the property ''fallbackToSystemKeyStore'' determines if system-wide key store is used.
ConnectionProperties.clientCertificateKeyStoreType=Key store type for client certificates.[CR]NULL or empty means use the default, which is "JKS". Standard key store types supported by the JVM are "JKS" and "PKCS12", your environment may have more available depending on what security products are installed and available to the JVM.
ConnectionProperties.clientCertificateKeyStorePassword=Password for the client certificates key store.
ConnectionProperties.fallbackToSystemKeyStore=Whether the absence of setting a value for ''clientCertificateKeyStoreUrl'' falls back to using the system-wide key store defined through the system properties ''javax.net.ssl.keyStore*''.
ConnectionProperties.trustCertificateKeyStoreUrl=URL for the trusted root certificates key store.[CR]If not specified, the property ''fallbackToSystemTrustStore'' determines if system-wide trust store is used.
ConnectionProperties.trustCertificateKeyStoreType=Key store type for trusted root certificates.[CR]NULL or empty means use the default, which is "JKS". Standard key store types supported by the JVM are "JKS" and "PKCS12", your environment may have more available depending on what security products are installed and available to the JVM.
ConnectionProperties.trustCertificateKeyStorePassword=Password for the trusted root certificates key store.
ConnectionProperties.fallbackToSystemTrustStore=Whether the absence of setting a value for ''trustCertificateKeyStoreUrl'' falls back to using the system-wide default trust store or one defined through the system properties ''javax.net.ssl.trustStore*''.
ConnectionProperties.serverRSAPublicKeyFile=File path to the server RSA public key file for sha256_password authentication. If not specified, the public key will be retrieved from the server.
ConnectionProperties.allowPublicKeyRetrieval=Allows special handshake round-trip to get an RSA public key directly from server.
ConnectionProperties.Username=The user to connect as
ConnectionProperties.Password=The password to use when connecting
ConnectionProperties.sendFractionalSeconds=If set to "false", the fractional seconds will always be truncated before sending any data to the server. This option applies only to prepared statements, callable statements or updatable result sets.
ConnectionProperties.sendFractionalSecondsForTime=If set to "false", the fractional seconds of java.sql.Time will be ignored as required by JDBC specification. If set to "true", it's value is rendered with fractional seconds allowing to store milliseconds into MySQL TIME column. This option applies only to prepared statements, callable statements or updatable result sets. It has no effect if sendFractionalSeconds=false.
ConnectionProperties.useColumnNamesInFindColumn=Prior to JDBC-4.0, the JDBC specification had a bug related to what could be given as a "column name" to ResultSet methods like findColumn(), or getters that took a String property. JDBC-4.0 clarified "column name" to mean the label, as given in an "AS" clause and returned by ResultSetMetaData.getColumnLabel(), and if no AS clause, the column name. Setting this property to "true" will give behavior that is congruent to JDBC-3.0 and earlier versions of the JDBC specification, but which because of the specification bug could give unexpected results. This property is preferred over "useOldAliasMetadataBehavior" unless you need the specific behavior that it provides with respect to ResultSetMetadata.
ConnectionProperties.useAffectedRows=Don''t set the CLIENT_FOUND_ROWS flag when connecting to the server (not JDBC-compliant, will break most applications that rely on "found" rows vs. "affected rows" for DML statements), but does cause "correct" update counts from "INSERT ... ON DUPLICATE KEY UPDATE" statements to be returned by the server.
ConnectionProperties.passwordCharacterEncoding=Instructs the server to use the default character set for the specified Java encoding during the authentication phase. If this property is not set, Connector/J falls back to the collation name specified in the property ''connectionCollation'' or to the Java encoding specified in the property ''characterEncoding'', in that order of priority. The "utf8mb4" default collation is used if none of the properties is set.
ConnectionProperties.exceptionInterceptors=Comma-delimited list of classes that implement com.mysql.cj.exceptions.ExceptionInterceptor. These classes will be instantiated one per Connection instance, and all SQLExceptions thrown by the driver will be allowed to be intercepted by these interceptors, in a chained fashion, with the first class listed as the head of the chain.
ConnectionProperties.maxAllowedPacket=Maximum allowed packet size to send to server. If not set, the value of system variable ''max_allowed_packet'' will be used to initialize this upon connecting. This value will not take effect if set larger than the value of ''max_allowed_packet''. Also, due to an internal dependency with the property "blobSendChunkSize", this setting has a minimum value of "8203" if "useServerPrepStmts" is set to "true".
ConnectionProperties.queryTimeoutKillsConnection=If the timeout given in Statement.setQueryTimeout() expires, should the driver forcibly abort the Connection instead of attempting to abort the query?
ConnectionProperties.authenticationPlugins=Comma-delimited list of classes that implement the interface com.mysql.cj.protocol.AuthenticationPlugin. These plugins will be loaded at connection initialization and can be used together with their sever-side counterparts for authenticating users, unless they are also disabled in the connection property ''disabledAuthenticationPlugins''.
ConnectionProperties.disabledAuthenticationPlugins=Comma-delimited list of authentication plugins client-side protocol names or classes implementing the interface com.mysql.cj.protocol.AuthenticationPlugin. The authentication plugins listed will not be used for authenticating users and, if anyone of them is required during the authentication exchange, the connection fails. The default authentication plugin specified in the property ''defaultAuthenticationPlugin'' cannot be disabled.
ConnectionProperties.defaultAuthenticationPlugin=The default authentication plugin client-side protocol name or a fully qualified name of a class that implements the interface com.mysql.cj.protocol.AuthenticationPlugin. The specified authentication plugin must be either one of the built-in authentication plugins or one of the plugins listed in the property ''authenticationPlugins''. Additionally, the default authentication plugin cannot be disabled with the property ''disabledAuthenticationPlugins''. Neither an empty nor unknown plugin name or class can be set for this property.[CR]By default, Connector/J honors the server-side default authentication plugin, which is known after receiving the initial handshake packet, and falls back to this property's default value if that plugin cannot be used. However, when a value is explicitly provided to this property, Connector/J then overrides the server-side default authentication plugin and always tries first the plugin specified with this property.
ConnectionProperties.parseInfoCacheFactory=Name of a class implementing com.mysql.cj.CacheAdapterFactory, which will be used to create caches for the parsed representation of client-side prepared statements.
ConnectionProperties.serverConfigCacheFactory=Name of a class implementing com.mysql.cj.CacheAdapterFactory<String, Map<String, String>>, which will be used to create caches for MySQL server configuration values
ConnectionProperties.disconnectOnExpiredPasswords=If "disconnectOnExpiredPasswords" is set to "false" and password is expired then server enters "sandbox" mode and sends ERR(08001, ER_MUST_CHANGE_PASSWORD) for all commands that are not needed to set a new password until a new password is set.
ConnectionProperties.connectionAttributes=A comma-delimited list of user-defined key:value pairs (in addition to standard MySQL-defined key:value pairs) to be passed to MySQL Server for display as connection attributes in the PERFORMANCE_SCHEMA.SESSION_CONNECT_ATTRS table. Example usage: connectionAttributes=key1:value1,key2:value2 This functionality is available for use with MySQL Server version 5.6 or later only. Earlier versions of MySQL Server do not support connection attributes, causing this configuration option to be ignored. Setting connectionAttributes=none will cause connection attribute processing to be bypassed, for situations where Connection creation/initialization speed is critical.
ConnectionProperties.getProceduresReturnsFunctions=Pre-JDBC4 DatabaseMetaData API has only the getProcedures() and getProcedureColumns() methods, so they return metadata info for both stored procedures and functions. JDBC4 was extended with the getFunctions() and getFunctionColumns() methods and the expected behaviours of previous methods are not well defined. For JDBC4 and higher, default ''true'' value of the option means that calls of DatabaseMetaData.getProcedures() and DatabaseMetaData.getProcedureColumns() return metadata for both procedures and functions as before, keeping backward compatibility. Setting this property to ''false'' decouples Connector/J from its pre-JDBC4 behaviours for DatabaseMetaData.getProcedures() and DatabaseMetaData.getProcedureColumns(), forcing them to return metadata for procedures only.
ConnectionProperties.detectCustomCollations=Should the driver detect custom charsets/collations installed on server (true/false, defaults to ''false''). If this option set to ''true'' driver gets actual charsets/collations from server each time connection establishes. This could slow down connection initialization significantly.
ConnectionProperties.dontCheckOnDuplicateKeyUpdateInSQL=Stops checking if every INSERT statement contains the "ON DUPLICATE KEY UPDATE" clause. As a side effect, obtaining the statement''s generated keys information will return a list where normally it wouldn''t. Also be aware that, in this case, the list of generated keys returned may not be accurate. The effect of this property is canceled if set simultaneously with ''rewriteBatchedStatements=true''.
ConnectionProperties.readOnlyPropagatesToServer=Should the driver issue appropriate statements to implicitly set the transaction access mode on server side when Connection.setReadOnly() is called? Setting this property to ''true'' enables InnoDB read-only potential optimizations but also requires an extra roundtrip to set the right transaction state. Even if this property is set to ''false'', the driver will do its best effort to prevent the execution of database-state-changing queries. Requires minimum of MySQL 5.6.
ConnectionProperties.enabledSSLCipherSuites=If "useSSL" is set to "true", overrides the cipher suites enabled for use on the underlying SSL sockets. This may be required when using external JSSE providers or to specify cipher suites compatible with both MySQL server and used JVM.
ConnectionProperties.enabledTLSProtocols=If "useSSL" is set to "true", overrides the TLS protocols enabled for use on the underlying SSL sockets. This may be used to restrict connections to specific TLS versions.
ConnectionProperties.enableEscapeProcessing=Sets the default escape processing behavior for Statement objects. The method Statement.setEscapeProcessing() can be used to specify the escape processing behavior for an individual Statement object. Default escape processing behavior in prepared statements must be defined with the property ''processEscapeCodesForPrepStmts''.
ConnectionProperties.replicationConnectionGroup=Logical group of replication connections within a classloader, used to manage different groups independently. If not specified, live management of replication connections is disabled.
ConnectionProperties.dnsSrv=Should the driver use the given host name to lookup for DNS SRV records and use the resulting list of hosts in a multi-host failover connection? Note that a single host name and no port must be provided when this option is enabled.
ConnectionProperties.sslMode=By default, network connections are SSL encrypted; this property permits secure connections to be turned off, or a different levels of security to be chosen. The following values are allowed: "DISABLED" - Establish unencrypted connections; "PREFERRED" - (default) Establish encrypted connections if the server enabled them, otherwise fall back to unencrypted connections; "REQUIRED" - Establish secure connections if the server enabled them, fail otherwise; "VERIFY_CA" - Like "REQUIRED" but additionally verify the server TLS certificate against the configured Certificate Authority (CA) certificates; "VERIFY_IDENTITY" - Like "VERIFY_CA", but additionally verify that the server certificate matches the host to which the connection is attempted.[CR] This property replaced the deprecated legacy properties "useSSL", "requireSSL", and "verifyServerCertificate", which are still accepted but translated into a value for "sslMode" if "sslMode" is not explicitly set: "useSSL=false" is translated to "sslMode=DISABLED"; '{'"useSSL=true", "requireSSL=false", "verifyServerCertificate=false"'}' is translated to "sslMode=PREFERRED"; '{'"useSSL=true", "requireSSL=true", "verifyServerCertificate=false"'}' is translated to "sslMode=REQUIRED"; '{'"useSSL=true" AND "verifyServerCertificate=true"'}' is translated to "sslMode=VERIFY_CA". There is no equivalent legacy settings for "sslMode=VERIFY_IDENTITY". Note that, for ALL server versions, the default setting of "sslMode" is "PREFERRED", and it is equivalent to the legacy settings of "useSSL=true", "requireSSL=false", and "verifyServerCertificate=false", which are different from their default settings for Connector/J 8.0.12 and earlier in some situations. Applications that continue to use the legacy properties and rely on their old default settings should be reviewed.[CR] The legacy properties are ignored if "sslMode" is set explicitly. If none of "sslMode" or "useSSL" is set explicitly, the default setting of "sslMode=PREFERRED" applies. 

ConnectionProperties.xdevapiSslMode=X DevAPI-specific SSL mode setting. If not specified, use ''sslMode''. Because the "PREFERRED" mode is not applicable to X Protocol, if ''xdevapi.ssl-mode'' is not set and ''sslMode'' is set to "PREFERRED", ''xdevapi.ssl-mode'' is set to "REQUIRED".
ConnectionProperties.xdevapiTlsCiphersuites=X DevAPI-specific property overriding the cipher suites enabled for use on the underlying SSL sockets. If not specified, the value of ''enabledSSLCipherSuites'' is used.
ConnectionProperties.xdevapiTlsVersions=X DevAPI-specific property overriding the TLS protocols enabled for use on the underlying SSL sockets. If not specified, the value of ''enabledTLSProtocols'' is used.
ConnectionProperties.xdevapiSslKeyStoreUrl=X DevAPI-specific URL for the client certificate key store. If not specified, use ''clientCertificateKeyStoreUrl'' value.
ConnectionProperties.xdevapiSslKeyStoreType=X DevAPI-specific type of the client certificate key store. If not specified, use ''clientCertificateKeyStoreType'' value.
ConnectionProperties.xdevapiSslKeyStorePassword=X DevAPI-specific password for the client certificate key store. If not specified, use ''clientCertificateKeyStorePassword'' value.
ConnectionProperties.xdevapiFallbackToSystemKeyStore=X DevAPI-specific switch to specify whether in the absence of a set value for ''xdevapi.ssl-keystore'' (or ''clientCertificateKeyStoreUrl''), Connector/J falls back to using the system-wide key store defined through the system properties ''javax.net.ssl.keyStore*''. If not specified, the value of ''fallbackToSystemKeyStore'' is used.
ConnectionProperties.xdevapiSslTrustStoreUrl=X DevAPI-specific URL for the trusted CA certificates key store. If not specified, use ''trustCertificateKeyStoreUrl'' value.
ConnectionProperties.xdevapiSslTrustStoreType=X DevAPI-specific type of the trusted CA certificates key store. If not specified, use ''trustCertificateKeyStoreType'' value.
ConnectionProperties.xdevapiSslTrustStorePassword=X DevAPI-specific password for the trusted CA certificates key store. If not specified, use ''trustCertificateKeyStorePassword'' value.
ConnectionProperties.xdevapiFallbackToSystemTrustStore=X DevAPI-specific switch to specify whether in the absence of a set value for ''xdevapi.ssl-truststore'' (or ''trustCertificateKeyStoreUrl''), Connector/J falls back to using the system-wide default trust store or one defined through the system properties ''javax.net.ssl.trustStore*''. If not specified, the value of ''fallbackToSystemTrustStore'' is used.
ConnectionProperties.auth=Authentication mechanism to use with the X Protocol. Allowed values are "SHA256_MEMORY", "MYSQL41", "PLAIN", and "EXTERNAL". Value is case insensitive. If the property is not set, the mechanism is chosen depending on the connection type: "PLAIN" is used for TLS connections and "SHA256_MEMORY" or "MYSQL41" is used for unencrypted connections.
ConnectionProperties.xdevapiConnectTimeout=X DevAPI-specific timeout for socket connect (in milliseconds), with "0" being no timeout. Defaults to "10000". If ''xdevapi.connect-timeout'' is not set explicitly and ''connectTimeout'' is, ''xdevapi.connect-timeout'' takes up the value of ''connectTimeout''. If ''xdevapi.useAsyncProtocol=true'', both ''xdevapi.connect-timeout'' and ''connectTimeout'' are ignored.
ConnectionProperties.xdevapiConnectionAttributes=An X DevAPI-specific comma-delimited list of user-defined key=value pairs (in addition to standard X Protocol-defined key=value pairs) to be passed to MySQL Server for display as connection attributes in PERFORMANCE_SCHEMA tables session_account_connect_attrs and session_connect_attrs. Example usage: xdevapi.connection-attributes=key1=value1,key2=value2 or xdevapi.connection-attributes=[key1=value1,key2=value2]. This functionality is available for use with MySQL Server version 8.0.16 or later only. Earlier versions of X Protocol do not support connection attributes, causing this configuration option to be ignored. For situations where Session creation/initialization speed is critical, setting xdevapi.connection-attributes=false will cause connection attribute processing to be bypassed.
ConnectionProperties.xdevapiDnsSrv=X DevAPI-specific option for instructing the driver use the given host name to lookup for DNS SRV records and use the resulting list of hosts in a multi-host failover connection. Note that a single host name and no port must be provided when this option is enabled.
ConnectionProperties.xdevapiCompression=X DevAPI-specific network traffic compression. This option accepts one of the three values: "PREFERRED", "REQUIRED", and "DISABLED". Setting this option to "PREFERRED" or "REQUIRED" enables compression algorithm negotiation between Connector and Server, and turns on compression of large X Protocol packets, as long as a consensus is reached between client and server regarding the compression algorithm to use. If a consensus cannot be reached, connection fails if the option is set to "REQUIRED" and continues without compression if the option is set to "PREFERRED". Setting this option as "DISABLED" skips the compression negotiation phase and forbids the interchange of compressed messages between client and server.
ConnectionProperties.xdevapiCompressionAlgorithms=A comma-delimited list of compression algorithms, each one identified by its name and operating mode (e.g. "lz4_message" -- consult the description for the MySQL global variable ''mysqlx_compression_algorithms'' for a list of supported and enabled algorithms), that defines the order and which algorithms will be attempted when negotiating connection compression with the server.[CR]The compression algorithm ''deflate_stream'' is supported natively. Additional compression algorithms require using third-party libraries and enabling them with the connection property ''xdevapi.compression-extensions''.[CR]This option is meaningful only when network traffic compression is enabled using the connection property ''xdevapi.compression''.[CR]As an alternative to the default algorithm names, that contain a reference to the compression operation mode, the aliases "zstd", "lz4", and "deflate" can be used instead of "zstd_stream", "lz4_message", and "deflate_stream".
ConnectionProperties.xdevapiCompressionExtensions=A comma-delimited list of triplets, with their elements delimited by colon, that enables the support for additional compression algorithms. Each triplet must contain: first, an algorithm name and operating mode (e.g. "lz4_message" -- consult the description for the MySQL global variable ''mysqlx_compression_algorithms'' for a list of supported and enabled algorithms); second, a fully-qualified class name of a class implementing the interface java.io.InputStream that will be used to inflate data compressed with the named algorithm; third, a fully-qualified class name of a class implementing the interface java.io.OutputStream that will be used to deflate data using the named algorithm. Along with this setting, the library containing implementations of the designated classes must be available in the application's class path.[CR]Any number of triplets defining compression algorithms and their inflater and deflater implementations can be provided but only the ones supported and enabled on the MySQL Server can be used.[CR]The compression algorithm ''deflate_stream'' is supported natively. Additional compression algorithms require using third-party libraries.[CR]This option is meaningful only when network traffic compression is enabled using the connection property ''xdevapi.compression''.[CR]As an alternative to the default algorithm names, that contain a reference to the compression operation mode, the aliases "zstd", "lz4", and "deflate" can be used instead of "zstd_stream", "lz4_message", and "deflate_stream".
ConnectionProperties.useAsyncProtocol=For 8.0.21 and earlier: Use asynchronous variant of X Protocol.[CR]For 8.0.22 and later: DEPRECATED; has no effect.
ConnectionProperties.asyncResponseTimeout=For 8.0.21 and earlier: Timeout (in seconds) for getting server response via X Protocol.[CR]For 8.0.22 and later: DEPRECATED; has no effect.

ConnectionProperties.unknown=Property is not defined in Connector/J but used in connection URL.

PropertyDefinition.1=The connection property ''{0}'' acceptable values are: {1}. The value ''{2}'' is not acceptable.
