HHH-8983 log/clear Statement warnings on JdbcCoordinator#release

This commit is contained in:
Brett Meyer 2014-02-18 22:08:32 -05:00
parent 64acebb5a9
commit 2961f7df68
2 changed files with 8 additions and 0 deletions

View File

@ -524,6 +524,10 @@ public class JdbcCoordinatorImpl implements JdbcCoordinator {
protected void close(Statement statement) { protected void close(Statement statement) {
LOG.tracev( "Closing prepared statement [{0}]", statement ); LOG.tracev( "Closing prepared statement [{0}]", statement );
// Important for Statement caching -- some DBs (especially Sybase) log warnings on every Statement under
// certain situations.
sqlExceptionHelper().logAndClearWarnings( statement );
if ( statement instanceof InvalidatableWrapper ) { if ( statement instanceof InvalidatableWrapper ) {
final InvalidatableWrapper<Statement> wrapper = (InvalidatableWrapper<Statement>) statement; final InvalidatableWrapper<Statement> wrapper = (InvalidatableWrapper<Statement>) statement;
close( wrapper.getWrappedObject() ); close( wrapper.getWrappedObject() );

View File

@ -269,6 +269,10 @@ public class SqlExceptionHelper {
handleAndClearWarnings( connection, STANDARD_WARNING_HANDLER ); handleAndClearWarnings( connection, STANDARD_WARNING_HANDLER );
} }
public void logAndClearWarnings(Statement statement) {
handleAndClearWarnings( statement, STANDARD_WARNING_HANDLER );
}
/** /**
* General purpose handling of warnings associated with a JDBC {@link Connection}. * General purpose handling of warnings associated with a JDBC {@link Connection}.
* *