use of org.jkiss.dbeaver.ext.db2.model.DB2DataSource in project dbeaver by serge-rider.
the class DB2Utils method readDBMCfg.
public static List<DB2Parameter> readDBMCfg(DBRProgressMonitor monitor, JDBCSession session) throws SQLException {
LOG.debug("readDBMCfg");
List<DB2Parameter> listDBMParameters = new ArrayList<>();
try (JDBCPreparedStatement dbStat = session.prepareStatement(SEL_DBMCFG)) {
try (JDBCResultSet dbResult = dbStat.executeQuery()) {
while (dbResult.next()) {
listDBMParameters.add(new DB2Parameter((DB2DataSource) session.getDataSource(), dbResult));
}
}
}
return listDBMParameters;
}
use of org.jkiss.dbeaver.ext.db2.model.DB2DataSource in project dbeaver by serge-rider.
the class DB2GranteeAuthCache method fetchObject.
@Override
protected DB2AuthBase fetchObject(@NotNull JDBCSession session, @NotNull DB2Grantee db2Grantee, @NotNull JDBCResultSet resultSet) throws SQLException, DBException {
DB2DataSource db2DataSource = db2Grantee.getDataSource();
DBRProgressMonitor monitor = session.getProgressMonitor();
String objectSchemaName = JDBCUtils.safeGetStringTrimmed(resultSet, "OBJ_SCHEMA");
String objectName = JDBCUtils.safeGetStringTrimmed(resultSet, "OBJ_NAME");
DB2ObjectType objectType = CommonUtils.valueOf(DB2ObjectType.class, JDBCUtils.safeGetString(resultSet, "OBJ_TYPE"));
switch(objectType) {
case COLUMN:
String columnName = JDBCUtils.safeGetStringTrimmed(resultSet, "USAGEAUTH");
DB2TableColumn db2TableColumn = DB2Utils.findColumnBySchemaNameAndTableNameAndName(monitor, db2DataSource, objectSchemaName, objectName, columnName);
return new DB2AuthColumn(monitor, db2Grantee, db2TableColumn, resultSet);
case INDEX:
DB2Index db2Index = DB2Utils.findIndexBySchemaNameAndName(monitor, db2DataSource, objectSchemaName, objectName);
return new DB2AuthIndex(monitor, db2Grantee, db2Index, resultSet);
case MODULE:
DB2Module db2Module = DB2Utils.findModuleBySchemaNameAndName(monitor, db2DataSource, objectSchemaName, objectName);
return new DB2AuthModule(monitor, db2Grantee, db2Module, resultSet);
case PACKAGE:
DB2Package db2Package = DB2Utils.findPackageBySchemaNameAndName(monitor, db2DataSource, objectSchemaName, objectName);
return new DB2AuthPackage(monitor, db2Grantee, db2Package, resultSet);
case PROCEDURE:
// Can be a Function or a Procedure
DB2RoutineType routineType = CommonUtils.valueOf(DB2RoutineType.class, JDBCUtils.safeGetStringTrimmed(resultSet, "USAGEAUTH"));
switch(routineType) {
case F:
DB2Routine db2Udf = DB2Utils.findUDFBySchemaNameAndName(monitor, db2DataSource, objectSchemaName, objectName);
return new DB2AuthUDF(monitor, db2Grantee, db2Udf, resultSet);
case M:
DB2Routine db2Method = DB2Utils.findMethodBySchemaNameAndName(monitor, db2DataSource, objectSchemaName, objectName);
return new DB2AuthMethod(monitor, db2Grantee, db2Method, resultSet);
case P:
DB2Routine db2Procedure = DB2Utils.findProcedureBySchemaNameAndName(monitor, db2DataSource, objectSchemaName, objectName);
return new DB2AuthProcedure(monitor, db2Grantee, db2Procedure, resultSet);
default:
throw new DBException(routineType + " is not a valid DB2RoutineType");
}
case SCHEMA:
DB2Schema db2Schema = db2DataSource.getSchema(monitor, objectName);
return new DB2AuthSchema(monitor, db2Grantee, db2Schema, resultSet);
case SEQUENCE:
DB2Sequence db2Sequence = DB2Utils.findSequenceBySchemaNameAndName(monitor, db2DataSource, objectSchemaName, objectName);
return new DB2AuthSequence(monitor, db2Grantee, db2Sequence, resultSet);
case TABLE:
// Can be a Table, a View or an MQT..
DB2TableBase db2TableBase = DB2Utils.findTableBySchemaNameAndName(monitor, db2DataSource, objectSchemaName, objectName);
if (db2TableBase != null) {
return new DB2AuthTable(monitor, db2Grantee, db2TableBase, resultSet);
} else {
db2TableBase = DB2Utils.findViewBySchemaNameAndName(monitor, db2DataSource, objectSchemaName, objectName);
if (db2TableBase != null) {
return new DB2AuthView(monitor, db2Grantee, db2TableBase, resultSet);
} else {
db2TableBase = DB2Utils.findMQTBySchemaNameAndName(monitor, db2DataSource, objectSchemaName, objectName);
return new DB2AuthMaterializedQueryTable(monitor, db2Grantee, db2TableBase, resultSet);
}
}
case TABLESPACE:
DB2Tablespace db2Tablespace = db2DataSource.getTablespace(monitor, objectName);
return new DB2AuthTablespace(monitor, db2Grantee, db2Tablespace, resultSet);
case VARIABLE:
DB2Variable db2Variable = db2DataSource.getVariable(monitor, objectName);
return new DB2AuthVariable(monitor, db2Grantee, db2Variable, resultSet);
case XML_SCHEMA:
Long xmlSchemaId = Long.valueOf(objectName);
DB2XMLSchema db2XmlSchema = DB2Utils.findXMLSchemaByById(monitor, db2DataSource, xmlSchemaId);
return new DB2AuthXMLSchema(monitor, db2Grantee, db2XmlSchema, resultSet);
default:
throw new DBException("Programming error: " + objectType + " is not supported yet and the SELECT statement must exclude it");
}
}
use of org.jkiss.dbeaver.ext.db2.model.DB2DataSource in project dbeaver by serge-rider.
the class DB2ToolShowError method execute.
@Override
public void execute(IWorkbenchWindow window, IWorkbenchPart activePart, Collection<DBSObject> objects) throws DBException {
for (DBSObject object : objects) {
if (object.getDataSource() instanceof DB2DataSource) {
DB2ToolShowErrorDialog dialog = new DB2ToolShowErrorDialog(window, (DB2DataSource) object.getDataSource());
dialog.open();
}
}
}
use of org.jkiss.dbeaver.ext.db2.model.DB2DataSource in project dbeaver by serge-rider.
the class DB2ServerApplicationEditor method createSessionViewer.
@Override
protected SessionManagerViewer createSessionViewer(DBCExecutionContext executionContext, Composite parent) {
return new SessionManagerViewer(this, parent, new DB2ServerApplicationManager((DB2DataSource) executionContext.getDataSource())) {
@Override
@SuppressWarnings("rawtypes")
protected void contributeToToolbar(DBAServerSessionManager sessionManager, IContributionManager contributionManager) {
contributionManager.add(forceApplicationAction);
contributionManager.add(new Separator());
}
@Override
protected void onSessionSelect(DBAServerSession session) {
super.onSessionSelect(session);
forceApplicationAction.setEnabled(session != null);
}
};
}
use of org.jkiss.dbeaver.ext.db2.model.DB2DataSource in project dbeaver by serge-rider.
the class DB2AliasCache method prepareObjectsStatement.
@Override
protected JDBCStatement prepareObjectsStatement(@NotNull JDBCSession session, @NotNull DB2Schema db2Schema) throws SQLException {
DB2DataSource db2DataSource = db2Schema.getDataSource();
String sql;
if (db2DataSource.isAtLeastV9_7()) {
sql = SQL_FULL;
} else {
sql = SQL_WITHOUT_MODULE_AND_SEQUALIAS;
}
JDBCPreparedStatement dbStat = session.prepareStatement(sql);
dbStat.setString(1, db2Schema.getName());
if (db2DataSource.isAtLeastV9_7()) {
dbStat.setString(2, db2Schema.getName());
dbStat.setString(3, db2Schema.getName());
}
return dbStat;
}
Aggregations