List:Commits« Previous MessageNext Message »
From:Guilhem Bichot Date:December 3 2010 3:18pm
Subject:bzr push into mysql-next-mr-bugfixing branch (guilhem:3232 to 3234) WL#4800
WL#5594
View as plain text  
 3234 Guilhem Bichot	2010-11-23 [merge]
      merge of WL#5594 "tracing for range optimizer" into tree of WL#4800 "optimizer trace"

    removed:
      mysql-test/suite/ndb/r/optimizer_trace_range_opt_bug.result
      mysql-test/suite/ndb/t/optimizer_trace_range_opt_bug.test
    added:
      mysql-test/r/optimizer_trace_range.result
      mysql-test/t/optimizer_trace_range.test
    modified:
      WL4800_TODO.txt
      mysql-test/include/optimizer_trace.inc
      mysql-test/r/mysqld--help-notwin.result
      mysql-test/r/optimizer_trace_charset.result
      mysql-test/r/optimizer_trace_no_prot.result
      mysql-test/r/optimizer_trace_ps_prot.result
      mysql-test/suite/sys_vars/r/optimizer_trace_features_basic.result
      mysql-test/t/optimizer_trace_charset.test
      sql/handler.cc
      sql/opt_range.cc
      sql/opt_range.h
      sql/opt_trace.cc
      sql/opt_trace.h
      sql/opt_trace2server.cc
      sql/sql_delete.cc
      sql/sql_help.cc
      sql/sql_select.cc
      sql/sql_update.cc
      sql/sys_vars.cc
 3233 Guilhem Bichot	2010-11-15
      Review comments
     @ WL4800_TODO.txt
        remove done stuff, adding a few more
     @ WL4800_validate_json.py
        Put a mark ('&') near the first syntax error found by this script
     @ mysql-test/include/optimizer_trace.inc
        "misc" is not available to the user now. Test for a query longer than
        1024 chars.
     @ mysql-test/suite/sys_vars/r/optimizer_trace_features_basic.result
        "misc" is not available to the user now
     @ sql/opt_trace.cc
        - making the ALIGN_SIZE(1) trick hopefully clearer, by rewriting code
        and adding comments
        - making "misc" not available to the user: "misc" structures
        are now always enabled, cannot be disabled.
        - escaping was not complete: it didn't handle all of the ASCII 0-31
        range; now we still escape "common special characters" with the
        short escaping form (like: \n) if they support one, and escape
        the less-common special characters with \uXXXX. The short escaping
        form is more readable which is why we use it instead of \uXXXX.
     @ sql/opt_trace.h
        Features select-able by the user start at 1 in the enum
        (that's a constraint of the system variables system)
        so we move "misc" to the enum's end.
        Comments, alignment.
     @ sql/sys_vars.cc
        "misc" is not available to the user now
     @ unittest/gunit/opt_trace-t.cc
        - test add_str() with explicit string length
        - function which checks JSON compliance (not needed for the test,
        just a helper)
        - test escaping of utf8 characters in the trace, as required by JSON
        - test handling of non-utf8 characters in the trace

    modified:
      WL4800_TODO.txt
      WL4800_validate_json.py
      mysql-test/include/optimizer_trace.inc
      mysql-test/r/optimizer_trace_no_prot.result
      mysql-test/r/optimizer_trace_ps_prot.result
      mysql-test/suite/sys_vars/r/optimizer_trace_features_basic.result
      sql/opt_trace.cc
      sql/opt_trace.h
      sql/opt_trace2server.cc
      sql/sys_vars.cc
      unittest/gunit/opt_trace-t.cc
 3232 Guilhem Bichot	2010-11-06
      Adding a way to explicitely end a structure (exception to RAII).
      Using it to avoid opening a scope which in turn forces
      some massive re-indentation (in JOIN::optimize(), in mysql_execute_command()).
     @ mysql-test/include/optimizer_trace.inc
        test for bug reported by JorgenL long ago.
     @ sql/opt_trace.cc
        when ending an object, set 'started' to false. This avoids that the destructor
        tries to destroy a structure on which we have already called 'end()'.
     @ sql/opt_trace.h
        Adding end()
     @ sql/sql_parse.cc
        removing badly indented scope, thanks to end().
     @ sql/sql_select.cc
        reverting to code of main tree: removal of JOIN::optimize_steps();
        it had been introduced to have an additional scope for trace structures.
        With end() it's not needed anymore.

    modified:
      mysql-test/include/optimizer_trace.inc
      mysql-test/r/optimizer_trace_no_prot.result
      mysql-test/r/optimizer_trace_ps_prot.result
      sql/opt_trace.cc
      sql/opt_trace.h
      sql/sql_parse.cc
      sql/sql_select.cc
      sql/sql_select.h

Diff too large for email (15971 lines, the limit is 10000).
No bundle (reason: useless for push emails).
Thread
bzr push into mysql-next-mr-bugfixing branch (guilhem:3232 to 3234) WL#4800WL#5594Guilhem Bichot3 Dec