List:Commits« Previous MessageNext Message »
From:Alexander Barkov Date:December 3 2010 9:28am
Subject:bzr push into mysql-trunk-bugfixing branch (bar:3407 to 3408) Bug#55980
View as plain text  
 3408 Alexander Barkov	2010-12-03
      Bug#55980 
      
      Reverting the "utf16_bin is byte-by-byte" patch.
      
      This reverting patch is actually already in mysql-5.5-security,
      which will be merged to mysql-trunk-* later this month.
      But I need this reverting patch now, as pre-requisite for WL#4616.
      
      Applying it to mysql-trunk-bugfixing manually, not to wait for merge.

    modified:
      mysql-test/r/ctype_utf16.result
      strings/ctype-ucs2.c
      strings/ctype-utf8.c
 3407 Marc Alff	2010-12-03 [merge]
      Local merge

    removed:
      Doxyfile-wl4895
      mysql-test/suite/perfschema/r/schema.result
    added:
      Doxyfile-perfschema
      mysql-test/r/func_in_mrr_cost.result
      mysql-test/r/innodb_mrr_cost.result
      mysql-test/r/innodb_mrr_cost_all.result
      mysql-test/r/innodb_mrr_cost_icp.result
      mysql-test/r/myisam_mrr_cost.result
      mysql-test/r/myisam_mrr_cost_all.result
      mysql-test/r/myisam_mrr_cost_icp.result
      mysql-test/r/range_mrr_cost.result
      mysql-test/suite/perfschema/r/ddl_os_global_by_type.result
      mysql-test/suite/perfschema/r/ddl_setup_objects.result
      mysql-test/suite/perfschema/r/dml_os_global_by_type.result
      mysql-test/suite/perfschema/r/dml_setup_objects.result
      mysql-test/suite/perfschema/r/setup_objects.result
      mysql-test/suite/perfschema/r/start_server_no_setup_objects.result
      mysql-test/suite/perfschema/t/ddl_os_global_by_type.test
      mysql-test/suite/perfschema/t/ddl_setup_objects.test
      mysql-test/suite/perfschema/t/dml_os_global_by_type.test
      mysql-test/suite/perfschema/t/dml_setup_objects.test
      mysql-test/suite/perfschema/t/setup_objects.test
      mysql-test/suite/perfschema/t/start_server_no_setup_objects-master.opt
      mysql-test/suite/perfschema/t/start_server_no_setup_objects.test
      mysql-test/suite/perfschema/t/thread_cache-master.opt
      mysql-test/suite/sys_vars/r/pfs_setup_objects_size_basic.result
      mysql-test/suite/sys_vars/t/pfs_setup_objects_size_basic-master.opt
      mysql-test/suite/sys_vars/t/pfs_setup_objects_size_basic.test
      mysql-test/t/func_in_mrr_cost.test
      mysql-test/t/innodb_mrr_cost-master.opt
      mysql-test/t/innodb_mrr_cost.test
      mysql-test/t/innodb_mrr_cost_all-master.opt
      mysql-test/t/innodb_mrr_cost_all.test
      mysql-test/t/innodb_mrr_cost_icp-master.opt
      mysql-test/t/innodb_mrr_cost_icp.test
      mysql-test/t/myisam_mrr_cost.test
      mysql-test/t/myisam_mrr_cost_all.test
      mysql-test/t/myisam_mrr_cost_icp.test
      mysql-test/t/range_mrr_cost.test
      storage/perfschema/pfs_setup_object.cc
      storage/perfschema/pfs_setup_object.h
      storage/perfschema/table_ews_by_thread_by_event_name.cc
      storage/perfschema/table_ews_by_thread_by_event_name.h
      storage/perfschema/table_helper.cc
      storage/perfschema/table_os_global_by_type.cc
      storage/perfschema/table_os_global_by_type.h
      storage/perfschema/table_setup_objects.cc
      storage/perfschema/table_setup_objects.h
      storage/perfschema/unittest/stub_pfs_defaults.h
      storage/perfschema/unittest/stub_server_misc.h
    renamed:
      storage/perfschema/unittest/stub_server_misc.h => storage/perfschema/unittest/stub_server_misc.h.moved
    modified:
      .bzrignore
      include/base64.h
      include/my_global.h
      mysql-test/include/ctype_numconv.inc
      mysql-test/include/subquery_mat.inc
      mysql-test/include/subquery_sj.inc
      mysql-test/r/archive_gis.result
      mysql-test/r/compress.result
      mysql-test/r/ctype_binary.result
      mysql-test/r/ctype_cp1251.result
      mysql-test/r/ctype_latin1.result
      mysql-test/r/ctype_ucs.result
      mysql-test/r/ctype_utf8.result
      mysql-test/r/ctype_utf8mb4.result
      mysql-test/r/ctype_utf8mb4_heap.result
      mysql-test/r/ctype_utf8mb4_innodb.result
      mysql-test/r/ctype_utf8mb4_myisam.result
      mysql-test/r/derived.result
      mysql-test/r/distinct.result
      mysql-test/r/error_simulation.result
      mysql-test/r/explain.result
      mysql-test/r/func_gconcat.result
      mysql-test/r/func_group.result
      mysql-test/r/func_group_innodb.result
      mysql-test/r/func_in_all.result
      mysql-test/r/func_in_icp_mrr.result
      mysql-test/r/func_in_mrr.result
      mysql-test/r/func_str.result
      mysql-test/r/gis.result
      mysql-test/r/greedy_optimizer.result
      mysql-test/r/group_by.result
      mysql-test/r/group_min_max.result
      mysql-test/r/index_merge_myisam.result
      mysql-test/r/information_schema.result
      mysql-test/r/innodb_mrr.result
      mysql-test/r/innodb_mrr_all.result
      mysql-test/r/innodb_mrr_icp.result
      mysql-test/r/join.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/key_diff.result
      mysql-test/r/myisam.result
      mysql-test/r/myisam_mrr.result
      mysql-test/r/myisam_mrr_all.result
      mysql-test/r/myisam_mrr_icp.result
      mysql-test/r/mysqld--help-notwin.result
      mysql-test/r/mysqld--help-win.result
      mysql-test/r/named_pipe.result
      mysql-test/r/optimizer_switch.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/ps.result
      mysql-test/r/range_all.result
      mysql-test/r/range_icp.result
      mysql-test/r/range_icp_mrr.result
      mysql-test/r/range_mrr.result
      mysql-test/r/range_none.result
      mysql-test/r/row.result
      mysql-test/r/select_all.result
      mysql-test/r/select_all_jcl6.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/shm.result
      mysql-test/r/ssl.result
      mysql-test/r/ssl_compress.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_innodb_all.result
      mysql-test/r/subquery_sj_innodb_all_jcl6.result
      mysql-test/r/subquery_sj_innodb_all_jcl7.result
      mysql-test/r/subquery_sj_innodb_none.result
      mysql-test/r/subquery_sj_innodb_none_jcl6.result
      mysql-test/r/subquery_sj_innodb_none_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/union.result
      mysql-test/r/view.result
      mysql-test/suite/binlog/r/binlog_base64_flag.result
      mysql-test/suite/binlog/t/binlog_base64_flag.test
      mysql-test/suite/funcs_1/views/views_master.inc
      mysql-test/suite/innodb/r/innodb_gis.result
      mysql-test/suite/innodb/r/innodb_mysql.result
      mysql-test/suite/perfschema/include/schema.inc
      mysql-test/suite/perfschema/include/start_server_common.inc
      mysql-test/suite/perfschema/r/dml_setup_consumers.result
      mysql-test/suite/perfschema/r/information_schema.result
      mysql-test/suite/perfschema/r/pfs_upgrade_lc0.result
      mysql-test/suite/perfschema/r/pfs_upgrade_lc1.result
      mysql-test/suite/perfschema/r/pfs_upgrade_lc2.result
      mysql-test/suite/perfschema/r/privilege_table_io.result
      mysql-test/suite/perfschema/r/schema_lc0.result
      mysql-test/suite/perfschema/r/schema_lc1.result
      mysql-test/suite/perfschema/r/schema_lc2.result
      mysql-test/suite/perfschema/r/start_server_no_cond_class.result
      mysql-test/suite/perfschema/r/start_server_no_cond_inst.result
      mysql-test/suite/perfschema/r/start_server_no_file_class.result
      mysql-test/suite/perfschema/r/start_server_no_file_inst.result
      mysql-test/suite/perfschema/r/start_server_no_mutex_class.result
      mysql-test/suite/perfschema/r/start_server_no_mutex_inst.result
      mysql-test/suite/perfschema/r/start_server_no_rwlock_class.result
      mysql-test/suite/perfschema/r/start_server_no_rwlock_inst.result
      mysql-test/suite/perfschema/r/start_server_no_setup_actors.result
      mysql-test/suite/perfschema/r/start_server_no_table_hdl.result
      mysql-test/suite/perfschema/r/start_server_no_table_inst.result
      mysql-test/suite/perfschema/r/start_server_no_thread_class.result
      mysql-test/suite/perfschema/r/start_server_no_thread_inst.result
      mysql-test/suite/perfschema/r/start_server_nothing.result
      mysql-test/suite/perfschema/r/start_server_off.result
      mysql-test/suite/perfschema/r/start_server_on.result
      mysql-test/suite/perfschema/t/thread_cache.test
      mysql-test/suite/perfschema_stress/r/modify.result
      mysql-test/suite/perfschema_stress/r/read.result
      mysql-test/suite/perfschema_stress/t/modify.test
      mysql-test/suite/perfschema_stress/t/read.test
      mysql-test/suite/perfschema_stress/t/setup.test
      mysql-test/suite/sys_vars/r/max_seeks_for_key_func.result
      mysql-test/suite/sys_vars/r/optimizer_join_cache_level_basic.result
      mysql-test/t/func_group.test
      mysql-test/t/func_in_all.test
      mysql-test/t/func_in_icp_mrr.test
      mysql-test/t/func_in_mrr.test
      mysql-test/t/func_op.test
      mysql-test/t/func_str.test
      mysql-test/t/group_by.test
      mysql-test/t/innodb_mrr.test
      mysql-test/t/innodb_mrr_all.test
      mysql-test/t/innodb_mrr_icp.test
      mysql-test/t/join.test
      mysql-test/t/join_cache_jcl1.test
      mysql-test/t/join_cache_jcl2.test
      mysql-test/t/join_cache_jcl3.test
      mysql-test/t/join_cache_jcl4.test
      mysql-test/t/join_cache_jcl5.test
      mysql-test/t/join_cache_jcl6.test
      mysql-test/t/join_cache_jcl7.test
      mysql-test/t/join_cache_jcl8.test
      mysql-test/t/join_nested.test
      mysql-test/t/join_nested_jcl6.test
      mysql-test/t/join_outer.test
      mysql-test/t/join_outer_jcl6.test
      mysql-test/t/myisam_mrr.test
      mysql-test/t/myisam_mrr_all.test
      mysql-test/t/myisam_mrr_icp.test
      mysql-test/t/order_by_all.test
      mysql-test/t/order_by_icp_mrr.test
      mysql-test/t/plugin_not_embedded.test
      mysql-test/t/range_all.test
      mysql-test/t/range_icp_mrr.test
      mysql-test/t/range_mrr.test
      mysql-test/t/select_all.test
      mysql-test/t/select_all_jcl6.test
      mysql-test/t/select_icp_mrr.test
      mysql-test/t/select_icp_mrr_jcl6.test
      mysql-test/t/select_none_jcl6.test
      mysql-test/t/subquery_all.test
      mysql-test/t/subquery_all_jcl6.test
      mysql-test/t/subquery_nomat_nosj.test
      mysql-test/t/subquery_nomat_nosj_jcl6.test
      mysql-test/t/subquery_none_jcl6.test
      mysql-test/t/subquery_sj_all.test
      mysql-test/t/subquery_sj_all_jcl6.test
      mysql-test/t/subquery_sj_all_jcl7.test
      mysql-test/t/subquery_sj_dupsweed_jcl6.test
      mysql-test/t/subquery_sj_dupsweed_jcl7.test
      mysql-test/t/subquery_sj_firstmatch_jcl6.test
      mysql-test/t/subquery_sj_firstmatch_jcl7.test
      mysql-test/t/subquery_sj_innodb_all.test
      mysql-test/t/subquery_sj_innodb_all_jcl6.test
      mysql-test/t/subquery_sj_innodb_all_jcl7.test
      mysql-test/t/subquery_sj_innodb_none_jcl6.test
      mysql-test/t/subquery_sj_innodb_none_jcl7.test
      mysql-test/t/subquery_sj_loosescan_jcl6.test
      mysql-test/t/subquery_sj_loosescan_jcl7.test
      mysql-test/t/subquery_sj_mat_jcl6.test
      mysql-test/t/subquery_sj_mat_jcl7.test
      mysql-test/t/subquery_sj_none_jcl6.test
      mysql-test/t/subquery_sj_none_jcl7.test
      mysql-test/t/union.test
      mysql-test/t/view.test
      mysys/base64.c
      scripts/mysql_system_tables.sql
      sql/item_create.cc
      sql/item_strfunc.cc
      sql/item_strfunc.h
      sql/rpl_info_table.cc
      sql/sql_binlog.cc
      sql/sql_priv.h
      sql/sql_select.cc
      sql/sys_vars.cc
      storage/perfschema/CMakeLists.txt
      storage/perfschema/pfs.cc
      storage/perfschema/pfs_defaults.cc
      storage/perfschema/pfs_engine_table.cc
      storage/perfschema/pfs_events_waits.cc
      storage/perfschema/pfs_events_waits.h
      storage/perfschema/pfs_instr.cc
      storage/perfschema/pfs_instr.h
      storage/perfschema/pfs_instr_class.cc
      storage/perfschema/pfs_instr_class.h
      storage/perfschema/pfs_server.cc
      storage/perfschema/pfs_server.h
      storage/perfschema/pfs_stat.h
      storage/perfschema/pfs_timer.cc
      storage/perfschema/pfs_timer.h
      storage/perfschema/table_all_instr.cc
      storage/perfschema/table_all_instr.h
      storage/perfschema/table_events_waits.cc
      storage/perfschema/table_events_waits.h
      storage/perfschema/table_events_waits_summary.cc
      storage/perfschema/table_events_waits_summary.h
      storage/perfschema/table_ews_global_by_event_name.cc
      storage/perfschema/table_ews_global_by_event_name.h
      storage/perfschema/table_file_summary.cc
      storage/perfschema/table_file_summary.h
      storage/perfschema/table_helper.h
      storage/perfschema/table_setup_consumers.cc
      storage/perfschema/table_setup_instruments.cc
      storage/perfschema/unittest/pfs-t.cc
      storage/perfschema/unittest/pfs_instr-oom-t.cc
      storage/perfschema/unittest/pfs_instr-t.cc
      storage/perfschema/unittest/pfs_instr_class-t.cc
      unittest/mysys/base64-t.c
