ignite-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Pat Patterson (JIRA)" <j...@apache.org>
Subject [jira] [Created] (IGNITE-9606) JDBC getPrimaryKeys() returns wrong value for COLUMN_NAME
Date Sat, 15 Sep 2018 13:32:00 GMT
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)

Mime
View raw message