From: Ole John Aske Date: March 12 2012 1:34pm Subject: bzr push into mysql-trunk-cluster branch (ole.john.aske:3440 to 3441) List-Archive: http://lists.mysql.com/commits/143162 Message-Id: <20120312133438.E4320242@fimafeng09.norway.sun.com> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit 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).