Commit graph

68 commits

Author SHA1 Message Date
bar@mysql.com
9ac6e558d4 Bug#15375 Unassigned multibyte codes are broken
into parts when converting to Unicode.
m_ctype.h:
  Reorganizing mb_wc return codes to be able
  to return "an unassigned N-byte-long character".
sql_string.cc:
  Adding code to detect and properly handle
  unassigned characters (i.e. the those character
  which are correctly formed according to the 
  character specifications, but don't have Unicode
  mapping).
Many files:
  Fixing conversion function to return new codes.
ctype_ujis.test, ctype_gbk.test, ctype_big5.test:
  Adding a test case.
ctype_ujis.result, ctype_gbk.result, ctype_big5.result:
  Fixing results accordingly.
2005-12-12 21:42:09 +04:00
bar@mysql.com
d870612ac0 Bug#13046: LIKE pattern matching using prefix
index doesn't return correct result
item_cmpfunc.cc:
  Use charset of LIKE to decide whether
  to use 8bit or Unicode "escape" value.
  But use charset of "escape" to scan escape character.
strings/ctype-xxx.c:
  We cannot reduce "end" pointer using charpos(),
  because of possible escape characters in the string.
  Limit the loop using count of written characters instead.
ctype_like_escape.inc:
  new file
mysql-test/t/ctype_xxx:
mysql-test/r/ctype_xxx:
  Adding test case.
2005-09-21 23:10:51 +05:00
elliot@mysql.com
197782605f BUG#11338 (logging of prepared statement w/ blob type)
In cp932, '\' character can be the second byte in a 
multi-byte character stream. This makes it difficult to use
mysql_escape_string. Added flag to indicate which languages allow
'\' as second byte of multibyte sequence so that when putting a prepared
statement into the binlog we can decide at runtime whether hex encoding
is really needed.
2005-08-17 04:26:32 -04:00
bar@mysql.com
637ec56206 ctype-big5.c:
ctype-cp932.c:
ctype-gbk.c:
ctype-mb.c:
ctype-simple.c:
ctype-sjis.c:
ctype-ucs2.c:
ctype-ujis.c:
ctype-utf8.c:

  Adding explicit cast to return type
  in pointer substructions to avoid
  warnings from some compilers.
2005-07-26 16:38:10 +05:00
bar@mysql.com
44a446dc07 ctype-gbk.c:
Bug #11987
  mysql will truncate the text when the text contain GBK char:"0xA3A0" and "0xA1"
  Allow to store and retrieve even unassigned GBK codes.
  Like we did in Big5 earlier.
have_gbk.inc, have_gbk.require, ctype_gbk.result, ctype_gbk.test:
  new file
2005-07-22 21:06:02 +05:00
bar@mysql.com
d563de7f86 ctype_innodb_like.inc:
New BitKeeper file ``mysql-test/include/ctype_innodb_like.inc''
Many files:
  bug#11650: LIKE pattern matching using prefix index doesn't return correct result
  min and max values were too long in the case of prefix key.
  Fix my_like_range functions not to exceed prefix length.
ctype_innodb_like.inc:
  new file
