To calculate its max_length the CONCAT() function is simply sums max_lengths
of its arguments but when the collation of an argument differs from the
collation of the CONCAT() max_length will be wrong. This may lead to a data
truncation when a tmp table is used, in UNIONS for example.
The Item_func_concat::fix_length_and_dec() function now recalculates the
max_length of an argument when the mbmaxlen of the argument differs from the
mbmaxlen of the CONCAT().
mysql-test/t/func_concat.test:
Added test case for bug#15962:CONCAT() in UNION may lead to a data trucation.
mysql-test/r/func_concat.result:
Added test case for bug#15962:CONCAT() in UNION may lead to a data trucation.
sql/item_strfunc.cc:
Fixed bug#15962: CONCAT() in UNION may lead to a data trucation.
The Item_func_concat::fix_length_and_dec() function now recalculates the
max_length of an argument when the mbmaxlen of the argument differs from the
mbmaxlen of the CONCAT().
VC++Files/client/mysql.dsp:
Fixed omission of mysys\my_conio.c.
VC++Files/client/mysql_ia64.dsp:
Fixed omission of mysys\my_conio.c.
client/mysqldump.c:
VS compiler does not accept variable declarations within blocks.
Such a behaviour complies with the Standard C.
mark result string using String::mark_as_const()
which prevents CONCAT from reusing it as a buffer
for concatenation result.
mysql-test/r/information_schema.result:
Bug#19599 duplication of information_schema column value in a CONCAT expr with user var
test case
mysql-test/t/information_schema.test:
Bug#19599 duplication of information_schema column value in a CONCAT expr with user var
test case
fix: return db name for I_S.TABLES(and others) in original letter case.
if mysql starts with lower_case_table_names=1 | 2 then original db name is converted
to lower case(for I_S tables). It happens when we perform add_table_to_list.
to avoid this we make a copy of original db name and use the copy hereafter.
mysql-test/r/lowercase_table2.result:
Bug#17661 information_schema.SCHEMATA returns uppercase with lower_case_table_names = 1
test case
mysql-test/t/lowercase_table2.test:
Bug#17661 information_schema.SCHEMATA returns uppercase with lower_case_table_names = 1
test case
into mysql.com:/usr/home/ram/work/4.1.b16546
sql/item_timefunc.cc:
Auto merged
mysql-test/r/func_time.result:
merging
mysql-test/t/func_time.test:
merging
Moved the test case to separate non-windows specific file.
mysql-test/r/create.result:
Moved non-windows specific test case to create_not_windows.test.
mysql-test/t/create.test:
Moved non-windows specific test case to create_not_windows.test.
mysql-test/r/create_not_windows.result:
#19479: mysqldump creates invalid dump
Moved the non-windows specific test case from create.test.
mysql-test/t/create_not_windows.test:
#19479: mysqldump creates invalid dump
Moved the non-windows specific test case from create.test.
into rurik.mysql.com:/home/igor/mysql-5.0-opt
sql/opt_sum.cc:
Auto merged
sql/sql_select.cc:
Auto merged
sql/sql_select.h:
Auto merged
mysql-test/r/func_group.result:
SCCS merged
mysql-test/t/func_group.test:
SCCS merged
The bug report revealed two problems related to min/max optimization:
1. If the length of a constant key used in a SARGable condition for
for the MIN/MAX fields is greater than the length of the field an
unwanted warning on key truncation is issued;
2. If MIN/MAX optimization is applied to a partial index, like INDEX(b(4))
than can lead to returning a wrong result set.
mysql-test/r/func_group.result:
Added test cases for bug #18206.
mysql-test/t/func_group.test:
Added test cases for bug #18206.
sql/opt_sum.cc:
Fixed bug #18206.
Suppressed the warning about data truncation when store_val_in_field
was used to store keys for the field used in MIN/MAX optimization.
Blocked MIN/MAX optimization for partial keys, such as in INDEX(b(4)).
sql/sql_select.cc:
Fixed bug #18206.
Added a parameter for the function store_val_in_field allowing to
control setting warnings about data truncation in the function.
sql/sql_select.h:
Fixed bug #18206.
Added a parameter for the function store_val_in_field allowing to
control setting warnings about data truncation in the function.
The problem was missing break; operator.
BitKeeper/etc/ignore:
Added client/#mysql.cc# to the ignore list
client/mysql.cc:
Fixed bug #19363: mysql --no_pager makes core dump.
There was break; missing in the case statement.
3.23 regression test failure
The member SEL_ARG::min_flag was not initialized,
due to which the condition for no GEOM_FLAG in function
key_or did not choose "Range checked for each record" as
the correct access method.
mysql-test/r/select.result:
testcase for 'Range checked' access method
mysql-test/t/select.test:
testcase for 'Range checked' access method
sql/opt_range.cc:
All of the class members initialized
into mysql.com:/home/marty/MySQL/mysql-5.0
ndb/src/ndbapi/NdbDictionaryImpl.cpp:
Auto merged
ndb/src/ndbapi/NdbDictionaryImpl.hpp:
Auto merged
sql/ha_ndbcluster.cc:
Auto merged
sql/handler.h:
Merge
ALTER TABLE crashes
Executing fast alter table (one that doesn't need to copy data)
on tables created by mysql versions prior to 4.0.25 could result
in posterior server crash when accessing these tables.
There was a bug prior to mysql-4.0.25. Number of null fields was
calculated incorrectly. As a result frm and data files gets out of
sync after fast alter table. There is no way to determine by which
mysql version (in 4.0 and 4.1 branches) table was created, thus we
disable fast alter table for all tables created by mysql versions
prior to 5.0 branch.
See BUG#6236.
sql/sql_table.cc:
There was a bug prior to mysql-4.0.25. Number of null fields was
calculated incorrectly. As a result frm and data files gets out of
sync after fast alter table. There is no way to determine by which
mysql version (in 4.0 and 4.1 branches) table was created, thus we
disable fast alter table for all tables created by mysql versions
prior to 5.0 branch.
See BUG#6236.
Only check for FN_DEVCHAR in filenames if FN_DEVCHAR is defined.
This allows to use table names with ":" on non windows platforms.
On Windows platform get an error if you use table name that contains FN_DEVCHAR
include/config-win.h:
Moved FN_DEVCHAR to config-win.h
include/my_global.h:
Moved FN_DEVCHAR to config-win.h
mysql-test/r/create.result:
Added testcase for Bug#19479:mysqldump creates invalid dump
BitKeeper/etc/ignore:
Added sql/share/iso639-2.txt sql/share/fixerrmsg.pl to the ignore list
mysql-test/t/create.test:
Added testcase for Bug#19479:mysqldump creates invalid dump
mysys/mf_fn_ext.c:
Added checking of BASKSLASH_MBTAIL as dirname_part depends on it.
Fixed cast and indentation.
sql/table.cc:
Only check for FN_DEVCHAR in filenames if FN_DEVCHAR is defined.
This allows to use table names with ":" on non windows platforms.
On Windows platform get an error if you use table name that contains FN_DEVCHAR
into perch.ndb.mysql.com:/home/jonas/src/50-work
ndb/src/kernel/blocks/ERROR_codes.txt:
Auto merged
ndb/src/kernel/blocks/dbdih/DbdihMain.cpp:
Auto merged
ndb/src/kernel/blocks/dbtc/DbtcMain.cpp:
Auto merged
ndb/test/ndbapi/testNodeRestart.cpp:
Auto merged
ndb/test/run-test/daily-basic-tests.txt:
Auto merged
Dont be too aggressive in Dbtc::nodeFailCheckTransaction
let it timeout by 1, so that it does not assert that it has waited too long
old impl. set timeotu value to 0, making timeout = (ctcTimer - 0) which could be quite big.
ndb/src/kernel/blocks/ERROR_codes.txt:
error codes
ndb/src/kernel/blocks/dbdih/DbdihMain.cpp:
2 new error inserts
7030 - delay in GCP_PREPARE until checkLocalNodefailComplete is true
7031 - delay in GCP_PREPARE and die
ndb/src/kernel/blocks/dbtc/DbtcMain.cpp:
Dont set api con timer to 0, as this might trigger asserion in timeoutfound lab if state == PREPARE_TO_COMMIT
ndb/test/ndbapi/testNodeRestart.cpp:
testcase
ndb/test/run-test/daily-basic-tests.txt:
autotest
- avoid allocating memory for each call to 'EVP_md5' and
'EVP_des_ede3_cbc' which were not released until server was stopped
- Those functions are used from the SQL function 'des_encrypt' and
'des_decrypt'.
extra/yassl/include/openssl/ssl.h:
Import patch yassl.diff
extra/yassl/include/yassl_int.hpp:
Import patch yassl.diff
extra/yassl/src/ssl.cpp:
Import patch yassl.diff
extra/yassl/src/template_instnt.cpp:
Import patch yassl.diff
extra/yassl/src/yassl_int.cpp:
Import patch yassl.diff
extra/yassl/src/Makefile.am:
Add defined YASSL_PREFIX when building yassl/src
extra/yassl/testsuite/Makefile.am:
Add defined YASSL_PREFIX when building yassl/testsuite