Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: mysql/mysql-connector-j
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: 5.1.29
Choose a base ref
...
head repository: mysql/mysql-connector-j
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: 5.1.30
Choose a head ref

Commits on Jan 20, 2014

  1. Post-release changes.

    soklakov committed Jan 20, 2014
    Copy the full SHA
    d361d62 View commit details

Commits on Jan 27, 2014

  1. Copy the full SHA
    246c4f5 View commit details

Commits on Jan 29, 2014

  1. Copy the full SHA
    692a4e6 View commit details
  2. Remove dependency on Connection object in scramble411()

    Jess Balint committed Jan 29, 2014
    Copy the full SHA
    c8c5524 View commit details

Commits on Feb 18, 2014

  1. improve error message if `com.mysql.jdbc.extra.libs' property is not …

    …defined correctly.
    Jess Balint committed Feb 18, 2014
    Copy the full SHA
    4cc652e View commit details

Commits on Feb 21, 2014

  1. Fix for Bug#71396, setMaxRows (SQL_SELECT_LIMIT) from one query used …

    …in later queries (sometimes). Additionally, SQL_SELECT_LIMIT is no longer sent unnecessarily between consecutive queries.
    fjssilva committed Feb 21, 2014
    Copy the full SHA
    83cd4f3 View commit details
  2. Fix for Bug#18091639, STRINGINDEXOUTOFBOUNDSEXCEPTION IN PREPAREDSTAT…

    …EMENT.SETTIMESTAMP WITH 5.6.15
    soklakov committed Feb 21, 2014
    Copy the full SHA
    f7e4936 View commit details

Commits on Feb 25, 2014

  1. Copy the full SHA
    9e37999 View commit details

Commits on Feb 26, 2014

  1. Copy the full SHA
    258ed77 View commit details
  2. Copy the full SHA
    c789f91 View commit details
  3. Added contributor name.

    soklakov committed Feb 26, 2014
    Copy the full SHA
    aa43706 View commit details

Commits on Feb 28, 2014

  1. Copy the full SHA
    93a7cc0 View commit details
  2. Fix for Bug#71623, Field#getStringFromBytes() creates useless byte ar…

    …ray when using JVM converter.
    fjssilva committed Feb 28, 2014
    Copy the full SHA
    cdb2d71 View commit details
  3. Copy the full SHA
    3dc8dbe View commit details

Commits on Mar 3, 2014

  1. Fixed problem with wrong source provided when com.mysql.jdbc.noCrypto…

    …Build build property set.
    soklakov committed Mar 3, 2014
    Copy the full SHA
    58e5788 View commit details

Commits on Mar 4, 2014

  1. Copy the full SHA
    05fd1a3 View commit details
  2. Fix for Bug#70944 (17831255), community and commercial builds should …

    …have the same line number tables
    soklakov committed Mar 4, 2014
    Copy the full SHA
    1784323 View commit details

Commits on Mar 6, 2014

  1. Fix for Bug#71679, Avoid iterator creation when invoking statement in…

    …terceptors in MysqlIO.
    fjssilva committed Mar 6, 2014
    Copy the full SHA
    06317d2 View commit details

Commits on Mar 7, 2014

  1. Add Fabric support

    Jess Balint committed Mar 7, 2014
    Copy the full SHA
    1d9df5d View commit details
  2. Added Fabric support

    soklakov committed Mar 7, 2014
    Copy the full SHA
    ae79434 View commit details
  3. Copy the full SHA
    b676b3f View commit details
  4. Copy the full SHA
    8f94291 View commit details

Commits on Mar 10, 2014

  1. New version, 5.1.30

    soklakov committed Mar 10, 2014
    Copy the full SHA
    6574b40 View commit details
Showing with 10,094 additions and 1,478 deletions.
  1. +29 −0 CHANGES
  2. +155 −7 build.xml
  3. +77 −0 src/com/mysql/fabric/DumpResponse.java
  4. +45 −0 src/com/mysql/fabric/FabricCommunicationException.java
  5. +115 −0 src/com/mysql/fabric/FabricConnection.java
  6. +50 −0 src/com/mysql/fabric/FabricStateResponse.java
  7. +80 −0 src/com/mysql/fabric/HashShardMapping.java
  8. +71 −0 src/com/mysql/fabric/RangeShardMapping.java
  9. +60 −0 src/com/mysql/fabric/Response.java
  10. +102 −0 src/com/mysql/fabric/Server.java
  11. +51 −0 src/com/mysql/fabric/ServerGroup.java
  12. +50 −0 src/com/mysql/fabric/ServerMode.java
  13. +50 −0 src/com/mysql/fabric/ServerRole.java
  14. +62 −0 src/com/mysql/fabric/ShardIndex.java
  15. +94 −0 src/com/mysql/fabric/ShardMapping.java
  16. +48 −0 src/com/mysql/fabric/ShardMappingFactory.java
  17. +60 −0 src/com/mysql/fabric/ShardTable.java
  18. +36 −0 src/com/mysql/fabric/ShardingType.java
  19. +137 −0 src/com/mysql/fabric/hibernate/FabricMultiTenantConnectionProvider.java
  20. +77 −0 src/com/mysql/fabric/jdbc/ErrorReportingExceptionInterceptor.java
  21. +101 −0 src/com/mysql/fabric/jdbc/FabricMySQLConnection.java
  22. +52 −0 src/com/mysql/fabric/jdbc/FabricMySQLConnectionProperties.java
  23. +2,792 −0 src/com/mysql/fabric/jdbc/FabricMySQLConnectionProxy.java
  24. +189 −0 src/com/mysql/fabric/jdbc/FabricMySQLDataSource.java
  25. +107 −0 src/com/mysql/fabric/jdbc/FabricMySQLDriver.java
  26. +103 −0 src/com/mysql/fabric/jdbc/JDBC4FabricMySQLConnection.java
  27. +146 −0 src/com/mysql/fabric/jdbc/JDBC4FabricMySQLConnectionProxy.java
  28. +77 −0 src/com/mysql/fabric/proto/xmlrpc/AuthenticatedXmlRpcMethodCaller.java
  29. +226 −0 src/com/mysql/fabric/proto/xmlrpc/DigestAuthentication.java
  30. +118 −0 src/com/mysql/fabric/proto/xmlrpc/InternalXmlRpcMethodCaller.java
  31. +316 −0 src/com/mysql/fabric/proto/xmlrpc/XmlRpcClient.java
  32. +38 −0 src/com/mysql/fabric/proto/xmlrpc/XmlRpcMethodCaller.java
  33. +115 −0 src/com/mysql/fabric/xmlrpc/Client.java
  34. +58 −0 src/com/mysql/fabric/xmlrpc/base/Array.java
  35. +56 −0 src/com/mysql/fabric/xmlrpc/base/Data.java
  36. +53 −0 src/com/mysql/fabric/xmlrpc/base/Fault.java
  37. +75 −0 src/com/mysql/fabric/xmlrpc/base/Member.java
  38. +71 −0 src/com/mysql/fabric/xmlrpc/base/MethodCall.java
  39. +74 −0 src/com/mysql/fabric/xmlrpc/base/MethodResponse.java
  40. +59 −0 src/com/mysql/fabric/xmlrpc/base/Param.java
  41. +56 −0 src/com/mysql/fabric/xmlrpc/base/Params.java
  42. +155 −0 src/com/mysql/fabric/xmlrpc/base/ResponseParser.java
  43. +56 −0 src/com/mysql/fabric/xmlrpc/base/Struct.java
  44. +235 −0 src/com/mysql/fabric/xmlrpc/base/Value.java
  45. +57 −0 src/com/mysql/fabric/xmlrpc/exceptions/MySQLFabricException.java
  46. +2 −1 src/com/mysql/jdbc/AbandonedConnectionCleanupThread.java
  47. +2 −4 src/com/mysql/jdbc/AssertionFailedException.java
  48. +3 −2 src/com/mysql/jdbc/BalanceStrategy.java
  49. +3 −2 src/com/mysql/jdbc/BestResponseTimeBalanceStrategy.java
  50. +2 −4 src/com/mysql/jdbc/Blob.java
  51. +2 −4 src/com/mysql/jdbc/BlobFromLocator.java
  52. +2 −4 src/com/mysql/jdbc/Buffer.java
  53. +3 −2 src/com/mysql/jdbc/BufferRow.java
  54. +3 −2 src/com/mysql/jdbc/ByteArrayRow.java
  55. +2 −2 src/com/mysql/jdbc/CacheAdapter.java
  56. +2 −2 src/com/mysql/jdbc/CacheAdapterFactory.java
  57. +2 −2 src/com/mysql/jdbc/CachedResultSetMetaData.java
  58. +3 −2 src/com/mysql/jdbc/CallableStatement.java
  59. +2 −5 src/com/mysql/jdbc/CharsetMapping.java
  60. +2 −4 src/com/mysql/jdbc/Clob.java
  61. +2 −4 src/com/mysql/jdbc/CommunicationsException.java
  62. +2 −4 src/com/mysql/jdbc/CompressedInputStream.java
  63. +20 −16 src/com/mysql/jdbc/Connection.java
  64. +2 −4 src/com/mysql/jdbc/ConnectionFeatureNotAvailableException.java
  65. +3 −2 src/com/mysql/jdbc/ConnectionGroup.java
  66. +3 −2 src/com/mysql/jdbc/ConnectionGroupManager.java
  67. +45 −73 src/com/mysql/jdbc/ConnectionImpl.java
  68. +2 −2 src/com/mysql/jdbc/ConnectionLifecycleInterceptor.java
  69. +2 −2 src/com/mysql/jdbc/ConnectionProperties.java
  70. +3 −2 src/com/mysql/jdbc/ConnectionPropertiesImpl.java
  71. +2 −2 src/com/mysql/jdbc/ConnectionPropertiesTransform.java
  72. +2 −4 src/com/mysql/jdbc/Constants.java
  73. +34 −27 src/com/mysql/jdbc/DatabaseMetaData.java
  74. +3 −2 src/com/mysql/jdbc/DatabaseMetaDataUsingInfoSchema.java
  75. +2 −4 src/com/mysql/jdbc/DocsConnectionPropsHelper.java
  76. +2 −4 src/com/mysql/jdbc/Driver.java
  77. +6 −9 src/com/mysql/jdbc/EscapeProcessor.java
  78. +2 −4 src/com/mysql/jdbc/EscapeProcessorResult.java
  79. +3 −1 src/com/mysql/jdbc/EscapeTokenizer.java
  80. +2 −2 src/com/mysql/jdbc/ExceptionInterceptor.java
  81. +27 −6 src/com/mysql/jdbc/ExportControlled.java
  82. +2 −3 src/com/mysql/jdbc/FailoverConnectionProxy.java
  83. +17 −28 src/com/mysql/jdbc/Field.java
  84. +2 −2 src/com/mysql/jdbc/JDBC4DatabaseMetaData.java
  85. +2 −2 src/com/mysql/jdbc/JDBC4DatabaseMetaDataUsingInfoSchema.java
  86. +3 −2 src/com/mysql/jdbc/JDBC4LoadBalancedMySQLConnection.java
  87. +3 −2 src/com/mysql/jdbc/JDBC4MySQLConnection.java
  88. +2 −1 src/com/mysql/jdbc/JDBC4PreparedStatementHelper.java
  89. +2 −4 src/com/mysql/jdbc/LicenseConfiguration.java
  90. +2 −2 src/com/mysql/jdbc/LoadBalanceExceptionChecker.java
  91. +23 −0 src/com/mysql/jdbc/LoadBalancedConnection.java
  92. +11 −15 src/com/mysql/jdbc/LoadBalancedMySQLConnection.java
  93. +5 −7 src/com/mysql/jdbc/LoadBalancingConnectionProxy.java
  94. +2 −4 src/com/mysql/jdbc/Messages.java
  95. +2 −4 src/com/mysql/jdbc/MiniAdmin.java
  96. +3 −9 src/com/mysql/jdbc/MySQLConnection.java
  97. +2 −4 src/com/mysql/jdbc/MysqlDataTruncation.java
  98. +2 −4 src/com/mysql/jdbc/MysqlDefs.java
  99. +2 −4 src/com/mysql/jdbc/MysqlErrorNumbers.java
  100. +27 −33 src/com/mysql/jdbc/MysqlIO.java
  101. +1 −2 src/com/mysql/jdbc/MysqlParameterMetadata.java
  102. +2 −4 src/com/mysql/jdbc/MysqlSavepoint.java
  103. +2 −4 src/com/mysql/jdbc/NamedPipeSocketFactory.java
  104. +2 −1 src/com/mysql/jdbc/NdbLoadBalanceExceptionChecker.java
  105. +15 −18 src/com/mysql/jdbc/NetworkResources.java
  106. +3 −3 src/com/mysql/jdbc/NoSubInterceptorWrapper.java
  107. +16 −19 src/com/mysql/jdbc/NonRegisteringDriver.java
  108. +19 −21 src/com/mysql/jdbc/NonRegisteringReplicationDriver.java
  109. +2 −4 src/com/mysql/jdbc/NotImplemented.java
  110. +2 −4 src/com/mysql/jdbc/NotUpdatable.java
  111. +3 −1 src/com/mysql/jdbc/OperationNotSupportedException.java
  112. +2 −4 src/com/mysql/jdbc/OutputStreamWatcher.java
  113. +2 −4 src/com/mysql/jdbc/PacketTooBigException.java
  114. +2 −1 src/com/mysql/jdbc/ParameterBindings.java
  115. +2 −2 src/com/mysql/jdbc/PerConnectionLRUFactory.java
  116. +2 −3 src/com/mysql/jdbc/PerVmServerConfigCacheFactory.java
  117. +3 −3 src/com/mysql/jdbc/PingTarget.java
  118. +28 −136 src/com/mysql/jdbc/PreparedStatement.java
  119. +1 −2 src/com/mysql/jdbc/ProfilerEventHandlerFactory.java
  120. +3 −2 src/com/mysql/jdbc/RandomBalanceStrategy.java
  121. +3 −3 src/com/mysql/jdbc/ReflectiveStatementInterceptorAdapter.java
  122. +61 −35 src/com/mysql/jdbc/ReplicationConnection.java
  123. +5 −4 src/com/mysql/jdbc/ReplicationConnectionGroup.java
  124. +3 −1 src/com/mysql/jdbc/ReplicationConnectionGroupManager.java
  125. +2 −4 src/com/mysql/jdbc/ReplicationDriver.java
  126. +24 −25 src/com/mysql/jdbc/ResultSetImpl.java
  127. +4 −2 src/com/mysql/jdbc/ResultSetMetaData.java
  128. +3 −2 src/com/mysql/jdbc/ResultSetRow.java
  129. +2 −4 src/com/mysql/jdbc/RowData.java
  130. +2 −2 src/com/mysql/jdbc/RowDataCursor.java
  131. +4 −2 src/com/mysql/jdbc/RowDataDynamic.java
  132. +2 −4 src/com/mysql/jdbc/RowDataStatic.java
  133. +2 −4 src/com/mysql/jdbc/SQLError.java
  134. +3 −6 src/com/mysql/jdbc/Security.java
  135. +3 −2 src/com/mysql/jdbc/SequentialBalanceStrategy.java
  136. +18 −54 src/com/mysql/jdbc/ServerPreparedStatement.java
  137. +2 −4 src/com/mysql/jdbc/SingleByteCharsetConverter.java
  138. +2 −4 src/com/mysql/jdbc/SocketFactory.java
  139. +1 −4 src/com/mysql/jdbc/SocketMetadata.java
  140. +2 −2 src/com/mysql/jdbc/StandardLoadBalanceExceptionChecker.java
  141. +4 −2 src/com/mysql/jdbc/StandardSocketFactory.java
  142. +16 −17 src/com/mysql/jdbc/Statement.java
  143. +38 −148 src/com/mysql/jdbc/StatementImpl.java
  144. +3 −3 src/com/mysql/jdbc/StatementInterceptorV2.java
  145. +2 −1 src/com/mysql/jdbc/StreamingNotifiable.java
  146. +35 −4 src/com/mysql/jdbc/StringUtils.java
  147. +13 −11 src/com/mysql/jdbc/TimeUtil.java
  148. +16 −18 src/com/mysql/jdbc/UpdatableResultSet.java
  149. +5 −6 src/com/mysql/jdbc/Util.java
  150. +3 −3 src/com/mysql/jdbc/V1toV2StatementInterceptorAdapter.java
  151. +2 −4 src/com/mysql/jdbc/WatchableOutputStream.java
  152. +2 −4 src/com/mysql/jdbc/WatchableWriter.java
  153. +2 −4 src/com/mysql/jdbc/WriterWatcher.java
  154. +3 −2 src/com/mysql/jdbc/authentication/MysqlNativePasswordPlugin.java
  155. +2 −3 src/com/mysql/jdbc/exceptions/DeadlockTimeoutRollbackMarker.java
  156. +2 −3 src/com/mysql/jdbc/exceptions/MySQLDataException.java
  157. +2 −3 src/com/mysql/jdbc/exceptions/MySQLIntegrityConstraintViolationException.java
  158. +2 −3 src/com/mysql/jdbc/exceptions/MySQLInvalidAuthorizationSpecException.java
  159. +2 −3 src/com/mysql/jdbc/exceptions/MySQLNonTransientConnectionException.java
  160. +2 −3 src/com/mysql/jdbc/exceptions/MySQLNonTransientException.java
  161. +2 −4 src/com/mysql/jdbc/exceptions/MySQLQueryInterruptedException.java
  162. +2 −2 src/com/mysql/jdbc/exceptions/MySQLStatementCancelledException.java
  163. +2 −3 src/com/mysql/jdbc/exceptions/MySQLSyntaxErrorException.java
  164. +2 −3 src/com/mysql/jdbc/exceptions/MySQLTimeoutException.java
  165. +2 −3 src/com/mysql/jdbc/exceptions/MySQLTransactionRollbackException.java
  166. +2 −3 src/com/mysql/jdbc/exceptions/MySQLTransientConnectionException.java
  167. +2 −3 src/com/mysql/jdbc/exceptions/MySQLTransientException.java
  168. +3 −2 src/com/mysql/jdbc/exceptions/jdbc4/CommunicationsException.java
  169. +2 −3 src/com/mysql/jdbc/exceptions/jdbc4/MySQLDataException.java
  170. +2 −3 src/com/mysql/jdbc/exceptions/jdbc4/MySQLIntegrityConstraintViolationException.java
  171. +2 −3 src/com/mysql/jdbc/exceptions/jdbc4/MySQLInvalidAuthorizationSpecException.java
  172. +2 −3 src/com/mysql/jdbc/exceptions/jdbc4/MySQLNonTransientConnectionException.java
  173. +2 −3 src/com/mysql/jdbc/exceptions/jdbc4/MySQLNonTransientException.java
  174. +2 −2 src/com/mysql/jdbc/exceptions/jdbc4/MySQLQueryInterruptedException.java
  175. +2 −3 src/com/mysql/jdbc/exceptions/jdbc4/MySQLSyntaxErrorException.java
  176. +2 −3 src/com/mysql/jdbc/exceptions/jdbc4/MySQLTimeoutException.java
  177. +2 −3 src/com/mysql/jdbc/exceptions/jdbc4/MySQLTransactionRollbackException.java
  178. +2 −3 src/com/mysql/jdbc/exceptions/jdbc4/MySQLTransientConnectionException.java
  179. +2 −3 src/com/mysql/jdbc/exceptions/jdbc4/MySQLTransientException.java
  180. +2 −2 src/com/mysql/jdbc/integration/c3p0/MysqlConnectionTester.java
  181. +2 −2 src/com/mysql/jdbc/integration/jboss/ExtendedMysqlExceptionSorter.java
  182. +2 −2 src/com/mysql/jdbc/integration/jboss/MysqlValidConnectionChecker.java
  183. +2 −2 src/com/mysql/jdbc/interceptors/ResultSetScannerInterceptor.java
  184. +2 −2 src/com/mysql/jdbc/interceptors/ServerStatusDiffInterceptor.java
  185. +2 −2 src/com/mysql/jdbc/interceptors/SessionAssociationInterceptor.java
  186. +1 −3 src/com/mysql/jdbc/jdbc2/optional/CallableStatementWrapper.java
  187. +10 −4 src/com/mysql/jdbc/jdbc2/optional/ConnectionWrapper.java
  188. +3 −2 src/com/mysql/jdbc/jdbc2/optional/JDBC4CallableStatementWrapper.java
  189. +3 −2 src/com/mysql/jdbc/jdbc2/optional/JDBC4ConnectionWrapper.java
  190. +3 −2 src/com/mysql/jdbc/jdbc2/optional/JDBC4PreparedStatementWrapper.java
  191. +3 −2 src/com/mysql/jdbc/jdbc2/optional/JDBC4StatementWrapper.java
  192. +2 −4 src/com/mysql/jdbc/jdbc2/optional/MysqlConnectionPoolDataSource.java
  193. +2 −4 src/com/mysql/jdbc/jdbc2/optional/MysqlDataSource.java
  194. +2 −4 src/com/mysql/jdbc/jdbc2/optional/MysqlDataSourceFactory.java
  195. +1 −2 src/com/mysql/jdbc/jdbc2/optional/MysqlPooledConnection.java
  196. +42 −80 src/com/mysql/jdbc/jdbc2/optional/MysqlXAConnection.java
  197. +2 −4 src/com/mysql/jdbc/jdbc2/optional/MysqlXADataSource.java
  198. +2 −2 src/com/mysql/jdbc/jdbc2/optional/MysqlXid.java
  199. +2 −4 src/com/mysql/jdbc/jdbc2/optional/PreparedStatementWrapper.java
  200. +2 −4 src/com/mysql/jdbc/jdbc2/optional/StatementWrapper.java
  201. +2 −2 src/com/mysql/jdbc/jdbc2/optional/SuspendableXAConnection.java
  202. +2 −4 src/com/mysql/jdbc/jdbc2/optional/WrapperBase.java
  203. +3 −2 src/com/mysql/jdbc/jmx/LoadBalanceConnectionGroupManager.java
  204. +3 −2 src/com/mysql/jdbc/jmx/LoadBalanceConnectionGroupManagerMBean.java
  205. +3 −1 src/com/mysql/jdbc/jmx/ReplicationGroupManager.java
  206. +3 −1 src/com/mysql/jdbc/jmx/ReplicationGroupManagerMBean.java
  207. +2 −4 src/com/mysql/jdbc/log/Jdk14Logger.java
  208. +2 −4 src/com/mysql/jdbc/log/Log.java
  209. +2 −4 src/com/mysql/jdbc/log/LogFactory.java
  210. +2 −2 src/com/mysql/jdbc/log/LogUtils.java
  211. +2 −4 src/com/mysql/jdbc/log/NullLogger.java
  212. +1 −4 src/com/mysql/jdbc/log/Slf4JLogger.java
  213. +2 −4 src/com/mysql/jdbc/log/StandardLogger.java
  214. +2 −2 src/com/mysql/jdbc/profiler/LoggingProfilerEventHandler.java
  215. +1 −3 src/com/mysql/jdbc/profiler/ProfilerEvent.java
  216. +2 −2 src/com/mysql/jdbc/profiler/ProfilerEventHandler.java
  217. +2 −4 src/com/mysql/jdbc/util/BaseBugReport.java
  218. +2 −4 src/com/mysql/jdbc/util/ErrorMappingsDocGenerator.java
  219. +2 −4 src/com/mysql/jdbc/util/LRUCache.java
  220. +2 −4 src/com/mysql/jdbc/util/PropertiesDocGenerator.java
  221. +15 −17 src/com/mysql/jdbc/util/ReadAheadInputStream.java
  222. +2 −4 src/com/mysql/jdbc/util/ResultSetUtil.java
  223. +2 −4 src/com/mysql/jdbc/util/ServerController.java
  224. +2 −4 src/com/mysql/jdbc/util/TimezoneDump.java
  225. +3 −3 src/com/mysql/jdbc/util/VersionFSHierarchyMaker.java
  226. +49 −0 src/demo/fabric/Client1_Fabric.java
  227. +57 −0 src/demo/fabric/Employee.java
  228. +137 −0 src/demo/fabric/EmployeesJdbc.java
  229. +118 −0 src/demo/fabric/HibernateFabric.java
  230. +36 −0 src/demo/fabric/resources/com/mysql/fabric/demo/employee.hbm.xml
  231. +2 −4 src/org/gjt/mm/mysql/Driver.java
  232. +2 −4 src/testsuite/BaseTestCase.java
  233. +2 −4 src/testsuite/UnreliableSocketFactory.java
  234. +67 −0 src/testsuite/fabric/BaseFabricTestCase.java
  235. +52 −0 src/testsuite/fabric/SetupFabricTestsuite.java
  236. +118 −0 src/testsuite/fabric/TestDumpCommands.java
  237. +132 −0 src/testsuite/fabric/TestShardMapping.java
  238. +125 −0 src/testsuite/fabric/TestXmlRpcCore.java
  239. +69 −0 src/testsuite/fabric/jdbc/TestBasicConnection.java
  240. +186 −0 src/testsuite/fabric/jdbc/TestFabricMySQLConnectionSharding.java
  241. +108 −0 src/testsuite/fabric/jdbc/TestHABasics.java
  242. +208 −0 src/testsuite/fabric/jdbc/TestHashSharding.java
  243. +2 −4 src/testsuite/perf/BasePerfTest.java
  244. +2 −4 src/testsuite/perf/LoadStorePerfTest.java
  245. +2 −4 src/testsuite/perf/RetrievalPerfTest.java
  246. +2 −4 src/testsuite/regression/BlobRegressionTest.java
  247. +2 −4 src/testsuite/regression/CachedRowsetTest.java
  248. +2 −4 src/testsuite/regression/CallableStatementRegressionTest.java
  249. +121 −1 src/testsuite/regression/ConnectionRegressionTest.java
  250. +2 −4 src/testsuite/regression/DataSourceRegressionTest.java
  251. +2 −2 src/testsuite/regression/EscapeProcessorRegressionTest.java
  252. +6 −4 src/testsuite/regression/MetaDataRegressionTest.java
  253. +3 −2 src/testsuite/regression/MicroPerformanceRegressionTest.java
  254. +2 −4 src/testsuite/regression/NumbersRegressionTest.java
  255. +2 −4 src/testsuite/regression/PooledConnectionRegressionTest.java
  256. +70 −2 src/testsuite/regression/ResultSetRegressionTest.java
  257. +462 −2 src/testsuite/regression/StatementRegressionTest.java
  258. +2 −4 src/testsuite/regression/StressRegressionTest.java
  259. +2 −4 src/testsuite/regression/StringRegressionTest.java
  260. +2 −4 src/testsuite/regression/SubqueriesRegressionTest.java
  261. +3 −1 src/testsuite/regression/SyntaxRegressionTest.java
  262. +2 −2 src/testsuite/regression/jdbc4/ExceptionSubclassesTest.java
  263. +7 −5 src/testsuite/regression/jdbc4/MetaDataRegressionTest.java
  264. +2 −1 src/testsuite/regression/jdbc4/StatementRegressionTest.java
  265. +2 −4 src/testsuite/simple/BlobTest.java
  266. +2 −4 src/testsuite/simple/CallableStatementTest.java
  267. +16 −15 src/testsuite/simple/CharsetTests.java
  268. +2 −4 src/testsuite/simple/ConnectionTest.java
  269. +2 −4 src/testsuite/simple/DataSourceTest.java
  270. +2 −4 src/testsuite/simple/DateTest.java
  271. +2 −4 src/testsuite/simple/EscapeProcessingTest.java
  272. +2 −4 src/testsuite/simple/MetadataTest.java
  273. +2 −4 src/testsuite/simple/MiniAdminTest.java
  274. +2 −4 src/testsuite/simple/NumbersTest.java
  275. +2 −2 src/testsuite/simple/ReadOnlyCallableStatementTest.java
  276. +2 −4 src/testsuite/simple/SSLTest.java
  277. +2 −4 src/testsuite/simple/ServerControllerTest.java
  278. +2 −2 src/testsuite/simple/SimpleTransformer.java
  279. +3 −2 src/testsuite/simple/SplitDBdotNameTest.java
  280. +16 −18 src/testsuite/simple/StatementsTest.java
  281. +84 −0 src/testsuite/simple/StringUtilsTest.java
  282. +2 −4 src/testsuite/simple/TestBug57662Logger.java
  283. +1 −4 src/testsuite/simple/TestLifecycleInterceptor.java
  284. +2 −4 src/testsuite/simple/TransactionTest.java
  285. +2 −4 src/testsuite/simple/TraversalTest.java
  286. +2 −4 src/testsuite/simple/UpdatabilityTest.java
  287. +2 −2 src/testsuite/simple/XATest.java
  288. +3 −2 src/testsuite/simple/jdbc4/StatementsTest.java
29 changes: 29 additions & 0 deletions CHANGES
Original file line number Diff line number Diff line change
@@ -1,5 +1,34 @@
# Changelog
# $Id$
03-28-14 - Version 5.1.30

- Fix for Bug#71679 (18236388), Avoid iterator creation when invoking statement interceptors in MysqlIO.
Thanks to Andrej Golovnin for his contribution.

- Fix for Bug#70944 (17831255), community and commercial builds should have the same line number tables

- Fix for Bug#71861 (18327245), Avoid manual array copy in MysqlIO and LoadBalancingConnectionProxy.
Thanks to Andrej Golovnin for his contribution.

- Fix for Bug#71623 (18228668), Field#getStringFromBytes() creates useless byte array when using JVM converter.
Thanks to Andrej Golovnin for his contribution.

- Fix for Bug#71621 (18228302), MysqlXAConnection#xidToString(Xid xid) produces too much garbage.
Thanks to Andrej Golovnin for his contribution.

- Fix for Bug#67318 (16722637), SQLException thrown on already closed ResultSet. Thanks to Thomas Manville and Andrej Golovnin for their contribution.

- Fix for Bug#71396 (18110320), setMaxRows (SQL_SELECT_LIMIT) from one query used in later queries (sometimes).
Additionally, SQL_SELECT_LIMIT is no longer sent unnecessarily between consecutive queries.

- Fix for Bug#71432 (18107621), Key store files not closed when making SSL connection

- Reserved words lists updated from latest official SQL:92 and SQL:2003 specifications.

- Fix for Bug#18091639, STRINGINDEXOUTOFBOUNDSEXCEPTION IN PREPAREDSTATEMENT.SETTIMESTAMP WITH 5.6.15

- Added Fabric support

02-10-14 - Version 5.1.29

- Fix for Bug#70701 (17647584), DatabaseMetaData.getSQLKeywords() doesn't match MySQL 5.6 reserved words.
162 changes: 155 additions & 7 deletions build.xml
Original file line number Diff line number Diff line change
@@ -30,7 +30,7 @@

<property name="major_version" value="5"/>
<property name="minor_version" value="1"/>
<property name="subminor_version" value="29"/>
<property name="subminor_version" value="30"/>
<property name="version_status" value=""/>

<property name="version" value="${major_version}.${minor_version}.${subminor_version}${version_status}"/>
@@ -91,6 +91,19 @@
these jars there or pass different location via ant -D switch.
-->
<property name="com.mysql.jdbc.extra.libs" value="${sourceDir}/lib"/>
<fail message="Valid location for `com.mysql.jdbc.extra.libs' is required for build tasks.">
<condition>
<not>
<and>
<available file="${com.mysql.jdbc.extra.libs}" type="dir"/>
<resourcecount count="1">
<fileset dir="${com.mysql.jdbc.extra.libs}" includes="ant-contrib.jar"/>
</resourcecount>
</and>
</not>
</condition>
</fail>


