Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
suliangchun
dbeaver
提交
e12af422
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,发现更多精彩内容 >>
提交
e12af422
编写于
9月 15, 2020
作者:
S
Serge Rider
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
#6178 SQL Server table types support fixes
Former-commit-id:
c1906063
上级
67cc6f64
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
46 addition
and
10 deletion
+46
-10
plugins/org.jkiss.dbeaver.ext.mssql/src/org/jkiss/dbeaver/ext/mssql/edit/SQLServerTableColumnManager.java
...s/dbeaver/ext/mssql/edit/SQLServerTableColumnManager.java
+14
-0
plugins/org.jkiss.dbeaver.ext.mssql/src/org/jkiss/dbeaver/ext/mssql/edit/SQLServerTableManager.java
...g/jkiss/dbeaver/ext/mssql/edit/SQLServerTableManager.java
+26
-10
plugins/org.jkiss.dbeaver.ext.mssql/src/org/jkiss/dbeaver/ext/mssql/model/SQLServerDatabase.java
.../org/jkiss/dbeaver/ext/mssql/model/SQLServerDatabase.java
+5
-0
plugins/org.jkiss.dbeaver.ext.mssql/src/org/jkiss/dbeaver/ext/mssql/model/SQLServerSchema.java
...rc/org/jkiss/dbeaver/ext/mssql/model/SQLServerSchema.java
+1
-0
未找到文件。
plugins/org.jkiss.dbeaver.ext.mssql/src/org/jkiss/dbeaver/ext/mssql/edit/SQLServerTableColumnManager.java
浏览文件 @
e12af422
...
...
@@ -93,6 +93,20 @@ public class SQLServerTableColumnManager extends SQLTableColumnManager<SQLServer
return
new
ColumnModifier
[]
{
DataTypeModifier
,
IdentityModifier
,
CollateModifier
,
SQLServerDefaultModifier
,
NullNotNullModifier
};
}
@Override
public
boolean
canEditObject
(
SQLServerTableColumn
object
)
{
return
!
isTableType
(
object
)
&&
super
.
canEditObject
(
object
);
}
@Override
public
boolean
canDeleteObject
(
SQLServerTableColumn
object
)
{
return
!
isTableType
(
object
)
&&
super
.
canDeleteObject
(
object
);
}
private
boolean
isTableType
(
SQLServerTableColumn
column
)
{
return
column
.
getTable
()
instanceof
SQLServerTableType
;
}
@Override
protected
SQLServerTableColumn
createDatabaseObject
(
DBRProgressMonitor
monitor
,
DBECommandContext
context
,
Object
container
,
Object
copyFrom
,
Map
<
String
,
Object
>
options
)
{
...
...
plugins/org.jkiss.dbeaver.ext.mssql/src/org/jkiss/dbeaver/ext/mssql/edit/SQLServerTableManager.java
浏览文件 @
e12af422
...
...
@@ -39,7 +39,7 @@ import java.util.Map;
/**
* SQLServer table manager
*/
public
class
SQLServerTableManager
extends
SQLServerBaseTableManager
<
SQLServerTable
>
{
public
class
SQLServerTableManager
extends
SQLServerBaseTableManager
<
SQLServerTable
Base
>
{
private
static
final
Class
<?>[]
CHILD_TYPES
=
{
SQLServerTableColumn
.
class
,
...
...
@@ -49,6 +49,20 @@ public class SQLServerTableManager extends SQLServerBaseTableManager<SQLServerTa
SQLServerTableCheckConstraint
.
class
,
};
@Override
public
boolean
canEditObject
(
SQLServerTableBase
object
)
{
return
!
isTableType
(
object
)
&&
super
.
canEditObject
(
object
);
}
@Override
public
boolean
canDeleteObject
(
SQLServerTableBase
object
)
{
return
!
isTableType
(
object
)
&&
super
.
canDeleteObject
(
object
);
}
private
boolean
isTableType
(
SQLServerTableBase
table
)
{
return
table
instanceof
SQLServerTableType
;
}
@Override
protected
SQLServerTable
createDatabaseObject
(
DBRProgressMonitor
monitor
,
DBECommandContext
context
,
Object
container
,
Object
copyFrom
,
Map
<
String
,
Object
>
options
)
{
...
...
@@ -70,7 +84,7 @@ public class SQLServerTableManager extends SQLServerBaseTableManager<SQLServerTa
}
@Override
protected
void
appendTableModifiers
(
DBRProgressMonitor
monitor
,
SQLServerTable
table
,
NestedObjectCommand
tableProps
,
StringBuilder
ddl
,
boolean
alter
)
protected
void
appendTableModifiers
(
DBRProgressMonitor
monitor
,
SQLServerTable
Base
table
,
NestedObjectCommand
tableProps
,
StringBuilder
ddl
,
boolean
alter
)
{
// ALTER
/*
...
...
@@ -90,7 +104,7 @@ public class SQLServerTableManager extends SQLServerBaseTableManager<SQLServerTa
@Override
protected
void
addObjectDeleteActions
(
DBRProgressMonitor
monitor
,
DBCExecutionContext
executionContext
,
List
<
DBEPersistAction
>
actions
,
ObjectDeleteCommand
command
,
Map
<
String
,
Object
>
options
)
{
SQLServerTable
object
=
command
.
getObject
();
SQLServerTable
Base
object
=
command
.
getObject
();
actions
.
add
(
new
SQLDatabasePersistAction
(
ModelMessages
.
model_jdbc_drop_table
,
...
...
@@ -109,7 +123,7 @@ public class SQLServerTableManager extends SQLServerBaseTableManager<SQLServerTa
}
@Override
public
void
renameObject
(
DBECommandContext
commandContext
,
SQLServerTable
object
,
String
newName
)
throws
DBException
public
void
renameObject
(
DBECommandContext
commandContext
,
SQLServerTable
Base
object
,
String
newName
)
throws
DBException
{
processObjectRename
(
commandContext
,
object
,
newName
);
}
...
...
@@ -119,16 +133,18 @@ public class SQLServerTableManager extends SQLServerBaseTableManager<SQLServerTa
return
!
index
.
isPrimary
()
&&
super
.
isIncludeIndexInDDL
(
monitor
,
index
);
}
protected
void
addExtraDDLCommands
(
DBRProgressMonitor
monitor
,
SQLServerTable
table
,
Map
<
String
,
Object
>
options
,
SQLStructEditor
.
StructCreateCommand
createCommand
)
{
SQLObjectEditor
<
SQLServerTableCheckConstraint
,
SQLServerTable
>
ccm
=
getObjectEditor
(
protected
void
addExtraDDLCommands
(
DBRProgressMonitor
monitor
,
SQLServerTable
Base
table
,
Map
<
String
,
Object
>
options
,
SQLStructEditor
.
StructCreateCommand
createCommand
)
{
SQLObjectEditor
<
SQLServerTableCheckConstraint
,
SQLServerTable
Base
>
ccm
=
getObjectEditor
(
table
.
getDataSource
().
getContainer
().
getPlatform
().
getEditorsRegistry
(),
SQLServerTableCheckConstraint
.
class
);
if
(
ccm
!=
null
)
{
try
{
Collection
<
SQLServerTableCheckConstraint
>
checkConstraints
=
CommonUtils
.
safeCollection
(
table
.
getCheckConstraints
(
monitor
));
if
(!
CommonUtils
.
isEmpty
(
checkConstraints
))
{
for
(
SQLServerTableCheckConstraint
checkConstraint
:
checkConstraints
)
{
createCommand
.
aggregateCommand
(
ccm
.
makeCreateCommand
(
checkConstraint
,
options
));
if
(
table
instanceof
SQLServerTable
)
{
Collection
<
SQLServerTableCheckConstraint
>
checkConstraints
=
CommonUtils
.
safeCollection
(((
SQLServerTable
)
table
).
getCheckConstraints
(
monitor
));
if
(!
CommonUtils
.
isEmpty
(
checkConstraints
))
{
for
(
SQLServerTableCheckConstraint
checkConstraint
:
checkConstraints
)
{
createCommand
.
aggregateCommand
(
ccm
.
makeCreateCommand
(
checkConstraint
,
options
));
}
}
}
}
catch
(
DBException
e
)
{
...
...
plugins/org.jkiss.dbeaver.ext.mssql/src/org/jkiss/dbeaver/ext/mssql/model/SQLServerDatabase.java
浏览文件 @
e12af422
...
...
@@ -138,6 +138,11 @@ public class SQLServerDatabase implements DBSCatalog, DBPSaveableObject, DBPRefr
return
this
;
}
void
refreshDataTypes
()
{
typesCache
.
clearCache
();
}
//////////////////////////////////////////////////
// Data types
...
...
plugins/org.jkiss.dbeaver.ext.mssql/src/org/jkiss/dbeaver/ext/mssql/model/SQLServerSchema.java
浏览文件 @
e12af422
...
...
@@ -179,6 +179,7 @@ public class SQLServerSchema implements DBSSchema, DBPSaveableObject, DBPQualifi
sequenceCache
.
clearCache
();
synonymCache
.
clearCache
();
procedureCache
.
clearCache
();
database
.
refreshDataTypes
();
hasTableStatistics
=
false
;
return
this
;
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录