Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
suliangchun
dbeaver
提交
6b047cdf
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,发现更多精彩内容 >>
提交
6b047cdf
编写于
10月 05, 2016
作者:
S
Serge Rider
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Copy table from abstract entity (MySQL)
上级
6e6994b4
变更
8
隐藏空白更改
内联
并排
Showing
8 changed file
with
22 addition
and
21 deletion
+22
-21
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/actions/navigator/NavigatorHandlerObjectCreateBase.java
...i/actions/navigator/NavigatorHandlerObjectCreateBase.java
+3
-3
plugins/org.jkiss.dbeaver.ext.mysql/src/org/jkiss/dbeaver/ext/mysql/edit/MySQLTableColumnManager.java
...jkiss/dbeaver/ext/mysql/edit/MySQLTableColumnManager.java
+1
-2
plugins/org.jkiss.dbeaver.ext.mysql/src/org/jkiss/dbeaver/ext/mysql/edit/MySQLTableManager.java
...c/org/jkiss/dbeaver/ext/mysql/edit/MySQLTableManager.java
+7
-4
plugins/org.jkiss.dbeaver.ext.mysql/src/org/jkiss/dbeaver/ext/mysql/model/MySQLTableBase.java
...src/org/jkiss/dbeaver/ext/mysql/model/MySQLTableBase.java
+3
-0
plugins/org.jkiss.dbeaver.ext.mysql/src/org/jkiss/dbeaver/ext/mysql/model/MySQLTableColumn.java
...c/org/jkiss/dbeaver/ext/mysql/model/MySQLTableColumn.java
+3
-1
plugins/org.jkiss.dbeaver.ext.postgresql/src/org/jkiss/dbeaver/ext/postgresql/model/PostgreAttribute.java
.../jkiss/dbeaver/ext/postgresql/model/PostgreAttribute.java
+2
-4
plugins/org.jkiss.dbeaver.model/src/org/jkiss/dbeaver/model/DBUtils.java
...ss.dbeaver.model/src/org/jkiss/dbeaver/model/DBUtils.java
+2
-6
plugins/org.jkiss.dbeaver.model/src/org/jkiss/dbeaver/model/sql/SQLUtils.java
...eaver.model/src/org/jkiss/dbeaver/model/sql/SQLUtils.java
+1
-1
未找到文件。
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/actions/navigator/NavigatorHandlerObjectCreateBase.java
浏览文件 @
6b047cdf
...
...
@@ -66,9 +66,9 @@ public abstract class NavigatorHandlerObjectCreateBase extends NavigatorHandlerO
}
DBSObject
sourceObject
=
copyFrom
==
null
?
null
:
copyFrom
.
getObject
();
if
(
sourceObject
!=
null
&&
!
childType
.
isAssignableFrom
(
sourceObject
.
getClass
()))
{
throw
new
DBException
(
"Can't create '"
+
childType
.
getName
()
+
"' from '"
+
sourceObject
.
getClass
().
getName
()
+
"'"
);
}
//
if (sourceObject != null && !childType.isAssignableFrom(sourceObject.getClass())) {
//
throw new DBException("Can't create '" + childType.getName() + "' from '" + sourceObject.getClass().getName() + "'");
//
}
final
EntityEditorsRegistry
editorsRegistry
=
EntityEditorsRegistry
.
getInstance
();
DBEObjectManager
<?>
objectManager
=
editorsRegistry
.
getObjectManager
(
childType
);
...
...
plugins/org.jkiss.dbeaver.ext.mysql/src/org/jkiss/dbeaver/ext/mysql/edit/MySQLTableColumnManager.java
浏览文件 @
6b047cdf
...
...
@@ -34,7 +34,6 @@ import org.jkiss.dbeaver.model.impl.edit.DBECommandAbstract;
import
org.jkiss.dbeaver.model.impl.edit.SQLDatabasePersistAction
;
import
org.jkiss.dbeaver.model.impl.sql.edit.struct.SQLTableColumnManager
;
import
org.jkiss.dbeaver.model.runtime.DBRProgressMonitor
;
import
org.jkiss.dbeaver.model.sql.SQLUtils
;
import
org.jkiss.dbeaver.model.struct.DBSDataType
;
import
org.jkiss.dbeaver.model.struct.DBSObject
;
import
org.jkiss.utils.CommonUtils
;
...
...
@@ -102,7 +101,7 @@ public class MySQLTableColumnManager extends SQLTableColumnManager<MySQLTableCol
column
.
setMaxLength
(
columnType
!=
null
&&
columnType
.
getDataKind
()
==
DBPDataKind
.
STRING
?
100
:
0
);
column
.
setValueType
(
columnType
==
null
?
Types
.
INTEGER
:
columnType
.
getTypeID
());
column
.
setOrdinalPosition
(-
1
);
column
.
setFullTypeName
(
typeName
+
CommonUtils
.
notEmpty
(
SQLUtils
.
getColumnTypeModifiers
(
column
,
typeName
,
column
.
getDataKind
())
));
column
.
setFullTypeName
(
DBUtils
.
getFullTypeName
(
column
));
return
column
;
}
...
...
plugins/org.jkiss.dbeaver.ext.mysql/src/org/jkiss/dbeaver/ext/mysql/edit/MySQLTableManager.java
浏览文件 @
6b047cdf
...
...
@@ -35,6 +35,7 @@ import org.jkiss.dbeaver.model.impl.sql.edit.struct.SQLTableManager;
import
org.jkiss.dbeaver.model.runtime.DBRProgressMonitor
;
import
org.jkiss.dbeaver.model.runtime.VoidProgressMonitor
;
import
org.jkiss.dbeaver.model.sql.SQLUtils
;
import
org.jkiss.dbeaver.model.struct.DBSEntity
;
import
org.jkiss.dbeaver.model.struct.DBSObject
;
import
java.util.Collection
;
...
...
@@ -63,10 +64,10 @@ public class MySQLTableManager extends SQLTableManager<MySQLTableBase, MySQLCata
protected
MySQLTable
createDatabaseObject
(
DBRProgressMonitor
monitor
,
DBECommandContext
context
,
MySQLCatalog
parent
,
Object
copyFrom
)
throws
DBException
{
final
MySQLTable
table
;
if
(
copyFrom
instanceof
MySQLTable
)
{
table
=
new
MySQLTable
(
monitor
,
parent
,
(
MySQLTable
)
copyFrom
);
table
.
setName
(
getTableName
(
monitor
,
parent
,
((
MySQLTable
)
copyFrom
).
getName
()));
}
else
{
if
(
copyFrom
instanceof
DBSEntity
)
{
table
=
new
MySQLTable
(
monitor
,
parent
,
(
DBSEntity
)
copyFrom
);
table
.
setName
(
getTableName
(
monitor
,
parent
,
((
DBSEntity
)
copyFrom
).
getName
()));
}
else
if
(
copyFrom
==
null
)
{
table
=
new
MySQLTable
(
parent
);
setTableName
(
monitor
,
parent
,
table
);
...
...
@@ -74,6 +75,8 @@ public class MySQLTableManager extends SQLTableManager<MySQLTableBase, MySQLCata
additionalInfo
.
setEngine
(
parent
.
getDataSource
().
getDefaultEngine
());
additionalInfo
.
setCharset
(
parent
.
getDefaultCharset
());
additionalInfo
.
setCollation
(
parent
.
getDefaultCollation
());
}
else
{
throw
new
DBException
(
"Can't create MySQL table from '"
+
copyFrom
+
"'"
);
}
return
table
;
...
...
plugins/org.jkiss.dbeaver.ext.mysql/src/org/jkiss/dbeaver/ext/mysql/model/MySQLTableBase.java
浏览文件 @
6b047cdf
...
...
@@ -62,6 +62,9 @@ public abstract class MySQLTableBase extends JDBCTable<MySQLDataSource, MySQLCat
DBSObjectCache
<
MySQLTableBase
,
MySQLTableColumn
>
colCache
=
getContainer
().
getTableCache
().
getChildrenCache
(
this
);
// Copy columns
for
(
DBSEntityAttribute
srcColumn
:
CommonUtils
.
safeCollection
(
source
.
getAttributes
(
monitor
)))
{
if
(
DBUtils
.
isHiddenObject
(
srcColumn
)
||
srcColumn
.
isPseudoAttribute
())
{
continue
;
}
MySQLTableColumn
column
=
new
MySQLTableColumn
(
this
,
srcColumn
);
colCache
.
cacheObject
(
column
);
}
...
...
plugins/org.jkiss.dbeaver.ext.mysql/src/org/jkiss/dbeaver/ext/mysql/model/MySQLTableColumn.java
浏览文件 @
6b047cdf
...
...
@@ -24,10 +24,12 @@ import org.jkiss.dbeaver.DBException;
import
org.jkiss.dbeaver.ext.mysql.MySQLConstants
;
import
org.jkiss.dbeaver.ext.mysql.MySQLUtils
;
import
org.jkiss.dbeaver.model.DBPNamedObject2
;
import
org.jkiss.dbeaver.model.DBUtils
;
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.Property
;
import
org.jkiss.dbeaver.model.sql.SQLUtils
;
import
org.jkiss.dbeaver.model.struct.DBSDataType
;
import
org.jkiss.dbeaver.model.struct.DBSEntityAttribute
;
import
org.jkiss.dbeaver.model.struct.rdb.DBSTableColumn
;
...
...
@@ -110,7 +112,7 @@ public class MySQLTableColumn extends JDBCTableColumn<MySQLTableBase> implements
}
}
else
{
this
.
collation
=
table
.
getContainer
().
getDefaultCollation
();
this
.
fullTypeName
=
source
.
getTypeName
(
);
this
.
fullTypeName
=
DBUtils
.
getFullTypeName
(
this
);
}
}
...
...
plugins/org.jkiss.dbeaver.ext.postgresql/src/org/jkiss/dbeaver/ext/postgresql/model/PostgreAttribute.java
浏览文件 @
6b047cdf
...
...
@@ -25,6 +25,7 @@ import org.jkiss.dbeaver.ext.postgresql.PostgreUtils;
import
org.jkiss.dbeaver.model.DBPDataKind
;
import
org.jkiss.dbeaver.model.DBPHiddenObject
;
import
org.jkiss.dbeaver.model.DBPNamedObject2
;
import
org.jkiss.dbeaver.model.DBUtils
;
import
org.jkiss.dbeaver.model.exec.jdbc.JDBCResultSet
;
import
org.jkiss.dbeaver.model.impl.DBPositiveNumberTransformer
;
import
org.jkiss.dbeaver.model.impl.jdbc.JDBCUtils
;
...
...
@@ -205,10 +206,7 @@ public abstract class PostgreAttribute<OWNER extends DBSEntity & PostgreObject>
public
String
getFullQualifiedTypeName
()
{
String
fqtn
=
dataType
.
getTypeName
();
if
(
dataType
.
getDataKind
()
!=
DBPDataKind
.
CONTENT
)
{
String
modifiers
=
SQLUtils
.
getColumnTypeModifiers
(
this
,
fqtn
,
dataType
.
getDataKind
());
if
(
modifiers
!=
null
)
{
return
fqtn
+
modifiers
;
}
return
DBUtils
.
getFullTypeName
(
this
);
}
return
fqtn
;
}
...
...
plugins/org.jkiss.dbeaver.model/src/org/jkiss/dbeaver/model/DBUtils.java
浏览文件 @
6b047cdf
...
...
@@ -1198,12 +1198,8 @@ public final class DBUtils {
public
static
String
getFullTypeName
(
@NotNull
DBSTypedObject
typedObject
)
{
String
typeName
=
typedObject
.
getTypeName
();
switch
(
typedObject
.
getDataKind
())
{
case
STRING:
case
CONTENT:
return
typeName
+
"("
+
typedObject
.
getMaxLength
()
+
")"
;
default
:
return
typeName
;
}
String
typeModifiers
=
SQLUtils
.
getColumnTypeModifiers
(
typedObject
,
typeName
,
typedObject
.
getDataKind
());
return
typeModifiers
==
null
?
typeName
:
(
typeName
+
CommonUtils
.
notEmpty
(
typeModifiers
));
}
@NotNull
...
...
plugins/org.jkiss.dbeaver.model/src/org/jkiss/dbeaver/model/sql/SQLUtils.java
浏览文件 @
6b047cdf
...
...
@@ -500,7 +500,7 @@ public final class SQLUtils {
}
}
public
static
String
getColumnTypeModifiers
(
@NotNull
DBS
AttributeBase
column
,
@NotNull
String
typeName
,
@NotNull
DBPDataKind
dataKind
)
{
public
static
String
getColumnTypeModifiers
(
@NotNull
DBS
TypedObject
column
,
@NotNull
String
typeName
,
@NotNull
DBPDataKind
dataKind
)
{
if
(
dataKind
==
DBPDataKind
.
STRING
)
{
if
(
typeName
.
indexOf
(
'('
)
==
-
1
)
{
final
long
maxLength
=
column
.
getMaxLength
();
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录