提交 aa66604b 编写于 作者: J jurgen

Disabling SQL parameters feature

Former-commit-id: c231580f
上级 a54306b7
......@@ -49,6 +49,9 @@ public final class DBeaverPreferences
public static final String SCRIPT_AUTO_FOLDERS = "script.auto.folders"; //$NON-NLS-1$
public static final String SCRIPT_TITLE_PATTERN = "script.title.pattern"; //$NON-NLS-1$
public static final String SQL_PARAMETERS_ENABLED = "sql.parameter.enabled"; //$NON-NLS-1$
public static final String SQL_PARAMETERS_MARK = "sql.parameter.mark"; //$NON-NLS-1$
public static final String STATEMENT_INVALIDATE_BEFORE_EXECUTE = "statement.invalidate.before.execute"; //$NON-NLS-1$
public static final String STATEMENT_TIMEOUT = "statement.timeout"; //$NON-NLS-1$
public static final String MEMORY_CONTENT_MAX_SIZE = "content.memory.maxsize"; //$NON-NLS-1$
......
......@@ -1255,6 +1255,7 @@ public class CoreMessages extends NLS {
public static String pref_page_sql_editor_checkbox_fetch_resultsets;
public static String pref_page_sql_editor_text_statement_delimiter;
public static String pref_page_sql_editor_checkbox_ignore_native_delimiter;
public static String pref_page_sql_editor_checkbox_enable_sql_parameters;
public static String pref_page_sql_editor_title_pattern;
public static String pref_page_sql_editor_checkbox_put_new_scripts;
......
......@@ -838,6 +838,7 @@ pref_page_query_manager_logs_folder=Log files folder
pref_page_sql_editor_checkbox_fetch_resultsets=Fetch resultsets
pref_page_sql_editor_text_statement_delimiter=Statements delimiter
pref_page_sql_editor_checkbox_ignore_native_delimiter=Ignore native delimiter
pref_page_sql_editor_checkbox_enable_sql_parameters=Enable SQL parameters
pref_page_sql_editor_checkbox_put_new_scripts=Put new scripts in folders
pref_page_sql_editor_title_pattern=Script title pattern
pref_page_sql_editor_combo_item_each_line_autocommit=After each line (autocommit)
......
......@@ -92,6 +92,9 @@ public class DBeaverPreferencesInitializer extends AbstractPreferenceInitializer
RuntimeUtils.setDefaultPreferenceValue(store, DBeaverPreferences.SCRIPT_AUTO_FOLDERS, false);
RuntimeUtils.setDefaultPreferenceValue(store, DBeaverPreferences.SCRIPT_TITLE_PATTERN, SQLEditorInput.DEFAULT_PATTERN);
RuntimeUtils.setDefaultPreferenceValue(store, DBeaverPreferences.SQL_PARAMETERS_ENABLED, true);
RuntimeUtils.setDefaultPreferenceValue(store, DBeaverPreferences.SQL_PARAMETERS_MARK, "?");
RuntimeUtils.setDefaultPreferenceValue(store, DBeaverPreferences.STATEMENT_INVALIDATE_BEFORE_EXECUTE, false);
RuntimeUtils.setDefaultPreferenceValue(store, DBeaverPreferences.STATEMENT_TIMEOUT, 10 * 1000);
RuntimeUtils.setDefaultPreferenceValue(store, DBeaverPreferences.MEMORY_CONTENT_MAX_SIZE, 10000);
......
......@@ -235,7 +235,7 @@ public class SQLEditor extends SQLEditorBase implements
} else if (curDataSource != dataSource) {
releaseExecutionContext();
curDataSource = dataSource;
if (dataSourceContainer.getPreferenceStore().getBoolean(DBeaverPreferences.EDITOR_SEPARATE_CONNECTION)) {
if (getActivePreferenceStore().getBoolean(DBeaverPreferences.EDITOR_SEPARATE_CONNECTION)) {
try {
DBeaverUI.runInProgressDialog(new DBRRunnableWithProgress() {
@Override
......@@ -661,9 +661,11 @@ public class SQLEditor extends SQLEditorBase implements
queryOffset = query.getOffset() + query.getLength() + 1;
}
// Parse parameters
for (SQLQuery query : queryList) {
query.parseParameters(getDocument(), getSyntaxManager());
if (getActivePreferenceStore().getBoolean(DBeaverPreferences.SQL_PARAMETERS_ENABLED)) {
// Parse parameters
for (SQLQuery query : queryList) {
query.parseParameters(getDocument(), getSyntaxManager());
}
}
return queryList;
}
......
......@@ -46,6 +46,7 @@ import org.eclipse.ui.texteditor.templates.ITemplatesPage;
import org.eclipse.ui.themes.IThemeManager;
import org.jkiss.code.NotNull;
import org.jkiss.code.Nullable;
import org.jkiss.dbeaver.DBeaverPreferences;
import org.jkiss.dbeaver.core.DBeaverActivator;
import org.jkiss.dbeaver.core.DBeaverCore;
import org.jkiss.dbeaver.core.DBeaverUI;
......@@ -124,6 +125,11 @@ public abstract class SQLEditorBase extends BaseTextEditor {
return context == null ? null : context.getDataSource();
}
public IPreferenceStore getActivePreferenceStore() {
DBPDataSource dataSource = getDataSource();
return dataSource == null ? DBeaverCore.getGlobalPreferenceStore() : dataSource.getContainer().getPreferenceStore();
}
public boolean hasAnnotations()
{
return false;
......@@ -169,7 +175,7 @@ public abstract class SQLEditorBase extends BaseTextEditor {
{
SQLSymbolInserter symbolInserter = new SQLSymbolInserter(this);
IPreferenceStore preferenceStore = DBeaverCore.getGlobalPreferenceStore();
IPreferenceStore preferenceStore = getActivePreferenceStore();
boolean closeSingleQuotes = preferenceStore.getBoolean(SQLPreferenceConstants.SQLEDITOR_CLOSE_SINGLE_QUOTES);
boolean closeDoubleQuotes = preferenceStore.getBoolean(SQLPreferenceConstants.SQLEDITOR_CLOSE_DOUBLE_QUOTES);
boolean closeBrackets = preferenceStore.getBoolean(SQLPreferenceConstants.SQLEDITOR_CLOSE_BRACKETS);
......@@ -185,7 +191,7 @@ public abstract class SQLEditorBase extends BaseTextEditor {
}
if (decorationSupport != null) {
decorationSupport.install(getPreferenceStore());
decorationSupport.install(getActivePreferenceStore());
}
}
......@@ -466,7 +472,9 @@ public abstract class SQLEditorBase extends BaseTextEditor {
if (sqlQuery == null || CommonUtils.isEmpty(sqlQuery.getQuery())) {
return null;
}
sqlQuery.parseParameters(getDocument(), getSyntaxManager());
if (getActivePreferenceStore().getBoolean(DBeaverPreferences.SQL_PARAMETERS_ENABLED)) {
sqlQuery.parseParameters(getDocument(), getSyntaxManager());
}
return sqlQuery;
}
......
......@@ -48,6 +48,7 @@ public class PrefPageSQLExecute extends TargetPrefPage
private Button fetchResultSetsCheck;
private Text statementDelimiterText;
private Button ignoreNativeDelimiter;
private Button enableSQLParameters;
public PrefPageSQLExecute()
{
......@@ -66,7 +67,8 @@ public class PrefPageSQLExecute extends TargetPrefPage
store.contains(DBeaverPreferences.SCRIPT_COMMIT_LINES) ||
store.contains(DBeaverPreferences.SCRIPT_FETCH_RESULT_SETS) ||
store.contains(DBeaverPreferences.SCRIPT_STATEMENT_DELIMITER) ||
store.contains(DBeaverPreferences.SCRIPT_IGNORE_NATIVE_DELIMITER)
store.contains(DBeaverPreferences.SCRIPT_IGNORE_NATIVE_DELIMITER) ||
store.contains(DBeaverPreferences.SQL_PARAMETERS_ENABLED)
;
}
......@@ -133,6 +135,7 @@ public class PrefPageSQLExecute extends TargetPrefPage
fetchResultSetsCheck = UIUtils.createLabelCheckbox(scriptsGroup, CoreMessages.pref_page_sql_editor_checkbox_fetch_resultsets, false);
statementDelimiterText = UIUtils.createLabelText(scriptsGroup, CoreMessages.pref_page_sql_editor_text_statement_delimiter, "");
ignoreNativeDelimiter = UIUtils.createLabelCheckbox(scriptsGroup, CoreMessages.pref_page_sql_editor_checkbox_ignore_native_delimiter, false);
enableSQLParameters = UIUtils.createLabelCheckbox(scriptsGroup, CoreMessages.pref_page_sql_editor_checkbox_enable_sql_parameters, true);
}
return composite;
......@@ -151,6 +154,7 @@ public class PrefPageSQLExecute extends TargetPrefPage
fetchResultSetsCheck.setSelection(store.getBoolean(DBeaverPreferences.SCRIPT_FETCH_RESULT_SETS));
statementDelimiterText.setText(store.getString(DBeaverPreferences.SCRIPT_STATEMENT_DELIMITER));
ignoreNativeDelimiter.setSelection(store.getBoolean(DBeaverPreferences.SCRIPT_IGNORE_NATIVE_DELIMITER));
enableSQLParameters.setSelection(store.getBoolean(DBeaverPreferences.SQL_PARAMETERS_ENABLED));
} catch (Exception e) {
log.warn(e);
}
......@@ -169,6 +173,7 @@ public class PrefPageSQLExecute extends TargetPrefPage
store.setValue(DBeaverPreferences.SCRIPT_FETCH_RESULT_SETS, fetchResultSetsCheck.getSelection());
store.setValue(DBeaverPreferences.SCRIPT_STATEMENT_DELIMITER, statementDelimiterText.getText());
store.setValue(DBeaverPreferences.SCRIPT_IGNORE_NATIVE_DELIMITER, ignoreNativeDelimiter.getSelection());
store.setValue(DBeaverPreferences.SQL_PARAMETERS_ENABLED, enableSQLParameters.getSelection());
} catch (Exception e) {
log.warn(e);
}
......@@ -187,6 +192,8 @@ public class PrefPageSQLExecute extends TargetPrefPage
store.setToDefault(DBeaverPreferences.SCRIPT_FETCH_RESULT_SETS);
store.setToDefault(DBeaverPreferences.SCRIPT_STATEMENT_DELIMITER);
store.setToDefault(DBeaverPreferences.SCRIPT_IGNORE_NATIVE_DELIMITER);
store.setToDefault(DBeaverPreferences.SQL_PARAMETERS_ENABLED);
}
@Override
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册