You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tajo.apache.org by jh...@apache.org on 2013/12/06 08:29:30 UTC
git commit: TAJO-389: The LazyTuple does not work when number format
exception occurs in text deserializer. (jinho)
Updated Branches:
refs/heads/master 988fff90c -> 19b6abc3e
TAJO-389: The LazyTuple does not work when number format exception occurs in text deserializer. (jinho)
Project: http://git-wip-us.apache.org/repos/asf/incubator-tajo/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-tajo/commit/19b6abc3
Tree: http://git-wip-us.apache.org/repos/asf/incubator-tajo/tree/19b6abc3
Diff: http://git-wip-us.apache.org/repos/asf/incubator-tajo/diff/19b6abc3
Branch: refs/heads/master
Commit: 19b6abc3ec9c6b9f276194937e00ba3fe976e012
Parents: 988fff9
Author: jinossy <ji...@gmail.com>
Authored: Fri Dec 6 16:28:40 2013 +0900
Committer: jinossy <ji...@gmail.com>
Committed: Fri Dec 6 16:28:40 2013 +0900
----------------------------------------------------------------------
CHANGES.txt | 3 +++
.../java/org/apache/tajo/storage/LazyTuple.java | 3 +--
.../org/apache/tajo/storage/TestLazyTuple.java | 18 ++++++++++++++++++
3 files changed, 22 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-tajo/blob/19b6abc3/CHANGES.txt
----------------------------------------------------------------------
diff --git a/CHANGES.txt b/CHANGES.txt
index 60af6a6..2b41d1a 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -101,6 +101,9 @@ Release 0.8.0 - unreleased
BUG FIXES
+ TAJO-389: The LazyTuple does not work when number format exception occurs
+ in text deserializer. (jinho)
+
TAJO-387: Query is hanging when errors occurs in Query or SubQuery class.
(hyunsik)
http://git-wip-us.apache.org/repos/asf/incubator-tajo/blob/19b6abc3/tajo-core/tajo-core-storage/src/main/java/org/apache/tajo/storage/LazyTuple.java
----------------------------------------------------------------------
diff --git a/tajo-core/tajo-core-storage/src/main/java/org/apache/tajo/storage/LazyTuple.java b/tajo-core/tajo-core-storage/src/main/java/org/apache/tajo/storage/LazyTuple.java
index 50bc65c..9765d13 100644
--- a/tajo-core/tajo-core-storage/src/main/java/org/apache/tajo/storage/LazyTuple.java
+++ b/tajo-core/tajo-core-storage/src/main/java/org/apache/tajo/storage/LazyTuple.java
@@ -22,7 +22,6 @@ import org.apache.tajo.catalog.Schema;
import org.apache.tajo.datum.*;
import org.apache.tajo.datum.exception.InvalidCastException;
-import java.io.IOException;
import java.net.InetAddress;
import java.util.Arrays;
@@ -122,7 +121,7 @@ public class LazyTuple implements Tuple {
try {
values[fieldId] = serializeDeserialize.deserialize(schema.getColumn(fieldId),
textBytes[fieldId], 0, textBytes[fieldId].length, nullBytes);
- } catch (IOException e) {
+ } catch (Exception e) {
values[fieldId] = NullDatum.get();
}
textBytes[fieldId] = null;
http://git-wip-us.apache.org/repos/asf/incubator-tajo/blob/19b6abc3/tajo-core/tajo-core-storage/src/test/java/org/apache/tajo/storage/TestLazyTuple.java
----------------------------------------------------------------------
diff --git a/tajo-core/tajo-core-storage/src/test/java/org/apache/tajo/storage/TestLazyTuple.java b/tajo-core/tajo-core-storage/src/test/java/org/apache/tajo/storage/TestLazyTuple.java
index 4cb0b34..811a191 100644
--- a/tajo-core/tajo-core-storage/src/test/java/org/apache/tajo/storage/TestLazyTuple.java
+++ b/tajo-core/tajo-core-storage/src/test/java/org/apache/tajo/storage/TestLazyTuple.java
@@ -215,4 +215,22 @@ public class TestLazyTuple {
assertEquals(i + 1, t1.get(i).asInt4());
}
}
+
+ @Test
+ public void testInvalidNumber() {
+ byte[][] bytes = Bytes.splitPreserveAllTokens(" 1| |2 ||".getBytes(), '|');
+ Schema schema = new Schema();
+ schema.addColumn("col1", TajoDataTypes.Type.INT2);
+ schema.addColumn("col2", TajoDataTypes.Type.INT4);
+ schema.addColumn("col3", TajoDataTypes.Type.INT8);
+ schema.addColumn("col4", TajoDataTypes.Type.FLOAT4);
+ schema.addColumn("col5", TajoDataTypes.Type.FLOAT8);
+
+ LazyTuple tuple = new LazyTuple(schema, bytes, 0);
+ assertEquals(bytes.length, tuple.size());
+
+ for (int i = 0; i < tuple.size(); i++){
+ assertEquals(NullDatum.get(), tuple.get(i));
+ }
+ }
}