From: magnus.blaudd Date: June 21 2011 3:00pm Subject: bzr commit into mysql-5.5-cluster branch (magnus.blaudd:3362) List-Archive: http://lists.mysql.com/commits/139612 MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============5801779204726275800==" --===============5801779204726275800== MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Content-Disposition: inline #At file:///data0/magnus/mysql/5.5-cluster/ based on revid:frazer.clement@stripped 3362 magnus.blaudd@stripped 2011-06-21 ndb - add MCP patch for bug 51828 to 5.5-cluster which we hit when adding SQL to create ndbinfo tables to mysql_system_tables.sql - choose only significants part of patch, i.e make comp_sql print the SQL as an array of strings and then make mysql_upgrade concat that string in dynamic memory before running the query modified: client/mysql_upgrade.c scripts/comp_sql.c === modified file 'client/mysql_upgrade.c' --- a/client/mysql_upgrade.c 2011-04-14 14:31:38 +0000 +++ b/client/mysql_upgrade.c 2011-06-21 14:58:05 +0000 @@ -779,10 +779,42 @@ static int run_sql_fix_privilege_tables( if (init_dynamic_string(&ds_result, "", 512, 512)) die("Out of memory"); +#ifndef MCP_BUG51828 + /* + The SQL to run are kept in a big array of string in order + to avoid hitting compiler limits for max string length, + concatenate the strings into dynamic memory before + running the SQL. Significant parts of patch for bug#51828 + backported from trunk + */ + { + const char **query_ptr; + DYNAMIC_STRING ds_script; + + if (init_dynamic_string(&ds_script, "", 65536, 1024)) + die("Out of memory"); + + for ( query_ptr= &mysql_fix_privilege_tables[0]; + *query_ptr != NULL; + query_ptr++ + ) + { + dynstr_append(&ds_script, *query_ptr); + } + + verbose("Running 'mysql_fix_privilege_tables'..."); + run_query(ds_script.str, + &ds_result, /* Collect result */ + TRUE); + + dynstr_free(&ds_script); + } +#else verbose("Running 'mysql_fix_privilege_tables'..."); run_query(mysql_fix_privilege_tables, &ds_result, /* Collect result */ TRUE); +#endif { /* === modified file 'scripts/comp_sql.c' --- a/scripts/comp_sql.c 2010-10-27 11:32:32 +0000 +++ b/scripts/comp_sql.c 2011-06-21 14:58:05 +0000 @@ -71,7 +71,16 @@ int main(int argc, char *argv[]) if (!(out= fopen(outfile_name, "w"))) die("Failed to open output file '%s'", outfile_name); +#ifndef MCP_BUG51828 + /* + Print the SQL as an array of strings instead of one + large string in order to avoid compiler limit on max string length. + Significant parts of patch for bug#51828 backported from trunk. + */ + fprintf(out, "const char* %s[]={\n\"", struct_name); +#else fprintf(out, "const char* %s={\n\"", struct_name); +#endif while (fgets(buff, sizeof(buff), in)) { @@ -112,9 +121,17 @@ int main(int argc, char *argv[]) */ fprintf(out, "\"\n\""); } +#ifndef MCP_BUG51828 + /* new line -> convert to new entry in array */ + fprintf(out, "\",\n\""); +#endif } +#ifndef MCP_BUG51828 + fprintf(out, "\",\nNULL\n};\n"); +#else fprintf(out, "\\\n\"};\n"); +#endif fclose(in); fclose(out); --===============5801779204726275800== MIME-Version: 1.0 Content-Type: text/bzr-bundle; charset="us-ascii"; name="bzr/magnus.blaudd@stripped" Content-Transfer-Encoding: 7bit Content-Disposition: inline # Bazaar merge directive format 2 (Bazaar 0.90) # revision_id: magnus.blaudd@stripped\ # 7k7gltykvja7x0b6 # target_branch: file:///data0/magnus/mysql/5.5-cluster/ # testament_sha1: 10ebe2d79739375fa5cc1dce5267f4cb2a11f6e9 # timestamp: 2011-06-21 17:00:39 +0200 # source_branch: file:///data0/magnus/mysql/7.0/ # base_revision_id: frazer.clement@stripped\ # bac220wygvp0abze # # Begin bundle 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 --===============5801779204726275800==--