From 72440a2ec617d2139399f53eec067b1d39a08513 Mon Sep 17 00:00:00 2001 From: Sakthivel Subramanian Date: Thu, 8 Jan 2026 17:08:39 +0530 Subject: [PATCH] chore: Update product name in JDBC metadata for PG dialect --- .../com/google/cloud/spanner/jdbc/JdbcDatabaseMetaData.java | 3 ++- .../google/cloud/spanner/jdbc/JdbcDatabaseMetaDataTest.java | 5 ++++- 2 files changed, 6 insertions(+), 2 deletions(-) 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 98d23a226..7168e2f92 100644 --- a/src/main/java/com/google/cloud/spanner/jdbc/JdbcDatabaseMetaData.java +++ b/src/main/java/com/google/cloud/spanner/jdbc/JdbcDatabaseMetaData.java @@ -48,6 +48,7 @@ class JdbcDatabaseMetaData extends AbstractJdbcWrapper implements DatabaseMetaDa private static final int DATABASE_MAJOR_VERSION = 1; private static final int DATABASE_MINOR_VERSION = 0; private static final String PRODUCT_NAME = "Google Cloud Spanner"; + private static final String POSTGRESQL_PRODUCT_NAME = PRODUCT_NAME + " PostgreSQL"; @VisibleForTesting static String readSqlFromFile(String filename, Dialect dialect) { @@ -137,7 +138,7 @@ public boolean nullsAreSortedAtEnd() { @Override public String getDatabaseProductName() { - return PRODUCT_NAME; + return connection.getDialect() == Dialect.POSTGRESQL ? POSTGRESQL_PRODUCT_NAME : PRODUCT_NAME; } @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 4545bb56e..fc3168ab4 100644 --- a/src/test/java/com/google/cloud/spanner/jdbc/JdbcDatabaseMetaDataTest.java +++ b/src/test/java/com/google/cloud/spanner/jdbc/JdbcDatabaseMetaDataTest.java @@ -57,6 +57,8 @@ public static Object[] data() { private static final int DATABASE_MAJOR_VERSION = 1; private static final int DATABASE_MINOR_VERSION = 0; private static final String DATABASE_PRODUCT_NAME = "Google Cloud Spanner"; + private static final String POSTGRESQL_DATABASE_PRODUCT_NAME = + DATABASE_PRODUCT_NAME + " PostgreSQL"; @Test public void testTrivialMethods() throws SQLException { @@ -90,7 +92,6 @@ public void testTrivialMethods() throws SQLException { assertEquals("CATALOG", meta.getCatalogTerm()); assertEquals(DATABASE_MAJOR_VERSION, meta.getDatabaseMajorVersion()); assertEquals(DATABASE_MINOR_VERSION, meta.getDatabaseMinorVersion()); - assertEquals(DATABASE_PRODUCT_NAME, meta.getDatabaseProductName()); assertEquals( DATABASE_MAJOR_VERSION + "." + DATABASE_MINOR_VERSION, meta.getDatabaseProductVersion()); assertEquals(Connection.TRANSACTION_SERIALIZABLE, meta.getDefaultTransactionIsolation()); @@ -134,8 +135,10 @@ public void testTrivialMethods() throws SQLException { assertFalse(meta.isCatalogAtStart()); assertEquals(connection.isReadOnly(), meta.isReadOnly()); if (dialect == Dialect.POSTGRESQL) { + assertEquals(POSTGRESQL_DATABASE_PRODUCT_NAME, meta.getDatabaseProductName()); assertTrue(meta.storesLowerCaseIdentifiers()); } else { + assertEquals(DATABASE_PRODUCT_NAME, meta.getDatabaseProductName()); assertFalse(meta.storesLowerCaseIdentifiers()); } assertFalse(meta.storesLowerCaseQuotedIdentifiers());