diff --git a/cayenne-server/src/main/java/org/apache/cayenne/dba/JdbcPkGenerator.java b/cayenne-server/src/main/java/org/apache/cayenne/dba/JdbcPkGenerator.java index 4d9393faac..cd8876768f 100644 --- a/cayenne-server/src/main/java/org/apache/cayenne/dba/JdbcPkGenerator.java +++ b/cayenne-server/src/main/java/org/apache/cayenne/dba/JdbcPkGenerator.java @@ -20,7 +20,6 @@ package org.apache.cayenne.dba; import java.sql.Connection; -import java.sql.DatabaseMetaData; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; @@ -167,10 +166,17 @@ protected String dropAutoPkString() { protected boolean autoPkTableExists(DataNode node) throws SQLException { try (Connection con = node.getDataSource().getConnection();) { - DatabaseMetaData md = con.getMetaData(); - - try (ResultSet tables = md.getTables(null, null, "AUTO_PK_SUPPORT", null);) { - return tables.next(); + // Need to use same schema as the insert/update queries will + // use. Could use md.getTables with con.getSchema, but that require + // up to date driver and pool. + String sql = "SELECT * from AUTO_PK_SUPPORT"; + try (Statement stm = con.createStatement();) { + stm.setMaxRows(1); + try (ResultSet rs = stm.executeQuery(sql);) { + return true; + } catch (SQLException e) { + return false; + } } } } diff --git a/docs/doc/src/main/resources/RELEASE-NOTES.txt b/docs/doc/src/main/resources/RELEASE-NOTES.txt index 74daf9539c..930a30021d 100644 --- a/docs/doc/src/main/resources/RELEASE-NOTES.txt +++ b/docs/doc/src/main/resources/RELEASE-NOTES.txt @@ -32,6 +32,7 @@ CAY-2023 Decouple the use of ResourceLocator CAY-2025 Support for DBCP2 CAY-2026 Java 7 CAY-2027 Support for Expression outer join syntax in EJBQL +CAY-2024 Check for AUTO_PK_SUPPORT should respect current schema Bug Fixes: