ConnectionImpl
Date: 2016-03-08

com.mysql.jdbc

## Class ConnectionImpl

- java.lang.Object
- - com.mysql.jdbc.ConnectionPropertiesImpl
  - - com.mysql.jdbc.ConnectionImpl

- All Implemented Interfaces:
    ConnectionProperties, MySQLConnection, java.io.Serializable, java.lang.AutoCloseable, java.sql.Connection, java.sql.Wrapper
  Direct Known Subclasses:
    JDBC4Connection

      public class ConnectionImpl
      extends ConnectionPropertiesImpl
      implements MySQLConnection

  A Connection represents a session with a specific database. Within the context of a Connection, SQL statements are executed and results are returned.

  A Connection's database is able to provide information describing its tables, its supported SQL grammar, its stored procedures, the capabilities of this connection, etc. This information is obtained with the getMetaData method.

  See Also:
    Serialized Form

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class and Description
    --- | ---
    `(package private) static class` | `ConnectionImpl.CompoundCacheKey` Used as a key for caching callable statements which (may) depend on current catalog...In 5.0.x, they don't (currently), but stored procedure names soon will, so current catalog is a (hidden) component of the name.
    `(package private) class` | `ConnectionImpl.ExceptionInterceptorChain`

    - ### Nested classes/interfaces inherited from class com.mysql.jdbc.ConnectionPropertiesImpl

      `ConnectionPropertiesImpl.BooleanConnectionProperty, ConnectionPropertiesImpl.ConnectionProperty, ConnectionPropertiesImpl.IntegerConnectionProperty, ConnectionPropertiesImpl.LongConnectionProperty, ConnectionPropertiesImpl.MemorySizeConnectionProperty, ConnectionPropertiesImpl.StringConnectionProperty, ConnectionPropertiesImpl.XmlMap`

  - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static java.util.Map<?,?>` | `charsetMap` The mapping between MySQL charset names and Java charset names.
    `protected static java.lang.String` | `DEFAULT_LOGGER_CLASS` Default logger class name
    `java.util.Map<java.lang.Integer,java.lang.String>` | `indexToCustomMysqlCharset`
    `java.util.Map<java.lang.Integer,java.lang.String>` | `indexToMysqlCharset` We need this 'bootstrapped', because 4.1 and newer will send fields back with this even before we fill this dynamically from the server.
    `static java.lang.String` | `JDBC_LOCAL_CHARACTER_SET_RESULTS`
    `protected java.util.Properties` | `props` Properties for this connection specified by user
    `protected com.mysql.jdbc.util.LRUCache` | `resultSetMetadataCache` Cache of ResultSet metadata
    `protected static java.util.Map<?,?>` | `roundRobinStatsMap`

    - ### Fields inherited from class com.mysql.jdbc.ConnectionPropertiesImpl

      `characterEncodingIsAliasForSjis, largeRowSizeThreshold, traceProtocol, ZERO_DATETIME_BEHAVIOR_CONVERT_TO_NULL, ZERO_DATETIME_BEHAVIOR_EXCEPTION, ZERO_DATETIME_BEHAVIOR_ROUND`

    - ### Fields inherited from interface java.sql.Connection

      `TRANSACTION_NONE, TRANSACTION_READ_COMMITTED, TRANSACTION_READ_UNCOMMITTED, TRANSACTION_REPEATABLE_READ, TRANSACTION_SERIALIZABLE`

  - ### Constructor Summary

    Constructors
    Modifier | Constructor and Description
    --- | ---
    `protected` | `ConnectionImpl()` ' For the delegate only
    `` | `ConnectionImpl(java.lang.String hostToConnectTo, int portToConnectTo, java.util.Properties info, java.lang.String databaseToConnectTo, java.lang.String url)` Creates a connection to a MySQL Server.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `abort(java.util.concurrent.Executor executor)` Terminates an open connection.
    `void` | `abortInternal()` Clobbers the physical network connection and marks this connection as closed.
    `protected static java.sql.SQLException` | `appendMessageToException(java.sql.SQLException sqlEx, java.lang.String messageToAppend, ExceptionInterceptor interceptor)`
    `void` | `changeUser(java.lang.String userName, java.lang.String newPassword)` Changes the user on this connection by performing a re-authentication.
    `void` | `checkClosed()`
    `void` | `clearHasTriedMaster()`
    `void` | `clearWarnings()` After this call, getWarnings returns null until a new warning is reported for this connection.
    `java.sql.PreparedStatement` | `clientPrepareStatement(java.lang.String sql)` Prepares a statement on the client, using client-side emulation (irregardless of the configuration property 'useServerPrepStmts') with the same semantics as the java.sql.Connection.prepareStatement() method with the same argument types.
    `java.sql.PreparedStatement` | `clientPrepareStatement(java.lang.String sql, int autoGenKeyIndex)` Prepares a statement on the client, using client-side emulation (irregardless of the configuration property 'useServerPrepStmts') with the same semantics as the java.sql.Connection.prepareStatement() method with the same argument types.
    `java.sql.PreparedStatement` | `clientPrepareStatement(java.lang.String sql, int[] autoGenKeyIndexes)` Prepares a statement on the client, using client-side emulation (irregardless of the configuration property 'useServerPrepStmts') with the same semantics as the java.sql.Connection.prepareStatement() method with the same argument types.
    `java.sql.PreparedStatement` | `clientPrepareStatement(java.lang.String sql, int resultSetType, int resultSetConcurrency)` Prepares a statement on the client, using client-side emulation (irregardless of the configuration property 'useServerPrepStmts') with the same semantics as the java.sql.Connection.prepareStatement() method with the same argument types.
    `java.sql.PreparedStatement` | `clientPrepareStatement(java.lang.String sql, int resultSetType, int resultSetConcurrency, boolean processEscapeCodesIfNeeded)`
    `java.sql.PreparedStatement` | `clientPrepareStatement(java.lang.String sql, int resultSetType, int resultSetConcurrency, int resultSetHoldability)` Prepares a statement on the client, using client-side emulation (irregardless of the configuration property 'useServerPrepStmts') with the same semantics as the java.sql.Connection.prepareStatement() method with the same argument types.
    `java.sql.PreparedStatement` | `clientPrepareStatement(java.lang.String sql, java.lang.String[] autoGenKeyColNames)` Prepares a statement on the client, using client-side emulation (irregardless of the configuration property 'useServerPrepStmts') with the same semantics as the java.sql.Connection.prepareStatement() method with the same argument types.
    `void` | `close()` In some cases, it is desirable to immediately release a Connection's database and JDBC resources instead of waiting for them to be automatically released (cant think why off the top of my head) Note: A Connection is automatically closed when it is garbage collected.
    `void` | `commit()` The method commit() makes all changes made since the previous commit/rollback permanent and releases any database locks currently held by the Connection.
    `void` | `createNewIO(boolean isForReconnect)` Creates an IO channel to the server
    `java.sql.Statement` | `createStatement()` SQL statements without parameters are normally executed using Statement objects.
    `java.sql.Statement` | `createStatement(int resultSetType, int resultSetConcurrency)` JDBC 2.0 Same as createStatement() above, but allows the default result set type and result set concurrency type to be overridden.
    `java.sql.Statement` | `createStatement(int resultSetType, int resultSetConcurrency, int resultSetHoldability)`
    `void` | `decachePreparedStatement(ServerPreparedStatement pstmt)`
    `void` | `dumpTestcaseQuery(java.lang.String query)`
    `Connection` | `duplicate()`
    `ResultSetInternalMethods` | `execSQL(StatementImpl callingStatement, java.lang.String sql, int maxRows, Buffer packet, int resultSetType, int resultSetConcurrency, boolean streamResults, java.lang.String catalog, Field[] cachedMetadata)` Send a query to the server.
    `ResultSetInternalMethods` | `execSQL(StatementImpl callingStatement, java.lang.String sql, int maxRows, Buffer packet, int resultSetType, int resultSetConcurrency, boolean streamResults, java.lang.String catalog, Field[] cachedMetadata, boolean isBatch)`
    `java.lang.String` | `extractSqlFromPacket(java.lang.String possibleSqlQuery, Buffer queryPacket, int endOfQueryPacketPosition)`
    `java.lang.StringBuilder` | `generateConnectionCommentBlock(java.lang.StringBuilder buf)`
    `int` | `getActiveStatementCount()` Returns the number of statements active on this connection, which haven't been .close()d.
    `boolean` | `getAutoCommit()` Gets the current auto-commit state
    `int` | `getAutoIncrementIncrement()` Returns the -session- value of 'auto_increment_increment' from the server if it exists, or '1' if not.
    `CachedResultSetMetaData` | `getCachedMetaData(java.lang.String sql)` Returns cached metadata (or null if not cached) for the given query, which must match _exactly_.
    `java.util.Calendar` | `getCalendarInstanceForSessionOrNew()` Optimization to only use one calendar per-session, or calculate it for each call, depending on user configuration
    `java.util.Timer` | `getCancelTimer()`
    `java.lang.String` | `getCatalog()` Return the connections current catalog name, or null if no catalog name is set, or we dont support catalogs.
    `java.lang.String` | `getCharacterSetMetadata()`
    `SingleByteCharsetConverter` | `getCharsetConverter(java.lang.String javaEncodingName)` Returns the locally mapped instance of a charset converter (to avoid overhead of static synchronization).
    `java.lang.String` | `getCharsetNameForIndex(int charsetIndex)` Deprecated. replaced by `getEncodingForIndex(int charsetIndex)`
    `java.lang.Object` | `getConnectionMutex()`
    `java.util.TimeZone` | `getDefaultTimeZone()`
    `java.lang.String` | `getEncodingForIndex(int charsetIndex)` Returns the Java character encoding name for the given MySQL server charset index
    `java.lang.String` | `getErrorMessageEncoding()`
    `ExceptionInterceptor` | `getExceptionInterceptor()`
    `int` | `getHoldability()`
    `java.lang.String` | `getHost()`
    `long` | `getId()`
    `long` | `getIdleFor()` NOT JDBC-Compliant, but clients can use this method to determine how long this connection has been idle.
    `protected static Connection` | `getInstance(java.lang.String hostToConnectTo, int portToConnectTo, java.util.Properties info, java.lang.String databaseToConnectTo, java.lang.String url)` Creates a connection instance -- We need to provide factory-style methods so we can support both JDBC3 (and older) and JDBC4 runtimes, otherwise the class verifier complains when it tries to load JDBC4-only interface classes that are present in JDBC4 method signatures.
    `MysqlIO` | `getIO()` Returns the IO channel to the server
    `MySQLConnection` | `getLoadBalanceSafeProxy()`
    `com.mysql.jdbc.log.Log` | `getLog()` Returns the log mechanism that should be used to log information from/for this Connection.
    `int` | `getMaxBytesPerChar(java.lang.Integer charsetIndex, java.lang.String javaCharsetName)`
    `int` | `getMaxBytesPerChar(java.lang.String javaCharsetName)`
    `java.sql.DatabaseMetaData` | `getMetaData()` A connection's database is able to provide information describing its tables, its supported SQL grammar, its stored procedures, the capabilities of this connection, etc.
    `java.sql.Statement` | `getMetadataSafeStatement()`
    `MySQLConnection` | `getMultiHostSafeProxy()`
    `int` | `getNetBufferLength()` Returns the packet buffer size the MySQL server reported upon connection
    `int` | `getNetworkTimeout()`
    `protected static int` | `getNextRoundRobinHostIndex(java.lang.String url, java.util.List<?> hostList)`
    `com.mysql.jdbc.profiler.ProfilerEventHandler` | `getProfilerEventHandlerInstance()`
    `java.util.Properties` | `getProperties()` Returns the parsed and passed in properties for this connection.
    `boolean` | `getRequiresEscapingEncoder()`
    `java.lang.String` | `getSchema()`
    `java.lang.String` | `getServerCharacterEncoding()` Deprecated. replaced by `getServerCharset()`
    `java.lang.String` | `getServerCharset()` Returns the server's character set
    `int` | `getServerMajorVersion()`
    `int` | `getServerMinorVersion()`
    `int` | `getServerSubMinorVersion()`
    `java.util.TimeZone` | `getServerTimezoneTZ()` Returns the TimeZone that represents the configured timezone for the server.
    `java.lang.String` | `getServerVariable(java.lang.String variableName)`
    `java.lang.String` | `getServerVersion()`
    `java.util.Calendar` | `getSessionLockedCalendar()`
    `int` | `getSessionMaxRows()` Returns the sql select limit max-rows for this session.
    `java.lang.String` | `getStatementComment()` Returns the comment that will be prepended to all statements sent to the server.
    `java.util.List<StatementInterceptorV2>` | `getStatementInterceptorsInstances()`
    `int` | `getTransactionIsolation()` Get this Connection's current transaction isolation mode.
    `java.util.Map<java.lang.String,java.lang.Class<?>>` | `getTypeMap()` JDBC 2.0 Get the type-map object associated with this connection.
    `java.lang.String` | `getURL()`
    `java.lang.String` | `getUser()`
    `java.util.Calendar` | `getUtcCalendar()`
    `java.sql.SQLWarning` | `getWarnings()` The first warning reported by calls on this Connection is returned.
    `boolean` | `hasSameProperties(Connection c)` Does this connection have the same properties as another?
    `boolean` | `hasTriedMaster()` Has this connection tried to execute a query on the "master" server (first host in a multiple host list).
    `void` | `incrementNumberOfPreparedExecutes()`
    `void` | `incrementNumberOfPrepares()`
    `void` | `incrementNumberOfResultSetsCreated()`
    `void` | `initializeExtension(Extension ex)`
    `void` | `initializeResultsMetadataFromCache(java.lang.String sql, CachedResultSetMetaData cachedMetaData, ResultSetInternalMethods resultSet)` Caches CachedResultSetMetaData that has been placed in the cache using the given SQL as a key.
    `void` | `initializeSafeStatementInterceptors()`
    `boolean` | `isAbonormallyLongQuery(long millisOrNanos)`
    `boolean` | `isClientTzUTC()`
    `boolean` | `isClosed()`
    `boolean` | `isCursorFetchEnabled()`
    `boolean` | `isInGlobalTx()` Is this connection currently a participant in an XA transaction?
    `boolean` | `isMasterConnection()` Is this connection connected to the first host in the list if there is a list of servers in the URL?
    `boolean` | `isNoBackslashEscapesSet()` Is the server in a sql_mode that doesn't allow us to use \\ to escape things?
    `boolean` | `isProxySet()`
    `boolean` | `isReadInfoMsgEnabled()`
    `boolean` | `isReadOnly()` Tests to see if the connection is in Read Only Mode.
    `boolean` | `isReadOnly(boolean useSessionStatus)` Tests to see if the connection is in Read Only Mode.
    `boolean` | `isRunningOnJDK13()`
    `boolean` | `isSameResource(Connection otherConnection)` Does this connection have the same resource name as the given connection (for XA)?
    `boolean` | `isServerLocal()` Is the server this connection is connected to "local" (i.e. same host) as the application?
    `boolean` | `isServerTzUTC()`
    `boolean` | `lowerCaseTableNames()` Is the server configured to use lower-case table names only?
    `java.lang.String` | `nativeSQL(java.lang.String sql)` A driver may convert the JDBC sql grammar into its system's native SQL grammar prior to sending it; nativeSQL returns the native form of the statement that the driver would have sent.
    `boolean` | `parserKnowsUnicode()` Does the server this connection is connected to support unicode?
    `void` | `ping()` Detect if the connection is still good
    `void` | `pingInternal(boolean checkForClosedConnection, int timeoutMillis)`
    `java.sql.CallableStatement` | `prepareCall(java.lang.String sql)`
    `java.sql.CallableStatement` | `prepareCall(java.lang.String sql, int resultSetType, int resultSetConcurrency)` JDBC 2.0 Same as prepareCall() above, but allows the default result set type and result set concurrency type to be overridden.
    `java.sql.CallableStatement` | `prepareCall(java.lang.String sql, int resultSetType, int resultSetConcurrency, int resultSetHoldability)`
    `java.sql.PreparedStatement` | `prepareStatement(java.lang.String sql)` A SQL statement with or without IN parameters can be pre-compiled and stored in a PreparedStatement object.
    `java.sql.PreparedStatement` | `prepareStatement(java.lang.String sql, int autoGenKeyIndex)`
    `java.sql.PreparedStatement` | `prepareStatement(java.lang.String sql, int[] autoGenKeyIndexes)`
    `java.sql.PreparedStatement` | `prepareStatement(java.lang.String sql, int resultSetType, int resultSetConcurrency)` JDBC 2.0 Same as prepareStatement() above, but allows the default result set type and result set concurrency type to be overridden.
    `java.sql.PreparedStatement` | `prepareStatement(java.lang.String sql, int resultSetType, int resultSetConcurrency, int resultSetHoldability)`
    `java.sql.PreparedStatement` | `prepareStatement(java.lang.String sql, java.lang.String[] autoGenKeyColNames)`
    `void` | `realClose(boolean calledExplicitly, boolean issueRollback, boolean skipLocalTeardown, java.lang.Throwable reason)` Closes connection and frees resources.
    `void` | `recachePreparedStatement(ServerPreparedStatement pstmt)`
    `void` | `registerQueryExecutionTime(long queryTimeMs)`
    `void` | `registerStatement(Statement stmt)` Register a Statement instance as open.
    `void` | `releaseSavepoint(java.sql.Savepoint arg0)`
    `protected void` | `reportMetricsIfNeeded()` Reports currently collected metrics if this feature is enabled and the timeout has passed.
    `void` | `reportNumberOfTablesAccessed(int numTablesAccessed)`
    `void` | `reportQueryTime(long millisOrNanos)`
    `void` | `resetServerState()` Resets the server-side state of this connection.
    `void` | `rollback()` The method rollback() drops all changes made since the previous commit/rollback and releases any database locks currently held by the Connection.
    `void` | `rollback(java.sql.Savepoint savepoint)`
    `java.sql.PreparedStatement` | `serverPrepareStatement(java.lang.String sql)` Prepares a statement on the server (irregardless of the configuration property 'useServerPrepStmts') with the same semantics as the java.sql.Connection.prepareStatement() method with the same argument types.
    `java.sql.PreparedStatement` | `serverPrepareStatement(java.lang.String sql, int autoGenKeyIndex)` Prepares a statement on the server (irregardless of the configuration property 'useServerPrepStmts') with the same semantics as the java.sql.Connection.prepareStatement() method with the same argument types.
    `java.sql.PreparedStatement` | `serverPrepareStatement(java.lang.String sql, int[] autoGenKeyIndexes)` Prepares a statement on the server (irregardless of the configuration property 'useServerPrepStmts') with the same semantics as the java.sql.Connection.prepareStatement() method with the same argument types.
    `java.sql.PreparedStatement` | `serverPrepareStatement(java.lang.String sql, int resultSetType, int resultSetConcurrency)` Prepares a statement on the server (irregardless of the configuration property 'useServerPrepStmts') with the same semantics as the java.sql.Connection.prepareStatement() method with the same argument types.
    `java.sql.PreparedStatement` | `serverPrepareStatement(java.lang.String sql, int resultSetType, int resultSetConcurrency, int resultSetHoldability)` Prepares a statement on the server (irregardless of the configuration property 'useServerPrepStmts') with the same semantics as the java.sql.Connection.prepareStatement() method with the same argument types.
    `java.sql.PreparedStatement` | `serverPrepareStatement(java.lang.String sql, java.lang.String[] autoGenKeyColNames)` Prepares a statement on the server (irregardless of the configuration property 'useServerPrepStmts') with the same semantics as the java.sql.Connection.prepareStatement() method with the same argument types.
    `boolean` | `serverSupportsConvertFn()`
    `void` | `setAutoCommit(boolean autoCommitFlag)` If a connection is in auto-commit mode, than all its SQL statements will be executed and committed as individual transactions.
    `void` | `setCatalog(java.lang.String catalog)` A sub-space of this Connection's database may be selected by setting a catalog name.
    `void` | `setFailedOver(boolean flag)`
    `void` | `setHoldability(int arg0)`
    `void` | `setInGlobalTx(boolean flag)` Set the state of being in a global (XA) transaction.
    `void` | `setNetworkTimeout(java.util.concurrent.Executor executor, int milliseconds)`
    `void` | `setPreferSlaveDuringFailover(boolean flag)`
    `void` | `setProfilerEventHandlerInstance(com.mysql.jdbc.profiler.ProfilerEventHandler h)`
    `void` | `setProxy(MySQLConnection proxy)`
    `void` | `setReadInfoMsgEnabled(boolean flag)`
    `void` | `setReadOnly(boolean readOnlyFlag)` You can put a connection in read-only mode as a hint to enable database optimizations Note: setReadOnly cannot be called while in the middle of a transaction
    `void` | `setReadOnlyInternal(boolean readOnlyFlag)`
    `void` | `setRealProxy(java.lang.reflect.InvocationHandler proxy)`
    `java.sql.Savepoint` | `setSavepoint()`
    `java.sql.Savepoint` | `setSavepoint(java.lang.String name)`
    `void` | `setSchema(java.lang.String schema)`
    `void` | `setSessionMaxRows(int max)` Sets the sql select limit max-rows for this session if different from current.
    `void` | `setStatementComment(java.lang.String comment)` Sets the comment that will be prepended to all statements sent to the server.
    `void` | `setTransactionIsolation(int level)`
    `void` | `setTypeMap(java.util.Map<java.lang.String,java.lang.Class<?>> map)` JDBC 2.0 Install a type-map object as the default type-map for this connection
    `void` | `shutdownServer()` Used by MiniAdmin to shutdown a MySQL server
    `boolean` | `storesLowerCaseTableName()`
    `boolean` | `supportsIsolationLevel()` Does the server this connection is connected to support isolation levels?
    `boolean` | `supportsQuotedIdentifiers()` Does the server this connection is connected to support quoted identifiers?
    `boolean` | `supportsTransactions()` Does the server this connection is connected to support transactions?
    `void` | `throwConnectionClosedException()`
    `void` | `transactionBegun()`
    `void` | `transactionCompleted()`
    `void` | `unregisterStatement(Statement stmt)` Remove the given statement from the list of open statements
    `void` | `unSafeStatementInterceptors()`
    `boolean` | `useAnsiQuotedIdentifiers()`
    `boolean` | `versionMeetsMinimum(int major, int minor, int subminor)` Does the server this connection is connected to meet or exceed the given version?

    - ### Methods inherited from class com.mysql.jdbc.ConnectionPropertiesImpl

      `exposeAsDriverPropertyInfo, exposeAsDriverPropertyInfoInternal, exposeAsProperties, exposeAsXml, getAllowLoadLocalInfile, getAllowMasterDownConnections, getAllowMultiQueries, getAllowNanAndInf, getAllowPublicKeyRetrieval, getAllowUrlInLocalInfile, getAlwaysSendSetIsolation, getAuthenticationPlugins, getAutoClosePStmtStreams, getAutoDeserialize, getAutoGenerateTestcaseScript, getAutoReconnectForPools, getAutoSlowLog, getBlobsAreStrings, getBlobSendChunkSize, getCacheCallableStatements, getCacheCallableStmts, getCacheDefaultTimezone, getCachePreparedStatements, getCachePrepStmts, getCacheResultSetMetadata, getCacheServerConfiguration, getCallableStatementCacheSize, getCallableStmtCacheSize, getCapitalizeTypeNames, getCharacterSetResults, getClientCertificateKeyStorePassword, getClientCertificateKeyStoreType, getClientCertificateKeyStoreUrl, getClientInfoProvider, getClobberStreamingResults, getClobCharacterEncoding, getCompensateOnDuplicateKeyUpdateCounts, getConnectionAttributes, getConnectionCollation, getConnectionLifecycleInterceptors, getConnectTimeout, getContinueBatchOnError, getCreateDatabaseIfNotExist, getDefaultAuthenticationPlugin, getDefaultFetchSize, getDetectCustomCollations, getDisabledAuthenticationPlugins, getDisconnectOnExpiredPasswords, getDontCheckOnDuplicateKeyUpdateInSQL, getDontTrackOpenResources, getDumpMetadataOnColumnNotFound, getDumpQueriesOnException, getDynamicCalendars, getElideSetAutoCommits, getEmptyStringsConvertToZero, getEmulateLocators, getEmulateUnsupportedPstmts, getEnabledSSLCipherSuites, getEnablePacketDebug, getEnableQueryTimeouts, getEncoding, getExceptionInterceptors, getExplainSlowQueries, getFailOverReadOnly, getFunctionsNeverReturnBlobs, getGatherPerfMetrics, getGatherPerformanceMetrics, getGenerateSimpleParameterMetadata, getGetProceduresReturnsFunctions, getHighAvailability, getHoldResultsOpenOverStatementClose, getIgnoreNonTxTables, getIncludeInnodbStatusInDeadlockExceptions, getIncludeThreadDumpInDeadlockExceptions, getIncludeThreadNamesAsStatementComment, getInitialTimeout, getInteractiveClient, getIsInteractiveClient, getJdbcCompliantTruncation, getJdbcCompliantTruncationForReads, getLargeRowSizeThreshold, getLoadBalanceAutoCommitStatementRegex, getLoadBalanceAutoCommitStatementThreshold, getLoadBalanceBlacklistTimeout, getLoadBalanceConnectionGroup, getLoadBalanceEnableJMX, getLoadBalanceExceptionChecker, getLoadBalancePingTimeout, getLoadBalanceSQLExceptionSubclassFailover, getLoadBalanceSQLStateFailover, getLoadBalanceStrategy, getLoadBalanceValidateConnectionOnSwapServer, getLocalSocketAddress, getLocatorFetchBufferSize, getLogger, getLoggerClassName, getLogSlowQueries, getLogXaCommands, getMaintainTimeStats, getMaxAllowedPacket, getMaxQuerySizeToLog, getMaxReconnects, getMaxRows, getMetadataCacheSize, getNetTimeoutForStreamingResults, getNoAccessToProcedureBodies, getNoDatetimeStringSync, getNoTimezoneConversionForDateType, getNoTimezoneConversionForTimeType, getNullCatalogMeansCurrent, getNullNamePatternMatchesAll, getOverrideSupportsIntegrityEnhancementFacility, getPacketDebugBufferSize, getPadCharsWithSpace, getParanoid, getParseInfoCacheFactory, getPasswordCharacterEncoding, getPedantic, getPinGlobalTxToPhysicalConnection, getPopulateInsertRowWithDefaultValues, getPreparedStatementCacheSize, getPreparedStatementCacheSqlLimit, getPrepStmtCacheSize, getPrepStmtCacheSqlLimit, getProcessEscapeCodesForPrepStmts, getProfilerEventHandler, getProfileSql, getProfileSQL, getPropertiesTransform, getQueriesBeforeRetryMaster, getQueryTimeoutKillsConnection, getReadOnlyPropagatesToServer, getReconnectAtTxEnd, getRelaxAutoCommit, getReplicationEnableJMX, getReportMetricsIntervalMillis, getRequireSSL, getResourceId, getResultSetSizeThreshold, getRetainStatementAfterResultSetClose, getRetriesAllDown, getRewriteBatchedStatements, getRollbackOnPooledClose, getRoundRobinLoadBalance, getRunningCTS13, getSecondsBeforeRetryMaster, getSelfDestructOnPingMaxOperations, getSelfDestructOnPingSecondsLifetime, getServerConfigCacheFactory, getServerRSAPublicKeyFile, getServerTimezone, getSessionVariables, getSlowQueryThresholdMillis, getSlowQueryThresholdNanos, getSocketFactory, getSocketFactoryClassName, getSocketTimeout, getSocksProxyHost, getSocksProxyPort, getStatementInterceptors, getStrictFloatingPoint, getStrictUpdates, getTcpKeepAlive, getTcpNoDelay, getTcpRcvBuf, getTcpSndBuf, getTcpTrafficClass, getTinyInt1isBit, getTraceProtocol, getTransformedBitIsBoolean, getTreatUtilDateAsTimestamp, getTrustCertificateKeyStorePassword, getTrustCertificateKeyStoreType, getTrustCertificateKeyStoreUrl, getUltraDevHack, getUseAffectedRows, getUseBlobToStoreUTF8OutsideBMP, getUseColumnNamesInFindColumn, getUseCompression, getUseConfigs, getUseCursorFetch, getUseDirectRowUnpack, getUseDynamicCharsetInfo, getUseFastDateParsing, getUseFastIntParsing, getUseGmtMillisForDatetimes, getUseHostsInPrivileges, getUseInformationSchema, getUseJDBCCompliantTimezoneShift, getUseJvmCharsetConverters, getUseLegacyDatetimeCode, getUseLocalSessionState, getUseLocalTransactionState, getUseNanosForElapsedTime, getUseOldAliasMetadataBehavior, getUseOldUTF8Behavior, getUseOnlyServerErrorMessages, getUseReadAheadInput, getUseServerPreparedStmts, getUseServerPrepStmts, getUseSqlStateCodes, getUseSSL, getUseSSPSCompatibleTimezoneShift, getUseStreamLengthsInPrepStmts, getUseTimezone, getUseUltraDevWorkAround, getUseUnbufferedInput, getUseUnicode, getUseUsageAdvisor, getUtf8OutsideBmpExcludedColumnNamePattern, getUtf8OutsideBmpIncludedColumnNamePattern, getVerifyServerCertificate, getYearIsDateType, getZeroDateTimeBehavior, initializeFromRef, initializeProperties, postInitialization, setAllowLoadLocalInfile, setAllowMasterDownConnections, setAllowMultiQueries, setAllowNanAndInf, setAllowPublicKeyRetrieval, setAllowUrlInLocalInfile, setAlwaysSendSetIsolation, setAuthenticationPlugins, setAutoClosePStmtStreams, setAutoDeserialize, setAutoGenerateTestcaseScript, setAutoReconnect, setAutoReconnectForConnectionPools, setAutoReconnectForPools, setAutoSlowLog, setBlobsAreStrings, setBlobSendChunkSize, setCacheCallableStatements, setCacheCallableStmts, setCacheDefaultTimezone, setCachePreparedStatements, setCachePrepStmts, setCacheResultSetMetadata, setCacheServerConfiguration, setCallableStatementCacheSize, setCallableStmtCacheSize, setCapitalizeDBMDTypes, setCapitalizeTypeNames, setCharacterEncoding, setCharacterSetResults, setClientCertificateKeyStorePassword, setClientCertificateKeyStoreType, setClientCertificateKeyStoreUrl, setClientInfoProvider, setClobberStreamingResults, setClobCharacterEncoding, setCompensateOnDuplicateKeyUpdateCounts, setConnectionAttributes, setConnectionCollation, setConnectionLifecycleInterceptors, setConnectTimeout, setContinueBatchOnError, setCreateDatabaseIfNotExist, setDefaultAuthenticationPlugin, setDefaultFetchSize, setDetectCustomCollations, setDetectServerPreparedStmts, setDisabledAuthenticationPlugins, setDisconnectOnExpiredPasswords, setDontCheckOnDuplicateKeyUpdateInSQL, setDontTrackOpenResources, setDumpMetadataOnColumnNotFound, setDumpQueriesOnException, setDynamicCalendars, setElideSetAutoCommits, setEmptyStringsConvertToZero, setEmulateLocators, setEmulateUnsupportedPstmts, setEnabledSSLCipherSuites, setEnablePacketDebug, setEnableQueryTimeouts, setEncoding, setExceptionInterceptors, setExplainSlowQueries, setFailOverReadOnly, setFunctionsNeverReturnBlobs, setGatherPerfMetrics, setGatherPerformanceMetrics, setGenerateSimpleParameterMetadata, setGetProceduresReturnsFunctions, setHighAvailability, setHoldResultsOpenOverStatementClose, setIgnoreNonTxTables, setIncludeInnodbStatusInDeadlockExceptions, setIncludeThreadDumpInDeadlockExceptions, setIncludeThreadNamesAsStatementComment, setInitialTimeout, setInteractiveClient, setIsInteractiveClient, setJdbcCompliantTruncation, setJdbcCompliantTruncationForReads, setLargeRowSizeThreshold, setLoadBalanceAutoCommitStatementRegex, setLoadBalanceAutoCommitStatementThreshold, setLoadBalanceBlacklistTimeout, setLoadBalanceConnectionGroup, setLoadBalanceEnableJMX, setLoadBalanceExceptionChecker, setLoadBalancePingTimeout, setLoadBalanceSQLExceptionSubclassFailover, setLoadBalanceSQLStateFailover, setLoadBalanceStrategy, setLoadBalanceValidateConnectionOnSwapServer, setLocalSocketAddress, setLocatorFetchBufferSize, setLogger, setLoggerClassName, setLogSlowQueries, setLogXaCommands, setMaintainTimeStats, setMaxAllowedPacket, setMaxQuerySizeToLog, setMaxReconnects, setMaxRows, setMetadataCacheSize, setNetTimeoutForStreamingResults, setNoAccessToProcedureBodies, setNoDatetimeStringSync, setNoTimezoneConversionForDateType, setNoTimezoneConversionForTimeType, setNullCatalogMeansCurrent, setNullNamePatternMatchesAll, setOverrideSupportsIntegrityEnhancementFacility, setPacketDebugBufferSize, setPadCharsWithSpace, setParanoid, setParseInfoCacheFactory, setPasswordCharacterEncoding, setPedantic, setPinGlobalTxToPhysicalConnection, setPopulateInsertRowWithDefaultValues, setPreparedStatementCacheSize, setPreparedStatementCacheSqlLimit, setPrepStmtCacheSize, setPrepStmtCacheSqlLimit, setProcessEscapeCodesForPrepStmts, setProfilerEventHandler, setProfileSql, setProfileSQL, setPropertiesTransform, setQueriesBeforeRetryMaster, setQueryTimeoutKillsConnection, setReadOnlyPropagatesToServer, setReconnectAtTxEnd, setRelaxAutoCommit, setReplicationEnableJMX, setReportMetricsIntervalMillis, setRequireSSL, setResourceId, setResultSetSizeThreshold, setRetainStatementAfterResultSetClose, setRetriesAllDown, setRewriteBatchedStatements, setRollbackOnPooledClose, setRoundRobinLoadBalance, setRunningCTS13, setSecondsBeforeRetryMaster, setSelfDestructOnPingMaxOperations, setSelfDestructOnPingSecondsLifetime, setServerConfigCacheFactory, setServerRSAPublicKeyFile, setServerTimezone, setSessionVariables, setSlowQueryThresholdMillis, setSlowQueryThresholdNanos, setSocketFactory, setSocketFactoryClassName, setSocketTimeout, setSocksProxyHost, setSocksProxyPort, setStatementInterceptors, setStrictFloatingPoint, setStrictUpdates, setTcpKeepAlive, setTcpNoDelay, setTcpRcvBuf, setTcpSndBuf, setTcpTrafficClass, setTinyInt1isBit, setTraceProtocol, setTransformedBitIsBoolean, setTreatUtilDateAsTimestamp, setTrustCertificateKeyStorePassword, setTrustCertificateKeyStoreType, setTrustCertificateKeyStoreUrl, setUltraDevHack, setUseAffectedRows, setUseBlobToStoreUTF8OutsideBMP, setUseColumnNamesInFindColumn, setUseCompression, setUseConfigs, setUseCursorFetch, setUseDirectRowUnpack, setUseDynamicCharsetInfo, setUseFastDateParsing, setUseFastIntParsing, setUseGmtMillisForDatetimes, setUseHostsInPrivileges, setUseInformationSchema, setUseJDBCCompliantTimezoneShift, setUseJvmCharsetConverters, setUseLegacyDatetimeCode, setUseLocalSessionState, setUseLocalTransactionState, setUseNanosForElapsedTime, setUseOldAliasMetadataBehavior, setUseOldUTF8Behavior, setUseOnlyServerErrorMessages, setUseReadAheadInput, setUseServerPreparedStmts, setUseServerPrepStmts, setUseSqlStateCodes, setUseSSL, setUseSSPSCompatibleTimezoneShift, setUseStreamLengthsInPrepStmts, setUseTimezone, setUseUltraDevWorkAround, setUseUnbufferedInput, setUseUnicode, setUseUsageAdvisor, setUtf8OutsideBmpExcludedColumnNamePattern, setUtf8OutsideBmpIncludedColumnNamePattern, setVerifyServerCertificate, setYearIsDateType, setZeroDateTimeBehavior, storeToRef, useUnbufferedInput`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

    - ### Methods inherited from interface com.mysql.jdbc.MySQLConnection

      `getConnectionAttributes`

    - ### Methods inherited from interface java.sql.Connection

      `createArrayOf, createBlob, createClob, createNClob, createSQLXML, createStruct, getClientInfo, getClientInfo, isValid, setClientInfo, setClientInfo`

    - ### Methods inherited from interface java.sql.Wrapper

      `isWrapperFor, unwrap`

    - ### Methods inherited from interface com.mysql.jdbc.ConnectionProperties

      `exposeAsXml, getAllowLoadLocalInfile, getAllowMasterDownConnections, getAllowMultiQueries, getAllowNanAndInf, getAllowPublicKeyRetrieval, getAllowUrlInLocalInfile, getAlwaysSendSetIsolation, getAuthenticationPlugins, getAutoClosePStmtStreams, getAutoDeserialize, getAutoGenerateTestcaseScript, getAutoReconnectForPools, getAutoSlowLog, getBlobsAreStrings, getBlobSendChunkSize, getCacheCallableStatements, getCacheCallableStmts, getCacheDefaultTimezone, getCachePreparedStatements, getCachePrepStmts, getCacheResultSetMetadata, getCacheServerConfiguration, getCallableStatementCacheSize, getCallableStmtCacheSize, getCapitalizeTypeNames, getCharacterSetResults, getClientCertificateKeyStorePassword, getClientCertificateKeyStoreType, getClientCertificateKeyStoreUrl, getClientInfoProvider, getClobberStreamingResults, getClobCharacterEncoding, getCompensateOnDuplicateKeyUpdateCounts, getConnectionCollation, getConnectionLifecycleInterceptors, getConnectTimeout, getContinueBatchOnError, getCreateDatabaseIfNotExist, getDefaultAuthenticationPlugin, getDefaultFetchSize, getDetectCustomCollations, getDisabledAuthenticationPlugins, getDisconnectOnExpiredPasswords, getDontCheckOnDuplicateKeyUpdateInSQL, getDontTrackOpenResources, getDumpMetadataOnColumnNotFound, getDumpQueriesOnException, getDynamicCalendars, getElideSetAutoCommits, getEmptyStringsConvertToZero, getEmulateLocators, getEmulateUnsupportedPstmts, getEnabledSSLCipherSuites, getEnablePacketDebug, getEnableQueryTimeouts, getEncoding, getExceptionInterceptors, getExplainSlowQueries, getFailOverReadOnly, getFunctionsNeverReturnBlobs, getGatherPerfMetrics, getGatherPerformanceMetrics, getGenerateSimpleParameterMetadata, getGetProceduresReturnsFunctions, getHoldResultsOpenOverStatementClose, getIgnoreNonTxTables, getIncludeInnodbStatusInDeadlockExceptions, getIncludeThreadDumpInDeadlockExceptions, getIncludeThreadNamesAsStatementComment, getInitialTimeout, getInteractiveClient, getIsInteractiveClient, getJdbcCompliantTruncation, getJdbcCompliantTruncationForReads, getLargeRowSizeThreshold, getLoadBalanceAutoCommitStatementRegex, getLoadBalanceAutoCommitStatementThreshold, getLoadBalanceBlacklistTimeout, getLoadBalanceConnectionGroup, getLoadBalanceEnableJMX, getLoadBalanceExceptionChecker, getLoadBalancePingTimeout, getLoadBalanceSQLExceptionSubclassFailover, getLoadBalanceSQLStateFailover, getLoadBalanceStrategy, getLoadBalanceValidateConnectionOnSwapServer, getLocalSocketAddress, getLocatorFetchBufferSize, getLogger, getLoggerClassName, getLogSlowQueries, getLogXaCommands, getMaintainTimeStats, getMaxAllowedPacket, getMaxQuerySizeToLog, getMaxReconnects, getMaxRows, getMetadataCacheSize, getNetTimeoutForStreamingResults, getNoAccessToProcedureBodies, getNoDatetimeStringSync, getNoTimezoneConversionForDateType, getNoTimezoneConversionForTimeType, getNullCatalogMeansCurrent, getNullNamePatternMatchesAll, getOverrideSupportsIntegrityEnhancementFacility, getPacketDebugBufferSize, getPadCharsWithSpace, getParanoid, getParseInfoCacheFactory, getPasswordCharacterEncoding, getPedantic, getPinGlobalTxToPhysicalConnection, getPopulateInsertRowWithDefaultValues, getPreparedStatementCacheSize, getPreparedStatementCacheSqlLimit, getPrepStmtCacheSize, getPrepStmtCacheSqlLimit, getProcessEscapeCodesForPrepStmts, getProfilerEventHandler, getProfileSql, getProfileSQL, getPropertiesTransform, getQueriesBeforeRetryMaster, getQueryTimeoutKillsConnection, getReadOnlyPropagatesToServer, getReconnectAtTxEnd, getRelaxAutoCommit, getReplicationEnableJMX, getReportMetricsIntervalMillis, getRequireSSL, getResourceId, getResultSetSizeThreshold, getRetainStatementAfterResultSetClose, getRetriesAllDown, getRewriteBatchedStatements, getRollbackOnPooledClose, getRoundRobinLoadBalance, getRunningCTS13, getSecondsBeforeRetryMaster, getSelfDestructOnPingMaxOperations, getSelfDestructOnPingSecondsLifetime, getServerConfigCacheFactory, getServerRSAPublicKeyFile, getServerTimezone, getSessionVariables, getSlowQueryThresholdMillis, getSlowQueryThresholdNanos, getSocketFactory, getSocketFactoryClassName, getSocketTimeout, getSocksProxyHost, getSocksProxyPort, getStatementInterceptors, getStrictFloatingPoint, getStrictUpdates, getTcpKeepAlive, getTcpNoDelay, getTcpRcvBuf, getTcpSndBuf, getTcpTrafficClass, getTinyInt1isBit, getTraceProtocol, getTransformedBitIsBoolean, getTreatUtilDateAsTimestamp, getTrustCertificateKeyStorePassword, getTrustCertificateKeyStoreType, getTrustCertificateKeyStoreUrl, getUltraDevHack, getUseAffectedRows, getUseBlobToStoreUTF8OutsideBMP, getUseColumnNamesInFindColumn, getUseCompression, getUseConfigs, getUseCursorFetch, getUseDirectRowUnpack, getUseDynamicCharsetInfo, getUseFastDateParsing, getUseFastIntParsing, getUseGmtMillisForDatetimes, getUseHostsInPrivileges, getUseInformationSchema, getUseJDBCCompliantTimezoneShift, getUseJvmCharsetConverters, getUseLegacyDatetimeCode, getUseLocalSessionState, getUseLocalTransactionState, getUseNanosForElapsedTime, getUseOldAliasMetadataBehavior, getUseOldUTF8Behavior, getUseOnlyServerErrorMessages, getUseReadAheadInput, getUseServerPreparedStmts, getUseServerPrepStmts, getUseSqlStateCodes, getUseSSL, getUseSSPSCompatibleTimezoneShift, getUseStreamLengthsInPrepStmts, getUseTimezone, getUseUltraDevWorkAround, getUseUnbufferedInput, getUseUnicode, getUseUsageAdvisor, getUtf8OutsideBmpExcludedColumnNamePattern, getUtf8OutsideBmpIncludedColumnNamePattern, getVerifyServerCertificate, getYearIsDateType, getZeroDateTimeBehavior, setAllowLoadLocalInfile, setAllowMasterDownConnections, setAllowMultiQueries, setAllowNanAndInf, setAllowPublicKeyRetrieval, setAllowUrlInLocalInfile, setAlwaysSendSetIsolation, setAuthenticationPlugins, setAutoClosePStmtStreams, setAutoDeserialize, setAutoGenerateTestcaseScript, setAutoReconnect, setAutoReconnectForConnectionPools, setAutoReconnectForPools, setAutoSlowLog, setBlobsAreStrings, setBlobSendChunkSize, setCacheCallableStatements, setCacheCallableStmts, setCacheDefaultTimezone, setCachePreparedStatements, setCachePrepStmts, setCacheResultSetMetadata, setCacheServerConfiguration, setCallableStatementCacheSize, setCallableStmtCacheSize, setCapitalizeDBMDTypes, setCapitalizeTypeNames, setCharacterEncoding, setCharacterSetResults, setClientCertificateKeyStorePassword, setClientCertificateKeyStoreType, setClientCertificateKeyStoreUrl, setClientInfoProvider, setClobberStreamingResults, setClobCharacterEncoding, setCompensateOnDuplicateKeyUpdateCounts, setConnectionCollation, setConnectionLifecycleInterceptors, setConnectTimeout, setContinueBatchOnError, setCreateDatabaseIfNotExist, setDefaultAuthenticationPlugin, setDefaultFetchSize, setDetectCustomCollations, setDetectServerPreparedStmts, setDisabledAuthenticationPlugins, setDisconnectOnExpiredPasswords, setDontCheckOnDuplicateKeyUpdateInSQL, setDontTrackOpenResources, setDumpMetadataOnColumnNotFound, setDumpQueriesOnException, setDynamicCalendars, setElideSetAutoCommits, setEmptyStringsConvertToZero, setEmulateLocators, setEmulateUnsupportedPstmts, setEnabledSSLCipherSuites, setEnablePacketDebug, setEnableQueryTimeouts, setEncoding, setExceptionInterceptors, setExplainSlowQueries, setFailOverReadOnly, setFunctionsNeverReturnBlobs, setGatherPerfMetrics, setGatherPerformanceMetrics, setGenerateSimpleParameterMetadata, setGetProceduresReturnsFunctions, setHoldResultsOpenOverStatementClose, setIgnoreNonTxTables, setIncludeInnodbStatusInDeadlockExceptions, setIncludeThreadDumpInDeadlockExceptions, setIncludeThreadNamesAsStatementComment, setInitialTimeout, setInteractiveClient, setIsInteractiveClient, setJdbcCompliantTruncation, setJdbcCompliantTruncationForReads, setLargeRowSizeThreshold, setLoadBalanceAutoCommitStatementRegex, setLoadBalanceAutoCommitStatementThreshold, setLoadBalanceBlacklistTimeout, setLoadBalanceConnectionGroup, setLoadBalanceEnableJMX, setLoadBalanceExceptionChecker, setLoadBalancePingTimeout, setLoadBalanceSQLExceptionSubclassFailover, setLoadBalanceSQLStateFailover, setLoadBalanceStrategy, setLoadBalanceValidateConnectionOnSwapServer, setLocalSocketAddress, setLocatorFetchBufferSize, setLogger, setLoggerClassName, setLogSlowQueries, setLogXaCommands, setMaintainTimeStats, setMaxQuerySizeToLog, setMaxReconnects, setMaxRows, setMetadataCacheSize, setNetTimeoutForStreamingResults, setNoAccessToProcedureBodies, setNoDatetimeStringSync, setNoTimezoneConversionForDateType, setNoTimezoneConversionForTimeType, setNullCatalogMeansCurrent, setNullNamePatternMatchesAll, setOverrideSupportsIntegrityEnhancementFacility, setPacketDebugBufferSize, setPadCharsWithSpace, setParanoid, setParseInfoCacheFactory, setPasswordCharacterEncoding, setPedantic, setPinGlobalTxToPhysicalConnection, setPopulateInsertRowWithDefaultValues, setPreparedStatementCacheSize, setPreparedStatementCacheSqlLimit, setPrepStmtCacheSize, setPrepStmtCacheSqlLimit, setProcessEscapeCodesForPrepStmts, setProfilerEventHandler, setProfileSql, setProfileSQL, setPropertiesTransform, setQueriesBeforeRetryMaster, setQueryTimeoutKillsConnection, setReadOnlyPropagatesToServer, setReconnectAtTxEnd, setRelaxAutoCommit, setReplicationEnableJMX, setReportMetricsIntervalMillis, setRequireSSL, setResourceId, setResultSetSizeThreshold, setRetainStatementAfterResultSetClose, setRetriesAllDown, setRewriteBatchedStatements, setRollbackOnPooledClose, setRoundRobinLoadBalance, setRunningCTS13, setSecondsBeforeRetryMaster, setSelfDestructOnPingMaxOperations, setSelfDestructOnPingSecondsLifetime, setServerConfigCacheFactory, setServerRSAPublicKeyFile, setServerTimezone, setSessionVariables, setSlowQueryThresholdMillis, setSlowQueryThresholdNanos, setSocketFactory, setSocketFactoryClassName, setSocketTimeout, setSocksProxyHost, setSocksProxyPort, setStatementInterceptors, setStrictFloatingPoint, setStrictUpdates, setTcpKeepAlive, setTcpNoDelay, setTcpRcvBuf, setTcpSndBuf, setTcpTrafficClass, setTinyInt1isBit, setTraceProtocol, setTransformedBitIsBoolean, setTreatUtilDateAsTimestamp, setTrustCertificateKeyStorePassword, setTrustCertificateKeyStoreType, setTrustCertificateKeyStoreUrl, setUltraDevHack, setUseAffectedRows, setUseBlobToStoreUTF8OutsideBMP, setUseColumnNamesInFindColumn, setUseCompression, setUseConfigs, setUseCursorFetch, setUseDirectRowUnpack, setUseDynamicCharsetInfo, setUseFastDateParsing, setUseFastIntParsing, setUseGmtMillisForDatetimes, setUseHostsInPrivileges, setUseInformationSchema, setUseJDBCCompliantTimezoneShift, setUseJvmCharsetConverters, setUseLegacyDatetimeCode, setUseLocalSessionState, setUseLocalTransactionState, setUseNanosForElapsedTime, setUseOldAliasMetadataBehavior, setUseOldUTF8Behavior, setUseOnlyServerErrorMessages, setUseReadAheadInput, setUseServerPreparedStmts, setUseServerPrepStmts, setUseSqlStateCodes, setUseSSL, setUseSSPSCompatibleTimezoneShift, setUseStreamLengthsInPrepStmts, setUseTimezone, setUseUltraDevWorkAround, setUseUnbufferedInput, setUseUnicode, setUseUsageAdvisor, setUtf8OutsideBmpExcludedColumnNamePattern, setUtf8OutsideBmpIncludedColumnNamePattern, setVerifyServerCertificate, setYearIsDateType, setZeroDateTimeBehavior, useUnbufferedInput`

- - ### Field Detail

    - #### JDBC_LOCAL_CHARACTER_SET_RESULTS

          public static final java.lang.String JDBC_LOCAL_CHARACTER_SET_RESULTS

      See Also:
        Constant Field Values

    - #### charsetMap

          public static java.util.Map<?,?> charsetMap

      The mapping between MySQL charset names and Java charset names. Initialized by loadCharacterSetMapping()

    - #### DEFAULT_LOGGER_CLASS

          protected static final java.lang.String DEFAULT_LOGGER_CLASS

      Default logger class name
      See Also:
        Constant Field Values

    - #### roundRobinStatsMap

          protected static java.util.Map<?,?> roundRobinStatsMap

    - #### indexToMysqlCharset

          public java.util.Map<java.lang.Integer,java.lang.String> indexToMysqlCharset

      We need this 'bootstrapped', because 4.1 and newer will send fields back with this even before we fill this dynamically from the server.

    - #### indexToCustomMysqlCharset

          public java.util.Map<java.lang.Integer,java.lang.String> indexToCustomMysqlCharset

    - #### props

          protected java.util.Properties props

      Properties for this connection specified by user

    - #### resultSetMetadataCache

          protected com.mysql.jdbc.util.LRUCache resultSetMetadataCache

      Cache of ResultSet metadata

  - ### Constructor Detail

    - #### ConnectionImpl

          protected ConnectionImpl()

      ' For the delegate only

    - #### ConnectionImpl

          public ConnectionImpl(java.lang.String hostToConnectTo,
                        int portToConnectTo,
                        java.util.Properties info,
                        java.lang.String databaseToConnectTo,
                        java.lang.String url)
                         throws java.sql.SQLException

      Creates a connection to a MySQL Server.
      Parameters:
        `hostToConnectTo` - the hostname of the database server
        `portToConnectTo` - the port number the server is listening on
        `info` - a Properties[] list holding the user and password
        `databaseToConnectTo` - the database to connect to
        `url` - the URL of the connection
        `d` - the Driver instantation of the connection
      Throws:
        `java.sql.SQLException` - if a database access error occurs

  - ### Method Detail

    - #### getHost

          public java.lang.String getHost()

      Specified by:
        `getHost` in interface `MySQLConnection`

    - #### isProxySet

          public boolean isProxySet()

      Specified by:
        `isProxySet` in interface `MySQLConnection`

    - #### setProxy

          public void setProxy(MySQLConnection proxy)

      Specified by:
        `setProxy` in interface `MySQLConnection`

    - #### setRealProxy

          public void setRealProxy(java.lang.reflect.InvocationHandler proxy)

    - #### getLoadBalanceSafeProxy

          public MySQLConnection getLoadBalanceSafeProxy()

      Specified by:
        `getLoadBalanceSafeProxy` in interface `MySQLConnection`

    - #### getMultiHostSafeProxy

          public MySQLConnection getMultiHostSafeProxy()

      Specified by:
        `getMultiHostSafeProxy` in interface `MySQLConnection`

    - #### getConnectionMutex

          public java.lang.Object getConnectionMutex()

    - #### appendMessageToException

          protected static java.sql.SQLException appendMessageToException(java.sql.SQLException sqlEx,
                                                       java.lang.String messageToAppend,
                                                       ExceptionInterceptor interceptor)

    - #### getCancelTimer

          public java.util.Timer getCancelTimer()

      Specified by:
        `getCancelTimer` in interface `MySQLConnection`

    - #### getInstance

          protected static Connection getInstance(java.lang.String hostToConnectTo,
                               int portToConnectTo,
                               java.util.Properties info,
                               java.lang.String databaseToConnectTo,
                               java.lang.String url)
                                           throws java.sql.SQLException

      Creates a connection instance -- We need to provide factory-style methods so we can support both JDBC3 (and older) and JDBC4 runtimes, otherwise the class verifier complains when it tries to load JDBC4-only interface classes that are present in JDBC4 method signatures.
      Throws:
        `java.sql.SQLException`

    - #### getNextRoundRobinHostIndex

          protected static int getNextRoundRobinHostIndex(java.lang.String url,
                                       java.util.List<?> hostList)

      Parameters:
        `url` -
        `hostList` -

    - #### unSafeStatementInterceptors

          public void unSafeStatementInterceptors()
                                           throws java.sql.SQLException

      Specified by:
        `unSafeStatementInterceptors` in interface `MySQLConnection`
      Throws:
        `java.sql.SQLException`

    - #### initializeSafeStatementInterceptors

          public void initializeSafeStatementInterceptors()
                                                   throws java.sql.SQLException

      Specified by:
        `initializeSafeStatementInterceptors` in interface `MySQLConnection`
      Throws:
        `java.sql.SQLException`

    - #### getStatementInterceptorsInstances

          public java.util.List<StatementInterceptorV2> getStatementInterceptorsInstances()

      Specified by:
        `getStatementInterceptorsInstances` in interface `MySQLConnection`

    - #### changeUser

          public void changeUser(java.lang.String userName,
                        java.lang.String newPassword)
                          throws java.sql.SQLException

      Changes the user on this connection by performing a re-authentication. If authentication fails, the connection will remain under the context of the current user.
      Parameters:
        `userName` - the username to authenticate with
        `newPassword` - the password to authenticate with
      Throws:
        `java.sql.SQLException` - if authentication fails, or some other error occurs while performing the command.

    - #### checkClosed

          public void checkClosed()
                           throws java.sql.SQLException

      Throws:
        `java.sql.SQLException`

    - #### throwConnectionClosedException

          public void throwConnectionClosedException()
                                              throws java.sql.SQLException

      Specified by:
        `throwConnectionClosedException` in interface `MySQLConnection`
      Throws:
        `java.sql.SQLException`

    - #### abortInternal

          public void abortInternal()
                             throws java.sql.SQLException

      Clobbers the physical network connection and marks this connection as closed.
      Throws:
        `java.sql.SQLException`

    - #### clearHasTriedMaster

          public void clearHasTriedMaster()

    - #### clearWarnings

          public void clearWarnings()
                             throws java.sql.SQLException

      After this call, getWarnings returns null until a new warning is reported for this connection.
      Specified by:
        `clearWarnings` in interface `java.sql.Connection`
      Throws:
        `java.sql.SQLException` - if a database access error occurs

    - #### clientPrepareStatement

          public java.sql.PreparedStatement clientPrepareStatement(java.lang.String sql)
                                                            throws java.sql.SQLException

      Description copied from interface: `Connection`
      Prepares a statement on the client, using client-side emulation (irregardless of the configuration property 'useServerPrepStmts') with the same semantics as the java.sql.Connection.prepareStatement() method with the same argument types.
      Parameters:
        `sql` -
      Throws:
        `java.sql.SQLException`
      See Also:
        `Connection.prepareStatement(String)`

    - #### clientPrepareStatement

          public java.sql.PreparedStatement clientPrepareStatement(java.lang.String sql,
                                                          int autoGenKeyIndex)
                                                            throws java.sql.SQLException

      Description copied from interface: `Connection`
      Prepares a statement on the client, using client-side emulation (irregardless of the configuration property 'useServerPrepStmts') with the same semantics as the java.sql.Connection.prepareStatement() method with the same argument types.
      Throws:
        `java.sql.SQLException`
      See Also:
        `Connection.prepareStatement(String, int)`

    - #### clientPrepareStatement

          public java.sql.PreparedStatement clientPrepareStatement(java.lang.String sql,
                                                          int resultSetType,
                                                          int resultSetConcurrency)
                                                            throws java.sql.SQLException

      Description copied from interface: `Connection`
      Prepares a statement on the client, using client-side emulation (irregardless of the configuration property 'useServerPrepStmts') with the same semantics as the java.sql.Connection.prepareStatement() method with the same argument types.
      Parameters:
        `sql` -
        `resultSetType` -
        `resultSetConcurrency` -
      Throws:
        `java.sql.SQLException`
      See Also:
        `Connection.prepareStatement(String, int, int)`

    - #### clientPrepareStatement

          public java.sql.PreparedStatement clientPrepareStatement(java.lang.String sql,
                                                          int resultSetType,
                                                          int resultSetConcurrency,
                                                          boolean processEscapeCodesIfNeeded)
                                                            throws java.sql.SQLException

      Throws:
        `java.sql.SQLException`

    - #### clientPrepareStatement

          public java.sql.PreparedStatement clientPrepareStatement(java.lang.String sql,
                                                          int[] autoGenKeyIndexes)
                                                            throws java.sql.SQLException

      Description copied from interface: `Connection`
      Prepares a statement on the client, using client-side emulation (irregardless of the configuration property 'useServerPrepStmts') with the same semantics as the java.sql.Connection.prepareStatement() method with the same argument types.
      Throws:
        `java.sql.SQLException`
      See Also:
        `Connection.prepareStatement(String, int[])`

    - #### clientPrepareStatement

          public java.sql.PreparedStatement clientPrepareStatement(java.lang.String sql,
                                                          java.lang.String[] autoGenKeyColNames)
                                                            throws java.sql.SQLException

      Description copied from interface: `Connection`
      Prepares a statement on the client, using client-side emulation (irregardless of the configuration property 'useServerPrepStmts') with the same semantics as the java.sql.Connection.prepareStatement() method with the same argument types.
      Throws:
        `java.sql.SQLException`
      See Also:
        `Connection.prepareStatement(String, String[])`

    - #### clientPrepareStatement

          public java.sql.PreparedStatement clientPrepareStatement(java.lang.String sql,
                                                          int resultSetType,
                                                          int resultSetConcurrency,
                                                          int resultSetHoldability)
                                                            throws java.sql.SQLException

      Description copied from interface: `Connection`
      Prepares a statement on the client, using client-side emulation (irregardless of the configuration property 'useServerPrepStmts') with the same semantics as the java.sql.Connection.prepareStatement() method with the same argument types.
      Throws:
        `java.sql.SQLException`
      See Also:
        `Connection.prepareStatement(String, int, int, int)`

    - #### close

          public void close()
                     throws java.sql.SQLException

      In some cases, it is desirable to immediately release a Connection's database and JDBC resources instead of waiting for them to be automatically released (cant think why off the top of my head) Note: A Connection is automatically closed when it is garbage collected. Certain fatal errors also result in a closed connection.
      Specified by:
        `close` in interface `java.lang.AutoCloseable`
      Specified by:
        `close` in interface `java.sql.Connection`
      Throws:
        `java.sql.SQLException` - if a database access error occurs

    - #### commit

          public void commit()
                      throws java.sql.SQLException

      The method commit() makes all changes made since the previous commit/rollback permanent and releases any database locks currently held by the Connection. This method should only be used when auto-commit has been disabled.

      Note: MySQL does not support transactions, so this method is a no-op.

      Specified by:
        `commit` in interface `java.sql.Connection`
      Throws:
        `java.sql.SQLException` - if a database access error occurs
      See Also:
        `setAutoCommit`

    - #### createNewIO

          public void createNewIO(boolean isForReconnect)
                           throws java.sql.SQLException

      Creates an IO channel to the server
      Specified by:
        `createNewIO` in interface `MySQLConnection`
      Parameters:
        `isForReconnect` - is this request for a re-connect
      Throws:
        `java.sql.SQLException` - if a database access error occurs
        `CommunicationsException`

    - #### createStatement

          public java.sql.Statement createStatement()
                                             throws java.sql.SQLException

      SQL statements without parameters are normally executed using Statement objects. If the same SQL statement is executed many times, it is more efficient to use a PreparedStatement
      Specified by:
        `createStatement` in interface `java.sql.Connection`
      Returns:
        a new Statement object
      Throws:
        `java.sql.SQLException` - passed through from the constructor

    - #### createStatement

          public java.sql.Statement createStatement(int resultSetType,
                                           int resultSetConcurrency)
                                             throws java.sql.SQLException

      JDBC 2.0 Same as createStatement() above, but allows the default result set type and result set concurrency type to be overridden.
      Specified by:
        `createStatement` in interface `java.sql.Connection`
      Parameters:
        `resultSetType` - a result set type, see ResultSet.TYPE_XXX
        `resultSetConcurrency` - a concurrency type, see ResultSet.CONCUR_XXX
      Returns:
        a new Statement object
      Throws:
        `java.sql.SQLException` - if a database-access error occurs.

    - #### createStatement

          public java.sql.Statement createStatement(int resultSetType,
                                           int resultSetConcurrency,
                                           int resultSetHoldability)
                                             throws java.sql.SQLException

      Specified by:
        `createStatement` in interface `java.sql.Connection`
      Throws:
        `java.sql.SQLException`
      See Also:
        `Connection.createStatement(int, int, int)`

    - #### dumpTestcaseQuery

          public void dumpTestcaseQuery(java.lang.String query)

      Specified by:
        `dumpTestcaseQuery` in interface `MySQLConnection`

    - #### duplicate

          public Connection duplicate()
                               throws java.sql.SQLException

      Specified by:
        `duplicate` in interface `MySQLConnection`
      Throws:
        `java.sql.SQLException`

    - #### execSQL

          public ResultSetInternalMethods execSQL(StatementImpl callingStatement,
                                         java.lang.String sql,
                                         int maxRows,
                                         Buffer packet,
                                         int resultSetType,
                                         int resultSetConcurrency,
                                         boolean streamResults,
                                         java.lang.String catalog,
                                         Field[] cachedMetadata)
                                           throws java.sql.SQLException

      Send a query to the server. Returns one of the ResultSet objects. This is synchronized, so Statement's queries will be serialized.
      Specified by:
        `execSQL` in interface `MySQLConnection`
      Parameters:
        `callingStatement` -
        `sql` - the SQL statement to be executed
        `maxRows` -
        `packet` -
        `resultSetType` -
        `resultSetConcurrency` -
        `streamResults` -
        `queryIsSelectOnly` -
        `catalog` -
        `unpackFields` -
      Returns:
        a ResultSet holding the results
      Throws:
        `java.sql.SQLException` - if a database error occurs

    - #### execSQL

          public ResultSetInternalMethods execSQL(StatementImpl callingStatement,
                                         java.lang.String sql,
                                         int maxRows,
                                         Buffer packet,
                                         int resultSetType,
                                         int resultSetConcurrency,
                                         boolean streamResults,
                                         java.lang.String catalog,
                                         Field[] cachedMetadata,
                                         boolean isBatch)
                                           throws java.sql.SQLException

      Specified by:
        `execSQL` in interface `MySQLConnection`
      Throws:
        `java.sql.SQLException`

    - #### extractSqlFromPacket

          public java.lang.String extractSqlFromPacket(java.lang.String possibleSqlQuery,
                                              Buffer queryPacket,
                                              int endOfQueryPacketPosition)
                                                throws java.sql.SQLException

      Specified by:
        `extractSqlFromPacket` in interface `MySQLConnection`
      Throws:
        `java.sql.SQLException`

    - #### generateConnectionCommentBlock

          public java.lang.StringBuilder generateConnectionCommentBlock(java.lang.StringBuilder buf)

      Specified by:
        `generateConnectionCommentBlock` in interface `MySQLConnection`

    - #### getActiveStatementCount

          public int getActiveStatementCount()

      Description copied from interface: `Connection`
      Returns the number of statements active on this connection, which haven't been .close()d.
      Specified by:
        `getActiveStatementCount` in interface `MySQLConnection`

    - #### getAutoCommit

          public boolean getAutoCommit()
                                throws java.sql.SQLException

      Gets the current auto-commit state
      Specified by:
        `getAutoCommit` in interface `java.sql.Connection`
      Returns:
        Current state of auto-commit
      Throws:
        `java.sql.SQLException` - if an error occurs
      See Also:
        `setAutoCommit`

    - #### getCalendarInstanceForSessionOrNew

          public java.util.Calendar getCalendarInstanceForSessionOrNew()

      Optimization to only use one calendar per-session, or calculate it for each call, depending on user configuration
      Specified by:
        `getCalendarInstanceForSessionOrNew` in interface `MySQLConnection`

    - #### getCatalog

          public java.lang.String getCatalog()
                                      throws java.sql.SQLException

      Return the connections current catalog name, or null if no catalog name is set, or we dont support catalogs.

      Note: MySQL's notion of catalogs are individual databases.

      Specified by:
        `getCatalog` in interface `java.sql.Connection`
      Returns:
        the current catalog name or null
      Throws:
        `java.sql.SQLException` - if a database access error occurs

    - #### getCharacterSetMetadata

          public java.lang.String getCharacterSetMetadata()

      Specified by:
        `getCharacterSetMetadata` in interface `MySQLConnection`
      Returns:
        Returns the characterSetMetadata.

    - #### getCharsetConverter

          public SingleByteCharsetConverter getCharsetConverter(java.lang.String javaEncodingName)
                                                         throws java.sql.SQLException

      Returns the locally mapped instance of a charset converter (to avoid overhead of static synchronization).
      Specified by:
        `getCharsetConverter` in interface `MySQLConnection`
      Parameters:
        `javaEncodingName` - the encoding name to retrieve
      Returns:
        a character converter, or null if one couldn't be mapped.
      Throws:
        `java.sql.SQLException`

    - #### getCharsetNameForIndex

          @Deprecated
          public java.lang.String getCharsetNameForIndex(int charsetIndex)
                                                  throws java.sql.SQLException

      Deprecated. replaced by `getEncodingForIndex(int charsetIndex)`
      Specified by:
        `getCharsetNameForIndex` in interface `MySQLConnection`
      Throws:
        `java.sql.SQLException`

    - #### getEncodingForIndex

          public java.lang.String getEncodingForIndex(int charsetIndex)
                                               throws java.sql.SQLException

      Returns the Java character encoding name for the given MySQL server charset index
      Specified by:
        `getEncodingForIndex` in interface `MySQLConnection`
      Parameters:
        `charsetIndex` -
      Returns:
        the Java character encoding name for the given MySQL server charset index
      Throws:
        `java.sql.SQLException` - if the character set index isn't known by the driver

    - #### getDefaultTimeZone

          public java.util.TimeZone getDefaultTimeZone()

      Specified by:
        `getDefaultTimeZone` in interface `MySQLConnection`
      Returns:
        Returns the defaultTimeZone.

    - #### getErrorMessageEncoding

          public java.lang.String getErrorMessageEncoding()

      Specified by:
        `getErrorMessageEncoding` in interface `MySQLConnection`

    - #### getHoldability

          public int getHoldability()
                             throws java.sql.SQLException

      Specified by:
        `getHoldability` in interface `java.sql.Connection`
      Throws:
        `java.sql.SQLException`
      See Also:
        `Connection.getHoldability()`

    - #### getId

          public long getId()

      Specified by:
        `getId` in interface `MySQLConnection`

    - #### getIdleFor

          public long getIdleFor()

      NOT JDBC-Compliant, but clients can use this method to determine how long this connection has been idle. This time (reported in milliseconds) is updated once a query has completed.
      Specified by:
        `getIdleFor` in interface `MySQLConnection`
      Returns:
        number of ms that this connection has been idle, 0 if the driver is busy retrieving results.

    - #### getIO

          public MysqlIO getIO()
                        throws java.sql.SQLException

      Returns the IO channel to the server
      Specified by:
        `getIO` in interface `MySQLConnection`
      Returns:
        the IO channel to the server
      Throws:
        `java.sql.SQLException` - if the connection is closed.

    - #### getLog

          public com.mysql.jdbc.log.Log getLog()
                                        throws java.sql.SQLException

      Returns the log mechanism that should be used to log information from/for this Connection.
      Specified by:
        `getLog` in interface `MySQLConnection`
      Returns:
        the Log instance to use for logging messages.
      Throws:
        `java.sql.SQLException` - if an error occurs

    - #### getMaxBytesPerChar

          public int getMaxBytesPerChar(java.lang.String javaCharsetName)
                                 throws java.sql.SQLException

      Specified by:
        `getMaxBytesPerChar` in interface `MySQLConnection`
      Throws:
        `java.sql.SQLException`

    - #### getMaxBytesPerChar

          public int getMaxBytesPerChar(java.lang.Integer charsetIndex,
                               java.lang.String javaCharsetName)
                                 throws java.sql.SQLException

      Specified by:
        `getMaxBytesPerChar` in interface `MySQLConnection`
      Throws:
        `java.sql.SQLException`

    - #### getMetaData

          public java.sql.DatabaseMetaData getMetaData()
                                                throws java.sql.SQLException

      A connection's database is able to provide information describing its tables, its supported SQL grammar, its stored procedures, the capabilities of this connection, etc. This information is made available through a DatabaseMetaData object.
      Specified by:
        `getMetaData` in interface `java.sql.Connection`
      Returns:
        a DatabaseMetaData object for this connection
      Throws:
        `java.sql.SQLException` - if a database access error occurs

    - #### getMetadataSafeStatement

          public java.sql.Statement getMetadataSafeStatement()
                                                      throws java.sql.SQLException

      Specified by:
        `getMetadataSafeStatement` in interface `MySQLConnection`
      Throws:
        `java.sql.SQLException`

    - #### getNetBufferLength

          public int getNetBufferLength()

      Returns the packet buffer size the MySQL server reported upon connection
      Specified by:
        `getNetBufferLength` in interface `MySQLConnection`

    - #### getServerCharacterEncoding

          @Deprecated
          public java.lang.String getServerCharacterEncoding()

      Deprecated. replaced by `getServerCharset()`
      Description copied from interface: `Connection`
      Returns the server's character set
      Returns:
        the server's character set.

    - #### getServerCharset

          public java.lang.String getServerCharset()

      Returns the server's character set
      Specified by:
        `getServerCharset` in interface `MySQLConnection`
      Returns:
        the server's character set.

    - #### getServerMajorVersion

          public int getServerMajorVersion()

      Specified by:
        `getServerMajorVersion` in interface `MySQLConnection`

    - #### getServerMinorVersion

          public int getServerMinorVersion()

      Specified by:
        `getServerMinorVersion` in interface `MySQLConnection`

    - #### getServerSubMinorVersion

          public int getServerSubMinorVersion()

      Specified by:
        `getServerSubMinorVersion` in interface `MySQLConnection`

    - #### getServerTimezoneTZ

          public java.util.TimeZone getServerTimezoneTZ()

      Description copied from interface: `Connection`
      Returns the TimeZone that represents the configured timezone for the server.
      Specified by:
        `getServerTimezoneTZ` in interface `MySQLConnection`

    - #### getServerVariable

          public java.lang.String getServerVariable(java.lang.String variableName)

      Specified by:
        `getServerVariable` in interface `MySQLConnection`

    - #### getServerVersion

          public java.lang.String getServerVersion()

      Specified by:
        `getServerVersion` in interface `MySQLConnection`

    - #### getSessionLockedCalendar

          public java.util.Calendar getSessionLockedCalendar()

      Specified by:
        `getSessionLockedCalendar` in interface `MySQLConnection`

    - #### getTransactionIsolation

          public int getTransactionIsolation()
                                      throws java.sql.SQLException

      Get this Connection's current transaction isolation mode.
      Specified by:
        `getTransactionIsolation` in interface `java.sql.Connection`
      Returns:
        the current TRANSACTION_ mode value
      Throws:
        `java.sql.SQLException` - if a database access error occurs

    - #### getTypeMap

          public java.util.Map<java.lang.String,java.lang.Class<?>> getTypeMap()
                                                                        throws java.sql.SQLException

      JDBC 2.0 Get the type-map object associated with this connection. By default, the map returned is empty.
      Specified by:
        `getTypeMap` in interface `java.sql.Connection`
      Returns:
        the type map
      Throws:
        `java.sql.SQLException` - if a database error occurs

    - #### getURL

          public java.lang.String getURL()

      Specified by:
        `getURL` in interface `MySQLConnection`

    - #### getUser

          public java.lang.String getUser()

      Specified by:
        `getUser` in interface `MySQLConnection`

    - #### getUtcCalendar

          public java.util.Calendar getUtcCalendar()

      Specified by:
        `getUtcCalendar` in interface `MySQLConnection`

    - #### getWarnings

          public java.sql.SQLWarning getWarnings()
                                          throws java.sql.SQLException

      The first warning reported by calls on this Connection is returned. Note: Sebsequent warnings will be changed to this java.sql.SQLWarning
      Specified by:
        `getWarnings` in interface `java.sql.Connection`
      Returns:
        the first java.sql.SQLWarning or null
      Throws:
        `java.sql.SQLException` - if a database access error occurs

    - #### hasSameProperties

          public boolean hasSameProperties(Connection c)

      Description copied from interface: `Connection`
      Does this connection have the same properties as another?

    - #### getProperties

          public java.util.Properties getProperties()

      Description copied from interface: `Connection`
      Returns the parsed and passed in properties for this connection.
      Specified by:
        `getProperties` in interface `MySQLConnection`

    - #### hasTriedMaster

          public boolean hasTriedMaster()

      Description copied from interface: `Connection`
      Has this connection tried to execute a query on the "master" server (first host in a multiple host list).

    - #### incrementNumberOfPreparedExecutes

          public void incrementNumberOfPreparedExecutes()

      Specified by:
        `incrementNumberOfPreparedExecutes` in interface `MySQLConnection`

    - #### incrementNumberOfPrepares

          public void incrementNumberOfPrepares()

      Specified by:
        `incrementNumberOfPrepares` in interface `MySQLConnection`

    - #### incrementNumberOfResultSetsCreated

          public void incrementNumberOfResultSetsCreated()

      Specified by:
        `incrementNumberOfResultSetsCreated` in interface `MySQLConnection`

    - #### isClientTzUTC

          public boolean isClientTzUTC()

      Specified by:
        `isClientTzUTC` in interface `MySQLConnection`

    - #### isClosed

          public boolean isClosed()

      Specified by:
        `isClosed` in interface `java.sql.Connection`

    - #### isCursorFetchEnabled

          public boolean isCursorFetchEnabled()
                                       throws java.sql.SQLException

      Specified by:
        `isCursorFetchEnabled` in interface `MySQLConnection`
      Throws:
        `java.sql.SQLException`

    - #### isInGlobalTx

          public boolean isInGlobalTx()

      Description copied from interface: `Connection`
      Is this connection currently a participant in an XA transaction?

    - #### isMasterConnection

          public boolean isMasterConnection()

      Is this connection connected to the first host in the list if there is a list of servers in the URL?
      Returns:
        true if this connection is connected to the first in the list.

    - #### isNoBackslashEscapesSet

          public boolean isNoBackslashEscapesSet()

      Is the server in a sql_mode that doesn't allow us to use \\ to escape things?
      Returns:
        Returns the noBackslashEscapes.

    - #### isReadInfoMsgEnabled

          public boolean isReadInfoMsgEnabled()

      Specified by:
        `isReadInfoMsgEnabled` in interface `MySQLConnection`

    - #### isReadOnly

          public boolean isReadOnly()
                             throws java.sql.SQLException

      Tests to see if the connection is in Read Only Mode. Note that prior to 5.6, we cannot really put the database in read only mode, but we pretend we can by returning the value of the readOnly flag
      Specified by:
        `isReadOnly` in interface `MySQLConnection`
      Specified by:
        `isReadOnly` in interface `java.sql.Connection`
      Returns:
        true if the connection is read only
      Throws:
        `java.sql.SQLException` - if a database access error occurs

    - #### isReadOnly

          public boolean isReadOnly(boolean useSessionStatus)
                             throws java.sql.SQLException

      Tests to see if the connection is in Read Only Mode. Note that prior to 5.6, we cannot really put the database in read only mode, but we pretend we can by returning the value of the readOnly flag
      Specified by:
        `isReadOnly` in interface `MySQLConnection`
      Parameters:
        `useSessionStatus` - in some cases, for example when restoring connection with autoReconnect=true, we can rely only on saved readOnly state, so use useSessionStatus=false in that case
      Returns:
        true if the connection is read only
      Throws:
        `java.sql.SQLException` - if a database access error occurs

    - #### isRunningOnJDK13

          public boolean isRunningOnJDK13()

      Specified by:
        `isRunningOnJDK13` in interface `MySQLConnection`

    - #### isSameResource

          public boolean isSameResource(Connection otherConnection)

      Description copied from interface: `Connection`
      Does this connection have the same resource name as the given connection (for XA)?

    - #### isServerTzUTC

          public boolean isServerTzUTC()

      Specified by:
        `isServerTzUTC` in interface `MySQLConnection`

    - #### getAutoIncrementIncrement

          public int getAutoIncrementIncrement()

      Description copied from interface: `Connection`
      Returns the -session- value of 'auto_increment_increment' from the server if it exists, or '1' if not.
      Specified by:
        `getAutoIncrementIncrement` in interface `MySQLConnection`

    - #### lowerCaseTableNames

          public boolean lowerCaseTableNames()

      Is the server configured to use lower-case table names only?
      Specified by:
        `lowerCaseTableNames` in interface `MySQLConnection`
      Returns:
        true if lower_case_table_names is 'on'

    - #### nativeSQL

          public java.lang.String nativeSQL(java.lang.String sql)
                                     throws java.sql.SQLException

      A driver may convert the JDBC sql grammar into its system's native SQL grammar prior to sending it; nativeSQL returns the native form of the statement that the driver would have sent.
      Specified by:
        `nativeSQL` in interface `java.sql.Connection`
      Parameters:
        `sql` - a SQL statement that may contain one or more '?' parameter placeholders
      Returns:
        the native form of this statement
      Throws:
        `java.sql.SQLException` - if a database access error occurs

    - #### parserKnowsUnicode

          public boolean parserKnowsUnicode()

      Description copied from interface: `Connection`
      Does the server this connection is connected to support unicode?

    - #### ping

          public void ping()
                    throws java.sql.SQLException

      Detect if the connection is still good
      Throws:
        `java.sql.SQLException` - if the ping fails

    - #### pingInternal

          public void pingInternal(boolean checkForClosedConnection,
                          int timeoutMillis)
                            throws java.sql.SQLException

      Specified by:
        `pingInternal` in interface `MySQLConnection`
      Throws:
        `java.sql.SQLException`

    - #### prepareCall

          public java.sql.CallableStatement prepareCall(java.lang.String sql)
                                                 throws java.sql.SQLException

      Specified by:
        `prepareCall` in interface `java.sql.Connection`
      Parameters:
        `sql` -
      Throws:
        `java.sql.SQLException`

    - #### prepareCall

          public java.sql.CallableStatement prepareCall(java.lang.String sql,
                                               int resultSetType,
                                               int resultSetConcurrency)
                                                 throws java.sql.SQLException

      JDBC 2.0 Same as prepareCall() above, but allows the default result set type and result set concurrency type to be overridden.
      Specified by:
        `prepareCall` in interface `java.sql.Connection`
      Parameters:
        `sql` - the SQL representing the callable statement
        `resultSetType` - a result set type, see ResultSet.TYPE_XXX
        `resultSetConcurrency` - a concurrency type, see ResultSet.CONCUR_XXX
      Returns:
        a new CallableStatement object containing the pre-compiled SQL statement
      Throws:
        `java.sql.SQLException` - if a database-access error occurs.

    - #### prepareCall

          public java.sql.CallableStatement prepareCall(java.lang.String sql,
                                               int resultSetType,
                                               int resultSetConcurrency,
                                               int resultSetHoldability)
                                                 throws java.sql.SQLException

      Specified by:
        `prepareCall` in interface `java.sql.Connection`
      Throws:
        `java.sql.SQLException`
      See Also:
        `Connection.prepareCall(String, int, int, int)`

    - #### prepareStatement

          public java.sql.PreparedStatement prepareStatement(java.lang.String sql)
                                                      throws java.sql.SQLException

      A SQL statement with or without IN parameters can be pre-compiled and stored in a PreparedStatement object. This object can then be used to efficiently execute this statement multiple times.

      Note: This method is optimized for handling parametric SQL statements that benefit from precompilation if the driver supports precompilation. In this case, the statement is not sent to the database until the PreparedStatement is executed. This has no direct effect on users; however it does affect which method throws certain java.sql.SQLExceptions

      MySQL does not support precompilation of statements, so they are handled by the driver.

      Specified by:
        `prepareStatement` in interface `java.sql.Connection`
      Parameters:
        `sql` - a SQL statement that may contain one or more '?' IN parameter placeholders
      Returns:
        a new PreparedStatement object containing the pre-compiled statement.
      Throws:
        `java.sql.SQLException` - if a database access error occurs.

    - #### prepareStatement

          public java.sql.PreparedStatement prepareStatement(java.lang.String sql,
                                                    int autoGenKeyIndex)
                                                      throws java.sql.SQLException

      Specified by:
        `prepareStatement` in interface `java.sql.Connection`
      Throws:
        `java.sql.SQLException`
      See Also:
        `Connection.prepareStatement(String, int)`

    - #### prepareStatement

          public java.sql.PreparedStatement prepareStatement(java.lang.String sql,
                                                    int resultSetType,
                                                    int resultSetConcurrency)
                                                      throws java.sql.SQLException

      JDBC 2.0 Same as prepareStatement() above, but allows the default result set type and result set concurrency type to be overridden.
      Specified by:
        `prepareStatement` in interface `java.sql.Connection`
      Parameters:
        `sql` - the SQL query containing place holders
        `resultSetType` - a result set type, see ResultSet.TYPE_XXX
        `resultSetConcurrency` - a concurrency type, see ResultSet.CONCUR_XXX
      Returns:
        a new PreparedStatement object containing the pre-compiled SQL statement
      Throws:
        `java.sql.SQLException` - if a database-access error occurs.

    - #### prepareStatement

          public java.sql.PreparedStatement prepareStatement(java.lang.String sql,
                                                    int resultSetType,
                                                    int resultSetConcurrency,
                                                    int resultSetHoldability)
                                                      throws java.sql.SQLException

      Specified by:
        `prepareStatement` in interface `java.sql.Connection`
      Throws:
        `java.sql.SQLException`
      See Also:
        `Connection.prepareStatement(String, int, int, int)`

    - #### prepareStatement

          public java.sql.PreparedStatement prepareStatement(java.lang.String sql,
                                                    int[] autoGenKeyIndexes)
                                                      throws java.sql.SQLException

      Specified by:
        `prepareStatement` in interface `java.sql.Connection`
      Throws:
        `java.sql.SQLException`
      See Also:
        `Connection.prepareStatement(String, int[])`

    - #### prepareStatement

          public java.sql.PreparedStatement prepareStatement(java.lang.String sql,
                                                    java.lang.String[] autoGenKeyColNames)
                                                      throws java.sql.SQLException

      Specified by:
        `prepareStatement` in interface `java.sql.Connection`
      Throws:
        `java.sql.SQLException`
      See Also:
        `Connection.prepareStatement(String, String[])`

    - #### realClose

          public void realClose(boolean calledExplicitly,
                       boolean issueRollback,
                       boolean skipLocalTeardown,
                       java.lang.Throwable reason)
                         throws java.sql.SQLException

      Closes connection and frees resources.
      Specified by:
        `realClose` in interface `MySQLConnection`
      Parameters:
        `calledExplicitly` - is this being called from close()
        `issueRollback` - should a rollback() be issued?
      Throws:
        `java.sql.SQLException` - if an error occurs

    - #### recachePreparedStatement

          public void recachePreparedStatement(ServerPreparedStatement pstmt)
                                        throws java.sql.SQLException

      Specified by:
        `recachePreparedStatement` in interface `MySQLConnection`
      Throws:
        `java.sql.SQLException`

    - #### decachePreparedStatement

          public void decachePreparedStatement(ServerPreparedStatement pstmt)
                                        throws java.sql.SQLException

      Specified by:
        `decachePreparedStatement` in interface `MySQLConnection`
      Throws:
        `java.sql.SQLException`

    - #### registerQueryExecutionTime

          public void registerQueryExecutionTime(long queryTimeMs)

      Specified by:
        `registerQueryExecutionTime` in interface `MySQLConnection`
      Parameters:
        `queryTimeMs` -

    - #### registerStatement

          public void registerStatement(Statement stmt)

      Register a Statement instance as open.
      Specified by:
        `registerStatement` in interface `MySQLConnection`
      Parameters:
        `stmt` - the Statement instance to remove

    - #### releaseSavepoint

          public void releaseSavepoint(java.sql.Savepoint arg0)
                                throws java.sql.SQLException

      Specified by:
        `releaseSavepoint` in interface `java.sql.Connection`
      Throws:
        `java.sql.SQLException`
      See Also:
        `Connection.releaseSavepoint(Savepoint)`

    - #### reportMetricsIfNeeded

          protected void reportMetricsIfNeeded()

      Reports currently collected metrics if this feature is enabled and the timeout has passed.

    - #### reportNumberOfTablesAccessed

          public void reportNumberOfTablesAccessed(int numTablesAccessed)

      Specified by:
        `reportNumberOfTablesAccessed` in interface `MySQLConnection`

    - #### resetServerState

          public void resetServerState()
                                throws java.sql.SQLException

      Resets the server-side state of this connection. Doesn't work for MySQL versions older than 4.0.6 or if isParanoid() is set (it will become a no-op in these cases). Usually only used from connection pooling code.
      Throws:
        `java.sql.SQLException` - if the operation fails while resetting server state.

    - #### rollback

          public void rollback()
                        throws java.sql.SQLException

      The method rollback() drops all changes made since the previous commit/rollback and releases any database locks currently held by the Connection.
      Specified by:
        `rollback` in interface `java.sql.Connection`
      Throws:
        `java.sql.SQLException` - if a database access error occurs
      See Also:
        `commit`

    - #### rollback

          public void rollback(java.sql.Savepoint savepoint)
                        throws java.sql.SQLException

      Specified by:
        `rollback` in interface `java.sql.Connection`
      Throws:
        `java.sql.SQLException`
      See Also:
        `Connection.rollback(Savepoint)`

    - #### serverPrepareStatement

          public java.sql.PreparedStatement serverPrepareStatement(java.lang.String sql)
                                                            throws java.sql.SQLException

      Description copied from interface: `Connection`
      Prepares a statement on the server (irregardless of the configuration property 'useServerPrepStmts') with the same semantics as the java.sql.Connection.prepareStatement() method with the same argument types.
      Throws:
        `java.sql.SQLException`
      See Also:
        `Connection.prepareStatement(String)`

    - #### serverPrepareStatement

          public java.sql.PreparedStatement serverPrepareStatement(java.lang.String sql,
                                                          int autoGenKeyIndex)
                                                            throws java.sql.SQLException

      Description copied from interface: `Connection`
      Prepares a statement on the server (irregardless of the configuration property 'useServerPrepStmts') with the same semantics as the java.sql.Connection.prepareStatement() method with the same argument types.
      Throws:
        `java.sql.SQLException`
      See Also:
        `Connection.prepareStatement(String, int)`

    - #### serverPrepareStatement

          public java.sql.PreparedStatement serverPrepareStatement(java.lang.String sql,
                                                          int resultSetType,
                                                          int resultSetConcurrency)
                                                            throws java.sql.SQLException

      Description copied from interface: `Connection`
      Prepares a statement on the server (irregardless of the configuration property 'useServerPrepStmts') with the same semantics as the java.sql.Connection.prepareStatement() method with the same argument types.
      Throws:
        `java.sql.SQLException`
      See Also:
        `Connection.prepareStatement(String, int, int)`

    - #### serverPrepareStatement

          public java.sql.PreparedStatement serverPrepareStatement(java.lang.String sql,
                                                          int resultSetType,
                                                          int resultSetConcurrency,
                                                          int resultSetHoldability)
                                                            throws java.sql.SQLException

      Description copied from interface: `Connection`
      Prepares a statement on the server (irregardless of the configuration property 'useServerPrepStmts') with the same semantics as the java.sql.Connection.prepareStatement() method with the same argument types.
      Throws:
        `java.sql.SQLException`
      See Also:
        `Connection.prepareStatement(String, int, int, int)`

    - #### serverPrepareStatement

          public java.sql.PreparedStatement serverPrepareStatement(java.lang.String sql,
                                                          int[] autoGenKeyIndexes)
                                                            throws java.sql.SQLException

      Description copied from interface: `Connection`
      Prepares a statement on the server (irregardless of the configuration property 'useServerPrepStmts') with the same semantics as the java.sql.Connection.prepareStatement() method with the same argument types.
      Throws:
        `java.sql.SQLException`
      See Also:
        `Connection.prepareStatement(String, int[])`

    - #### serverPrepareStatement

          public java.sql.PreparedStatement serverPrepareStatement(java.lang.String sql,
                                                          java.lang.String[] autoGenKeyColNames)
                                                            throws java.sql.SQLException

      Description copied from interface: `Connection`
      Prepares a statement on the server (irregardless of the configuration property 'useServerPrepStmts') with the same semantics as the java.sql.Connection.prepareStatement() method with the same argument types.
      Throws:
        `java.sql.SQLException`
      See Also:
        `Connection.prepareStatement(String, String[])`

    - #### serverSupportsConvertFn

          public boolean serverSupportsConvertFn()
                                          throws java.sql.SQLException

      Specified by:
        `serverSupportsConvertFn` in interface `MySQLConnection`
      Throws:
        `java.sql.SQLException`

    - #### setAutoCommit

          public void setAutoCommit(boolean autoCommitFlag)
                             throws java.sql.SQLException

      If a connection is in auto-commit mode, than all its SQL statements will be executed and committed as individual transactions. Otherwise, its SQL statements are grouped into transactions that are terminated by either commit() or rollback(). By default, new connections are in auto- commit mode. The commit occurs when the statement completes or the next execute occurs, whichever comes first. In the case of statements returning a ResultSet, the statement completes when the last row of the ResultSet has been retrieved or the ResultSet has been closed. In advanced cases, a single statement may return multiple results as well as output parameter values. Here the commit occurs when all results and output param values have been retrieved.

      Note: MySQL does not support transactions, so this method is a no-op.

      Specified by:
        `setAutoCommit` in interface `java.sql.Connection`
      Parameters:
        `autoCommitFlag` - - true enables auto-commit; false disables it
      Throws:
        `java.sql.SQLException` - if a database access error occurs

    - #### setCatalog

          public void setCatalog(java.lang.String catalog)
                          throws java.sql.SQLException

      A sub-space of this Connection's database may be selected by setting a catalog name. If the driver does not support catalogs, it will silently ignore this request

      Note: MySQL's notion of catalogs are individual databases.

      Specified by:
        `setCatalog` in interface `java.sql.Connection`
      Parameters:
        `catalog` - the database for this connection to use
      Throws:
        `java.sql.SQLException` - if a database access error occurs

    - #### setFailedOver

          public void setFailedOver(boolean flag)

      Parameters:
        `failedOver` - The failedOver to set.

    - #### setHoldability

          public void setHoldability(int arg0)
                              throws java.sql.SQLException

      Specified by:
        `setHoldability` in interface `java.sql.Connection`
      Throws:
        `java.sql.SQLException`
      See Also:
        `Connection.setHoldability(int)`

    - #### setInGlobalTx

          public void setInGlobalTx(boolean flag)

      Description copied from interface: `Connection`
      Set the state of being in a global (XA) transaction.

    - #### setPreferSlaveDuringFailover

          public void setPreferSlaveDuringFailover(boolean flag)

      Parameters:
        `preferSlaveDuringFailover` - The preferSlaveDuringFailover to set.

    - #### setReadInfoMsgEnabled

          public void setReadInfoMsgEnabled(boolean flag)

      Specified by:
        `setReadInfoMsgEnabled` in interface `MySQLConnection`

    - #### setReadOnly

          public void setReadOnly(boolean readOnlyFlag)
                           throws java.sql.SQLException

      You can put a connection in read-only mode as a hint to enable database optimizations Note: setReadOnly cannot be called while in the middle of a transaction
      Specified by:
        `setReadOnly` in interface `java.sql.Connection`
      Parameters:
        `readOnlyFlag` - - true enables read-only mode; false disables it
      Throws:
        `java.sql.SQLException` - if a database access error occurs

    - #### setReadOnlyInternal

          public void setReadOnlyInternal(boolean readOnlyFlag)
                                   throws java.sql.SQLException

      Specified by:
        `setReadOnlyInternal` in interface `MySQLConnection`
      Throws:
        `java.sql.SQLException`

    - #### setSavepoint

          public java.sql.Savepoint setSavepoint()
                                          throws java.sql.SQLException

      Specified by:
        `setSavepoint` in interface `java.sql.Connection`
      Throws:
        `java.sql.SQLException`
      See Also:
        `Connection.setSavepoint()`

    - #### setSavepoint

          public java.sql.Savepoint setSavepoint(java.lang.String name)
                                          throws java.sql.SQLException

      Specified by:
        `setSavepoint` in interface `java.sql.Connection`
      Throws:
        `java.sql.SQLException`
      See Also:
        `Connection.setSavepoint(String)`

    - #### setTransactionIsolation

          public void setTransactionIsolation(int level)
                                       throws java.sql.SQLException

      Specified by:
        `setTransactionIsolation` in interface `java.sql.Connection`
      Parameters:
        `level` -
      Throws:
        `java.sql.SQLException`

    - #### setTypeMap

          public void setTypeMap(java.util.Map<java.lang.String,java.lang.Class<?>> map)
                          throws java.sql.SQLException

      JDBC 2.0 Install a type-map object as the default type-map for this connection
      Specified by:
        `setTypeMap` in interface `java.sql.Connection`
      Parameters:
        `map` - the type mapping
      Throws:
        `java.sql.SQLException` - if a database error occurs.

    - #### shutdownServer

          public void shutdownServer()
                              throws java.sql.SQLException

      Used by MiniAdmin to shutdown a MySQL server
      Specified by:
        `shutdownServer` in interface `MySQLConnection`
      Throws:
        `java.sql.SQLException` - if the command can not be issued.

    - #### supportsIsolationLevel

          public boolean supportsIsolationLevel()

      Description copied from interface: `Connection`
      Does the server this connection is connected to support isolation levels?

    - #### supportsQuotedIdentifiers

          public boolean supportsQuotedIdentifiers()

      Description copied from interface: `Connection`
      Does the server this connection is connected to support quoted identifiers?

    - #### supportsTransactions

          public boolean supportsTransactions()

      Description copied from interface: `Connection`
      Does the server this connection is connected to support transactions?

    - #### unregisterStatement

          public void unregisterStatement(Statement stmt)

      Remove the given statement from the list of open statements
      Specified by:
        `unregisterStatement` in interface `MySQLConnection`
      Parameters:
        `stmt` - the Statement instance to remove

    - #### useAnsiQuotedIdentifiers

          public boolean useAnsiQuotedIdentifiers()

      Specified by:
        `useAnsiQuotedIdentifiers` in interface `MySQLConnection`

    - #### versionMeetsMinimum

          public boolean versionMeetsMinimum(int major,
                                    int minor,
                                    int subminor)
                                      throws java.sql.SQLException

      Description copied from interface: `Connection`
      Does the server this connection is connected to meet or exceed the given version?
      Throws:
        `java.sql.SQLException`

    - #### getCachedMetaData

          public CachedResultSetMetaData getCachedMetaData(java.lang.String sql)

      Returns cached metadata (or null if not cached) for the given query, which must match _exactly_. This method is synchronized by the caller on getMutex(), so if calling this method from internal code in the driver, make sure it's synchronized on the mutex that guards communication with the server.
      Specified by:
        `getCachedMetaData` in interface `MySQLConnection`
      Parameters:
        `sql` - the query that is the key to the cache
      Returns:
        metadata cached for the given SQL, or none if it doesn't exist.

    - #### initializeResultsMetadataFromCache

          public void initializeResultsMetadataFromCache(java.lang.String sql,
                                                CachedResultSetMetaData cachedMetaData,
                                                ResultSetInternalMethods resultSet)
                                                  throws java.sql.SQLException

      Caches CachedResultSetMetaData that has been placed in the cache using the given SQL as a key. This method is synchronized by the caller on getMutex(), so if calling this method from internal code in the driver, make sure it's synchronized on the mutex that guards communication with the server.
      Specified by:
        `initializeResultsMetadataFromCache` in interface `MySQLConnection`
      Parameters:
        `sql` - the query that the metadata pertains too.
        `cachedMetaData` - metadata (if it exists) to populate the cache.
        `resultSet` - the result set to retreive metadata from, or apply to.
      Throws:
        `java.sql.SQLException`

    - #### getStatementComment

          public java.lang.String getStatementComment()

      Returns the comment that will be prepended to all statements sent to the server.
      Specified by:
        `getStatementComment` in interface `MySQLConnection`
      Returns:
        the comment that will be prepended to all statements sent to the server.

    - #### setStatementComment

          public void setStatementComment(java.lang.String comment)

      Sets the comment that will be prepended to all statements sent to the server. Do not use slash-star or star-slash tokens in the comment as these will be added by the driver itself.
      Parameters:
        `comment` - the comment that will be prepended to all statements sent to the server.

    - #### reportQueryTime

          public void reportQueryTime(long millisOrNanos)

    - #### isAbonormallyLongQuery

          public boolean isAbonormallyLongQuery(long millisOrNanos)

      Specified by:
        `isAbonormallyLongQuery` in interface `MySQLConnection`

    - #### initializeExtension

          public void initializeExtension(Extension ex)
                                   throws java.sql.SQLException

      Throws:
        `java.sql.SQLException`

    - #### transactionBegun

          public void transactionBegun()
                                throws java.sql.SQLException

      Specified by:
        `transactionBegun` in interface `MySQLConnection`
      Throws:
        `java.sql.SQLException`

    - #### transactionCompleted

          public void transactionCompleted()
                                    throws java.sql.SQLException

      Specified by:
        `transactionCompleted` in interface `MySQLConnection`
      Throws:
        `java.sql.SQLException`

    - #### storesLowerCaseTableName

          public boolean storesLowerCaseTableName()

      Specified by:
        `storesLowerCaseTableName` in interface `MySQLConnection`

    - #### getExceptionInterceptor

          public ExceptionInterceptor getExceptionInterceptor()

      Specified by:
        `getExceptionInterceptor` in interface `ConnectionProperties`
      Specified by:
        `getExceptionInterceptor` in interface `MySQLConnection`
      Overrides:
        `getExceptionInterceptor` in class `ConnectionPropertiesImpl`

    - #### getRequiresEscapingEncoder

          public boolean getRequiresEscapingEncoder()

      Specified by:
        `getRequiresEscapingEncoder` in interface `MySQLConnection`

    - #### isServerLocal

          public boolean isServerLocal()
                                throws java.sql.SQLException

      Description copied from interface: `Connection`
      Is the server this connection is connected to "local" (i.e. same host) as the application?
      Throws:
        `java.sql.SQLException`

    - #### getSessionMaxRows

          public int getSessionMaxRows()

      Returns the sql select limit max-rows for this session.

    - #### setSessionMaxRows

          public void setSessionMaxRows(int max)
                                 throws java.sql.SQLException

      Sets the sql select limit max-rows for this session if different from current.
      Parameters:
        `max` - the new max-rows value to set.
      Throws:
        `java.sql.SQLException` - if a database error occurs issuing the statement that sets the limit.

    - #### setSchema

          public void setSchema(java.lang.String schema)
                         throws java.sql.SQLException

      Specified by:
        `setSchema` in interface `java.sql.Connection`
      Throws:
        `java.sql.SQLException`

    - #### getSchema

          public java.lang.String getSchema()
                                     throws java.sql.SQLException

      Specified by:
        `getSchema` in interface `java.sql.Connection`
      Throws:
        `java.sql.SQLException`

    - #### abort

          public void abort(java.util.concurrent.Executor executor)
                     throws java.sql.SQLException

      Terminates an open connection. Calling `abort` results in:
      - The connection marked as closed
      - Closes any physical connection to the database
      - Releases resources used by the connection
      - Insures that any thread that is currently accessing the connection will either progress to completion or throw an `SQLException`.

      Calling `abort` marks the connection closed and releases any resources. Calling `abort` on a closed connection is a no-op.

      It is possible that the aborting and releasing of the resources that are held by the connection can take an extended period of time. When the `abort` method returns, the connection will have been marked as closed and the `Executor` that was passed as a parameter to abort may still be executing tasks to release resources.

      This method checks to see that there is an `SQLPermission` object before allowing the method to proceed. If a `SecurityManager` exists and its `checkPermission` method denies calling `abort`, this method throws a `java.lang.SecurityException`.

      Specified by:
        `abort` in interface `java.sql.Connection`
      Parameters:
        `executor` - The `Executor` implementation which will be used by `abort`.
      Throws:
        `java.sql.SQLException` - if a database access error occurs or the `executor` is `null`,
        `java.lang.SecurityException` - if a security manager exists and its `checkPermission` method denies calling `abort`
      Since:
        1.7
      See Also:
        `SecurityManager.checkPermission(java.security.Permission)`, `Executor`

    - #### setNetworkTimeout

          public void setNetworkTimeout(java.util.concurrent.Executor executor,
                               int milliseconds)
                                 throws java.sql.SQLException

      Specified by:
        `setNetworkTimeout` in interface `java.sql.Connection`
      Throws:
        `java.sql.SQLException`

    - #### getNetworkTimeout

          public int getNetworkTimeout()
                                throws java.sql.SQLException

      Specified by:
        `getNetworkTimeout` in interface `java.sql.Connection`
      Throws:
        `java.sql.SQLException`

    - #### getProfilerEventHandlerInstance

          public com.mysql.jdbc.profiler.ProfilerEventHandler getProfilerEventHandlerInstance()

      Specified by:
        `getProfilerEventHandlerInstance` in interface `MySQLConnection`

    - #### setProfilerEventHandlerInstance

          public void setProfilerEventHandlerInstance(com.mysql.jdbc.profiler.ProfilerEventHandler h)

      Specified by:
        `setProfilerEventHandlerInstance` in interface `MySQLConnection`