3441 Ole John Aske 2012-03-12
Addapted explain of pushed joins to the changes introduced
by WL5855: Print EXPLAIN in JSON format
modified:
sql/opt_explain.cc
sql/opt_explain_format.h
sql/opt_explain_json.cc
sql/opt_explain_traditional.cc
3440 magnus.blaudd@stripped 2012-03-12
WL#6224 Adapt MySQL Cluster to 5.6
- The "Extra" column of EXPLAIN now output NULL instead of empty string
- record new .result for affected test cases
modified:
mysql-test/suite/ndb/r/ndb_basic.result
mysql-test/suite/ndb/r/ndb_blob.result
mysql-test/suite/ndb/r/ndb_dd_sql_features.result
mysql-test/suite/ndb/r/ndb_gis.result
mysql-test/suite/ndb/r/ndb_index.result
=== modified file 'sql/opt_explain.cc'
--- a/sql/opt_explain.cc 2012-03-09 12:03:07 +0000
+++ b/sql/opt_explain.cc 2012-03-12 13:34:16 +0000
@@ -912,17 +912,23 @@ bool Explain_table_base::explain_extra_c
{
uint pushed_count= tab->table->file->number_of_pushed_joins();
len= my_snprintf(buf, sizeof(buf)-1,
- "; Parent of %d pushed join@%d",
+ "Parent of %d pushed join@%d",
pushed_count, pushed_id);
}
else
{
len= my_snprintf(buf, sizeof(buf)-1,
- "; Child of '%s' in pushed join@%d",
+ "Child of '%s' in pushed join@%d",
tab->table->file->parent_of_pushed_join()->alias,
pushed_id);
}
- //str_extra->append(buf,len);
+
+ {
+ StringBuffer<128> buff(cs);
+ buff.append(buf,len);
+ if (push_extra(ET_PUSHED_JOIN, buff))
+ return true;
+ }
}
#endif
=== modified file 'sql/opt_explain_format.h'
--- a/sql/opt_explain_format.h 2012-02-29 11:17:52 +0000
+++ b/sql/opt_explain_format.h 2012-03-12 13:34:16 +0000
@@ -98,6 +98,9 @@ enum Extra_tag
ET_CONST_ROW_NOT_FOUND,
ET_UNIQUE_ROW_NOT_FOUND,
ET_IMPOSSIBLE_ON_CONDITION,
+#ifndef MCP_WL4784
+ ET_PUSHED_JOIN,
+#endif
//------------------------------------
ET_total
};
=== modified file 'sql/opt_explain_json.cc'
--- a/sql/opt_explain_json.cc 2012-02-29 12:37:34 +0000
+++ b/sql/opt_explain_json.cc 2012-03-12 13:34:16 +0000
@@ -53,6 +53,9 @@ static const char *json_extra_tags[ET_to
"const_row_not_found", // ET_CONST_ROW_NOT_FOUND
"unique_row_not_found", // ET_UNIQUE_ROW_NOT_FOUND
"impossible_on_condition", // ET_IMPOSSIBLE_ON_CONDITION
+#ifndef MCP_WL4784
+ NULL // ET_PUSHED_JOIN
+#endif
};
=== modified file 'sql/opt_explain_traditional.cc'
--- a/sql/opt_explain_traditional.cc 2012-02-29 11:17:52 +0000
+++ b/sql/opt_explain_traditional.cc 2012-03-12 13:34:16 +0000
@@ -51,7 +51,10 @@ static const char *traditional_extra_tag
"Using join buffer", // ET_USING_JOIN_BUFFER
"const row not found", // ET_CONST_ROW_NOT_FOUND
"unique row not found", // ET_UNIQUE_ROW_NOT_FOUND
- "Impossible ON condition" // ET_IMPOSSIBLE_ON_CONDITION
+ "Impossible ON condition", // ET_IMPOSSIBLE_ON_CONDITION
+#ifndef MCP_WL4784
+ "" // ET_PUSHED_JOIN
+#endif
};
@@ -202,6 +205,9 @@ bool Explain_format_traditional::flush_e
break;
}
if (e->tag != ET_FIRST_MATCH && // for backward compatibility
+#ifndef MCP_WL4784
+ e->tag != ET_PUSHED_JOIN && // for backward compatibility
+#endif
buff.append(" "))
return true;
if (brackets && buff.append("("))
No bundle (reason: useless for push emails).
| Thread |
|---|
| • bzr push into mysql-trunk-cluster branch (ole.john.aske:3440 to 3441) | Ole John Aske | 12 Mar |