diff --git a/plugins/org.jkiss.dbeaver.ext.db2/plugin.xml b/plugins/org.jkiss.dbeaver.ext.db2/plugin.xml index fc06013edd30d75dc11e24a76c17dc47c6b475f0..7fa473e21db9d39a2362a48f436ea5f7be459295 100644 --- a/plugins/org.jkiss.dbeaver.ext.db2/plugin.xml +++ b/plugins/org.jkiss.dbeaver.ext.db2/plugin.xml @@ -156,12 +156,12 @@ visibleIf="object.dataSource.atLeastV9_7" > - + - + diff --git a/plugins/org.jkiss.dbeaver.ext.hana/plugin.xml b/plugins/org.jkiss.dbeaver.ext.hana/plugin.xml index 1a12e73e8cb817b2e9e85e5fcbfd17cc48f9d701..bed0e7db58e3829bf3debb662c67ee07d33a9529 100644 --- a/plugins/org.jkiss.dbeaver.ext.hana/plugin.xml +++ b/plugins/org.jkiss.dbeaver.ext.hana/plugin.xml @@ -67,7 +67,7 @@ - + @@ -77,7 +77,7 @@ - + diff --git a/plugins/org.jkiss.dbeaver.ext.oracle/OSGI-INF/l10n/bundle.properties b/plugins/org.jkiss.dbeaver.ext.oracle/OSGI-INF/l10n/bundle.properties index a224c6a7ea21d28bcea1a48a0e1b7d7571d4a437..a4d989f1dd8c2700457f6acde921ceaccf11ea25 100644 --- a/plugins/org.jkiss.dbeaver.ext.oracle/OSGI-INF/l10n/bundle.properties +++ b/plugins/org.jkiss.dbeaver.ext.oracle/OSGI-INF/l10n/bundle.properties @@ -59,6 +59,8 @@ tree.packages.node.name=Packages tree.package.node.name=Package tree.procedures.node.name=Procedures tree.procedure.node.name=Procedure +tree.functions.node.name=Functions +tree.function.node.name=Function tree.synonyms.node.name=Synonyms tree.synonym.node.name=Synonym tree.database_links.node.name=Database Links diff --git a/plugins/org.jkiss.dbeaver.ext.oracle/OSGI-INF/l10n/bundle_ru.properties b/plugins/org.jkiss.dbeaver.ext.oracle/OSGI-INF/l10n/bundle_ru.properties index 4f4aa918dbfc3ce73e17d0e99ff54b4dc72ebfb9..78b95fdfce5ddae005fb7a50fe91ee17ca8490b9 100644 --- a/plugins/org.jkiss.dbeaver.ext.oracle/OSGI-INF/l10n/bundle_ru.properties +++ b/plugins/org.jkiss.dbeaver.ext.oracle/OSGI-INF/l10n/bundle_ru.properties @@ -42,6 +42,8 @@ tree.packages.node.name=\u041F\u0430\u043A\u0435\u0442\u044B tree.package.node.name=\u041F\u0430\u043A\u0435\u0442 tree.procedures.node.name=\u041F\u0440\u043E\u0446\u0435\u0434\u0443\u0440\u044B tree.procedure.node.name=\u041F\u0440\u043E\u0446\u0435\u0434\u0443\u0440\u0430 +tree.functions.node.name=\u0424\u0443\u043D\u043A\u0446\u0438\u0438 +tree.function.node.name=\u0424\u0443\u043D\u043A\u0446\u0438\u044F tree.synonyms.node.name=\u0421\u0438\u043D\u043E\u043D\u0438\u043C\u044B tree.synonym.node.name=\u0421\u0438\u043D\u043E\u043D\u0438\u043C tree.database_links.node.name=\u0421\u0441\u044B\u043B\u043A\u0438 \u043D\u0430 \u0411\u0414 @@ -231,8 +233,8 @@ meta.org.jkiss.dbeaver.ext.oracle.model.OracleTable.nested.name=\u0412\u043B\u04 meta.org.jkiss.dbeaver.ext.oracle.model.OracleTable.nested.description=\u041E\u0431\u043E\u0437\u043D\u0430\u0447\u0430\u0435\u0442, \u0447\u0442\u043E \u0442\u0430\u0431\u043B\u0438\u0446\u0430 - \u0432\u043B\u043E\u0436\u0435\u043D\u043D\u0430\u044F meta.org.jkiss.dbeaver.ext.oracle.model.OracleTableBase.name.name=\u0418\u043C\u044F meta.org.jkiss.dbeaver.ext.oracle.model.OracleTableBase.name.description=\u0418\u043C\u044F \u0442\u0430\u0431\u043B\u0438\u0446\u044B -meta.org.jkiss.dbeaver.ext.oracle.model.OracleTableBase.comment.name=\u041A\u043E\u043C\u0435\u043D\u0442\u0440\u0438\u0439 -meta.org.jkiss.dbeaver.ext.oracle.model.OracleTableBase.comment.description=\u041A\u043E\u043C\u0435\u043D\u0442\u0440\u0438\u0439 \u0442\u0430\u0431\u043B\u0438\u0446\u044B +meta.org.jkiss.dbeaver.ext.oracle.model.OracleTableBase.comment.name=\u041A\u043E\u043C\u043C\u0435\u043D\u0442\u0430\u0440\u0438\u0439 +meta.org.jkiss.dbeaver.ext.oracle.model.OracleTableBase.comment.description=\u041A\u043E\u043C\u043C\u0435\u043D\u0442\u0430\u0440\u0438\u0439 \u0442\u0430\u0431\u043B\u0438\u0446\u044B meta.org.jkiss.dbeaver.ext.oracle.model.OracleTableBase.objectState.name=\u0421\u0442\u0430\u0442\u0443\u0441 meta.org.jkiss.dbeaver.ext.oracle.model.OracleTableColumn.fullTypeName.name=\u0422\u0438\u043F meta.org.jkiss.dbeaver.ext.oracle.model.OracleTableColumn.fullTypeName.description=\u0422\u0438\u043F \u0434\u0430\u043D\u043D\u044B\u0445 \u043A\u043E\u043B\u043E\u043D\u043A\u0438 diff --git a/plugins/org.jkiss.dbeaver.ext.oracle/plugin.xml b/plugins/org.jkiss.dbeaver.ext.oracle/plugin.xml index 927e0aa48f8c698ff1973462ed6d5c65b3cf86b1..c81449d0d0c7d9da2b88876de6027a654e0b5abc 100644 --- a/plugins/org.jkiss.dbeaver.ext.oracle/plugin.xml +++ b/plugins/org.jkiss.dbeaver.ext.oracle/plugin.xml @@ -165,7 +165,22 @@ - + + + + + + + + + + + + + + + + @@ -188,8 +203,8 @@ - - + + @@ -201,6 +216,19 @@ + + + + + + + + + + + + + diff --git a/plugins/org.jkiss.dbeaver.ext.oracle/src/org/jkiss/dbeaver/ext/oracle/model/OraclePackage.java b/plugins/org.jkiss.dbeaver.ext.oracle/src/org/jkiss/dbeaver/ext/oracle/model/OraclePackage.java index 25a837c626b257f00d7e8fd04d6885b0c25dc597..0c8b70307821167261d44622ca447ab6e50bcbb6 100644 --- a/plugins/org.jkiss.dbeaver.ext.oracle/src/org/jkiss/dbeaver/ext/oracle/model/OraclePackage.java +++ b/plugins/org.jkiss.dbeaver.ext.oracle/src/org/jkiss/dbeaver/ext/oracle/model/OraclePackage.java @@ -40,11 +40,13 @@ import org.jkiss.dbeaver.model.struct.DBSObjectContainer; import org.jkiss.dbeaver.model.struct.DBSObjectState; import org.jkiss.dbeaver.model.struct.rdb.DBSPackage; import org.jkiss.dbeaver.model.struct.rdb.DBSProcedureContainer; +import org.jkiss.dbeaver.model.struct.rdb.DBSProcedureType; import org.jkiss.utils.CommonUtils; import java.sql.ResultSet; import java.sql.SQLException; import java.util.*; +import java.util.stream.Collectors; /** * GenericProcedure @@ -116,13 +118,29 @@ public class OraclePackage extends OracleSchemaObject } @Association - public Collection getProcedures(DBRProgressMonitor monitor) throws DBException { - return proceduresCache.getAllObjects(monitor, this); + public Collection getDependencies(DBRProgressMonitor monitor) { + return OracleDependencyGroup.of(this); } @Association - public Collection getDependencies(DBRProgressMonitor monitor) { - return OracleDependencyGroup.of(this); + public Collection getProceduresOnly(DBRProgressMonitor monitor) throws DBException { + return getProcedures(monitor) + .stream() + .filter(proc -> proc.getProcedureType() == DBSProcedureType.PROCEDURE) + .collect(Collectors.toList()); + } + + @Association + public Collection getFunctionsOnly(DBRProgressMonitor monitor) throws DBException { + return getProcedures(monitor) + .stream() + .filter(proc -> proc.getProcedureType() == DBSProcedureType.FUNCTION) + .collect(Collectors.toList()); + } + + @Association + public Collection getProcedures(DBRProgressMonitor monitor) throws DBException { + return proceduresCache.getAllObjects(monitor, this); } @Override diff --git a/plugins/org.jkiss.dbeaver.ext.oracle/src/org/jkiss/dbeaver/ext/oracle/model/OracleSchema.java b/plugins/org.jkiss.dbeaver.ext.oracle/src/org/jkiss/dbeaver/ext/oracle/model/OracleSchema.java index a7676089f2f877934c738dbf6fd3524bdb07ccaa..f1cf1eaaacabf8c5f2bec5e7c3daee5e34715434 100644 --- a/plugins/org.jkiss.dbeaver.ext.oracle/src/org/jkiss/dbeaver/ext/oracle/model/OracleSchema.java +++ b/plugins/org.jkiss.dbeaver.ext.oracle/src/org/jkiss/dbeaver/ext/oracle/model/OracleSchema.java @@ -40,6 +40,7 @@ import org.jkiss.dbeaver.model.runtime.DBRProgressMonitor; import org.jkiss.dbeaver.model.struct.DBSEntity; import org.jkiss.dbeaver.model.struct.DBSObject; import org.jkiss.dbeaver.model.struct.rdb.DBSProcedureContainer; +import org.jkiss.dbeaver.model.struct.rdb.DBSProcedureType; import org.jkiss.dbeaver.model.struct.rdb.DBSSchema; import org.jkiss.utils.ArrayUtils; import org.jkiss.utils.CommonUtils; @@ -47,6 +48,7 @@ import org.jkiss.utils.CommonUtils; import java.sql.ResultSet; import java.sql.SQLException; import java.util.*; +import java.util.stream.Collectors; /** * OracleSchema @@ -252,6 +254,22 @@ public class OracleSchema extends OracleGlobalObject implements DBSSchema, DBPRe return packageCache.getAllObjects(monitor, this); } + @Association + public Collection getProceduresOnly(DBRProgressMonitor monitor) throws DBException { + return getProcedures(monitor) + .stream() + .filter(proc -> proc.getProcedureType() == DBSProcedureType.PROCEDURE) + .collect(Collectors.toList()); + } + + @Association + public Collection getFunctionsOnly(DBRProgressMonitor monitor) throws DBException { + return getProcedures(monitor) + .stream() + .filter(proc -> proc.getProcedureType() == DBSProcedureType.FUNCTION) + .collect(Collectors.toList()); + } + @Association public Collection getProcedures(DBRProgressMonitor monitor) throws DBException