=== modified file 'mysql-test/r/ctype_utf16.result'
--- a/mysql-test/r/ctype_utf16.result	2010-09-28 15:29:26 +0000
+++ b/mysql-test/r/ctype_utf16.result	2010-12-03 09:24:07 +0000
@@ -625,23 +625,23 @@ INSERT INTO t1 VALUES (_utf8mb4 0xCE85),
 SELECT HEX(a), HEX(CONVERT(a USING utf8mb4)) FROM t1 ORDER BY a;
 HEX(a)	HEX(CONVERT(a USING utf8mb4))
 0385	CE85
+FF9D	EFBE9D
 D800DF84	F0908E84
 DBC0DC00	F4808080
-FF9D	EFBE9D
 ALTER TABLE t1 ADD KEY(a);
 SELECT HEX(a), HEX(CONVERT(a USING utf8mb4)) FROM t1 ORDER BY a;
 HEX(a)	HEX(CONVERT(a USING utf8mb4))
 0385	CE85
+FF9D	EFBE9D
 D800DF84	F0908E84
 DBC0DC00	F4808080
-FF9D	EFBE9D
 # Additional test for bug#37244 Character sets: short utf8_bin weight_string value
 SELECT HEX(a), HEX(WEIGHT_STRING(a)) FROM t1 ORDER BY a;
 HEX(a)	HEX(WEIGHT_STRING(a))
 0385	000385