<taskdef resource="net/sf/antcontrib/antlib.xml">
<classpath>
@@ -252,7 +265,7 @@ and the full path to the rt.jar from Java-6 with the property &quot;com.mysql.jd
<then>
<replaceregexp
match="The MySQL Connector.*1301.[^replaceregexp]*USA"
replace=""
replace="${line.separator}${line.separator}${line.separator}${line.separator}${line.separator}${line.separator}${line.separator}${line.separator}${line.separator}${line.separator}${line.separator}${line.separator}${line.separator}${line.separator}${line.separator}${line.separator}"
flags="s">
<fileset dir="${buildDir}/${fullProdName}" includes="**/*"/>
</replaceregexp>
@@ -339,7 +352,7 @@ and the full path to the rt.jar from Java-6 with the property &quot;com.mysql.jd
<jar jarfile="${mavenUploadDir}/${fullProdName}.jar"
basedir="${compiler.output}"
includes="**/*.class,**/*.properties*,COPYING,README,META-INF/**"
excludes="testsuite/**"
excludes="testsuite/**,demo/**"
index="true"
manifest="${buildDir}/${fullProdName}/META-INF/MANIFEST.MF"/>

@@ -382,11 +395,20 @@ and the full path to the rt.jar from Java-6 with the property &quot;com.mysql.jd
<patternset refid="non.test.sources"/>
</fileset>

