Index: ../src-rep/src/lib/aqua-database/com/aquafold/aquacore/open/rdbms/core/scripts/engine/AFExplainPlanUtil.java IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>windows-1252 =================================================================== --- ../src-rep/src/lib/aqua-database/com/aquafold/aquacore/open/rdbms/core/scripts/engine/AFExplainPlanUtil.java (revision 56180) +++ ../src-rep/src/lib/aqua-database/com/aquafold/aquacore/open/rdbms/core/scripts/engine/AFExplainPlanUtil.java (revision ) @@ -1032,20 +1032,32 @@ } else { try { + ResultSet rs; stmt = conn.createStatement(); - ResultSet rs = stmt.executeQuery("EXPLAIN PARTITIONS " + sqlStatement); + if (connSettings.isMySQL(ConnectionProperties.MATCH_EQUAL_OR_GREATER, ConnectionProperties.VERSION_MYSQL_8_0)) { + rs = stmt.executeQuery("EXPLAIN " + sqlStatement); - while (rs.next()) { - AFExplainPlanMySQLUtil.addPartitionItem(stmtID, rs.getObject("table"), rs.getObject("partitions")); + while (rs.next()) { + AFExplainPlanMySQLUtil.addPartitionItem(stmtID, rs.getObject("table"), rs.getObject("partitions")); + AFExplainPlanMySQLUtil.addExplainItem(stmtID, rs.getObject("id"), rs.getObject("select_type"), rs.getObject("table"), rs.getObject("type") + , rs.getObject("possible_keys"), rs.getObject("key"), + rs.getObject("key_len"), rs.getObject("ref"), rs.getObject("rows"), + rs.getObject("filtered"), rs.getObject("Extra")); - } + } + } + else { + rs = stmt.executeQuery("EXPLAIN PARTITIONS " + sqlStatement); + while (rs.next()) { + AFExplainPlanMySQLUtil.addPartitionItem(stmtID, rs.getObject("table"), rs.getObject("partitions")); + } - rs = stmt.executeQuery("EXPLAIN EXTENDED " + sqlStatement); - while (rs.next()) { - AFExplainPlanMySQLUtil.addExplainItem(stmtID, rs.getObject("id"), rs.getObject("select_type"), rs.getObject("table"), rs.getObject("type") - , rs.getObject("possible_keys"), rs.getObject("key"), - rs.getObject("key_len"), rs.getObject("ref"), rs.getObject("rows"), - rs.getObject("filtered"), rs.getObject("Extra")); - } + rs = stmt.executeQuery("EXPLAIN EXTENDED " + sqlStatement); + while (rs.next()) { + AFExplainPlanMySQLUtil.addExplainItem(stmtID, rs.getObject("id"), rs.getObject("select_type"), rs.getObject("table"), rs.getObject("type") + , rs.getObject("possible_keys"), rs.getObject("key"), + rs.getObject("key_len"), rs.getObject("ref"), rs.getObject("rows"), + rs.getObject("filtered"), rs.getObject("Extra")); + } - + } rs = stmt.executeQuery("SHOW STATUS LIKE 'last_query_cost'"); while (rs.next()) { AFExplainPlanMySQLUtil.addCostItem(stmtID, rs.getObject(2));