2005-07-06 17:16:22 +05:00
monty@mysql.com
b87e0c52a7 Proper fix for comparision with ' '
(Bug #7788 "Table is full" occurs during a multitable update")
2005-02-01 16:27:08 +02:00
bar@mysql.com
e3d6e6736b bug#7284: strnxfrm returns different results for equal strings 2005-01-13 18:12:04 +04:00
bar@noter.intranet.mysql.r18.ru
362de9467c Incorporating new faster string->number converter functions
into MY_CHARSET_INFO structure.
2004-09-25 15:29:33 +05:00
bar@mysql.com
501954ddb5 Bug #3453 MySQL output formatting in multibyte character sets 2004-09-09 18:21:31 +05:00
bar@mysql.com
f81edf4afd A new function to meassure terminal screen cells number for a string. 2004-08-25 11:39:43 +05:00
bar@mysql.com
1cd108ff97 Many files:
LIKE crashed mysqld for binary collations in some cases
2004-08-18 12:07:54 +05:00
bar@mysql.com
cbd3e61c8d Unicode collation algorithm: contraction support.
E.g. 'Ch' is treated as a separate letter in Czech,
not as a combination of C+h.
2004-06-12 20:36:58 +05:00
serg@serg.mylan
035e03c1f6 merged 2004-06-11 20:55:08 +02:00
bar@mysql.com
f8b15e8bb6 Initialize max_sort_char only if a character set is requested. 2004-06-11 17:50:20 +05:00
bar@mysql.com
c64d93b274 Allocate memory when a character set is requested:
- For simple character sets: from_uni convertion table.
- For UCA: alternative weight arrays.
Use mbminlen instead of MY_CS_NONTEXT
2004-06-11 16:29:16 +05:00
serg@serg.mylan
78fa465b92 bug#3964 and related issues: FTB problems with charsets where one byte can match many
correct prefix compare with my_strnncoll
2004-06-10 21:18:57 +02:00
bar@mysql.com
34d413a6a0 Optimization to use less memory. 2004-06-10 19:10:21 +05:00
bar@bar.intranet.mysql.r18.ru
8962ed3c7d WL#916: Unicode collations for some languages 2004-06-08 17:56:15 +05:00
paul@kite-hub.kitebird.com
2f0ca1ce42 Fix skipp -> skip once and for all.
(Note: This affects only comments, not variable names.)
2004-06-03 11:52:54 -05:00
bar@bar.intranet.mysql.r18.ru
391d5629f6 Preparation for user-defined Unicode collations:
weights data now comes from a static variables
but from the charset structure.
2004-05-25 17:40:20 +05:00
monty@mysql.com
21f1bca789 Portability fixes
Fixed wrong number of warnings/duplicates for machines with high-byte-first
2004-05-19 05:09:10 +03:00
monty@mysql.com
ebc3b3afac BTREE-indexes in HEAP tables can now be used to optimize ORDER BY
Don't read character set files if we are using only the default charset. In most cases the user will not anymore get a warning about missing character set files
Compare strings with space extend instead of space strip. Now the following comparisons holds:  "a" == "a " and "a\t" < "a". (Bug #3152).
Note: Because of the above fix, one has to do a REPAIR on any table that has an ascii character < 32 last in a CHAR/VARCHAR/TEXT columns.
2004-03-25 15:05:01 +02:00
bar@bar.intranet.mysql.r18.ru
fc17aad767 min_sort_char was added, for the future UCA implementation.
UCS2 now has its own my_like_range function.
2004-03-19 10:00:46 +04:00
monty@mysql.com
e9315f984d Changed wellformedlen to well_formed_len
Fixed that blobs >16M can be inserted/updated
Fixed bug when doing CREATE TEMPORARY TABLE ... LIKE
2004-02-17 01:35:17 +02:00
monty@mysql.com
f43093ec0e After merge fixes
Added more DBUG statements
Ensure that we are comparing end space with BINARY strings
Use 'any_db' instead of '' to mean any database. (For HANDLER command)
Only strip ' ' when comparing CHAR, not other space-like characters (like \t)
2004-02-16 10:03:25 +02:00
bar@bar.intranet.mysql.r18.ru
d13ad0822e Problem fix:
http://bugs.mysql.com/bug.php?id=2366
Wrong utf8 behaviour when data is trancated
2004-02-06 16:59:25 +04:00
bar@bar.intranet.mysql.r18.ru
f802ec0215 UCS-2 aligning 0xAA -> 0x00AA 2004-01-19 19:16:30 +04:00
monty@mysql.com
ca953d5e7d Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/my/mysql-4.1
2003-12-08 12:26:10 +02:00
monty@mysql.com
e8aef44349 Portability fixes for Windows 2003-12-08 12:25:37 +02:00
serg@serg.mylan
b2e6b36487 fix for my_mbcharlen(charset, c) to return 1 for single-byte characters
(isn't it obvious ?)
2003-12-06 19:05:26 +01:00
bar@bar.mysql.r18.ru
e0a0790ebb Fixed that multibyte charsets didn't honor multibyte
sequence boundaries in functions LIKE and LOCATE in
the case of "binary" collation. Comparison was done
like if the strings were just a binary strings without
character set assumption.
2003-09-19 15:18:19 +05:00
bar@bar.mysql.r18.ru
83c6946232 Bug fix:
http://bugs.mysql.com/bug.php?id=1264
2003-09-16 15:43:17 +05:00
bar@bar.mysql.r18.ru
762ca8b6f8 Fix strnxfrm_multiplye from 0 to 1 for charsets that do not use strnxfrm 2003-08-18 17:24:50 +05:00
bar@bar.mysql.r18.ru
78c7d40986 BINARY collations for every character set 2003-05-23 18:39:55 +05:00
bar@bar.mysql.r18.ru
8192d169a2 CHARSET_INFO structure reorganization for easier maintainance 2003-05-23 17:45:52 +05:00
bar@bar.mysql.r18.ru
2b1e1f6494 Variables were rename, binary collation names were added
Fixed that SHOW CHARACTER SET displayed non-dynamic charsets even if they were not really compiled
2003-05-22 17:20:19 +05:00
bar@bar.mysql.r18.ru
11355b6795 All collation names are now fit into convension 2003-04-07 18:49:56 +05:00
bar@bar.mysql.r18.ru
ca1a736296 mbcharlen() is now used instead of ismbhead(). The last one has been removed. 2003-04-01 15:52:09 +05:00
bar@bar.mysql.r18.ru
0002beb7a4 my_strncasecmp() is not used anymore. Use my_strncoll() instead. 2003-04-01 14:17:28 +05:00
bar@bar.mysql.r18.ru
5b50426f8f Some optimization in CHARSET_INFO:
We don't need separate hash_sort() and hash_caseup()
  We don't need tosort(). strnxfrm will do the same.
2003-04-01 12:45:16 +05:00
bar@bar.mysql.r18.ru
b009386fa4 Every charset now have its own parser state arrays 2003-03-14 18:08:12 +04:00
bar@bar.mysql.r18.ru
f5d6b4952f New fields in CHARSET_INFO structure to optimize searching for
binary and primary collations in the future
2003-03-05 16:43:10 +04:00
bar@bar.mysql.r18.ru
24be8669a0 New functions in CHARSET_INFO structure 2003-01-31 16:22:22 +04:00
bar@bar.mysql.r18.ru
52c053ca9b New CHARSET_INFO function to compare strings regardless to trailing spaces 2003-01-31 13:48:35 +04:00
bar@bar.mysql.r18.ru
a292d4f632 New "fill" function in charset_info_st structure 2003-01-28 14:58:06 +04:00
bar@bar.mysql.r18.ru
b92ed69491 wb_wc and wc_mb now checks length inside 2003-01-27 16:46:03 +04:00
bar@bar.mysql.r18.ru
2a41e291dc New scan() function in CHARSET_INFO structure (not used yet) 2003-01-17 18:14:54 +04:00
bar@bar.mysql.r18.ru
5743f94b57 All charsets now have strnxfrm.
Some function names have been renamed to be more self-descriptive
2003-01-15 18:06:07 +04:00
bar@bar.mysql.r18.ru
40c61f5763 Many files:
PRIMARY flag for built-in charsets
2003-01-05 16:44:39 +04:00