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));
+    }
+  }
 }