Commit graph

52 commits

Author SHA1 Message Date
monty@mysql.com
c04660e85e Cleanup during review of new pushed code 2006-03-30 03:11:37 +03:00
bar@mysql.com
8620ac4d64 Merge abarkov@bk-internal.mysql.com:/home/bk/mysql-4.1
into  mysql.com:/usr/home/bar/mysql-4.1.b15376
2006-03-23 14:29:43 +04:00
evgen@moonbone.local
d91cbf34ff Fix bug#14583
When InnoDB compares varchar field in ucs2 with given key using bin collation,
it calls my_strnncollsp_ucs2_bin() to perform comparison.
Because field length was lesser than length of key field should be padded
with trailing spaces in order to get correct result. 
Because  my_strnncollsp_ucs2_bin() was calling my_strnncollp_ucs2_bin(), which
doesn't pads field, wrong comparison result was returned. This results in
wrong result set.

my_strnncollsp_ucs2_bin() now compares fields like my_strnncollsp_ucs2 do,
but using binary collation.
2005-12-27 20:16:59 +03:00
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
jani@ua141d10.elisa.omakaista.fi
8e1dac44b4 Some fixes to avoid compiler warnings. 2005-10-18 18:03:26 +03: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
46536c3a60 ctype_ucs.result, ctype_ucs.test, ctype_utf8.result, ctype_utf8.test:
Fixing tests accordingly.
ctype-ucs2.c:
  The same fix for UCS2.
ctype-utf8.c:
  Bug #9557
  MyISAM utf8 table crash
  The problem was that my_strnncollsp_xxx could
  return big value in the range 0..0xffff.
  for some constant pairs it could return 32738,
  which is defined as MI_FOUND_WRONG_KEY in
  myisamdef.h. As a result, table considered to
  be crashed. 
  Fix to return -1,0 or 1.
2005-06-28 15:00:22 +05:00
monty@mysql.com
b54d7d04bd Fixes during review 2005-05-13 14:04:32 +03:00
bar@noter.(none)
8a5c6502ca bug#10344: some string function fail for UCS2
substr fix
2005-05-10 14:13:58 +05:00
bar@mysql.com
0134a2b286 Adding a new parameter for well_formed_length to
return error. We'll use it for better warnign reporting.
2005-04-06 11:53:15 +05:00
monty@mysql.com
e2dc9b4099 Backport my_strntod() from 5.0
Change string->float conversion to delay division as long as possible.
This gives us more exact integer->float conversion for numbers of type '123.45E+02' (Bug #7740)
2005-02-22 12:51:23 +02:00
bar@mysql.com
9ba7392306 Bug#8235 Connection collation change & table create with default result in crash 2005-02-12 16:27:22 +04: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@mysql.com
a38160f370 Move common trailing space checks into an include file.
Check UCS2 trailing spaces.
2004-12-01 19:25:05 +04:00
bar@mysql.com
1596d46528 Bug #6040 can't retrieve records with umlaut characters in case insensitive manner 2004-10-18 15:23:24 +05: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
737a0dbca1 ctype-ucs2.c:
Bug#5523 Test failure: 'ctype_uca'
  Type cast should have been applied to shift and bit-and operation results, not to min_sort_char/max_sort_char before the operation.
2004-09-14 13:02:20 +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
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
konstantin@mysql.com
f08bbd1f12 assert.h needed for my_dbug.h now is included in my_dbug.h, where it for
some reason wasn't included before.
A lot of files cleaned up from #include <assert.h>
2004-06-10 23:58:39 +04: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
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
939ea71ecd Portability fixes
Change strtoll -> my_strtoll10()
Fixed bug in my_strntoul() and my_strntol() where we got different values on 32 and 64 bit systems (Bug #3472)
2004-05-07 01:43:17 +03:00
monty@mysql.com
eb91f7b478 Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/home/my/mysql-4.1
2004-03-25 15:05:42 +02: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
3827fa5589 Unicode Collation Algorithm subset implementation 2004-03-24 16:16:08 +04: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
serg@serg.mylan
01c2ca5b8a Merge bk-internal:/home/bk/mysql-4.1/
into serg.mylan:/usr/home/serg/Abk/mysql-4.1
2004-02-13 15:30:00 +01:00
serg@serg.mylan
5914e5705c my_atof is deleted
strtod from mit-threads is restored and cleaned up
2004-02-13 15:27:21 +01: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
ed75a5da76 http://bugs.mysql.com/bug.php?id=2619
Bug #2619  	ucs2 LIKE comparison fails in some cases
Fixes
2004-02-04 18:16:28 +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
e8aef44349 Portability fixes for Windows 2003-12-08 12:25:37 +02:00
bar@bar.mysql.r18.ru
1faafac4fd Bug 1181 fix. LIKE didn't work with UCS2 character set. 2003-09-22 17:18:47 +05: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
759214fa41 MY_CS_NONTEXT flag for sprintf() incompatible charsets (ucs2 if the only one now)
Some default_charset_info were removed
2003-06-03 14:59:17 +05:00
bar@bar.mysql.r18.ru
de6ad3abef ctype-ucs2.c:
define ILSEQ for platforms that do not define it themself
2003-06-02 14:12:46 +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