You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@geode.apache.org by ag...@apache.org on 2018/04/05 17:53:52 UTC

[geode] 13/23: GEODE-4947: Fix MySQL test truncating timestamps

This is an automated email from the ASF dual-hosted git repository.

agingade pushed a commit to branch feature/GEODE-4947
in repository https://gitbox.apache.org/repos/asf/geode.git

commit fe91b2586cdebe3c61d7ffbd13ee0820393ab94e
Author: Nick Reich <nr...@pivotal.io>
AuthorDate: Fri Mar 30 16:04:56 2018 -0700

    GEODE-4947: Fix MySQL test truncating timestamps
---
 .../geode/connectors/jdbc/JdbcDistributedTest.java  | 21 +++++++++++----------
 .../connectors/jdbc/MySqlJdbcDistributedTest.java   | 12 ++++++++++++
 2 files changed, 23 insertions(+), 10 deletions(-)

diff --git a/geode-connectors/src/test/java/org/apache/geode/connectors/jdbc/JdbcDistributedTest.java b/geode-connectors/src/test/java/org/apache/geode/connectors/jdbc/JdbcDistributedTest.java
index 3c01a40..d3c6f07 100644
--- a/geode-connectors/src/test/java/org/apache/geode/connectors/jdbc/JdbcDistributedTest.java
+++ b/geode-connectors/src/test/java/org/apache/geode/connectors/jdbc/JdbcDistributedTest.java
@@ -25,8 +25,6 @@ import java.sql.PreparedStatement;
 import java.sql.ResultSet;
 import java.sql.SQLException;
 import java.sql.Statement;
-import java.sql.Types;
-import java.time.Instant;
 import java.util.Date;
 import java.util.Properties;
 import java.util.concurrent.TimeUnit;
@@ -52,7 +50,6 @@ import org.apache.geode.test.dunit.rules.ClusterStartupRule;
 import org.apache.geode.test.dunit.rules.DistributedRestoreSystemProperties;
 import org.apache.geode.test.dunit.rules.MemberVM;
 import org.apache.geode.test.junit.categories.DistributedTest;
-import org.apache.geode.test.junit.rules.DatabaseConnectionRule;
 import org.apache.geode.test.junit.rules.GfshCommandRule;
 import org.apache.geode.test.junit.rules.serializable.SerializableTestName;
 
@@ -319,15 +316,10 @@ public abstract class JdbcDistributedTest implements Serializable {
   }
 
   @Test
-  @Ignore("GEODE-4922: MySQL is truncating the milliseconds from the timestamp")
   public void verifyDateToTimestamp() throws Exception {
     server = startupRule.startServerVM(1, x -> x.withConnectionToLocator(locator.getPort()));
-    server.invoke(() -> {
-      Connection connection = DriverManager.getConnection(connectionUrl);
-      Statement statement = connection.createStatement();
-      statement.execute("Create Table " + TABLE_NAME
-          + " (id varchar(10) primary key not null, mytimestamp timestamp)");
-    });
+    createTableWithTimeStamp(server, connectionUrl, TABLE_NAME);
+
     createRegionUsingGfsh(true, false, true);
     createJdbcConnection();
     createMapping(REGION_NAME, CONNECTION_NAME);
@@ -354,6 +346,15 @@ public abstract class JdbcDistributedTest implements Serializable {
     });
   }
 
+  protected void createTableWithTimeStamp(MemberVM vm, String connectionUrl, String tableName) {
+    vm.invoke(() -> {
+      Connection connection = DriverManager.getConnection(connectionUrl);
+      Statement statement = connection.createStatement();
+      statement.execute("Create Table " + tableName
+          + " (id varchar(10) primary key not null, mytimestamp timestamp)");
+    });
+  }
+
   @Test
   public void putWritesToDB() throws Exception {
     createTable();
diff --git a/geode-connectors/src/test/java/org/apache/geode/connectors/jdbc/MySqlJdbcDistributedTest.java b/geode-connectors/src/test/java/org/apache/geode/connectors/jdbc/MySqlJdbcDistributedTest.java
index 2576126..56b32fb 100644
--- a/geode-connectors/src/test/java/org/apache/geode/connectors/jdbc/MySqlJdbcDistributedTest.java
+++ b/geode-connectors/src/test/java/org/apache/geode/connectors/jdbc/MySqlJdbcDistributedTest.java
@@ -16,6 +16,7 @@ package org.apache.geode.connectors.jdbc;
 
 import java.net.URL;
 import java.sql.Connection;
+import java.sql.DriverManager;
 import java.sql.PreparedStatement;
 import java.sql.SQLException;
 import java.sql.Statement;
@@ -24,6 +25,7 @@ import java.sql.Types;
 import org.junit.ClassRule;
 import org.junit.experimental.categories.Category;
 
+import org.apache.geode.test.dunit.rules.MemberVM;
 import org.apache.geode.test.junit.categories.DistributedTest;
 import org.apache.geode.test.junit.rules.MySqlConnectionRule;
 import org.apache.geode.test.junit.rules.SqlDatabaseConnectionRule;
@@ -85,4 +87,14 @@ public class MySqlJdbcDistributedTest extends JdbcDistributedTest {
     statement.setNull(12, Types.BLOB);
     statement.setNull(13, Types.CHAR);
   }
+
+  @Override
+  protected void createTableWithTimeStamp(MemberVM vm, String connectionUrl, String tableName) {
+    vm.invoke(() -> {
+      Connection connection = DriverManager.getConnection(connectionUrl);
+      Statement statement = connection.createStatement();
+      statement.execute("CREATE TABLE " + tableName
+          + " (id varchar(10) primary key not null, mytimestamp timestamp(3))");
+    });
+  }
 }

-- 
To stop receiving notification emails like this one, please contact
agingade@apache.org.