1
0
mirror of https://github.com/MariaDB/server.git synced 2025-09-03 20:43:11 +03:00
Files
mariadb/mysql-test/r
Tor Didriksen 08ecbd5adb Bug#11765255 - 58201: VALGRIND/CRASH WHEN ORDERING BY MULTIPLE AGGREGATE FUNCTIONS
We must allocate a larger ref_pointer_array. We failed to account for extra
items allocated here:
#0  find_order_in_list 
  uint el= all_fields.elements;
  all_fields.push_front(order_item); /* Add new field to field list. */
  ref_pointer_array[el]= order_item;
  order->item= ref_pointer_array + el;
#1  setup_order
#2  setup_without_group
#3  JOIN::prepare


mysql-test/r/order_by.result:
  New test case.
mysql-test/r/union.result:
  New test case.
mysql-test/t/order_by.test:
  New test case.
mysql-test/t/union.test:
  New test case.
sql/sql_lex.cc:
  find_order_in_list() may need some extra space, so multiply og_num by two.
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)
2011-07-11 11:20:19 +02:00
..
2009-02-10 16:27:35 +03:00
2010-02-25 23:13:11 +04:00
2011-04-07 14:44:26 +03:00
2011-01-25 12:14:28 +05:30
2010-03-09 16:09:32 +01:00
2009-08-10 15:46:20 -03:00
2010-12-14 12:33:03 +03:00
2011-05-04 17:12:45 +02:00
2009-06-01 16:00:38 +04:00
2009-02-03 14:45:17 +01:00
2009-05-06 15:00:14 +05:30
2011-03-29 10:09:05 +02:00
2010-12-14 12:33:03 +03:00
2010-12-01 12:25:31 +05:30
2009-02-19 18:22:28 +01:00
2011-03-17 16:28:16 +05:30
2009-11-06 17:54:19 +03:00
2010-01-29 16:54:27 +02:00
2009-02-03 14:45:17 +01:00
2011-01-26 16:50:21 +01:00
2010-10-15 20:13:35 +05:00
2009-10-27 14:09:36 +04:00
2010-10-04 12:51:26 +04:00
2009-06-10 11:58:36 +03:00
2009-02-09 22:00:15 +01:00
2009-02-14 20:14:10 +03:00