diff --git a/plugins/org.jkiss.dbeaver.db2/plugin.properties b/plugins/org.jkiss.dbeaver.db2/plugin.properties index 1d9a8066d657045526d4a9e08de6025684bda515..2b7ef602b7f24b8d0be9679b6c7fff0ea5489c38 100644 --- a/plugins/org.jkiss.dbeaver.db2/plugin.properties +++ b/plugins/org.jkiss.dbeaver.db2/plugin.properties @@ -301,7 +301,7 @@ meta.org.jkiss.dbeaver.ext.db2.model.DB2Routine.javaClass.name=Class meta.org.jkiss.dbeaver.ext.db2.model.DB2Routine.language.name=Language meta.org.jkiss.dbeaver.ext.db2.model.DB2Routine.lastRegenTime.name=Last Regen Time meta.org.jkiss.dbeaver.ext.db2.model.DB2Routine.moduleName.name=Module name -meta.org.jkiss.dbeaver.ext.db2.model.DB2Routine.name.name=Specific Name +meta.org.jkiss.dbeaver.ext.db2.model.DB2Routine.name.name=Name meta.org.jkiss.dbeaver.ext.db2.model.DB2Routine.origin.name=Origin meta.org.jkiss.dbeaver.ext.db2.model.DB2Routine.owner.name=Owner meta.org.jkiss.dbeaver.ext.db2.model.DB2Routine.ownerType.name=Owner Type @@ -311,6 +311,7 @@ meta.org.jkiss.dbeaver.ext.db2.model.DB2Routine.routineId.name=Id meta.org.jkiss.dbeaver.ext.db2.model.DB2Routine.routineModuleId.name=Module Id meta.org.jkiss.dbeaver.ext.db2.model.DB2Routine.routineName.name=Name meta.org.jkiss.dbeaver.ext.db2.model.DB2Routine.schema.name=Schema +meta.org.jkiss.dbeaver.ext.db2.model.DB2Routine.specificName.name=Specific Name meta.org.jkiss.dbeaver.ext.db2.model.DB2Routine.valid.name=Valid meta.org.jkiss.dbeaver.ext.db2.model.DB2RoutineParm.dataType.name=Type diff --git a/plugins/org.jkiss.dbeaver.db2/plugin.xml b/plugins/org.jkiss.dbeaver.db2/plugin.xml index 73dd15562c93afc263ed9d70e89bbe95f8e9ce1c..66771e29dc429221a4ed4ae9f69fdfbdadef0fca 100644 --- a/plugins/org.jkiss.dbeaver.db2/plugin.xml +++ b/plugins/org.jkiss.dbeaver.db2/plugin.xml @@ -183,7 +183,7 @@ - + - - + + + + + + + + + + @@ -211,7 +219,7 @@ - + diff --git a/plugins/org.jkiss.dbeaver.db2/src/org/jkiss/dbeaver/ext/db2/model/DB2DataSource.java b/plugins/org.jkiss.dbeaver.db2/src/org/jkiss/dbeaver/ext/db2/model/DB2DataSource.java index 8ffe4b14eb1b96d686959c1233c74374b98ad23d..6dee39ae77af321404b94d0d23df80ac9b4e59a5 100644 --- a/plugins/org.jkiss.dbeaver.db2/src/org/jkiss/dbeaver/ext/db2/model/DB2DataSource.java +++ b/plugins/org.jkiss.dbeaver.db2/src/org/jkiss/dbeaver/ext/db2/model/DB2DataSource.java @@ -235,6 +235,21 @@ public class DB2DataSource extends JDBCDataSource implements DBSObjectSelector, // disable result set scroll // (it doesn't work for some queries and some column types so I have to disable it for ALL queries). + + // DF: DB2 v10 supports "Scrollable Resultsets" with the folowing restrictions (from the DB2 v10.5 infocenter) + // Restriction: If the ResultSet is scrollable, and the ResultSet is used to select columns from a table on a DB2 for + // Linux, UNIX, and Windows server, + // the SELECT list of the SELECT statement that defines the ResultSet cannot include columns with the following data types: + // - LONG VARCHAR + // - LONG VARGRAPHIC + // - BLOB + // - CLOB + // - XML + // - A distinct type that is based on any of the previous data types in this list + // - A structured type + // So it is not usable for "generic" select statements that may include such columns (ge the "data" tab on tabl view or + // queries run from the SQL editor) + info.setSupportsResultSetScroll(false); return info; diff --git a/plugins/org.jkiss.dbeaver.db2/src/org/jkiss/dbeaver/ext/db2/model/DB2Routine.java b/plugins/org.jkiss.dbeaver.db2/src/org/jkiss/dbeaver/ext/db2/model/DB2Routine.java index 6ec4310077c538707365c2b2c0b0fee1ac4f4c3d..b8ba6b080f1882ffa94f8edad2a2792bc809e451 100644 --- a/plugins/org.jkiss.dbeaver.db2/src/org/jkiss/dbeaver/ext/db2/model/DB2Routine.java +++ b/plugins/org.jkiss.dbeaver.db2/src/org/jkiss/dbeaver/ext/db2/model/DB2Routine.java @@ -39,6 +39,7 @@ import org.jkiss.dbeaver.model.sql.SQLUtils; import org.jkiss.dbeaver.model.struct.DBSObject; import org.jkiss.dbeaver.model.struct.DBSObjectContainer; import org.jkiss.dbeaver.model.struct.DBSObjectState; +import org.jkiss.dbeaver.model.struct.DBSObjectUnique; import org.jkiss.dbeaver.model.struct.rdb.DBSProcedure; import org.jkiss.dbeaver.model.struct.rdb.DBSProcedureType; import org.jkiss.utils.CommonUtils; @@ -52,7 +53,8 @@ import java.util.Collection; * * @author Denis Forveille */ -public class DB2Routine extends DB2Object implements DBSProcedure, DB2SourceObject, DBPRefreshableObject { +public class DB2Routine extends DB2Object implements DBSProcedure, DB2SourceObject, DBPRefreshableObject, + DBSObjectUnique { private final DB2RoutineParmsCache parmsCache = new DB2RoutineParmsCache(); @@ -181,6 +183,13 @@ public class DB2Routine extends DB2Object implements DBSProcedure, DB return getContainer(); } + @Override + public String getUniqueName() + { + // unique name is the "specifiname" column + return super.getName(); + } + // ----------------- // Children // ----------------- @@ -212,7 +221,7 @@ public class DB2Routine extends DB2Object implements DBSProcedure, DB @Property(viewable = true, order = 1) public String getName() { - return super.getName(); + return routineName; } @Property(viewable = true, order = 2) @@ -222,9 +231,9 @@ public class DB2Routine extends DB2Object implements DBSProcedure, DB } @Property(viewable = true, order = 3) - public String getRoutineName() + public String getSpecificName() { - return routineName; + return super.getName(); } @Property(viewable = true, order = 5, category = DB2Constants.CAT_DATETIME) diff --git a/plugins/org.jkiss.dbeaver.db2/src/org/jkiss/dbeaver/ext/db2/model/cache/DB2RoutineParmsCache.java b/plugins/org.jkiss.dbeaver.db2/src/org/jkiss/dbeaver/ext/db2/model/cache/DB2RoutineParmsCache.java index c0b10ad92864d91c136ff619cc9298bb4fa021ab..42d7b992b426df90bf54995b775fb12fef9a5e8b 100644 --- a/plugins/org.jkiss.dbeaver.db2/src/org/jkiss/dbeaver/ext/db2/model/cache/DB2RoutineParmsCache.java +++ b/plugins/org.jkiss.dbeaver.db2/src/org/jkiss/dbeaver/ext/db2/model/cache/DB2RoutineParmsCache.java @@ -21,8 +21,8 @@ package org.jkiss.dbeaver.ext.db2.model.cache; import org.jkiss.dbeaver.DBException; import org.jkiss.dbeaver.ext.db2.model.DB2Routine; import org.jkiss.dbeaver.ext.db2.model.DB2RoutineParm; -import org.jkiss.dbeaver.model.exec.jdbc.JDBCSession; import org.jkiss.dbeaver.model.exec.jdbc.JDBCPreparedStatement; +import org.jkiss.dbeaver.model.exec.jdbc.JDBCSession; import org.jkiss.dbeaver.model.exec.jdbc.JDBCStatement; import org.jkiss.dbeaver.model.impl.jdbc.cache.JDBCObjectCache; @@ -55,13 +55,13 @@ public class DB2RoutineParmsCache extends JDBCObjectCache