Auto-commit init SQL (was broken after previous code re-ordering)

pull/180/head
Brett Wooldridge 10 years ago
parent 2fb8f8a416
commit 95d0e2494f

@ -25,7 +25,7 @@ import static com.zaxxer.hikari.util.PoolUtilities.IS_JAVA7;
import static com.zaxxer.hikari.util.PoolUtilities.createInstance;
import static com.zaxxer.hikari.util.PoolUtilities.createThreadPoolExecutor;
import static com.zaxxer.hikari.util.PoolUtilities.elapsedTimeMs;
import static com.zaxxer.hikari.util.PoolUtilities.executeSqlAutoCommit;
import static com.zaxxer.hikari.util.PoolUtilities.executeSql;
import static com.zaxxer.hikari.util.PoolUtilities.getTransactionIsolation;
import static com.zaxxer.hikari.util.PoolUtilities.initializeDataSource;
import static com.zaxxer.hikari.util.PoolUtilities.isJdbc40Compliant;
@ -429,7 +429,7 @@ public final class HikariPool implements HikariPoolMBean, IBagStateListener
setupConnection(connection, isAutoCommit, isReadOnly, transactionIsolation, catalog);
connectionCustomizer.customize(connection);
executeSqlAutoCommit(connection, configuration.getConnectionInitSql());
executeSql(connection, configuration.getConnectionInitSql(), isAutoCommit);
setNetworkTimeout(houseKeepingExecutorService, connection, originalTimeout, isUseNetworkTimeout);
connectionBag.add(new PoolBagEntry(connection, configuration.getMaxLifetime()));

@ -75,13 +75,15 @@ public final class PoolUtilities
* @param sql the SQL to execute
* @throws SQLException throws if the init SQL execution fails
*/
public static void executeSqlAutoCommit(final Connection connection, final String sql) throws SQLException
public static void executeSql(final Connection connection, final String sql, final boolean isAutoCommit) throws SQLException
{
if (sql != null) {
connection.setAutoCommit(true);
Statement statement = connection.createStatement();
try {
statement.execute(sql);
if (!isAutoCommit) {
connection.commit();
}
}
finally {
statement.close();

@ -24,7 +24,7 @@ import static com.zaxxer.hikari.util.ConcurrentBag.STATE_REMOVED;
import static com.zaxxer.hikari.util.PoolUtilities.createInstance;
import static com.zaxxer.hikari.util.PoolUtilities.createThreadPoolExecutor;
import static com.zaxxer.hikari.util.PoolUtilities.elapsedTimeMs;
import static com.zaxxer.hikari.util.PoolUtilities.executeSqlAutoCommit;
import static com.zaxxer.hikari.util.PoolUtilities.executeSql;
import static com.zaxxer.hikari.util.PoolUtilities.getTransactionIsolation;
import static com.zaxxer.hikari.util.PoolUtilities.initializeDataSource;
import static com.zaxxer.hikari.util.PoolUtilities.isJdbc40Compliant;
@ -412,7 +412,7 @@ public final class HikariPool implements HikariPoolMBean, IBagStateListener
setupConnection(connection, isAutoCommit, isReadOnly, transactionIsolation, catalog);
connectionCustomizer.customize(connection);
executeSqlAutoCommit(connection, configuration.getConnectionInitSql());
executeSql(connection, configuration.getConnectionInitSql(), isAutoCommit);
setNetworkTimeout(houseKeepingExecutorService, connection, originalTimeout, isUseNetworkTimeout);
connectionBag.add(new PoolBagEntry(connection, configuration.getMaxLifetime()));

@ -61,12 +61,14 @@ public final class PoolUtilities
* @param sql the SQL to execute
* @throws SQLException throws if the init SQL execution fails
*/
public static void executeSqlAutoCommit(final Connection connection, final String sql) throws SQLException
public static void executeSql(final Connection connection, final String sql, final boolean isAutoCommit) throws SQLException
{
if (sql != null) {
connection.setAutoCommit(true);
try (Statement statement = connection.createStatement()) {
statement.execute(sql);
if (!isAutoCommit) {
connection.commit();
}
}
}
}

Loading…
Cancel
Save