Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
suliangchun
dbeaver
提交
e8ab93f1
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,发现更多精彩内容 >>
提交
e8ab93f1
编写于
9月 20, 2016
作者:
S
Serge Rider
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
DB2 views cache - use lookup feature
上级
85f3df50
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
15 addition
and
27 deletion
+15
-27
plugins/org.jkiss.dbeaver.ext.db2/src/org/jkiss/dbeaver/ext/db2/model/cache/DB2TableCache.java
.../org/jkiss/dbeaver/ext/db2/model/cache/DB2TableCache.java
+1
-1
plugins/org.jkiss.dbeaver.ext.db2/src/org/jkiss/dbeaver/ext/db2/model/cache/DB2ViewCache.java
...c/org/jkiss/dbeaver/ext/db2/model/cache/DB2ViewCache.java
+14
-26
未找到文件。
plugins/org.jkiss.dbeaver.ext.db2/src/org/jkiss/dbeaver/ext/db2/model/cache/DB2TableCache.java
浏览文件 @
e8ab93f1
...
...
@@ -56,7 +56,7 @@ public final class DB2TableCache extends JDBCStructLookupCache<DB2Schema, DB2Tab
"WHERE TABSCHEMA = ? AND TYPE IN ("
+
"'"
+
DB2TableType
.
H
.
name
()
+
"','"
+
DB2TableType
.
L
.
name
()
+
"','"
+
DB2TableType
.
T
.
name
()
+
"','"
+
DB2TableType
.
U
.
name
()
+
"','"
+
DB2TableType
.
G
.
name
()
+
"')\n"
+
(
object
==
null
&&
objectName
==
null
?
""
:
"AND TABNAME=?\n"
)
+
"ORDER BY TABNAME
"
+
"
WITH UR"
;
"ORDER BY TABNAME
\n
WITH UR"
;
final
JDBCPreparedStatement
dbStat
=
session
.
prepareStatement
(
query
);
dbStat
.
setString
(
1
,
schema
.
getName
());
if
(
object
!=
null
||
objectName
!=
null
)
dbStat
.
setString
(
2
,
object
!=
null
?
object
.
getName
()
:
objectName
);
...
...
plugins/org.jkiss.dbeaver.ext.db2/src/org/jkiss/dbeaver/ext/db2/model/cache/DB2ViewCache.java
浏览文件 @
e8ab93f1
...
...
@@ -25,11 +25,11 @@ import org.jkiss.dbeaver.ext.db2.model.DB2Schema;
import
org.jkiss.dbeaver.ext.db2.model.DB2TableColumn
;
import
org.jkiss.dbeaver.ext.db2.model.DB2View
;
import
org.jkiss.dbeaver.ext.db2.model.dict.DB2TableType
;
import
org.jkiss.dbeaver.model.exec.jdbc.JDBCPreparedStatement
;
import
org.jkiss.dbeaver.model.exec.jdbc.JDBCResultSet
;
import
org.jkiss.dbeaver.model.exec.jdbc.JDBCSession
;
import
org.jkiss.dbeaver.model.exec.jdbc.JDBCPreparedStatement
;
import
org.jkiss.dbeaver.model.exec.jdbc.JDBCStatement
;
import
org.jkiss.dbeaver.model.impl.jdbc.cache.JDBCStructCache
;
import
org.jkiss.dbeaver.model.impl.jdbc.cache.JDBCStruct
Lookup
Cache
;
import
java.sql.SQLException
;
...
...
@@ -38,40 +38,28 @@ import java.sql.SQLException;
*
* @author Denis Forveille
*/
public
final
class
DB2ViewCache
extends
JDBCStructCache
<
DB2Schema
,
DB2View
,
DB2TableColumn
>
{
public
final
class
DB2ViewCache
extends
JDBCStruct
Lookup
Cache
<
DB2Schema
,
DB2View
,
DB2TableColumn
>
{
private
static
final
String
SQL_VIEWS
;
private
static
final
String
SQL_COLS_TAB
=
"SELECT * FROM SYSCAT.COLUMNS WHERE TABSCHEMA=? AND TABNAME = ? ORDER BY COLNO WITH UR"
;
private
static
final
String
SQL_COLS_ALL
=
"SELECT * FROM SYSCAT.COLUMNS WHERE TABSCHEMA=? ORDER BY TABNAME, COLNO WITH UR"
;
static
{
StringBuilder
sb
=
new
StringBuilder
(
512
);
sb
.
append
(
"SELECT *"
);
sb
.
append
(
" FROM SYSCAT.TABLES T"
);
sb
.
append
(
" , SYSCAT.VIEWS V"
);
sb
.
append
(
" WHERE V.VIEWSCHEMA = ?"
);
sb
.
append
(
" AND T.TABSCHEMA = V.VIEWSCHEMA"
);
sb
.
append
(
" AND T.TABNAME = V.VIEWNAME"
);
sb
.
append
(
" AND T.TYPE IN ("
);
sb
.
append
(
" '"
+
DB2TableType
.
V
.
name
()
+
"'"
);
sb
.
append
(
" ,'"
+
DB2TableType
.
W
.
name
()
+
"'"
);
sb
.
append
(
" )"
);
sb
.
append
(
" ORDER BY T.TABNAME"
);
sb
.
append
(
" WITH UR"
);
SQL_VIEWS
=
sb
.
toString
();
}
public
DB2ViewCache
()
{
super
(
"TABNAME"
);
}
@NotNull
@Override
protected
JDBCStatement
prepareObjectsStatement
(
@NotNull
JDBCSession
session
,
@NotNull
DB2Schema
db2Schema
)
throws
SQLException
{
final
JDBCPreparedStatement
dbStat
=
session
.
prepareStatement
(
SQL_VIEWS
);
dbStat
.
setString
(
1
,
db2Schema
.
getName
());
public
JDBCStatement
prepareLookupStatement
(
@NotNull
JDBCSession
session
,
@NotNull
DB2Schema
schema
,
@Nullable
DB2View
object
,
@Nullable
String
objectName
)
throws
SQLException
{
final
JDBCPreparedStatement
dbStat
=
session
.
prepareStatement
(
"SELECT * FROM SYSCAT.TABLES T, SYSCAT.VIEWS V\n"
+
"WHERE V.VIEWSCHEMA = ? AND T.TABSCHEMA = V.VIEWSCHEMA AND T.TABNAME = V.VIEWNAME "
+
"AND T.TYPE IN ('"
+
DB2TableType
.
V
.
name
()
+
"','"
+
DB2TableType
.
W
.
name
()
+
"')\n"
+
(
object
==
null
&&
objectName
==
null
?
""
:
"AND T.TABNAME=?\n"
)
+
"ORDER BY T.TABNAME\nWITH UR"
);
dbStat
.
setString
(
1
,
schema
.
getName
());
if
(
object
!=
null
||
objectName
!=
null
)
dbStat
.
setString
(
2
,
object
!=
null
?
object
.
getName
()
:
objectName
);
return
dbStat
;
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录