Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
suliangchun
dbeaver
提交
05d93915
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,发现更多精彩内容 >>
提交
05d93915
编写于
4月 14, 2016
作者:
S
Serge Rider
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Unique index creation
上级
3196a035
变更
9
隐藏空白更改
内联
并排
Showing
9 changed file
with
34 addition
and
10 deletion
+34
-10
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/dialogs/struct/EditIndexDialog.java
.../org/jkiss/dbeaver/ui/dialogs/struct/EditIndexDialog.java
+13
-0
plugins/org.jkiss.dbeaver.ext.db2/src/org/jkiss/dbeaver/ext/db2/manager/DB2IndexManager.java
...rc/org/jkiss/dbeaver/ext/db2/manager/DB2IndexManager.java
+6
-1
plugins/org.jkiss.dbeaver.ext.db2/src/org/jkiss/dbeaver/ext/db2/model/DB2Index.java
...ext.db2/src/org/jkiss/dbeaver/ext/db2/model/DB2Index.java
+3
-2
plugins/org.jkiss.dbeaver.ext.generic/src/org/jkiss/dbeaver/ext/generic/edit/GenericIndexManager.java
...g/jkiss/dbeaver/ext/generic/edit/GenericIndexManager.java
+1
-1
plugins/org.jkiss.dbeaver.ext.mysql/src/org/jkiss/dbeaver/ext/mysql/edit/MySQLIndexManager.java
...c/org/jkiss/dbeaver/ext/mysql/edit/MySQLIndexManager.java
+1
-1
plugins/org.jkiss.dbeaver.ext.oracle/src/org/jkiss/dbeaver/ext/oracle/edit/OracleIndexManager.java
...org/jkiss/dbeaver/ext/oracle/edit/OracleIndexManager.java
+1
-1
plugins/org.jkiss.dbeaver.ext.postgresql/src/org/jkiss/dbeaver/ext/postgresql/edit/PostgreIndexManager.java
...kiss/dbeaver/ext/postgresql/edit/PostgreIndexManager.java
+2
-1
plugins/org.jkiss.dbeaver.ext.postgresql/src/org/jkiss/dbeaver/ext/postgresql/model/PostgreIndex.java
.../org/jkiss/dbeaver/ext/postgresql/model/PostgreIndex.java
+2
-1
plugins/org.jkiss.dbeaver.model/src/org/jkiss/dbeaver/model/impl/sql/edit/struct/SQLIndexManager.java
...s/dbeaver/model/impl/sql/edit/struct/SQLIndexManager.java
+5
-2
未找到文件。
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/dialogs/struct/EditIndexDialog.java
浏览文件 @
05d93915
...
...
@@ -23,6 +23,7 @@ import org.eclipse.swt.SWT;
import
org.eclipse.swt.events.SelectionAdapter
;
import
org.eclipse.swt.events.SelectionEvent
;
import
org.eclipse.swt.layout.GridData
;
import
org.eclipse.swt.widgets.Button
;
import
org.eclipse.swt.widgets.Combo
;
import
org.eclipse.swt.widgets.Composite
;
import
org.eclipse.swt.widgets.Shell
;
...
...
@@ -45,6 +46,7 @@ public class EditIndexDialog extends AttributesSelectorDialog {
private
List
<
DBSIndexType
>
indexTypes
;
private
DBSIndexType
selectedIndexType
;
private
boolean
unique
;
public
EditIndexDialog
(
Shell
shell
,
...
...
@@ -78,6 +80,14 @@ public class EditIndexDialog extends AttributesSelectorDialog {
selectedIndexType
=
indexTypes
.
get
(
typeCombo
.
getSelectionIndex
());
}
});
final
Button
uniqueButton
=
UIUtils
.
createLabelCheckbox
(
panel
,
"Unique"
,
false
);
uniqueButton
.
addSelectionListener
(
new
SelectionAdapter
()
{
@Override
public
void
widgetSelected
(
SelectionEvent
e
)
{
unique
=
uniqueButton
.
getSelection
();
}
});
}
public
DBSIndexType
getIndexType
()
...
...
@@ -85,4 +95,7 @@ public class EditIndexDialog extends AttributesSelectorDialog {
return
selectedIndexType
;
}
public
boolean
isUnique
()
{
return
unique
;
}
}
plugins/org.jkiss.dbeaver.ext.db2/src/org/jkiss/dbeaver/ext/db2/manager/DB2IndexManager.java
浏览文件 @
05d93915
...
...
@@ -27,6 +27,7 @@ import org.jkiss.dbeaver.ext.db2.model.DB2IndexColumn;
import
org.jkiss.dbeaver.ext.db2.model.DB2TableBase
;
import
org.jkiss.dbeaver.ext.db2.model.DB2TableColumn
;
import
org.jkiss.dbeaver.ext.db2.model.dict.DB2IndexType
;
import
org.jkiss.dbeaver.ext.db2.model.dict.DB2UniqueRule
;
import
org.jkiss.dbeaver.model.edit.DBECommandContext
;
import
org.jkiss.dbeaver.model.impl.DBObjectNameCaseTransformer
;
import
org.jkiss.dbeaver.model.impl.DBSObjectCache
;
...
...
@@ -89,7 +90,11 @@ public class DB2IndexManager extends SQLIndexManager<DB2Index, DB2TableBase> {
String
indexBaseName
=
String
.
format
(
CONS_IX_NAME
,
tableName
,
colName
);
String
indexName
=
DBObjectNameCaseTransformer
.
transformName
(
db2Table
.
getDataSource
(),
indexBaseName
);
DB2Index
index
=
new
DB2Index
(
db2Table
,
indexName
,
editDialog
.
getIndexType
());
DB2Index
index
=
new
DB2Index
(
db2Table
,
indexName
,
editDialog
.
getIndexType
(),
editDialog
.
isUnique
()
?
DB2UniqueRule
.
U
:
DB2UniqueRule
.
D
);
int
colIndex
=
1
;
for
(
DBSEntityAttribute
tableColumn
:
editDialog
.
getSelectedAttributes
())
{
...
...
plugins/org.jkiss.dbeaver.ext.db2/src/org/jkiss/dbeaver/ext/db2/model/DB2Index.java
浏览文件 @
05d93915
...
...
@@ -113,12 +113,13 @@ public class DB2Index extends JDBCTableIndex<DB2Schema, DB2TableBase> {
// DF: Could have been done in constructor. More "readable" to do it here
this
.
db2IndexType
=
CommonUtils
.
valueOf
(
DB2IndexType
.
class
,
JDBCUtils
.
safeGetStringTrimmed
(
dbResult
,
"INDEXTYPE"
));
this
.
indexType
=
db2IndexType
.
getDBSIndexType
();
this
.
indexType
=
db2IndexType
==
null
?
DBSIndexType
.
UNKNOWN
:
db2IndexType
.
getDBSIndexType
();
}
public
DB2Index
(
DB2TableBase
db2Table
,
String
indexName
,
DBSIndexType
indexType
)
public
DB2Index
(
DB2TableBase
db2Table
,
String
indexName
,
DBSIndexType
indexType
,
DB2UniqueRule
uniqueRule
)
{
super
(
db2Table
.
getSchema
(),
db2Table
,
indexName
,
indexType
,
false
);
this
.
uniqueRule
=
uniqueRule
;
}
// -----------------
...
...
plugins/org.jkiss.dbeaver.ext.generic/src/org/jkiss/dbeaver/ext/generic/edit/GenericIndexManager.java
浏览文件 @
05d93915
...
...
@@ -64,7 +64,7 @@ public class GenericIndexManager extends SQLIndexManager<GenericTableIndex, Gene
final
GenericTableIndex
index
=
new
GenericTableIndex
(
parent
,
false
,
!
editDialog
.
isUnique
()
,
null
,
0
,
null
,
...
...
plugins/org.jkiss.dbeaver.ext.mysql/src/org/jkiss/dbeaver/ext/mysql/edit/MySQLIndexManager.java
浏览文件 @
05d93915
...
...
@@ -62,7 +62,7 @@ public class MySQLIndexManager extends SQLIndexManager<MySQLTableIndex, MySQLTab
final
MySQLTableIndex
index
=
new
MySQLTableIndex
(
parent
,
false
,
!
editDialog
.
isUnique
()
,
null
,
editDialog
.
getIndexType
(),
null
);
...
...
plugins/org.jkiss.dbeaver.ext.oracle/src/org/jkiss/dbeaver/ext/oracle/edit/OracleIndexManager.java
浏览文件 @
05d93915
...
...
@@ -72,7 +72,7 @@ public class OracleIndexManager extends SQLIndexManager<OracleTableIndex, Oracle
parent
.
getSchema
(),
parent
,
DBObjectNameCaseTransformer
.
transformName
(
parent
.
getDataSource
(),
idxName
.
toString
()),
false
,
editDialog
.
isUnique
()
,
editDialog
.
getIndexType
());
int
colIndex
=
1
;
for
(
DBSEntityAttribute
tableColumn
:
editDialog
.
getSelectedAttributes
())
{
...
...
plugins/org.jkiss.dbeaver.ext.postgresql/src/org/jkiss/dbeaver/ext/postgresql/edit/PostgreIndexManager.java
浏览文件 @
05d93915
...
...
@@ -63,7 +63,8 @@ public class PostgreIndexManager extends SQLIndexManager<PostgreIndex, PostgreTa
final
PostgreIndex
index
=
new
PostgreIndex
(
parent
,
idxName
.
toString
(),
editDialog
.
getIndexType
());
editDialog
.
getIndexType
(),
editDialog
.
isUnique
());
int
colIndex
=
1
;
for
(
DBSEntityAttribute
tableColumn
:
editDialog
.
getSelectedAttributes
())
{
if
(
colIndex
==
1
)
{
...
...
plugins/org.jkiss.dbeaver.ext.postgresql/src/org/jkiss/dbeaver/ext/postgresql/model/PostgreIndex.java
浏览文件 @
05d93915
...
...
@@ -70,8 +70,9 @@ public class PostgreIndex extends JDBCTableIndex<PostgreSchema, PostgreTableBase
this
.
amId
=
JDBCUtils
.
safeGetLong
(
dbResult
,
"relam"
);
}
public
PostgreIndex
(
PostgreTableBase
parent
,
String
name
,
DBSIndexType
indexType
)
{
public
PostgreIndex
(
PostgreTableBase
parent
,
String
name
,
DBSIndexType
indexType
,
boolean
unique
)
{
super
(
parent
.
getContainer
(),
parent
,
name
,
indexType
,
false
);
this
.
isUnique
=
unique
;
}
@NotNull
...
...
plugins/org.jkiss.dbeaver.model/src/org/jkiss/dbeaver/model/impl/sql/edit/struct/SQLIndexManager.java
浏览文件 @
05d93915
...
...
@@ -53,8 +53,11 @@ public abstract class SQLIndexManager<OBJECT_TYPE extends JDBCTableIndex<? exten
index
.
setName
(
indexName
);
StringBuilder
decl
=
new
StringBuilder
(
40
);
decl
.
append
(
"CREATE INDEX "
).
append
(
indexName
)
//$NON-NLS-1$
decl
.
append
(
"CREATE "
);
if
(
index
.
isUnique
())
{
decl
.
append
(
"UNIQUE "
);
}
decl
.
append
(
"INDEX "
).
append
(
indexName
)
//$NON-NLS-1$
.
append
(
" ON "
).
append
(
table
.
getFullQualifiedName
())
//$NON-NLS-1$
.
append
(
" ("
);
//$NON-NLS-1$
// Get columns using void monitor
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录