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.