diff options
Diffstat (limited to 'contrib/storage-jdbc/src')
4 files changed, 18 insertions, 9 deletions
diff --git a/contrib/storage-jdbc/src/test/java/org/apache/drill/exec/store/jdbc/TestJdbcPluginWithMySQLIT.java b/contrib/storage-jdbc/src/test/java/org/apache/drill/exec/store/jdbc/TestJdbcPluginWithMySQLIT.java index 361559c93..963d75e7b 100644 --- a/contrib/storage-jdbc/src/test/java/org/apache/drill/exec/store/jdbc/TestJdbcPluginWithMySQLIT.java +++ b/contrib/storage-jdbc/src/test/java/org/apache/drill/exec/store/jdbc/TestJdbcPluginWithMySQLIT.java @@ -21,6 +21,7 @@ import org.apache.drill.categories.JdbcStorageTest; import org.apache.drill.exec.expr.fn.impl.DateUtility; import org.apache.drill.PlanTestBase; +import org.junit.Assume; import org.junit.Test; import org.junit.experimental.categories.Category; @@ -145,6 +146,11 @@ public class TestJdbcPluginWithMySQLIT extends PlanTestBase { @Test public void testCaseSensitiveTableNames() throws Exception { + String osName = System.getProperty("os.name").toLowerCase(); + Assume.assumeTrue( + "Skip tests for non-linux systems due to " + + "table names case-insensitivity problems on Windows and MacOS", + osName.startsWith("linux")); test("use mysqlCaseInsensitive.`drill_mysql_test`"); // two table names match the filter ignoring the case assertEquals(2, testSql("show tables like 'caseSensitiveTable'")); diff --git a/contrib/storage-jdbc/src/test/resources/bootstrap-storage-plugins.json b/contrib/storage-jdbc/src/test/resources/bootstrap-storage-plugins.json index 945ddeb53..1c2aa3fc6 100755 --- a/contrib/storage-jdbc/src/test/resources/bootstrap-storage-plugins.json +++ b/contrib/storage-jdbc/src/test/resources/bootstrap-storage-plugins.json @@ -9,13 +9,13 @@ }, mysql : { type : "jdbc", - driver : "com.mysql.jdbc.Driver", + driver : "com.mysql.cj.jdbc.Driver", url : "jdbc:mysql://localhost:${mysql.reserved.port}/${mysql.database.name}?user=root&password=root&useJDBCCompliantTimezoneShift=true", enabled : true }, mysqlCaseInsensitive : { type : "jdbc", - driver : "com.mysql.jdbc.Driver", + driver : "com.mysql.cj.jdbc.Driver", url : "jdbc:mysql://localhost:${mysql.reserved.port}/${mysql.database.name}?user=root&password=root&useJDBCCompliantTimezoneShift=true", caseInsensitiveTableNames: true, enabled : true diff --git a/contrib/storage-jdbc/src/test/resources/mysql-test-data-linux.sql b/contrib/storage-jdbc/src/test/resources/mysql-test-data-linux.sql new file mode 100644 index 000000000..e20916697 --- /dev/null +++ b/contrib/storage-jdbc/src/test/resources/mysql-test-data-linux.sql @@ -0,0 +1,10 @@ +set global time_zone = "+00:00"; + +use drill_mysql_test; + +create table CASESENSITIVETABLE ( + a BLOB, + b BLOB +); + +insert into CASESENSITIVETABLE (a, b) values ('this is a test', 'for case sensitive table names'); diff --git a/contrib/storage-jdbc/src/test/resources/mysql-test-data.sql b/contrib/storage-jdbc/src/test/resources/mysql-test-data.sql index 92ad6ff57..0d2ab682c 100644 --- a/contrib/storage-jdbc/src/test/resources/mysql-test-data.sql +++ b/contrib/storage-jdbc/src/test/resources/mysql-test-data.sql @@ -9,13 +9,6 @@ create table caseSensitiveTable ( insert into caseSensitiveTable (a) values ('this is a test'); -create table CASESENSITIVETABLE ( - a BLOB, - b BLOB -); - -insert into CASESENSITIVETABLE (a, b) values ('this is a test', 'for case sensitive table names'); - create table person ( person_id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, |