Pat Patterson created IGNITE-9606:
-------------------------------------
Summary: JDBC getPrimaryKeys() returns wrong value for COLUMN_NAME
Key: IGNITE-9606
URL:
https://issues.apache.org/jira/browse/IGNITE-9606 Project: Ignite
Issue Type: Bug
Components: jdbc
Affects Versions: 2.6
Reporter: Pat Patterson
JDBC {{getPrimaryKeys()}} method returns {{_KEY}} as column name rather than actual column name. This breaks apps that expect a valid column name as the primary key.
Trivially reproducible:
{noformat}
public static void main(String[] args) throws Exception {
// Register JDBC driver.
Class.forName("org.apache.ignite.IgniteJdbcThinDriver");
// Open JDBC connection.
try (Connection conn = DriverManager.getConnection("jdbc:ignite:thin://127.0.0.1/")) {
// Create database tables.
try (Statement stmt = conn.createStatement()) {
stmt.executeUpdate("CREATE TABLE TESTER (" + " ID LONG PRIMARY KEY, NAME VARCHAR) " + " WITH \"template=replicated\"");
}
// Get database metadata
DatabaseMetaData md = conn.getMetaData();
// Get primary keys
ResultSet rs = md.getPrimaryKeys(conn.getCatalog(), "", "TESTER");
//
while (rs.next()) {
// Column 4 is COLUMN_NAME
System.out.println("Primary key column is " + rs.getString(4));
}
}
}
{noformat}
Expected output is:
{noformat}
Primary key column is ID
{noformat}
Actual output is:
{noformat}
Primary key column is _KEY
{noformat}
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)