You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@drill.apache.org by vi...@apache.org on 2019/03/24 23:34:30 UTC
[drill] 03/05: DRILL-7103: Incorrect conversion to integer in
BsonRecordReader#writeTimeStamp
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 <oz...@solit-clouds.ru>
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