Commit graph

78 commits

Author SHA1 Message Date
bar@mysql.com
1008146d86 Merge mysql.com:/usr/home/bar/mysql-4.1.b15376
into  mysql.com:/usr/home/bar/mysql-5.0
2006-03-23 12:41:28 +04:00
bar@mysql.com
82de23010b Merge mysql.com:/usr/home/bar/mysql-4.1.b17374
into  mysql.com:/usr/home/bar/mysql-5.0
2006-03-23 10:17:31 +04:00
bar@mysql.com
da8a68b4ca Bug#17374: select ... like 'A%' operator fails to find value on columuns with key
Fixed that LIKE worked case insensitively for latin2_czech_cs,
which was wrong for a case sensitive collation.
2006-03-20 16:28:25 +04: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
monty@mysql.com
3da5f1c223 Move handling of suffix_length from strnxfrm_bin() to filesort to ensure proper sorting of all kind of binary objects
field::sort_key() now adds length last for varbinary/blob
VARBINARY/BLOB is now sorted by filesort so that shorter strings comes before longer ones
Fixed issues in test cases from last merge
2005-10-14 00:04:52 +03:00
bar@mysql.com
39b0712cf7 type_binary.result, type_binary.test:
new file
mysql_fix_privilege_tables.sql, mysql_create_system_tables.sh:
  Adding true BINARY/VARBINARY: fixing "password" type, not to be 0x00-padding.
Many files:
  Adding true BINARY/VARBINARY: fixing tests not to output 0x00 bytes.
  Adding true BINARY/VARBINARY: new pad_char structure member.
ctype-bin.c:
  Adding true BINARY/VARBINARY: new pad_char structure member.
  New strnxfrm, with two trailing length bytes.
field.cc:
  Adding true BINARY/VARBINARY.
2005-10-13 19:16:19 +05:00
elliot@mysql.com
55b81af671 Merge mysql.com:/home/emurphy/src/bk-clean/mysql-4.1
into  mysql.com:/home/emurphy/src/work/mysql-5.0
2005-08-19 15:29:30 -04: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
georg@lmy002.wdf.sap.corp
b64e6db5a4 fixes for windows 64-bit compiler warnings 2005-06-13 12:41:15 +02:00
bar@mysql.com
2df945d87b Bug#8610: The ucs2_turkish_ci collation fails with upper('i')
UPPER/LOWER now can return a string with different length.

mi_test1.c:
  Adding new arguments.
Many files:
  Changeing caseup/casedn to return a result with different
  length than argument.
sql_string.h:
  Removing unused method,
mysql_priv.h:
  Removing unused method
