Description:
|
Performance benchmarking has shown that our JDBC proxying (AbstractProxyHandler and subclasses) are a big hotspot.
Most of their provided functionality fall into fairly well-defined steps.
Attempt to replace
Replace
as much proxying as possible with new contracts.
CHANGES MADE org.hibernate.engine.jdbc.internal.proxy completely removed JdbcResourceRegistry merged into JdbcCoordinator. A few pieces of LogicalConnectionImplementer moved into JdbcCoordinator as well. StatementPreparerImpl registers the Statement with JdbcCoordinator. StatementPreparerImpl logs PreparedStatement and CallableStatement SQL Replaced Statement#close and ResultSet#close calls with JdbcCoordinator#release Enforced the use of StatementPreparer instead of Connection's createStatement, prepareStatement, and prepareCall Created ResultSetExtractor and used it to replace execute/executeUpdate/executeQuery calls on Statement/PreparedStatement/CallableStatement ResultSetExtractorImpl registers the ResultSet with JdbcCoordinator. ResultSetExtractorImpl logs Statement SQL org/hibernate/test/jdbc/proxies tests updated/refactored to test the new apis
|