<fileset dir="." includes="src/com/**, src/doc/**, src/lib/*, src/org/**, src/testsuite/**, build.xml, CHANGES, COPYING">
<fileset dir="." includes="src/com/**, src/doc/**, src/lib/*, src/org/**, src/testsuite/**, src/demo/**, build.xml, CHANGES, COPYING">
<patternset refid="non.test.sources"/>
</fileset>
</copy>

<if>
<isset property="com.mysql.jdbc.noCryptoBuild"/>
<then>
<copy file="${com.mysql.jdbc.extra.libs}/ExportControlledNoCrypto.notjava"
toFile="${packageDest}/src/com/mysql/jdbc/ExportControlled.java"
overwrite="true"/>
</then>
</if>

<!-- Fix CRLF for various platforms -->
<if>
<isset property="com.mysql.jdbc.commercialBuild"/>
@@ -426,7 +448,7 @@ and the full path to the rt.jar from Java-6 with the property &quot;com.mysql.jd
<!-- For safety -->
<replaceregexp
match="The MySQL Connector.*1301.[^replaceregexp]*USA"
replace=""
replace="${line.separator}${line.separator}${line.separator}${line.separator}${line.separator}${line.separator}${line.separator}${line.separator}${line.separator}${line.separator}${line.separator}${line.separator}${line.separator}${line.separator}${line.separator}${line.separator}"
flags="s">
<fileset dir="${packageDest}" includes="**/*"/>
</replaceregexp>
@@ -446,7 +468,7 @@ and the full path to the rt.jar from Java-6 with the property &quot;com.mysql.jd

