diff --git a/plugins/org.jkiss.dbeaver.model/src/org/jkiss/dbeaver/model/impl/jdbc/data/JDBCCollection.java b/plugins/org.jkiss.dbeaver.model/src/org/jkiss/dbeaver/model/impl/jdbc/data/JDBCCollection.java index bcbba8df8bff6b028b2529481f2193512e6466bc..0e3e6aa70ba5942b5ba8886d5f7abf03db33a25c 100644 --- a/plugins/org.jkiss.dbeaver.model/src/org/jkiss/dbeaver/model/impl/jdbc/data/JDBCCollection.java +++ b/plugins/org.jkiss.dbeaver.model/src/org/jkiss/dbeaver/model/impl/jdbc/data/JDBCCollection.java @@ -56,10 +56,13 @@ public class JDBCCollection implements DBDCollection, DBDValueCloneable { private static final Log log = Log.getLog(JDBCCollection.class); private Object[] contents; - private final DBSDataType type; - private final DBDValueHandler valueHandler; + private DBSDataType type; + private DBDValueHandler valueHandler; private boolean modified; + public JDBCCollection() { + } + public JDBCCollection(DBSDataType type, DBDValueHandler valueHandler, @Nullable Object[] contents) { this.type = type; this.valueHandler = valueHandler; @@ -157,6 +160,9 @@ public class JDBCCollection implements DBDCollection, DBDValueCloneable { } public Array getArrayValue() throws DBCException { + if (contents == null) { + return null; + } Object[] attrs = new Object[contents.length]; for (int i = 0; i < contents.length; i++) { Object attr = contents[i]; @@ -210,7 +216,7 @@ public class JDBCCollection implements DBDCollection, DBDValueCloneable { try { if (elementType == null) { if (array == null) { - return null; + return new JDBCCollection(); } try { return makeCollectionFromResultSet(session, array, null);