diff --git a/src/main/java/com/google/cloud/spanner/jdbc/JdbcDatabaseMetaData.java b/src/main/java/com/google/cloud/spanner/jdbc/JdbcDatabaseMetaData.java index 67c6976c7..98d23a226 100644 --- a/src/main/java/com/google/cloud/spanner/jdbc/JdbcDatabaseMetaData.java +++ b/src/main/java/com/google/cloud/spanner/jdbc/JdbcDatabaseMetaData.java @@ -187,7 +187,7 @@ public boolean storesUpperCaseIdentifiers() { @Override public boolean storesLowerCaseIdentifiers() { - return false; + return connection.getDialect() == Dialect.POSTGRESQL; } @Override diff --git a/src/test/java/com/google/cloud/spanner/jdbc/JdbcDatabaseMetaDataTest.java b/src/test/java/com/google/cloud/spanner/jdbc/JdbcDatabaseMetaDataTest.java index d5a429078..4545bb56e 100644 --- a/src/test/java/com/google/cloud/spanner/jdbc/JdbcDatabaseMetaDataTest.java +++ b/src/test/java/com/google/cloud/spanner/jdbc/JdbcDatabaseMetaDataTest.java @@ -61,6 +61,7 @@ public static Object[] data() { @Test public void testTrivialMethods() throws SQLException { JdbcConnection connection = mock(JdbcConnection.class); + when(connection.getDialect()).thenReturn(dialect); DatabaseMetaData meta = new JdbcDatabaseMetaData(connection); assertTrue(meta.allProceduresAreCallable()); assertTrue(meta.allTablesAreSelectable()); @@ -132,7 +133,11 @@ public void testTrivialMethods() throws SQLException { assertTrue(meta.nullPlusNonNullIsNull()); assertFalse(meta.isCatalogAtStart()); assertEquals(connection.isReadOnly(), meta.isReadOnly()); - assertFalse(meta.storesLowerCaseIdentifiers()); + if (dialect == Dialect.POSTGRESQL) { + assertTrue(meta.storesLowerCaseIdentifiers()); + } else { + assertFalse(meta.storesLowerCaseIdentifiers()); + } assertFalse(meta.storesLowerCaseQuotedIdentifiers()); assertTrue(meta.storesMixedCaseIdentifiers()); assertTrue(meta.storesMixedCaseQuotedIdentifiers());