You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@phoenix.apache.org by td...@apache.org on 2015/04/22 21:46:29 UTC
phoenix git commit: PHOENIX-1769 Exception thrown when TO_DATE
function used as LHS in WHERE-clause
Repository: phoenix
Updated Branches:
refs/heads/4.x-HBase-0.98 4d957ee3c -> c00c03700
PHOENIX-1769 Exception thrown when TO_DATE function used as LHS in WHERE-clause
Project: http://git-wip-us.apache.org/repos/asf/phoenix/repo
Commit: http://git-wip-us.apache.org/repos/asf/phoenix/commit/c00c0370
Tree: http://git-wip-us.apache.org/repos/asf/phoenix/tree/c00c0370
Diff: http://git-wip-us.apache.org/repos/asf/phoenix/diff/c00c0370
Branch: refs/heads/4.x-HBase-0.98
Commit: c00c03700f8e8cba085d79d23c3595e358784faf
Parents: 4d957ee
Author: Soumen <so...@users.noreply.github.com>
Authored: Tue Apr 14 14:56:45 2015 -0700
Committer: Thomas <td...@salesforce.com>
Committed: Wed Apr 22 12:46:19 2015 -0700
----------------------------------------------------------------------
.../phoenix/end2end/ToDateFunctionIT.java | 46 ++++++++++++++------
1 file changed, 32 insertions(+), 14 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/phoenix/blob/c00c0370/phoenix-core/src/it/java/org/apache/phoenix/end2end/ToDateFunctionIT.java
----------------------------------------------------------------------
diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/ToDateFunctionIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/ToDateFunctionIT.java
index 8de39b7..dbe47ca 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/ToDateFunctionIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/ToDateFunctionIT.java
@@ -18,26 +18,17 @@
package org.apache.phoenix.end2end;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
-
-import java.sql.Connection;
-import java.sql.Date;
-import java.sql.DriverManager;
-import java.sql.ResultSet;
-import java.sql.SQLException;
-import java.sql.Statement;
-import java.sql.Time;
-import java.sql.Timestamp;
-import java.util.Properties;
-
import org.apache.phoenix.query.QueryServices;
import org.apache.phoenix.schema.TypeMismatchException;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
+import java.sql.*;
+import java.util.Properties;
+
+import static org.junit.Assert.*;
+
public class ToDateFunctionIT extends BaseHBaseManagedTimeIT {
@@ -233,4 +224,31 @@ public class ToDateFunctionIT extends BaseHBaseManagedTimeIT {
conn.close();
}
}
+
+ @Test
+ public void testVarcharToDateComparision() throws SQLException {
+ final String dateString1 = "1900-01-02";
+ final String dateString2 = "2100-01-01";
+
+ conn.prepareStatement(
+ "CREATE TABLE SB(" +
+ "DATE_STRING VARCHAR(50) NOT NULL " +
+ "CONSTRAINT PK PRIMARY KEY (DATE_STRING))").execute();
+ conn.commit();
+
+ String upsertSql = String.format("upsert into SB values (?)");
+ PreparedStatement stmt = conn.prepareStatement(upsertSql);
+ stmt.setString(1, dateString1);
+ stmt.execute();
+ stmt.setString(1, dateString2);
+ stmt.execute();
+ conn.commit();
+
+ String selectSql = "SELECT DATE_STRING FROM SB WHERE TO_DATE(DATE_STRING) > TO_DATE('2001-01-01')";
+ ResultSet rs = conn.prepareStatement(selectSql).executeQuery();
+ assertTrue(rs.next());
+ String obtainedString = rs.getString("DATE_STRING");
+ assertEquals("Did not get value that was inserted!!", dateString2, obtainedString);
+ assertFalse("No more rows expected!!", rs.next());
+ }
}