Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
suliangchun
dbeaver
提交
6c796821
D
dbeaver
项目概览
suliangchun
/
dbeaver
与 Fork 源项目一致
从无法访问的项目Fork
通知
3
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,发现更多精彩内容 >>
提交
6c796821
编写于
3月 24, 2016
作者:
S
serge-rider
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
QM refactoring. Remove references on DS objects
上级
11446782
变更
5
隐藏空白更改
内联
并排
Showing
5 changed file
with
88 addition
and
42 deletion
+88
-42
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/runtime/qm/QMLogFileWriter.java
...ore/src/org/jkiss/dbeaver/runtime/qm/QMLogFileWriter.java
+3
-3
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/controls/querylog/QueryLogViewer.java
...rg/jkiss/dbeaver/ui/controls/querylog/QueryLogViewer.java
+30
-22
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/dialogs/sql/BaseSQLDialog.java
...e/src/org/jkiss/dbeaver/ui/dialogs/sql/BaseSQLDialog.java
+15
-0
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/editors/sql/log/SQLLogFilter.java
...rc/org/jkiss/dbeaver/ui/editors/sql/log/SQLLogFilter.java
+9
-3
plugins/org.jkiss.dbeaver.model/src/org/jkiss/dbeaver/model/qm/meta/QMMSessionInfo.java
...l/src/org/jkiss/dbeaver/model/qm/meta/QMMSessionInfo.java
+31
-14
未找到文件。
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/runtime/qm/QMLogFileWriter.java
浏览文件 @
6c796821
...
...
@@ -18,17 +18,17 @@
package
org.jkiss.dbeaver.runtime.qm
;
import
org.eclipse.core.runtime.IStatus
;
import
org.jkiss.dbeaver.core.DBeaverCore
;
import
org.jkiss.dbeaver.Log
;
import
org.jkiss.dbeaver.core.DBeaverCore
;
import
org.jkiss.dbeaver.model.DBPPreferenceListener
;
import
org.jkiss.dbeaver.model.qm.QMConstants
;
import
org.jkiss.dbeaver.model.qm.QMEventFilter
;
import
org.jkiss.dbeaver.model.qm.QMMetaEvent
;
import
org.jkiss.dbeaver.model.qm.QMMetaListener
;
import
org.jkiss.dbeaver.utils.RuntimeUtils
;
import
org.jkiss.dbeaver.model.qm.meta.*
;
import
org.jkiss.dbeaver.utils.ContentUtils
;
import
org.jkiss.dbeaver.utils.GeneralUtils
;
import
org.jkiss.dbeaver.utils.RuntimeUtils
;
import
java.io.File
;
import
java.io.FileWriter
;
...
...
@@ -156,7 +156,7 @@ public class QMLogFileWriter implements QMMetaListener, DBPPreferenceListener {
}
}
else
if
(
object
instanceof
QMMSessionInfo
)
{
QMMSessionInfo
sessionInfo
=
(
QMMSessionInfo
)
object
;
buffer
.
append
(
action
).
append
(
" SESSION ["
).
append
(
sessionInfo
.
getContainer
().
get
Name
()).
append
(
"]"
);
buffer
.
append
(
action
).
append
(
" SESSION ["
).
append
(
sessionInfo
.
getContainerName
()).
append
(
"]"
);
}
buffer
.
append
(
lineSeparator
);
...
...
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/controls/querylog/QueryLogViewer.java
浏览文件 @
6c796821
...
...
@@ -33,7 +33,10 @@ import org.eclipse.jface.viewers.Viewer;
import
org.eclipse.osgi.util.NLS
;
import
org.eclipse.swt.SWT
;
import
org.eclipse.swt.dnd.*
;
import
org.eclipse.swt.events.*
;
import
org.eclipse.swt.events.DisposeEvent
;
import
org.eclipse.swt.events.DisposeListener
;
import
org.eclipse.swt.events.SelectionAdapter
;
import
org.eclipse.swt.events.SelectionEvent
;
import
org.eclipse.swt.graphics.Color
;
import
org.eclipse.swt.graphics.Font
;
import
org.eclipse.swt.graphics.RGB
;
...
...
@@ -46,13 +49,13 @@ import org.jkiss.dbeaver.Log;
import
org.jkiss.dbeaver.core.CoreMessages
;
import
org.jkiss.dbeaver.core.DBeaverCore
;
import
org.jkiss.dbeaver.core.DBeaverUI
;
import
org.jkiss.dbeaver.model.DBPDataSourceContainer
;
import
org.jkiss.dbeaver.model.DBPPreferenceListener
;
import
org.jkiss.dbeaver.model.DBPPreferenceStore
;
import
org.jkiss.dbeaver.model.exec.DBCExecutionContext
;
import
org.jkiss.dbeaver.model.qm.*
;
import
org.jkiss.dbeaver.model.qm.meta.*
;
import
org.jkiss.dbeaver.model.runtime.DBRProgressMonitor
;
import
org.jkiss.dbeaver.model.sql.SQLDialect
;
import
org.jkiss.dbeaver.runtime.qm.DefaultEventFilter
;
import
org.jkiss.dbeaver.ui.*
;
import
org.jkiss.dbeaver.ui.dialogs.sql.BaseSQLDialog
;
...
...
@@ -141,10 +144,10 @@ public class QueryLogViewer extends Viewer implements QMMetaListener, DBPPrefere
return
CoreMessages
.
controls_querylog_rollback
;
}
}
else
if
(
object
instanceof
QMMSessionInfo
)
{
DBPDataSourceContainer
container
=
((
QMMSessionInfo
)
object
).
getContainer
();
String
containerName
=
((
QMMSessionInfo
)
object
).
getContainerName
();
switch
(
event
.
getAction
())
{
case
BEGIN:
return
CoreMessages
.
controls_querylog_connected_to
+
(
container
==
null
?
"?"
:
container
.
getName
())
+
"\""
;
case
END:
return
CoreMessages
.
controls_querylog_disconnected_from
+
(
container
==
null
?
"?"
:
container
.
getName
())
+
"\""
;
case
BEGIN:
return
CoreMessages
.
controls_querylog_connected_to
+
containerName
+
"\""
;
case
END:
return
CoreMessages
.
controls_querylog_disconnected_from
+
containerName
+
"\""
;
default
:
return
"?"
;
}
}
...
...
@@ -237,41 +240,41 @@ public class QueryLogViewer extends Viewer implements QMMetaListener, DBPPrefere
String
getText
(
QMMetaEvent
event
)
{
QMMObject
object
=
event
.
getObject
();
DBPDataSourceContainer
container
=
null
;
String
containerName
=
null
;
if
(
object
instanceof
QMMSessionInfo
)
{
container
=
((
QMMSessionInfo
)
object
).
getContainer
();
container
Name
=
((
QMMSessionInfo
)
object
).
getContainerName
();
}
else
if
(
object
instanceof
QMMTransactionInfo
)
{
container
=
((
QMMTransactionInfo
)
object
).
getSession
().
getContainer
();
container
Name
=
((
QMMTransactionInfo
)
object
).
getSession
().
getContainerName
();
}
else
if
(
object
instanceof
QMMTransactionSavepointInfo
)
{
container
=
((
QMMTransactionSavepointInfo
)
object
).
getTransaction
().
getSession
().
getContainer
();
container
Name
=
((
QMMTransactionSavepointInfo
)
object
).
getTransaction
().
getSession
().
getContainerName
();
}
else
if
(
object
instanceof
QMMStatementInfo
)
{
container
=
((
QMMStatementInfo
)
object
).
getSession
().
getContainer
();
container
Name
=
((
QMMStatementInfo
)
object
).
getSession
().
getContainerName
();
}
else
if
(
object
instanceof
QMMStatementExecuteInfo
)
{
container
=
((
QMMStatementExecuteInfo
)
object
).
getStatement
().
getSession
().
getContainer
();
container
Name
=
((
QMMStatementExecuteInfo
)
object
).
getStatement
().
getSession
().
getContainerName
();
}
return
container
==
null
?
"?"
:
container
.
getName
()
;
return
container
Name
==
null
?
"?"
:
containerName
;
}
};
private
static
LogColumn
COLUMN_CONTEXT
=
new
LogColumn
(
"context"
,
CoreMessages
.
controls_querylog_column_context_name
,
CoreMessages
.
controls_querylog_column_context_tooltip
,
150
)
{
@Override
String
getText
(
QMMetaEvent
event
)
{
QMMObject
object
=
event
.
getObject
();
DBCExecutionContext
context
=
null
;
String
contextName
=
null
;
if
(
object
instanceof
QMMSessionInfo
)
{
context
=
((
QMMSessionInfo
)
object
).
getReferenc
e
();
context
Name
=
((
QMMSessionInfo
)
object
).
getContextNam
e
();
}
else
if
(
object
instanceof
QMMTransactionInfo
)
{
context
=
((
QMMTransactionInfo
)
object
).
getSession
().
getReferenc
e
();
context
Name
=
((
QMMTransactionInfo
)
object
).
getSession
().
getContextNam
e
();
}
else
if
(
object
instanceof
QMMTransactionSavepointInfo
)
{
context
=
((
QMMTransactionSavepointInfo
)
object
).
getTransaction
().
getSession
().
getReferenc
e
();
context
Name
=
((
QMMTransactionSavepointInfo
)
object
).
getTransaction
().
getSession
().
getContextNam
e
();
}
else
if
(
object
instanceof
QMMStatementInfo
)
{
context
=
((
QMMStatementInfo
)
object
).
getSession
().
getReferenc
e
();
context
Name
=
((
QMMStatementInfo
)
object
).
getSession
().
getContextNam
e
();
}
else
if
(
object
instanceof
QMMStatementExecuteInfo
)
{
context
=
((
QMMStatementExecuteInfo
)
object
).
getStatement
().
getSession
().
getReferenc
e
();
context
Name
=
((
QMMStatementExecuteInfo
)
object
).
getStatement
().
getSession
().
getContextNam
e
();
}
if
(
context
==
null
)
{
if
(
context
Name
==
null
)
{
return
"?"
;
}
return
context
.
getContextName
()
;
return
context
Name
;
}
};
private
static
LogColumn
[]
ALL_COLUMNS
=
new
LogColumn
[]
{
...
...
@@ -928,10 +931,15 @@ public class QueryLogViewer extends Viewer implements QMMetaListener, DBPPrefere
}
@Override
protected
DBCExecutionContext
getExecutionContex
t
()
{
protected
SQLDialect
getSQLDialec
t
()
{
if
(
object
.
getObject
()
instanceof
QMMStatementExecuteInfo
)
{
return
((
QMMStatementExecuteInfo
)
object
.
getObject
()).
getStatement
().
getSession
().
get
Reference
();
return
((
QMMStatementExecuteInfo
)
object
.
getObject
()).
getStatement
().
getSession
().
get
SQLDialect
();
}
return
super
.
getSQLDialect
();
}
@Override
protected
DBCExecutionContext
getExecutionContext
()
{
return
null
;
}
...
...
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/dialogs/sql/BaseSQLDialog.java
浏览文件 @
6c796821
...
...
@@ -34,6 +34,8 @@ import org.jkiss.code.Nullable;
import
org.jkiss.dbeaver.core.CoreMessages
;
import
org.jkiss.dbeaver.model.DBPImage
;
import
org.jkiss.dbeaver.model.exec.DBCExecutionContext
;
import
org.jkiss.dbeaver.model.sql.SQLDataSource
;
import
org.jkiss.dbeaver.model.sql.SQLDialect
;
import
org.jkiss.dbeaver.ui.UIUtils
;
import
org.jkiss.dbeaver.ui.dialogs.BaseDialog
;
import
org.jkiss.dbeaver.ui.editors.StringEditorInput
;
...
...
@@ -80,6 +82,11 @@ public abstract class BaseSQLDialog extends BaseDialog {
editorPH
.
setLayout
(
new
FillLayout
());
sqlViewer
=
new
SQLEditorBase
()
{
@Override
protected
SQLDialect
getSQLDialect
()
{
return
BaseSQLDialog
.
this
.
getSQLDialect
();
}
@Override
public
DBCExecutionContext
getExecutionContext
()
{
return
BaseSQLDialog
.
this
.
getExecutionContext
();
...
...
@@ -106,6 +113,14 @@ public abstract class BaseSQLDialog extends BaseDialog {
return
panel
;
}
protected
SQLDialect
getSQLDialect
()
{
DBCExecutionContext
executionContext
=
getExecutionContext
();
if
(
executionContext
!=
null
&&
executionContext
.
getDataSource
()
instanceof
SQLDataSource
)
{
return
((
SQLDataSource
)
executionContext
.
getDataSource
()).
getSQLDialect
();
}
return
null
;
}
protected
abstract
DBCExecutionContext
getExecutionContext
();
protected
abstract
String
getSQLText
();
...
...
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/editors/sql/log/SQLLogFilter.java
浏览文件 @
6c796821
...
...
@@ -23,6 +23,8 @@ import org.jkiss.dbeaver.model.qm.QMMetaEvent;
import
org.jkiss.dbeaver.model.qm.meta.*
;
import
org.jkiss.dbeaver.ui.editors.sql.SQLEditor
;
import
java.util.Objects
;
/**
* SQL log filter
*/
...
...
@@ -44,7 +46,7 @@ class SQLLogFilter implements QMEventFilter {
// - session changes (if session belongs to active datasource)
QMMObject
object
=
event
.
getObject
();
if
(
object
instanceof
QMMSessionInfo
)
{
return
((
QMMSessionInfo
)
object
).
getContainer
()
==
editor
.
getDataSourceContainer
(
);
return
Objects
.
equals
(((
QMMSessionInfo
)
object
).
getContainerId
(),
editor
.
getDataSourceContainer
().
getId
()
);
}
else
{
if
(
object
instanceof
QMMStatementExecuteInfo
)
{
return
belongsToEditor
(((
QMMStatementExecuteInfo
)
object
).
getStatement
().
getSession
());
...
...
@@ -60,8 +62,12 @@ class SQLLogFilter implements QMEventFilter {
}
private
boolean
belongsToEditor
(
QMMSessionInfo
session
)
{
DBCExecutionContext
executionContext
=
session
.
getReference
();
return
executionContext
!=
null
&&
executionContext
==
editor
.
getExecutionContext
();
String
containerId
=
session
.
getContainerId
();
String
contextName
=
session
.
getContextName
();
DBCExecutionContext
executionContext
=
editor
.
getExecutionContext
();
return
executionContext
!=
null
&&
Objects
.
equals
(
executionContext
.
getDataSource
().
getContainer
().
getId
(),
containerId
)
&&
Objects
.
equals
(
executionContext
.
getContextName
(),
contextName
);
}
}
plugins/org.jkiss.dbeaver.model/src/org/jkiss/dbeaver/model/qm/meta/QMMSessionInfo.java
浏览文件 @
6c796821
...
...
@@ -17,23 +17,26 @@
*/
package
org.jkiss.dbeaver.model.qm.meta
;
import
org.jkiss.dbeaver.model.
DBPDataSourceContainer
;
import
org.jkiss.dbeaver.model.
connection.DBPConnectionConfiguration
;
import
org.jkiss.dbeaver.model.exec.DBCExecutionContext
;
import
org.jkiss.dbeaver.model.exec.DBCResultSet
;
import
org.jkiss.dbeaver.model.exec.DBCSavepoint
;
import
org.jkiss.dbeaver.model.exec.DBCStatement
;
import
org.jkiss.dbeaver.model.exec.jdbc.JDBCPreparedStatement
;
import
java.lang.ref.SoftReference
;
import
org.jkiss.dbeaver.model.sql.SQLDataSource
;
import
org.jkiss.dbeaver.model.sql.SQLDialect
;
/**
* Data source information
*/
public
class
QMMSessionInfo
extends
QMMObject
{
private
final
String
containerId
;
private
SoftReference
<
DBCExecutionContext
>
reference
;
private
SoftReference
<
DBPDataSourceContainer
>
container
;
private
String
containerId
;
private
String
containerName
;
private
String
driverId
;
private
DBPConnectionConfiguration
connectionConfiguration
;
private
String
contextName
;
private
SQLDialect
sqlDialect
;
private
boolean
transactional
;
private
QMMSessionInfo
previous
;
...
...
@@ -44,8 +47,13 @@ public class QMMSessionInfo extends QMMObject {
public
QMMSessionInfo
(
DBCExecutionContext
context
,
boolean
transactional
,
QMMSessionInfo
previous
)
{
this
.
containerId
=
context
.
getDataSource
().
getContainer
().
getId
();
this
.
reference
=
new
SoftReference
<>(
context
);
this
.
container
=
new
SoftReference
<>(
context
.
getDataSource
().
getContainer
());
this
.
containerName
=
context
.
getDataSource
().
getContainer
().
getName
();
this
.
driverId
=
context
.
getDataSource
().
getContainer
().
getDriver
().
getId
();
this
.
connectionConfiguration
=
context
.
getDataSource
().
getContainer
().
getConnectionConfiguration
();
this
.
contextName
=
context
.
getContextName
();
if
(
context
.
getDataSource
()
instanceof
SQLDataSource
)
{
this
.
sqlDialect
=
((
SQLDataSource
)
context
.
getDataSource
()).
getSQLDialect
();
}
this
.
previous
=
previous
;
this
.
transactional
=
transactional
;
if
(
transactional
)
{
...
...
@@ -214,14 +222,20 @@ public class QMMSessionInfo extends QMMObject {
return
containerId
;
}
public
DBPDataSourceContainer
getContainer
()
{
return
container
.
get
();
public
String
getContainerName
()
{
return
containerName
;
}
public
DBCExecutionContext
getReference
()
{
return
reference
==
null
?
null
:
reference
.
get
();
public
String
getDriverId
()
{
return
driverId
;
}
public
DBPConnectionConfiguration
getConnectionConfiguration
()
{
return
connectionConfiguration
;
}
public
String
getContextName
()
{
return
contextName
;
}
public
QMMStatementInfo
getStatementStack
()
...
...
@@ -250,4 +264,7 @@ public class QMMSessionInfo extends QMMObject {
return
"SESSION "
+
containerId
;
}
public
SQLDialect
getSQLDialect
()
{
return
sqlDialect
;
}
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录