+FF9D	00FF9D
 D800DF84	010384
 DBC0DC00	100000
-FF9D	20FF9D
 DROP TABLE IF EXISTS t1;
 select @@collation_connection;
 @@collation_connection

=== modified file 'strings/ctype-ucs2.c'
--- a/strings/ctype-ucs2.c	2010-11-26 13:29:18 +0000
+++ b/strings/ctype-ucs2.c	2010-12-03 09:24:07 +0000
@@ -1488,7 +1488,7 @@ my_strnncoll_utf16_bin(CHARSET_INFO *cs,
     }
     if (s_wc != t_wc)
     {
-      return  my_bincmp(s, s + s_res, t, t + t_res);
+      return s_wc > t_wc ? 1 : -1;
     }
 
     s+= s_res;
@@ -1528,7 +1528,7 @@ my_strnncollsp_utf16_bin(CHARSET_INFO *c
 
     if (s_wc != t_wc)
     {
-      return my_bincmp(s, s + s_res, t, t + t_res);
+      return s_wc > t_wc ? 1 : -1;
     }
 
     s+= s_res;

=== modified file 'strings/ctype-utf8.c'
--- a/strings/ctype-utf8.c	2010-10-13 23:16:09 +0000
+++ b/strings/ctype-utf8.c	2010-12-03 09:24:07 +0000
@@ -4961,17 +4961,6 @@ my_strnxfrm_unicode_full_bin(CHARSET_INF
     if ((res= cs->cset->mb_wc(cs, &wc, src, se)) <= 0)
       break;
     src+= res;
-    if (cs->mbminlen == 2) /* utf16_bin */
-    {
-      /*
-        Reorder code points to weights as follows:
-        U+0000..U+D7FF    -> [00][00][00]..[00][D7][FF] BMP part #1
-        U+10000..U+10FFFF -> [01][00][00]..[10][FF][FF] Supplementary
-        U+E000..U+FFFF    -> [20][E0][00]..[20][FF][FF] BMP part #2
-      */
-      if (wc >= 0xE000 && wc <= 0xFFFF)
-        wc+= 0x200000;
-    }
     *dst++= (uchar) (wc >> 16);
     if (dst < de)
     {


Attachment: [text/bzr-bundle] bzr/bar@mysql.com-20101203092407-3uegjah1wfwi4n9u.bundle
Thread
bzr push into mysql-trunk-bugfixing branch (bar:3407 to 3408) Bug#55980Alexander Barkov3 Dec