You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by sb...@apache.org on 2017/08/25 08:39:49 UTC

[07/18] ignite git commit: IGNITE-4643: Fixed NPE in JdbcDatabaseMetadata.getIndexInfo(). This closes #2481.

IGNITE-4643: Fixed NPE in  JdbcDatabaseMetadata.getIndexInfo(). This closes #2481.


Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/ac94426c
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/ac94426c
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/ac94426c

Branch: refs/heads/ignite-6149
Commit: ac94426ced2cee5df2c993029e2a17ea5a9aa398
Parents: d22631e
Author: Ilya Kasnacheev <il...@gmail.com>
Authored: Wed Aug 23 16:26:58 2017 +0300
Committer: devozerov <vo...@gridgain.com>
Committed: Wed Aug 23 16:26:58 2017 +0300

----------------------------------------------------------------------
 .../internal/jdbc2/JdbcMetadataSelfTest.java       | 17 +++++++++++++++++
 .../internal/jdbc2/JdbcDatabaseMetadata.java       |  2 ++
 2 files changed, 19 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ignite/blob/ac94426c/modules/clients/src/test/java/org/apache/ignite/internal/jdbc2/JdbcMetadataSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/clients/src/test/java/org/apache/ignite/internal/jdbc2/JdbcMetadataSelfTest.java b/modules/clients/src/test/java/org/apache/ignite/internal/jdbc2/JdbcMetadataSelfTest.java
index 52e68c9..f2ef769 100755
--- a/modules/clients/src/test/java/org/apache/ignite/internal/jdbc2/JdbcMetadataSelfTest.java
+++ b/modules/clients/src/test/java/org/apache/ignite/internal/jdbc2/JdbcMetadataSelfTest.java
@@ -278,6 +278,23 @@ public class JdbcMetadataSelfTest extends GridCommonAbstractTest {
     }
 
     /**
+     * @throws Exception If failed.
+     */
+    public void testIndexMetadata() throws Exception {
+        try (Connection conn = DriverManager.getConnection(BASE_URL);
+             ResultSet rs = conn.getMetaData().getIndexInfo(null, "pers", "PERSON", false, false)) {
+
+            int cnt = 0;
+
+            while (rs.next()) {
+                cnt++;
+            }
+
+            assertEquals(0, cnt);
+        }
+    }
+
+    /**
      * Person.
      */
     @SuppressWarnings("UnusedDeclaration")

http://git-wip-us.apache.org/repos/asf/ignite/blob/ac94426c/modules/core/src/main/java/org/apache/ignite/internal/jdbc2/JdbcDatabaseMetadata.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/jdbc2/JdbcDatabaseMetadata.java b/modules/core/src/main/java/org/apache/ignite/internal/jdbc2/JdbcDatabaseMetadata.java
index b369b0b..e9a5fde 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/jdbc2/JdbcDatabaseMetadata.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/jdbc2/JdbcDatabaseMetadata.java
@@ -965,6 +965,8 @@ public class JdbcDatabaseMetadata implements DatabaseMetaData {
     /** {@inheritDoc} */
     @Override public ResultSet getIndexInfo(String catalog, String schema, String tbl, boolean unique,
         boolean approximate) throws SQLException {
+        updateMetaData();
+
         Collection<List<?>> rows = new ArrayList<>(indexes.size());
 
         for (List<Object> idx : indexes) {