ctype-win1250ch.c:
Like range prefix tables were wrong.
ctype_cp1250_ch.result, ctype_cp1250_ch.test:
Adding test case.
strings/ctype-win1250ch.c:
Bug#13347: empty result from query with like and cp1250 charset
Like range prefix tables were wrong.
mysql-test/t/ctype_cp1250_ch.test:
Adding test case.
mysql-test/r/ctype_cp1250_ch.result:
Adding test case.
mysql-test/my_manage.c:
Avoid warning: i not used in case of Windows.
mysql-test/mysql_test_run_new.c:
Removed unused variable.
sql/item_func.cc:
Removed unused variables.
strings/ctype-simple.c:
Added cast.
strings/ctype-ucs2.c:
Added cast.
netware/BUILD/mwenv:
Removed -O3 for Metrowerks compiler.
netware/pack_isam.def:
NetWare specific change, Added SCRENNAME for pack_isam.
scripts/make_binary_distribution.sh:
Netware specific change for creating help tables.
strings/my_strtoll10.c:
Fix for Metrowerks compiler.
ctype-big5.c:
Adding extra cp950 characters into Unicode mapping.
ctype_big5.result, ctype_big5.test:
Adding test case
strings/ctype-big5.c:
Bug#12476 Some big5 codes are still missing.
Adding extra cp950 characters into Unicode mapping.
mysql-test/t/ctype_big5.test:
Adding test case
mysql-test/r/ctype_big5.result:
Adding test case
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.
strings/ctype-big5.c:
Bug#13046: LIKE pattern matching using prefix index doesn't return correct result
We cannot change "end" pointer using charpos(),
because of possible escape characters.
Use limit by count of written characters instead.
strings/ctype-cp932.c:
Bug#13046: LIKE pattern matching using prefix index doesn't return correct
result
We cannot change "end" pointer using charpos(),
because of possible escape characters.
Use limit by count of written characters instead
strings/ctype-gbk.c:
Bug#13046: LIKE pattern matching using prefix index doesn't return correct
result
We cannot change "end" pointer using charpos(),
because of possible escape characters.
Use limit by count of written characters instead
strings/ctype-mb.c:
Bug#13046: LIKE pattern matching using prefix index doesn't return correct
result
We cannot change "end" pointer using charpos(),
because of possible escape characters.
Use limit by count of written characters instead
strings/ctype-simple.c:
Bug#13046: LIKE pattern matching using prefix index doesn't return correct
result
We cannot change "end" pointer using charpos(),
because of possible escape characters.
Use limit by count of written characters instead
strings/ctype-sjis.c:
Bug#13046: LIKE pattern matching using prefix index doesn't return correct
result
We cannot change "end" pointer using charpos(),
because of possible escape characters.
Use limit by count of written characters instead
strings/ctype-tis620.c:
Bug#13046: LIKE pattern matching using prefix index doesn't return correct
result
We cannot change "end" pointer using charpos(),
because of possible escape characters.
Use limit by count of written characters instead
strings/ctype-ucs2.c:
Bug#13046: LIKE pattern matching using prefix index doesn't return correct
result
We cannot change "end" pointer using charpos(),
because of possible escape characters.
Use limit by count of written characters instead
mysql-test/t/ctype_big5.test:
Adding test case.
mysql-test/t/ctype_cp932.test:
Adding test case.
mysql-test/t/ctype_gbk.test:
Adding test case.
mysql-test/t/ctype_latin1.test:
Adding test case.
mysql-test/t/ctype_sjis.test:
Adding test case.
mysql-test/t/ctype_tis620.test:
Adding test case.
mysql-test/t/ctype_uca.test:
Adding test case.
mysql-test/t/ctype_ucs.test:
Adding test case.
mysql-test/t/ctype_ujis.test:
Adding test case.
mysql-test/t/ctype_utf8.test:
Adding test case.
mysql-test/r/ctype_big5.result:
Adding test case.
mysql-test/r/ctype_cp932.result:
Adding test case.
mysql-test/r/ctype_gbk.result:
Adding test case.
mysql-test/r/ctype_latin1.result:
Adding test case.
mysql-test/r/ctype_sjis.result:
Adding test case.
mysql-test/r/ctype_tis620.result:
Adding test case.
mysql-test/r/ctype_uca.result:
Adding test case.
mysql-test/r/ctype_ucs.result:
Adding test case.
mysql-test/r/ctype_ujis.result:
Adding test case.
mysql-test/r/ctype_utf8.result:
Adding test case.
sql/item_cmpfunc.cc:
More fixes.
ctype_latin1.test, ctype_latin1.result:
adding test case
ctype-latin1.c:
Fixing ctype array to treat extended cp1252
letters as valid identifiers on server side,
and as valid "isprint" characters (e.g. on client side).
strings/ctype-latin1.c:
Bug#13145: A table named "C-cedilla" can't be dropped.
Accept extended cp1252 letters as valid identifiers.
mysql-test/t/ctype_latin1.test:
Accept extended cp1252 letters as valid identifiers.
mysql-test/r/ctype_latin1.result:
adding test case
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.
include/m_ctype.h:
Added bool to indicate character sets which allow '\' as the second
byte of a multibyte character set (currently only cp932). For these
character sets, escaping with '\' is dangerous and leads to corruption
in replication.
include/my_sys.h:
Add function to enocde a string as hex with no prefix (bare)
mysys/charset.c:
Add function to encode string as hex with no prefix (bare).
sql/item.cc:
Check the connection character set to see if escape_string_for_mysql
is safe, or if character set requires unambiguous (hex) encoding
sql/item.h:
Pass thd to query_val_str for access to charset()
sql/sql_prepare.cc:
Pass thd to query_val_str.
strings/ctype-big5.c:
Add escape_with_backslash_is_dangerous flag.
strings/ctype-bin.c:
Add escape_with_backslash_is_dangerous flag
strings/ctype-cp932.c:
Add escape_with_backslash_is_dangerous flag.
strings/ctype-czech.c:
Add escape_with_backslash_is_dangerous flag.
strings/ctype-euc_kr.c:
Add escape_with_backslash_is_dangerous flag.
strings/ctype-extra.c:
Add escape_with_backslash_is_dangerous flag.
strings/ctype-gb2312.c:
Add escape_with_backslash_is_dangerous flag.
strings/ctype-gbk.c:
Added escape_with_backslash_is_dangerous flag.
strings/ctype-latin1.c:
Added escape_with_backslash_is_dangerous flag.
strings/ctype-sjis.c:
Added escape_with_backslash_is_dangerous flag.
strings/ctype-tis620.c:
Added esacpe_with_backslash_character_is_dangerous flag.
strings/ctype-uca.c:
Added escape_with_backslash_is_dangerous flag.
strings/ctype-ucs2.c:
Added escape_with_backslash_is_dangerous.
strings/ctype-ujis.c:
Added escape_with_backslash_is_dangerous flag.
strings/ctype-utf8.c:
Added escape_with_backslash_is_dangerous.
strings/ctype-win1250ch.c:
Added escape_with_backslash_is_dangerous.
Changed assembler functions to not access global variables or variables in text segement
Added wrapper function in C to longlong2str() to pass _dig_vec_upper as an argument
mysql-test/r/bigint.result:
More tests for parsing of bigint's
More tests for different values to conv()
mysql-test/t/bigint.test:
More tests for parsing of bigint's
More tests for different values to conv()
strings/Makefile.am:
Added longlong2str_asm.c
strings/longlong2str-x86.s:
Changed functions to not access variables in text segment
Fixed this by adding global variable '_dig_vec_upper' as an argument to longlong2str_with_dig_vector()
strings/my_strtoll10-x86.s:
Removd array lfactor by calculating the value in code
(this is to to make the code position independent)
strings/longlong2str_asm.c:
New BitKeeper file ``strings/longlong2str_asm.c''
FULLTEXT non-functional for big5 strings
mysql-test/r/ctype_big5.result:
Test case for BUG#12075.
mysql-test/t/ctype_big5.test:
Test case for BUG#12075.
strings/ctype-big5.c:
hack: (to be fixed properly later) all multi-byte sequences are considered isalpha() now
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.
strings/ctype-big5.c:
Adding explicit cast to return type
in pointer substructions to avoid
warnings from some compilers.
Adding explicit cast to return type
in pointer substructions to avoid
warnings from some compilers.
Adding explicit cast to return type
in pointer substructions to avoid
warnings from some compilers.
strings/ctype-cp932.c:
Adding explicit cast to return type
in pointer substructions to avoid
warnings from some compilers.
strings/ctype-gbk.c:
Adding explicit cast to return type
in pointer substructions to avoid
warnings from some compilers.
strings/ctype-mb.c:
Adding explicit cast to return type
in pointer substructions to avoid
warnings from some compilers.
strings/ctype-simple.c:
Adding explicit cast to return type
in pointer substructions to avoid
warnings from some compilers.
strings/ctype-sjis.c:
Adding explicit cast to return type
in pointer substructions to avoid
warnings from some compilers.
strings/ctype-ucs2.c:
Adding explicit cast to return type
in pointer substructions to avoid
warnings from some compilers.
strings/ctype-ujis.c:
Adding explicit cast to return type
in pointer substructions to avoid
warnings from some compilers.
strings/ctype-utf8.c:
Adding explicit cast to return type
in pointer substructions to avoid
warnings from some compilers.
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
strings/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.
After backporting from 5.0 fix.
There is no an extra argument in 4.1.
strings/ctype-cp932.c:
After backporting from 5.0 fix.
There is no an extra argument in 4.1.
added test case
ctype-utf8.c:
bug#11754: SET NAMES utf8 followed by SELECT "A\\" LIKE "A\\" returns 0
strings/ctype-utf8.c:
bug#11754: SET NAMES utf8 followed by SELECT "A\\" LIKE "A\\" returns 0
mysql-test/t/ctype_utf8.test:
added test case
mysql-test/r/ctype_utf8.result:
added test case
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
mysql-test/r/ctype_big5.result:
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.
mysql-test/r/ctype_cp932.result:
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.
mysql-test/r/ctype_sjis.result:
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.
mysql-test/r/ctype_ujis.result:
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.
mysql-test/t/ctype_big5.test:
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.
mysql-test/t/ctype_cp932.test:
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.
mysql-test/t/ctype_sjis.test:
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.
mysql-test/t/ctype_ujis.test:
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.
strings/ctype-big5.c:
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.
strings/ctype-cp932.c:
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.
strings/ctype-gbk.c:
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.
strings/ctype-simple.c:
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.
strings/ctype-sjis.c:
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.
mysql-test/include/ctype_innodb_like.inc:
New BitKeeper file ``mysql-test/include/ctype_innodb_like.inc''
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.
strings/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.
strings/ctype-ucs2.c:
The same fix for UCS2.
mysql-test/t/ctype_utf8.test:
Fixing tests accordingly.
mysql-test/r/ctype_utf8.result:
Fixing tests accordingly.
mysql-test/t/ctype_ucs.test:
Fixing tests accordingly.
mysql-test/r/ctype_ucs.result:
Fixing tests accordingly.
This cset is to roll out the cset applied earlier from Ingo.
This bug has been fixed with a different cset.
sql/ha_myisammrg.cc:
removed the patch applied earlier
strings/my_vsnprintf.c:
removed the patch applied earlier. The patch was to add %c ability.
Monty has already done this.
This patch was submitted by Ingo and it appears to work correctly.
sql/ha_myisammrg.cc:
use FN_LIBCHAR instead of / so buff works correctly on Windows
strings/my_vsnprintf.c:
add support for %c to my_vsnprintf
additional fix for bug@10493, for sjis
ctype-cp932.c:
additional fix for bug#10493, for cp932
strings/ctype-cp932.c:
additional fix for bug#10493, for cp932
strings/ctype-big5.c:
additional fix for bug@10493, for sjis
configure.in:
Normally, 'configure' does only support "case-insensitive" collations for UTF-8 character sets.
However, a certain customer requires builds with a "case-sensitive" collation: 'utf8_general_cs'.
In order to do custom builds without manual patches, this value gets special handling in 'configure'.
Also, when it is given, the CPP symbol enabling the additional code is set.
mysys/charset-def.c:
Rename the CPP symbol needed for "UTF8-case-sensitive" collation from customer name to function.
strings/ctype-utf8.c:
Rename the CPP symbol needed for "UTF8-case-sensitive" collation from customer name to function.
sql/field.cc:
Use a separate variable. Otherwise "error" value gets lost
after well_formed_length call.
strings/ctype-mb.c:
Don't return an error if we reached end of line.
fixing test results accordingly.
ctype-uca.c:
It appeared that in traditional Spanish collation
'RR' is not equal to 'R', as Unicode and Mimer state.
We'll go Oracle and IBM way instead:
No special rules to 'RR'.
strings/ctype-uca.c:
It appeared that in traditional Spanish collation
'RR' is not equal to 'R', as Unicode and Mimer state.
We'll go Oracle and IBM way instead:
No special rules to 'RR'.
mysql-test/r/ctype_uca.result:
fixing test results accordingly.
Not active by default.
One need to pass -DHAVE_CYBOZU_COLLATION to
activate it.
mysys/charset-def.c:
Adding Cybozu's patch.
Not active by default.
strings/ctype-utf8.c:
Adding Cybozu's patch.
Not active by default.
(No really critical errors found, but a few possible wrong results)
innobase/dict/dict0dict.c:
Replace memcmp with comparison of characters to avoid warnings from purify when 'sptr' points to a very short string
mysql-test/r/select_found.result:
Add missing drop table
mysql-test/r/type_set.result:
More tests
mysql-test/t/select_found.test:
Add missing drop table
mysql-test/t/type_set.test:
More tests
mysys/my_init.c:
Avoid warning from purify (purify doesn't handle getrusage() properly)
sql/field.h:
enum & set are sorted as numbers. This fixes an access to uninitialized memory when enum/set are multi-byte characters
sql/filesort.cc:
enum & set are sorted as numbers. This fixes an access to uninitialized memory when enum/set are multi-byte characters
sql/item_cmpfunc.cc:
Fixed warning from purify. (Not critical as the arguments are passed to a function but not used)
Allocate Arg_comparator() with 'new' instead of sql_alloc() to ensure proper initialization
sql/mysqld.cc:
Wait for signal handler to stop when running --bootstrap
(Fixes warning from purify)
sql/sql_insert.cc:
Initialize slot used by innodb.cc (not critical)
sql/sql_lex.h:
Better comments
sql/sql_repl.cc:
memcmp -> bcmp() to avoid warning from purify
sql/sql_select.cc:
Fix for out-of-bound memory reference when doing DISTINCT on const expressions
strings/ctype-simple.c:
Fixes to not access uninitialized memory
(Not critical)
my_like_range_simple to produce upper bound constants for LIKE "str_%" and similar expressions.
mysql-test/r/ctype_cp1251.result:
Test for BUG#8560
mysql-test/t/ctype_cp1251.test:
Test for BUG#8560
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)
client/mysql.cc:
Fix wront usage of charset (found during review of pushed code)
include/m_string.h:
Backported my_strtod() from 5.0
mysql-test/mysql-test-run.sh:
Run also mysql_client_test with --debug
mysql-test/r/ps_1general.result:
Safety fix (if mysql_client_test.test fails)
mysql-test/r/type_float.result:
More test
mysql-test/t/mysql_client_test.test:
Comments for what to do if this test fails
mysql-test/t/ps_1general.test:
Safety fix (if mysql_client_test.test fails)
mysql-test/t/type_float.test:
More test to better test new strtod() function
Test also bug #7740 (wrong comparsion between integer and float-in-integer-range)
sql/field.cc:
Backport my_strntod() from 5.0
sql/item.cc:
Backport my_strntod() from 5.0
sql/item.h:
Backport my_strntod() from 5.0
sql/item_func.h:
Backport my_strntod() from 5.0
sql/item_strfunc.cc:
Backport my_strntod() from 5.0
sql/item_sum.cc:
Backport my_strntod() from 5.0
sql/item_sum.h:
Backport my_strntod() from 5.0
sql/procedure.h:
Backport my_strntod() from 5.0
strings/ctype-simple.c:
Backport my_strntod() from 5.0
strings/ctype-ucs2.c:
Backport my_strntod() from 5.0
strings/strtod.c:
Backport my_strntod() from 5.0
Change conversion to delay division as long as possible.
This gives us more exact integer-> float conversion for numbers of type '123.45E+02'
Bugs: #8385: utf8_general_ci treats cyrillic letters I and SHORT I as the same
strings/ctype-utf8.c:
Bugs: #8385: utf8_general_ci treats cyrillic letters I and SHORT I as the same
mysql-test/t/ctype_utf8.test:
Bugs: #8385: utf8_general_ci treats cyrillic letters I and SHORT I as the same
mysql-test/r/ctype_utf8.result:
Bugs: #8385: utf8_general_ci treats cyrillic letters I and SHORT I as the same