From: Tor Didriksen Date: February 2 2011 10:26am Subject: bzr commit into mysql-next-mr-bugfixing branch (tor.didriksen:3265) List-Archive: http://lists.mysql.com/commits/130196 Message-Id: <20110202102610.6EF8B3768@atum07.norway.sun.com> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============6495571483661147924==" --===============6495571483661147924== MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Content-Disposition: inline #At file:///export/home/didrik/repo/next-mr-opt-backporting-wl4800-xx/ based on revid:guilhem.bichot@stripped 3265 Tor Didriksen 2011-02-02 Turn add_utf8_table into a member function rather than macro modified: sql/opt_trace.cc sql/opt_trace.h === modified file 'sql/opt_trace.cc' --- a/sql/opt_trace.cc 2011-01-21 15:11:00 +0000 +++ b/sql/opt_trace.cc 2011-02-02 10:25:57 +0000 @@ -210,6 +210,14 @@ void Opt_trace_struct::do_destruct(void) } +Opt_trace_struct& Opt_trace_struct::do_add_utf8_table(TABLE *tab) +{ + DBUG_ASSERT(started); + return + do_add("database", tab->s->db.str, tab->s->db.length, true). + do_add("table", tab->alias, strlen(tab->alias), true); +} + Opt_trace_struct& Opt_trace_struct::do_add(const char *key, const char *val, const size_t val_length, bool escape) === modified file 'sql/opt_trace.h' --- a/sql/opt_trace.h 2011-01-17 20:41:34 +0000 +++ b/sql/opt_trace.h 2011-02-02 10:25:57 +0000 @@ -18,13 +18,15 @@ #include "my_config.h" // OPTIMIZER_TRACE #include "sql_array.h" // Dynamic_array -class THD; -class st_select_lex; #include "my_base.h" // ha_rows #include "sql_string.h" // String #include "sql_list.h" // because sql_cmd.h needs it #include "sql_cmd.h" // for enum_sql_command +class THD; +class st_select_lex; +struct TABLE; + /** @file API for the Optimizer trace (WL#5257) @@ -995,6 +997,13 @@ public: return *this; return do_add_null(key); } + Opt_trace_struct& add_utf8_table(TABLE *tab) + { + if (likely(!started)) + return *this; + return do_add_utf8_table(tab); + } + /** The exception to RAII: this function is an explicit way to end a structure before it goes out of scope. Don't use it unless RAII mandates @@ -1011,6 +1020,9 @@ private: Opt_trace_context::feature_value feature); /** Really does destruction */ void do_destruct(void); + + Opt_trace_struct& do_add_utf8_table(TABLE *tab); + /** Really adds to the object. @sa add(). @param escape do JSON-compliant escaping of 'value'. @@ -1431,20 +1443,13 @@ public: @param from description of the before-transformation state @param to description of the after-transformation state */ -#define OPT_TRACE_TRANSFORM(trace,object_level0,object_level1,select_number,from,to) \ +#define OPT_TRACE_TRANSFORM(trace,object_level0,object_level1, \ + select_number,from,to) \ Opt_trace_object object_level0(trace); \ Opt_trace_object object_level1(trace, "transformation"); \ opt_trace_add_select_number(&object_level1, select_number); \ object_level1.add_alnum("from", from).add_alnum("to", to); -/** - Helper to put the database/table name in the trace - @param t TABLE* pointer -*/ -#define add_utf8_table(t) \ - add_utf8("database", (t)->s->db.str, (t)->s->db.length). \ - add_utf8("table", (t)->alias) - #if !defined(DBUG_OFF) && !defined(OPTIMIZER_TRACE) /* --===============6495571483661147924== MIME-Version: 1.0 Content-Type: text/bzr-bundle; charset="us-ascii"; name="bzr/tor.didriksen@stripped" Content-Transfer-Encoding: 7bit Content-Disposition: inline # Bazaar merge directive format 2 (Bazaar 0.90) # revision_id: tor.didriksen@stripped\ # q9dgdbbz9emen6gp # target_branch: file:///export/home/didrik/repo/next-mr-opt-\ # backporting-wl4800-xx/ # testament_sha1: f9655183e6ba0f9c422ba24b66e65d98b82fa663 # timestamp: 2011-02-02 11:26:09 +0100 # base_revision_id: guilhem.bichot@stripped\ # phj929pxpwm4jwsj # # Begin bundle IyBCYXphYXIgcmV2aXNpb24gYnVuZGxlIHY0CiMKQlpoOTFBWSZTWdUOROUAAnN/gFEQEEB5d/// f8feBL////pQBYyeNOBdO7Do6UDuCUSZGppqeVPSePUnpkyTERgIxGI00M00AaCUgmJT9NGjIhT1 PUeoGgAPUYg0AAaAJJMkNKaNTNpBpqMNBNpG0RjUMIaaaaBkHGTJoYjE0YBGAmEAYCaaNMjQDCSR E9NAjJk1NoRkyMono1BoNPRqA02mk8p6kYletVhXDLLzKMXujx6TIaatc9M0W3M5yymxPmyx3ono TrNlu2yRA0W5Id3eK6qNhEKEbkSSvfP2q7aOwvjAwyH7v1FmnhfExc91hFTJmunBKTvZDu2FtDB+ e6RwUeVkjRYzV73NLXd0BykUzEu1AwHMGnBhv4cWqmBh0GOPZOUGrMoiqllKQgSJeO1kP5t9+hbL lT2xKyUMTqql2qHww8agxID0LxJaigYutbeDao1SLgBhcfSm1pcqLUBFAyrLzWZqZTR0E8EJzMz7 qR79CYDbkQDkkwDIHOlHJgLLeN4StBSZsJpIwoCal2nJWD2p0fB5ANQCs0d2uxCm0TzwNAUbQyYC cNFh1BUvgm5qc1ZfK/tuCJQGMo8knPXt0a4UEHYYOJKWfnQFwGrU4CGQIkCyLicIRmTgJRr47tLo 0LhilVoViSkPsTWbe69u2WjDYHTxmXjzIkajdOD1RSism6RB+bRo5EwyNNzjicVTK/9G9Kg1+Fwp WE1XBNMGhe5oU6CJMLggBs6Rv13gVzQxgTHESe7UMs6AVClsbmI9vGHFi4lawbnRU8QhIktw3eBA 1Npgp6AzFsxRZEL0glRZkSihgsKipbnjS7a4GRfgheovUFySGj3wdLNCRK4xfSNi9EaK0wJcM8+W rDEfmIl4FnoBSFli6WLmry2XzodM5ywg8FerklQkuK/Rx5WH/1s4UwXqygWpVS0WrsMwZ1HoZEHt D6nnPUMmZv7CzO7wsPoEPLwbzq4hXPHxrcvKA1c/lNHuUxaefEr+fz88tfuReYmLkODf8XIeHWhw jpRpzDMMcfQZSwzUA97JZ0jqzyEuK/sl8ZZh6iXA4FbUPkerUX52VmiNHF3KYmuC+raA0nVmz0UG +TmMjzXECspJHfBHOQFDhKB2JE6xrPeDywoVJQl+NDg7vz16RSM1YwlEShi+ZHQEzXjE5zT9FxVM E92QG94ScKSCGRZuO8CcuGR3MfVn0nIDBBwXgaeRlSNtvWGDBqOcHCTJjV31tg+U1mdaJTObxnLI WqMnHoXQp+tA4a8ov/LRItvYbGzD3K24F+drCkjnRo0gSXvAcgd9ipTB1QbLjhNm2UEVQMhrYIkl n4HrLCrnOMUZNmrGBNEiQ5lRSrDzORvJ+npLpDh8mc/MBlFRWXgSwRYcdDGgxE+XShxOpUWpPDUx VDaqL3s5EfTAgemV1SgjALKio1d5EX4jpx3Tnei/fwRvkMtoSrlIYDdC5aiJ04oe4R1B7TnF6Toy vCBApE4ScDzVtoUiN5pbDZRrn7BJkZU7ZUoroQ4GO8XWlMhZUrTEyspInW7E5ASGQNaRRAUkzjJD rIj1IyZgscqecxDKbkdZFYJKYXqeVdv8sM3upQegkyK11DlwRfclZtNODDA9SS7i3Mt3GrVEnil3 h1rtXYY0gfILSkjt3NoauRA5PSHJBZfkSby9lvGRR4bxFFCtPywBiS7ZNbmKJyCTLOSH4F3LXDJN Cfz2CL8WUhFDE6nC7eQJyjQ3/dlKPZLjUEk2AaMduqSXSiUeGGQICPRVlSjTawTLbH1GkA8U0ONk ZecXlbQVlTw+Aoih3CiDkVnmILYpDAjEGTGn3C+ZI0TAhnesuI4l2p0JCYeioW1p0dCN+wWRORok dF1SYOXhAswo/dDFnF+BdyRThQkNUOROUA== --===============6495571483661147924==--