IGNITE-5530 Fixed import indexes from RDBMS. Added systemSchemas to 
MySQLMetadataDialect. Fixed POJO hashCode generation for double.


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

Branch: refs/heads/ignite-2.1.2-exchange
Commit: 2cc0b7315d7d6b16e5795faf5b1874f05eff43b2
Parents: 599d1a8
Author: Alexey Kuznetsov <[email protected]>
Authored: Sun Jun 18 11:44:53 2017 +0700
Committer: Alexey Kuznetsov <[email protected]>
Committed: Sun Jun 18 11:44:53 2017 +0700

----------------------------------------------------------------------
 .../generator/JavaTransformer.service.js             |  2 +-
 .../agent/db/dialect/JdbcMetadataDialect.java        | 15 ++++++++++++++-
 .../agent/db/dialect/MySQLMetadataDialect.java       |  6 ++++++
 3 files changed, 21 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ignite/blob/2cc0b731/modules/web-console/frontend/app/modules/configuration/generator/JavaTransformer.service.js
----------------------------------------------------------------------
diff --git 
a/modules/web-console/frontend/app/modules/configuration/generator/JavaTransformer.service.js
 
b/modules/web-console/frontend/app/modules/configuration/generator/JavaTransformer.service.js
index fad61d6..01f118d 100644
--- 
a/modules/web-console/frontend/app/modules/configuration/generator/JavaTransformer.service.js
+++ 
b/modules/web-console/frontend/app/modules/configuration/generator/JavaTransformer.service.js
@@ -1239,7 +1239,7 @@ export default class IgniteJavaTransformer extends 
AbstractTransformer {
 
                     tempVar = true;
 
-                    fldHashCode = `${javaName} != +0.0f ? 
Float.floatToIntBits(${javaName}) : 0`;
+                    fldHashCode = '(int) (ig_hash_temp ^ (ig_hash_temp >>> 
32))';
 
                     break;
                 default:

http://git-wip-us.apache.org/repos/asf/ignite/blob/2cc0b731/modules/web-console/web-agent/src/main/java/org/apache/ignite/console/agent/db/dialect/JdbcMetadataDialect.java
----------------------------------------------------------------------
diff --git 
a/modules/web-console/web-agent/src/main/java/org/apache/ignite/console/agent/db/dialect/JdbcMetadataDialect.java
 
b/modules/web-console/web-agent/src/main/java/org/apache/ignite/console/agent/db/dialect/JdbcMetadataDialect.java
index 031e3a7..a5da7c1 100644
--- 
a/modules/web-console/web-agent/src/main/java/org/apache/ignite/console/agent/db/dialect/JdbcMetadataDialect.java
+++ 
b/modules/web-console/web-agent/src/main/java/org/apache/ignite/console/agent/db/dialect/JdbcMetadataDialect.java
@@ -140,7 +140,7 @@ public class JdbcMetadataDialect extends 
DatabaseMetadataDialect {
                     if (sys.contains(schema))
                         continue;
 
-                    Collection<String> pkCols = new LinkedHashSet<>();
+                    Set<String> pkCols = new LinkedHashSet<>();
 
                     try (ResultSet pkRs = dbMeta.getPrimaryKeys(tblCatalog, 
tblSchema, tblName)) {
                         while (pkRs.next())
@@ -223,6 +223,19 @@ public class JdbcMetadataDialect extends 
DatabaseMetadataDialect {
                         }
                     }
 
+                    // Remove index that is equals to primary key.
+                    if (!pkCols.isEmpty()) {
+                        for (Map.Entry<String, QueryIndex> entry : 
idxs.entrySet()) {
+                            QueryIndex idx = entry.getValue();
+
+                            if (pkCols.equals(idx.getFields().keySet())) {
+                                idxs.remove(entry.getKey());
+
+                                break;
+                            }
+                        }
+                    }
+
                     tbls.add(table(schema, tblName, cols, idxs.values()));
                 }
             }

http://git-wip-us.apache.org/repos/asf/ignite/blob/2cc0b731/modules/web-console/web-agent/src/main/java/org/apache/ignite/console/agent/db/dialect/MySQLMetadataDialect.java
----------------------------------------------------------------------
diff --git 
a/modules/web-console/web-agent/src/main/java/org/apache/ignite/console/agent/db/dialect/MySQLMetadataDialect.java
 
b/modules/web-console/web-agent/src/main/java/org/apache/ignite/console/agent/db/dialect/MySQLMetadataDialect.java
index 4adeeb3..f94c447 100644
--- 
a/modules/web-console/web-agent/src/main/java/org/apache/ignite/console/agent/db/dialect/MySQLMetadataDialect.java
+++ 
b/modules/web-console/web-agent/src/main/java/org/apache/ignite/console/agent/db/dialect/MySQLMetadataDialect.java
@@ -22,6 +22,7 @@ import java.sql.DatabaseMetaData;
 import java.sql.ResultSet;
 import java.sql.SQLException;
 import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.Collection;
 import java.util.HashSet;
 import java.util.Set;
@@ -34,6 +35,11 @@ public class MySQLMetadataDialect extends 
JdbcMetadataDialect {
     private static final int TYPE_NAME_IDX = 1;
 
     /** {@inheritDoc} */
+    @Override public Set<String> systemSchemas() {
+        return new HashSet<>(Arrays.asList("information_schema", "mysql", 
"performance_schema", "sys"));
+    }
+
+    /** {@inheritDoc} */
     @Override public Collection<String> schemas(Connection conn) throws 
SQLException {
         Collection<String> schemas = new ArrayList<>();
 

Reply via email to