提交 5b34b4be 编写于 作者: S Serge Rider

#12 PostgreSQL model

上级 a6fd2b16
......@@ -19,7 +19,7 @@ package org.jkiss.dbeaver.ext.postgresql;
import org.jkiss.code.NotNull;
import org.jkiss.dbeaver.DBException;
import org.jkiss.dbeaver.ext.postgresql.model.PostgreGenericDataSource;
import org.jkiss.dbeaver.ext.postgresql.model.PostgreDataSource;
import org.jkiss.dbeaver.ext.postgresql.model.generic.PostgreMetaModel;
import org.jkiss.dbeaver.model.DBPDataSource;
import org.jkiss.dbeaver.model.DBPDataSourceContainer;
......@@ -64,7 +64,7 @@ public class PostgreDataSourceProvider extends JDBCDataSourceProvider {
@NotNull DBPDataSourceContainer container)
throws DBException
{
return new PostgreGenericDataSource(monitor, container, new PostgreMetaModel());
return new PostgreDataSource(monitor, container, new PostgreMetaModel());
}
}
/*
* DBeaver - Universal Database Manager
* Copyright (C) 2010-2015 Serge Rieder (serge@jkiss.org)
*
* 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.
*/
package org.jkiss.dbeaver.ext.postgresql.model;
import org.jkiss.code.NotNull;
import org.jkiss.dbeaver.DBException;
import org.jkiss.dbeaver.ext.generic.model.GenericDataSource;
import org.jkiss.dbeaver.ext.postgresql.model.generic.PostgreMetaModel;
import org.jkiss.dbeaver.ext.postgresql.model.jdbc.PostgreJdbcFactory;
import org.jkiss.dbeaver.model.DBPDataSourceContainer;
import org.jkiss.dbeaver.model.exec.jdbc.JDBCFactory;
import org.jkiss.dbeaver.model.runtime.DBRProgressMonitor;
/**
* PostgreGenericDataSource
*/
public class PostgreDataSource extends GenericDataSource
{
public PostgreDataSource(DBRProgressMonitor monitor, DBPDataSourceContainer container, PostgreMetaModel metaModel) throws DBException {
super(monitor, container, metaModel);
}
// public PostgreDataSource(DBRProgressMonitor monitor, DBPDataSourceContainer container) throws DBException {
// super(monitor, container, new PostgreMetaModel());
// }
@NotNull
@Override
protected JDBCFactory createJdbcFactory() {
return new PostgreJdbcFactory();
}
}
......@@ -29,6 +29,7 @@ import org.jkiss.dbeaver.model.runtime.DBRProgressMonitor;
/**
* PostgreGenericDataSource
*/
@Deprecated
public class PostgreGenericDataSource extends GenericDataSource
{
......
......@@ -25,16 +25,16 @@ import org.jkiss.dbeaver.model.meta.Property;
import org.jkiss.dbeaver.model.runtime.DBRProgressMonitor;
/**
* PostgreTrigger
* PostgreGenericTrigger
*/
public class PostgreTrigger extends GenericTrigger {
public class PostgreGenericTrigger extends GenericTrigger {
private String manipulation;
private String orientation;
private String timing;
private String source;
public PostgreTrigger(GenericStructContainer container, GenericTable table, String name, String description, String manipulation, String orientation, String timing, String statement) {
public PostgreGenericTrigger(GenericStructContainer container, GenericTable table, String name, String description, String manipulation, String orientation, String timing, String statement) {
super(container, table, name, description);
this.manipulation = manipulation;
this.orientation = orientation;
......
......@@ -26,7 +26,7 @@ import org.jkiss.dbeaver.ext.generic.model.meta.GenericMetaModel;
import org.jkiss.dbeaver.ext.postgresql.PostgreUtils;
import org.jkiss.dbeaver.ext.postgresql.model.PostgreGenericDataSource;
import org.jkiss.dbeaver.ext.postgresql.model.PostgreDataTypeCache;
import org.jkiss.dbeaver.ext.postgresql.model.PostgreTrigger;
import org.jkiss.dbeaver.ext.postgresql.model.PostgreGenericTrigger;
import org.jkiss.dbeaver.ext.postgresql.model.plan.PostgreQueryPlaner;
import org.jkiss.dbeaver.model.DBPDataSourceContainer;
import org.jkiss.dbeaver.model.DBPErrorAssistant;
......@@ -140,7 +140,7 @@ public class PostgreMetaModel extends GenericMetaModel implements DBCQueryTransf
}
@Override
public List<PostgreTrigger> loadTriggers(DBRProgressMonitor monitor, @NotNull GenericStructContainer container, @Nullable GenericTable table) throws DBException {
public List<PostgreGenericTrigger> loadTriggers(DBRProgressMonitor monitor, @NotNull GenericStructContainer container, @Nullable GenericTable table) throws DBException {
try (JDBCSession session = DBUtils.openMetaSession(monitor, container.getDataSource(), "Read triggers")) {
StringBuilder sql = new StringBuilder();
sql.append("SELECT trigger_name,event_manipulation,action_order,action_condition,action_statement,action_orientation,action_timing\n" +
......@@ -158,7 +158,7 @@ public class PostgreMetaModel extends GenericMetaModel implements DBCQueryTransf
dbStat.setString(1, table.getSchema().getName());
dbStat.setString(2, table.getName());
}
Map<String, PostgreTrigger> result = new LinkedHashMap<>();
Map<String, PostgreGenericTrigger> result = new LinkedHashMap<>();
try (JDBCResultSet dbResult = dbStat.executeQuery()) {
while (dbResult.next()) {
......@@ -167,13 +167,13 @@ public class PostgreMetaModel extends GenericMetaModel implements DBCQueryTransf
continue;
}
String manipulation = JDBCUtils.safeGetString(dbResult, "event_manipulation");
PostgreTrigger trigger = result.get(name);
PostgreGenericTrigger trigger = result.get(name);
if (trigger != null) {
trigger.addManipulation(manipulation);
continue;
}
String description = "";
trigger = new PostgreTrigger(
trigger = new PostgreGenericTrigger(
container,
table,
name,
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册