Logo Search packages:      
Sourcecode: mysql-connector-java version File versions  Download package

ReplicationConnection.java

/*
 Copyright (c) 2004, 2011, Oracle and/or its affiliates. All rights reserved.

  The MySQL Connector/J is licensed under the terms of the GPLv2
  <http://www.gnu.org/licenses/old-licenses/gpl-2.0.html>, like most MySQL Connectors.
  There are special exceptions to the terms and conditions of the GPLv2 as it is applied to
  this software, see the FLOSS License Exception
  <http://www.mysql.com/about/legal/licensing/foss-exception.html>.

  This program is free software; you can redistribute it and/or modify it under the terms
  of the GNU General Public License as published by the Free Software Foundation; version 2
  of the License.

  This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
  without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
  See the GNU General Public License for more details.

  You should have received a copy of the GNU General Public License along with this
  program; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth
  Floor, Boston, MA 02110-1301  USA
 */
package com.mysql.jdbc;

import java.sql.CallableStatement;
import java.sql.DatabaseMetaData;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.sql.SQLWarning;
import java.sql.Savepoint;
import java.sql.Statement;
import java.util.Map;
import java.util.Properties;
import java.util.TimeZone;

import com.mysql.jdbc.log.Log;

/**
 * Connection that opens two connections, one two a replication master, and
 * another to one or more slaves, and decides to use master when the connection
 * is not read-only, and use slave(s) when the connection is read-only.
 * 
 * @version $Id: ReplicationConnection.java,v 1.1.2.1 2005/05/13 18:58:38
 *          mmatthews Exp $
 */
