You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@drill.apache.org by ja...@apache.org on 2014/05/12 01:08:55 UTC
[8/8] git commit: DRILL-688: Fix timestamp constant serialization
DRILL-688: Fix timestamp constant serialization
Project: http://git-wip-us.apache.org/repos/asf/incubator-drill/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-drill/commit/45e14df5
Tree: http://git-wip-us.apache.org/repos/asf/incubator-drill/tree/45e14df5
Diff: http://git-wip-us.apache.org/repos/asf/incubator-drill/diff/45e14df5
Branch: refs/heads/master
Commit: 45e14df5a83196d6c042a92a9de3f6bb893fa6e1
Parents: 0493582
Author: Mehant Baid <me...@gmail.com>
Authored: Sun May 11 00:58:24 2014 -0700
Committer: Jacques Nadeau <ja...@apache.org>
Committed: Sun May 11 15:44:36 2014 -0700
----------------------------------------------------------------------
.../expression/ExpressionStringBuilder.java | 19 ++-----------------
.../drill/jdbc/test/TestFunctionsQuery.java | 14 ++++++++++++++
2 files changed, 16 insertions(+), 17 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/45e14df5/common/src/main/java/org/apache/drill/common/expression/ExpressionStringBuilder.java
----------------------------------------------------------------------
diff --git a/common/src/main/java/org/apache/drill/common/expression/ExpressionStringBuilder.java b/common/src/main/java/org/apache/drill/common/expression/ExpressionStringBuilder.java
index 2ec4fca..9588863 100644
--- a/common/src/main/java/org/apache/drill/common/expression/ExpressionStringBuilder.java
+++ b/common/src/main/java/org/apache/drill/common/expression/ExpressionStringBuilder.java
@@ -151,26 +151,11 @@ public class ExpressionStringBuilder extends AbstractExprVisitor<Void, StringBui
return null;
}
- static final DateTimeFormatter TIMESTAMP_FORMAT;
- static {
- DateTimeFormatter dateFormatter = DateTimeFormat.forPattern("yyyy-MM-dd");
- DateTimeParser optionalTime = DateTimeFormat.forPattern(" HH:mm:ss").getParser();
- DateTimeParser optionalSec = DateTimeFormat.forPattern(".SSS").getParser();
-
- TIMESTAMP_FORMAT = new DateTimeFormatterBuilder().append(dateFormatter).appendOptional(optionalTime).appendOptional(optionalSec).toFormatter();
-
- }
-
@Override
public Void visitTimeStampConstant(TimeStampExpression lExpr, StringBuilder sb) throws RuntimeException {
- sb.append("cast( '");
- try {
- TIMESTAMP_FORMAT.printTo(sb, lExpr.getTimeStamp());
- } catch (IOException e) {
- throw new RuntimeException(e);
- }
+ sb.append("cast( ");
sb.append(lExpr.getTimeStamp());
- sb.append(" ' as TIMESTAMP)");
+ sb.append(" as TIMESTAMP)");
return null;
}
http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/45e14df5/exec/jdbc/src/test/java/org/apache/drill/jdbc/test/TestFunctionsQuery.java
----------------------------------------------------------------------
diff --git a/exec/jdbc/src/test/java/org/apache/drill/jdbc/test/TestFunctionsQuery.java b/exec/jdbc/src/test/java/org/apache/drill/jdbc/test/TestFunctionsQuery.java
index 5ef25dc..1212e9f 100644
--- a/exec/jdbc/src/test/java/org/apache/drill/jdbc/test/TestFunctionsQuery.java
+++ b/exec/jdbc/src/test/java/org/apache/drill/jdbc/test/TestFunctionsQuery.java
@@ -401,4 +401,18 @@ public class TestFunctionsQuery {
"STR_1=1234 COL_VALUE 0 - STRING\n"
);
}
+
+ @Test
+ public void testTimeStampConstant() throws Exception {
+ String query = String.format("SELECT " +
+ "timestamp '2008-2-23 12:23:23' as TS " +
+ "FROM dfs.`%s/../../sample-data/region.parquet` limit 1", WORKING_PATH);
+
+ JdbcAssert.withNoDefaultSchema()
+ .sql(query)
+ .returns(
+ "TS=2008-02-23 12:23:23.0\n"
+ );
+ }
+
}