diff --git a/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/registry/DataSourceDescriptor.java b/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/registry/DataSourceDescriptor.java index 0be2afcea825eea0e24661182723722d13844ae5..7aa38b631fa970da4e3e8b86cab4e8bee9f3591e 100644 --- a/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/registry/DataSourceDescriptor.java +++ b/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/registry/DataSourceDescriptor.java @@ -293,8 +293,8 @@ public class DataSourceDescriptor @Override public boolean isDefaultAutoCommit() { - if (getPreferenceStore().contains(DBeaverPreferences.DEFAULT_AUTO_COMMIT)) { - return getPreferenceStore().getBoolean(DBeaverPreferences.DEFAULT_AUTO_COMMIT); + if (preferenceStore.contains(DBeaverPreferences.DEFAULT_AUTO_COMMIT)) { + return preferenceStore.getBoolean(DBeaverPreferences.DEFAULT_AUTO_COMMIT); } else { return getConnectionInfo().getConnectionType().isAutocommit(); } @@ -329,9 +329,9 @@ public class DataSourceDescriptor } // Save in preferences if (autoCommit == getConnectionInfo().getConnectionType().isAutocommit()) { - getPreferenceStore().setToDefault(DBeaverPreferences.DEFAULT_AUTO_COMMIT); + preferenceStore.setToDefault(DBeaverPreferences.DEFAULT_AUTO_COMMIT); } else { - getPreferenceStore().setValue(DBeaverPreferences.DEFAULT_AUTO_COMMIT, autoCommit); + preferenceStore.setValue(DBeaverPreferences.DEFAULT_AUTO_COMMIT, autoCommit); } } @@ -380,7 +380,7 @@ public class DataSourceDescriptor { try { if (isolationLevel == null) { - getPreferenceStore().setToDefault(DBeaverPreferences.DEFAULT_ISOLATION); + preferenceStore.setToDefault(DBeaverPreferences.DEFAULT_ISOLATION); } else { DBeaverUI.runInProgressService(new DBRRunnableWithProgress() { @Override @@ -391,7 +391,7 @@ public class DataSourceDescriptor try { if (!txnManager.getTransactionIsolation().equals(isolationLevel)) { txnManager.setTransactionIsolation(isolationLevel); - getPreferenceStore().setValue(DBeaverPreferences.DEFAULT_ISOLATION, isolationLevel.getCode()); + preferenceStore.setValue(DBeaverPreferences.DEFAULT_ISOLATION, isolationLevel.getCode()); } } catch (DBCException e) { throw new InvocationTargetException(e); @@ -413,11 +413,11 @@ public class DataSourceDescriptor } public String getDefaultActiveObject() { - return getPreferenceStore().getString(DBeaverPreferences.DEFAULT_ACTIVE_OBJECT); + return preferenceStore.getString(DBeaverPreferences.DEFAULT_ACTIVE_OBJECT); } public void setDefaultActiveObject(String defaultActiveObject) { - getPreferenceStore().setValue(DBeaverPreferences.DEFAULT_ACTIVE_OBJECT, defaultActiveObject); + preferenceStore.setValue(DBeaverPreferences.DEFAULT_ACTIVE_OBJECT, defaultActiveObject); } public Collection getObjectFilters() @@ -648,20 +648,19 @@ public class DataSourceDescriptor DBCTransactionManager txnManager = session.getTransactionManager(); // Set auto-commit boolean autoCommit = txnManager.isAutoCommit(); - AbstractPreferenceStore store = getPreferenceStore(); boolean newAutoCommit; - if (!store.contains(DBeaverPreferences.DEFAULT_AUTO_COMMIT)) { + if (!preferenceStore.contains(DBeaverPreferences.DEFAULT_AUTO_COMMIT)) { newAutoCommit = connectionInfo.getConnectionType().isAutocommit(); } else { - newAutoCommit = store.getBoolean(DBeaverPreferences.DEFAULT_AUTO_COMMIT); + newAutoCommit = preferenceStore.getBoolean(DBeaverPreferences.DEFAULT_AUTO_COMMIT); } if (autoCommit != newAutoCommit) { // Change auto-commit state txnManager.setAutoCommit(newAutoCommit); } // Set txn isolation level - if (store.contains(DBeaverPreferences.DEFAULT_ISOLATION)) { - int isolationCode = store.getInt(DBeaverPreferences.DEFAULT_ISOLATION); + if (preferenceStore.contains(DBeaverPreferences.DEFAULT_ISOLATION)) { + int isolationCode = preferenceStore.getInt(DBeaverPreferences.DEFAULT_ISOLATION); Collection supportedLevels = dataSource.getInfo().getSupportedTransactionsIsolation(); if (!CommonUtils.isEmpty(supportedLevels)) { for (DBPTransactionIsolation level : supportedLevels) { diff --git a/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/runtime/jobs/DataSourceJob.java b/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/runtime/jobs/DataSourceJob.java index ef42960e4d4f923873939021aebd947a06e78632..722bfd5f5335b210a4e7ae244ee3de89e7341037 100644 --- a/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/runtime/jobs/DataSourceJob.java +++ b/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/runtime/jobs/DataSourceJob.java @@ -67,6 +67,7 @@ public abstract class DataSourceJob extends AbstractJob implements DBPDataSource }); } + @Nullable public DBPDataSource getDataSource() { return dataSourceContainer.getDataSource(); diff --git a/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/runtime/sql/SQLQueryJob.java b/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/runtime/sql/SQLQueryJob.java index 45d185ddce64c25dc94bcf531d44b185a2cb599f..e7762b3e5323ccb674308b5fd88a47f23a48f0d3 100644 --- a/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/runtime/sql/SQLQueryJob.java +++ b/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/runtime/sql/SQLQueryJob.java @@ -579,8 +579,10 @@ public class SQLQueryJob extends DataSourceJob private boolean keepStatementOpen() { // Only in single query mode and if pref option set to true + DBPDataSource dataSource = getDataSource(); return queries.size() == 1 && - getDataSource().getContainer().getPreferenceStore().getBoolean(DBeaverPreferences.KEEP_STATEMENT_OPEN); + dataSource != null && + dataSource.getContainer().getPreferenceStore().getBoolean(DBeaverPreferences.KEEP_STATEMENT_OPEN); } private void closeStatement()