- 02 Jun, 2007 2 commits
-
-
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
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.
-
- 01 Jun, 2007 1 commit
-
-
unknown authored
into magare.gmz:/home/kgeorge/mysql/autopush/B28366-5.0-opt-win
-
- 31 May, 2007 13 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.
-
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-28244
-
unknown authored
When the same VIEW was created at the master side twice, malformed (truncated after the word 'AS') query string was forwarded to client side, so error messages on the master and client was different, and replication was broken. The mysql_register_view function call failed too early: fields of `view' output argument of this function was not filled yet with correct data required for query replication. The mysql_register_view function also copied pointers to local buffers into a memory allocated by the caller. sql/sql_view.cc: Fixed bug #28244. Checking of existence of VIEW .frm file has been moved down to the place, when `view' argument is completely filled with proper data. view->query.str and view->query.md5 pointers has been set to the NULL before return from the mysql_register_view function. mysql-test/t/rpl_view.test: Updated test case for bug #28244. mysql-test/r/rpl_view.result: Updated test case for bug #28244.
-
unknown authored
into gleb.loc:/home/uchum/work/bk/mysql-5.0-opt-28598 sql/sql_select.cc: Auto merged
-
unknown authored
mysqld crashed when a long-running explain query was killed from another connection. When the current thread caught a kill signal executing the function best_extension_by_limited_search it just silently returned to the calling function greedy_search without initializing elements of the join->best_positions array. However, the greedy_search function ignored thd->killed status after a calls to the best_extension_by_limited_search function, and after several calls the greedy_search function used an uninitialized data from the join->best_positions[idx] to search position in the join->best_ref array. That search failed, and greedy_search tried to call swap_variables function with NULL argument - that caused a crash. sql/sql_select.cc: Fixed bug #28598. choose_plan(), greedy_search(), best_extension_by_limited_search() and find_best() functions have been changed to return TRUE in case of fatal error. mysql-test/t/kill.test: Updated test case for bug #28598. mysql-test/r/kill.result: Updated test case for bug #28598.
-
- 30 May, 2007 12 commits
-
-
unknown authored
ENUM fields internally store their values as integers and may use integer values as indexes to their values. Invalid values are mapped to zero value. When storing an empty string the ENUM field fails to find an appropriate value and tries to convert the provided string to integer. The conversion also fails and error is returned even if the thd->count_cuted_fields is set to CHECK_FIELD_IGNORE. This makes the range optimizer wrongly decide that an impossible range is present. Now the Field_enum::store() returns error while storing an empty string only if the thd->count_cuted_fields isn't set to CHECK_FIELD_IGNORE. sql/field.cc: Bug#28729: Field_enum wrongly reported an error while storing an empty string. Now the Field_enum::store() returns error while storing an empty string only if the thd->count_cuted_fields isn't set to CHECK_FIELD_IGNORE. mysql-test/r/type_enum.result: Added a test case for the bug#28729: Field_enum wrongly reported an error while storing an empty string. mysql-test/t/type_enum.test: Added a test case for the bug#28729: Field_enum wrongly reported an error while storing an empty string.
-
unknown authored
into dl145s.mysql.com:/users/mhansson/mysql/autopush/my50-bug28250 sql/item_func.cc: Auto merged
-
unknown authored
into mysql.com:/home/gluh/MySQL/Merge/5.0-opt mysql-test/r/view.result: Auto merged
-
unknown authored
mysql-test/r/auto_increment.result: result fix mysql-test/r/create.result: result fix mysql-test/r/insert.result: result fix mysql-test/r/insert_select.result: result fix mysql-test/r/insert_update.result: result fix mysql-test/r/key.result: result fix mysql-test/r/null.result: result fix mysql-test/r/null_key.result: result fix mysql-test/r/ps_2myisam.result: result fix mysql-test/r/ps_3innodb.result: result fix mysql-test/r/ps_4heap.result: result fix mysql-test/r/ps_5merge.result: result fix mysql-test/r/ps_6bdb.result: result fix mysql-test/r/ps_7ndb.result: result fix mysql-test/r/strict.result: result fix mysql-test/r/view.result: result fix mysql-test/r/warnings.result: result fix mysql-test/t/strict.test: test fix
-
unknown authored
into gleb.loc:/home/uchum/work/bk/mysql-5.0-opt-28716
-
unknown authored
Fixed bug #28716: additional patch to eliminate compilation error under Windows. sql/sql_update.cc: Fixed bug #28716: additional patch to eliminate compilation error under Windows.
-
unknown authored
into gleb.loc:/home/uchum/work/bk/mysql-5.0-opt mysql-test/r/view.result: Auto merged
-
unknown authored
into gleb.loc:/home/uchum/work/bk/mysql-5.0-opt-28716 sql/sql_class.h: Auto merged mysql-test/r/view.result: SCCS merged mysql-test/t/view.test: SCCS merged
-
unknown authored
into magare.gmz:/home/kgeorge/mysql/autopush/B28492-5.0-opt mysql-test/r/sp.result: Auto merged
-
unknown authored
The result of the CHECK OPTION condition evaluation over an updated record and records of merged tables was arbitrary and dependant on the order of records in the merged tables during the execution of SELECT statement. The CHECK OPTION expression was evaluated over expired record buffers (with arbitrary data in the fields). Rowids of tables used in the CHECK OPTION expression were added to temporary table rows. The multi_update::do_updates() method was modified to restore necessary record buffers before evaluation of the CHECK OPTION condition. sql/sql_class.h: Fixed bug #29716. The multi_update::unupdatable_check_opt_tables variable has been added. sql/sql_update.cc: Fixed bug #29716. Rowids of tables used in the CHECK OPTION expression were added to temporary table rows. The multi_update::do_updates() method was modified to restore necessary record buffers before evaluation of the CHECK OPTION condition. mysql-test/t/view.test: Updated test case for bug #28716. mysql-test/r/view.result: Updated test case for bug #28716.
-
unknown authored
into magare.gmz:/home/kgeorge/mysql/autopush/B28605-5.0-opt
-
unknown authored
Integer values with 10 digits may or may not fit into an int column (e.g. 2147483647 vs 6147483647). Thus when creating a temp table column for such an int we must use bigint instead. Fixed to use bigint. Also subsituted a "magic number" with a named constant. mysql-test/r/analyse.result: Bug #28492: Adjusted the results after having fixed the bug mysql-test/r/metadata.result: Bug #28492: test case mysql-test/r/olap.result: Bug #28492: Adjusted the results after having fixed the bug mysql-test/r/sp.result: Bug #28492: Adjusted the results after having fixed the bug mysql-test/r/view.result: Bug #28492: Adjusted the results after having fixed the bug mysql-test/t/metadata.test: Bug #28492: test case sql/field.h: Bug #28492: Replaced a magic number with a constant sql/sql_select.cc: Bug #28492: Treat integers with 10 and more digits as bigint.
-
- 29 May, 2007 3 commits
-
-
unknown authored
type assertion. The bug was introduced by the patch for bug #16377. The "+ INTERVAL" (Item_date_add_interval) function detects its result type by the type of its first argument. But in some cases it returns STRING as the result type. This happens when, for example, the first argument is a DATE represented as string. All this makes the get_datetime_value() function misinterpret such result and return wrong DATE/DATETIME value. To avoid such cases in the fix for #16377 the code that detects correct result field type on the first execution was added to the Item_date_add_interval::get_date() function. Due to this the result field type of the Item_date_add_interval item stored by the send_fields() function differs from item's result field type at the moment when the item is actually sent. It causes an assertion failure. Now the get_datetime_value() detects that the DATE value is returned by some item not only by checking the result field type but also by comparing the returned value with the 100000000L constant - any DATE value should be less than this value. Removed result field type adjusting code from the Item_date_add_interval::get_date() function. sql/item_cmpfunc.cc: Bug#28450: The Item_date_add_interval in select list may fail the field type assertion. Now the get_datetime_value() detects that the DATE value is returned by some item not only by checking the result field type but also by comparing the returned value with the 100000000L constant - any DATE value should be less than this value. mysql-test/r/func_date_add.result: Added a test case for the bug#28450: The Item_date_add_interval in select list may fail the field type assertion. sql/item_timefunc.cc: Bug#28450: The Item_date_add_interval in select list may fail the field type assertion. Removed result field type adjusting code from the Item_date_add_interval::get_date() function. mysql-test/t/func_date_add.test: Added a test case for the bug#28450: The Item_date_add_interval in select list may fail the field type assertion.
-
unknown authored
longer showing SP names. SHOW CREATE VIEW uses Item::print() methods to reconstruct the statement text from the parse tree. The print() method for stored procedure calls needs allocate space to print the function's quoted name. It was incorrectly calculating the length of the buffer needed (was too short). Fixed to reflect the actual space needed. mysql-test/r/sp.result: Bug #28605: test case mysql-test/t/sp.test: Bug #28605: test case sql/item_func.cc: Bug #28605: fixed the string length calculation
-
unknown authored
When a Windows console application that has an open console (e.g. mysqld-nt started with the --console option) encounters certain type of errors (like no floppy disk in a floppy drive) the OS will pop-up an "abort/retry/ignore" dialog and block the application (depending on a registry setting : see http://msdn2.microsoft.com/en-us/embedded/aa731206.aspx for details). Fixed by disabling the dialog popups for every error except a GPF and alignment errors. This is safe to do as the actual error gets reported (and handled) to mysqld. sql/mysqld.cc: Bug #28366: disable the system error messageboxes.
-
- 28 May, 2007 1 commit
-
-
unknown authored
-
- 27 May, 2007 1 commit
-
-
unknown authored
into bk-internal.mysql.com:/data0/bk/mysql-5.0-opt client/mysqldump.c: Auto merged mysql-test/r/mysqldump.result: Auto merged mysql-test/r/ps_2myisam.result: Auto merged mysql-test/r/ps_3innodb.result: Auto merged mysql-test/r/ps_4heap.result: Auto merged mysql-test/r/ps_5merge.result: Auto merged mysql-test/r/ps_6bdb.result: Auto merged mysql-test/r/ps_7ndb.result: Auto merged sql/field.h: Auto merged sql/item_func.cc: Auto merged sql/my_decimal.h: Auto merged sql/sql_base.cc: Auto merged
-
- 26 May, 2007 3 commits
-
-
unknown authored
-
unknown authored
into olga.mysql.com:/home/igor/dev-opt/mysql-5.0-opt-bug28571
-
unknown authored
constant outer tables did not return null complemented rows when conditions were evaluated to FALSE. Wrong results were returned because the conditions over constant outer tables, when being pushed down, were erroneously enclosed into the guard function used for WHERE conditions. mysql-test/r/join_outer.result: Added a test case for bug #28571. mysql-test/t/join_outer.test: Added a test case for bug #28571. sql/sql_select.cc: Fixed bug #28571. Outer join queries with ON conditions over constant outer tables did not return null complemented rows when conditions were evaluated to FALSE. Wrong results were returned because the conditions over constant outer tables, when being pushed down, were erroneously enclosed into the guard function used for WHERE conditions. The problem is fixed in the function make_join_select. Now the conditions over constant tables from ON expressions are pushed down after the conditions from WHERE has been pushed down.
-
- 25 May, 2007 3 commits
-
-
unknown authored
Warnings elimination. sql/field.h: Warnings elimination.
-
unknown authored
into gleb.loc:/home/uchum/work/bk/mysql-5.0-opt
-
unknown authored
sometimes `mysqldump --hex-blob' overruned output buffer by '\0' byte. The dump_table() function has been fixed to reserve 1 byte more for the last '\0' byte of dumped string. client/mysqldump.c: Fixed bug #28522. The dump_table() function has been fixed to reserve 1 byte more for the last '\0' byte of dumped string. mysql-test/t/mysqldump.test: Updated test case for bug #28522. mysql-test/r/mysqldump.result: Updated test case for bug #28522.
-
- 24 May, 2007 1 commit
-
-
unknown authored
into olga.mysql.com:/home/igor/dev-opt/mysql-5.0-opt-bug28561
-