use of org.jkiss.dbeaver.ext.postgresql.model.PostgreDatabase in project dbeaver by serge-rider.
the class PostgreDatabaseManager method addObjectCreateActions.
@Override
protected void addObjectCreateActions(DBRProgressMonitor monitor, DBCExecutionContext executionContext, List<DBEPersistAction> actions, ObjectCreateCommand command, Map<String, Object> options) {
final PostgreDatabase database = command.getObject();
StringBuilder sql = new StringBuilder();
sql.append("CREATE DATABASE ").append(DBUtils.getQuotedIdentifier(database));
if (database.getInitialOwner() != null) {
sql.append("\nOWNER = ").append(DBUtils.getQuotedIdentifier(database.getInitialOwner()));
}
if (!CommonUtils.isEmpty(database.getTemplateName())) {
sql.append("\nTEMPLATE = ").append(DBUtils.getQuotedIdentifier(database.getDataSource(), database.getTemplateName()));
}
if (database.getInitialEncoding() != null) {
sql.append("\nENCODING = '").append(database.getInitialEncoding().getName()).append("'");
}
if (database.getInitialTablespace() != null) {
sql.append("\nTABLESPACE = ").append(DBUtils.getQuotedIdentifier(database.getDataSource(), database.getInitialTablespace().getName()));
}
actions.add(new CreateDatabaseAction(database, sql));
}
use of org.jkiss.dbeaver.ext.postgresql.model.PostgreDatabase in project dbeaver by serge-rider.
the class PostgreDatabaseManager method addObjectExtraActions.
@Override
protected void addObjectExtraActions(DBRProgressMonitor monitor, DBCExecutionContext executionContext, List<DBEPersistAction> actions, NestedObjectCommand<PostgreDatabase, PropertyHandler> command, Map<String, Object> options) throws DBException {
if (command.hasProperty(DBConstants.PROP_ID_DESCRIPTION)) {
PostgreDatabase database = command.getObject();
actions.add(new SQLDatabasePersistAction("COMMENT ON DATABASE " + DBUtils.getQuotedIdentifier(database) + " IS " + SQLUtils.quoteString(database, CommonUtils.notEmpty(database.getDescription()))));
}
}
use of org.jkiss.dbeaver.ext.postgresql.model.PostgreDatabase in project dbeaver by serge-rider.
the class PostgreToolRestore method execute.
@Override
public void execute(IWorkbenchWindow window, IWorkbenchPart activePart, Collection<DBSObject> objects) throws DBException {
for (DBSObject object : objects) {
PostgreDatabase database;
if (object instanceof PostgreSchema) {
database = ((PostgreSchema) object).getDatabase();
} else if (object instanceof PostgreDatabase) {
database = (PostgreDatabase) object;
} else {
continue;
}
NativeToolWizardDialog dialog = new NativeToolWizardDialog(window, new PostgreRestoreWizard(database));
dialog.open();
}
}
use of org.jkiss.dbeaver.ext.postgresql.model.PostgreDatabase in project dbeaver by serge-rider.
the class PostgreFDWConfigTool method execute.
@Override
public void execute(IWorkbenchWindow window, IWorkbenchPart activePart, Collection<DBSObject> objects) throws DBException {
for (DBSObject object : objects) {
PostgreDatabase database;
if (object instanceof PostgreObject) {
database = ((PostgreObject) object).getDatabase();
} else {
continue;
}
ActiveWizardDialog dialog = new ActiveWizardDialog(window, new PostgreFDWConfigWizard(database));
dialog.setFinishButtonLabel("Install");
dialog.open();
}
}
use of org.jkiss.dbeaver.ext.postgresql.model.PostgreDatabase in project dbeaver by serge-rider.
the class PostgreSqlDebugCore method resolveFunction.
public static PostgreProcedure resolveFunction(DBRProgressMonitor monitor, DBPDataSourceContainer dsContainer, Map<String, Object> configuration) throws DBException {
if (!dsContainer.isConnected()) {
dsContainer.connect(monitor, true, true);
}
long functionId = CommonUtils.toLong(configuration.get(PostgreDebugConstants.ATTR_FUNCTION_OID));
String databaseName = (String) configuration.get(PostgreDebugConstants.ATTR_DATABASE_NAME);
String schemaName = (String) configuration.get(PostgreDebugConstants.ATTR_SCHEMA_NAME);
PostgreDataSource ds = (PostgreDataSource) dsContainer.getDataSource();
PostgreDatabase database = ds.getDatabase(databaseName);
if (database != null) {
PostgreSchema schema = database.getSchema(monitor, schemaName);
if (schema != null) {
PostgreProcedure function = schema.getProcedure(monitor, functionId);
if (function != null) {
return function;
}
throw new DBException("Function " + functionId + " not found in schema " + schemaName);
} else {
throw new DBException("Schema '" + schemaName + "' not found in database " + databaseName);
}
} else {
throw new DBException("Database '" + databaseName + "' not found");
}
}
Aggregations