2005-06-06 16:54:15 +05:00
bar@noter.(none)
153b928c10 Bug#9509 Optimizer: wrong result after AND with latin1_german2_ci
We cannot propagate constants with tricky collations.
2005-05-05 21:13:57 +05:00
jani@ua141d10.elisa.omakaista.fi
62b9fc5da6 Merge 2005-03-01 14:50:59 +02:00
sergefp@mysql.com
eb5d5de05f Fix for BUG#8560: Set max_sort_char for any 8-bit charset with binary collation. max_sort_char is needed by
my_like_range_simple to produce upper bound constants for LIKE "str_%" and similar expressions.
2005-02-26 17:15:04 +03:00
monty@mysql.com
422c2eb868 4.1 -> 5.0 merge 2005-02-03 13:18:30 +02: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
8828884f4c CSC#4385: slow sorting for UTF8 large table:
my_strnxfrm_utf8 now requires 2 bytes per character
in filesort key, instead of 3 bytes per character.
Shorter filesort keys make sorting faster.
2005-01-26 16:34:09 +04:00
konstantin@mysql.com
a676498977 manual merge 2005-01-13 17:31:49 +03:00
bar@mysql.com
e3d6e6736b bug#7284: strnxfrm returns different results for equal strings 2005-01-13 18:12:04 +04:00
monty@mysql.com
67ce247965 Add support for up to VARCHAR (size up to 65535)
Renamed HA_VAR_LENGTH to HA_VAR_LENGTH_PART
Renamed in all files FIELD_TYPE_STRING and FIELD_TYPE_VAR_STRING to MYSQL_TYPE_STRING and MYSQL_TYPE_VAR_STRING to make it easy to catch all possible errors
Added support for VARCHAR KEYS to heap
Removed support for ISAM
Now only long VARCHAR columns are changed to TEXT on demand (not CHAR)
Internal temporary files can now use fixed length tables if the used VARCHAR columns are short
2004-12-06 02:00:37 +02: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
monty@mysql.com
ceba1429b7 Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/home/my/mysql-4.1
2004-08-26 18:27:33 +03:00
monty@mysql.com
ea687ba5da Portability fixes
Fixed bug in end space handle for WHERE text_column="constant"
2004-08-26 18:26:38 +03: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
2496e85b84 Bug#4521: unique key prefix interacts poorly with utf8.
Fix for binary collations for MyISAM and HEAP BTREE.
This patch also changes trailing spaces behaviour for
binary collations. Binary collations now have PAD 
characteristic too.
2004-08-19 15:15:10 +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
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
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
ram@gw.mysql.r18.ru
f231d9826b just tried to find all 'skipp' and replace it with 'skip'. 2004-02-02 20:25:39 +04:00
bar@bar.intranet.mysql.r18.ru
f802ec0215 UCS-2 aligning 0xAA -> 0x00AA 2004-01-19 19:16:30 +04:00
monty@narttu.mysql.fi
6b79cd5c23 Merge 2003-11-03 22:48:03 +02:00
monty@narttu.mysql.fi
a444a3449f Simplified 'wrong xxx name' error messages by introducing 'general' ER_WRONG_NAME error
Cleaned up (and disabled part of) date/time/datetime format patch. One can't anymore change default read/write date/time/formats.
This is becasue the non standard datetime formats can't be compared as strings and MySQL does still a lot of datetime comparisons as strings
Changed flag argument to str_to_TIME() and get_date() from bool to uint
Removed THD from str_to_xxxx functions and Item class.
Fixed core dump when doing --print-defaults
Move some common string functions to strfunc.cc
Dates as strings are now of type my_charset_bin instead of default_charset()
Introduce IDENT_QUOTED to not have to create an extra copy of simple identifiers (all chars < 128)
Removed xxx_FORMAT_TYPE enums and replaced them with the old TIMESTAMP_xxx enums
Renamed some TIMESTAMP_xxx enums to more appropriate names
Use defines instead of integers for date/time/datetime string lengths
Added to build system and use the new my_strtoll10() function.
2003-11-03 14:01:59 +02:00
serg@serg.mylan
f944fd4a65 merged 2003-10-21 11:58:43 +02:00
serg@serg.mylan
c60ef8160f FULLTEXT: correct charset support (UTF included, UCS2 - not)
code cleanup
2003-10-20 15:53:48 +02:00
bar@bar.mysql.r18.ru
a001b71f20 ctype-simple.c, ctype-mb.c:
Win compilation problem fix
ctype-bin.c:
  Win compilation problem fix
  ,
  ,
m_ctype.h:
  Win compilation problem fix
  ,
2003-10-15 17:34:28 +05:00
bar@bar.mysql.r18.ru
9b4b9f91de CHARSET_INFO::instr was extended to return more substring match results:
- offset of substr begining
- offset of substr end
- number of characters (MB compatible)
2003-09-25 13:35:21 +05:00
lenz@kallisto.local
5ce5a68b4e - Code cleanup: replaced C++-style comments with the proper syntax for
.c files (the IBM Visual Age C compiler aborts with a syntax error
   on these)
2003-09-24 08:35:02 +02: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
8192d169a2 CHARSET_INFO structure reorganization for easier maintainance 2003-05-23 17:45:52 +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