<mkdir dir="${buildDir}/${fullProdName}/META-INF/services/" />
<echo file="${buildDir}/${fullProdName}/META-INF/services/java.sql.Driver"
message="com.mysql.jdbc.Driver" />
message="com.mysql.jdbc.Driver${line.separator}com.mysql.fabric.jdbc.FabricMySQLDriver"/>

<property name="osgid-version" value="${major_version}.${minor_version}.${subminor_version}"/>

@@ -496,7 +518,7 @@ and the full path to the rt.jar from Java-6 with the property &quot;com.mysql.jd
<jar jarfile="${buildDir}/${fullProdName}/${fullProdName}-bin.jar"
basedir="${compiler.output}"
includes="**/*.class,**/*.properties*,COPYING,README,META-INF/**"
excludes="testsuite/**"
excludes="testsuite/**,demo/**"
index="true"
manifest="${buildDir}/${fullProdName}/META-INF/MANIFEST.MF"/>
</target>
@@ -614,6 +636,7 @@ and the full path to the rt.jar from Java-6 with the property &quot;com.mysql.jd
<batchtest unless="test" todir="${junit.unitregress.results}" >
<fileset dir="${buildDir}/${fullProdName}">
<include name="**/*Test.java" />
<exclude name="**/fabric/*.java"/>
<exclude name="**/perf/*.java"/>
<exclude name="**/jdbc4/*Test.java"/>
</fileset>
@@ -817,6 +840,8 @@ and the full path to the rt.jar from Java-6 with the property &quot;com.mysql.jd
<exclude name="com/mysql/jdbc/integration/**" />
<exclude name="com/mysql/jdbc/log/Log4JLogger.java" />
<exclude name="**/JDBC4*.java" />
<exclude name="**/FabricMultiTenantConnectionProvider.java"/>
<exclude name="**/HibernateFabric.java"/>
<exclude name="com/mysql/jdbc/exceptions/jdbc4/*" />

