- 03 Aug, 2007 1 commit
-
-
unknown authored
(Regression, caused by a patch for the bug 22646). Problem: when result type of date_format() was changed from binary string to character string, mixing date_format() with a ascii column in CONCAT() stopped to work. Fix: - adding "repertoire" flag into DTCollation class, to mark items which can return only pure ASCII strings. - allow character set conversion from pure ASCII to other character sets. include/m_ctype.h: Defining new flags. Adding new function prototypes. mysql-test/r/ctype_ucs.result: Adding tests. mysql-test/r/ctype_utf8.result: Adding tests. mysql-test/r/func_time.result: Adding tests. mysql-test/t/ctype_ucs.test: Adding tests. mysql-test/t/ctype_utf8.test: Adding tests. mysql-test/t/func_time.test: Adding test. mysys/charset.c: Adding pure ASCII detection when loading a dynamic character set. sql/item.cc: - Moving detection of a Unicode superset into function. - Adding detection of a ASCII subset. - Adding creation of to-ASCII character set convertor when safe_charset_converter() failed and when the argument. repertoire is know to be pure ASCII. sql/item.h: - Adding "repertoire" member into DTCollation class. - Adding "repertoire" argument to constructors. - Adding new methods: set_repertoire_from_charset() set_repertoire_from_value() sql/item_func.cc: Adding "repertoire" argument. sql/item_strfunc.cc: Adding "repertoire" argument. sql/item_timefunc.cc: Initializing the result repertoire taking into account the "is_ascii" flag of the current locale. sql/sql_lex.cc: Detect 7bit strings, return in Lex->text_string_is_7bit. sql/sql_lex.h: Adding new member into LEX structure. Adding new member into Lex_input_stream sql/sql_string.cc: Allow simple copy from pure ASCII to a ASCII-based character set. sql/sql_yacc.yy: Depening on Lex->text_string_is_7bit and character set features, create Item_string with MY_REPERTOIRE_ASCII when it is possible. strings/conf_to_src.c: - Adding printing of the "MY_CS_PUREASCII" flag - Adding printing of copyright strings/ctype-extra.c: Recreating ctype-extra.c: ascii_general_ci and ascii_bin are now marked with MY_CS_PUREASCII flag. strings/ctype.c: Adding new functions.
-
- 08 Jun, 2007 2 commits
- 07 Jun, 2007 3 commits
-
-
unknown authored
and is not described in the manual - Adding missing initialization for utf8 collations - Minor code clean-ups: renaming variables, moving code into a new separate function. - Adding test, to check that both ucs2 and utf8 user defined collations work (ucs2_test_ci and utf8_test_ci) - Adding Vietnamese collation as a complex user defined collation example. include/m_ctype.h: Renaming variable names to match collation names (for convenience). mysys/charset-def.c: - Removing redundant declarations for variables declared in m_ctype.h - Renaming variable names to match collation names (for convenience). mysys/charset.c: - Renaming "new" to "newcs", to avoid using C reserved word as a variable name - Moving UCA initialization code into a separate function - The bug fix itself: adding initialization of utf8 collations strings/ctype-uca.c: Renaming variable names to match collation names (for convenience). strings/ctype.c: Increasing buffer size to fit tailoring for languages with complex rules (e.g. Vietnamese). mysql-test/r/ctype_ldml.result: Adding test case mysql-test/std_data/Index.xml: Adding Index.xml example with user defined collations. mysql-test/t/ctype_ldml-master.opt: Adding OPT file for the test case, to use the example Index.xml file. mysql-test/t/ctype_ldml.test: Adding test case
-
unknown authored
into mysql.com:/home/bar/mysql-work/mysql-5.0.b26711
-
unknown authored
Problem: "SELECT INTO OUTFILE" created incorrect dumps for BLOBs, so "LOAD DATA" later incorrectly interpreted 0x5C as the second byte of a multi-byte sequence, instead of escape character. Fix: adding escaping of multi-byte heads. mysql-test/r/ctype_big5.result: Adding test case mysql-test/t/ctype_big5.test: Adding test case sql/sql_class.cc: Add escape characters before multi-byte heads. strings/ctype-big5.c: Flagging character set as dangerous for escaping. strings/ctype-gbk.c: Flagging character set as dangerous for escaping. strings/ctype-sjis.c: Flagging character set as dangerous for escaping.
-
- 04 Jun, 2007 2 commits
- 03 Jun, 2007 8 commits
-
-
unknown authored
into olga.mysql.com:/home/igor/dev-opt/mysql-5.0-opt-bug28728
-
unknown authored
into moonbone.local:/mnt/gentoo64/work/test-5.0-opt-mysql
-
unknown authored
Corrected test case result for the bug#28494. item_func.h, item_func.cc: Corrected function names after fix for the bug#28494. mysql-test/r/user_var.result: Corrected test case result for the bug#28494. sql/item_func.h: Corrected function names after fix for the bug#28494. sql/item_func.cc: Corrected function names after fix for the bug#28494.
-
unknown authored
into moonbone.local:/mnt/gentoo64/work/test-5.0-opt-mysql
-
unknown authored
Extended test case for the bug#28494. mysql-test/t/user_var.test: Extended test case for the bug#28494. mysql-test/r/user_var.result: Extended test case for the bug#28494.
-
unknown authored
into olga.mysql.com:/home/igor/dev-opt/mysql-5.0-opt-bug28728
-
unknown authored
into macbook.gmz:/Users/kgeorge/mysql/work/B26162-5.0-opt mysql-test/r/trigger.result: Auto merged mysql-test/t/trigger.test: Auto merged sql/sql_base.cc: Auto merged sql/sql_yacc.yy: Auto merged
-
unknown authored
The value of "low-priority-updates" option and the LOW PRIORITY prefix was taken into account at parse time. This caused triggers (among others) to ignore this flag (if supplied for the DML statement). Moved reading of the LOW_PRIORITY flag at run time. Fixed an incosistency when handling SET GLOBAL LOW_PRIORITY_UPDATES : now it is in effect for delayed INSERTs. Tested by checking the effect of LOW_PRIORITY flag via a trigger. include/thr_lock.h: Bug #26162: moved reading of the LOW PRIORITY flag at run time mysql-test/r/trigger.result: Bug #26162: test case mysql-test/t/trigger.test: Bug #26162: test case sql/set_var.cc: Bug #26162: fixed the handling of the "low-priority-updates" option sql/sql_base.cc: Bug #26162: moved reading of the LOW PRIORITY flag at run time sql/sql_yacc.yy: Bug #26162: moved reading of the LOW PRIORITY flag at run time
-
- 02 Jun, 2007 8 commits
-
-
unknown authored
into olga.mysql.com:/home/igor/dev-opt/mysql-5.0-opt-bug28728
-
unknown authored
into moonbone.local:/mnt/gentoo64/work/test-5.0-opt-mysql
-
unknown authored
Post fix for bug#28494. The Item_func_set_user_var::check method now silently doesn't use result_field if it isn't defined. sql/item_func.cc: Post fix for bug#28494. The Item_func_set_user_var::check method now silently doesn't use result_field if it isn't defined.
-
unknown authored
into olga.mysql.com:/home/igor/dev-opt/mysql-5.0-opt-bug28728
-
unknown authored
into moonbone.local:/mnt/gentoo64/work/test-5.0-opt-mysql
-
unknown authored
This is an additional fix. Item::val_xxx methods are supposed to use original data source and Item::val_xxx_result methods to use the item's result field. But for the Item_func_set_user_var class val_xxx_result methods were mapped to val_xxx methods. This leads, in particular, to producing bad sort keys and thus wrong order of the result set of queries with group by/order by clauses. The set of val_xxx_result methods is added to the Item_func_set_user_var class. It's the same as the val_xxx set of method but uses the result_field to return a value. mysql-test/t/user_var.test: Corrected test case for hte bug#28494. mysql-test/r/user_var.result: Corrected test case for hte bug#28494. sql/item_func.cc: Bug#28494: Grouping by Item_func_set_user_var produces incorrect result. The set of val_xxx_result methods is added to the Item_func_set_user_var class. It's the same as the val_xxx set of method but uses the result_field to return a value. sql/item_func.h: Bug#28494: Grouping by Item_func_set_user_var produces incorrect result. The set of val_xxx_result methods is added to the Item_func_set_user_var class.
-
unknown authored
using a derived table over a grouping subselect. This crash happens only when materialization of the derived tables requires creation of auxiliary temporary table, for example when a grouping operation is carried out with usage of a temporary table. The crash happened because EXPLAIN EXTENDED when printing the query expression made an attempt to use the objects created in the mem_root of the temporary table which has been already freed by the moment when printing is called. This bug appeared after the method Item_field::print() had been introduced. mysql-test/r/subselect.result: Added a test case for bug #28728. mysql-test/t/subselect.test: Added a test case for bug #28728. sql/sql_select.cc: Fixed bug #28728: a crash when executing EXPLAIN EXTENDED for a query using a derived table over a grouping subselect. The crash happened because EXPLAIN EXTENDED when printing the query expression made an attempt to use the objects created in the mem_root of the temporary table which has been already freed by the moment when printing is accomplished. The fix in JOIN::exec() ensures using existing objects when printing subselects for a derived tables by EXPLAIN EXTENDED.
-
unknown authored
-
- 01 Jun, 2007 8 commits
-
-
unknown authored
into bk-internal.mysql.com:/data0/bk/mysql-5.0-opt mysql-test/r/sp.result: Auto merged mysql-test/t/sp.test: Auto merged mysql-test/t/strict.test: Auto merged mysql-test/t/subselect3.test: Auto merged sql/mysqld.cc: Auto merged sql/sp_head.cc: Auto merged sql/sql_base.cc: Auto merged sql/sql_class.h: Auto merged sql/sql_table.cc: Auto merged sql/sql_update.cc: Auto merged sql/sql_view.cc: Manual merge
-
unknown authored
-
unknown authored
-
unknown authored
mysql-test/r/rpl_loaddata.result: Update result. mysql-test/t/rpl_loaddata.test: Fix a typo in the test file.
-
unknown authored
mysql-test/r/sp.result: Update results. mysql-test/t/mysql.test: Fix a typo. mysql-test/t/mysqltest.test: Fix a typo. mysql-test/t/order_by.test: Fix a typo. mysql-test/t/row.test: Remove an unsupported command. mysql-test/t/sp.test: Fix a typo. mysql-test/t/subselect3.test: Fix mysqltest warnings - now it warns when sees some suspicious -- comment
-
unknown authored
into magare.gmz:/home/kgeorge/mysql/autopush/B28366-5.0-opt-win
-
unknown authored
into dsl-hkibras1-ff5dc300-70.dhcp.inet.fi:/home/elkin/MySQL/TEAM/FIXES/5.0/bug27716-multi_upd_no_binlog mysql-test/r/innodb.result: Auto merged mysql-test/t/innodb.test: Auto merged sql/sql_update.cc: Auto merged
-
unknown authored
Implementation of mysql_multi_update did not call multi_update::send_error method in some cases (see the test reported on bug page and test cases in changeset). Fixed with deploying the method, ::send_error() is refined to get binlogging code which works whenever there is modified non-transactional table. thd->no_trans_update.stmt flag is set in to TRUE to ease testing though being the beginning of relative bug#27417 fix (addresses a part of those issues). Eliminating two minor issues (small bugs) in multi_update methods. This patch for multi-update also addresses a part of the issues reported in bug#13270,bug#23333. mysql-test/r/innodb.result: result changed mysql-test/r/multi_update.result: results changed mysql-test/t/innodb.test: regression test for the bug combining transactional and non-transaction tables mysql-test/t/multi_update.test: regression tests added - erred query must be binlogged sql/sql_update.cc: making a call to multi_update::send_error when mysql_select return an error; deploying binlogging inside of ::send_error; refining multi_update::send_eof() to mark binlogging work done when its call to ::do_updates() errs and the query is binlogged with the error. ::send_error() will be called after all but do not do anything; thd->no_trans_update.stmt is corrected to be set to TRUE according to the existed code pattern. Although this part relates to another bugs (bug#27417 etc) it is needed here for testing; Eliminating a separate issue in multi_update::do_updates where either one of the class members trans_safe, transactional_tables was set after the per-table loop whereas both should be calculated during looping. Eliminating a separate issue in ::send_eof() where thd->no_trans_update.all won't be set TRUE when amoung others there'd be at least one modified transactional table. Binlogging is done to satisfy to general character bug#13270,bug#23333 so that those won't have fixes specific for multi-update.
-
- 31 May, 2007 8 commits
-
-
unknown authored
into gleb.loc:/home/uchum/work/bk/mysql-5.0-opt
-
unknown authored
into gleb.loc:/home/uchum/work/bk/mysql-5.0-opt mysql-test/r/view.result: Merge with bug #27827 fix. mysql-test/t/view.test: Merge with bug #27827 fix.
-
unknown authored
Additional patch for bug #28244 to workaround valgrind warnings. sql/sql_view.cc: Additional patch for bug #28244 to workaround valgrind warnings.
-
unknown authored
into moonbone.local:/mnt/gentoo64/work/28494-bug-5.0-opt-mysql
-
unknown authored
The end_update() function uses the Item::save_org_in_field() function to save original values of items into the group buffer. But for the Item_func_set_user_var this method was mapped to the save_in_field method. The latter function wrongly decides to use the result_field. This leads to saving incorrect value in the grouping buffer and wrong result of the whole query. The can_use_result_field argument of the bool type is added to the Item_func_set_user_var::save_in_field() function. If it is set to FALSE then the item's result field won't be used. Otherwise it will be detected whether the result field will be used (old behaviour). Two wrapping functions for the function above are added to the Item_func_set_user_var class: the save_in_field(Field *field, bool no_conversions) - it calls the above function with the can_use_result_field set to TRUE. the save_org_in_field(Field *field) - same, but the can_use_result_field is set to FALSE. mysql-test/t/user_var.test: Added a test case for the bug#28494: Grouping by Item_func_set_user_var produces incorrect result. mysql-test/r/user_var.result: Added a test case for the bug#28494: Grouping by Item_func_set_user_var produces incorrect result. sql/item_func.cc: Bug#28494: Grouping by Item_func_set_user_var produces incorrect result. The can_use_result_field argument of the bool type is added to the Item_func_set_user_var::save_in_field() function. If it is set to FALSE then the item's result field won't be used. Otherwise it will be detected whether the result field will be used (old behaviour). sql/item_func.h: Bug#28494: Grouping by Item_func_set_user_var produces incorrect result. The can_use_result_field argument of the bool type is added to the Item_func_set_user_var::save_in_field() function. Two wrapping functions for the function above are added to the Item_func_set_user_var class: the save_in_field(Field *field, bool no_conversions) - it calls the above function with the can_use_result_field set to TRUE. the save_org_in_field(Field *field) - same, but the can_use_result_field is set to FALSE.
-
unknown authored
ON conditions from JOIN expression were ignored at CHECK OPTION check when updating a multi-table view with CHECK OPTION. The st_table_list::prep_check_option function has been modified to to take into account ON conditions at CHECK OPTION check It was also changed to build the check option condition only once for any update used in PS/SP. sql/table.h: Fixed bug #27827. The st_table_list::check_option_processed variable has been added to build the check option condition only once for any update used in PS/SP. sql/table.cc: Fixed bug #27827. The st_table_list::prep_check_option function has been modified to to take into account ON conditions at CHECK OPTION check It was also changed to build the check option condition only once for any update used in PS/SP. mysql-test/t/view.test: Updated test case for bug #27827. mysql-test/r/view.result: Updated test case for bug #27827.
-
unknown authored
into gleb.loc:/home/uchum/work/bk/mysql-5.0-opt-28244
-
unknown authored
Patch to eliminate compilation warning. sql/sql_view.cc: Patch to eliminate warning.
-