Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
suliangchun
dbeaver
提交
dc263f2c
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,发现更多精彩内容 >>
提交
dc263f2c
编写于
4月 07, 2018
作者:
S
serge-rider
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
#3278 Commit/rollback notifications
上级
5fa01537
变更
5
隐藏空白更改
内联
并排
Showing
5 changed file
with
36 addition
and
26 deletion
+36
-26
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/DBeaverNotifications.java
...r.core/src/org/jkiss/dbeaver/ui/DBeaverNotifications.java
+1
-1
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/actions/datasource/DataSourceCommitHandler.java
...beaver/ui/actions/datasource/DataSourceCommitHandler.java
+4
-1
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/actions/datasource/DataSourceRollbackHandler.java
...aver/ui/actions/datasource/DataSourceRollbackHandler.java
+18
-20
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/controls/txn/TransactionInfoDialog.java
.../jkiss/dbeaver/ui/controls/txn/TransactionInfoDialog.java
+2
-2
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/controls/txn/TransactionLogDialog.java
...g/jkiss/dbeaver/ui/controls/txn/TransactionLogDialog.java
+11
-2
未找到文件。
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/DBeaverNotifications.java
浏览文件 @
dc263f2c
...
...
@@ -40,7 +40,7 @@ public class DBeaverNotifications
NotificationUtils
.
sendNotification
(
dataSource
,
id
,
text
,
messageType
,
null
);
}
public
static
void
show
Inform
ation
(
DBPDataSource
dataSource
,
String
id
,
String
text
,
DBPMessageType
messageType
,
Runnable
feedback
)
{
public
static
void
show
Notific
ation
(
DBPDataSource
dataSource
,
String
id
,
String
text
,
DBPMessageType
messageType
,
Runnable
feedback
)
{
NotificationUtils
.
sendNotification
(
dataSource
,
id
,
text
,
messageType
,
feedback
);
}
...
...
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/actions/datasource/DataSourceCommitHandler.java
浏览文件 @
dc263f2c
...
...
@@ -26,6 +26,7 @@ import org.jkiss.dbeaver.model.qm.QMUtils;
import
org.jkiss.dbeaver.runtime.TasksJob
;
import
org.jkiss.dbeaver.ui.DBeaverNotifications
;
import
org.jkiss.dbeaver.ui.actions.AbstractDataSourceHandler
;
import
org.jkiss.dbeaver.ui.controls.txn.TransactionLogDialog
;
import
org.jkiss.dbeaver.utils.RuntimeUtils
;
import
java.lang.reflect.InvocationTargetException
;
...
...
@@ -58,7 +59,9 @@ public class DataSourceCommitHandler extends AbstractDataSourceHandler
"commit"
,
"Transaction has been committed\n\n"
+
"Query count: "
+
txnInfo
.
getUpdateCount
()
+
"\n"
+
"Duration: "
+
RuntimeUtils
.
formatExecutionTime
(
System
.
currentTimeMillis
()
-
txnInfo
.
getTransactionStartTime
())
+
"\n"
);
"Duration: "
+
RuntimeUtils
.
formatExecutionTime
(
System
.
currentTimeMillis
()
-
txnInfo
.
getTransactionStartTime
())
+
"\n"
,
null
,
()
->
TransactionLogDialog
.
showDialog
(
null
,
context
,
true
));
}
});
}
...
...
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/actions/datasource/DataSourceRollbackHandler.java
浏览文件 @
dc263f2c
...
...
@@ -28,6 +28,7 @@ import org.jkiss.dbeaver.model.runtime.DBRRunnableWithProgress;
import
org.jkiss.dbeaver.runtime.TasksJob
;
import
org.jkiss.dbeaver.ui.DBeaverNotifications
;
import
org.jkiss.dbeaver.ui.actions.AbstractDataSourceHandler
;
import
org.jkiss.dbeaver.ui.controls.txn.TransactionLogDialog
;
import
org.jkiss.dbeaver.utils.RuntimeUtils
;
import
java.lang.reflect.InvocationTargetException
;
...
...
@@ -45,27 +46,24 @@ public class DataSourceRollbackHandler extends AbstractDataSourceHandler
}
public
static
void
execute
(
final
DBCExecutionContext
context
)
{
TasksJob
.
runTask
(
"Rollback transaction"
,
new
DBRRunnableWithProgress
()
{
@Override
public
void
run
(
DBRProgressMonitor
monitor
)
throws
InvocationTargetException
,
InterruptedException
{
DBCTransactionManager
txnManager
=
DBUtils
.
getTransactionManager
(
context
);
if
(
txnManager
!=
null
)
{
QMTransactionState
txnInfo
=
QMUtils
.
getTransactionState
(
context
);
try
(
DBCSession
session
=
context
.
openSession
(
monitor
,
DBCExecutionPurpose
.
UTIL
,
"Rollback transaction"
))
{
txnManager
.
rollback
(
session
,
null
);
}
catch
(
DBCException
e
)
{
throw
new
InvocationTargetException
(
e
);
}
DBeaverNotifications
.
showNotification
(
context
.
getDataSource
(),
"rollback"
,
"Transaction has been rolled back\n\n"
+
"Query count: "
+
txnInfo
.
getUpdateCount
()
+
"\n"
+
"Duration: "
+
RuntimeUtils
.
formatExecutionTime
(
System
.
currentTimeMillis
()
-
txnInfo
.
getTransactionStartTime
())
+
"\n"
,
DBPMessageType
.
ERROR
);
TasksJob
.
runTask
(
"Rollback transaction"
,
monitor
->
{
DBCTransactionManager
txnManager
=
DBUtils
.
getTransactionManager
(
context
);
if
(
txnManager
!=
null
)
{
QMTransactionState
txnInfo
=
QMUtils
.
getTransactionState
(
context
);
try
(
DBCSession
session
=
context
.
openSession
(
monitor
,
DBCExecutionPurpose
.
UTIL
,
"Rollback transaction"
))
{
txnManager
.
rollback
(
session
,
null
);
}
catch
(
DBCException
e
)
{
throw
new
InvocationTargetException
(
e
);
}
DBeaverNotifications
.
showNotification
(
context
.
getDataSource
(),
"rollback"
,
"Transaction has been rolled back\n\n"
+
"Query count: "
+
txnInfo
.
getUpdateCount
()
+
"\n"
+
"Duration: "
+
RuntimeUtils
.
formatExecutionTime
(
System
.
currentTimeMillis
()
-
txnInfo
.
getTransactionStartTime
())
+
"\n"
,
DBPMessageType
.
ERROR
,
()
->
TransactionLogDialog
.
showDialog
(
null
,
context
,
true
));
}
});
}
...
...
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/controls/txn/TransactionInfoDialog.java
浏览文件 @
dc263f2c
...
...
@@ -50,7 +50,7 @@ public abstract class TransactionInfoDialog extends Dialog {
private
final
IWorkbenchPart
activeEditor
;
protected
QueryLogViewer
logViewer
;
private
Button
showAllCheck
;
pr
ivate
Button
showPreviousCheck
;
pr
otected
Button
showPreviousCheck
;
public
TransactionInfoDialog
(
Shell
parentShell
,
IWorkbenchPart
activeEditor
)
{
...
...
@@ -93,7 +93,7 @@ public abstract class TransactionInfoDialog extends Dialog {
}
pr
ivate
void
updateTransactionFilter
()
{
pr
otected
void
updateTransactionFilter
()
{
DBCExecutionContext
context
=
getCurrentContext
();
QMEventFilter
filter
=
context
==
null
?
VOID_FILTER
:
createContextFilter
(
context
);
logViewer
.
setFilter
(
filter
);
...
...
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/controls/txn/TransactionLogDialog.java
浏览文件 @
dc263f2c
...
...
@@ -32,11 +32,13 @@ public class TransactionLogDialog extends TransactionInfoDialog {
private
static
final
String
DIALOG_ID
=
"DBeaver.TransactionLogDialog"
;
//$NON-NLS-1$
private
final
DBCExecutionContext
context
;
private
final
boolean
showPreviousTxn
;
public
TransactionLogDialog
(
Shell
parentShell
,
DBCExecutionContext
context
,
IWorkbenchPart
activeEditor
)
public
TransactionLogDialog
(
Shell
parentShell
,
DBCExecutionContext
context
,
IWorkbenchPart
activeEditor
,
boolean
showPreviousTxn
)
{
super
(
parentShell
,
activeEditor
);
this
.
context
=
context
;
this
.
showPreviousTxn
=
showPreviousTxn
;
}
@Override
...
...
@@ -63,10 +65,17 @@ public class TransactionLogDialog extends TransactionInfoDialog {
super
.
createTransactionLogPanel
(
composite
);
showPreviousCheck
.
setSelection
(
showPreviousTxn
);
updateTransactionFilter
();
return
parent
;
}
public
static
void
showDialog
(
Shell
shell
,
DBCExecutionContext
executionContext
)
{
showDialog
(
shell
,
executionContext
,
false
);
}
public
static
void
showDialog
(
Shell
shell
,
DBCExecutionContext
executionContext
,
boolean
showPreviousTxn
)
{
IEditorPart
activeEditor
=
DBeaverUI
.
getActiveWorkbenchWindow
().
getActivePage
().
getActiveEditor
();
if
(
activeEditor
==
null
)
{
DBUserInterface
.
getInstance
().
showError
(
...
...
@@ -77,7 +86,7 @@ public class TransactionLogDialog extends TransactionInfoDialog {
"Not connected"
,
"Transaction log is not available.\nConnect to a database."
);
}
else
{
final
TransactionLogDialog
dialog
=
new
TransactionLogDialog
(
shell
,
executionContext
,
activeEditor
);
final
TransactionLogDialog
dialog
=
new
TransactionLogDialog
(
shell
,
executionContext
,
activeEditor
,
showPreviousTxn
);
dialog
.
open
();
}
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录