<classpath refid="project.build.classpath" />
@@ -833,6 +858,8 @@ and the full path to the rt.jar from Java-6 with the property &quot;com.mysql.jd
compiler="modern"
sourcepath="" srcdir="${buildDir}/${fullProdName}"
bootclasspath="${com.mysql.jdbc.java6.rtjar}">
<include name="**/FabricMultiTenantConnectionProvider.java"/>
<include name="**/HibernateFabric.java"/>
<include name="**/JDBC4*.java" />
<include name="com/mysql/jdbc/exceptions/jdbc4/*" />

@@ -1061,6 +1088,7 @@ and the full path to the rt.jar from Java-6 with the property &quot;com.mysql.jd
<batchtest fork="yes" todir="${junit.unitregress.results}">
<fileset dir="${buildDir}/${fullProdName}">
<include name="**/*Test.java" />
<exclude name="**/fabric/*.java"/>
<exclude name="**/perf/*.java"/>
</fileset>
</batchtest>
@@ -1265,4 +1293,124 @@ and the full path to the rt.jar from Java-6 with the property &quot;com.mysql.jd
</exec>
</target>

<!--
! `test' and `demo' targets for Fabric intentionally don't depend on `build'.
! This allows building and testing code with the environmental JVM.
!-->

<target name="test-fabric-setup">
<java fork="on" classname="testsuite.fabric.SetupFabricTestsuite" dir="${buildDir}/${fullProdName}">
<sysproperty key="com.mysql.fabric.testsuite.username" value="${com.mysql.fabric.testsuite.username}" />
<sysproperty key="com.mysql.fabric.testsuite.password" value="${com.mysql.fabric.testsuite.password}" />
<sysproperty key="com.mysql.fabric.testsuite.global.host" value="${com.mysql.fabric.testsuite.global.host}" />
<sysproperty key="com.mysql.fabric.testsuite.global.port" value="${com.mysql.fabric.testsuite.global.port}" />
</java>
</target>

<target name="test-fabric" depends="test-fabric-setup">
<junit printSummary="yes" fork="true" forkmode="once">

<sysproperty key="com.mysql.fabric.testsuite.hostname" value="${com.mysql.fabric.testsuite.hostname}" />
<sysproperty key="com.mysql.fabric.testsuite.port" value="${com.mysql.fabric.testsuite.port}" />
<sysproperty key="com.mysql.fabric.testsuite.fabricUsername" value="${com.mysql.fabric.testsuite.fabricUsername}" />
<sysproperty key="com.mysql.fabric.testsuite.fabricPassword" value="${com.mysql.fabric.testsuite.fabricPassword}" />
<sysproperty key="com.mysql.fabric.testsuite.username" value="${com.mysql.fabric.testsuite.username}" />
<sysproperty key="com.mysql.fabric.testsuite.password" value="${com.mysql.fabric.testsuite.password}" />
<sysproperty key="com.mysql.fabric.testsuite.database" value="${com.mysql.fabric.testsuite.database}" />
<sysproperty key="com.mysql.fabric.testsuite.global.host" value="${com.mysql.fabric.testsuite.global.host}" />
<sysproperty key="com.mysql.fabric.testsuite.global.port" value="${com.mysql.fabric.testsuite.global.port}" />
<sysproperty key="com.mysql.fabric.testsuite.shard1.host" value="${com.mysql.fabric.testsuite.shard1.host}" />
<sysproperty key="com.mysql.fabric.testsuite.shard1.port" value="${com.mysql.fabric.testsuite.shard1.port}" />
<sysproperty key="com.mysql.fabric.testsuite.shard2.host" value="${com.mysql.fabric.testsuite.shard2.host}" />
<sysproperty key="com.mysql.fabric.testsuite.shard2.port" value="${com.mysql.fabric.testsuite.shard2.port}" />

<classpath>
<fileset dir="${com.mysql.jdbc.extra.libs}/hibernate4">
<include name="**/*.jar"/>
</fileset>
<fileset dir="${buildDir}/${fullProdName}/lib">
<include name="**/*.jar"/>
</fileset>
<pathelement location="${buildDir}/${fullProdName}" />
<pathelement path="${java.class.path}" />
</classpath>

<formatter type="brief" />

<test if="test" name="${test}" />
<batchtest unless="test">
<fileset dir="${buildDir}/${fullProdName}">
<include name="**/fabric/**/Test*.java" />
<exclude name="**/fabric/**/TestHashSharding.java"/>
<exclude name="**/fabric/**/TestHABasics.java"/>
</fileset>
</batchtest>
</junit>
</target>

<target name="demo-fabric" depends="demo-fabric-client1, demo-fabric-employees-jdbc" />

<target name="demo-fabric-client1">
<java fork="on" classname="demo.fabric.Client1_Fabric" dir="${buildDir}/${fullProdName}">
<sysproperty key="com.mysql.fabric.testsuite.hostname" value="${com.mysql.fabric.testsuite.hostname}" />
<sysproperty key="com.mysql.fabric.testsuite.port" value="${com.mysql.fabric.testsuite.port}" />
<sysproperty key="com.mysql.fabric.testsuite.fabricUsername" value="${com.mysql.fabric.testsuite.fabricUsername}" />
<sysproperty key="com.mysql.fabric.testsuite.fabricPassword" value="${com.mysql.fabric.testsuite.fabricPassword}" />
<sysproperty key="com.mysql.fabric.testsuite.username" value="${com.mysql.fabric.testsuite.username}" />
<sysproperty key="com.mysql.fabric.testsuite.password" value="${com.mysql.fabric.testsuite.password}" />
<sysproperty key="com.mysql.fabric.testsuite.database" value="${com.mysql.fabric.testsuite.database}" />
<sysproperty key="com.mysql.fabric.testsuite.global.host" value="${com.mysql.fabric.testsuite.global.host}" />
<sysproperty key="com.mysql.fabric.testsuite.global.port" value="${com.mysql.fabric.testsuite.global.port}" />
<sysproperty key="com.mysql.fabric.testsuite.shard1.host" value="${com.mysql.fabric.testsuite.shard1.host}" />
<sysproperty key="com.mysql.fabric.testsuite.shard1.port" value="${com.mysql.fabric.testsuite.shard1.port}" />
<sysproperty key="com.mysql.fabric.testsuite.shard2.host" value="${com.mysql.fabric.testsuite.shard2.host}" />
<sysproperty key="com.mysql.fabric.testsuite.shard2.port" value="${com.mysql.fabric.testsuite.shard2.port}" />
</java>
</target>

<target name="demo-fabric-employees-jdbc">
<java fork="on" classname="demo.fabric.EmployeesJdbc" dir="${buildDir}/${fullProdName}">
<sysproperty key="com.mysql.fabric.testsuite.hostname" value="${com.mysql.fabric.testsuite.hostname}" />
<sysproperty key="com.mysql.fabric.testsuite.port" value="${com.mysql.fabric.testsuite.port}" />
<sysproperty key="com.mysql.fabric.testsuite.fabricUsername" value="${com.mysql.fabric.testsuite.fabricUsername}" />
<sysproperty key="com.mysql.fabric.testsuite.fabricPassword" value="${com.mysql.fabric.testsuite.fabricPassword}" />
<sysproperty key="com.mysql.fabric.testsuite.username" value="${com.mysql.fabric.testsuite.username}" />
<sysproperty key="com.mysql.fabric.testsuite.password" value="${com.mysql.fabric.testsuite.password}" />
<sysproperty key="com.mysql.fabric.testsuite.database" value="${com.mysql.fabric.testsuite.database}" />
<sysproperty key="com.mysql.fabric.testsuite.global.host" value="${com.mysql.fabric.testsuite.global.host}" />
<sysproperty key="com.mysql.fabric.testsuite.global.port" value="${com.mysql.fabric.testsuite.global.port}" />
<sysproperty key="com.mysql.fabric.testsuite.shard1.host" value="${com.mysql.fabric.testsuite.shard1.host}" />
<sysproperty key="com.mysql.fabric.testsuite.shard1.port" value="${com.mysql.fabric.testsuite.shard1.port}" />
<sysproperty key="com.mysql.fabric.testsuite.shard2.host" value="${com.mysql.fabric.testsuite.shard2.host}" />
<sysproperty key="com.mysql.fabric.testsuite.shard2.port" value="${com.mysql.fabric.testsuite.shard2.port}" />
</java>
</target>

<target name="demo-fabric-hibernate">
<java fork="on" classname="demo.fabric.HibernateFabric" dir="${buildDir}/${fullProdName}">
<sysproperty key="com.mysql.fabric.testsuite.hostname" value="${com.mysql.fabric.testsuite.hostname}" />
<sysproperty key="com.mysql.fabric.testsuite.port" value="${com.mysql.fabric.testsuite.port}" />
<sysproperty key="com.mysql.fabric.testsuite.fabricUsername" value="${com.mysql.fabric.testsuite.fabricUsername}" />
<sysproperty key="com.mysql.fabric.testsuite.fabricPassword" value="${com.mysql.fabric.testsuite.fabricPassword}" />
<sysproperty key="com.mysql.fabric.testsuite.username" value="${com.mysql.fabric.testsuite.username}" />
<sysproperty key="com.mysql.fabric.testsuite.password" value="${com.mysql.fabric.testsuite.password}" />
<sysproperty key="com.mysql.fabric.testsuite.database" value="${com.mysql.fabric.testsuite.database}" />
<sysproperty key="com.mysql.fabric.testsuite.global.host" value="${com.mysql.fabric.testsuite.global.host}" />
<sysproperty key="com.mysql.fabric.testsuite.global.port" value="${com.mysql.fabric.testsuite.global.port}" />
<sysproperty key="com.mysql.fabric.testsuite.shard1.host" value="${com.mysql.fabric.testsuite.shard1.host}" />
<sysproperty key="com.mysql.fabric.testsuite.shard1.port" value="${com.mysql.fabric.testsuite.shard1.port}" />
<sysproperty key="com.mysql.fabric.testsuite.shard2.host" value="${com.mysql.fabric.testsuite.shard2.host}" />
<sysproperty key="com.mysql.fabric.testsuite.shard2.port" value="${com.mysql.fabric.testsuite.shard2.port}" />
<classpath>
<fileset dir="${com.mysql.jdbc.extra.libs}/hibernate4">
<include name="**/*.jar" />
</fileset>
<fileset dir="src/lib">
<include name="**/*.jar" />
</fileset>
<dirset dir="${buildDir}/${fullProdName}"/>
</classpath>
</java>
</target>

</project>
77 changes: 77 additions & 0 deletions src/com/mysql/fabric/DumpResponse.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
/*
Copyright (c) 2013, 2014, 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.fabric;

import java.util.List;

/**
* A response from one of the dump.* commands. These are formatted differently
* than responses from other commands. Most dump commands return List<List>.
* `dump.fabric_nodes' is a notable exception returning a list of Fabric host/port pairs
* as strings.
*/
public class DumpResponse {
private List<?> returnValue;
private int ttl;

public DumpResponse(List<?> responseData) {
// uuid ignored (why is it int?)
// version token ignored
this.ttl = (Integer)responseData.get(2);
this.returnValue = (List<?>)responseData.get(3);
}

public List getReturnValue() {
return this.returnValue;
}

public int getTtl() {
return this.ttl;
}

/**
* Debug method to print the response and classes of data values.
*/
public String dumpReturnValue() {
StringBuffer b = new StringBuffer();
if (this.returnValue.size() > 0 &&
List.class.isAssignableFrom(this.returnValue.get(0).getClass())) {
// elements of return value list are lists themselves
for (List l : (List<List>) this.returnValue) {
b.append("[\n");
for (Object o : l) {
b.append(" " + o.toString());
b.append(" (" + o.getClass() + "),\n");
}
b.append("]\n");
}
} else {
// for dump.fabric_nodes or any other non-list value types
for (Object o : this.returnValue) {
b.append(o.toString() + ",");
}
}
return b.toString();
}
}
Loading