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#5594 | Guilhem Bichot | 3 Dec |