Repository: cayenne Updated Branches: refs/heads/STABLE-4.0 7cd30b821 -> 6a6cd0bfb
CAY-2387 Can't select byte[] property with ColumnSelect Project: http://git-wip-us.apache.org/repos/asf/cayenne/repo Commit: http://git-wip-us.apache.org/repos/asf/cayenne/commit/6a6cd0bf Tree: http://git-wip-us.apache.org/repos/asf/cayenne/tree/6a6cd0bf Diff: http://git-wip-us.apache.org/repos/asf/cayenne/diff/6a6cd0bf Branch: refs/heads/STABLE-4.0 Commit: 6a6cd0bfbfddcab088cea09ec1e89ab38fa58e06 Parents: 7cd30b8 Author: Nikita Timofeev <stari...@gmail.com> Authored: Wed Dec 6 10:14:54 2017 +0300 Committer: Nikita Timofeev <stari...@gmail.com> Committed: Wed Dec 6 10:15:49 2017 +0300 ---------------------------------------------------------------------- .../select/DefaultSelectTranslator.java | 2 +- .../org/apache/cayenne/query/ColumnSelectIT.java | 19 +++++++++++++++++++ docs/doc/src/main/resources/RELEASE-NOTES.txt | 1 + 3 files changed, 21 insertions(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cayenne/blob/6a6cd0bf/cayenne-server/src/main/java/org/apache/cayenne/access/translator/select/DefaultSelectTranslator.java ---------------------------------------------------------------------- diff --git a/cayenne-server/src/main/java/org/apache/cayenne/access/translator/select/DefaultSelectTranslator.java b/cayenne-server/src/main/java/org/apache/cayenne/access/translator/select/DefaultSelectTranslator.java index d35b0b4..bcb4c9b 100644 --- a/cayenne-server/src/main/java/org/apache/cayenne/access/translator/select/DefaultSelectTranslator.java +++ b/cayenne-server/src/main/java/org/apache/cayenne/access/translator/select/DefaultSelectTranslator.java @@ -460,7 +460,7 @@ public class DefaultSelectTranslator extends QueryAssembler implements SelectTra int type = getJdbcTypeForProperty(property); ColumnDescriptor descriptor; if(property.getType() != null) { - descriptor = new ColumnDescriptor(builder.toString(), type, property.getType().getName()); + descriptor = new ColumnDescriptor(builder.toString(), type, property.getType().getCanonicalName()); } else { descriptor = new ColumnDescriptor(builder.toString(), type); } http://git-wip-us.apache.org/repos/asf/cayenne/blob/6a6cd0bf/cayenne-server/src/test/java/org/apache/cayenne/query/ColumnSelectIT.java ---------------------------------------------------------------------- diff --git a/cayenne-server/src/test/java/org/apache/cayenne/query/ColumnSelectIT.java b/cayenne-server/src/test/java/org/apache/cayenne/query/ColumnSelectIT.java index fe4edba..bf1a6d6 100644 --- a/cayenne-server/src/test/java/org/apache/cayenne/query/ColumnSelectIT.java +++ b/cayenne-server/src/test/java/org/apache/cayenne/query/ColumnSelectIT.java @@ -21,6 +21,7 @@ package org.apache.cayenne.query; import java.math.BigDecimal; import java.math.BigInteger; +import java.sql.SQLException; import java.sql.Types; import java.text.DateFormat; import java.util.Date; @@ -45,6 +46,7 @@ import org.apache.cayenne.test.jdbc.TableHelper; import org.apache.cayenne.testdo.testmap.Artist; import org.apache.cayenne.testdo.testmap.Gallery; import org.apache.cayenne.testdo.testmap.Painting; +import org.apache.cayenne.testdo.testmap.PaintingInfo; import org.apache.cayenne.unit.PostgresUnitDbAdapter; import org.apache.cayenne.unit.UnitDbAdapter; import org.apache.cayenne.unit.di.server.CayenneProjects; @@ -1074,4 +1076,21 @@ public class ColumnSelectIT extends ServerCase { } } + @Test + public void testByteArraySelect() throws SQLException { + new TableHelper(dbHelper, "PAINTING_INFO") + .setColumns("IMAGE_BLOB", "PAINTING_ID") + .setColumnTypes(Types.LONGVARBINARY, Types.INTEGER) + .insert(new byte[]{(byte)1, (byte)2, (byte)3, (byte)4, (byte)5}, 1) + .insert(new byte[]{(byte)5, (byte)4, (byte)3, (byte)2}, 2); + + List<byte[]> blobs = ObjectSelect.columnQuery(PaintingInfo.class, PaintingInfo.IMAGE_BLOB) + .orderBy("db:" + PaintingInfo.PAINTING_ID_PK_COLUMN) + .select(context); + + assertEquals(2, blobs.size()); + assertArrayEquals(new byte[]{(byte)1, (byte)2, (byte)3, (byte)4, (byte)5}, blobs.get(0)); + assertArrayEquals(new byte[]{(byte)5, (byte)4, (byte)3, (byte)2}, blobs.get(1)); + } + } http://git-wip-us.apache.org/repos/asf/cayenne/blob/6a6cd0bf/docs/doc/src/main/resources/RELEASE-NOTES.txt ---------------------------------------------------------------------- diff --git a/docs/doc/src/main/resources/RELEASE-NOTES.txt b/docs/doc/src/main/resources/RELEASE-NOTES.txt index f79a402..dfa0524 100644 --- a/docs/doc/src/main/resources/RELEASE-NOTES.txt +++ b/docs/doc/src/main/resources/RELEASE-NOTES.txt @@ -23,6 +23,7 @@ CAY-2370 ValueObjectType for byte[] fails lookup CAY-2379 Modeler: Visualization issue after an undo action for a deleted ObjAttribute CAY-2382 Lack of synchronization in DataContext serialization CAY-2384 Modeler: Visualization issue after an undo action for a deleted ObjRelationship +CAY-2387 Can't select byte[] property with ColumnSelect ---------------------------------- Release: 4.0.B2