private ResourceRegistry getResourceRegistry(JdbcCoordinator jdbcCoord) { return jdbcCoord.getResourceRegistry(); } }
private void postExtract(ResultSet rs, Statement st) { if ( rs != null ) { jdbcCoordinator.getResourceRegistry().register( rs, st ); } }
protected void releaseStatements() { for ( PreparedStatement statement : getStatements().values() ) { clearBatch( statement ); jdbcCoordinator.getResourceRegistry().release( statement ); jdbcCoordinator.afterStatementExecution(); } getStatements().clear(); }
private void releaseStatement(Session session, PreparedStatement ps) { if ( ps != null ) { try { ( (SessionImplementor) session ).getJdbcCoordinator().getResourceRegistry().release( ps ); } catch ( Throwable ignore ) { // ignore... } } } }
@Override public void addToBatch() { notifyObserversImplicitExecution(); for ( Map.Entry<String,PreparedStatement> entry : getStatements().entrySet() ) { try { final PreparedStatement statement = entry.getValue(); final int rowCount = jdbcCoordinator.getResultSetReturn().executeUpdate( statement ); getKey().getExpectation().verifyOutcome( rowCount, statement, 0 ); jdbcCoordinator.getResourceRegistry().release( statement ); jdbcCoordinator.afterStatementExecution(); } catch ( SQLException e ) { abortBatch(); throw sqlExceptionHelper().convert( e, "could not execute non-batched batch statement", entry.getKey() ); } catch (JDBCException e) { abortBatch(); throw e; } } getStatements().clear(); }
private void validateColumn(Connection connection, String columnName, int expectedJdbcTypeCode) throws SQLException { DatabaseMetaData meta = connection.getMetaData(); // DBs treat the meta information differently, in particular case sensitivity. // We need to use the meta information to find out how to treat names String tableNamePattern = generateFinalNamePattern( meta, SOME_ENTITY_TABLE_NAME ); String columnNamePattern = generateFinalNamePattern( meta, columnName ); ResultSet columnInfo = meta.getColumns( null, null, tableNamePattern, columnNamePattern ); s.getJdbcCoordinator().getResourceRegistry().register(columnInfo, columnInfo.getStatement()); assertTrue( columnInfo.next() ); int dataType = columnInfo.getInt( "DATA_TYPE" ); s.getJdbcCoordinator().getResourceRegistry().release( columnInfo, columnInfo.getStatement() ); assertEquals( columnName, JdbcTypeNameMapper.getTypeName( expectedJdbcTypeCode ), JdbcTypeNameMapper.getTypeName( dataType ) ); }
public void close() throws JDBCException { if ( ps != null ) { LOG.debug( "Closing iterator" ); session.getJdbcCoordinator().getResourceRegistry().release( ps ); try { session.getPersistenceContext().getLoadContexts().cleanup( rs ); } catch (Throwable ignore) { // ignore this error for now LOG.debugf( "Exception trying to cleanup load context : %s", ignore.getMessage() ); } session.getJdbcCoordinator().afterStatementExecution(); ps = null; rs = null; hasNext = false; } }
@Override public final void close() { if ( this.closed ) { // noop if already closed return; } // not absolutely necessary, but does help with aggressive release //session.getJDBCContext().getConnectionManager().closeQueryStatement( ps, resultSet ); session.getJdbcCoordinator().getResourceRegistry().release( ps ); session.getJdbcCoordinator().afterStatementExecution(); try { session.getPersistenceContext().getLoadContexts().cleanup( resultSet ); } catch (Throwable ignore) { // ignore this error for now if ( LOG.isTraceEnabled() ) { LOG.tracev( "Exception trying to cleanup load context : {0}", ignore.getMessage() ); } } this.closed = true; }
session.getJdbcCoordinator().getResourceRegistry().release( rs, st ); session.getJdbcCoordinator().getResourceRegistry().release( st ); session.getJdbcCoordinator().afterStatementExecution();
session.getJdbcCoordinator().getResourceRegistry().release( rs, st ); session.getJdbcCoordinator().getResourceRegistry().release( st ); session.getJdbcCoordinator().afterStatementExecution();
@Override public void execute(Connection connection) throws SQLException { PreparedStatement ps = sessionImplementor.getJdbcCoordinator().getStatementPreparer().prepareStatement( QUERY_STRING ); ResultSet rs = sessionImplementor.getJdbcCoordinator().getResultSetReturn().extract( ps ); try { ResultSetMetaData metadata = rs.getMetaData(); String column1Alias = getDialect().getColumnAliasExtractor().extractColumnAlias( metadata, 1 ); String column2Alias = getDialect().getColumnAliasExtractor().extractColumnAlias( metadata, 2 ); Assert.assertFalse( "bad dialect.getColumnAliasExtractor impl", column1Alias.equals( column2Alias ) ); } finally { sessionImplementor.getJdbcCoordinator().getResourceRegistry().release( rs, ps ); sessionImplementor.getJdbcCoordinator().getResourceRegistry().release( ps ); } } }
session.getJdbcCoordinator().getResourceRegistry().release( rs, st ); session.getJdbcCoordinator().getResourceRegistry().release( st ); session.getJdbcCoordinator().afterStatementExecution();
/** * Execute given <tt>PreparedStatement</tt>, advance to the first result and return SQL <tt>ResultSet</tt>. */ protected final ResultSet getResultSet( final PreparedStatement st, final RowSelection selection, final LimitHandler limitHandler, final boolean autodiscovertypes, final SharedSessionContractImplementor session) throws SQLException, HibernateException { try { ResultSet rs = session.getJdbcCoordinator().getResultSetReturn().extract( st ); rs = wrapResultSetIfEnabled( rs , session ); if ( !limitHandler.supportsLimitOffset() || !LimitHelper.useLimit( limitHandler, selection ) ) { advance( rs, selection ); } if ( autodiscovertypes ) { autoDiscoverTypes( rs ); } return rs; } catch (SQLException | HibernateException ex) { session.getJdbcCoordinator().getResourceRegistry().release( st ); session.getJdbcCoordinator().afterStatementExecution(); throw ex; } }
session.getJdbcCoordinator().getResourceRegistry().release( rs, ps ); session.getJdbcCoordinator().getResourceRegistry().release( ps ); session.getJdbcCoordinator().afterStatementExecution();
@Override public void execute(Connection connection) throws SQLException { PreparedStatement stmnt = null; try { stmnt = session.getJdbcCoordinator().getStatementPreparer().prepareStatement( "UPDATE T_JOB SET JOB_STATUS = 1" ); session.getJdbcCoordinator().getResultSetReturn().executeUpdate( stmnt ); } finally { if ( stmnt != null ) { try { session.getJdbcCoordinator().getResourceRegistry().release( stmnt ); } catch( Throwable ignore ) { } } } } }
session.getJdbcCoordinator().getResourceRegistry().release( rs, ps ); session.getJdbcCoordinator().getResourceRegistry().release( ps ); session.getJdbcCoordinator().afterStatementExecution();
session.getJdbcCoordinator().getResourceRegistry().release( wrapper.getResultSet(), wrapper.getStatement() ); session.getJdbcCoordinator().getResourceRegistry().release( wrapper.getStatement() ); session.getJdbcCoordinator().afterStatementExecution();
session.getJdbcCoordinator().getResourceRegistry().release( st ); session.getJdbcCoordinator().afterStatementExecution(); throw sqle; session.getJdbcCoordinator().getResourceRegistry().release( st ); session.getJdbcCoordinator().afterStatementExecution(); throw he;
protected interface InclusionChecker { boolean includeProperty(int propertyNumber); }
session.getJdbcCoordinator().getResourceRegistry().release( st ); session.getJdbcCoordinator().afterStatementExecution();