Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
suliangchun
dbeaver
提交
c037ebb5
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,发现更多精彩内容 >>
提交
c037ebb5
编写于
5月 20, 2018
作者:
S
serge-rider
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
SQL Server: read triggers for attached databases
Former-commit-id:
156115cf
上级
765bcd2f
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
33 addition
and
13 deletion
+33
-13
plugins/org.jkiss.dbeaver.ext.mssql/src/org/jkiss/dbeaver/ext/mssql/model/SQLServerMetaModel.java
...org/jkiss/dbeaver/ext/mssql/model/SQLServerMetaModel.java
+24
-12
plugins/org.jkiss.dbeaver.ext.mssql/src/org/jkiss/dbeaver/ext/mssql/model/SQLServerSchema.java
...rc/org/jkiss/dbeaver/ext/mssql/model/SQLServerSchema.java
+9
-1
未找到文件。
plugins/org.jkiss.dbeaver.ext.mssql/src/org/jkiss/dbeaver/ext/mssql/model/SQLServerMetaModel.java
浏览文件 @
c037ebb5
...
...
@@ -78,7 +78,7 @@ public class SQLServerMetaModel extends GenericMetaModel implements DBCQueryTran
@Override
public
SQLServerSchema
createSchemaImpl
(
GenericDataSource
dataSource
,
GenericCatalog
catalog
,
String
schemaName
)
throws
DBException
{
return
new
SQLServerSchema
(
dataSource
,
catalog
,
schemaName
);
return
new
SQLServerSchema
(
dataSource
,
catalog
,
schemaName
,
0
);
}
public
String
getViewDDL
(
DBRProgressMonitor
monitor
,
GenericTable
sourceObject
,
Map
<
String
,
Object
>
options
)
throws
DBException
{
...
...
@@ -122,19 +122,30 @@ public class SQLServerMetaModel extends GenericMetaModel implements DBCQueryTran
try
(
JDBCSession
session
=
DBUtils
.
openMetaSession
(
monitor
,
container
.
getDataSource
(),
"Read triggers"
))
{
String
schema
=
getSystemSchemaFQN
(
container
.
getDataSource
(),
container
.
getCatalog
());
StringBuilder
query
=
new
StringBuilder
(
"SELECT triggers.name FROM "
+
schema
+
".sysobjects triggers"
);
GenericSchema
tableSchema
=
table
==
null
?
null
:
table
.
getSchema
();
long
schemaId
=
tableSchema
instanceof
SQLServerSchema
?
((
SQLServerSchema
)
tableSchema
).
getSchemaId
()
:
0
;
if
(
table
!=
null
)
{
query
.
append
(
","
).
append
(
schema
).
append
(
".sysobjects tables"
);
}
query
.
append
(
"\nWHERE triggers.type = 'TR'\n"
);
if
(
table
!=
null
)
{
query
.
append
(
"AND triggers.deltrig = tables.id\n"
+
"AND user_name(tables.uid) = ? AND tables.name = ?"
);
query
.
append
(
"AND triggers.deltrig = tables.id\n"
);
if
(
schemaId
==
0
)
{
query
.
append
(
"AND user_name(tables.uid) = ?"
);
}
else
{
query
.
append
(
"AND tables.uid = ?"
);
}
query
.
append
(
" AND tables.name = ?"
);
}
try
(
JDBCPreparedStatement
dbStat
=
session
.
prepareStatement
(
query
.
toString
()))
{
if
(
table
!=
null
)
{
dbStat
.
setString
(
1
,
table
.
getSchema
().
getName
());
if
(
schemaId
==
0
)
{
dbStat
.
setString
(
1
,
tableSchema
.
getName
());
}
else
{
dbStat
.
setLong
(
1
,
schemaId
);
}
dbStat
.
setString
(
2
,
table
.
getName
());
}
List
<
GenericTrigger
>
result
=
new
ArrayList
<>();
...
...
@@ -234,18 +245,18 @@ public class SQLServerMetaModel extends GenericMetaModel implements DBCQueryTran
String
sql
;
if
(
showAllSchemas
)
{
if
(
getServerType
()
==
ServerType
.
SQL_SERVER
&&
dataSource
.
isServerVersionAtLeast
(
SQLServerConstants
.
SQL_SERVER_2005_VERSION_MAJOR
,
0
))
{
sql
=
"SELECT
name
FROM "
+
sysSchema
+
".schemas"
;
sql
=
"SELECT
*
FROM "
+
sysSchema
+
".schemas"
;
}
else
{
sql
=
"SELECT
name
FROM "
+
sysSchema
+
".sysusers"
;
sql
=
"SELECT
*
FROM "
+
sysSchema
+
".sysusers"
;
}
}
else
{
if
(
getServerType
()
==
ServerType
.
SQL_SERVER
)
{
sql
=
"SELECT DISTINCT s.
name
\n"
+
sql
=
"SELECT DISTINCT s.
*
\n"
+
"FROM "
+
sysSchema
+
".schemas s, "
+
sysSchema
+
".sysobjects o\n"
+
"WHERE s.schema_id=o.uid\n"
+
"ORDER BY 1"
;
}
else
{
sql
=
"SELECT DISTINCT u.name\n"
+
sql
=
"SELECT DISTINCT u.name
,u.uid
\n"
+
"FROM "
+
sysSchema
+
".sysusers u, "
+
sysSchema
+
".sysobjects o\n"
+
"WHERE u.uid=o.uid\n"
+
"ORDER BY 1"
;
...
...
@@ -258,7 +269,7 @@ public class SQLServerMetaModel extends GenericMetaModel implements DBCQueryTran
try
(
JDBCResultSet
dbResult
=
dbStat
.
executeQuery
())
{
while
(
dbResult
.
next
())
{
String
name
=
JDBCUtils
.
safeGetString
(
dbResult
,
1
);
String
name
=
JDBCUtils
.
safeGetString
(
dbResult
,
"name"
);
if
(
name
==
null
)
{
continue
;
}
...
...
@@ -268,8 +279,9 @@ public class SQLServerMetaModel extends GenericMetaModel implements DBCQueryTran
continue
;
}
SQLServerSchema
schema
=
createSchemaImpl
(
dataSource
,
catalog
,
name
);
long
schemaId
=
JDBCUtils
.
safeGetLong
(
dbResult
,
"schema_id"
);
SQLServerSchema
schema
=
new
SQLServerSchema
(
dataSource
,
catalog
,
name
,
schemaId
);
result
.
add
(
schema
);
}
}
...
...
plugins/org.jkiss.dbeaver.ext.mssql/src/org/jkiss/dbeaver/ext/mssql/model/SQLServerSchema.java
浏览文件 @
c037ebb5
...
...
@@ -25,7 +25,15 @@ import org.jkiss.dbeaver.ext.generic.model.GenericSchema;
*/
public
class
SQLServerSchema
extends
GenericSchema
{
public
SQLServerSchema
(
GenericDataSource
dataSource
,
GenericCatalog
catalog
,
String
schemaName
)
{
private
long
schemaId
;
public
SQLServerSchema
(
GenericDataSource
dataSource
,
GenericCatalog
catalog
,
String
schemaName
,
long
schemaId
)
{
super
(
dataSource
,
catalog
,
schemaName
);
this
.
schemaId
=
schemaId
;
}
public
long
getSchemaId
()
{
return
schemaId
;
}
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录