Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
suliangchun
dbeaver
提交
fe20b02c
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,发现更多精彩内容 >>
提交
fe20b02c
编写于
5月 28, 2019
作者:
S
Serge Rider
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
SQL Server: DROP view fix (in any database)
Former-commit-id:
2a4e59cb
上级
9117cf7b
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
20 addition
and
10 deletion
+20
-10
plugins/org.jkiss.dbeaver.ext.mssql.ui/src/org/jkiss/dbeaver/ext/mssql/edit/SQLServerViewManager.java
...rg/jkiss/dbeaver/ext/mssql/edit/SQLServerViewManager.java
+20
-10
未找到文件。
plugins/org.jkiss.dbeaver.ext.mssql.ui/src/org/jkiss/dbeaver/ext/mssql/edit/SQLServerViewManager.java
浏览文件 @
fe20b02c
...
...
@@ -39,6 +39,12 @@ import java.util.Map;
*/
public
class
SQLServerViewManager
extends
SQLServerBaseTableManager
<
SQLServerView
>
{
enum
ViewAction
{
CREATE
,
ALTER
,
DROP
}
@Override
public
Class
<?>[]
getChildTypes
()
{
return
new
Class
[
0
];
...
...
@@ -66,24 +72,22 @@ public class SQLServerViewManager extends SQLServerBaseTableManager<SQLServerVie
@Override
protected
void
addStructObjectCreateActions
(
DBRProgressMonitor
monitor
,
List
<
DBEPersistAction
>
actions
,
StructCreateCommand
command
,
Map
<
String
,
Object
>
options
)
throws
DBException
{
createOrReplaceViewQuery
(
actions
,
command
.
getObject
(),
true
);
createOrReplaceViewQuery
(
actions
,
command
.
getObject
(),
ViewAction
.
CREATE
);
}
@Override
protected
void
addObjectModifyActions
(
DBRProgressMonitor
monitor
,
List
<
DBEPersistAction
>
actionList
,
ObjectChangeCommand
command
,
Map
<
String
,
Object
>
options
)
throws
DBException
{
if
(
command
.
getProperties
().
size
()
>
1
||
command
.
getProperty
(
DBConstants
.
PROP_ID_DESCRIPTION
)
==
null
)
{
createOrReplaceViewQuery
(
actionList
,
command
.
getObject
(),
false
);
createOrReplaceViewQuery
(
actionList
,
command
.
getObject
(),
ViewAction
.
ALTER
);
}
}
@Override
protected
void
addObjectDeleteActions
(
List
<
DBEPersistAction
>
actions
,
ObjectDeleteCommand
command
,
Map
<
String
,
Object
>
options
)
{
actions
.
add
(
new
SQLDatabasePersistAction
(
"Drop view"
,
"DROP VIEW "
+
command
.
getObject
().
getFullyQualifiedName
(
DBPEvaluationContext
.
DDL
))
//$NON-NLS-2$
);
createOrReplaceViewQuery
(
actions
,
command
.
getObject
(),
ViewAction
.
DROP
);
}
private
void
createOrReplaceViewQuery
(
List
<
DBEPersistAction
>
actions
,
SQLServerView
view
,
boolean
create
)
private
void
createOrReplaceViewQuery
(
List
<
DBEPersistAction
>
actions
,
SQLServerView
view
,
ViewAction
action
)
{
SQLServerDatabase
procDatabase
=
view
.
getContainer
().
getDatabase
();
SQLServerDatabase
defaultDatabase
=
procDatabase
.
getDataSource
().
getDefaultObject
();
...
...
@@ -91,10 +95,16 @@ public class SQLServerViewManager extends SQLServerBaseTableManager<SQLServerVie
actions
.
add
(
new
SQLDatabasePersistAction
(
"Set current database"
,
"USE "
+
DBUtils
.
getQuotedIdentifier
(
procDatabase
),
false
));
//$NON-NLS-2$
}
if
(
create
)
{
actions
.
add
(
new
SQLDatabasePersistAction
(
"Create view"
,
view
.
getDDL
()));
}
else
{
actions
.
add
(
new
SQLDatabasePersistAction
(
"Alter view"
,
SQLServerUtils
.
changeCreateToAlterDDL
(
view
.
getDataSource
().
getSQLDialect
(),
view
.
getDDL
())));
switch
(
action
)
{
case
CREATE:
actions
.
add
(
new
SQLDatabasePersistAction
(
"Create view"
,
view
.
getDDL
()));
break
;
case
ALTER:
actions
.
add
(
new
SQLDatabasePersistAction
(
"Alter view"
,
SQLServerUtils
.
changeCreateToAlterDDL
(
view
.
getDataSource
().
getSQLDialect
(),
view
.
getDDL
())));
break
;
case
DROP:
actions
.
add
(
new
SQLDatabasePersistAction
(
"Drop view"
,
"DROP VIEW "
+
view
.
getFullyQualifiedName
(
DBPEvaluationContext
.
DDL
)));
//$NON-NLS-2$
break
;
}
if
(
defaultDatabase
!=
procDatabase
)
{
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录