Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
suliangchun
dbeaver
提交
fc908f6c
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,发现更多精彩内容 >>
提交
fc908f6c
编写于
6月 25, 2015
作者:
J
jurgen
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
JDBC context init fixed (set auto-commit and txn level)
Former-commit-id:
5f1159de
上级
0ac074b8
变更
5
隐藏空白更改
内联
并排
Showing
5 changed file
with
25 addition
and
38 deletion
+25
-38
docs/todo.txt
docs/todo.txt
+1
-0
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/model/DBPConnectionInfo.java
...r.core/src/org/jkiss/dbeaver/model/DBPConnectionInfo.java
+8
-0
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/model/struct/DBSDataSourceContainer.java
...rg/jkiss/dbeaver/model/struct/DBSDataSourceContainer.java
+4
-1
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/registry/DataSourceDescriptor.java
.../src/org/jkiss/dbeaver/registry/DataSourceDescriptor.java
+11
-36
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/dialogs/connection/ConnectionPageGeneral.java
.../dbeaver/ui/dialogs/connection/ConnectionPageGeneral.java
+1
-1
未找到文件。
docs/todo.txt
浏览文件 @
fc908f6c
Execute custom SQL on connect (e.g. set timezone).
Data transfer DECIMAL(x,y) types convert.
Extract non-visual part to a separate plugin (preferences + editors)
RSV find/replace action
...
...
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/model/DBPConnectionInfo.java
浏览文件 @
fc908f6c
...
...
@@ -40,15 +40,22 @@ public class DBPConnectionInfo implements DBPObject
private
final
Map
<
Object
,
Object
>
properties
;
private
final
Map
<
DBPConnectionEventType
,
DBRShellCommand
>
events
;
private
final
List
<
DBWHandlerConfiguration
>
handlers
;
private
final
List
<
String
>
bootstrapQueries
;
private
DBPConnectionType
connectionType
;
private
String
connectionColor
;
public
static
class
Bootstrap
{
List
<
String
>
queries
;
boolean
ignoreErrors
;
}
public
DBPConnectionInfo
()
{
this
.
connectionType
=
DBPConnectionType
.
DEFAULT_TYPE
;
this
.
properties
=
new
HashMap
<
Object
,
Object
>();
this
.
events
=
new
HashMap
<
DBPConnectionEventType
,
DBRShellCommand
>();
this
.
handlers
=
new
ArrayList
<
DBWHandlerConfiguration
>();
this
.
bootstrapQueries
=
new
ArrayList
<
String
>();
}
public
DBPConnectionInfo
(
DBPConnectionInfo
info
)
...
...
@@ -71,6 +78,7 @@ public class DBPConnectionInfo implements DBPObject
for
(
DBWHandlerConfiguration
handler
:
info
.
handlers
)
{
this
.
handlers
.
add
(
new
DBWHandlerConfiguration
(
handler
));
}
this
.
bootstrapQueries
=
new
ArrayList
<
String
>(
info
.
bootstrapQueries
);
}
public
String
getClientHomeId
()
...
...
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/model/struct/DBSDataSourceContainer.java
浏览文件 @
fc908f6c
...
...
@@ -70,7 +70,10 @@ public interface DBSDataSourceContainer extends DBSObject, DBDPreferences
void
setDefaultAutoCommit
(
boolean
autoCommit
,
DBCExecutionContext
updateContext
,
boolean
updateConnection
);
@Nullable
DBPTransactionIsolation
getDefaultTransactionsIsolation
();
DBPTransactionIsolation
getActiveTransactionsIsolation
();
@Nullable
Integer
getDefaultTransactionsIsolation
();
void
setDefaultTransactionsIsolation
(
DBPTransactionIsolation
isolationLevel
);
...
...
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/registry/DataSourceDescriptor.java
浏览文件 @
fc908f6c
...
...
@@ -67,7 +67,7 @@ import java.util.*;
public
class
DataSourceDescriptor
implements
DBSDataSourceContainer
,
DBPImageProvider
,
DBPImageProvider
,
IAdaptable
,
DBEPrivateObjectEditor
,
DBSObjectStateful
,
...
...
@@ -113,6 +113,7 @@ public class DataSourceDescriptor
return
firstMatch
?
null
:
defaultFilter
;
}
}
@NotNull
private
final
DataSourceRegistry
registry
;
@NotNull
...
...
@@ -332,7 +333,7 @@ public class DataSourceDescriptor
@Nullable
@Override
public
DBPTransactionIsolation
get
Default
TransactionsIsolation
()
public
DBPTransactionIsolation
get
Active
TransactionsIsolation
()
{
if
(
dataSource
!=
null
)
{
DBCTransactionManager
txnManager
=
DBUtils
.
getTransactionManager
(
dataSource
.
getDefaultContext
(
false
));
...
...
@@ -348,6 +349,14 @@ public class DataSourceDescriptor
return
null
;
}
@Override
public
Integer
getDefaultTransactionsIsolation
()
{
if
(
preferenceStore
.
contains
(
DBeaverPreferences
.
DEFAULT_ISOLATION
))
{
return
preferenceStore
.
getInt
(
DBeaverPreferences
.
DEFAULT_ISOLATION
);
}
return
null
;
}
@Override
public
void
setDefaultTransactionsIsolation
(
@Nullable
final
DBPTransactionIsolation
isolationLevel
)
{
...
...
@@ -670,40 +679,6 @@ public class DataSourceDescriptor
if
(
dataSource
==
null
)
{
return
;
}
DBCTransactionManager
txnManager
=
DBUtils
.
getTransactionManager
(
dataSource
.
getDefaultContext
(
false
));
if
(
txnManager
!=
null
)
{
try
{
// Set auto-commit
boolean
autoCommit
=
txnManager
.
isAutoCommit
();
boolean
newAutoCommit
;
if
(!
preferenceStore
.
contains
(
DBeaverPreferences
.
DEFAULT_AUTO_COMMIT
))
{
newAutoCommit
=
connectionInfo
.
getConnectionType
().
isAutocommit
();
}
else
{
newAutoCommit
=
preferenceStore
.
getBoolean
(
DBeaverPreferences
.
DEFAULT_AUTO_COMMIT
);
}
if
(
autoCommit
!=
newAutoCommit
)
{
// Change auto-commit state
txnManager
.
setAutoCommit
(
monitor
,
newAutoCommit
);
}
// Set txn isolation level
if
(
preferenceStore
.
contains
(
DBeaverPreferences
.
DEFAULT_ISOLATION
))
{
int
isolationCode
=
preferenceStore
.
getInt
(
DBeaverPreferences
.
DEFAULT_ISOLATION
);
Collection
<
DBPTransactionIsolation
>
supportedLevels
=
dataSource
.
getInfo
().
getSupportedTransactionsIsolation
();
if
(!
CommonUtils
.
isEmpty
(
supportedLevels
))
{
for
(
DBPTransactionIsolation
level
:
supportedLevels
)
{
if
(
level
.
getCode
()
==
isolationCode
)
{
txnManager
.
setTransactionIsolation
(
monitor
,
level
);
break
;
}
}
}
}
}
catch
(
DBCException
e
)
{
log
.
error
(
"Can't set session transactions state"
,
e
);
}
finally
{
monitor
.
worked
(
1
);
}
}
// Set active object
if
(
dataSource
instanceof
DBSObjectSelector
&&
dataSource
instanceof
DBSObjectContainer
)
{
...
...
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/dialogs/connection/ConnectionPageGeneral.java
浏览文件 @
fc908f6c
...
...
@@ -161,7 +161,7 @@ class ConnectionPageGeneral extends ActiveWizardPage<ConnectionWizard> {
if
(
dataSourceDescriptor
.
isConnected
())
{
isolationLevel
.
setEnabled
(!
autocommit
.
getSelection
());
supportedLevels
.
clear
();
DBPTransactionIsolation
defaultLevel
=
dataSourceDescriptor
.
get
Default
TransactionsIsolation
();
DBPTransactionIsolation
defaultLevel
=
dataSourceDescriptor
.
get
Active
TransactionsIsolation
();
for
(
DBPTransactionIsolation
level
:
CommonUtils
.
safeCollection
(
dataSourceDescriptor
.
getDataSource
().
getInfo
().
getSupportedTransactionsIsolation
()))
{
if
(!
level
.
isEnabled
())
continue
;
isolationLevel
.
add
(
level
.
getTitle
());
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录