Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
suliangchun
dbeaver
提交
5d7cb220
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,发现更多精彩内容 >>
提交
5d7cb220
编写于
1月 13, 2017
作者:
S
Serge Rider
浏览文件
操作
浏览文件
下载
差异文件
Merge remote-tracking branch 'origin/devel' into devel
上级
b67213ce
7d309c6c
变更
22
展开全部
隐藏空白更改
内联
并排
Showing
22 changed file
with
2024 addition
and
262 deletion
+2024
-262
modules/org.jkiss.utils/src/org/jkiss/utils/ArrayUtils.java
modules/org.jkiss.utils/src/org/jkiss/utils/ArrayUtils.java
+6
-0
plugins/org.jkiss.dbeaver.core.application/plugin_de.properties
...s/org.jkiss.dbeaver.core.application/plugin_de.properties
+54
-0
plugins/org.jkiss.dbeaver.core.eclipse/plugin_de.properties
plugins/org.jkiss.dbeaver.core.eclipse/plugin_de.properties
+42
-0
plugins/org.jkiss.dbeaver.core/plugin_de.properties
plugins/org.jkiss.dbeaver.core/plugin_de.properties
+352
-0
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/core/CoreResources_de.properties
...re/src/org/jkiss/dbeaver/core/CoreResources_de.properties
+931
-0
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/runtime/properties/PropertySourceAbstract.java
...ss/dbeaver/runtime/properties/PropertySourceAbstract.java
+9
-0
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/actions/navigator/NavigatorHandlerObjectCreateBase.java
...i/actions/navigator/NavigatorHandlerObjectCreateBase.java
+1
-1
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/editors/object/struct/AttributeEditPage.java
...s/dbeaver/ui/editors/object/struct/AttributeEditPage.java
+27
-2
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/editors/sql/syntax/SQLRuleManager.java
...g/jkiss/dbeaver/ui/editors/sql/syntax/SQLRuleManager.java
+11
-3
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/properties/PropertyTreeViewer.java
...c/org/jkiss/dbeaver/ui/properties/PropertyTreeViewer.java
+8
-3
plugins/org.jkiss.dbeaver.ext.exasol/plugin.properties
plugins/org.jkiss.dbeaver.ext.exasol/plugin.properties
+204
-234
plugins/org.jkiss.dbeaver.ext.exasol/plugin.xml
plugins/org.jkiss.dbeaver.ext.exasol/plugin.xml
+0
-1
plugins/org.jkiss.dbeaver.ext.exasol/plugin_de.properties
plugins/org.jkiss.dbeaver.ext.exasol/plugin_de.properties
+188
-0
plugins/org.jkiss.dbeaver.ext.exasol/src/org/jkiss/dbeaver/ext/exasol/ExasolDataSourceProvider.java
...rg/jkiss/dbeaver/ext/exasol/ExasolDataSourceProvider.java
+18
-2
plugins/org.jkiss.dbeaver.ext.exasol/src/org/jkiss/dbeaver/ext/exasol/ExasolResources_de.properties
...rg/jkiss/dbeaver/ext/exasol/ExasolResources_de.properties
+61
-0
plugins/org.jkiss.dbeaver.ext.exasol/src/org/jkiss/dbeaver/ext/exasol/model/ExasolConnection.java
.../org/jkiss/dbeaver/ext/exasol/model/ExasolConnection.java
+1
-1
plugins/org.jkiss.dbeaver.ext.exasol/src/org/jkiss/dbeaver/ext/exasol/model/ExasolDataSource.java
.../org/jkiss/dbeaver/ext/exasol/model/ExasolDataSource.java
+61
-2
plugins/org.jkiss.dbeaver.ext.exasol/src/org/jkiss/dbeaver/ext/exasol/model/ExasolTableColumn.java
...org/jkiss/dbeaver/ext/exasol/model/ExasolTableColumn.java
+18
-2
plugins/org.jkiss.dbeaver.ext.postgresql/src/org/jkiss/dbeaver/ext/postgresql/edit/PostgreTableColumnManager.java
...beaver/ext/postgresql/edit/PostgreTableColumnManager.java
+23
-10
plugins/org.jkiss.dbeaver.ext.postgresql/src/org/jkiss/dbeaver/ext/postgresql/model/PostgreDialect.java
...rg/jkiss/dbeaver/ext/postgresql/model/PostgreDialect.java
+7
-1
plugins/org.jkiss.dbeaver.lang/.classpath
plugins/org.jkiss.dbeaver.lang/.classpath
+1
-0
plugins/org.jkiss.dbeaver.model/src/org/jkiss/dbeaver/model/sql/SQLConstants.java
...r.model/src/org/jkiss/dbeaver/model/sql/SQLConstants.java
+1
-0
未找到文件。
modules/org.jkiss.utils/src/org/jkiss/utils/ArrayUtils.java
浏览文件 @
5d7cb220
...
...
@@ -115,6 +115,7 @@ public class ArrayUtils {
return
false
;
}
@SafeVarargs
public
static
<
OBJECT_TYPE
>
boolean
contains
(
OBJECT_TYPE
[]
array
,
OBJECT_TYPE
...
values
)
{
if
(
isEmpty
(
array
))
...
...
@@ -164,6 +165,7 @@ public class ArrayUtils {
return
-
1
;
}
@SuppressWarnings
(
"unchecked"
)
public
static
<
T
>
T
[]
deleteArea
(
Class
<
T
>
type
,
T
[]
elements
,
int
from
,
int
to
)
{
int
delCount
=
to
-
from
+
1
;
T
[]
newArray
=
(
T
[])
Array
.
newInstance
(
type
,
elements
.
length
-
delCount
);
...
...
@@ -175,6 +177,7 @@ public class ArrayUtils {
return
newArray
;
}
@SuppressWarnings
(
"unchecked"
)
public
static
<
T
>
T
[]
insertArea
(
Class
<
T
>
type
,
Object
[]
elements
,
int
pos
,
Object
[]
add
)
{
T
[]
newArray
=
(
T
[])
Array
.
newInstance
(
type
,
elements
.
length
+
add
.
length
);
System
.
arraycopy
(
elements
,
0
,
newArray
,
0
,
pos
);
...
...
@@ -183,6 +186,7 @@ public class ArrayUtils {
return
newArray
;
}
@SuppressWarnings
(
"unchecked"
)
public
static
<
T
>
T
[]
add
(
Class
<
T
>
type
,
T
[]
elements
,
T
add
)
{
T
[]
newArray
=
(
T
[])
Array
.
newInstance
(
type
,
elements
.
length
+
1
);
System
.
arraycopy
(
elements
,
0
,
newArray
,
0
,
elements
.
length
);
...
...
@@ -190,6 +194,7 @@ public class ArrayUtils {
return
newArray
;
}
@SuppressWarnings
(
"unchecked"
)
public
static
<
T
>
T
[]
remove
(
Class
<
T
>
type
,
T
[]
elements
,
int
index
)
{
T
[]
newArray
=
(
T
[])
Array
.
newInstance
(
type
,
elements
.
length
-
1
);
System
.
arraycopy
(
elements
,
0
,
newArray
,
0
,
index
);
...
...
@@ -221,6 +226,7 @@ public class ArrayUtils {
System
.
out
.
println
(
Arrays
.
toString
(
arr
));
}
@SuppressWarnings
(
"unchecked"
)
public
static
<
T
>
T
[]
toArray
(
Class
<
T
>
type
,
Collection
<?
extends
T
>
list
)
{
return
list
.
toArray
((
T
[])
Array
.
newInstance
(
type
,
list
.
size
()));
}
...
...
plugins/org.jkiss.dbeaver.core.application/plugin_de.properties
0 → 100644
浏览文件 @
5d7cb220
#Generated by ResourceBundle Editor (http://essiembre.github.io/eclipse-rbe/)
# DBeaver - Universal Database Manager
# Copyright (C) 2010-2016 Serge Rieder (serge@jkiss.org)
# Copyright (C) 2017 Karl Griesser (fullref@gmail.com)
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License (version 2)
# as published by the Free Software Foundation.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License along
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
command.org.jkiss.dbeaver.core.object.find.description
=
Datenbankobjekte suchen
command.org.jkiss.dbeaver.core.object.find.name
=
Datenkbank suchen
menu.edit
=
Bearbeiten
menu.navigate
=
Navigation
pref.page.name.binary.editor
=
Bin
\u
00E4reditor
pref.page.name.colors.and.fonts
=
Farben und Schriftart
pref.page.name.confirmations
=
Best
\u
00E4tigungen
pref.page.name.connectionTypes
=
Verbindungstypen
pref.page.name.data.editor
=
Daten-Editor
pref.page.name.data.formats
=
Datumsformate
pref.page.name.db.configuration
=
Datenbank
pref.page.name.db.editors
=
Editoren
pref.page.name.drivers
=
Treiber
pref.page.name.meta
=
Metadaten
pref.page.name.navigator
=
Navigation
pref.page.name.query.manager
=
Arbfragemanager
pref.page.name.resources
=
Ressourcen
pref.page.name.resultset
=
Ergebnismenge
pref.page.name.resultset.binaries
=
Bin
\u
00E4rdaten
pref.page.name.resultset.presentation
=
Darstellung
pref.page.name.sql.completion
=
SQL Autovervollst
\u
00E4ndigen
pref.page.name.sql.editor
=
SQL-Editor
pref.page.name.sql.execute
=
SQL Ausf
\u
00FChrung
pref.page.name.sql.format
=
SQL Formatierung
productName
=
DBeaver
productSubTitle
=
Universeller Datenbankmanager
productTitle
=
DBeaver - Universeller Datenbankmanager
view.progress.title
=
Hintergrundprozesse
view.search.title
=
Suchen
view.templates.title
=
Vorlagen
plugins/org.jkiss.dbeaver.core.eclipse/plugin_de.properties
0 → 100644
浏览文件 @
5d7cb220
#Generated by ResourceBundle Editor (http://essiembre.github.io/eclipse-rbe/)
# DBeaver - Universal Database Manager
# Copyright (C) 2010-2016 Serge Rieder (serge@jkiss.org)
# Copyright (C) 2017 Karl Griesser (fullref@gmail.com)
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License (version 2)
# as published by the Free Software Foundation.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License along
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
menu.edit
=
Bearbeiten
menu.navigate
=
Navigation
pref.page.name.binary.editor
=
Bin
\u
00E4reditor
pref.page.name.confirmations
=
Best
\u
00E4tigungen
pref.page.name.connectionTypes
=
Verbindungstypen
pref.page.name.data.editor
=
Dateneditor
pref.page.name.data.formats
=
Datenformate
pref.page.name.db.configuration
=
DBeaver
pref.page.name.db.editors
=
Editoren
pref.page.name.db.ui
=
Interface
pref.page.name.drivers
=
Treiber
pref.page.name.meta
=
Metadaten
pref.page.name.navigator
=
Navigation
pref.page.name.query.manager
=
Abfragemanager
pref.page.name.resources
=
Ressourcen
pref.page.name.resultset
=
Ergebnismenge
pref.page.name.resultset.binaries
=
Bin
\u
00E4rdaten
pref.page.name.resultset.presentation
=
Darstellung
pref.page.name.sql.completion
=
SQL-Autovervollst
\u
00E4ndigen
pref.page.name.sql.editor
=
SQL-Editor
pref.page.name.sql.execute
=
SQL Ausf
\u
00FChrung
pref.page.name.sql.format
=
SQL Formatieren
pref.page.name.sql.templates
=
Vorlagen
plugins/org.jkiss.dbeaver.core/plugin_de.properties
0 → 100644
浏览文件 @
5d7cb220
此差异已折叠。
点击以展开。
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/core/CoreResources_de.properties
0 → 100644
浏览文件 @
5d7cb220
此差异已折叠。
点击以展开。
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/runtime/properties/PropertySourceAbstract.java
浏览文件 @
5d7cb220
...
...
@@ -108,6 +108,15 @@ public abstract class PropertySourceAbstract implements DBPPropertyManager, IPro
return
props
.
toArray
(
new
DBPPropertyDescriptor
[
props
.
size
()]);
}
public
DBPPropertyDescriptor
getProperty
(
String
id
)
{
for
(
DBPPropertyDescriptor
prop
:
props
)
{
if
(
prop
.
getId
().
equals
(
id
))
{
return
prop
;
}
}
return
null
;
}
@Override
public
boolean
isDirty
(
Object
id
)
{
return
false
;
...
...
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/actions/navigator/NavigatorHandlerObjectCreateBase.java
浏览文件 @
5d7cb220
...
...
@@ -114,7 +114,7 @@ public abstract class NavigatorHandlerObjectCreateBase extends NavigatorHandlerO
private
OBJECT_TYPE
newObject
;
public
CreateJob
(
CommandTarget
commandTarget
,
DBEObjectMaker
<
OBJECT_TYPE
,
CONTAINER_TYPE
>
objectMaker
,
CONTAINER_TYPE
parentObject
,
DBSObject
sourceObject
)
{
super
(
"Create new database object with "
+
objectMaker
);
super
(
"Create new database object with "
+
objectMaker
.
getClass
().
getSimpleName
()
);
this
.
commandTarget
=
commandTarget
;
this
.
objectMaker
=
objectMaker
;
this
.
parentObject
=
parentObject
;
...
...
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/editors/object/struct/AttributeEditPage.java
浏览文件 @
5d7cb220
...
...
@@ -33,6 +33,8 @@ import org.jkiss.dbeaver.DBException;
import
org.jkiss.dbeaver.model.*
;
import
org.jkiss.dbeaver.model.edit.DBECommandContext
;
import
org.jkiss.dbeaver.model.preferences.DBPPropertyDescriptor
;
import
org.jkiss.dbeaver.model.runtime.DBRProgressMonitor
;
import
org.jkiss.dbeaver.model.struct.DBSDataType
;
import
org.jkiss.dbeaver.model.struct.DBSEntityAttribute
;
import
org.jkiss.dbeaver.runtime.properties.ObjectPropertyDescriptor
;
import
org.jkiss.dbeaver.runtime.properties.PropertySourceAbstract
;
...
...
@@ -71,7 +73,7 @@ public class AttributeEditPage extends BaseObjectEditPage {
});
UIUtils
.
createControlLabel
(
propsGroup
,
"Properties"
).
setLayoutData
(
new
GridData
(
GridData
.
VERTICAL_ALIGN_BEGINNING
));
PropertyTreeViewer
propertyViewer
=
new
PropertyTreeViewer
(
propsGroup
,
SWT
.
BORDER
);
final
PropertyTreeViewer
propertyViewer
=
new
PropertyTreeViewer
(
propsGroup
,
SWT
.
BORDER
);
gd
=
new
GridData
(
GridData
.
FILL_BOTH
);
gd
.
widthHint
=
400
;
propertyViewer
.
getControl
().
setLayoutData
(
gd
);
...
...
@@ -82,7 +84,30 @@ public class AttributeEditPage extends BaseObjectEditPage {
}
});
PropertySourceAbstract
pc
=
new
PropertySourceEditable
(
commandContext
,
attribute
,
attribute
);
PropertySourceAbstract
pc
=
new
PropertySourceEditable
(
commandContext
,
attribute
,
attribute
)
{
@Override
public
void
setPropertyValue
(
@Nullable
DBRProgressMonitor
monitor
,
Object
editableValue
,
ObjectPropertyDescriptor
prop
,
Object
newValue
)
throws
IllegalArgumentException
{
super
.
setPropertyValue
(
monitor
,
editableValue
,
prop
,
newValue
);
/*
if (prop.getId().equals("dataType")) {
newValue = getPropertyValue(monitor, editableValue, prop);
if (newValue instanceof DBSDataType) {
DBPPropertyDescriptor lengthProp = getProperty("maxLength");
if (lengthProp instanceof ObjectPropertyDescriptor) {
DBPDataKind dataKind = ((DBSDataType) newValue).getDataKind();
if (dataKind == DBPDataKind.STRING) {
setPropertyValue(monitor, editableValue, (ObjectPropertyDescriptor) lengthProp, 100);
} else {
setPropertyValue(monitor, editableValue, (ObjectPropertyDescriptor) lengthProp, null);
}
propertyViewer.update(lengthProp, null);
}
}
}
*/
}
};
pc
.
collectProperties
();
for
(
DBPPropertyDescriptor
prop
:
pc
.
getProperties
())
{
if
(
prop
instanceof
ObjectPropertyDescriptor
)
{
...
...
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/editors/sql/syntax/SQLRuleManager.java
浏览文件 @
5d7cb220
...
...
@@ -232,9 +232,17 @@ public class SQLRuleManager extends RuleBasedScanner {
final
String
blockToggleString
=
dialect
.
getBlockToggleString
();
if
(!
CommonUtils
.
isEmpty
(
blockToggleString
))
{
WordRule
blockToggleRule
=
new
WordRule
(
getWordOrSymbolDetector
(
blockToggleString
),
Token
.
UNDEFINED
,
true
);
blockToggleRule
.
addWord
(
blockToggleString
,
blockToggleToken
);
rules
.
add
(
blockToggleRule
);
int
divPos
=
blockToggleString
.
indexOf
(
SQLConstants
.
KEYWORD_PATTERN_CHARS
);
if
(
divPos
!=
-
1
)
{
String
prefix
=
blockToggleString
.
substring
(
0
,
divPos
);
String
postfix
=
blockToggleString
.
substring
(
divPos
+
SQLConstants
.
KEYWORD_PATTERN_CHARS
.
length
());
WordPatternRule
blockToggleRule
=
new
WordPatternRule
(
new
SQLWordDetector
(),
prefix
,
postfix
,
blockToggleToken
);
rules
.
add
(
blockToggleRule
);
}
else
{
WordRule
blockToggleRule
=
new
WordRule
(
getWordOrSymbolDetector
(
blockToggleString
),
Token
.
UNDEFINED
,
true
);
blockToggleRule
.
addWord
(
blockToggleString
,
blockToggleToken
);
rules
.
add
(
blockToggleRule
);
}
}
// Parameter rule
...
...
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/properties/PropertyTreeViewer.java
浏览文件 @
5d7cb220
...
...
@@ -766,14 +766,19 @@ public class PropertyTreeViewer extends TreeViewer {
public
String
getToolTipText
(
Object
obj
)
{
if
(!(
obj
instanceof
TreeNode
))
{
return
""
;
//$NON-NLS-1$
return
null
;
//$NON-NLS-1$
}
TreeNode
node
=
(
TreeNode
)
obj
;
String
toolTip
;
if
(
node
.
category
!=
null
)
{
return
node
.
category
;
toolTip
=
node
.
category
;
}
else
{
return
isName
?
node
.
property
.
getDescription
()
:
getText
(
obj
,
1
);
toolTip
=
isName
?
node
.
property
.
getDescription
()
:
getText
(
obj
,
1
);
}
if
(
CommonUtils
.
isEmpty
(
toolTip
))
{
return
null
;
}
return
toolTip
;
}
@Override
...
...
plugins/org.jkiss.dbeaver.ext.exasol/plugin.properties
浏览文件 @
5d7cb220
此差异已折叠。
点击以展开。
plugins/org.jkiss.dbeaver.ext.exasol/plugin.xml
浏览文件 @
5d7cb220
...
...
@@ -329,7 +329,6 @@
<replace
provider=
"generic"
driver=
"exasol"
/>
<property
name=
"querytimeout"
value=
"600"
/>
<property
name=
"clientname"
value=
"DBeaver"
/>
<property
name=
"connecttimeout"
value=
"40"
/>
<property
name=
"@dbeaver-default-dataformat.type.timestamp.pattern"
value=
"yyyy-MM-dd-HH.mm.ss.ffffff"
/>
...
...
plugins/org.jkiss.dbeaver.ext.exasol/plugin_de.properties
0 → 100644
浏览文件 @
5d7cb220
#Generated by ResourceBundle Editor (http://essiembre.github.io/eclipse-rbe/)
# DBeaver - Universal Database Manager
# Copyright (C) 2010-2016 Serge Rieder (serge@jkiss.org)
# Copyright (C) 2017 Karl Griesser (fullref@gmail.com)
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License (version 2)
# as published by the Free Software Foundation.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License along
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
category.exasol.name
=
Exasol
dialog.connection.header
=
Exasol Verbindungseinstellungen
editor.source.ddl.description
=
DDL
editor.source.ddl.name
=
DDL
editor.source.declaration.description
=
Quellcode
editor.source.declaration.name
=
Quellcode
menu.tables.manage
=
Verwalten
meta.org.jkiss.dbeaver.ext.exasol.manager.security.ExasolConnectionGrant.connection.name
=
Verbindungsname
meta.org.jkiss.dbeaver.ext.exasol.manager.security.ExasolConnectionGrant.description.name
=
Beschreibung
meta.org.jkiss.dbeaver.ext.exasol.manager.security.ExasolRole.created.name
=
Angelegt am
meta.org.jkiss.dbeaver.ext.exasol.manager.security.ExasolRole.description.name
=
Beschreibung
meta.org.jkiss.dbeaver.ext.exasol.manager.security.ExasolRole.name.name
=
Rolenname
meta.org.jkiss.dbeaver.ext.exasol.manager.security.ExasolRole.priority.name
=
Priorit
\u
00E4t
meta.org.jkiss.dbeaver.ext.exasol.manager.security.ExasolRoleGrant.role.name
=
Rolenname
meta.org.jkiss.dbeaver.ext.exasol.manager.security.ExasolScriptGrant.procedure.name
=
Skript
meta.org.jkiss.dbeaver.ext.exasol.manager.security.ExasolSystemGrant.systemPrivilege.name
=
Name des Rechtes
meta.org.jkiss.dbeaver.ext.exasol.manager.security.ExasolTableGrant.table.name
=
Tabelle
meta.org.jkiss.dbeaver.ext.exasol.manager.security.ExasolUser.created.name
=
Angelegt am
meta.org.jkiss.dbeaver.ext.exasol.manager.security.ExasolUser.description.name
=
Beschreibung
meta.org.jkiss.dbeaver.ext.exasol.manager.security.ExasolUser.name.name
=
Benutzername
meta.org.jkiss.dbeaver.ext.exasol.manager.security.ExasolUser.password.name
=
Passwort-Hash
meta.org.jkiss.dbeaver.ext.exasol.manager.security.ExasolUser.priority.name
=
Priorit
\u
00E4t
meta.org.jkiss.dbeaver.ext.exasol.manager.security.ExasolViewGrant.view.name
=
View
meta.org.jkiss.dbeaver.ext.exasol.model.ExasolConnection.created.name
=
Angelegt am
meta.org.jkiss.dbeaver.ext.exasol.model.ExasolConnection.description.name
=
Beschreibung
meta.org.jkiss.dbeaver.ext.exasol.model.ExasolConnection.name.name
=
Verbindungsname
meta.org.jkiss.dbeaver.ext.exasol.model.ExasolConnection.userName.name
=
Benutzername
meta.org.jkiss.dbeaver.ext.exasol.model.ExasolSchema.createTime.name
=
Angelegt am
meta.org.jkiss.dbeaver.ext.exasol.model.ExasolSchema.description.name
=
Beschreibung
meta.org.jkiss.dbeaver.ext.exasol.model.ExasolSchema.name.name
=
Schemaname
meta.org.jkiss.dbeaver.ext.exasol.model.ExasolSchema.owner.name
=
Besitzer
meta.org.jkiss.dbeaver.ext.exasol.model.ExasolSchema.sql.name
=
Definition
meta.org.jkiss.dbeaver.ext.exasol.model.ExasolScript.createTime.name
=
Angelegt am
meta.org.jkiss.dbeaver.ext.exasol.model.ExasolScript.creationTime.name
=
Angelegt am
meta.org.jkiss.dbeaver.ext.exasol.model.ExasolScript.description.name
=
Beschreibung
meta.org.jkiss.dbeaver.ext.exasol.model.ExasolScript.language.name
=
Programmiersprache
meta.org.jkiss.dbeaver.ext.exasol.model.ExasolScript.name.name
=
Skriptname
meta.org.jkiss.dbeaver.ext.exasol.model.ExasolScript.owner.name
=
Besitzer
meta.org.jkiss.dbeaver.ext.exasol.model.ExasolScript.resultType.name
=
Ergebnistyp des Skripts
meta.org.jkiss.dbeaver.ext.exasol.model.ExasolScript.type.name
=
Skripttyp (Scalar, Set, Null)
meta.org.jkiss.dbeaver.ext.exasol.model.ExasolTable.compressedsize.name
=
komprimierte Gr
\u
00F6
\u
00DFe
meta.org.jkiss.dbeaver.ext.exasol.model.ExasolTable.createTime.name
=
Angelegt am
meta.org.jkiss.dbeaver.ext.exasol.model.ExasolTable.deletePercentage.name
=
Prozent gel
\u
00F6schte S
\u
00E4tze
meta.org.jkiss.dbeaver.ext.exasol.model.ExasolTable.description.name
=
Tabellenbeschreibung
meta.org.jkiss.dbeaver.ext.exasol.model.ExasolTable.lastCommit.name
=
Letzte Transaktion
meta.org.jkiss.dbeaver.ext.exasol.model.ExasolTable.rawsize.name
=
Unkomprimierte Gr
\u
00F6
\u
00DFe
meta.org.jkiss.dbeaver.ext.exasol.model.ExasolTableBase.compressedsize.name
=
Komprimierte Gr
\u
00F6
\u
00DFe
meta.org.jkiss.dbeaver.ext.exasol.model.ExasolTableBase.createTime.name
=
Angelegt am
meta.org.jkiss.dbeaver.ext.exasol.model.ExasolTableBase.deletePercentage.name
=
Prozent gel
\u
00F6schte S
\u
00E4tze
meta.org.jkiss.dbeaver.ext.exasol.model.ExasolTableBase.description.name
=
Beschreibung
meta.org.jkiss.dbeaver.ext.exasol.model.ExasolTableBase.name.name
=
Name
meta.org.jkiss.dbeaver.ext.exasol.model.ExasolTableBase.owner.name
=
Besitzer
meta.org.jkiss.dbeaver.ext.exasol.model.ExasolTableBase.rawsize.name
=
Unkomprimierte Gr
\u
00F6
\u
00DFe
meta.org.jkiss.dbeaver.ext.exasol.model.ExasolTableBase.schema.name
=
Schema
meta.org.jkiss.dbeaver.ext.exasol.model.ExasolTableColumn.dataType.name
=
Typ
meta.org.jkiss.dbeaver.ext.exasol.model.ExasolTableColumn.description.name
=
Beschreibung
meta.org.jkiss.dbeaver.ext.exasol.model.ExasolTableColumn.distKey.name
=
Teil des Verteilungsschl
\u
00FCssels
meta.org.jkiss.dbeaver.ext.exasol.model.ExasolTableColumn.identity.name
=
Identity Value
meta.org.jkiss.dbeaver.ext.exasol.model.ExasolTableColumn.identityValue.name
=
Aktueller Wert der Auto-Increment Spalte
meta.org.jkiss.dbeaver.ext.exasol.model.ExasolTableColumn.inUniqueKey.name
=
Schl
\u
00FCssel
meta.org.jkiss.dbeaver.ext.exasol.model.ExasolTableColumn.isDistKey.name
=
Teil des Verteilungsschl
\u
00FCssels
meta.org.jkiss.dbeaver.ext.exasol.model.ExasolTableColumn.keySeq.name
=
Key Seq
meta.org.jkiss.dbeaver.ext.exasol.model.ExasolTableColumn.owner.name
=
Tabelle
meta.org.jkiss.dbeaver.ext.exasol.model.ExasolTableColumn.status.name
=
Status
meta.org.jkiss.dbeaver.ext.exasol.model.ExasolTableColumn.stringLength.name
=
Zeichenl
\u
00E4nge
meta.org.jkiss.dbeaver.ext.exasol.model.ExasolTableForeignKey.enabled.name
=
Eingeschaltet
meta.org.jkiss.dbeaver.ext.exasol.model.ExasolTableForeignKey.referencedConstraint.name
=
Referenced Constraint
meta.org.jkiss.dbeaver.ext.exasol.model.ExasolTableForeignKey.referencedTable.name
=
referenzierte Tabelle
meta.org.jkiss.dbeaver.ext.exasol.model.ExasolTableUniqueKey.constraintType.name
=
Constraint Type
meta.org.jkiss.dbeaver.ext.exasol.model.ExasolTableUniqueKey.description.name
=
PK Beschreibung
meta.org.jkiss.dbeaver.ext.exasol.model.ExasolTableUniqueKey.enabled.name
=
Eingeschaltet
meta.org.jkiss.dbeaver.ext.exasol.model.ExasolTableUniqueKey.owner.name
=
PK Besitzer
meta.org.jkiss.dbeaver.ext.exasol.model.ExasolUser.description.name
=
Benutzerbeschreibung
meta.org.jkiss.dbeaver.ext.exasol.model.ExasolUser.name.name
=
Benutzername
meta.org.jkiss.dbeaver.ext.exasol.model.ExasolView.description.name
=
View Beschreibung
meta.org.jkiss.dbeaver.ext.exasol.model.ExasolView.owner.name
=
Besitzer
meta.org.jkiss.dbeaver.ext.exasol.model.ExasolView.text.name
=
SQL Definition
meta.org.jkiss.dbeaver.ext.exasol.model.ExasolVirtualSchema.adapterNotes.name
=
Adapter-Anmerkungen
meta.org.jkiss.dbeaver.ext.exasol.model.ExasolVirtualSchema.adapterScriptName.name
=
Adapterskript Name
meta.org.jkiss.dbeaver.ext.exasol.model.ExasolVirtualSchema.adapterScriptSchema.name
=
Adapterskript Schema
meta.org.jkiss.dbeaver.ext.exasol.model.ExasolVirtualSchema.lastRefresh.name
=
Letzer Aktualisierung
meta.org.jkiss.dbeaver.ext.exasol.model.ExasolVirtualSchema.refreshBy.name
=
Aktualisiert durch
meta.org.jkiss.dbeaver.ext.exasol.model.ExasolVirtualSchemaParameter.name.name
=
Property Name
meta.org.jkiss.dbeaver.ext.exasol.model.ExasolVirtualSchemaParameter.value.name
=
Property Wert
meta.org.jkiss.dbeaver.ext.exasol.model.app.ExasolServerSession.activity.name
=
Aktivit
\u
00E4t
meta.org.jkiss.dbeaver.ext.exasol.model.app.ExasolServerSession.client.name
=
Client Name
meta.org.jkiss.dbeaver.ext.exasol.model.app.ExasolServerSession.commandName.name
=
Befehl
meta.org.jkiss.dbeaver.ext.exasol.model.app.ExasolServerSession.driver.name
=
Treiber
meta.org.jkiss.dbeaver.ext.exasol.model.app.ExasolServerSession.duration.name
=
Dauer
meta.org.jkiss.dbeaver.ext.exasol.model.app.ExasolServerSession.encrypted.name
=
Verschl
\u
00FCsselt
meta.org.jkiss.dbeaver.ext.exasol.model.app.ExasolServerSession.host.name
=
Hostname
meta.org.jkiss.dbeaver.ext.exasol.model.app.ExasolServerSession.loginTime.name
=
Loginzeitpunkt
meta.org.jkiss.dbeaver.ext.exasol.model.app.ExasolServerSession.nice.name
=
Nice Wert
meta.org.jkiss.dbeaver.ext.exasol.model.app.ExasolServerSession.osName.name
=
Betriebsystemname
meta.org.jkiss.dbeaver.ext.exasol.model.app.ExasolServerSession.osUser.name
=
Betriebsystem-Benutzer
meta.org.jkiss.dbeaver.ext.exasol.model.app.ExasolServerSession.priority.name
=
Priorit
\u
00E4t
meta.org.jkiss.dbeaver.ext.exasol.model.app.ExasolServerSession.resources.name
=
Ress %
meta.org.jkiss.dbeaver.ext.exasol.model.app.ExasolServerSession.scopeSchema.name
=
Schema
meta.org.jkiss.dbeaver.ext.exasol.model.app.ExasolServerSession.userName.name
=
Benutzername
meta.org.jkiss.dbeaver.ext.exasol.model.plan.ExasolPlanNode.commandClass.name
=
Befehlsklasse
meta.org.jkiss.dbeaver.ext.exasol.model.plan.ExasolPlanNode.commandName.name
=
Befehl
meta.org.jkiss.dbeaver.ext.exasol.model.plan.ExasolPlanNode.duration.name
=
Dauer in S
meta.org.jkiss.dbeaver.ext.exasol.model.plan.ExasolPlanNode.objectName.name
=
Objektname
meta.org.jkiss.dbeaver.ext.exasol.model.plan.ExasolPlanNode.objectRows.name
=
Objektzeilen
meta.org.jkiss.dbeaver.ext.exasol.model.plan.ExasolPlanNode.objectSchema.name
=
Objektschema
meta.org.jkiss.dbeaver.ext.exasol.model.plan.ExasolPlanNode.outRows.name
=
Ausgabezeilen
tool.org.jkiss.dbeaver.ext.exasol.database.reorg.name
=
Datenbank Reorganisieren
tool.org.jkiss.dbeaver.ext.exasol.table.export.name
=
Tabelle(n) exportieren
tool.org.jkiss.dbeaver.ext.exasol.table.import.name
=
Tabelle(n) importieren
tool.org.jkiss.dbeaver.ext.exasol.table.reorg.name
=
Tabellenreorg ...
tool.org.jkiss.dbeaver.ext.exasol.table.truncate.name
=
Leeren ...
tree.administer.node.name
=
Administrieren
tree.check_constraint_columns.node.name
=
Spalten
tree.column.node.name
=
Spalte
tree.columns.node.name
=
Spalten
tree.connection.node.name
=
Verbindung
tree.connections.node.name
=
Verbindungen
tree.constraint.node.name
=
Prim
\u
00E4rschl
\u
00FCssel
tree.constraint_columns.node.name
=
Spalten
tree.constraints.node.name
=
Prim
\u
00E4rschl
\u
00FCssel
tree.container.node.name
=
Kontainer
tree.containers.node.name
=
Kontainer
tree.databaseauth.node.name
=
Datenbankberechtigungen
tree.foreign_key.node.name
=
Fremdschl
\u
00FCssel
tree.foreign_key_columns.node.name
=
Fremdschl
\u
00FCsselspalten
tree.foreign_keys.node.name
=
Fremdschl
\u
00FCssel
tree.function.node.name
=
Funktion
tree.functions.node.name
=
Funktionen
tree.functionsauths.node.name
=
Funktionsberechtigungen
tree.global_metadata.node.name
=
Globale Metadaten
tree.procedure.node.name
=
Prozedur
tree.procedures.node.name
=
Prozeduren
tree.proceduresauths.node.name
=
Prozedurberechtigungen
tree.reference_key.node.name
=
Referenz
tree.references.node.name
=
Referenzen
tree.remoteserver.node.name
=
Remote Server
tree.remoteservers.node.name
=
Remote Servers
tree.role.node.name
=
Rolle
tree.roleauth.node.name
=
Berechtigung
tree.roleauths.node.name
=
Berechtigungen
tree.roles.node.name
=
Rollen
tree.schema.node.name
=
Schema
tree.schemas.node.name
=
Schemata
tree.schemasauths.node.name
=
Schema Berechtigungen
tree.script.node.name
=
Skript
tree.scripts.node.name
=
Skripte
tree.security.node.name
=
Sicherheit
tree.sessions.node.name
=
Sessions
tree.sysgrant.node.name
=
Systemberechtigungen
tree.system_info.node.name
=
Systeminformationen
tree.table.node.name
=
Tabelle
tree.tables.node.name
=
Tabellen
tree.user.node.name
=
Benutzer
tree.userauth.node.name
=
Berechtigung
tree.userauths.node.name
=
Berechtigungen
tree.users.node.name
=
Benutzer
tree.view.node.name
=
View
tree.viewdep.node.name
=
Abh
\u
00E4ngigkeit
tree.viewdeps.node.name
=
Abh
\u
00E4ngigkeiten
tree.views.node.name
=
Views
tree.viewsauths.node.name
=
View Berechtigungen
tree.virtualschema.node.name
=
Virtuelles Schema
tree.virtualschemaparameters.node.name
=
Virtuelles Schema - Parameter
tree.virtualschemas.node.name
=
Virtuelle Schemata
plugins/org.jkiss.dbeaver.ext.exasol/src/org/jkiss/dbeaver/ext/exasol/ExasolDataSourceProvider.java
浏览文件 @
5d7cb220
...
...
@@ -18,17 +18,22 @@
*/
package
org.jkiss.dbeaver.ext.exasol
;
import
org.eclipse.core.runtime.Platform
;
import
org.jkiss.code.NotNull
;
import
org.jkiss.dbeaver.DBException
;
import
org.jkiss.dbeaver.ext.exasol.model.ExasolDataSource
;
import
org.jkiss.dbeaver.model.DBPDataSource
;
import
org.jkiss.dbeaver.model.DBPDataSourceContainer
;
import
org.jkiss.dbeaver.model.DBUtils
;
import
org.jkiss.dbeaver.model.connection.DBPConnectionConfiguration
;
import
org.jkiss.dbeaver.model.connection.DBPDriver
;
import
org.jkiss.dbeaver.model.exec.DBCException
;
import
org.jkiss.dbeaver.model.impl.jdbc.JDBCDataSourceProvider
;
import
org.jkiss.dbeaver.model.runtime.DBRProgressMonitor
;
import
org.jkiss.dbeaver.utils.GeneralUtils
;
import
org.jkiss.utils.CommonUtils
;
import
java.sql.Connection
;
import
java.util.HashMap
;
import
java.util.Map
;
...
...
@@ -61,6 +66,7 @@ public class ExasolDataSourceProvider extends JDBCDataSourceProvider {
return
FEATURE_SCHEMAS
;
}
@Override
public
String
getConnectionURL
(
DBPDriver
driver
,
DBPConnectionConfiguration
connectionInfo
)
{
//Default Port
...
...
@@ -76,17 +82,27 @@ public class ExasolDataSourceProvider extends JDBCDataSourceProvider {
//check if we got an backup host list
String
backupHostList
=
connectionInfo
.
getProviderProperty
(
ExasolConstants
.
DRV_BACKUP_HOST_LIST
);
if
(
backupHostList
!=
null
)
if
(
backupHostList
!=
null
&&
backupHostList
!=
""
)
url
.
append
(
","
).
append
(
backupHostList
).
append
(
port
);
if
(!
url
.
toString
().
toUpperCase
().
contains
(
"CLIENTNAME"
))
{
String
clientName
=
"DBeaver"
;
// Client info can only be provided in the url with the exasol driver
String
clientName
=
Platform
.
getProduct
().
getName
();
Object
propClientName
=
properties
.
get
(
ExasolConstants
.
DRV_CLIENT_NAME
);
if
(
propClientName
!=
null
)
clientName
=
propClientName
.
toString
();
url
.
append
(
";clientname="
).
append
(
clientName
);
}
if
(!
url
.
toString
().
toUpperCase
().
contains
(
"CLIENTVERSION"
))
{
String
clientVersion
=
Platform
.
getProduct
().
getDefiningBundle
().
getVersion
().
toString
();
Object
propClientName
=
properties
.
get
(
ExasolConstants
.
DRV_CLIENT_VERSION
);
if
(
propClientName
!=
null
)
clientVersion
=
propClientName
.
toString
();
url
.
append
(
";clientversion="
).
append
(
clientVersion
);
}
Object
querytimeout
=
properties
.
get
(
ExasolConstants
.
DRV_QUERYTIMEOUT
);
if
(
querytimeout
!=
null
)
url
.
append
(
";"
).
append
(
ExasolConstants
.
DRV_QUERYTIMEOUT
).
append
(
"="
).
append
(
querytimeout
);
...
...
plugins/org.jkiss.dbeaver.ext.exasol/src/org/jkiss/dbeaver/ext/exasol/ExasolResources_de.properties
0 → 100644
浏览文件 @
5d7cb220
#Generated by ResourceBundle Editor (http://essiembre.github.io/eclipse-rbe/)
# DBeaver - Universal Database Manager
# Copyright (C) 2010-2016 Serge Rieder (serge@jkiss.org)
# Copyright (C) 2017 Karl Griesser (fullref@gmail.com)
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License (version 2)
# as published by the Free Software Foundation.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License along
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
dialog_connection_password
=
Passwort
dialog_connection_port
=
Port
dialog_connection_user_name
=
Benutzername
dialog_table_open_output_directory
=
Ausgabeverzeichnis
dialog_table_tools_column_heading
=
Spalten
\u
00FCberschriften?
dialog_table_tools_column_sep
=
Spaltentrennzeichen
dialog_table_tools_encoding
=
Zeichenkodierung
dialog_table_tools_export_compress
=
Dateien komprimieren?
dialog_table_tools_export_title
=
Export auf CSV-Datei
dialog_table_tools_file_template
=
Dateinamen-Vorlage
dialog_table_tools_import_title
=
Aus CSV-Datei importieren
dialog_table_tools_options
=
Optionen
dialog_table_tools_progress
=
Fortschritt
dialog_table_tools_result
=
Ergebnis
dialog_table_tools_row_sep
=
Zeilentrennzeichen
dialog_table_tools_string_sep
=
Zeichentrenneichen
dialog_table_tools_string_sep_mode
=
Zeichentrennzeichen Verwendungsart
dialog_table_tools_success_title
=
Erfolg
editors_exasol_session_editor_action_kill
=
Verbindung terminieren
editors_exasol_session_editor_confirm_action
=
{0} "{1}". Sind Sie sicher?
editors_exasol_session_editor_title_kill_session
=
Verbindung terminieren
editors_exasol_session_editor_title_kill_session_statement
=
Befehl terminieren
plugins/org.jkiss.dbeaver.ext.exasol/src/org/jkiss/dbeaver/ext/exasol/model/ExasolConnection.java
浏览文件 @
5d7cb220
...
...
@@ -98,7 +98,7 @@ public class ExasolConnection
}
@Override
public
DBP
DataSource
getDataSource
()
public
Exasol
DataSource
getDataSource
()
{
return
this
.
dataSource
;
}
...
...
plugins/org.jkiss.dbeaver.ext.exasol/src/org/jkiss/dbeaver/ext/exasol/model/ExasolDataSource.java
浏览文件 @
5d7cb220
...
...
@@ -19,11 +19,12 @@
package
org.jkiss.dbeaver.ext.exasol.model
;
import
org.eclipse.core.runtime.IAdaptable
;
import
org.eclipse.core.runtime.Platform
;
import
org.jkiss.code.NotNull
;
import
org.jkiss.code.Nullable
;
import
org.jkiss.dbeaver.DBException
;
import
org.jkiss.dbeaver.Log
;
import
org.jkiss.dbeaver.ext.exasol.ExasolConstants
;
import
org.jkiss.dbeaver.ext.exasol.ExasolDataSourceProvider
;
import
org.jkiss.dbeaver.ext.exasol.ExasolSQLDialect
;
import
org.jkiss.dbeaver.ext.exasol.manager.security.ExasolBaseObjectGrant
;
...
...
@@ -38,6 +39,7 @@ import org.jkiss.dbeaver.model.DBPDataSourceInfo;
import
org.jkiss.dbeaver.model.DBPErrorAssistant
;
import
org.jkiss.dbeaver.model.DBUtils
;
import
org.jkiss.dbeaver.model.connection.DBPConnectionConfiguration
;
import
org.jkiss.dbeaver.model.connection.DBPDriver
;
import
org.jkiss.dbeaver.model.exec.DBCException
;
import
org.jkiss.dbeaver.model.exec.DBCExecutionPurpose
;
import
org.jkiss.dbeaver.model.exec.DBCSession
;
...
...
@@ -100,6 +102,8 @@ public class ExasolDataSource extends JDBCDataSource
private
DBSObjectCache
<
ExasolDataSource
,
ExasolConnectionGrant
>
connectionGrantCache
=
null
;
private
DBSObjectCache
<
ExasolDataSource
,
ExasolBaseObjectGrant
>
baseTableGrantCache
=
null
;
private
int
driverMajorVersion
=
5
;
private
String
activeSchemaName
;
...
...
@@ -137,6 +141,8 @@ public class ExasolDataSource extends JDBCDataSource
this
.
activeSchemaName
=
determineActiveSchema
(
session
);
this
.
exasolCurrentUserPrivileges
=
new
ExasolCurrentUserPrivileges
(
monitor
,
session
,
this
);
this
.
driverMajorVersion
=
session
.
getMetaData
().
getDriverMajorVersion
();
}
catch
(
SQLException
e
)
{
LOG
.
warn
(
"Error reading active schema"
,
e
);
...
...
@@ -253,6 +259,11 @@ public class ExasolDataSource extends JDBCDataSource
private
Pattern
ERROR_POSITION_PATTERN
=
Pattern
.
compile
(
"(.+)\\[line ([0-9]+), column ([0-9]+)\\]"
);
public
int
getDriverMajorVersion
()
{
return
this
.
driverMajorVersion
;
}
@Nullable
@Override
public
ErrorPosition
[]
getErrorPosition
(
@NotNull
DBCSession
session
,
@NotNull
String
query
,
@NotNull
Throwable
error
)
{
...
...
@@ -726,6 +737,54 @@ public class ExasolDataSource extends JDBCDataSource
return
null
;
}
}
@Override
public
String
getConnectionURL
(
DBPConnectionConfiguration
connectionInfo
)
{
//Default Port
String
port
=
":8563"
;
if
(!
CommonUtils
.
isEmpty
(
connectionInfo
.
getHostPort
()))
{
port
=
":"
+
connectionInfo
.
getHostPort
();
}
Map
<
String
,
String
>
properties
=
connectionInfo
.
getProperties
();
StringBuilder
url
=
new
StringBuilder
(
128
);
url
.
append
(
"jdbc:exa:"
).
append
(
connectionInfo
.
getHostName
()).
append
(
port
);
//check if we got an backup host list
String
backupHostList
=
connectionInfo
.
getProviderProperty
(
ExasolConstants
.
DRV_BACKUP_HOST_LIST
);
if
(
backupHostList
!=
null
&&
backupHostList
!=
""
)
url
.
append
(
","
).
append
(
backupHostList
).
append
(
port
);
if
(!
url
.
toString
().
toUpperCase
().
contains
(
"CLIENTNAME"
))
{
// Client info can only be provided in the url with the exasol driver
String
clientName
=
Platform
.
getProduct
().
getName
();
Object
propClientName
=
properties
.
get
(
ExasolConstants
.
DRV_CLIENT_NAME
);
if
(
propClientName
!=
null
)
clientName
=
propClientName
.
toString
();
url
.
append
(
";clientname="
).
append
(
clientName
);
}
if
(!
url
.
toString
().
toUpperCase
().
contains
(
"CLIENTVERSION"
))
{
String
clientVersion
=
Platform
.
getProduct
().
getDefiningBundle
().
getVersion
().
toString
();
Object
propClientName
=
properties
.
get
(
ExasolConstants
.
DRV_CLIENT_VERSION
);
if
(
propClientName
!=
null
)
clientVersion
=
propClientName
.
toString
();
url
.
append
(
";clientversion="
).
append
(
clientVersion
);
}
Object
querytimeout
=
properties
.
get
(
ExasolConstants
.
DRV_QUERYTIMEOUT
);
if
(
querytimeout
!=
null
)
url
.
append
(
";"
).
append
(
ExasolConstants
.
DRV_QUERYTIMEOUT
).
append
(
"="
).
append
(
querytimeout
);
Object
connecttimeout
=
properties
.
get
(
ExasolConstants
.
DRV_CONNECT_TIMEOUT
);
if
(
connecttimeout
!=
null
)
url
.
append
(
";"
).
append
(
ExasolConstants
.
DRV_CONNECT_TIMEOUT
).
append
(
"="
).
append
(
connecttimeout
);
return
url
.
toString
();
}
@Override
public
DBSDataType
getLocalDataType
(
String
typeName
)
...
...
@@ -747,7 +806,7 @@ public class ExasolDataSource extends JDBCDataSource
plan
.
explain
(
session
);
return
plan
;
}
public
DBSObjectCache
<
ExasolDataSource
,
ExasolDataType
>
getDataTypeCache
()
{
return
dataTypeCache
;
...
...
plugins/org.jkiss.dbeaver.ext.exasol/src/org/jkiss/dbeaver/ext/exasol/model/ExasolTableColumn.java
浏览文件 @
5d7cb220
...
...
@@ -60,14 +60,16 @@ public class ExasolTableColumn extends JDBCTableColumn<ExasolTableBase>
public
ExasolTableColumn
(
DBRProgressMonitor
monitor
,
ExasolTableBase
tableBase
,
ResultSet
dbResult
)
throws
DBException
{
super
(
tableBase
,
true
);
this
.
formatType
=
JDBCUtils
.
safeGetString
(
dbResult
,
"COLUMN_TYPE"
);
setName
(
JDBCUtils
.
safeGetString
(
dbResult
,
"COLUMN_NAME"
));
setOrdinalPosition
(
JDBCUtils
.
safeGetInt
(
dbResult
,
"ORDINAL_POSITION"
));
setRequired
(
JDBCUtils
.
safeGetBoolean
(
dbResult
,
"COLUMN_IS_NULLABLE"
));
setRequired
(
!
JDBCUtils
.
safeGetBoolean
(
dbResult
,
"COLUMN_IS_NULLABLE"
));
setDefaultValue
(
JDBCUtils
.
safeGetString
(
dbResult
,
"COLUMN_DEF"
));
setMaxLength
(
JDBCUtils
.
safeGetInt
(
dbResult
,
"COLUMN_SIZE"
));
setScale
(
JDBCUtils
.
safeGetInt
(
dbResult
,
"DECIMAL_DIGITS"
));
this
.
isInDistKey
=
JDBCUtils
.
safeGetBoolean
(
dbResult
,
"COLUMN_IS_DISTRIBUTION_KEY"
);
this
.
identity
=
JDBCUtils
.
safeGetInteger
(
dbResult
,
"COLUMN_IDENTITY"
)
==
null
?
false
:
true
;
...
...
@@ -75,6 +77,20 @@ public class ExasolTableColumn extends JDBCTableColumn<ExasolTableBase>
this
.
identityValue
=
JDBCUtils
.
safeGetBigDecimal
(
dbResult
,
"COLUMN_IDENTITY"
);
this
.
remarks
=
JDBCUtils
.
safeGetString
(
dbResult
,
"COLUMN_COMMENT"
);
this
.
dataType
=
tableBase
.
getDataSource
().
getDataType
(
monitor
,
JDBCUtils
.
safeGetString
(
dbResult
,
"TYPE_NAME"
));
// drivers > 5 have the issue that an cast from decimal without scale is made to matching integer in sql
// so meta data queries have to handle this case
if
(
tableBase
.
getDataSource
().
getDriverMajorVersion
()
>
5
&&
this
.
dataType
.
getName
().
equals
(
"DECIMAL"
)
&&
super
.
getScale
()
==
0
)
{
if
(
super
.
getMaxLength
()
<=
4
)
{
this
.
dataType
=
tableBase
.
getDataSource
().
getDataType
(
monitor
,
"SMALLINT"
);
}
else
if
(
super
.
getMaxLength
()
>
4
&&
super
.
getMaxLength
()
<=
9
)
{
this
.
dataType
=
tableBase
.
getDataSource
().
getDataType
(
monitor
,
"INTEGER"
);
}
else
if
(
super
.
getMaxLength
()
>
9
&&
super
.
getMaxLength
()
<=
18
)
{
this
.
dataType
=
tableBase
.
getDataSource
().
getDataType
(
monitor
,
"BIGINT"
);
}
}
this
.
changed
=
true
;
...
...
plugins/org.jkiss.dbeaver.ext.postgresql/src/org/jkiss/dbeaver/ext/postgresql/edit/PostgreTableColumnManager.java
浏览文件 @
5d7cb220
...
...
@@ -33,6 +33,8 @@ import org.jkiss.dbeaver.model.impl.sql.edit.struct.SQLTableColumnManager;
import
org.jkiss.dbeaver.model.runtime.DBRProgressMonitor
;
import
org.jkiss.dbeaver.model.struct.DBSDataType
;
import
org.jkiss.dbeaver.model.struct.DBSObject
;
import
org.jkiss.dbeaver.ui.UITask
;
import
org.jkiss.dbeaver.ui.editors.object.struct.AttributeEditPage
;
import
org.jkiss.utils.CommonUtils
;
import
java.sql.Types
;
...
...
@@ -112,17 +114,28 @@ public class PostgreTableColumnManager extends SQLTableColumnManager<PostgreTabl
}
@Override
protected
PostgreTableColumn
createDatabaseObject
(
DBRProgressMonitor
monitor
,
DBECommandContext
context
,
PostgreTableBase
parent
,
Object
copyFrom
)
protected
PostgreTableColumn
createDatabaseObject
(
final
DBRProgressMonitor
monitor
,
final
DBECommandContext
context
,
final
PostgreTableBase
parent
,
Object
copyFrom
)
{
DBSDataType
columnType
=
findBestDataType
(
parent
.
getDataSource
(),
"varchar"
);
//$NON-NLS-1$
final
PostgreTableColumn
column
=
new
PostgreTableColumn
(
parent
);
column
.
setName
(
getNewColumnName
(
monitor
,
context
,
parent
));
final
PostgreDataType
dataType
=
parent
.
getDatabase
().
getDataType
(
PostgreOid
.
VARCHAR
);
column
.
setDataType
(
dataType
);
//$NON-NLS-1$
column
.
setMaxLength
(
columnType
!=
null
&&
columnType
.
getDataKind
()
==
DBPDataKind
.
STRING
?
100
:
0
);
column
.
setOrdinalPosition
(-
1
);
return
column
;
return
new
UITask
<
PostgreTableColumn
>()
{
@Override
protected
PostgreTableColumn
runTask
()
{
final
PostgreTableColumn
column
=
new
PostgreTableColumn
(
parent
);
column
.
setName
(
getNewColumnName
(
monitor
,
context
,
parent
));
final
PostgreDataType
dataType
=
parent
.
getDatabase
().
getDataType
(
PostgreOid
.
VARCHAR
);
column
.
setDataType
(
dataType
);
//$NON-NLS-1$
column
.
setOrdinalPosition
(-
1
);
AttributeEditPage
page
=
new
AttributeEditPage
(
null
,
column
);
if
(!
page
.
edit
())
{
return
null
;
}
if
(
column
.
getDataKind
()
==
DBPDataKind
.
STRING
&&
!
column
.
getTypeName
().
contains
(
"text"
)
&&
column
.
getMaxLength
()
<=
0
)
{
column
.
setMaxLength
(
100
);
}
return
column
;
}
}.
execute
();
}
@Override
...
...
plugins/org.jkiss.dbeaver.ext.postgresql/src/org/jkiss/dbeaver/ext/postgresql/model/PostgreDialect.java
浏览文件 @
5d7cb220
...
...
@@ -26,6 +26,7 @@ import org.jkiss.dbeaver.model.data.DBDBinaryFormatter;
import
org.jkiss.dbeaver.model.exec.jdbc.JDBCDatabaseMetaData
;
import
org.jkiss.dbeaver.model.impl.jdbc.JDBCDataSource
;
import
org.jkiss.dbeaver.model.impl.jdbc.JDBCSQLDialect
;
import
org.jkiss.dbeaver.model.sql.SQLConstants
;
import
java.util.Arrays
;
import
java.util.Collections
;
...
...
@@ -61,7 +62,12 @@ class PostgreDialect extends JDBCSQLDialect {
@Nullable
@Override
public
String
getBlockToggleString
()
{
return
"$$"
;
return
"$"
+
SQLConstants
.
KEYWORD_PATTERN_CHARS
+
"$"
;
}
@Override
public
String
[][]
getBlockBoundStrings
()
{
return
null
;
}
@Override
...
...
plugins/org.jkiss.dbeaver.lang/.classpath
浏览文件 @
5d7cb220
...
...
@@ -3,5 +3,6 @@
<classpathentry
kind=
"con"
path=
"org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"
/>
<classpathentry
kind=
"con"
path=
"org.eclipse.pde.core.requiredPlugins"
/>
<classpathentry
kind=
"src"
path=
"src"
/>
<classpathentry
kind=
"lib"
path=
"C:/temp/org.eclipse.jface.text_3.5.0.jar"
/>
<classpathentry
kind=
"output"
path=
"bin"
/>
</classpath>
plugins/org.jkiss.dbeaver.model/src/org/jkiss/dbeaver/model/sql/SQLConstants.java
浏览文件 @
5d7cb220
...
...
@@ -624,4 +624,5 @@ public class SQLConstants {
public
static
final
char
DEFAULT_PARAMETER_MARK
=
'?'
;
public
static
final
char
DEFAULT_PARAMETER_PREFIX
=
':'
;
public
static
final
String
DEFAULT_IDENTIFIER_QUOTE
=
"\""
;
public
static
final
String
KEYWORD_PATTERN_CHARS
=
"\\*\\"
;
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录