提交 f9f587d4 编写于 作者: G G. Richard Bellamy

Initial commit to support EnterpriseDB

EnterpriseDB uses a custom JDBC connection URL:
jdbc:edb://<HOST>:<PORT>/<DB>

The current Driver Settings do not allow for "inheriting" from the
PostgreSQL standard with a new driver and JDBC connection string. Thus,
in order to support EnterpriseDB and their proprietary driver, DBeaver
must be made aware of this via a custom model implementation and plugin
configuration.

TODO:

1. Icons are all just copies of the edb_logo.png file, which was scraped
from the EnterpriseDB site. They need to be replaced with files that
provide the resolution and pixel density they claim.
2. Support EnterpriseDB packages.
3. Support EnterpriseDB complex types.
4. Support EnterpriseDB SPL - a custom implementation of the Oracle
PL/SQL language implemented as an overlay to pgSQL.
上级 2a4e59cb
......@@ -662,6 +662,7 @@ tree.opFamilies.node.name=Operator families
tree.opFamily.node.name=Operator family
driver.postgresql.description=PostgreSQL standard driver
driver.edb.description=EnterpriseDB standard driver
driver.timescale.description=Timescale JDBC driver
driver.yellowbrick.description=Yellowbrick JDBC driver
driver.cockroach.description=CockroachDB JDBC driver
......
......@@ -24,6 +24,7 @@
<extension point="org.jkiss.dbeaver.postgresql.serverType">
<serverType id="postgresql" name="PostgreSQL" class="org.jkiss.dbeaver.ext.postgresql.model.impls.PostgreServerPostgreSQL" logo="icons/postgresql_logo.png"/>
<serverType id="edb" name="EnterpriseDB" class="org.jkiss.dbeaver.ext.postgresql.model.impls.PostgreServerEdb" logo="icons/edb_logo.png" customURL="true"/>
<serverType id="redshift" name="Redshift" class="org.jkiss.dbeaver.ext.postgresql.model.impls.redshift.PostgreServerRedshift" logo="icons/redshift_logo.png" defaultDatbase="dev" defaultUser="awsuser" customURL="true"/>
<serverType id="timescale" name="TimescaleDB" class="org.jkiss.dbeaver.ext.postgresql.model.impls.PostgreServerTimescale" logo="icons/timescale_logo.png"/>
<serverType id="yellowbrick" name="Yellowbrick" class="org.jkiss.dbeaver.ext.postgresql.model.impls.yellowbrick.PostgreServerYellowBrick" logo="icons/yellowbrick_logo.png"/>
......@@ -34,7 +35,7 @@
PostgreSQL extension
-->
<extension point="org.jkiss.dbeaver.generic.meta">
<meta id="postgresql" class="org.jkiss.dbeaver.ext.postgresql.model.generic.PostgreMetaModel" driverClass="org.postgresql.Driver,com.amazon.redshift.jdbc4.Driver,com.amazon.redshift.jdbc41.Driver,com.amazon.redshift.jdbc42.Driver"/>
<meta id="postgresql" class="org.jkiss.dbeaver.ext.postgresql.model.generic.PostgreMetaModel" driverClass="org.postgresql.Driver,com.edb.Driver,com.amazon.redshift.jdbc4.Driver,com.amazon.redshift.jdbc41.Driver,com.amazon.redshift.jdbc42.Driver"/>
</extension>
<extension point="org.jkiss.dbeaver.dataSourceProvider">
......@@ -379,6 +380,28 @@
<property name="connectTimeout" value="20"/>
</driver>
<driver
id="postgres-edb-jdbc"
label="EnterpriseDB"
icon="icons/edb_icon.png"
iconBig="icons/edb_icon_big.png"
class="com.edb.Driver"
sampleURL="jdbc:edb://{host}[:{port}]/[{database}]"
useURL="true"
defaultPort="5444"
webURL="http://enterprisedb.com/"
propertiesURL="https://jdbc.postgresql.org/documentation/head/connect.html#connection-parameters"
description="%driver.edb.description"
categories="sql">
<file type="jar" path="maven:/com.edb:edb-jdbc18:RELEASE[9.4.1212.1]" bundle="!drivers.postgresql"/>
<file type="license" path="drivers/postgresql/LICENSE.txt" bundle="drivers.postgresql"/>
<file type="jar" path="drivers/postgresql/postgresql.jar" bundle="drivers.postgresql"/>
<parameter name="serverType" value="edb"/>
<property name="loginTimeout" value="20"/>
<property name="connectTimeout" value="20"/>
</driver>
</drivers>
<nativeClients>
......
/*
* DBeaver - Universal Database Manager
* Copyright (C) 2010-2019 Serge Rider (serge@jkiss.org)
*
* 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.postgresql.model.impls;
import org.jkiss.dbeaver.ext.postgresql.model.PostgreDataSource;
/**
* PostgreServerPostgreSQL
*/
public class PostgreServerEdb extends PostgreServerExtensionBase {
public static final String TYPE_ID = "edb";
public PostgreServerEdb(PostgreDataSource dataSource) {
super(dataSource);
}
@Override
public String getServerTypeName() {
return "EnterpriseDB";
}
}
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册