From: Date: July 19 2006 4:17am Subject: Connector/J commit: r5531 - in branches: branch_3_1/connector-j branch_3_1/connector-j/src/com/mysql/jdbc branch_5_0/connector-j branch_5_0/connector-j/src/com/mysql/jdbc branch_5_1/connector-j branch_5_1/connector-j/src/com/mysql/jdbc List-Archive: http://lists.mysql.com/commits/9316 X-Bug: 19993 Message-Id: <200607190217.k6J2HAvT019908@bk-internal.mysql.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Modified: branches/branch_3_1/connector-j/CHANGES branches/branch_3_1/connector-j/src/com/mysql/jdbc/ReplicationConnection.java branches/branch_5_0/connector-j/CHANGES branches/branch_5_0/connector-j/src/com/mysql/jdbc/ReplicationConnection.java branches/branch_5_1/connector-j/CHANGES branches/branch_5_1/connector-j/src/com/mysql/jdbc/ReplicationConnection.java Log: Fixed BUG#19993 - ReplicationDriver does not always round-robin load balance depending on URL used for slaves list. Modified: branches/branch_3_1/connector-j/CHANGES =================================================================== --- branches/branch_3_1/connector-j/CHANGES 2006-07-19 01:33:13 UTC (rev 5530) +++ branches/branch_3_1/connector-j/CHANGES 2006-07-19 02:17:07 UTC (rev 5531) @@ -33,6 +33,9 @@ including NO_BACKSLASH_ESCAPES being set, and stacked quote characters forms of escaping (i.e. '' or ""). + - Fixed BUG#19993 - ReplicationDriver does not always round-robin load + balance depending on URL used for slaves list. + 05-26-06 - Version 3.1.13 - Fixed BUG#15464 - INOUT parameter does not store IN value. Modified: branches/branch_3_1/connector-j/src/com/mysql/jdbc/ReplicationConnection.java =================================================================== --- branches/branch_3_1/connector-j/src/com/mysql/jdbc/ReplicationConnection.java 2006-07-19 01:33:13 UTC (rev 5530) +++ branches/branch_3_1/connector-j/src/com/mysql/jdbc/ReplicationConnection.java 2006-07-19 02:17:07 UTC (rev 5531) @@ -50,10 +50,46 @@ Properties slaveProperties) throws SQLException { Driver driver = new Driver(); - this.masterConnection = (com.mysql.jdbc.Connection) driver.connect( - "jdbc:mysql:///", masterProperties); - this.slavesConnection = (com.mysql.jdbc.Connection) driver.connect( - "jdbc:mysql:///", slaveProperties); + StringBuffer masterUrl = new StringBuffer("jdbc:mysql://"); + StringBuffer slaveUrl = new StringBuffer("jdbc:mysql://"); + + String masterHost = masterProperties + .getProperty(NonRegisteringDriver.HOST_PROPERTY_KEY); + + if (masterHost != null) { + masterUrl.append(masterHost); + } + + String slaveHost = slaveProperties + .getProperty(NonRegisteringDriver.HOST_PROPERTY_KEY); + + if (slaveHost != null) { + 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); + } + + this.masterConnection = (com.mysql.jdbc.Connection) driver.connect( + masterUrl.toString(), masterProperties); + this.slavesConnection = (com.mysql.jdbc.Connection) driver.connect( + slaveUrl.toString(), slaveProperties); + this.currentConnection = this.masterConnection; } Modified: branches/branch_5_0/connector-j/CHANGES =================================================================== --- branches/branch_5_0/connector-j/CHANGES 2006-07-19 01:33:13 UTC (rev 5530) +++ branches/branch_5_0/connector-j/CHANGES 2006-07-19 02:17:07 UTC (rev 5531) @@ -199,7 +199,10 @@ statements parsing not respected. Patch covers more than bug report, including NO_BACKSLASH_ESCAPES being set, and stacked quote characters forms of escaping (i.e. '' or ""). - + + - Fixed BUG#19993 - ReplicationDriver does not always round-robin load + balance depending on URL used for slaves list. + 05-26-06 - Version 3.1.13 - Fixed BUG#15464 - INOUT parameter does not store IN value. Modified: branches/branch_5_0/connector-j/src/com/mysql/jdbc/ReplicationConnection.java =================================================================== --- branches/branch_5_0/connector-j/src/com/mysql/jdbc/ReplicationConnection.java 2006-07-19 01:33:13 UTC (rev 5530) +++ branches/branch_5_0/connector-j/src/com/mysql/jdbc/ReplicationConnection.java 2006-07-19 02:17:07 UTC (rev 5531) @@ -50,10 +50,46 @@ Properties slaveProperties) throws SQLException { Driver driver = new Driver(); - this.masterConnection = (com.mysql.jdbc.Connection) driver.connect( - "jdbc:mysql:///", masterProperties); - this.slavesConnection = (com.mysql.jdbc.Connection) driver.connect( - "jdbc:mysql:///", slaveProperties); + StringBuffer masterUrl = new StringBuffer("jdbc:mysql://"); + StringBuffer slaveUrl = new StringBuffer("jdbc:mysql://"); + + String masterHost = masterProperties + .getProperty(NonRegisteringDriver.HOST_PROPERTY_KEY); + + if (masterHost != null) { + masterUrl.append(masterHost); + } + + String slaveHost = slaveProperties + .getProperty(NonRegisteringDriver.HOST_PROPERTY_KEY); + + if (slaveHost != null) { + 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); + } + + this.masterConnection = (com.mysql.jdbc.Connection) driver.connect( + masterUrl.toString(), masterProperties); + this.slavesConnection = (com.mysql.jdbc.Connection) driver.connect( + slaveUrl.toString(), slaveProperties); + this.currentConnection = this.masterConnection; } Modified: branches/branch_5_1/connector-j/CHANGES =================================================================== --- branches/branch_5_1/connector-j/CHANGES 2006-07-19 01:33:13 UTC (rev 5530) +++ branches/branch_5_1/connector-j/CHANGES 2006-07-19 02:17:07 UTC (rev 5531) @@ -168,7 +168,15 @@ - Fixed BUG#18880 - ResultSet.getFloatFromString() can't retrieve values near Float.MIN/MAX_VALUE. - + + - Fixed BUG#20888 - escape of quotes in client-side prepared + statements parsing not respected. Patch covers more than bug report, + including NO_BACKSLASH_ESCAPES being set, and stacked quote characters + forms of escaping (i.e. '' or ""). + + - Fixed BUG#19993 - ReplicationDriver does not always round-robin load + balance depending on URL used for slaves list. + 05-26-06 - Version 3.1.13 - Fixed BUG#15464 - INOUT parameter does not store IN value. Modified: branches/branch_5_1/connector-j/src/com/mysql/jdbc/ReplicationConnection.java =================================================================== --- branches/branch_5_1/connector-j/src/com/mysql/jdbc/ReplicationConnection.java 2006-07-19 01:33:13 UTC (rev 5530) +++ branches/branch_5_1/connector-j/src/com/mysql/jdbc/ReplicationConnection.java 2006-07-19 02:17:07 UTC (rev 5531) @@ -56,10 +56,46 @@ Properties slaveProperties) throws SQLException { Driver driver = new Driver(); - this.masterConnection = (com.mysql.jdbc.Connection) driver.connect( - "jdbc:mysql:///", masterProperties); - this.slavesConnection = (com.mysql.jdbc.Connection) driver.connect( - "jdbc:mysql:///", slaveProperties); + StringBuffer masterUrl = new StringBuffer("jdbc:mysql://"); + StringBuffer slaveUrl = new StringBuffer("jdbc:mysql://"); + + String masterHost = masterProperties + .getProperty(NonRegisteringDriver.HOST_PROPERTY_KEY); + + if (masterHost != null) { + masterUrl.append(masterHost); + } + + String slaveHost = slaveProperties + .getProperty(NonRegisteringDriver.HOST_PROPERTY_KEY); + + if (slaveHost != null) { + 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); + } + + this.masterConnection = (com.mysql.jdbc.Connection) driver.connect( + masterUrl.toString(), masterProperties); + this.slavesConnection = (com.mysql.jdbc.Connection) driver.connect( + slaveUrl.toString(), slaveProperties); + this.currentConnection = this.masterConnection; }