00045 public class ReplicationConnection implements Connection, PingTarget {
      protected Connection currentConnection;

      protected Connection masterConnection;

      protected Connection slavesConnection;

      protected ReplicationConnection() {}
      
      public ReplicationConnection(Properties masterProperties,
                  Properties slaveProperties) throws SQLException {
            NonRegisteringDriver driver = new NonRegisteringDriver();

            StringBuffer masterUrl = new StringBuffer("jdbc:mysql://");
        StringBuffer slaveUrl = new StringBuffer("jdbc:mysql:loadbalance://");

        String masterHost = masterProperties
            .getProperty(NonRegisteringDriver.HOST_PROPERTY_KEY);
        
        if (masterHost != null) {
            masterUrl.append(masterHost);
        }
 
        int numHosts = Integer.parseInt(slaveProperties.getProperty(
                  NonRegisteringDriver.NUM_HOSTS_PROPERTY_KEY));
        
        for(int i = 1; i <= numHosts; i++){
              String slaveHost = slaveProperties
                  .getProperty(NonRegisteringDriver.HOST_PROPERTY_KEY + "." + i);
              
              if (slaveHost != null) {
                  if(i > 1){
                        slaveUrl.append(',');
                  }
                  slaveUrl.append(slaveHost);
              }
        }

        String masterDb = masterProperties
            .getProperty(NonRegisteringDriver.DBNAME_PROPERTY_KEY);

        masterUrl.append("/");
        
        if (masterDb != null) {
            masterUrl.append(masterDb);
        }
        
        String slaveDb = slaveProperties
            .getProperty(NonRegisteringDriver.DBNAME_PROPERTY_KEY);
        
        slaveUrl.append("/");
        
        if (slaveDb != null) {
            slaveUrl.append(slaveDb);
        }
        
        slaveProperties.setProperty("roundRobinLoadBalance", "true");
        
        this.masterConnection = (com.mysql.jdbc.Connection) driver.connect(
                masterUrl.toString(), masterProperties);
        this.slavesConnection = (com.mysql.jdbc.Connection) driver.connect(
                slaveUrl.toString(), slaveProperties);
        this.slavesConnection.setReadOnly(true);
        
            this.currentConnection = this.masterConnection;
      }

      /*
       * (non-Javadoc)
       * 
       * @see java.sql.Connection#clearWarnings()
       */
      public synchronized void clearWarnings() throws SQLException {
            this.currentConnection.clearWarnings();
      }

      /*
       * (non-Javadoc)
       * 
       * @see java.sql.Connection#close()
       */
      public synchronized void close() throws SQLException {
            this.masterConnection.close();
            this.slavesConnection.close();
      }

      /*
       * (non-Javadoc)
       * 
       * @see java.sql.Connection#commit()
       */
      public synchronized void commit() throws SQLException {
            this.currentConnection.commit();
      }

      /*
       * (non-Javadoc)
       * 
       * @see java.sql.Connection#createStatement()
       */
      public Statement createStatement() throws SQLException {
            Statement stmt = this.currentConnection.createStatement();
            ((com.mysql.jdbc.Statement) stmt).setPingTarget(this);
            
            return stmt;
      }

      /*
       * (non-Javadoc)
       * 
       * @see java.sql.Connection#createStatement(int, int)
       */
      public synchronized Statement createStatement(int resultSetType,
                  int resultSetConcurrency) throws SQLException {
            Statement stmt = this.currentConnection.createStatement(resultSetType,
                        resultSetConcurrency);
            
            ((com.mysql.jdbc.Statement) stmt).setPingTarget(this);
            
            return stmt;
      }

      /*
       * (non-Javadoc)
       * 
       * @see java.sql.Connection#createStatement(int, int, int)
       */
      public synchronized Statement createStatement(int resultSetType,
                  int resultSetConcurrency, int resultSetHoldability)
                  throws SQLException {
            Statement stmt = this.currentConnection.createStatement(resultSetType,
                        resultSetConcurrency, resultSetHoldability);
            
            ((com.mysql.jdbc.Statement) stmt).setPingTarget(this);
            
            return stmt;
      }

      /*
       * (non-Javadoc)
       * 
       * @see java.sql.Connection#getAutoCommit()
       */
      public synchronized boolean getAutoCommit() throws SQLException {
            return this.currentConnection.getAutoCommit();
      }

      /*
       * (non-Javadoc)
       * 
       * @see java.sql.Connection#getCatalog()
       */
      public synchronized String getCatalog() throws SQLException {
            return this.currentConnection.getCatalog();
      }

      public synchronized Connection getCurrentConnection() {
            return this.currentConnection;
      }

      /*
       * (non-Javadoc)
       * 
       * @see java.sql.Connection#getHoldability()
       */
      public synchronized int getHoldability() throws SQLException {
            return this.currentConnection.getHoldability();
      }

      public synchronized Connection getMasterConnection() {
            return this.masterConnection;
      }

      /*
       * (non-Javadoc)
       * 
       * @see java.sql.Connection#getMetaData()
       */
      public synchronized DatabaseMetaData getMetaData() throws SQLException {
            return this.currentConnection.getMetaData();
      }

      public synchronized Connection getSlavesConnection() {
            return this.slavesConnection;
      }

      /*
       * (non-Javadoc)
       * 
       * @see java.sql.Connection#getTransactionIsolation()
       */
      public synchronized int getTransactionIsolation() throws SQLException {
            return this.currentConnection.getTransactionIsolation();
      }

      /*
       * (non-Javadoc)
       * 
       * @see java.sql.Connection#getTypeMap()
       */
      public synchronized Map getTypeMap() throws SQLException {
            return this.currentConnection.getTypeMap();
      }

      /*
       * (non-Javadoc)
       * 
       * @see java.sql.Connection#getWarnings()
       */
      public synchronized SQLWarning getWarnings() throws SQLException {
            return this.currentConnection.getWarnings();
      }

      /*
       * (non-Javadoc)
       * 
       * @see java.sql.Connection#isClosed()
       */
      public synchronized boolean isClosed() throws SQLException {
            return this.currentConnection.isClosed();
      }

      /*
       * (non-Javadoc)
       * 
       * @see java.sql.Connection#isReadOnly()
       */
      public synchronized boolean isReadOnly() throws SQLException {
            return this.currentConnection == this.slavesConnection;
      }

      /*
       * (non-Javadoc)
       * 
       * @see java.sql.Connection#nativeSQL(java.lang.String)
       */
      public synchronized String nativeSQL(String sql) throws SQLException {
            return this.currentConnection.nativeSQL(sql);
      }

      /*
       * (non-Javadoc)
       * 
       * @see java.sql.Connection#prepareCall(java.lang.String)
       */
      public CallableStatement prepareCall(String sql) throws SQLException {
            return this.currentConnection.prepareCall(sql);
      }

      /*
       * (non-Javadoc)
       * 
       * @see java.sql.Connection#prepareCall(java.lang.String, int, int)
       */
      public synchronized CallableStatement prepareCall(String sql,
                  int resultSetType, int resultSetConcurrency) throws SQLException {
            return this.currentConnection.prepareCall(sql, resultSetType,
                        resultSetConcurrency);
      }

      /*
       * (non-Javadoc)
       * 
       * @see java.sql.Connection#prepareCall(java.lang.String, int, int, int)
       */
      public synchronized CallableStatement prepareCall(String sql,
                  int resultSetType, int resultSetConcurrency,
                  int resultSetHoldability) throws SQLException {
            return this.currentConnection.prepareCall(sql, resultSetType,
                        resultSetConcurrency, resultSetHoldability);
      }

      /*
       * (non-Javadoc)
       * 
       * @see java.sql.Connection#prepareStatement(java.lang.String)
       */
      public PreparedStatement prepareStatement(String sql) throws SQLException {
            PreparedStatement pstmt = this.currentConnection.prepareStatement(sql);
            
            ((com.mysql.jdbc.Statement) pstmt).setPingTarget(this);
            
            return pstmt;
      }

      /*
       * (non-Javadoc)
       * 
       * @see java.sql.Connection#prepareStatement(java.lang.String, int)
       */
      public synchronized PreparedStatement prepareStatement(String sql,
                  int autoGeneratedKeys) throws SQLException {
            PreparedStatement pstmt = this.currentConnection.prepareStatement(sql, autoGeneratedKeys);

            ((com.mysql.jdbc.Statement) pstmt).setPingTarget(this);
            
            return pstmt;
      }

      /*
       * (non-Javadoc)
       * 
       * @see java.sql.Connection#prepareStatement(java.lang.String, int, int)
       */
      public synchronized PreparedStatement prepareStatement(String sql,
                  int resultSetType, int resultSetConcurrency) throws SQLException {
            PreparedStatement pstmt = this.currentConnection.prepareStatement(sql, resultSetType,
                        resultSetConcurrency);
            
            ((com.mysql.jdbc.Statement) pstmt).setPingTarget(this);
            
            return pstmt;
      }

      /*
       * (non-Javadoc)
       * 
       * @see java.sql.Connection#prepareStatement(java.lang.String, int, int,
       *      int)
       */
      public synchronized PreparedStatement prepareStatement(String sql,
                  int resultSetType, int resultSetConcurrency,
                  int resultSetHoldability) throws SQLException {
            PreparedStatement pstmt = this.currentConnection.prepareStatement(sql, resultSetType,
                        resultSetConcurrency, resultSetHoldability);

            ((com.mysql.jdbc.Statement) pstmt).setPingTarget(this);
            
            return pstmt;
      }

      /*
       * (non-Javadoc)
       * 
       * @see java.sql.Connection#prepareStatement(java.lang.String, int[])
       */
      public synchronized PreparedStatement prepareStatement(String sql,
                  int[] columnIndexes) throws SQLException {
            PreparedStatement pstmt = this.currentConnection.prepareStatement(sql, columnIndexes);
            
            ((com.mysql.jdbc.Statement) pstmt).setPingTarget(this);
            
            return pstmt;
      }

      /*
       * (non-Javadoc)
       * 
       * @see java.sql.Connection#prepareStatement(java.lang.String,
       *      java.lang.String[])
       */
      public synchronized PreparedStatement prepareStatement(String sql,
                  String[] columnNames) throws SQLException {
            PreparedStatement pstmt = this.currentConnection.prepareStatement(sql, columnNames);

            ((com.mysql.jdbc.Statement) pstmt).setPingTarget(this);
            
            return pstmt;
      }

      /*
       * (non-Javadoc)
       * 
       * @see java.sql.Connection#releaseSavepoint(java.sql.Savepoint)
       */
      public synchronized void releaseSavepoint(Savepoint savepoint)
                  throws SQLException {
            this.currentConnection.releaseSavepoint(savepoint);
      }

      /*
       * (non-Javadoc)
       * 
       * @see java.sql.Connection#rollback()
       */
      public synchronized void rollback() throws SQLException {
            this.currentConnection.rollback();
      }

      /*
       * (non-Javadoc)
       * 
       * @see java.sql.Connection#rollback(java.sql.Savepoint)
       */
      public synchronized void rollback(Savepoint savepoint) throws SQLException {
            this.currentConnection.rollback(savepoint);
      }

      /*
       * (non-Javadoc)
       * 
       * @see java.sql.Connection#setAutoCommit(boolean)
       */
      public synchronized void setAutoCommit(boolean autoCommit)
                  throws SQLException {
            this.currentConnection.setAutoCommit(autoCommit);
      }

      /*
       * (non-Javadoc)
       * 
       * @see java.sql.Connection#setCatalog(java.lang.String)
       */
      public synchronized void setCatalog(String catalog) throws SQLException {
            this.currentConnection.setCatalog(catalog);
      }

      /*
       * (non-Javadoc)
       * 
       * @see java.sql.Connection#setHoldability(int)
       */
      public synchronized void setHoldability(int holdability)
                  throws SQLException {
            this.currentConnection.setHoldability(holdability);
      }

      /*
       * (non-Javadoc)
       * 
       * @see java.sql.Connection#setReadOnly(boolean)
       */
      public synchronized void setReadOnly(boolean readOnly) throws SQLException {
            if (readOnly) {
                  if (currentConnection != slavesConnection) {
                        switchToSlavesConnection();
                  }
            } else {
                  if (currentConnection != masterConnection) {
                        switchToMasterConnection();
                  }
            }
      }

      /*
       * (non-Javadoc)
       * 
       * @see java.sql.Connection#setSavepoint()
       */
      public synchronized Savepoint setSavepoint() throws SQLException {
            return this.currentConnection.setSavepoint();
      }

      /*
       * (non-Javadoc)
       * 
       * @see java.sql.Connection#setSavepoint(java.lang.String)
       */
      public synchronized Savepoint setSavepoint(String name) throws SQLException {
            return this.currentConnection.setSavepoint(name);
      }

      /*
       * (non-Javadoc)
       * 
       * @see java.sql.Connection#setTransactionIsolation(int)
       */
      public synchronized void setTransactionIsolation(int level)
                  throws SQLException {
            this.currentConnection.setTransactionIsolation(level);
      }

      // For testing

      private synchronized void switchToMasterConnection() throws SQLException {
            swapConnections(this.masterConnection, this.slavesConnection);
      }

      private synchronized void switchToSlavesConnection() throws SQLException {
            swapConnections(this.slavesConnection, this.masterConnection);
      }
      
      /**
       * Swaps current context (catalog, autocommit and txn_isolation) from
       * sourceConnection to targetConnection, and makes targetConnection
       * the "current" connection that will be used for queries.
       * 
       * @param switchToConnection the connection to swap from
       * @param switchFromConnection the connection to swap to
       * 
       * @throws SQLException if an error occurs
       */
00527       private synchronized void swapConnections(Connection switchToConnection, 
                  Connection switchFromConnection) throws SQLException {
            String switchFromCatalog = switchFromConnection.getCatalog();
            String switchToCatalog = switchToConnection.getCatalog();

            if (switchToCatalog != null && !switchToCatalog.equals(switchFromCatalog)) {
                  switchToConnection.setCatalog(switchFromCatalog);
            } else if (switchFromCatalog != null) {
                  switchToConnection.setCatalog(switchFromCatalog);
            }

            boolean switchToAutoCommit = switchToConnection.getAutoCommit();
            boolean switchFromConnectionAutoCommit = switchFromConnection.getAutoCommit();
            
            if (switchFromConnectionAutoCommit != switchToAutoCommit) {
                  switchToConnection.setAutoCommit(switchFromConnectionAutoCommit);
            }

            int switchToIsolation = switchToConnection
                        .getTransactionIsolation();

            int switchFromIsolation = switchFromConnection.getTransactionIsolation();
            
            if (switchFromIsolation != switchToIsolation) {
                  switchToConnection
                              .setTransactionIsolation(switchFromIsolation);
            }
            
            this.currentConnection = switchToConnection;
      }

      public synchronized void doPing() throws SQLException {
            if (this.masterConnection != null) {
                  this.masterConnection.ping();
            }
            
            if (this.slavesConnection != null) {
                  this.slavesConnection.ping();
            }
      }

00568       public synchronized void changeUser(String userName, String newPassword)
                  throws SQLException {
            this.masterConnection.changeUser(userName, newPassword);
            this.slavesConnection.changeUser(userName, newPassword);
      }

      public synchronized void clearHasTriedMaster() {
            this.masterConnection.clearHasTriedMaster();
            this.slavesConnection.clearHasTriedMaster();
            
      }

00580       public synchronized PreparedStatement clientPrepareStatement(String sql)
                  throws SQLException {
            PreparedStatement pstmt = this.currentConnection.clientPrepareStatement(sql);
            ((com.mysql.jdbc.Statement) pstmt).setPingTarget(this);
            
            return pstmt;
      }

00588       public synchronized PreparedStatement clientPrepareStatement(String sql,
                  int autoGenKeyIndex) throws SQLException {
            PreparedStatement pstmt = this.currentConnection.clientPrepareStatement(sql, autoGenKeyIndex);
            ((com.mysql.jdbc.Statement) pstmt).setPingTarget(this);
            
            return pstmt;
      }

00596       public synchronized PreparedStatement clientPrepareStatement(String sql,
                  int resultSetType, int resultSetConcurrency) throws SQLException {
            PreparedStatement pstmt = this.currentConnection.clientPrepareStatement(sql, resultSetType, resultSetConcurrency);
            ((com.mysql.jdbc.Statement) pstmt).setPingTarget(this);
            
            return pstmt;
      }

00604       public synchronized PreparedStatement clientPrepareStatement(String sql,
                  int[] autoGenKeyIndexes) throws SQLException {
            PreparedStatement pstmt = this.currentConnection.clientPrepareStatement(sql, autoGenKeyIndexes);
            ((com.mysql.jdbc.Statement) pstmt).setPingTarget(this);
            
            return pstmt;
      }

00612       public synchronized PreparedStatement clientPrepareStatement(String sql,
                  int resultSetType, int resultSetConcurrency,
                  int resultSetHoldability) throws SQLException {
            PreparedStatement pstmt = this.currentConnection.clientPrepareStatement(sql, resultSetType, resultSetConcurrency, resultSetHoldability);
            ((com.mysql.jdbc.Statement) pstmt).setPingTarget(this);
            
            return pstmt;
      }

00621       public synchronized PreparedStatement clientPrepareStatement(String sql,
                  String[] autoGenKeyColNames) throws SQLException {
            PreparedStatement pstmt = this.currentConnection.clientPrepareStatement(sql, autoGenKeyColNames);
            ((com.mysql.jdbc.Statement) pstmt).setPingTarget(this);
            
            return pstmt;
      }

00629       public synchronized int getActiveStatementCount() {
            return this.currentConnection.getActiveStatementCount();
      }

00633       public synchronized long getIdleFor() {
            return this.currentConnection.getIdleFor();
      }

00637       public synchronized Log getLog() throws SQLException {
            return this.currentConnection.getLog();
      }

00641       public synchronized String getServerCharacterEncoding() {
            return this.currentConnection.getServerCharacterEncoding();
      }

00645       public synchronized TimeZone getServerTimezoneTZ() {
            return this.currentConnection.getServerTimezoneTZ();
      }

00649       public synchronized String getStatementComment() {
            return this.currentConnection.getStatementComment();
      }

00653       public synchronized boolean hasTriedMaster() {
            return this.currentConnection.hasTriedMaster();
      }

      public synchronized void initializeExtension(Extension ex) throws SQLException {
            this.currentConnection.initializeExtension(ex);
      }

      public synchronized boolean isAbonormallyLongQuery(long millisOrNanos) {
            return this.currentConnection.isAbonormallyLongQuery(millisOrNanos);
      }

00665       public synchronized boolean isInGlobalTx() {
            return this.currentConnection.isInGlobalTx();
      }

00669       public synchronized boolean isMasterConnection() {
            return this.currentConnection.isMasterConnection();
      }

00673       public synchronized boolean isNoBackslashEscapesSet() {
            return this.currentConnection.isNoBackslashEscapesSet();
      }

00677       public synchronized boolean lowerCaseTableNames() {
            return this.currentConnection.lowerCaseTableNames();
      }

00681       public synchronized boolean parserKnowsUnicode() {
            return this.currentConnection.parserKnowsUnicode();
      }

00685       public synchronized void ping() throws SQLException {
            this.masterConnection.ping();
            this.slavesConnection.ping();
      }

      public synchronized void reportQueryTime(long millisOrNanos) {
            this.currentConnection.reportQueryTime(millisOrNanos);
      }

00694       public synchronized void resetServerState() throws SQLException {
            this.currentConnection.resetServerState();
      }

00698       public synchronized PreparedStatement serverPrepareStatement(String sql)
                  throws SQLException {
            PreparedStatement pstmt = this.currentConnection.serverPrepareStatement(sql);
            ((com.mysql.jdbc.Statement) pstmt).setPingTarget(this);
            
            return pstmt;
      }

00706       public synchronized PreparedStatement serverPrepareStatement(String sql,
                  int autoGenKeyIndex) throws SQLException {
            PreparedStatement pstmt = this.currentConnection.serverPrepareStatement(sql, autoGenKeyIndex);
            ((com.mysql.jdbc.Statement) pstmt).setPingTarget(this);
            
            return pstmt;
      }

00714       public synchronized PreparedStatement serverPrepareStatement(String sql,
                  int resultSetType, int resultSetConcurrency) throws SQLException {
            PreparedStatement pstmt = this.currentConnection.serverPrepareStatement(sql, resultSetType, resultSetConcurrency);
            ((com.mysql.jdbc.Statement) pstmt).setPingTarget(this);
            
            return pstmt;
      }

00722       public synchronized PreparedStatement serverPrepareStatement(String sql,
                  int resultSetType, int resultSetConcurrency,
                  int resultSetHoldability) throws SQLException {
            PreparedStatement pstmt = this.currentConnection.serverPrepareStatement(sql, resultSetType, resultSetConcurrency, resultSetHoldability);
            ((com.mysql.jdbc.Statement) pstmt).setPingTarget(this);
            
            return pstmt;
      }

00731       public synchronized PreparedStatement serverPrepareStatement(String sql,
                  int[] autoGenKeyIndexes) throws SQLException {
            PreparedStatement pstmt = this.currentConnection.serverPrepareStatement(sql, autoGenKeyIndexes);
            ((com.mysql.jdbc.Statement) pstmt).setPingTarget(this);
            
            return pstmt;
      }

00739       public synchronized PreparedStatement serverPrepareStatement(String sql,
                  String[] autoGenKeyColNames) throws SQLException {
            PreparedStatement pstmt = this.currentConnection.serverPrepareStatement(sql, autoGenKeyColNames);
            ((com.mysql.jdbc.Statement) pstmt).setPingTarget(this);
            
            return pstmt;
      }

00747       public synchronized void setFailedOver(boolean flag) {
            this.currentConnection.setFailedOver(flag);
      }

00751       public synchronized void setPreferSlaveDuringFailover(boolean flag) {
            this.currentConnection.setPreferSlaveDuringFailover(flag);
      }

00755       public synchronized void setStatementComment(String comment) {
            this.masterConnection.setStatementComment(comment);
            this.slavesConnection.setStatementComment(comment);
      }

00760       public synchronized void shutdownServer() throws SQLException {
            this.currentConnection.shutdownServer();
      }

00764       public synchronized boolean supportsIsolationLevel() {
            return this.currentConnection.supportsIsolationLevel();
      }

00768       public synchronized boolean supportsQuotedIdentifiers() {
            return this.currentConnection.supportsQuotedIdentifiers();
      }

00772       public synchronized boolean supportsTransactions() {
            return this.currentConnection.supportsTransactions();
      }

00776       public synchronized boolean versionMeetsMinimum(int major, int minor, int subminor)
                  throws SQLException {
            return this.currentConnection.versionMeetsMinimum(major, minor, subminor);
      }

00781       public synchronized String exposeAsXml() throws SQLException {
            return this.currentConnection.exposeAsXml();
      }

00785       public synchronized boolean getAllowLoadLocalInfile() {
            return this.currentConnection.getAllowLoadLocalInfile();
      }

00789       public synchronized boolean getAllowMultiQueries() {
            return this.currentConnection.getAllowMultiQueries();
      }

00793       public synchronized boolean getAllowNanAndInf() {
            return this.currentConnection.getAllowNanAndInf();
      }

00797       public synchronized boolean getAllowUrlInLocalInfile() {
            return this.currentConnection.getAllowUrlInLocalInfile();
      }

00801       public synchronized boolean getAlwaysSendSetIsolation() {
            return this.currentConnection.getAlwaysSendSetIsolation();
      }

      public synchronized boolean getAutoClosePStmtStreams() {
            return this.currentConnection.getAutoClosePStmtStreams();
      }

00809       public synchronized boolean getAutoDeserialize() {
            return this.currentConnection.getAutoDeserialize();
      }

      public synchronized boolean getAutoGenerateTestcaseScript() {
            return this.currentConnection.getAutoGenerateTestcaseScript();
      }

00817       public synchronized boolean getAutoReconnectForPools() {
            return this.currentConnection.getAutoReconnectForPools();
      }

      public synchronized boolean getAutoSlowLog() {
            return this.currentConnection.getAutoSlowLog();
      }

00825       public synchronized int getBlobSendChunkSize() {
            return this.currentConnection.getBlobSendChunkSize();
      }

      public synchronized boolean getBlobsAreStrings() {
            return this.currentConnection.getBlobsAreStrings();
      }

00833       public synchronized boolean getCacheCallableStatements() {
            return this.currentConnection.getCacheCallableStatements();
      }

      public synchronized boolean getCacheCallableStmts() {
            return this.currentConnection.getCacheCallableStmts();
      }

      public synchronized boolean getCachePrepStmts() {
            return this.currentConnection.getCachePrepStmts();
      }

00845       public synchronized boolean getCachePreparedStatements() {
            return this.currentConnection.getCachePreparedStatements();
      }

00849       public synchronized boolean getCacheResultSetMetadata() {
            return this.currentConnection.getCacheResultSetMetadata();
      }

00853       public synchronized boolean getCacheServerConfiguration() {
            return this.currentConnection.getCacheServerConfiguration();
      }

00857       public synchronized int getCallableStatementCacheSize() {
            return this.currentConnection.getCallableStatementCacheSize();
      }

      public synchronized int getCallableStmtCacheSize() {
            return this.currentConnection.getCallableStmtCacheSize();
      }

00865       public synchronized boolean getCapitalizeTypeNames() {
            return this.currentConnection.getCapitalizeTypeNames();
      }

00869       public synchronized String getCharacterSetResults() {
            return this.currentConnection.getCharacterSetResults();
      }

      public synchronized String getClientCertificateKeyStorePassword() {
            return this.currentConnection.getClientCertificateKeyStorePassword();
      }

      public synchronized String getClientCertificateKeyStoreType() {
            return this.currentConnection.getClientCertificateKeyStoreType();
      }

      public synchronized String getClientCertificateKeyStoreUrl() {
            return this.currentConnection.getClientCertificateKeyStoreUrl();
      }

      public synchronized String getClientInfoProvider() {
            return this.currentConnection.getClientInfoProvider();
      }

      public synchronized String getClobCharacterEncoding() {
            return this.currentConnection.getClobCharacterEncoding();
      }

00893       public synchronized boolean getClobberStreamingResults() {
            return this.currentConnection.getClobberStreamingResults();
      }

00897       public synchronized int getConnectTimeout() {
            return this.currentConnection.getConnectTimeout();
      }

00901       public synchronized String getConnectionCollation() {
            return this.currentConnection.getConnectionCollation();
      }

      public synchronized String getConnectionLifecycleInterceptors() {
            return this.currentConnection.getConnectionLifecycleInterceptors();
      }

00909       public synchronized boolean getContinueBatchOnError() {
            return this.currentConnection.getContinueBatchOnError();
      }

      public synchronized boolean getCreateDatabaseIfNotExist() {
            return this.currentConnection.getCreateDatabaseIfNotExist();
      }

      public synchronized int getDefaultFetchSize() {
            return this.currentConnection.getDefaultFetchSize();
      }

00921       public synchronized boolean getDontTrackOpenResources() {
            return this.currentConnection.getDontTrackOpenResources();
      }

      public synchronized boolean getDumpMetadataOnColumnNotFound() {
            return this.currentConnection.getDumpMetadataOnColumnNotFound();
      }

00929       public synchronized boolean getDumpQueriesOnException() {
            return this.currentConnection.getDumpQueriesOnException();
      }

00933       public synchronized boolean getDynamicCalendars() {
            return this.currentConnection.getDynamicCalendars();
      }

00937       public synchronized boolean getElideSetAutoCommits() {
            return this.currentConnection.getElideSetAutoCommits();
      }

      public synchronized boolean getEmptyStringsConvertToZero() {
            return this.currentConnection.getEmptyStringsConvertToZero();
      }

00945       public synchronized boolean getEmulateLocators() {
            return this.currentConnection.getEmulateLocators();
      }

00949       public synchronized boolean getEmulateUnsupportedPstmts() {
            return this.currentConnection.getEmulateUnsupportedPstmts();
      }

00953       public synchronized boolean getEnablePacketDebug() {
            return this.currentConnection.getEnablePacketDebug();
      }

      public synchronized boolean getEnableQueryTimeouts() {
            return this.currentConnection.getEnableQueryTimeouts();
      }

00961       public synchronized String getEncoding() {
            return this.currentConnection.getEncoding();
      }

00965       public synchronized boolean getExplainSlowQueries() {
            return this.currentConnection.getExplainSlowQueries();
      }

00969       public synchronized boolean getFailOverReadOnly() {
            return this.currentConnection.getFailOverReadOnly();
      }

      public synchronized boolean getFunctionsNeverReturnBlobs() {
            return this.currentConnection.getFunctionsNeverReturnBlobs();
      }

      public synchronized boolean getGatherPerfMetrics() {
            return this.currentConnection.getGatherPerfMetrics();
      }

00981       public synchronized boolean getGatherPerformanceMetrics() {
            return this.currentConnection.getGatherPerformanceMetrics();
      }

      public synchronized boolean getGenerateSimpleParameterMetadata() {
            return this.currentConnection.getGenerateSimpleParameterMetadata();
      }

00989       public synchronized boolean getHoldResultsOpenOverStatementClose() {
            return this.currentConnection.getHoldResultsOpenOverStatementClose();
      }

00993       public synchronized boolean getIgnoreNonTxTables() {
            return this.currentConnection.getIgnoreNonTxTables();
      }

      public synchronized boolean getIncludeInnodbStatusInDeadlockExceptions() {
            return this.currentConnection.getIncludeInnodbStatusInDeadlockExceptions();
      }

01001       public synchronized int getInitialTimeout() {
            return this.currentConnection.getInitialTimeout();
      }

01005       public synchronized boolean getInteractiveClient() {
            return this.currentConnection.getInteractiveClient();
      }

01009       public synchronized boolean getIsInteractiveClient() {
            return this.currentConnection.getIsInteractiveClient();
      }

01013       public synchronized boolean getJdbcCompliantTruncation() {
            return this.currentConnection.getJdbcCompliantTruncation();
      }

      public synchronized boolean getJdbcCompliantTruncationForReads() {
            return this.currentConnection.getJdbcCompliantTruncationForReads();
      }

      public synchronized String getLargeRowSizeThreshold() {
            return this.currentConnection.getLargeRowSizeThreshold();
      }

      public synchronized String getLoadBalanceStrategy() {
            return this.currentConnection.getLoadBalanceStrategy();
      }

      public synchronized String getLocalSocketAddress() {
            return this.currentConnection.getLocalSocketAddress();
      }

01033       public synchronized int getLocatorFetchBufferSize() {
            return this.currentConnection.getLocatorFetchBufferSize();
      }

01037       public synchronized boolean getLogSlowQueries() {
            return this.currentConnection.getLogSlowQueries();
      }

      public synchronized boolean getLogXaCommands() {
            return this.currentConnection.getLogXaCommands();
      }

01045       public synchronized String getLogger() {
            return this.currentConnection.getLogger();
      }

01049       public synchronized String getLoggerClassName() {
            return this.currentConnection.getLoggerClassName();
      }

      public synchronized boolean getMaintainTimeStats() {
            return this.currentConnection.getMaintainTimeStats();
      }

01057       public synchronized int getMaxQuerySizeToLog() {
            return this.currentConnection.getMaxQuerySizeToLog();
      }

01061       public synchronized int getMaxReconnects() {
            return this.currentConnection.getMaxReconnects();
      }

01065       public synchronized int getMaxRows() {
            return this.currentConnection.getMaxRows();
      }

01069       public synchronized int getMetadataCacheSize() {
            return this.currentConnection.getMetadataCacheSize();
      }

      public synchronized int getNetTimeoutForStreamingResults() {
            return this.currentConnection.getNetTimeoutForStreamingResults();
      }

      public synchronized boolean getNoAccessToProcedureBodies() {
            return this.currentConnection.getNoAccessToProcedureBodies();
      }

01081       public synchronized boolean getNoDatetimeStringSync() {
            return this.currentConnection.getNoDatetimeStringSync();
      }

      public synchronized boolean getNoTimezoneConversionForTimeType() {
            return this.currentConnection.getNoTimezoneConversionForTimeType();
      }

      public synchronized boolean getNullCatalogMeansCurrent() {
            return this.currentConnection.getNullCatalogMeansCurrent();
      }

      public synchronized boolean getNullNamePatternMatchesAll() {
            return this.currentConnection.getNullNamePatternMatchesAll();
      }

      public synchronized boolean getOverrideSupportsIntegrityEnhancementFacility() {
            return this.currentConnection.getOverrideSupportsIntegrityEnhancementFacility();
      }

01101       public synchronized int getPacketDebugBufferSize() {
            return this.currentConnection.getPacketDebugBufferSize();
      }

      public synchronized boolean getPadCharsWithSpace() {
            return this.currentConnection.getPadCharsWithSpace();
      }

01109       public synchronized boolean getParanoid() {
            return this.currentConnection.getParanoid();
      }

01113       public synchronized boolean getPedantic() {
            return this.currentConnection.getPedantic();
      }

      public synchronized boolean getPinGlobalTxToPhysicalConnection() {
            return this.currentConnection.getPinGlobalTxToPhysicalConnection();
      }

      public synchronized boolean getPopulateInsertRowWithDefaultValues() {
            return this.currentConnection.getPopulateInsertRowWithDefaultValues();
      }

      public synchronized int getPrepStmtCacheSize() {
            return this.currentConnection.getPrepStmtCacheSize();
      }

      public synchronized int getPrepStmtCacheSqlLimit() {
            return this.currentConnection.getPrepStmtCacheSqlLimit();
      }

01133       public synchronized int getPreparedStatementCacheSize() {
            return this.currentConnection.getPreparedStatementCacheSize();
      }

01137       public synchronized int getPreparedStatementCacheSqlLimit() {
            return this.currentConnection.getPreparedStatementCacheSqlLimit();
      }

      public synchronized boolean getProcessEscapeCodesForPrepStmts() {
            return this.currentConnection.getProcessEscapeCodesForPrepStmts();
      }

01145       public synchronized boolean getProfileSQL() {
            return this.currentConnection.getProfileSQL();
      }

01149       public synchronized boolean getProfileSql() {
            return this.currentConnection.getProfileSql();
      }

      public synchronized String getProfilerEventHandler() {
            return this.currentConnection.getProfilerEventHandler();
      }

01157       public synchronized String getPropertiesTransform() {
            return this.currentConnection.getPropertiesTransform();
      }

01161       public synchronized int getQueriesBeforeRetryMaster() {
            return this.currentConnection.getQueriesBeforeRetryMaster();
      }

01165       public synchronized boolean getReconnectAtTxEnd() {
            return this.currentConnection.getReconnectAtTxEnd();
      }

01169       public synchronized boolean getRelaxAutoCommit() {
            return this.currentConnection.getRelaxAutoCommit();
      }

01173       public synchronized int getReportMetricsIntervalMillis() {
            return this.currentConnection.getReportMetricsIntervalMillis();
      }

01177       public synchronized boolean getRequireSSL() {
            return this.currentConnection.getRequireSSL();
      }

      public synchronized String getResourceId() {
            return this.currentConnection.getResourceId();
      }

      public synchronized int getResultSetSizeThreshold() {
            return this.currentConnection.getResultSetSizeThreshold();
      }

      public synchronized boolean getRewriteBatchedStatements() {
            return this.currentConnection.getRewriteBatchedStatements();
      }

01193       public synchronized boolean getRollbackOnPooledClose() {
            return this.currentConnection.getRollbackOnPooledClose();
      }

01197       public synchronized boolean getRoundRobinLoadBalance() {
            return this.currentConnection.getRoundRobinLoadBalance();
      }

01201       public synchronized boolean getRunningCTS13() {
            return this.currentConnection.getRunningCTS13();
      }

01205       public synchronized int getSecondsBeforeRetryMaster() {
            return this.currentConnection.getSecondsBeforeRetryMaster();
      }

      public synchronized int getSelfDestructOnPingMaxOperations() {
            return this.currentConnection.getSelfDestructOnPingMaxOperations();
      }

      public synchronized int getSelfDestructOnPingSecondsLifetime() {
            return this.currentConnection.getSelfDestructOnPingSecondsLifetime();
      }

01217       public synchronized String getServerTimezone() {
            return this.currentConnection.getServerTimezone();
      }

01221       public synchronized String getSessionVariables() {
            return this.currentConnection.getSessionVariables();
      }

01225       public synchronized int getSlowQueryThresholdMillis() {
            return this.currentConnection.getSlowQueryThresholdMillis();
      }

      public synchronized long getSlowQueryThresholdNanos() {
            return this.currentConnection.getSlowQueryThresholdNanos();
      }

      public synchronized String getSocketFactory() {
            return this.currentConnection.getSocketFactory();
      }

01237       public synchronized String getSocketFactoryClassName() {
            return this.currentConnection.getSocketFactoryClassName();
      }

01241       public synchronized int getSocketTimeout() {
            return this.currentConnection.getSocketTimeout();
      }

      public synchronized String getStatementInterceptors() {
            return this.currentConnection.getStatementInterceptors();
      }

01249       public synchronized boolean getStrictFloatingPoint() {
            return this.currentConnection.getStrictFloatingPoint();
      }

01253       public synchronized boolean getStrictUpdates() {
            return this.currentConnection.getStrictUpdates();
      }

      public synchronized boolean getTcpKeepAlive() {
            return this.currentConnection.getTcpKeepAlive();
      }

      public synchronized boolean getTcpNoDelay() {
            return this.currentConnection.getTcpNoDelay();
      }

      public synchronized int getTcpRcvBuf() {
            return this.currentConnection.getTcpRcvBuf();
      }

      public synchronized int getTcpSndBuf() {
            return this.currentConnection.getTcpSndBuf();
      }

      public synchronized int getTcpTrafficClass() {
            return this.currentConnection.getTcpTrafficClass();
      }

01277       public synchronized boolean getTinyInt1isBit() {
            return this.currentConnection.getTinyInt1isBit();
      }

01281       public synchronized boolean getTraceProtocol() {
            return this.currentConnection.getTraceProtocol();
      }

      public synchronized boolean getTransformedBitIsBoolean() {
            return this.currentConnection.getTransformedBitIsBoolean();
      }

      public synchronized boolean getTreatUtilDateAsTimestamp() {
            return this.currentConnection.getTreatUtilDateAsTimestamp();
      }

      public synchronized String getTrustCertificateKeyStorePassword() {
            return this.currentConnection.getTrustCertificateKeyStorePassword();
      }

      public synchronized String getTrustCertificateKeyStoreType() {
            return this.currentConnection.getTrustCertificateKeyStoreType();
      }

      public synchronized String getTrustCertificateKeyStoreUrl() {
            return this.currentConnection.getTrustCertificateKeyStoreUrl();
      }

      public synchronized boolean getUltraDevHack() {
            return this.currentConnection.getUltraDevHack();
      }

      public synchronized boolean getUseBlobToStoreUTF8OutsideBMP() {
            return this.currentConnection.getUseBlobToStoreUTF8OutsideBMP();
      }

01313       public synchronized boolean getUseCompression() {
            return this.currentConnection.getUseCompression();
      }

      public synchronized String getUseConfigs() {
            return this.currentConnection.getUseConfigs();
      }

      public synchronized boolean getUseCursorFetch() {
            return this.currentConnection.getUseCursorFetch();
      }

      public synchronized boolean getUseDirectRowUnpack() {
            return this.currentConnection.getUseDirectRowUnpack();
      }

      public synchronized boolean getUseDynamicCharsetInfo() {
            return this.currentConnection.getUseDynamicCharsetInfo();
      }

      public synchronized boolean getUseFastDateParsing() {
            return this.currentConnection.getUseFastDateParsing();
      }

01337       public synchronized boolean getUseFastIntParsing() {
            return this.currentConnection.getUseFastIntParsing();
      }

      public synchronized boolean getUseGmtMillisForDatetimes() {
            return this.currentConnection.getUseGmtMillisForDatetimes();
      }

01345       public synchronized boolean getUseHostsInPrivileges() {
            return this.currentConnection.getUseHostsInPrivileges();
      }

      public synchronized boolean getUseInformationSchema() {
            return this.currentConnection.getUseInformationSchema();
      }

      public synchronized boolean getUseJDBCCompliantTimezoneShift() {
            return this.currentConnection.getUseJDBCCompliantTimezoneShift();
      }

      public synchronized boolean getUseJvmCharsetConverters() {
            return this.currentConnection.getUseJvmCharsetConverters();
      }

      public synchronized boolean getUseLegacyDatetimeCode() {
            return this.currentConnection.getUseLegacyDatetimeCode();
      }

01365       public synchronized boolean getUseLocalSessionState() {
            return this.currentConnection.getUseLocalSessionState();
      }

      public synchronized boolean getUseNanosForElapsedTime() {
            return this.currentConnection.getUseNanosForElapsedTime();
      }

      public synchronized boolean getUseOldAliasMetadataBehavior() {
            return this.currentConnection.getUseOldAliasMetadataBehavior();
      }

01377       public synchronized boolean getUseOldUTF8Behavior() {
            return this.currentConnection.getUseOldUTF8Behavior();
      }

01381       public synchronized boolean getUseOnlyServerErrorMessages() {
            return this.currentConnection.getUseOnlyServerErrorMessages();
      }

01385       public synchronized boolean getUseReadAheadInput() {
            return this.currentConnection.getUseReadAheadInput();
      }

01389       public synchronized boolean getUseSSL() {
            return this.currentConnection.getUseSSL();
      }

      public synchronized boolean getUseSSPSCompatibleTimezoneShift() {
            return this.currentConnection.getUseSSPSCompatibleTimezoneShift();
      }

      public synchronized boolean getUseServerPrepStmts() {
            return this.currentConnection.getUseServerPrepStmts();
      }

01401       public synchronized boolean getUseServerPreparedStmts() {
            return this.currentConnection.getUseServerPreparedStmts();
      }

01405       public synchronized boolean getUseSqlStateCodes() {
            return this.currentConnection.getUseSqlStateCodes();
      }

01409       public synchronized boolean getUseStreamLengthsInPrepStmts() {
            return this.currentConnection.getUseStreamLengthsInPrepStmts();
      }

01413       public synchronized boolean getUseTimezone() {
            return this.currentConnection.getUseTimezone();
      }

01417       public synchronized boolean getUseUltraDevWorkAround() {
            return this.currentConnection.getUseUltraDevWorkAround();
      }

01421       public synchronized boolean getUseUnbufferedInput() {
            return this.currentConnection.getUseUnbufferedInput();
      }

01425       public synchronized boolean getUseUnicode() {
            return this.currentConnection.getUseUnicode();
      }

01429       public synchronized boolean getUseUsageAdvisor() {
            return this.currentConnection.getUseUsageAdvisor();
      }

      public synchronized String getUtf8OutsideBmpExcludedColumnNamePattern() {
            return this.currentConnection.getUtf8OutsideBmpExcludedColumnNamePattern();
      }

      public synchronized String getUtf8OutsideBmpIncludedColumnNamePattern() {
            return this.currentConnection.getUtf8OutsideBmpIncludedColumnNamePattern();
      }

      public synchronized boolean getVerifyServerCertificate() {
            return this.currentConnection.getVerifyServerCertificate();
      }

      public synchronized boolean getYearIsDateType() {
            return this.currentConnection.getYearIsDateType();
      }

01449       public synchronized String getZeroDateTimeBehavior() {
            return this.currentConnection.getZeroDateTimeBehavior();
      }

01453       public synchronized void setAllowLoadLocalInfile(boolean property) {
            // not runtime configurable
            
      }

01458       public synchronized void setAllowMultiQueries(boolean property) {
            // not runtime configurable
            
      }

01463       public synchronized void setAllowNanAndInf(boolean flag) {
            // not runtime configurable
            
      }

01468       public synchronized void setAllowUrlInLocalInfile(boolean flag) {
            // not runtime configurable
            
      }

01473       public synchronized void setAlwaysSendSetIsolation(boolean flag) {
            // not runtime configurable
            
      }

      public synchronized void setAutoClosePStmtStreams(boolean flag) {
            // not runtime configurable
            
      }

01483       public synchronized void setAutoDeserialize(boolean flag) {
            // not runtime configurable
            
      }

      public synchronized void setAutoGenerateTestcaseScript(boolean flag) {
            // not runtime configurable
            
      }

01493       public synchronized void setAutoReconnect(boolean flag) {
            // not runtime configurable
            
      }

01498       public synchronized void setAutoReconnectForConnectionPools(boolean property) {
            // not runtime configurable
            
      }

01503       public synchronized void setAutoReconnectForPools(boolean flag) {
            // not runtime configurable
            
      }

      public synchronized void setAutoSlowLog(boolean flag) {
            // not runtime configurable
            
      }

01513       public synchronized void setBlobSendChunkSize(String value) throws SQLException {
            // not runtime configurable
            
      }

      public synchronized void setBlobsAreStrings(boolean flag) {
            // not runtime configurable
            
      }

01523       public synchronized void setCacheCallableStatements(boolean flag) {
            // not runtime configurable
            
      }

      public synchronized void setCacheCallableStmts(boolean flag) {
            // not runtime configurable
            
      }

      public synchronized void setCachePrepStmts(boolean flag) {
            // not runtime configurable
            
      }

01538       public synchronized void setCachePreparedStatements(boolean flag) {
            // not runtime configurable
            
      }

01543       public synchronized void setCacheResultSetMetadata(boolean property) {
            // not runtime configurable
            
      }

01548       public synchronized void setCacheServerConfiguration(boolean flag) {
            // not runtime configurable
            
      }

01553       public synchronized void setCallableStatementCacheSize(int size) {
            // not runtime configurable
            
      }

      public synchronized void setCallableStmtCacheSize(int cacheSize) {
            // not runtime configurable
            
      }

01563       public synchronized void setCapitalizeDBMDTypes(boolean property) {
            // not runtime configurable
            
      }

01568       public synchronized void setCapitalizeTypeNames(boolean flag) {
            // not runtime configurable
            
      }

01573       public synchronized void setCharacterEncoding(String encoding) {
            // not runtime configurable
            
      }

01578       public synchronized void setCharacterSetResults(String characterSet) {
            // not runtime configurable
            
      }

      public synchronized void setClientCertificateKeyStorePassword(String value) {
            // not runtime configurable
            
      }

      public synchronized void setClientCertificateKeyStoreType(String value) {
            // not runtime configurable
            
      }

      public synchronized void setClientCertificateKeyStoreUrl(String value) {
            // not runtime configurable
            
      }

      public synchronized void setClientInfoProvider(String classname) {
            // not runtime configurable
            
      }

      public synchronized void setClobCharacterEncoding(String encoding) {
            // not runtime configurable
            
      }

01608       public synchronized void setClobberStreamingResults(boolean flag) {
            // not runtime configurable
            
      }

01613       public synchronized void setConnectTimeout(int timeoutMs) {
            // not runtime configurable
            
      }

01618       public synchronized void setConnectionCollation(String collation) {
            // not runtime configurable
            
      }

      public synchronized void setConnectionLifecycleInterceptors(String interceptors) {
            // not runtime configurable
            
      }

01628       public synchronized void setContinueBatchOnError(boolean property) {
            // not runtime configurable
            
      }

      public synchronized void setCreateDatabaseIfNotExist(boolean flag) {
            // not runtime configurable
            
      }

      public synchronized void setDefaultFetchSize(int n) {
            // not runtime configurable
            
      }

01643       public synchronized void setDetectServerPreparedStmts(boolean property) {
            // not runtime configurable
            
      }

01648       public synchronized void setDontTrackOpenResources(boolean flag) {
            // not runtime configurable
            
      }

      public synchronized void setDumpMetadataOnColumnNotFound(boolean flag) {
            // not runtime configurable
            
      }

01658       public synchronized void setDumpQueriesOnException(boolean flag) {
            // not runtime configurable
            
      }

01663       public synchronized void setDynamicCalendars(boolean flag) {
            // not runtime configurable
            
      }

01668       public synchronized void setElideSetAutoCommits(boolean flag) {
            // not runtime configurable
            
      }

      public synchronized void setEmptyStringsConvertToZero(boolean flag) {
            // not runtime configurable
            
      }

01678       public synchronized void setEmulateLocators(boolean property) {
            // not runtime configurable
            
      }

01683       public synchronized void setEmulateUnsupportedPstmts(boolean flag) {
            // not runtime configurable
            
      }

01688       public synchronized void setEnablePacketDebug(boolean flag) {
            // not runtime configurable
            
      }

      public synchronized void setEnableQueryTimeouts(boolean flag) {
            // not runtime configurable
            
      }

01698       public synchronized void setEncoding(String property) {
            // not runtime configurable
            
      }

01703       public synchronized void setExplainSlowQueries(boolean flag) {
            // not runtime configurable
            
      }

01708       public synchronized void setFailOverReadOnly(boolean flag) {
            // not runtime configurable
            
      }

      public synchronized void setFunctionsNeverReturnBlobs(boolean flag) {
            // not runtime configurable
            
      }

      public synchronized void setGatherPerfMetrics(boolean flag) {
            // not runtime configurable
            
      }

01723       public synchronized void setGatherPerformanceMetrics(boolean flag) {
            // not runtime configurable
            
      }

      public synchronized void setGenerateSimpleParameterMetadata(boolean flag) {
            // not runtime configurable
            
      }

01733       public synchronized void setHoldResultsOpenOverStatementClose(boolean flag) {
            // not runtime configurable
            
      }

01738       public synchronized void setIgnoreNonTxTables(boolean property) {
            // not runtime configurable
            
      }

      public synchronized void setIncludeInnodbStatusInDeadlockExceptions(boolean flag) {
            // not runtime configurable
            
      }

01748       public synchronized void setInitialTimeout(int property) {
            // not runtime configurable
            
      }

      public synchronized void setInteractiveClient(boolean property) {
            // not runtime configurable
            
      }

01758       public synchronized void setIsInteractiveClient(boolean property) {
            // not runtime configurable
            
      }

01763       public synchronized void setJdbcCompliantTruncation(boolean flag) {
            // not runtime configurable
            
      }

      public synchronized void setJdbcCompliantTruncationForReads(
                  boolean jdbcCompliantTruncationForReads) {
            // not runtime configurable
            
      }

      public synchronized void setLargeRowSizeThreshold(String value) {
            // not runtime configurable
            
      }

      public synchronized void setLoadBalanceStrategy(String strategy) {
            // not runtime configurable
            
      }

      public synchronized void setLocalSocketAddress(String address) {
            // not runtime configurable
            
      }

01789       public synchronized void setLocatorFetchBufferSize(String value) throws SQLException {
            // not runtime configurable
            
      }

01794       public synchronized void setLogSlowQueries(boolean flag) {
            // not runtime configurable
            
      }

      public synchronized void setLogXaCommands(boolean flag) {
            // not runtime configurable
            
      }

01804       public synchronized void setLogger(String property) {
            // not runtime configurable
            
      }

01809       public synchronized void setLoggerClassName(String className) {
            // not runtime configurable
            
      }

      public synchronized void setMaintainTimeStats(boolean flag) {
            // not runtime configurable
            
      }

01819       public synchronized void setMaxQuerySizeToLog(int sizeInBytes) {
            // not runtime configurable
            
      }

01824       public synchronized void setMaxReconnects(int property) {
            // not runtime configurable
            
      }

01829       public synchronized void setMaxRows(int property) {
            // not runtime configurable
            
      }

01834       public synchronized void setMetadataCacheSize(int value) {
            // not runtime configurable
            
      }

      public synchronized void setNetTimeoutForStreamingResults(int value) {
            // not runtime configurable
            
      }

      public synchronized void setNoAccessToProcedureBodies(boolean flag) {
            // not runtime configurable
            
      }

01849       public synchronized void setNoDatetimeStringSync(boolean flag) {
            // not runtime configurable
            
      }

      public synchronized void setNoTimezoneConversionForTimeType(boolean flag) {
            // not runtime configurable
            
      }

      public synchronized void setNullCatalogMeansCurrent(boolean value) {
            // not runtime configurable
            
      }

      public synchronized void setNullNamePatternMatchesAll(boolean value) {
            // not runtime configurable
            
      }

      public synchronized void setOverrideSupportsIntegrityEnhancementFacility(boolean flag) {
            // not runtime configurable
            
      }

01874       public synchronized void setPacketDebugBufferSize(int size) {
            // not runtime configurable
            
      }

      public synchronized void setPadCharsWithSpace(boolean flag) {
            // not runtime configurable
            
      }

01884       public synchronized void setParanoid(boolean property) {
            // not runtime configurable
            
      }

01889       public synchronized void setPedantic(boolean property) {
            // not runtime configurable
            
      }

      public synchronized void setPinGlobalTxToPhysicalConnection(boolean flag) {
            // not runtime configurable
            
      }

      public synchronized void setPopulateInsertRowWithDefaultValues(boolean flag) {
            // not runtime configurable
            
      }

      public synchronized void setPrepStmtCacheSize(int cacheSize) {
            // not runtime configurable
            
      }

      public synchronized void setPrepStmtCacheSqlLimit(int sqlLimit) {
            // not runtime configurable
            
      }

01914       public synchronized void setPreparedStatementCacheSize(int cacheSize) {
            // not runtime configurable
            
      }

01919       public synchronized void setPreparedStatementCacheSqlLimit(int cacheSqlLimit) {
            // not runtime configurable
            
      }

      public synchronized void setProcessEscapeCodesForPrepStmts(boolean flag) {
            // not runtime configurable
            
      }

01929       public synchronized void setProfileSQL(boolean flag) {
            // not runtime configurable
            
      }

01934       public synchronized void setProfileSql(boolean property) {
            // not runtime configurable
            
      }

      public synchronized void setProfilerEventHandler(String handler) {
            // not runtime configurable
            
      }

01944       public synchronized void setPropertiesTransform(String value) {
            // not runtime configurable
            
      }

01949       public synchronized void setQueriesBeforeRetryMaster(int property) {
            // not runtime configurable
            
      }

01954       public synchronized void setReconnectAtTxEnd(boolean property) {
            // not runtime configurable
            
      }

01959       public synchronized void setRelaxAutoCommit(boolean property) {
            // not runtime configurable
            
      }

01964       public synchronized void setReportMetricsIntervalMillis(int millis) {
            // not runtime configurable
            
      }

01969       public synchronized void setRequireSSL(boolean property) {
            // not runtime configurable
            
      }

      public synchronized void setResourceId(String resourceId) {
            // not runtime configurable
            
      }

      public synchronized void setResultSetSizeThreshold(int threshold) {
            // not runtime configurable
            
      }

      public synchronized void setRetainStatementAfterResultSetClose(boolean flag) {
            // not runtime configurable
            
      }

      public synchronized void setRewriteBatchedStatements(boolean flag) {
            // not runtime configurable
            
      }

01994       public synchronized void setRollbackOnPooledClose(boolean flag) {
            // not runtime configurable
            
      }

01999       public synchronized void setRoundRobinLoadBalance(boolean flag) {
            // not runtime configurable
            
      }

02004       public synchronized void setRunningCTS13(boolean flag) {
            // not runtime configurable
            
      }

02009       public synchronized void setSecondsBeforeRetryMaster(int property) {
            // not runtime configurable
            
      }

      public synchronized void setSelfDestructOnPingMaxOperations(int maxOperations) {
            // not runtime configurable
            
      }

      public synchronized void setSelfDestructOnPingSecondsLifetime(int seconds) {
            // not runtime configurable
            
      }

02024       public synchronized void setServerTimezone(String property) {
            // not runtime configurable
            
      }

02029       public synchronized void setSessionVariables(String variables) {
            // not runtime configurable
            
      }

02034       public synchronized void setSlowQueryThresholdMillis(int millis) {
            // not runtime configurable
            
      }

      public synchronized void setSlowQueryThresholdNanos(long nanos) {
            // not runtime configurable
            
      }

      public synchronized void setSocketFactory(String name) {
            // not runtime configurable
            
      }

02049       public synchronized void setSocketFactoryClassName(String property) {
            // not runtime configurable
            
      }

02054       public synchronized void setSocketTimeout(int property) {
            // not runtime configurable
            
      }

      public synchronized void setStatementInterceptors(String value) {
            // not runtime configurable
            
      }

02064       public synchronized void setStrictFloatingPoint(boolean property) {
            // not runtime configurable
            
      }

02069       public synchronized void setStrictUpdates(boolean property) {
            // not runtime configurable
            
      }

      public synchronized void setTcpKeepAlive(boolean flag) {
            // not runtime configurable
            
      }

      public synchronized void setTcpNoDelay(boolean flag) {
            // not runtime configurable
            
      }

      public synchronized void setTcpRcvBuf(int bufSize) {
            // not runtime configurable
            
      }

      public synchronized void setTcpSndBuf(int bufSize) {
            // not runtime configurable
            
      }

      public synchronized void setTcpTrafficClass(int classFlags) {
            // not runtime configurable
            
      }

02099       public synchronized void setTinyInt1isBit(boolean flag) {
            // not runtime configurable
            
      }

02104       public synchronized void setTraceProtocol(boolean flag) {
            // not runtime configurable
            
      }

      public synchronized void setTransformedBitIsBoolean(boolean flag) {
            // not runtime configurable
            
      }

      public synchronized void setTreatUtilDateAsTimestamp(boolean flag) {
            // not runtime configurable
            
      }

      public synchronized void setTrustCertificateKeyStorePassword(String value) {
            // not runtime configurable
            
      }

      public synchronized void setTrustCertificateKeyStoreType(String value) {
            // not runtime configurable
            
      }

      public synchronized void setTrustCertificateKeyStoreUrl(String value) {
            // not runtime configurable
            
      }

      public synchronized void setUltraDevHack(boolean flag) {
            // not runtime configurable
            
      }

      public synchronized void setUseBlobToStoreUTF8OutsideBMP(boolean flag) {
            // not runtime configurable
            
      }

02144       public synchronized void setUseCompression(boolean property) {
            // not runtime configurable
            
      }

      public synchronized void setUseConfigs(String configs) {
            // not runtime configurable
            
      }

      public synchronized void setUseCursorFetch(boolean flag) {
            // not runtime configurable
            
      }

      public synchronized void setUseDirectRowUnpack(boolean flag) {
            // not runtime configurable
            
      }

      public synchronized void setUseDynamicCharsetInfo(boolean flag) {
            // not runtime configurable
            
      }

      public synchronized void setUseFastDateParsing(boolean flag) {
            // not runtime configurable
            
      }

02174       public synchronized void setUseFastIntParsing(boolean flag) {
            // not runtime configurable
            
      }

      public synchronized void setUseGmtMillisForDatetimes(boolean flag) {
            // not runtime configurable
            
      }

02184       public synchronized void setUseHostsInPrivileges(boolean property) {
            // not runtime configurable
            
      }

      public synchronized void setUseInformationSchema(boolean flag) {
            // not runtime configurable
            
      }

      public synchronized void setUseJDBCCompliantTimezoneShift(boolean flag) {
            // not runtime configurable
            
      }

      public synchronized void setUseJvmCharsetConverters(boolean flag) {
            // not runtime configurable
            
      }

      public synchronized void setUseLegacyDatetimeCode(boolean flag) {
            // not runtime configurable
            
      }

02209       public synchronized void setUseLocalSessionState(boolean flag) {
            // not runtime configurable
            
      }

      public synchronized void setUseNanosForElapsedTime(boolean flag) {
            // not runtime configurable
            
      }

      public synchronized void setUseOldAliasMetadataBehavior(boolean flag) {
            // not runtime configurable
            
      }

02224       public synchronized void setUseOldUTF8Behavior(boolean flag) {
            // not runtime configurable
            
      }

02229       public synchronized void setUseOnlyServerErrorMessages(boolean flag) {
            // not runtime configurable
            
      }

02234       public synchronized void setUseReadAheadInput(boolean flag) {
            // not runtime configurable
            
      }

02239       public synchronized void setUseSSL(boolean property) {
            // not runtime configurable
            
      }

      public synchronized void setUseSSPSCompatibleTimezoneShift(boolean flag) {
            // not runtime configurable
            
      }

      public synchronized void setUseServerPrepStmts(boolean flag) {
            // not runtime configurable
            
      }

02254       public synchronized void setUseServerPreparedStmts(boolean flag) {
            // not runtime configurable
            
      }

02259       public synchronized void setUseSqlStateCodes(boolean flag) {
            // not runtime configurable
            
      }

02264       public synchronized void setUseStreamLengthsInPrepStmts(boolean property) {
            // not runtime configurable
            
      }

02269       public synchronized void setUseTimezone(boolean property) {
            // not runtime configurable
            
      }

02274       public synchronized void setUseUltraDevWorkAround(boolean property) {
            // not runtime configurable
            
      }

02279       public synchronized void setUseUnbufferedInput(boolean flag) {
            // not runtime configurable
            
      }

02284       public synchronized void setUseUnicode(boolean flag) {
            // not runtime configurable
            
      }

02289       public synchronized void setUseUsageAdvisor(boolean useUsageAdvisorFlag) {
            // not runtime configurable
            
      }

      public synchronized void setUtf8OutsideBmpExcludedColumnNamePattern(String regexPattern) {
            // not runtime configurable
            
      }

      public synchronized void setUtf8OutsideBmpIncludedColumnNamePattern(String regexPattern) {
            // not runtime configurable
            
      }

      public synchronized void setVerifyServerCertificate(boolean flag) {
            // not runtime configurable
            
      }

      public synchronized void setYearIsDateType(boolean flag) {
            // not runtime configurable
            
      }

02314       public synchronized void setZeroDateTimeBehavior(String behavior) {
            // not runtime configurable
            
      }

02319       public synchronized boolean useUnbufferedInput() {
            return this.currentConnection.useUnbufferedInput();
      }

02323       public synchronized boolean isSameResource(Connection c) {
            return this.currentConnection.isSameResource(c);
      }

02327       public void setInGlobalTx(boolean flag) {
            this.currentConnection.setInGlobalTx(flag);
      }

      public boolean getUseColumnNamesInFindColumn() {
            return this.currentConnection.getUseColumnNamesInFindColumn();
      }

      public void setUseColumnNamesInFindColumn(boolean flag) {
            // not runtime configurable
      }

      public boolean getUseLocalTransactionState() {
            return this.currentConnection.getUseLocalTransactionState();
      }

      public void setUseLocalTransactionState(boolean flag) {
            // not runtime configurable
            
      }

      public boolean getCompensateOnDuplicateKeyUpdateCounts() {
            return this.currentConnection.getCompensateOnDuplicateKeyUpdateCounts();
      }

      public void setCompensateOnDuplicateKeyUpdateCounts(boolean flag) {
            // not runtime configurable
            
      }

      public boolean getUseAffectedRows() {
            return this.currentConnection.getUseAffectedRows();
      }

      public void setUseAffectedRows(boolean flag) {
            // not runtime configurable
            
      }

      public String getPasswordCharacterEncoding() {
            return this.currentConnection.getPasswordCharacterEncoding();
      }

      public void setPasswordCharacterEncoding(String characterSet) {
            this.currentConnection.setPasswordCharacterEncoding(characterSet);
      }

02374       public int getAutoIncrementIncrement() {
            return this.currentConnection.getAutoIncrementIncrement();
      }

      public int getLoadBalanceBlacklistTimeout() {
            return this.currentConnection.getLoadBalanceBlacklistTimeout();
      }

      public void setLoadBalanceBlacklistTimeout(int loadBalanceBlacklistTimeout) {
            this.currentConnection.setLoadBalanceBlacklistTimeout(loadBalanceBlacklistTimeout);
      }
      
      public int getLoadBalancePingTimeout() {
            return this.currentConnection.getLoadBalancePingTimeout();
      }

      public void setLoadBalancePingTimeout(int loadBalancePingTimeout) {
            this.currentConnection.setLoadBalancePingTimeout(loadBalancePingTimeout);
      }
      
      public boolean getLoadBalanceValidateConnectionOnSwapServer() {
            return this.currentConnection.getLoadBalanceValidateConnectionOnSwapServer();
      }

      public void setLoadBalanceValidateConnectionOnSwapServer(boolean loadBalanceValidateConnectionOnSwapServer) {
            this.currentConnection.setLoadBalanceValidateConnectionOnSwapServer(loadBalanceValidateConnectionOnSwapServer);
      }

      public int getRetriesAllDown() {
            return this.currentConnection.getRetriesAllDown();
      }

      public void setRetriesAllDown(int retriesAllDown) {
            this.currentConnection.setRetriesAllDown(retriesAllDown);
      }

      public ExceptionInterceptor getExceptionInterceptor() {
            return this.currentConnection.getExceptionInterceptor();
      }

      public String getExceptionInterceptors() {
            return this.currentConnection.getExceptionInterceptors();
      }

      public void setExceptionInterceptors(String exceptionInterceptors) {
            this.currentConnection.setExceptionInterceptors(exceptionInterceptors);
      }

      public boolean getQueryTimeoutKillsConnection() {
            return this.currentConnection.getQueryTimeoutKillsConnection();
      }

      public void setQueryTimeoutKillsConnection(
                  boolean queryTimeoutKillsConnection) {
            this.currentConnection.setQueryTimeoutKillsConnection(queryTimeoutKillsConnection);
      }

02431       public boolean hasSameProperties(Connection c) {
            return this.masterConnection.hasSameProperties(c) && 
                  this.slavesConnection.hasSameProperties(c);
      }
      
02436       public Properties getProperties() {
            Properties props = new Properties();
            props.putAll(this.masterConnection.getProperties());
            props.putAll(this.slavesConnection.getProperties());
            
            return props;
      }

   public String getHost() {
      return currentConnection.getHost();
   }

   public void setProxy(MySQLConnection proxy) {
      currentConnection.setProxy(proxy);
   }

      public synchronized boolean getRetainStatementAfterResultSetClose() {
            return currentConnection.getRetainStatementAfterResultSetClose();
      }

      public int getMaxAllowedPacket() {
            return currentConnection.getMaxAllowedPacket();
      }
      
      public String getLoadBalanceConnectionGroup() {
            return currentConnection.getLoadBalanceConnectionGroup();
      }

      public boolean getLoadBalanceEnableJMX() {
            return currentConnection.getLoadBalanceEnableJMX();
      }

      public String getLoadBalanceExceptionChecker() {
            return currentConnection
                        .getLoadBalanceExceptionChecker();
      }

      public String getLoadBalanceSQLExceptionSubclassFailover() {
            return currentConnection
                        .getLoadBalanceSQLExceptionSubclassFailover();
      }

      public String getLoadBalanceSQLStateFailover() {
            return currentConnection
                        .getLoadBalanceSQLStateFailover();
      }

      public void setLoadBalanceConnectionGroup(String loadBalanceConnectionGroup) {
            currentConnection
                        .setLoadBalanceConnectionGroup(loadBalanceConnectionGroup);
            
      }

      public void setLoadBalanceEnableJMX(boolean loadBalanceEnableJMX) {
            currentConnection
                        .setLoadBalanceEnableJMX(loadBalanceEnableJMX);
            
      }

      public void setLoadBalanceExceptionChecker(
                  String loadBalanceExceptionChecker) {
            currentConnection
                        .setLoadBalanceExceptionChecker(loadBalanceExceptionChecker);
            
      }

      public void setLoadBalanceSQLExceptionSubclassFailover(
                  String loadBalanceSQLExceptionSubclassFailover) {
            currentConnection
                        .setLoadBalanceSQLExceptionSubclassFailover(loadBalanceSQLExceptionSubclassFailover);
            
      }

      public void setLoadBalanceSQLStateFailover(
                  String loadBalanceSQLStateFailover) {
            currentConnection
                        .setLoadBalanceSQLStateFailover(loadBalanceSQLStateFailover);
            
      }

      public String getLoadBalanceAutoCommitStatementRegex() {
            return currentConnection.getLoadBalanceAutoCommitStatementRegex();
      }

      public int getLoadBalanceAutoCommitStatementThreshold() {
            return currentConnection.getLoadBalanceAutoCommitStatementThreshold();
      }

      public void setLoadBalanceAutoCommitStatementRegex(
                  String loadBalanceAutoCommitStatementRegex) {
            currentConnection.setLoadBalanceAutoCommitStatementRegex(loadBalanceAutoCommitStatementRegex);
            
      }

      public void setLoadBalanceAutoCommitStatementThreshold(
                  int loadBalanceAutoCommitStatementThreshold) {
            currentConnection.setLoadBalanceAutoCommitStatementThreshold(loadBalanceAutoCommitStatementThreshold);
            
      }

      public void setTypeMap(Map<String, Class<?>> map) throws SQLException {
            // TODO Auto-generated method stub
            
      }

      public boolean getIncludeThreadDumpInDeadlockExceptions() {
            return currentConnection.getIncludeThreadDumpInDeadlockExceptions();
      }

      public void setIncludeThreadDumpInDeadlockExceptions(boolean flag) {
            currentConnection.setIncludeThreadDumpInDeadlockExceptions(flag);
            
      }

      public boolean getIncludeThreadNamesAsStatementComment() {
            return currentConnection.getIncludeThreadNamesAsStatementComment();
      }

      public void setIncludeThreadNamesAsStatementComment(boolean flag) {
            currentConnection.setIncludeThreadNamesAsStatementComment(flag);
      }

02558       public synchronized boolean isServerLocal() throws SQLException {
            return this.currentConnection.isServerLocal();
      }
}

Generated by  Doxygen 1.6.0   Back to index