3237 Tor Didriksen 2011-06-28 [merge]
merge opt-team => trunk
added:
mysql-test/r/join_cache_jcl0.result
mysql-test/t/join_cache_jcl0.test
modified:
mysql-test/include/join_cache.inc
mysql-test/include/subquery.inc
mysql-test/include/subquery_mat.inc
mysql-test/include/subquery_sj.inc
mysql-test/r/count_distinct.result
mysql-test/r/distinct.result
mysql-test/r/group_by.result
mysql-test/r/join_cache_jcl1.result
mysql-test/r/join_cache_jcl2.result
mysql-test/r/join_cache_jcl3.result
mysql-test/r/join_cache_jcl4.result
mysql-test/r/join_cache_jcl5.result
mysql-test/r/join_cache_jcl6.result
mysql-test/r/join_cache_jcl7.result
mysql-test/r/join_cache_jcl8.result
mysql-test/r/join_nested.result
mysql-test/r/join_nested_jcl6.result
mysql-test/r/join_outer.result
mysql-test/r/join_outer_jcl6.result
mysql-test/r/null_key_all.result
mysql-test/r/null_key_icp.result
mysql-test/r/null_key_none.result
mysql-test/r/order_by_all.result
mysql-test/r/order_by_icp_mrr.result
mysql-test/r/order_by_none.result
mysql-test/r/range_all.result
mysql-test/r/select_all.result
mysql-test/r/select_all_jcl6.result
mysql-test/r/select_found.result
mysql-test/r/select_icp_mrr.result
mysql-test/r/select_icp_mrr_jcl6.result
mysql-test/r/select_none.result
mysql-test/r/select_none_jcl6.result
mysql-test/r/subquery_all.result
mysql-test/r/subquery_all_jcl6.result
mysql-test/r/subquery_mat.result
mysql-test/r/subquery_mat_all.result
mysql-test/r/subquery_mat_none.result
mysql-test/r/subquery_nomat_nosj.result
mysql-test/r/subquery_nomat_nosj_jcl6.result
mysql-test/r/subquery_none.result
mysql-test/r/subquery_none_jcl6.result
mysql-test/r/subquery_sj_all.result
mysql-test/r/subquery_sj_all_jcl6.result
mysql-test/r/subquery_sj_all_jcl7.result
mysql-test/r/subquery_sj_dupsweed.result
mysql-test/r/subquery_sj_dupsweed_jcl6.result
mysql-test/r/subquery_sj_dupsweed_jcl7.result
mysql-test/r/subquery_sj_firstmatch.result
mysql-test/r/subquery_sj_firstmatch_jcl6.result
mysql-test/r/subquery_sj_firstmatch_jcl7.result
mysql-test/r/subquery_sj_loosescan.result
mysql-test/r/subquery_sj_loosescan_jcl6.result
mysql-test/r/subquery_sj_loosescan_jcl7.result
mysql-test/r/subquery_sj_mat.result
mysql-test/r/subquery_sj_mat_jcl6.result
mysql-test/r/subquery_sj_mat_jcl7.result
mysql-test/r/subquery_sj_mat_nosj.result
mysql-test/r/subquery_sj_none.result
mysql-test/r/subquery_sj_none_jcl6.result
mysql-test/r/subquery_sj_none_jcl7.result
mysql-test/r/subselect_innodb.result
mysql-test/t/join_outer.test
sql/item_subselect.cc
sql/item_subselect.h
sql/opt_range.cc
sql/opt_sum.cc
sql/sql_base.cc
sql/sql_join_cache.cc
sql/sql_select.cc
sql/sql_select.h
3236 Tor Didriksen 2011-06-24
Bug#12590211 - ADD BOUNDS CHECK ON REF_POINTER_ARRAY AND FRIENDS
Cleanup the Item** and Item*** code for ref_pointer_array.
Wrap the array(s) in a container, so we can do bounds checks.
@ sql/item.cc
Introduce Ref_ptr_array for split_sum_funcN functions.
@ sql/item.h
Introduce Ref_ptr_array for split_sum_funcN functions.
@ sql/item_cmpfunc.cc
Introduce Ref_ptr_array for split_sum_funcN functions.
@ sql/item_cmpfunc.h
Introduce Ref_ptr_array for split_sum_funcN functions.
@ sql/item_func.cc
Introduce Ref_ptr_array for split_sum_funcN functions.
@ sql/item_func.h
Introduce Ref_ptr_array for split_sum_funcN functions.
@ sql/item_row.cc
Introduce Ref_ptr_array for split_sum_funcN functions.
@ sql/item_row.h
Introduce Ref_ptr_array for split_sum_funcN functions.
@ sql/item_strfunc.cc
Introduce Ref_ptr_array for split_sum_funcN functions.
@ sql/item_strfunc.h
Introduce Ref_ptr_array for split_sum_funcN functions.
@ sql/item_subselect.cc
Don't use select_lex->ref_pointer_array, use the "slice" owned by the JOIN instance instead.
@ sql/sql_array.h
New, templatized, array class.
@ sql/sql_derived.cc
Remove ref_pointer_array from mysql_select() function signature.
@ sql/sql_lex.cc
In setup_ref_array(), add sanity check that that the size of ref_pointer_array
does not change.
@ sql/sql_parse.cc
Remove ref_pointer_array from mysql_select() function signature.
@ sql/sql_select.cc
Changed several functions from
xx_(.. Item ** ..) to xx_(.. Ref_ptr_array ..)
Remove ref_pointer_array from mysql_select() function signature.
@ sql/sql_select.h
Document usage of ref_pointer_array.
Change from Item** to Ref_ptr_array.
Re-wrote setter functions.
@ sql/sql_union.cc
For UNION, the 'n_sum_items' are accumulated in the "global_parameters" select_lex.
This number must be propagated to setup_ref_array()
When preparing a 'fake_select_lex' we need to use global_parameters->order_list
rather than fake_select_lex->order_list (see comments inside st_select_lex_unit::cleanup)
@ sql/sql_yacc.yy
Reset parsing_place when done parsing 'SHOW' and 'DESCRIBE'
@ unittest/gunit/bounds_checked_array-t.cc
New unit test.
added:
unittest/gunit/bounds_checked_array-t.cc
modified:
sql/item.cc
sql/item.h
sql/item_cmpfunc.cc
sql/item_cmpfunc.h
sql/item_func.cc
sql/item_func.h
sql/item_row.cc
sql/item_row.h
sql/item_strfunc.cc
sql/item_strfunc.h
sql/item_subselect.cc
sql/item_sum.cc
sql/sql_array.h
sql/sql_base.cc
sql/sql_base.h
sql/sql_derived.cc
sql/sql_do.cc
sql/sql_insert.cc
sql/sql_lex.cc
sql/sql_lex.h
sql/sql_load.cc
sql/sql_parse.cc
sql/sql_prepare.cc
sql/sql_select.cc
sql/sql_select.h
sql/sql_union.cc
sql/sql_update.cc
sql/sql_yacc.yy
unittest/gunit/CMakeLists.txt
Diff too large for email (55954 lines, the limit is 10000).
No bundle (reason: useless for push emails).
| Thread |
|---|
| • bzr push into mysql-trunk branch (tor.didriksen:3236 to 3237) | Tor Didriksen | 28 Jun |