Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
suliangchun
dbeaver
提交
a8f87e92
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,发现更多精彩内容 >>
提交
a8f87e92
编写于
12月 26, 2015
作者:
S
Serge Rider
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
#12 RDB model refactoring
Former-commit-id:
acfb06fc
上级
325d7aee
变更
10
隐藏空白更改
内联
并排
Showing
10 changed file
with
33 addition
and
65 deletion
+33
-65
plugins/org.jkiss.dbeaver.ext.postgresql/src/org/jkiss/dbeaver/ext/postgresql/model/PostgreAttribute.java
.../jkiss/dbeaver/ext/postgresql/model/PostgreAttribute.java
+7
-43
plugins/org.jkiss.dbeaver.ext.postgresql/src/org/jkiss/dbeaver/ext/postgresql/model/PostgreClass.java
.../org/jkiss/dbeaver/ext/postgresql/model/PostgreClass.java
+3
-1
plugins/org.jkiss.dbeaver.ext.postgresql/src/org/jkiss/dbeaver/ext/postgresql/model/PostgreSchema.java
...org/jkiss/dbeaver/ext/postgresql/model/PostgreSchema.java
+5
-5
plugins/org.jkiss.dbeaver.ext.postgresql/src/org/jkiss/dbeaver/ext/postgresql/model/PostgreTable.java
.../org/jkiss/dbeaver/ext/postgresql/model/PostgreTable.java
+2
-2
plugins/org.jkiss.dbeaver.ext.postgresql/src/org/jkiss/dbeaver/ext/postgresql/model/PostgreTableBase.java
.../jkiss/dbeaver/ext/postgresql/model/PostgreTableBase.java
+2
-2
plugins/org.jkiss.dbeaver.ext.postgresql/src/org/jkiss/dbeaver/ext/postgresql/model/PostgreTableConstraintColumn.java
...er/ext/postgresql/model/PostgreTableConstraintColumn.java
+3
-3
plugins/org.jkiss.dbeaver.ext.postgresql/src/org/jkiss/dbeaver/ext/postgresql/model/PostgreTableForeignKeyColumnTable.java
...t/postgresql/model/PostgreTableForeignKeyColumnTable.java
+4
-4
plugins/org.jkiss.dbeaver.ext.postgresql/src/org/jkiss/dbeaver/ext/postgresql/model/PostgreTableIndexColumn.java
...dbeaver/ext/postgresql/model/PostgreTableIndexColumn.java
+3
-3
plugins/org.jkiss.dbeaver.model/src/org/jkiss/dbeaver/model/impl/jdbc/struct/JDBCTableColumn.java
...jkiss/dbeaver/model/impl/jdbc/struct/JDBCTableColumn.java
+2
-1
plugins/org.jkiss.dbeaver.model/src/org/jkiss/dbeaver/model/struct/rdb/DBSTableColumn.java
...rc/org/jkiss/dbeaver/model/struct/rdb/DBSTableColumn.java
+2
-1
未找到文件。
plugins/org.jkiss.dbeaver.ext.postgresql/src/org/jkiss/dbeaver/ext/postgresql/model/Postgre
TableColumn
.java
→
plugins/org.jkiss.dbeaver.ext.postgresql/src/org/jkiss/dbeaver/ext/postgresql/model/Postgre
Attribute
.java
浏览文件 @
a8f87e92
...
...
@@ -22,10 +22,8 @@ import org.jkiss.code.Nullable;
import
org.jkiss.dbeaver.DBException
;
import
org.jkiss.dbeaver.Log
;
import
org.jkiss.dbeaver.ext.postgresql.PostgreConstants
;
import
org.jkiss.dbeaver.ext.postgresql.PostgreUtils
;
import
org.jkiss.dbeaver.model.DBPNamedObject2
;
import
org.jkiss.dbeaver.model.impl.jdbc.JDBCUtils
;
import
org.jkiss.dbeaver.model.impl.jdbc.struct.JDBCColumnKeyType
;
import
org.jkiss.dbeaver.model.impl.jdbc.struct.JDBCTableColumn
;
import
org.jkiss.dbeaver.model.meta.IPropertyValueListProvider
;
import
org.jkiss.dbeaver.model.meta.Property
;
...
...
@@ -40,46 +38,27 @@ import java.util.regex.Matcher;
import
java.util.regex.Pattern
;
/**
* Postgre
TableColumn
* Postgre
Attribute
*/
public
class
Postgre
TableColumn
extends
JDBCTableColumn
<
PostgreTableBase
>
implements
DBSTableColumn
,
DBPNamedObject2
public
class
Postgre
Attribute
extends
JDBCTableColumn
<
PostgreClass
>
implements
DBSTableColumn
,
DBPNamedObject2
{
static
final
Log
log
=
Log
.
getLog
(
Postgre
TableColumn
.
class
);
static
final
Log
log
=
Log
.
getLog
(
Postgre
Attribute
.
class
);
private
static
Pattern
enumPattern
=
Pattern
.
compile
(
"'([^']*)'"
);
public
enum
KeyType
implements
JDBCColumnKeyType
{
PRI
,
UNI
,
MUL
;
@Override
public
boolean
isInUniqueKey
()
{
return
this
==
PRI
||
this
==
UNI
;
}
@Override
public
boolean
isInReferenceKey
()
{
return
this
==
MUL
;
}
}
private
String
comment
;
private
long
charLength
;
private
KeyType
keyType
;
private
String
extraInfo
;
private
String
fullTypeName
;
private
List
<
String
>
enumValues
;
public
Postgre
TableColumn
(
PostgreTableBase
table
)
public
Postgre
Attribute
(
PostgreTableBase
table
)
{
super
(
table
,
false
);
}
public
Postgre
TableColumn
(
public
Postgre
Attribute
(
PostgreTableBase
table
,
ResultSet
dbResult
)
throws
DBException
...
...
@@ -95,14 +74,6 @@ public class PostgreTableColumn extends JDBCTableColumn<PostgreTableBase> implem
setOrdinalPosition
(
JDBCUtils
.
safeGetInt
(
dbResult
,
"attnum"
));
String
typeName
=
JDBCUtils
.
safeGetString
(
dbResult
,
PostgreConstants
.
COL_DATA_TYPE
);
assert
typeName
!=
null
;
String
keyTypeName
=
JDBCUtils
.
safeGetString
(
dbResult
,
PostgreConstants
.
COL_COLUMN_KEY
);
if
(!
CommonUtils
.
isEmpty
(
keyTypeName
))
{
try
{
keyType
=
KeyType
.
valueOf
(
keyTypeName
);
}
catch
(
IllegalArgumentException
e
)
{
log
.
debug
(
e
);
}
}
setTypeName
(
typeName
);
//setValueType(PostgreUtils.typeNameToValueType(typeName));
DBSDataType
dataType
=
getDataSource
().
getDataType
(
typeName
);
...
...
@@ -232,13 +203,6 @@ public class PostgreTableColumn extends JDBCTableColumn<PostgreTableBase> implem
this
.
extraInfo
=
extraInfo
;
}
@Override
@Property
(
viewable
=
true
,
order
=
60
)
public
KeyType
getKeyType
()
{
return
keyType
;
}
public
List
<
String
>
getEnumValues
()
{
return
enumValues
;
...
...
@@ -261,14 +225,14 @@ public class PostgreTableColumn extends JDBCTableColumn<PostgreTableBase> implem
return
getComment
();
}
public
static
class
CharsetListProvider
implements
IPropertyValueListProvider
<
Postgre
TableColumn
>
{
public
static
class
CharsetListProvider
implements
IPropertyValueListProvider
<
Postgre
Attribute
>
{
@Override
public
boolean
allowCustomValue
()
{
return
false
;
}
@Override
public
Object
[]
getPossibleValues
(
Postgre
TableColumn
object
)
public
Object
[]
getPossibleValues
(
Postgre
Attribute
object
)
{
return
object
.
getDataSource
().
getCharsets
().
toArray
();
}
...
...
plugins/org.jkiss.dbeaver.ext.postgresql/src/org/jkiss/dbeaver/ext/postgresql/model/PostgreClass.java
浏览文件 @
a8f87e92
...
...
@@ -20,12 +20,14 @@ package org.jkiss.dbeaver.ext.postgresql.model;
import
org.jkiss.code.NotNull
;
import
org.jkiss.dbeaver.model.DBPNamedObject2
;
import
org.jkiss.dbeaver.model.DBPRefreshableObject
;
import
org.jkiss.dbeaver.model.struct.DBSEntity
;
import
org.jkiss.dbeaver.model.struct.DBSObject
;
import
org.jkiss.dbeaver.model.struct.rdb.DBSTable
;
/**
* PostgreClass
*/
public
interface
PostgreClass
extends
PostgreObject
,
DBS
Object
,
DBPNamedObject2
,
DBPRefreshableObject
public
interface
PostgreClass
extends
PostgreObject
,
DBS
Entity
,
DBPRefreshableObject
{
enum
RelKind
{
r
,
// ordinary table
...
...
plugins/org.jkiss.dbeaver.ext.postgresql/src/org/jkiss/dbeaver/ext/postgresql/model/PostgreSchema.java
浏览文件 @
a8f87e92
...
...
@@ -255,7 +255,7 @@ public class PostgreSchema implements DBSSchema, DBPSaveableObject, DBPRefreshab
return
PostgreConstants
.
INFO_SCHEMA_NAME
.
equalsIgnoreCase
(
getName
())
||
PostgreConstants
.
CATALOG_SCHEMA_NAME
.
equalsIgnoreCase
(
getName
());
}
public
class
ClassCache
extends
JDBCStructCache
<
PostgreSchema
,
PostgreTableBase
,
Postgre
TableColumn
>
{
public
class
ClassCache
extends
JDBCStructCache
<
PostgreSchema
,
PostgreTableBase
,
Postgre
Attribute
>
{
protected
ClassCache
()
{
...
...
@@ -317,10 +317,10 @@ public class PostgreSchema implements DBSSchema, DBPSaveableObject, DBPRefreshab
}
@Override
protected
Postgre
TableColumn
fetchChild
(
@NotNull
JDBCSession
session
,
@NotNull
PostgreSchema
owner
,
@NotNull
PostgreTableBase
table
,
@NotNull
ResultSet
dbResult
)
protected
Postgre
Attribute
fetchChild
(
@NotNull
JDBCSession
session
,
@NotNull
PostgreSchema
owner
,
@NotNull
PostgreTableBase
table
,
@NotNull
ResultSet
dbResult
)
throws
SQLException
,
DBException
{
return
new
Postgre
TableColumn
(
table
,
dbResult
);
return
new
Postgre
Attribute
(
table
,
dbResult
);
}
}
...
...
@@ -389,7 +389,7 @@ public class PostgreSchema implements DBSSchema, DBPSaveableObject, DBPRefreshab
String
ascOrDesc
=
JDBCUtils
.
safeGetStringTrimmed
(
dbResult
,
PostgreConstants
.
COL_COLLATION
);
boolean
nullable
=
"YES"
.
equals
(
JDBCUtils
.
safeGetStringTrimmed
(
dbResult
,
PostgreConstants
.
COL_NULLABLE
));
Postgre
TableColumn
tableColumn
=
parent
.
getAttribute
(
session
.
getProgressMonitor
(),
columnName
);
Postgre
Attribute
tableColumn
=
parent
.
getAttribute
(
session
.
getProgressMonitor
(),
columnName
);
if
(
tableColumn
==
null
)
{
log
.
debug
(
"Column '"
+
columnName
+
"' not found in table '"
+
parent
.
getName
()
+
"' for index '"
+
object
.
getName
()
+
"'"
);
return
null
;
...
...
@@ -460,7 +460,7 @@ public class PostgreSchema implements DBSSchema, DBPSaveableObject, DBPRefreshab
throws
SQLException
,
DBException
{
String
columnName
=
JDBCUtils
.
safeGetString
(
dbResult
,
PostgreConstants
.
COL_COLUMN_NAME
);
Postgre
TableColumn
column
=
parent
.
getAttribute
(
session
.
getProgressMonitor
(),
columnName
);
Postgre
Attribute
column
=
parent
.
getAttribute
(
session
.
getProgressMonitor
(),
columnName
);
if
(
column
==
null
)
{
log
.
warn
(
"Column '"
+
columnName
+
"' not found in table '"
+
parent
.
getFullQualifiedName
()
+
"'"
);
return
null
;
...
...
plugins/org.jkiss.dbeaver.ext.postgresql/src/org/jkiss/dbeaver/ext/postgresql/model/PostgreTable.java
浏览文件 @
a8f87e92
...
...
@@ -288,12 +288,12 @@ public class PostgreTable extends PostgreTableBase
log
.
warn
(
"Can't find FK table "
+
fkTableName
);
continue
;
}
Postgre
TableColumn
pkColumn
=
pkTable
.
getAttribute
(
monitor
,
pkColumnName
);
Postgre
Attribute
pkColumn
=
pkTable
.
getAttribute
(
monitor
,
pkColumnName
);
if
(
pkColumn
==
null
)
{
log
.
warn
(
"Can't find PK table "
+
pkTable
.
getFullQualifiedName
()
+
" column "
+
pkColumnName
);
continue
;
}
Postgre
TableColumn
fkColumn
=
fkTable
.
getAttribute
(
monitor
,
fkColumnName
);
Postgre
Attribute
fkColumn
=
fkTable
.
getAttribute
(
monitor
,
fkColumnName
);
if
(
fkColumn
==
null
)
{
log
.
warn
(
"Can't find FK table "
+
fkTable
.
getFullQualifiedName
()
+
" column "
+
fkColumnName
);
continue
;
...
...
plugins/org.jkiss.dbeaver.ext.postgresql/src/org/jkiss/dbeaver/ext/postgresql/model/PostgreTableBase.java
浏览文件 @
a8f87e92
...
...
@@ -73,14 +73,14 @@ public abstract class PostgreTableBase extends JDBCTable<PostgreDataSource, Post
}
@Override
public
Collection
<
Postgre
TableColumn
>
getAttributes
(
DBRProgressMonitor
monitor
)
public
Collection
<
Postgre
Attribute
>
getAttributes
(
DBRProgressMonitor
monitor
)
throws
DBException
{
return
getContainer
().
classCache
.
getChildren
(
monitor
,
getContainer
(),
this
);
}
@Override
public
Postgre
TableColumn
getAttribute
(
DBRProgressMonitor
monitor
,
String
attributeName
)
public
Postgre
Attribute
getAttribute
(
DBRProgressMonitor
monitor
,
String
attributeName
)
throws
DBException
{
return
getContainer
().
classCache
.
getChild
(
monitor
,
getContainer
(),
this
,
attributeName
);
...
...
plugins/org.jkiss.dbeaver.ext.postgresql/src/org/jkiss/dbeaver/ext/postgresql/model/PostgreTableConstraintColumn.java
浏览文件 @
a8f87e92
...
...
@@ -29,10 +29,10 @@ import org.jkiss.dbeaver.model.meta.Property;
public
class
PostgreTableConstraintColumn
extends
AbstractTableConstraintColumn
{
private
AbstractTableConstraint
<
PostgreTable
>
constraint
;
private
Postgre
TableColumn
tableColumn
;
private
Postgre
Attribute
tableColumn
;
private
int
ordinalPosition
;
public
PostgreTableConstraintColumn
(
AbstractTableConstraint
<
PostgreTable
>
constraint
,
Postgre
TableColumn
tableColumn
,
int
ordinalPosition
)
public
PostgreTableConstraintColumn
(
AbstractTableConstraint
<
PostgreTable
>
constraint
,
Postgre
Attribute
tableColumn
,
int
ordinalPosition
)
{
this
.
constraint
=
constraint
;
this
.
tableColumn
=
tableColumn
;
...
...
@@ -50,7 +50,7 @@ public class PostgreTableConstraintColumn extends AbstractTableConstraintColumn
@NotNull
@Override
@Property
(
id
=
"name"
,
viewable
=
true
,
order
=
1
)
public
Postgre
TableColumn
getAttribute
()
public
Postgre
Attribute
getAttribute
()
{
return
tableColumn
;
}
...
...
plugins/org.jkiss.dbeaver.ext.postgresql/src/org/jkiss/dbeaver/ext/postgresql/model/PostgreTableForeignKeyColumnTable.java
浏览文件 @
a8f87e92
...
...
@@ -25,13 +25,13 @@ import org.jkiss.dbeaver.model.struct.rdb.DBSTableForeignKeyColumn;
*/
public
class
PostgreTableForeignKeyColumnTable
extends
PostgreTableConstraintColumn
implements
DBSTableForeignKeyColumn
{
private
Postgre
TableColumn
referencedColumn
;
private
Postgre
Attribute
referencedColumn
;
public
PostgreTableForeignKeyColumnTable
(
PostgreTableForeignKey
constraint
,
Postgre
TableColumn
tableColumn
,
Postgre
Attribute
tableColumn
,
int
ordinalPosition
,
Postgre
TableColumn
referencedColumn
)
Postgre
Attribute
referencedColumn
)
{
super
(
constraint
,
tableColumn
,
ordinalPosition
);
this
.
referencedColumn
=
referencedColumn
;
...
...
@@ -39,7 +39,7 @@ public class PostgreTableForeignKeyColumnTable extends PostgreTableConstraintCol
@Override
@Property
(
id
=
"reference"
,
viewable
=
true
,
order
=
4
)
public
Postgre
TableColumn
getReferencedColumn
()
public
Postgre
Attribute
getReferencedColumn
()
{
return
referencedColumn
;
}
...
...
plugins/org.jkiss.dbeaver.ext.postgresql/src/org/jkiss/dbeaver/ext/postgresql/model/PostgreTableIndexColumn.java
浏览文件 @
a8f87e92
...
...
@@ -28,14 +28,14 @@ import org.jkiss.dbeaver.model.meta.Property;
public
class
PostgreTableIndexColumn
extends
AbstractTableIndexColumn
{
private
PostgreTableIndex
index
;
private
Postgre
TableColumn
tableColumn
;
private
Postgre
Attribute
tableColumn
;
private
int
ordinalPosition
;
private
boolean
ascending
;
private
boolean
nullable
;
public
PostgreTableIndexColumn
(
PostgreTableIndex
index
,
Postgre
TableColumn
tableColumn
,
Postgre
Attribute
tableColumn
,
int
ordinalPosition
,
boolean
ascending
,
boolean
nullable
)
...
...
@@ -72,7 +72,7 @@ public class PostgreTableIndexColumn extends AbstractTableIndexColumn
@Override
@Property
(
id
=
"name"
,
viewable
=
true
,
order
=
1
)
public
Postgre
TableColumn
getTableColumn
()
public
Postgre
Attribute
getTableColumn
()
{
return
tableColumn
;
}
...
...
plugins/org.jkiss.dbeaver.model/src/org/jkiss/dbeaver/model/impl/jdbc/struct/JDBCTableColumn.java
浏览文件 @
a8f87e92
...
...
@@ -25,6 +25,7 @@ import org.jkiss.dbeaver.model.DBPSaveableObject;
import
org.jkiss.dbeaver.model.impl.DBObjectNameCaseTransformer
;
import
org.jkiss.dbeaver.model.meta.Property
;
import
org.jkiss.dbeaver.model.struct.DBSDataType
;
import
org.jkiss.dbeaver.model.struct.DBSEntity
;
import
org.jkiss.dbeaver.model.struct.rdb.DBSTableColumn
;
import
org.jkiss.dbeaver.model.meta.IPropertyValueListProvider
;
import
org.jkiss.utils.CommonUtils
;
...
...
@@ -35,7 +36,7 @@ import java.util.TreeSet;
/**
* JDBC abstract table column
*/
public
abstract
class
JDBCTableColumn
<
TABLE_TYPE
extends
JDBCTable
>
extends
JDBCColumn
implements
DBSTableColumn
,
DBPSaveableObject
{
public
abstract
class
JDBCTableColumn
<
TABLE_TYPE
extends
DBSEntity
>
extends
JDBCColumn
implements
DBSTableColumn
,
DBPSaveableObject
{
private
final
TABLE_TYPE
table
;
private
boolean
persisted
;
...
...
plugins/org.jkiss.dbeaver.model/src/org/jkiss/dbeaver/model/struct/rdb/DBSTableColumn.java
浏览文件 @
a8f87e92
...
...
@@ -18,6 +18,7 @@
package
org.jkiss.dbeaver.model.struct.rdb
;
import
org.jkiss.code.NotNull
;
import
org.jkiss.dbeaver.model.struct.DBSEntity
;
import
org.jkiss.dbeaver.model.struct.DBSEntityAttribute
;
/**
...
...
@@ -27,6 +28,6 @@ public interface DBSTableColumn extends DBSEntityAttribute
{
@NotNull
@Override
DBS
Table
getParentObject
();
DBS
Entity
getParentObject
();
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录