This is an automated email from the ASF dual-hosted git repository. vitalii pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/drill.git
commit 90b8fcb8f01277de10d1cdb8c3ecca3ad8a6294d Author: Oleg Zinoviev <[email protected]> AuthorDate: Thu Mar 14 16:56:45 2019 +0300 DRILL-7103: Incorrect conversion to integer in BsonRecordReader#writeTimeStamp closes #1695 --- .../java/org/apache/drill/exec/store/bson/BsonRecordReader.java | 2 +- .../org/apache/drill/exec/store/bson/TestBsonRecordReader.java | 8 +++++--- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/exec/java-exec/src/main/java/org/apache/drill/exec/store/bson/BsonRecordReader.java b/exec/java-exec/src/main/java/org/apache/drill/exec/store/bson/BsonRecordReader.java index 2580010..64c6200 100644 --- a/exec/java-exec/src/main/java/org/apache/drill/exec/store/bson/BsonRecordReader.java +++ b/exec/java-exec/src/main/java/org/apache/drill/exec/store/bson/BsonRecordReader.java @@ -255,7 +255,7 @@ public class BsonRecordReader { } else { t = writer.list.timeStamp(); } - t.writeTimeStamp((int) (dateTime.withZoneRetainFields(org.joda.time.DateTimeZone.UTC).getMillis())); + t.writeTimeStamp(dateTime.withZoneRetainFields(org.joda.time.DateTimeZone.UTC).getMillis()); } private void writeString(String readString, final MapOrListWriterImpl writer, String fieldName, boolean isList) { diff --git a/exec/java-exec/src/test/java/org/apache/drill/exec/store/bson/TestBsonRecordReader.java b/exec/java-exec/src/test/java/org/apache/drill/exec/store/bson/TestBsonRecordReader.java index 256f1ee..c3ff89a 100644 --- a/exec/java-exec/src/test/java/org/apache/drill/exec/store/bson/TestBsonRecordReader.java +++ b/exec/java-exec/src/test/java/org/apache/drill/exec/store/bson/TestBsonRecordReader.java @@ -75,17 +75,19 @@ public class TestBsonRecordReader { writer.reset(); bsonReader.write(writer, new BsonDocumentReader(bsonDoc)); SingleMapReaderImpl mapReader = (SingleMapReaderImpl) writer.getMapVector().getReader(); - assertEquals(10l, mapReader.reader("seqNo").readLong().longValue()); + assertEquals(10L, mapReader.reader("seqNo").readLong().longValue()); } @Test public void testTimeStampType() throws IOException { BsonDocument bsonDoc = new BsonDocument(); - bsonDoc.append("ts", new BsonTimestamp(1000, 10)); + bsonDoc.append("ts_small", new BsonTimestamp(1000, 10)); + bsonDoc.append("ts_large", new BsonTimestamp(1000000000, 10)); writer.reset(); bsonReader.write(writer, new BsonDocumentReader(bsonDoc)); SingleMapReaderImpl mapReader = (SingleMapReaderImpl) writer.getMapVector().getReader(); - assertEquals(1000000l, mapReader.reader("ts").readLocalDateTime().atZone(ZoneOffset.systemDefault()).toInstant().toEpochMilli()); + assertEquals(1000000L, mapReader.reader("ts_small").readLocalDateTime().atZone(ZoneOffset.systemDefault()).toInstant().toEpochMilli()); + assertEquals(1000000000000L, mapReader.reader("ts_large").readLocalDateTime().atZone(ZoneOffset.systemDefault()).toInstant().toEpochMilli()); } @Test
