Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
suliangchun
dbeaver
提交
ea85c9aa
D
dbeaver
项目概览
suliangchun
/
dbeaver
与 Fork 源项目一致
从无法访问的项目Fork
通知
2
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
D
dbeaver
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
ea85c9aa
编写于
6月 25, 2017
作者:
S
Serge Rider
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
#1430 SQL eidtor: auto-close results tab on error
Former-commit-id:
977bbe00
上级
e2b4528c
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
36 addition
and
8 deletion
+36
-8
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/core/DBeaverPreferencesInitializer.java
...org/jkiss/dbeaver/core/DBeaverPreferencesInitializer.java
+1
-0
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/editors/sql/SQLEditor.java
....core/src/org/jkiss/dbeaver/ui/editors/sql/SQLEditor.java
+25
-7
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/editors/sql/SQLPreferenceConstants.java
.../jkiss/dbeaver/ui/editors/sql/SQLPreferenceConstants.java
+1
-0
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/preferences/PrefPageSQLEditor.java
...c/org/jkiss/dbeaver/ui/preferences/PrefPageSQLEditor.java
+9
-1
未找到文件。
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/core/DBeaverPreferencesInitializer.java
浏览文件 @
ea85c9aa
...
...
@@ -134,6 +134,7 @@ public class DBeaverPreferencesInitializer extends AbstractPreferenceInitializer
PrefUtils
.
setDefaultPreferenceValue
(
store
,
SQLPreferenceConstants
.
BEEP_ON_QUERY_END
,
false
);
PrefUtils
.
setDefaultPreferenceValue
(
store
,
SQLPreferenceConstants
.
REFRESH_DEFAULTS_AFTER_EXECUTE
,
false
);
PrefUtils
.
setDefaultPreferenceValue
(
store
,
SQLPreferenceConstants
.
RESULT_SET_CLOSE_ON_ERROR
,
false
);
PrefUtils
.
setDefaultPreferenceValue
(
store
,
SQLPreferenceConstants
.
RESULT_SET_ORIENTATION
,
SQLEditor
.
ResultSetOrientation
.
HORIZONTAL
.
name
());
// Text editor default preferences
...
...
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/editors/sql/SQLEditor.java
浏览文件 @
ea85c9aa
...
...
@@ -84,7 +84,6 @@ import org.jkiss.dbeaver.ui.*;
import
org.jkiss.dbeaver.ui.actions.datasource.DataSourceHandler
;
import
org.jkiss.dbeaver.ui.controls.resultset.IResultSetContainer
;
import
org.jkiss.dbeaver.ui.controls.resultset.IResultSetListener
;
import
org.jkiss.dbeaver.ui.controls.resultset.ResultSetCommandHandler
;
import
org.jkiss.dbeaver.ui.controls.resultset.ResultSetViewer
;
import
org.jkiss.dbeaver.ui.dialogs.ActiveWizardDialog
;
import
org.jkiss.dbeaver.ui.dialogs.EnterNameDialog
;
...
...
@@ -1087,7 +1086,11 @@ public class SQLEditor extends SQLEditorBase implements
for
(
int
i
=
0
;
i
<
queries
.
size
();
i
++)
{
SQLScriptElement
query
=
queries
.
get
(
i
);
QueryProcessor
queryProcessor
=
(
i
==
0
&&
!
isSingleQuery
?
curQueryProcessor
:
createQueryProcessor
(
queries
.
size
()
==
1
));
queryProcessor
.
processQueries
(
Collections
.
singletonList
(
query
),
true
,
export
);
queryProcessor
.
processQueries
(
Collections
.
singletonList
(
query
),
true
,
export
,
getActivePreferenceStore
().
getBoolean
(
SQLPreferenceConstants
.
RESULT_SET_CLOSE_ON_ERROR
));
}
}
else
{
// Use current tab.
...
...
@@ -1104,7 +1107,7 @@ public class SQLEditor extends SQLEditorBase implements
resultTabs
.
setSelection
(
firstResults
.
tabItem
);
}
}
curQueryProcessor
.
processQueries
(
queries
,
false
,
export
);
curQueryProcessor
.
processQueries
(
queries
,
false
,
export
,
false
);
}
}
...
...
@@ -1610,7 +1613,7 @@ public class SQLEditor extends SQLEditorBase implements
}
}
void
processQueries
(
final
List
<
SQLScriptElement
>
queries
,
final
boolean
fetchResults
,
boolean
export
)
void
processQueries
(
final
List
<
SQLScriptElement
>
queries
,
final
boolean
fetchResults
,
boolean
export
,
boolean
closeTabOnError
)
{
if
(
queries
.
isEmpty
())
{
// Nothing to process
...
...
@@ -1636,7 +1639,7 @@ public class SQLEditor extends SQLEditorBase implements
showScriptPositionRuler
(
true
);
QueryResultsContainer
resultsContainer
=
getFirstResults
();
SQLQueryListener
listener
=
new
SQLEditorQueryListener
(
this
);
SQLQueryListener
listener
=
new
SQLEditorQueryListener
(
this
,
closeTabOnError
);
final
SQLQueryJob
job
=
new
SQLQueryJob
(
getSite
(),
isSingleQuery
?
CoreMessages
.
editors_sql_job_execute_query
:
CoreMessages
.
editors_sql_job_execute_script
,
...
...
@@ -2059,9 +2062,11 @@ public class SQLEditor extends SQLEditorBase implements
private
long
lastUIUpdateTime
;
private
final
ITextSelection
originalSelection
=
(
ITextSelection
)
getSelectionProvider
().
getSelection
();
private
int
topOffset
,
visibleLength
;
private
boolean
closeTabOnError
;
private
SQLEditorQueryListener
(
QueryProcessor
queryProcessor
)
{
private
SQLEditorQueryListener
(
QueryProcessor
queryProcessor
,
boolean
closeTabOnError
)
{
this
.
queryProcessor
=
queryProcessor
;
this
.
closeTabOnError
=
closeTabOnError
;
}
@Override
...
...
@@ -2166,10 +2171,23 @@ public class SQLEditor extends SQLEditorBase implements
}
}
}
// Close tab on error
if
(
closeTabOnError
&&
error
!=
null
)
{
DBeaverUI
.
asyncExec
(
new
Runnable
()
{
@Override
public
void
run
()
{
CTabItem
tabItem
=
queryProcessor
.
getFirstResults
().
tabItem
;
if
(
tabItem
!=
null
&&
tabItem
.
getShowClose
())
{
tabItem
.
dispose
();
}
}
});
}
// Beep
if
(
dataSourceContainer
!=
null
&&
!
scriptMode
&&
dataSourceContainer
.
getPreferenceStore
().
getBoolean
(
SQLPreferenceConstants
.
BEEP_ON_QUERY_END
))
{
Display
.
getCurrent
().
beep
();
}
// Notify agent
if
(
result
.
getQueryTime
()
>
DBeaverCore
.
getGlobalPreferenceStore
().
getLong
(
DBeaverPreferences
.
AGENT_LONG_OPERATION_TIMEOUT
)
*
1000
)
{
DBeaverUI
.
notifyAgent
(
"Query completed ["
+
getEditorInput
().
getName
()
+
"]"
+
GeneralUtils
.
getDefaultLineSeparator
()
+
...
...
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/editors/sql/SQLPreferenceConstants.java
浏览文件 @
ea85c9aa
...
...
@@ -55,5 +55,6 @@ public class SQLPreferenceConstants
public
final
static
String
BEEP_ON_QUERY_END
=
"SQLEditor.beepOnQueryEnd"
;
public
final
static
String
REFRESH_DEFAULTS_AFTER_EXECUTE
=
"SQLEditor.refreshDefaultsAfterExecute"
;
public
final
static
String
RESULT_SET_CLOSE_ON_ERROR
=
"SQLEditor.resultSet.closeOnError"
;
public
final
static
String
RESULT_SET_ORIENTATION
=
"SQLEditor.resultSet.orientation"
;
}
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/preferences/PrefPageSQLEditor.java
浏览文件 @
ea85c9aa
...
...
@@ -51,6 +51,7 @@ public class PrefPageSQLEditor extends TargetPrefPage
private
Button
connectionFoldersCheck
;
private
Text
scriptTitlePattern
;
private
Button
closeTabOnErrorCheck
;
private
Combo
resultsOrientationCombo
;
public
PrefPageSQLEditor
()
...
...
@@ -73,6 +74,7 @@ public class PrefPageSQLEditor extends TargetPrefPage
store
.
contains
(
DBeaverPreferences
.
SCRIPT_DELETE_EMPTY
)
||
store
.
contains
(
DBeaverPreferences
.
SCRIPT_AUTO_FOLDERS
)
||
store
.
contains
(
SQLPreferenceConstants
.
RESULT_SET_CLOSE_ON_ERROR
)
||
store
.
contains
(
SQLPreferenceConstants
.
RESULT_SET_ORIENTATION
)
;
}
...
...
@@ -125,8 +127,11 @@ public class PrefPageSQLEditor extends TargetPrefPage
}
{
Composite
layoutGroup
=
UIUtils
.
createControlGroup
(
composite
,
"
Layout
"
,
2
,
GridData
.
FILL_HORIZONTAL
,
0
);
Composite
layoutGroup
=
UIUtils
.
createControlGroup
(
composite
,
"
Results view
"
,
2
,
GridData
.
FILL_HORIZONTAL
,
0
);
((
GridData
)
layoutGroup
.
getLayoutData
()).
horizontalSpan
=
2
;
closeTabOnErrorCheck
=
UIUtils
.
createCheckbox
(
layoutGroup
,
"Close results tab on error"
,
null
,
false
,
2
);
resultsOrientationCombo
=
UIUtils
.
createLabelCombo
(
layoutGroup
,
"Results orientation"
,
"Results orientation in SQL editor"
,
SWT
.
READ_ONLY
|
SWT
.
DROP_DOWN
);
((
GridData
)
resultsOrientationCombo
.
getLayoutData
()).
grabExcessHorizontalSpace
=
false
;
for
(
SQLEditor
.
ResultSetOrientation
orientation
:
SQLEditor
.
ResultSetOrientation
.
values
())
{
...
...
@@ -155,6 +160,7 @@ public class PrefPageSQLEditor extends TargetPrefPage
connectionFoldersCheck
.
setSelection
(
store
.
getBoolean
(
DBeaverPreferences
.
SCRIPT_CREATE_CONNECTION_FOLDERS
));
scriptTitlePattern
.
setText
(
store
.
getString
(
DBeaverPreferences
.
SCRIPT_TITLE_PATTERN
));
closeTabOnErrorCheck
.
setSelection
(
store
.
getBoolean
(
SQLPreferenceConstants
.
RESULT_SET_CLOSE_ON_ERROR
));
SQLEditor
.
ResultSetOrientation
orientation
=
SQLEditor
.
ResultSetOrientation
.
valueOf
(
store
.
getString
(
SQLPreferenceConstants
.
RESULT_SET_ORIENTATION
));
resultsOrientationCombo
.
setText
(
orientation
.
getLabel
());
}
catch
(
Exception
e
)
{
...
...
@@ -178,6 +184,7 @@ public class PrefPageSQLEditor extends TargetPrefPage
store
.
setValue
(
DBeaverPreferences
.
SCRIPT_CREATE_CONNECTION_FOLDERS
,
connectionFoldersCheck
.
getSelection
());
store
.
setValue
(
DBeaverPreferences
.
SCRIPT_TITLE_PATTERN
,
scriptTitlePattern
.
getText
());
store
.
setValue
(
SQLPreferenceConstants
.
RESULT_SET_CLOSE_ON_ERROR
,
closeTabOnErrorCheck
.
getSelection
());
String
orientationLabel
=
resultsOrientationCombo
.
getText
();
for
(
SQLEditor
.
ResultSetOrientation
orientation
:
SQLEditor
.
ResultSetOrientation
.
values
())
{
if
(
orientationLabel
.
equals
(
orientation
.
getLabel
()))
{
...
...
@@ -206,6 +213,7 @@ public class PrefPageSQLEditor extends TargetPrefPage
store
.
setToDefault
(
DBeaverPreferences
.
SCRIPT_CREATE_CONNECTION_FOLDERS
);
store
.
setToDefault
(
DBeaverPreferences
.
SCRIPT_TITLE_PATTERN
);
store
.
setToDefault
(
SQLPreferenceConstants
.
RESULT_SET_CLOSE_ON_ERROR
);
store
.
setToDefault
(
SQLPreferenceConstants
.
RESULT_SET_ORIENTATION
);
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录