summaryrefslogtreecommitdiff
path: root/strings/ctype-uca.c
Commit message (Collapse)AuthorAgeFilesLines
* Update FSF AddressVicențiu Ciorbaru2019-05-111-1/+1
| | | | * Update wrong zip-code
* MDEV-7649 wrong result when comparing utf8 column with an invalid literalAlexander Barkov2015-04-241-1/+19
|
* MySQL-5.5.36 mergeSergei Golubchik2014-02-171-2/+2
|\ | | | | | | (without few incorrect bugfixes and with 1250 files where only a copyright year was changed)
| * Updated/added copyright headersMurthy Narkedimilli2014-01-061-1/+1
| |
* | mysql-5.5.33 mergeSergei Golubchik2013-09-061-19/+21
|\ \ | |/
| * Bug #16567381 DATETIME FIELD COMPARISONS DO NOT WORK PROPERLY Venkata Sidagam2013-07-041-20/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | WITH UTF8_UNICODE_CI COLLATION Problem Description: When comparing datetime values with strings, the utf8_unicode_ci collation prevents correct comparisons. Consider the below set of queries, it is not showing any results on a table which has tuples that satisfies the query. But for collation utf8_general_ci it shows one tuple. set names utf8 collate utf8_unicode_ci;; select * from lang where dt='1979-12-09'; Analysis: The comparison function is not chosen in case of collation utf8_unicode_ci. In agg_item_set_converter() because the collation state is having "MY_CS_NONASCII" for collation type "utf8_unicode_ci". The conversion of the collation is happening for the date field. And because of that it is unable to pickup proper compare function(i.e CMP_DATE_WITH_STR). Actually the bug is accidentally introduced by the WL#3759 in 5.5. And in 5.6 it is been fixed by the WL#3664. Fix: I have backported the changes from the file strings/ctype-uca.c which are related to "utf8" introduced by the WL#3664. This change helps in choosing the correct comparison function for all the collations of utf8 charset.
* | mysql-5.5.31 mergeSergei Golubchik2013-05-071-6/+18
|\ \ | |/
| * BUG#14303860 - EXECUTING A SELECT QUERY WITH TOO Neeraj Bisht2013-01-141-7/+19
| |\ | | | | | | | | | | | | MANY WILDCARDS CAUSES A SEGFAULT Back port from 5.6 and trunk
| | * BUG#14303860 - EXECUTING A SELECT QUERY WITH TOO Neeraj Bisht2013-01-141-7/+19
| | | | | | | | | | | | | | | | | | MANY WILDCARDS CAUSES A SEGFAULT Back port from 5.6 and trunk
* | | mysql-5.5.22 mergeSergei Golubchik2012-03-281-3/+2
|\ \ \ | |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | mysql-test/suite/innodb/t/group_commit_crash.test: remove autoincrement to avoid rbr being used for insert ... select mysql-test/suite/innodb/t/group_commit_crash_no_optimize_thread.test: remove autoincrement to avoid rbr being used for insert ... select mysys/my_addr_resolve.c: a pointer to a buffer is returned to the caller -> the buffer cannot be on the stack mysys/stacktrace.c: my_vsnprintf() is ok here, in 5.5
| * | Updated/added copyright headersMySQL Build Team2012-02-161-1/+1
| |\ \ | | |/
* | | 5.3 mergeSergei Golubchik2012-01-131-1/+2
|\ \ \
| * \ \ Merge with MariaDB 5.1Michael Widenius2011-11-241-3/+5
| |\ \ \
| | * \ \ Initail merge with MySQL 5.1 (XtraDB still needs to be merged)Michael Widenius2011-11-211-3/+5
| | |\ \ \ | | | | |/ | | | |/| | | | | | Fixed up copyright messages.
* | | | | mysql-5.5.18 mergeSergei Golubchik2011-11-031-36/+48
|\ \ \ \ \ | | |_|_|/ | |/| | |
| * | | | Bug #12319710: INVALID MEMORY READ AND/OR CRASH IN MY_UCA_CHARCMP Georgi Kodinov2011-07-221-9/+45
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | WITH UTF32 The 5.5 version of the UTF32 collation was not enforcing the BMP range that it currently supports when comparing with LIKE. Fixed by backporting the checks for the BMP from trunk. Added a named constant for the maximum character that can have a weight in the weight table.
| * | | | Updated/added copyright headersKent Boortz2011-06-301-3/+3
| |\ \ \ \ | | | |_|/ | | |/| |
| | * | | Updated/added copyright headersKent Boortz2011-06-301-3/+5
| | |\ \ \
* | | \ \ \ merge with 5.3Sergei Golubchik2011-10-191-4/+2
|\ \ \ \ \ \ | | |_|_|/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | sql/sql_insert.cc: CREATE ... IF NOT EXISTS may do nothing, but it is still not a failure. don't forget to my_ok it. ****** CREATE ... IF NOT EXISTS may do nothing, but it is still not a failure. don't forget to my_ok it. sql/sql_table.cc: small cleanup ****** small cleanup
| * | | | | Merge with MariaDB 5.1Michael Widenius2011-05-031-1/+2
| |\ \ \ \ \ | | | |_|_|/ | | |/| | |
| | * | | | Merge with MySQL 5.1.57/58Michael Widenius2011-05-021-1/+2
| | |\ \ \ \ | | | | |/ / | | | |/| | | | | | | | Moved some BSD string functions from Unireg
| * | | | | Merge with 5.1 to get in changes from MySQL 5.1.55Michael Widenius2011-02-281-4/+2
| |\ \ \ \ \ | | |/ / / /
| | * | | | Flush DBUG log in case of DBUG_ASSERT()Michael Widenius2011-01-301-4/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Added strings_def.h into strings library to be able to have a DBUG_ASSERT() version without _db_flush() call (as strings.a should not depend on dbug.a) Remove include of m_string.h in all string files (as it's included by string_def.h). Fixed include order. Changed "m_ctype.h" -> <m_ctype.h> include/my_dbug.h: Flush DBUG log in case of DBUG_ASSERT() strings/bchange.c: Include strings_def.h strings/bcmp.c: Include strings_def.h strings/bfill.c: Include strings_def.h strings/bmove.c: Include strings_def.h strings/bmove512.c: Include strings_def.h strings/bmove_upp.c: Include strings_def.h strings/conf_to_src.c: Include strings_def.h Fixed copyright strings/ctype-big5.c: Include strings_def.h strings/ctype-bin.c: Include strings_def.h strings/ctype-cp932.c: Include strings_def.h strings/ctype-czech.c: Include strings_def.h strings/ctype-euc_kr.c: Include strings_def.h strings/ctype-eucjpms.c: Include strings_def.h strings/ctype-extra.c: Include strings_def.h strings/ctype-gbk.c: Include strings_def.h strings/ctype-latin1.c: Include strings_def.h strings/ctype-mb.c: Include strings_def.h strings/ctype-simple.c: Include strings_def.h strings/ctype-sjis.c: Include strings_def.h strings/ctype-tis620.c: Include strings_def.h strings/ctype-uca.c: Include strings_def.h strings/ctype-ucs2.c: Include strings_def.h strings/ctype-ujis.c: Include strings_def.h strings/ctype-utf8.c: Include strings_def.h strings/ctype-win1250ch.c: Include strings_def.h strings/ctype.c: Include strings_def.h strings/decimal.c: Include strings_def.h strings/do_ctype.c: Include strings_def.h strings/int2str.c: Include strings_def.h strings/is_prefix.c: Include strings_def.h strings/llstr.c: Include strings_def.h strings/longlong2str.c: Include strings_def.h strings/longlong2str_asm.c: Include strings_def.h strings/my_strchr.c: Include strings_def.h strings/my_strtoll10.c: Include strings_def.h strings/my_vsnprintf.c: Include strings_def.h strings/r_strinstr.c: Include strings_def.h strings/str2int.c: Include strings_def.h strings/str_alloc.c: Include strings_def.h strings/str_test.c: Include strings_def.h Fixed compiler warnings strings/strappend.c: Include strings_def.h strings/strcend.c: Include strings_def.h strings/strcont.c: Include strings_def.h strings/strend.c: Include strings_def.h strings/strfill.c: Include strings_def.h strings/strinstr.c: Include strings_def.h strings/strmake.c: Include strings_def.h strings/strmov.c: Include strings_def.h strings/strmov_overlapp.c: Include strings_def.h strings/strnlen.c: Include strings_def.h strings/strnmov.c: Include strings_def.h strings/strstr.c: Include strings_def.h strings/strto.c: Include strings_def.h strings/strtod.c: Include strings_def.h strings/strtol.c: Include strings_def.h strings/strtoll.c: Include strings_def.h strings/strtoul.c: Include strings_def.h strings/strtoull.c: Include strings_def.h strings/strxmov.c: Include strings_def.h strings/strxnmov.c: Include strings_def.h strings/uctypedump.c: Include strings_def.h Fixed compiler warnings Removed double include of m_ctype.h strings/udiv.c: Include strings_def.h strings/xml.c: Include strings_def.h
* | | | | | post-merge fixes.Sergei Golubchik2011-07-021-82/+170
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | most tests pass. 5.3 merge is next
* | | | | | 5.5-mergeSergei Golubchik2011-07-021-150/+60
|\ \ \ \ \ \ | | |_|_|/ / | |/| | | |
| * | | | | Merging Copyright update from 5.1Alexander Barkov2011-01-191-1/+1
| |\ \ \ \ \ | | | |_|/ / | | |/| | |
| | * | | | Updating Copyright informationAlexander Barkov2011-01-191-1/+1
| | | | | |
| * | | | | Bug#57737 Character sets: search fails with like, contraction, indexAlexander Barkov2010-11-261-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: LIKE over an indexed column optimized away good results, because my_like_range_utf32/utf16 returned wrong ranges for contractions. Contraction related code was missing in my_like_range_utf32/utf16, but did exist in my_like_range_ucs2/utf8. It was forgotten in utf32/utf16 versions (during mysql-6.0 push/revert mess). Fix: The patch removes individual functions my_like_range_ucs2, my_like_range_utf16, my_like_range_utf32 and introduces a single function my_like_range_generic() instead. The new function handles contractions correctly. It can handle any character set with cs->min_sort_char and cs->max_sort_char represented in Unicode code points. added: @ mysql-test/include/ctype_czech.inc @ mysql-test/include/ctype_like_ignorable.inc @ mysql-test/r/ctype_like_range.result @ mysql-test/t/ctype_like_range.test Adding tests modified: @ include/m_ctype.h - Adding helper functions for contractions. - Prototypes: removing ucs2,utf16,utf32 functions, adding generic function. @ mysql-test/r/ctype_uca.result @ mysql-test/r/ctype_utf16_uca.result @ mysql-test/r/ctype_utf32_uca.result @ mysql-test/t/ctype_uca.test @ mysql-test/t/ctype_utf16_uca.test @ mysql-test/t/ctype_utf32_uca.test - Adding tests. @ strings/ctype-mb.c - Pad function did not put the last character. - Implementing my_like_range_generic() - an universal replacement for three separate functions my_like_range_ucs2(), my_like_range_utf16() and my_like_range_utf32(), with correct contraction handling. @ strings/ctype-ucs2.c - my_fill_mb2 did not put the high byte, as previously it was used to put only characters in ASCII range. Now it puts high byte as well (needed to pupulate cs->max_sort_char correctly). - Adding DBUG_ASSERT() - Removing character set specific functions: my_like_range_ucs2(), my_like_range_utf16() and my_like_range_utf32(). - Using my_like_range_generic() instead of the old functions. @ strings/ctype-uca.c - Using generic function instead of the old character set specific ones. @ sql/item_create.cc @ sql/item_strfunc.cc @ sql/item_strfunc.h - Adding SQL functions LIKE_RANGE_MIN and LIKE_RANGE_MAX, available only in debug build to make sure like_range() works correctly for all character sets and collations.
| * | | | | Postfix for Bug#26474 Add Sinhala script (Sri Lanka) collation to MySQLAlexander Barkov2010-11-091-1/+1
| | | | | |
* | | | | | lots of post-merge changesSergei Golubchik2011-04-251-0/+94
| | | | | |
* | | | | | merge.Sergei Golubchik2010-11-251-238/+477
|\ \ \ \ \ \ | |/ / / / / |/| | / / / | | |/ / / | |/| | | | | | | | checkpoint. does not compile.
| * | | | merge with 5.1Sergei Golubchik2010-09-111-2/+2
| |\ \ \ \ | | | |/ / | | |/| |
| | * | | Fixed build & test failures in buildbotMichael Widenius2010-08-281-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | mysql-test/t/bug46080-master.opt: Lower limits to be able to run tests regex/main.c: Fixed compiler warnings storage/maria/ma_key_recover.c: Fixed compiler warnings storage/maria/ma_recovery.c: Fixed compiler warnings storage/maria/ma_unique.c: Fixed compiler warnings strings/ctype-uca.c: Added comment strings/xml.c: Fixed compiler warnings support-files/compiler_warnings.supp: Added suppressions for windows unittest/strings/strings-t.c: Added ifdef to fix compilation failure when compiling without UCA
| * | | | Applied Antony T Curtis patch for declaring many CHARSET objects as constMichael Widenius2010-01-061-140/+144
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Removed compiler warnings extra/libevent/epoll.c: Removed compiler warnings extra/libevent/evbuffer.c: Removed compiler warnings extra/libevent/event.c: Removed compiler warnings extra/libevent/select.c: Removed compiler warnings extra/libevent/signal.c: Removed compiler warnings include/m_ctype.h: Define CHARSET_INFO, MY_CHARSET_HANDLER, MY_COLLATION_HANDLER, MY_UNICASE_INFO, MY_UNI_CTYPE and MY_UNI_IDX as const structures. Declare that pointers point to const data include/m_string.h: Declare that pointers point to const data include/my_sys.h: Redefine variables and function prototypes include/mysql.h: Declare charset as const include/mysql.h.pp: Declare charset as const include/mysql/plugin.h: Declare charset as const include/mysql/plugin.h.pp: Declare charset as const mysys/charset-def.c: Charset can't be of type CHARSET_INFO as they are changed when they are initialized. mysys/charset.c: Functions that change CHARSET_INFO must use 'struct charset_info_st' Add temporary variables to not have to change all_charsets[] (Which now is const) sql-common/client.c: Added cast to const sql/item_cmpfunc.h: Added cast to avoid compiler error. sql/sql_class.cc: Added cast to const sql/sql_lex.cc: Added cast to const storage/maria/ma_ft_boolean_search.c: Added cast to avoid compiler error. storage/maria/ma_ft_parser.c: Added cast to avoid compiler error. storage/maria/ma_search.c: Added cast to const storage/myisam/ft_boolean_search.c: Added cast to avoid compiler error storage/myisam/ft_parser.c: Added cast to avoid compiler error storage/myisam/mi_search.c: Added cast to const storage/pbxt/src/datadic_xt.cc: Added cast to const storage/pbxt/src/ha_pbxt.cc: Added cast to const Removed compiler warning by changing prototype of XTThreadPtr() storage/pbxt/src/myxt_xt.h: Character sets should be const storage/pbxt/src/xt_defs.h: Character sets should be const storage/xtradb/btr/btr0cur.c: Removed compiler warning strings/conf_to_src.c: Added const Functions that change CHARSET_INFO must use 'struct charset_info_st' strings/ctype-big5.c: Made arrays const strings/ctype-bin.c: Made arrays const strings/ctype-cp932.c: Made arrays const strings/ctype-czech.c: Made arrays const strings/ctype-euc_kr.c: Made arrays const strings/ctype-eucjpms.c: Made arrays const strings/ctype-extra.c: Made arrays const strings/ctype-gb2312.c: Made arrays const strings/ctype-gbk.c: Made arrays const strings/ctype-latin1.c: Made arrays const strings/ctype-mb.c: Made arrays const strings/ctype-simple.c: Made arrays const strings/ctype-sjis.c: Made arrays const strings/ctype-tis620.c: Made arrays const strings/ctype-uca.c: Made arrays const strings/ctype-ucs2.c: Made arrays const strings/ctype-ujis.c: Made arrays const strings/ctype-utf8.c: Made arrays const strings/ctype-win1250ch.c: Made arrays const strings/ctype.c: Made arrays const Added cast to const Functions that change CHARSET_INFO must use 'struct charset_info_st' strings/int2str.c: Added cast to const
| * | | Fixed link problem when compiling without ucaMichael Widenius2009-12-011-89/+81
| | | | | | | | | | | | | | | | | | | | | | | | | | | | cmd-line-utils/readline/config_readline.h: Add back defines needed for linux to get rid of compiler warnings, but hide them for now until we have a solution for compile failure on MacOSX strings/ctype-uca.c: Always define UCA contraction functions used by ctype-mb.c
| * | | Added more general support for sorting 2 characters as one (contractions)Michael Widenius2009-11-301-55/+301
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Added support for Croatian sorting orders utf8_croatian_ci and ucs2_croatian_ci. Patch done by Alexander Barkov. See http://www.collation-charts.org/articles/croatian.htm mysql-test/r/ctype_uca.result: Added testing of Croatian sort order mysql-test/t/ctype_uca.test: Added testing of Croatian sort order
| * | | Merge with MySQL 5.1, with following additions:unknown2009-11-161-0/+3
| |\ \ \ | | |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Moved some code from innodb_plugin to xtradb, to ensure that all tests runs - Did changes in pbxt and maria storage engines becasue of changes in thd->query - Reverted wrong code in sql_table.cc for how ROW_FORMAT is used. This is a re-commit of Monty's merge to eliminate an extra commit from MySQL-5.1.42 that was accidentally included in the merge. This is a merge of the MySQL 5.1.41 clone-off (clone-5.1.41-build). In case there are any extra changes done before final MySQL 5.1.41 release, these will need to be merged later before MariaDB 5.1.41 release.
| * | | Merge MySQL->MariaDBSergey Petrunya2009-09-081-0/+1
| |\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Finished Monty and Jani's merge * Some InnoDB tests still fail (because it's old xtradb code run against newer testsuite). They are expected to go after mergning with the latest xtradb.
| * | | | Added MY_CS_NONASCII marker for character sets that are not compatible with ↵Michael Widenius2009-07-021-19/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | latin1 for characters 0x00-0x7f This allows us to skip and speed up some very common character converts that MySQL is doing when sending data to the client and this gives us a nice speed increase for most queries that uses only characters in the range 0x00-0x7f. This code is based on Alexander Barkov's code that he has done in MySQL 6.0 include/m_ctype.h: Added MY_CS_NONASCII marker libmysqld/lib_sql.cc: Added function net_store_data(...) that takes to and from CHARSET_INFO * as arguments mysys/charset.c: Mark character sets with MY_CS_NONASCII scripts/mysql_install_db.sh: Fixed messages to refer to MariaDB instead of MySQL sql/protocol.cc: Added function net_store_data(...) that takes to and from CHARSET_INFO * as arguments sql/protocol.h: Added function net_store_data(...) that takes to and from CHARSET_INFO * as arguments sql/sql_string.cc: Quicker copy of strings with no characters above 0x7f strings/conf_to_src.c: Added printing of MY_CS_NONASCII strings/ctype-extra.c: Mark incompatible character sets with MY_CS_NONASCII Removed duplicated character set geostd strings/ctype-sjis.c: Mark incompatible character sets with MY_CS_NONASCII strings/ctype-uca.c: Mark incompatible character sets with MY_CS_NONASCII strings/ctype-ucs2.c: Mark incompatible character sets with MY_CS_NONASCII strings/ctype-utf8.c: Mark incompatible character sets with MY_CS_NONASCII strings/ctype.c: Added function to check if character set is compatible with latin1 in ranges 0x00-0x7f
* | | | | Bug#51675 Server crashes on inserting 4 byte char. after ALTER TABLE to ↵Alexander Barkov2010-03-041-4/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 'utf8mb4' Bug#51676 Server crashes on SELECT, ORDER BY on 'utf8mb4' column An additional fix. We should use 0xFFFD as a weight for supplementary characters, not the "weight for character U+FFFD".
* | | | | A joint patch for:Alexander Barkov2010-03-041-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Bug#51675 Server crashes on inserting 4 byte char. after ALTER TABLE to 'utf8mb4' Bug#51676 Server crashes on SELECT, ORDER BY on 'utf8mb4' column include/m_ctype.h: Defining MY_CS_REPLACEMENT_CHARACTER mysql-test/r/ctype_utf8mb4.result: Adding tests mysql-test/t/ctype_utf8mb4.test: Adding tests strings/ctype-uca.c: Don't use UCA data for characters higher than 0xFFFF. strings/ctype-ucs2.c: Using newly defined MY_CS_REPLACEMENT_CHARACTER strings/ctype-utf8.c: Using newly defined MY_CS_REPLACEMENT_CHARACTER Removing unesed variable "plane".
* | | | | Backporting WL#1213Alexander Barkov2010-02-241-0/+1986
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | config/ac-macros/character_sets.m4: - Adding configure definitions for utf8mb4, utf16, utf32 include/config-win.h: - Enabling utf8mb4, utf16, utf32 in Windows build include/m_ctype.h: - Adding new flags - Adding new shared functions prototypes mysql-test/include/ctype_datetime.inc: - Adding test to check that datetime functions work with "real" multibyte character sets. mysql-test/include/ctype_like.inc: - Adding LIKE tests mysql-test/include/have_utf16.inc: New file mysql-test/include/have_utf32.inc: New file mysql-test/include/have_utf8mb4.inc: New file mysql-test/r/ctype_ldml.result: - Adding tests for utf8mb4, utf16, utf32 mysql-test/r/ctype_many.result: - Adding tests to check superset/subset relations between all Unicode character sets. mysql-test/r/ctype_utf16.result: New file mysql-test/r/ctype_utf16_uca.result: New file mysql-test/r/ctype_utf32.result: New file mysql-test/r/ctype_utf32_uca.result: New file mysql-test/r/ctype_utf8.result: - Adding tests for utf8mn3 alias mysql-test/r/ctype_utf8mb4.result: - Adding tests for utf8mb4 mysql-test/r/have_utf16.require: New file mysql-test/r/have_utf32.require: New file mysql-test/r/have_utf8mb4.require: New file mysql-test/std_data/Index.xml: - Adding tests for loadable utf8m4, utf16, utf32 collations mysql-test/suite/sys_vars/r/character_set_client_basic.result: - Adding tests for utf16, utf32. - Fixing new number of character sets mysql-test/suite/sys_vars/r/character_set_connection_basic.result: - Fixing new number of character sets mysql-test/suite/sys_vars/r/character_set_database_basic.result: - Fixing new number of character sets mysql-test/suite/sys_vars/r/character_set_filesystem_basic.result: - Fixing new number of character sets mysql-test/suite/sys_vars/r/character_set_results_basic.result: - Fixing new number of character sets mysql-test/suite/sys_vars/t/character_set_client_basic.test: - Adding tests for new character sets mysql-test/suite/sys_vars/t/character_set_connection_basic.test: - Adding dependency on utf8mb4, utf16, utf32 mysql-test/suite/sys_vars/t/character_set_database_basic.test: - Adding dependency on utf8mb4, utf16, utf32 mysql-test/suite/sys_vars/t/character_set_filesystem_basic.test: - Adding dependency on utf8mb4, utf16, utf32 mysql-test/suite/sys_vars/t/character_set_results_basic.test: - Adding dependency on utf8mb4, utf16, utf32 mysql-test/t/ctype_ldml.test: - Adding tests for dynamic utf8mb4, utf16, utf32 collations mysql-test/t/ctype_many.test: - Adding tests to check superset/subset relations between all Unicode character sets mysql-test/t/ctype_utf16.test: New file mysql-test/t/ctype_utf16_uca.test: New file mysql-test/t/ctype_utf32.test: New file mysql-test/t/ctype_utf32_uca.test: New file mysql-test/t/ctype_utf8.test: - Adding tests for utf8mb4 alias mysql-test/t/ctype_utf8mb4.test: New file mysys/charset-def.c: - Adding initialization of utf8mb4, utf16, utf32 built-int collations mysys/charset.c: - Adding initialization of utf8mb4, utf16, utf32 dynamic collations sql/field.cc: - Fixing "truncated" error with datetime functions: Force conversion in case of non-ascii character sets. sql/item.cc: - Adding superset/subset relation check for utf8mb4/utf8 sql/item_strfunc.cc: - Fixing a problem with CHAR(x USING utf32) sql/sql_string.cc: - Fixing problems with zero padding for UTF32 sql/sql_table.cc: - Fixing buffer size, to make utf32 comma fit. strings/ctype-mb.c: - Making handlers for multi-byte binary collations public strings/ctype-uca.c: - Adding definitions for utf8mb4, utf16, utf32 UCA collations strings/ctype-ucs2.c: - Adding functions which are shared between ucs2, utf16, utf32 - Ading utf16 implementation - Adding utf32 implementation strings/ctype-utf8.c: - Adding functions shared between utf8 and utf8mb4 - Adding implementation of utf8mb4
* | | | | Auto-merge from mysql-next-mr.Alexander Nozdrin2009-11-121-0/+3
|\ \ \ \ \
| * \ \ \ \ Manual merge from mysql-trunk-merge.Alexander Nozdrin2009-11-061-0/+3
| |\ \ \ \ \ | | | |_|/ / | | |/| | |
| | * | | | A post fix for BUG#45645 Mysql server close all connection and restart using ↵Alexander Barkov2009-10-201-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | lower function - Initialized caseinfo only if it is NULL
| | * | | | Bug#45645 Mysql server close all connection and restart using lower functionAlexander Barkov2009-10-191-0/+2
| | | |/ / | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: the "caseinfo" member of CHARSET_INFO structure was not initialized for user-defined Unicode collations, which made the server crash. Fix: initializing caseinfo properly.
* | | | | Backporting Bug#37129 LDML lacks <i> ruleAlexander Barkov2009-11-091-0/+11
|/ / / /
* | | | Bsckporting WL#3764 Sinhala CollationAlexander Barkov2009-10-061-0/+93
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | modified: mysql-test/r/ctype_utf8.result mysql-test/t/ctype_utf8.test mysys/charset-def.c strings/ctype-uca.c
* | | | Backporting WL#3759 Optimize identifier conversion in client-server protocolAlexander Barkov2009-09-301-38/+38
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch provides performance improvements: - send_fields() when character_set_results = latin1 is now about twice faster for column/table/database names, consisting on ASCII characters. Changes: - Protocol doesn't use "convert" temporary buffer anymore, and converts strings directly to "packet". - General conversion optimization: quick conversion of ASCII strings was added. modified files: include/m_ctype.h - Adding a new flag. - Adding a new function prototype libmysqld/lib_sql.cc - Adding quick conversion method for embedded library: conversion is now done directly to result buffer, without using a temporary buffer. mysys/charset.c - Mark all dynamic ucs2 character sets as non-ASCII - Mark some dymamic 7bit and 8bit charsets as non-ASCII (for example swe7 is not fully ASCII compatible). sql/protocol.cc - Adding quick method to convert a string directly into protocol buffer, without using a temporary buffer. sql/protocol.h - Adding a new method prototype sql/sql_string.cc Optimization for conversion between two ASCII-compatible charsets: - quickly convert ASCII strings, switch to mc_wc->wc_mb method only when a non-ASCII character is met. - copy four ASCII characters at once on i386 strings/conf_to_src.c - Marking non-ASCII character sets with a flag. strings/ctype-extra.c - Regenerating ctype-extra.c by running "conf_to_src". strings/ctype-uca.c - Marking UCS2 character set as non-ASCII. strings/ctype-ucs2.c - Marking UCS2 character set as non-ASCII. strings/ctype.c - A new function to detect if a 7bit or 8bit character set is ascii compatible.
* | | Bug#43827 Server closes connections and restartsAlexander Barkov2009-06-041-0/+1
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Crash happened with a user-defined utf8 collation, on attempt to insert a value longer than the column to store. Reason: The "ctype" member was not initialized (NULL) when allocating a user-defined utf8 collation, so an attempt to call my_ctype(cs, *str) to check if we loose any important data when truncating the value made the server crash. Fix: Initializing tge "ctype" member to a proper value. mysql-test/r/ctype_ldml.result Adding tests mysql-test/t/ctype_ldml.test Adding tests strings/ctype-uca.c Adding initialization of "ctype" member. modified: mysql-test/r/ctype_ldml.result mysql-test/t/ctype_ldml.test strings/ctype-uca.c