Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
suliangchun
dbeaver
提交
bffe03a4
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,发现更多精彩内容 >>
提交
bffe03a4
编写于
3月 09, 2021
作者:
S
Sebastian Drozdz
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Missing folder fixed after renaming plugin datavirtuality.core to datavirtuality
Former-commit-id:
b06c4914
上级
ae95c2b5
变更
15
隐藏空白更改
内联
并排
Showing
15 changed file
with
452 addition
and
17 deletion
+452
-17
plugins/org.jkiss.dbeaver.ext.datavirtuality.ui/src/org/jkiss/dbeaver/ext/datavirtuality/views/DataVirtualityConnectionPage.java
...xt/datavirtuality/views/DataVirtualityConnectionPage.java
+12
-17
plugins/org.jkiss.dbeaver.ext.datavirtuality/META-INF/MANIFEST.MF
...org.jkiss.dbeaver.ext.datavirtuality/META-INF/MANIFEST.MF
+15
-0
plugins/org.jkiss.dbeaver.ext.datavirtuality/OSGI-INF/l10n/bundle.properties
...beaver.ext.datavirtuality/OSGI-INF/l10n/bundle.properties
+4
-0
plugins/org.jkiss.dbeaver.ext.datavirtuality/build.properties
...ins/org.jkiss.dbeaver.ext.datavirtuality/build.properties
+7
-0
plugins/org.jkiss.dbeaver.ext.datavirtuality/icons/datavirtuality_icon.png
....dbeaver.ext.datavirtuality/icons/datavirtuality_icon.png
+0
-0
plugins/org.jkiss.dbeaver.ext.datavirtuality/icons/datavirtuality_icon@2x.png
...eaver.ext.datavirtuality/icons/datavirtuality_icon@2x.png
+0
-0
plugins/org.jkiss.dbeaver.ext.datavirtuality/icons/datavirtuality_icon_big.png
...aver.ext.datavirtuality/icons/datavirtuality_icon_big.png
+0
-0
plugins/org.jkiss.dbeaver.ext.datavirtuality/icons/datavirtuality_icon_big@2x.png
...r.ext.datavirtuality/icons/datavirtuality_icon_big@2x.png
+0
-0
plugins/org.jkiss.dbeaver.ext.datavirtuality/plugin.xml
plugins/org.jkiss.dbeaver.ext.datavirtuality/plugin.xml
+51
-0
plugins/org.jkiss.dbeaver.ext.datavirtuality/pom.xml
plugins/org.jkiss.dbeaver.ext.datavirtuality/pom.xml
+14
-0
plugins/org.jkiss.dbeaver.ext.datavirtuality/src/org/jkiss/dbeaver/ext/datavirtuality/DataVirtualityConstants.java
...s/dbeaver/ext/datavirtuality/DataVirtualityConstants.java
+30
-0
plugins/org.jkiss.dbeaver.ext.datavirtuality/src/org/jkiss/dbeaver/ext/datavirtuality/DataVirtualityDataSourceProvider.java
.../ext/datavirtuality/DataVirtualityDataSourceProvider.java
+97
-0
plugins/org.jkiss.dbeaver.ext.datavirtuality/src/org/jkiss/dbeaver/ext/datavirtuality/model/DataVirtualityDataSource.java
...er/ext/datavirtuality/model/DataVirtualityDataSource.java
+53
-0
plugins/org.jkiss.dbeaver.ext.datavirtuality/src/org/jkiss/dbeaver/ext/datavirtuality/model/DataVirtualityMetaModel.java
...ver/ext/datavirtuality/model/DataVirtualityMetaModel.java
+116
-0
plugins/org.jkiss.dbeaver.ext.datavirtuality/src/org/jkiss/dbeaver/ext/datavirtuality/model/DataVirtualitySQLDialect.java
...er/ext/datavirtuality/model/DataVirtualitySQLDialect.java
+53
-0
未找到文件。
plugins/org.jkiss.dbeaver.ext.datavirtuality.ui/src/org/jkiss/dbeaver/ext/datavirtuality/views/DataVirtualityConnectionPage.java
浏览文件 @
bffe03a4
...
...
@@ -36,8 +36,8 @@ import org.jkiss.dbeaver.ext.datavirtuality.DataVirtualityUIActivator;
import
org.jkiss.dbeaver.model.DBPDataSourceContainer
;
import
org.jkiss.dbeaver.model.connection.DBPConnectionConfiguration
;
import
org.jkiss.dbeaver.model.exec.*
;
import
org.jkiss.dbeaver.ui.ICompositeDialogPage
;
import
org.jkiss.dbeaver.ui.IDataSourceConnectionTester
;
import
org.jkiss.dbeaver.ui.IDialogPageProvider
;
import
org.jkiss.dbeaver.ui.UIUtils
;
import
org.jkiss.dbeaver.ui.dialogs.connection.ConnectionPageAbstract
;
import
org.jkiss.dbeaver.ui.dialogs.connection.DriverPropertiesDialogPage
;
...
...
@@ -52,8 +52,8 @@ import java.util.Locale;
/**
* DataVirtualityConnectionPage
*/
public
class
DataVirtualityConnectionPage
extends
ConnectionPageAbstract
implements
I
CompositeDialogPage
,
IDataSourceConnectionTester
{
public
class
DataVirtualityConnectionPage
extends
ConnectionPageAbstract
implements
I
DialogPageProvider
,
IDataSourceConnectionTester
{
private
static
final
Log
log
=
Log
.
getLog
(
DataVirtualityConnectionPage
.
class
);
private
Text
hostText
;
...
...
@@ -69,14 +69,12 @@ public class DataVirtualityConnectionPage extends ConnectionPageAbstract impleme
private
static
ImageDescriptor
logoImage
=
DataVirtualityUIActivator
.
getImageDescriptor
(
"icons/datavirtuality_logo.png"
);
//$NON-NLS-1$
@Override
public
void
dispose
()
{
public
void
dispose
()
{
super
.
dispose
();
}
@Override
public
void
createControl
(
Composite
composite
)
{
public
void
createControl
(
Composite
composite
)
{
setImageDescriptor
(
logoImage
);
Composite
control
=
new
Composite
(
composite
,
SWT
.
NONE
);
...
...
@@ -166,15 +164,13 @@ public class DataVirtualityConnectionPage extends ConnectionPageAbstract impleme
}
@Override
public
boolean
isComplete
()
{
public
boolean
isComplete
()
{
return
hostText
!=
null
&&
!
CommonUtils
.
isEmpty
(
hostText
.
getText
());
!
CommonUtils
.
isEmpty
(
hostText
.
getText
());
}
@Override
public
void
loadSettings
()
{
public
void
loadSettings
()
{
super
.
loadSettings
();
// Load values from new connection info
...
...
@@ -204,7 +200,7 @@ public class DataVirtualityConnectionPage extends ConnectionPageAbstract impleme
}
// TODO: need to fix for checkbox
if
(
sslCheckbox
!=
null
)
{
sslCheckbox
.
setSelection
(
CommonUtils
.
notEmpty
(
connectionInfo
.
getProviderProperty
(
DataVirtualityConstants
.
PROP_SSL
))
==
"mms"
?
true
:
false
);
sslCheckbox
.
setSelection
(
CommonUtils
.
notEmpty
(
connectionInfo
.
getProviderProperty
(
DataVirtualityConstants
.
PROP_SSL
))
.
equals
(
"mms"
)
?
true
:
false
);
}
if
(
usernameText
!=
null
)
{
usernameText
.
setText
(
CommonUtils
.
notEmpty
(
connectionInfo
.
getUserName
()));
...
...
@@ -215,8 +211,7 @@ public class DataVirtualityConnectionPage extends ConnectionPageAbstract impleme
}
@Override
public
void
saveSettings
(
DBPDataSourceContainer
dataSource
)
{
public
void
saveSettings
(
DBPDataSourceContainer
dataSource
)
{
DBPConnectionConfiguration
connectionInfo
=
dataSource
.
getConnectionConfiguration
();
if
(
hostText
!=
null
)
{
connectionInfo
.
setHostName
(
hostText
.
getText
().
trim
());
...
...
@@ -280,10 +275,10 @@ public class DataVirtualityConnectionPage extends ConnectionPageAbstract impleme
}
@Override
public
IDialogPage
[]
get
Sub
Pages
(
boolean
extrasOnly
,
boolean
forceCreate
)
public
IDialogPage
[]
get
Dialog
Pages
(
boolean
extrasOnly
,
boolean
forceCreate
)
{
return
new
IDialogPage
[]
{
new
DriverPropertiesDialogPage
(
this
)
new
DriverPropertiesDialogPage
(
this
)
};
}
...
...
plugins/org.jkiss.dbeaver.ext.datavirtuality/META-INF/MANIFEST.MF
0 → 100644
浏览文件 @
bffe03a4
Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %Bundle-Name
Bundle-SymbolicName: org.jkiss.dbeaver.ext.datavirtuality;singleton:=true
Bundle-Version: 1.0.0.qualifier
Bundle-Release-Date: 20200831
Bundle-Vendor: %Bundle-Vendor
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
Require-Bundle: org.jkiss.dbeaver.model,
org.jkiss.dbeaver.model.sql;visibility:=reexport,
org.jkiss.dbeaver.ext.generic;visibility:=reexport
Export-Package: org.jkiss.dbeaver.ext.datavirtuality,
org.jkiss.dbeaver.ext.datavirtuality.model
Bundle-Localization: OSGI-INF/l10n/bundle
Automatic-Module-Name: org.jkiss.dbeaver.ext.datavirtuality
plugins/org.jkiss.dbeaver.ext.datavirtuality/OSGI-INF/l10n/bundle.properties
0 → 100644
浏览文件 @
bffe03a4
Bundle-Vendor
=
JKISS
Bundle-Name
=
DBeaver Data Virtuality Extension core
datasource.datavirtuality.description
=
Data Virtualtiy datasource
plugins/org.jkiss.dbeaver.ext.datavirtuality/build.properties
0 → 100644
浏览文件 @
bffe03a4
source..
=
src/
output..
=
target/classes/
bin.includes
=
META-INF/,
\
.,
\
plugin.xml,
\
icons/,
\
OSGI-INF/
plugins/org.jkiss.dbeaver.ext.datavirtuality/icons/datavirtuality_icon.png
0 → 100644
浏览文件 @
bffe03a4
544 字节
plugins/org.jkiss.dbeaver.ext.datavirtuality/icons/datavirtuality_icon@2x.png
0 → 100644
浏览文件 @
bffe03a4
1.1 KB
plugins/org.jkiss.dbeaver.ext.datavirtuality/icons/datavirtuality_icon_big.png
0 → 100644
浏览文件 @
bffe03a4
2.3 KB
plugins/org.jkiss.dbeaver.ext.datavirtuality/icons/datavirtuality_icon_big@2x.png
0 → 100644
浏览文件 @
bffe03a4
4.6 KB
plugins/org.jkiss.dbeaver.ext.datavirtuality/plugin.xml
0 → 100644
浏览文件 @
bffe03a4
<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.2"?>
<plugin>
<extension
point=
"org.jkiss.dbeaver.generic.meta"
>
<meta
id=
"datavirtuality"
class=
"org.jkiss.dbeaver.ext.datavirtuality.model.DataVirtualityMetaModel"
driverClass=
"com.datavirtuality.dv.jdbc.Driver"
/>
</extension>
<extension
point=
"org.jkiss.dbeaver.dataSourceProvider"
>
<!-- Data Virtuality -->
<datasource
class=
"org.jkiss.dbeaver.ext.datavirtuality.DataVirtualityDataSourceProvider"
description=
"%datasource.datavirtuality.description"
id=
"datavirtuality"
parent=
"generic"
label=
"Data Virtuality"
icon=
"icons/datavirtuality_icon.png"
dialect=
"basic"
>
<drivers
managable=
"true"
>
<driver
id=
"datavirtuality_jdbc"
label=
"Data Virtuality"
class=
"com.datavirtuality.dv.jdbc.Driver"
icon=
"icons/datavirtuality_icon.png"
iconBig=
"icons/datavirtuality_icon_big.png"
sampleURL=
"jdbc:datavirtuality:{database}@mm://{host}:{port}"
defaultPort=
"31000"
defaultDatabase=
"datavirtuality"
defaultUser=
"admin"
defaultPassword=
"admin"
description=
"Data Virtuality JDBC driver"
webURL=
"https://https://datavirtuality.com/docs/"
categories=
"sql,analytic"
>
<file
type=
"jar"
path=
"C:\Users\admin\Downloads\datavirtuality-jdbc.jar"
/>
</driver>
</drivers>
</datasource>
</extension>
<extension
point=
"org.jkiss.dbeaver.sqlDialect"
>
<dialect
id=
"datavirtuality"
parent=
"generic"
class=
"org.jkiss.dbeaver.ext.datavirtuality.model.DataVirtualitySQLDialect"
label=
"Data Virtuality"
description=
"Data Virtuality SQL dialect."
icon=
"icons/datavirtuality_icon.png"
>
</dialect>
</extension>
</plugin>
plugins/org.jkiss.dbeaver.ext.datavirtuality/pom.xml
0 → 100644
浏览文件 @
bffe03a4
<?xml version="1.0" encoding="UTF-8"?>
<project
xsi:schemaLocation=
"http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
xmlns=
"http://maven.apache.org/POM/4.0.0"
xmlns:xsi=
"http://www.w3.org/2001/XMLSchema-instance"
>
<modelVersion>
4.0.0
</modelVersion>
<parent>
<groupId>
org.jkiss.dbeaver
</groupId>
<artifactId>
plugins
</artifactId>
<version>
1.0.0-SNAPSHOT
</version>
<relativePath>
../
</relativePath>
</parent>
<artifactId>
org.jkiss.dbeaver.ext.datavirtuality
</artifactId>
<version>
1.0.0-SNAPSHOT
</version>
<packaging>
eclipse-plugin
</packaging>
</project>
plugins/org.jkiss.dbeaver.ext.datavirtuality/src/org/jkiss/dbeaver/ext/datavirtuality/DataVirtualityConstants.java
0 → 100644
浏览文件 @
bffe03a4
/*
* DBeaver - Universal Database Manager
* Copyright (C) 2010-2020 DBeaver Corp and others
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package
org.jkiss.dbeaver.ext.datavirtuality
;
import
org.jkiss.dbeaver.model.DBConstants
;
/**
* DataVirtuality constants
*/
public
class
DataVirtualityConstants
{
public
static
final
String
PROP_SSL
=
DBConstants
.
INTERNAL_PROP_PREFIX
+
"ssl@"
;
public
static
final
String
DEFAULT_HOST_PREFIX
=
"localhost"
;
public
static
final
String
DEFAULT_DB_NAME
=
"datavirtuality"
;
}
plugins/org.jkiss.dbeaver.ext.datavirtuality/src/org/jkiss/dbeaver/ext/datavirtuality/DataVirtualityDataSourceProvider.java
0 → 100644
浏览文件 @
bffe03a4
/*
* DBeaver - Universal Database Manager
* Copyright (C) 2010-2020 DBeaver Corp and others
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package
org.jkiss.dbeaver.ext.datavirtuality
;
import
org.jkiss.code.NotNull
;
import
org.jkiss.dbeaver.DBException
;
import
org.jkiss.dbeaver.Log
;
import
org.jkiss.dbeaver.ext.datavirtuality.model.DataVirtualityDataSource
;
import
org.jkiss.dbeaver.ext.datavirtuality.model.DataVirtualityMetaModel
;
import
org.jkiss.dbeaver.model.DBPDataSource
;
import
org.jkiss.dbeaver.model.DBPDataSourceContainer
;
import
org.jkiss.dbeaver.model.app.DBPPlatform
;
import
org.jkiss.dbeaver.model.connection.DBPConnectionConfiguration
;
import
org.jkiss.dbeaver.model.connection.DBPDriver
;
import
org.jkiss.dbeaver.model.impl.jdbc.JDBCDataSourceProvider
;
import
org.jkiss.dbeaver.model.runtime.DBRProgressMonitor
;
import
org.jkiss.utils.CommonUtils
;
public
class
DataVirtualityDataSourceProvider
extends
JDBCDataSourceProvider
{
private
static
final
Log
log
=
Log
.
getLog
(
DataVirtualityDataSourceProvider
.
class
);
public
DataVirtualityDataSourceProvider
()
{
}
@Override
public
void
init
(
@NotNull
DBPPlatform
platform
)
{
}
@Override
public
long
getFeatures
()
{
return
FEATURE_SCHEMAS
;
}
@Override
public
String
getConnectionURL
(
DBPDriver
driver
,
DBPConnectionConfiguration
connectionInfo
)
{
StringBuilder
url
=
new
StringBuilder
();
url
.
append
(
"jdbc:datavirtuality:"
);
url
.
append
(
connectionInfo
.
getDatabaseName
());
url
.
append
(
"@"
);
if
(!
CommonUtils
.
isEmpty
(
connectionInfo
.
getProviderProperty
(
DataVirtualityConstants
.
PROP_SSL
)))
{
url
.
append
(
connectionInfo
.
getProviderProperty
(
DataVirtualityConstants
.
PROP_SSL
));
}
else
{
url
.
append
(
"mm"
);
}
url
.
append
(
"://"
);
url
.
append
(
connectionInfo
.
getHostName
());
if
(!
CommonUtils
.
isEmpty
(
connectionInfo
.
getHostPort
()))
{
url
.
append
(
":"
).
append
(
connectionInfo
.
getHostPort
());
}
log
.
debug
(
"getConnectionURL"
+
url
.
toString
());
return
url
.
toString
();
}
private
static
boolean
addParameter
(
StringBuilder
url
,
String
name
,
String
value
,
boolean
hasParam
)
{
if
(!
CommonUtils
.
isEmpty
(
value
))
{
if
(
hasParam
)
url
.
append
(
"&"
);
url
.
append
(
name
).
append
(
"="
).
append
(
value
);
return
true
;
}
return
hasParam
;
}
@NotNull
@Override
public
DBPDataSource
openDataSource
(
@NotNull
DBRProgressMonitor
monitor
,
@NotNull
DBPDataSourceContainer
container
)
throws
DBException
{
return
new
DataVirtualityDataSource
(
monitor
,
container
,
new
DataVirtualityMetaModel
());
}
}
plugins/org.jkiss.dbeaver.ext.datavirtuality/src/org/jkiss/dbeaver/ext/datavirtuality/model/DataVirtualityDataSource.java
0 → 100644
浏览文件 @
bffe03a4
/*
* DBeaver - Universal Database Manager
* Copyright (C) 2010-2020 DBeaver Corp and others
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package
org.jkiss.dbeaver.ext.datavirtuality.model
;
import
org.jkiss.dbeaver.DBException
;
import
org.jkiss.dbeaver.ext.generic.model.GenericDataSource
;
import
org.jkiss.dbeaver.ext.generic.model.GenericSQLDialect
;
import
org.jkiss.dbeaver.ext.datavirtuality.DataVirtualityConstants
;
import
org.jkiss.dbeaver.model.DBPDataSourceContainer
;
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.JDBCExecutionContext
;
import
org.jkiss.dbeaver.model.runtime.DBRProgressMonitor
;
import
org.jkiss.utils.CommonUtils
;
import
java.util.HashMap
;
import
java.util.Map
;
public
class
DataVirtualityDataSource
extends
GenericDataSource
{
public
DataVirtualityDataSource
(
DBRProgressMonitor
monitor
,
DBPDataSourceContainer
container
,
DataVirtualityMetaModel
metaModel
)
throws
DBException
{
super
(
monitor
,
container
,
metaModel
,
new
DataVirtualitySQLDialect
());
}
@Override
protected
Map
<
String
,
String
>
getInternalConnectionProperties
(
DBRProgressMonitor
monitor
,
DBPDriver
driver
,
JDBCExecutionContext
context
,
String
purpose
,
DBPConnectionConfiguration
connectionInfo
)
throws
DBCException
{
Map
<
String
,
String
>
props
=
new
HashMap
<>();
return
props
;
}
@Override
protected
boolean
isPopulateClientAppName
()
{
return
false
;
}
}
plugins/org.jkiss.dbeaver.ext.datavirtuality/src/org/jkiss/dbeaver/ext/datavirtuality/model/DataVirtualityMetaModel.java
0 → 100644
浏览文件 @
bffe03a4
/*
* DBeaver - Universal Database Manager
* Copyright (C) 2010-2020 DBeaver Corp and others
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package
org.jkiss.dbeaver.ext.datavirtuality.model
;
import
org.jkiss.dbeaver.DBException
;
import
org.jkiss.dbeaver.Log
;
import
org.jkiss.dbeaver.ext.generic.model.GenericDataSource
;
import
org.jkiss.dbeaver.ext.generic.model.GenericProcedure
;
import
org.jkiss.dbeaver.ext.generic.model.GenericTableBase
;
import
org.jkiss.dbeaver.ext.generic.model.GenericView
;
import
org.jkiss.dbeaver.ext.generic.model.meta.GenericMetaModel
;
import
org.jkiss.dbeaver.model.DBPDataSourceContainer
;
import
org.jkiss.dbeaver.model.DBPEvaluationContext
;
import
org.jkiss.dbeaver.model.DBUtils
;
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.runtime.DBRProgressMonitor
;
import
org.jkiss.dbeaver.model.struct.rdb.DBSProcedureType
;
import
java.sql.SQLException
;
import
java.util.Map
;
/**
* DataVirtualityMetaModel
*/
public
class
DataVirtualityMetaModel
extends
GenericMetaModel
{
private
static
final
Log
log
=
Log
.
getLog
(
DataVirtualityMetaModel
.
class
);
public
DataVirtualityMetaModel
()
{
super
();
}
@Override
public
GenericDataSource
createDataSourceImpl
(
DBRProgressMonitor
monitor
,
DBPDataSourceContainer
container
)
throws
DBException
{
return
new
DataVirtualityDataSource
(
monitor
,
container
,
this
);
}
@Override
public
boolean
supportsTableDDLSplit
(
GenericTableBase
sourceObject
)
{
return
false
;
}
@Override
public
String
getViewDDL
(
DBRProgressMonitor
monitor
,
GenericView
sourceObject
,
Map
<
String
,
Object
>
options
)
throws
DBException
{
GenericDataSource
dataSource
=
sourceObject
.
getDataSource
();
try
(
JDBCSession
session
=
DBUtils
.
openMetaSession
(
monitor
,
sourceObject
,
"Read DataVirtuality object DDL"
))
{
try
(
JDBCPreparedStatement
dbStat
=
session
.
prepareStatement
(
"SELECT definition FROM SYSADMIN.ViewDefinitions WHERE name ='"
+
sourceObject
.
getFullyQualifiedName
(
DBPEvaluationContext
.
DDL
)
+
"'"
))
{
try
(
JDBCResultSet
dbResult
=
dbStat
.
executeQuery
())
{
StringBuilder
sql
=
new
StringBuilder
();
while
(
dbResult
.
nextRow
())
{
sql
.
append
(
dbResult
.
getString
(
1
));
}
String
result
=
sql
.
toString
().
trim
();
while
(
result
.
endsWith
(
";"
))
{
result
=
result
.
substring
(
0
,
result
.
length
()
-
1
);
}
return
result
;
}
}
}
catch
(
SQLException
e
)
{
throw
new
DBException
(
e
,
dataSource
);
}
}
@Override
public
String
getProcedureDDL
(
DBRProgressMonitor
monitor
,
GenericProcedure
sourceObject
)
throws
DBException
{
GenericDataSource
dataSource
=
sourceObject
.
getDataSource
();
boolean
isFunction
=
sourceObject
.
getProcedureType
()
==
DBSProcedureType
.
FUNCTION
;
try
(
JDBCSession
session
=
DBUtils
.
openMetaSession
(
monitor
,
sourceObject
,
"Read DataVirtuality object DDL"
))
{
try
(
JDBCPreparedStatement
dbStat
=
session
.
prepareStatement
(
"SELECT definition FROM SYSADMIN.ProcDefinitions WHERE name ='"
+
sourceObject
.
getFullyQualifiedName
(
DBPEvaluationContext
.
DDL
)
+
"'"
))
{
try
(
JDBCResultSet
dbResult
=
dbStat
.
executeQuery
())
{
StringBuilder
sql
=
new
StringBuilder
();
while
(
dbResult
.
nextRow
())
{
sql
.
append
(
dbResult
.
getString
(
1
));
}
return
sql
.
toString
();
}
}
}
catch
(
SQLException
e
)
{
throw
new
DBException
(
e
,
dataSource
);
}
}
@Override
public
boolean
isTableCommentEditable
()
{
return
false
;
}
@Override
public
boolean
isTableColumnCommentEditable
()
{
return
false
;
}
}
plugins/org.jkiss.dbeaver.ext.datavirtuality/src/org/jkiss/dbeaver/ext/datavirtuality/model/DataVirtualitySQLDialect.java
0 → 100644
浏览文件 @
bffe03a4
/*
* DBeaver - Universal Database Manager
* Copyright (C) 2010-2020 DBeaver Corp and others
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package
org.jkiss.dbeaver.ext.datavirtuality.model
;
import
org.jkiss.code.NotNull
;
import
org.jkiss.code.Nullable
;
import
org.jkiss.dbeaver.ext.generic.model.GenericSQLDialect
;
import
org.jkiss.dbeaver.model.DBPDataSourceContainer
;
import
org.jkiss.dbeaver.model.exec.jdbc.JDBCDatabaseMetaData
;
import
org.jkiss.dbeaver.model.impl.jdbc.JDBCDataSource
;
import
org.jkiss.dbeaver.model.sql.parser.rules.SQLDollarQuoteRule
;
import
org.jkiss.dbeaver.model.text.parser.TPRule
;
import
org.jkiss.dbeaver.model.text.parser.TPRuleProvider
;
import
java.util.Arrays
;
import
java.util.List
;
public
class
DataVirtualitySQLDialect
extends
GenericSQLDialect
implements
TPRuleProvider
{
public
DataVirtualitySQLDialect
()
{
super
(
"DataVirtuality"
,
"datavirtuality"
);
}
public
void
initDriverSettings
(
JDBCDataSource
dataSource
,
JDBCDatabaseMetaData
metaData
)
{
super
.
initDriverSettings
(
dataSource
,
metaData
);
addSQLKeywords
(
Arrays
.
asList
(
"SIMILAR TO"
));
}
@Override
public
void
extendRules
(
@Nullable
DBPDataSourceContainer
dataSource
,
@NotNull
List
<
TPRule
>
rules
,
@NotNull
RulePosition
position
)
{
if
(
position
==
RulePosition
.
INITIAL
||
position
==
RulePosition
.
PARTITION
)
{
rules
.
add
(
new
SQLDollarQuoteRule
(
dataSource
,
position
==
RulePosition
.
PARTITION
));
}
}
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录