- 06 Mar, 2008 1 commit
-
-
unknown authored
returns wrong results Casting AVG() to DECIMAL led to incorrect results when the arguments had a non-DECIMAL type, because in this case Item_sum_avg::val_decimal() performed the division by the number of arguments twice. Fixed by changing Item_sum_avg::val_decimal() to not rely on Item_sum_sum::val_decimal(), i.e. calculate sum and divide using DECIMAL arithmetics for DECIMAL arguments, and utilize val_real() with subsequent conversion to DECIMAL otherwise. mysql-test/r/func_group.result: Added a test case for bug #34512. mysql-test/t/func_group.test: Added a test case for bug #34512. sql/item_sum.cc: Do not use Item_sum_sum::val_decimal() in Item_sum_avg::val_decimal() because the first one, depending on the arguments type, may return either the sum of the arguments, or the average calculated by the virtual val_real() method of Item_sum_avg. Instead, do our own calculation based on the arguments type.
-
- 03 Mar, 2008 3 commits
-
-
unknown authored
into kaamos.(none):/data/src/opt/mysql-5.0-opt
-
unknown authored
with errno 17 my_create() did not perform any checks for the case when a file is successfully created by a call to open(), but the call to my_register_filename() later fails because the number of open files has exceeded the my_open_files limit. This can happen on platforms which do not have getrlimit(), and hence we do not know the real limit for open files. In such a case an error was returned to a caller although the file has actually been created. Since callers assume my_create() to return an error only when it failed to create a file, they did not perform any cleanups, leaving an 'orphaned' file on the file system. Fixed by adding a check for the above case to my_create() and ensuring the newly created file is deleted before returning an error. Creating a deterministic test case in the test suite is impossible, because the exact steps required to reproduce the above situation depend on the platform and/or environment (OS per-user limits, queries executed by previous tests, startup parameters). The patch was manually tested on Windows using examples posted in the bug report. mysys/my_create.c: Ensure that, if the call to my_register_filename() in my_create() failed, but the previous open() called succeeded, the newly created file is deleted before returning an error.
-
unknown authored
-
- 01 Mar, 2008 1 commit
-
-
unknown authored
into host.loc:/home/uchum/work/5.0-opt
-
- 29 Feb, 2008 7 commits
-
-
unknown authored
-
unknown authored
into mysql.com:/home/gluh/MySQL/Merge/5.0-opt mysql-test/t/symlink.test: Auto merged mysql-test/r/symlink.result: after merge fix
-
unknown authored
mysql-test/r/symlink.result: result fix
-
unknown authored
and Item_direct_ref constructor calls. Order of ref->field_name and ref->table_name arguments is of Item_ref and Item_direct_ref in the fix_inner_refs function is inverted. sql/sql_select.cc: Fixed bug #34830: mixed table and field names in Item_ref and Item_direct_ref constructor calls. Order of ref->field_name and ref->table_name arguments is of Item_ref and Item_direct_ref in the fix_inner_refs function is inverted. See definitions: Item_ref(Name_resolution_context *context_arg, Item **item, const char *table_name_arg, const char *field_name_arg, bool alias_name_used_arg= FALSE) and Item_direct_ref(Name_resolution_context *context_arg, Item **item, const char *table_name_arg, const char *field_name_arg, bool alias_name_used_arg= FALSE)
-
unknown authored
-
unknown authored
into mysql.com:/home/gluh/MySQL/Merge/5.0-opt sql/mysql_priv.h: Auto merged mysql-test/r/symlink.result: manual merge mysql-test/t/symlink.test: manual merge sql/mysqld.cc: manual merge sql/sql_parse.cc: manual merge
-
unknown authored
added new function test_if_data_home_dir() which checks that path does not contain mysql data home directory. Using of mysql data home directory in DATA DIRECTORY & INDEX DIRECTORY is disallowed. mysql-test/r/symlink.result: test result mysql-test/t/symlink.test: test case sql/mysql_priv.h: new variable mysql_unpacked_real_data_home sql/mysqld.cc: new variable mysql_unpacked_real_data_home sql/sql_parse.cc: added new function test_if_data_home_dir() which checks that path does not contain mysql data home directory. Using of mysql data home directory in DATA DIRECTORY & INDEX DIRECTORY is disallowed.
-
- 28 Feb, 2008 4 commits
-
-
unknown authored
into host.loc:/home/uchum/work/5.0-opt
-
unknown authored
Assertion `0' failed If ROW item is a part of an expression that also has aggregate function calls (COUNT/SUM/AVG...), a "splitting" with an Item::split_sum_func2 function is applied to that ROW item. Current implementation of Item::split_sum_func2 replaces this Item_row with a newly created Item_aggregate_ref reference to it. Then the row cache tries to work with the Item_aggregate_ref object as with the Item_row object: row cache calls row-emulation methods such as cols and element_index. Item_aggregate_ref (like it's parent Item_ref) inherits dummy implementations of those methods from the hierarchy root Item, and call to them leads to failed assertions and wrong data output. Row-emulation virtual functions (cols, element_index, addr, check_cols, null_inside and bring_value) of Item_ref have been overloaded to forward calls to an underlying item reference. mysql-test/r/row.result: Added test case for bug #34620. mysql-test/t/row.test: Added test case for bug #34620. sql/item.h: Fixed bug #34620. Row-emulation virtual functions (cols, element_index, addr, check_cols, null_inside and bring_value) of Item_ref have been overloaded to forward calls to an underlying item reference.
-
unknown authored
into magare.gmz:/home/kgeorge/mysql/autopush/B34747-5.0-opt
-
unknown authored
Was a double-free of the Unique member of Item_func_group_concat. This was not causing a crash because the Unique is a descendent of Sql_alloc. Fixed to free the Unique only if it was allocated for the instance of Item_func_group_concat it was referenced from mysql-test/r/func_gconcat.result: Bug #34747: test case mysql-test/t/func_gconcat.test: Bug #34747: test case sql/item_sum.cc: Bug #34747: free the Unique only if it was allocated for this instance of Item_func_group_concat
-
- 27 Feb, 2008 4 commits
-
-
unknown authored
into kaamos.(none):/data/src/opt/mysql-5.0-opt
-
unknown authored
the patch for bug #33834.
-
unknown authored
into mysql.com:/home/hf/work/25097/my50-25097 libmysql/libmysql.c: Auto merged libmysqld/lib_sql.cc: Auto merged sql/log.cc: Auto merged
-
unknown authored
There was no way to return an error from the client library if no MYSQL connections was established. So here i added variables to store that king of errors and made functions like mysql_error(NULL) to return these. client/mysql.cc: Bug #25097 mysql_server_init fails silently if no errmsg.sys is present. Show the error message on std_error include/sql_common.h: Bug #25097 mysql_server_init fails silently if no errmsg.sys is present. cant_connect_sqlstate constant declared libmysql/libmysql.c: Bug #25097 mysql_server_init fails silently if no errmsg.sys is present. mysql_sqlstate(NULL) returns 'unknown_sqlstate' libmysqld/lib_sql.cc: Bug #25097 mysql_server_init fails silently if no errmsg.sys is present. EMBEDDED_SERVER version of the vprint_msg_to_log() implemented sql-common/client.c: Bug #25097 mysql_server_init fails silently if no errmsg.sys is present. mysql_server_last_errno and mysql_server_last_error introduced to store errors not related to particular connections. mysql_error(NULL) and mysql_errno(NULL) now returns these mysql_server_last_error and errno respectively sql/log.cc: Bug #25097 mysql_server_init fails silently if no errmsg.sys is present. EMBEDDED_LIBRARY implementation of the vprint_msg_to_log() moved to lib_sql.cc
-
- 26 Feb, 2008 1 commit
-
-
unknown authored
into kaamos.(none):/data/src/opt/mysql-5.0-opt sql/sql_yacc.yy: Auto merged
-
- 25 Feb, 2008 1 commit
-
-
unknown authored
documentation While the manual mentions FRAC_SECOND only for the TIMESTAMPADD() function, it was also possible to use FRAC_SECOND with DATE_ADD(), DATE_SUB() and +/- INTERVAL. Fixed the parser to match the manual, i.e. using FRAC_SECOND for anything other than TIMESTAMPADD()/TIMESTAMPDIFF() now produces a syntax error. Additionally, the patch allows MICROSECOND to be used in TIMESTAMPADD/ TIMESTAMPDIFF and marks FRAC_SECOND as deprecated. mysql-test/r/func_time.result: Added a test case for bug #33834. mysql-test/t/func_time.test: Added a test case for bug #33834. sql/sql_yacc.yy: Reject FRAC_SECOND for anything other than TIMESTAMPADD() or TIMESTAMPDIFF(). Allow MICROSECOND to be used with TIMESTAMPADD()/TIMESTAMPDIFF(). Warn about FRAC_SECOND being a deprecated unit.
-
- 22 Feb, 2008 5 commits
-
-
unknown authored
into kaamos.(none):/data/src/opt/mysql-5.0-opt
-
unknown authored
into magare.gmz:/home/kgeorge/mysql/autopush/B30604-5.0-opt
-
unknown authored
into mysql.com:/home/gluh/MySQL/mysql-5.0-opt
-
unknown authored
suite) Under some circumstances a combination of aggregate functions and GROUP BY in a SELECT query over a VIEW could lead to incorrect calculation of the result type of the aggregate function. This in turn could result in incorrect results, or assertion failures on debug builds. Fixed by changing the logic in Item_sum_hybrid::fix_fields() so that the argument's item is dereferenced before calling its type() method. mysql-test/r/view.result: Added a test case for bug #33049. mysql-test/t/view.test: Added a test case for bug #33049. sql/item_sum.cc: When calculating the result type of an aggregate function, dereference the argument's item before calling its type() method.
-
unknown authored
skip lock_type update for temporary tables mysql-test/r/tablelock.result: test result mysql-test/t/tablelock.test: test case sql/sql_base.cc: skip lock_type update for temporary tables
-
- 20 Feb, 2008 2 commits
-
-
unknown authored
into moonbone.local:/work/33266-bug-5.0-opt-mysql
-
unknown authored
The test case for the bug#31048 checks that there is no crash on stack overrun. But due to different stack sizes on different platforms it failed on some of them. The new test case check that a query with at least 4 level subquery nesting works without the stack overrun nesting and other levels of nesting doesn't cause a crash. mysql-test/t/subselect.test: Corrected test case for the bug#31048. mysql-test/r/subselect.result: Corrected test case for the bug#31048.
-
- 19 Feb, 2008 1 commit
-
-
unknown authored
and ps-protocol Finding a routine should be a transparent operation as far as the binary log is concerned. But it was influencing the binary log because of the TIMESTAMP column in the proc table. Fixed by preserving and restoring the time_zone usage flag when searching for a stored routine in the proc table. mysql-test/r/binlog_innodb.result: Bug #30604: test case mysql-test/r/ctype_cp932_binlog.result: Bug #30604: updated test results (a procedure call before that) mysql-test/t/binlog_innodb.test: Bug #30604: test case sql/sp.cc: Bug #30604: finding a routine should be a transparent operation as far as the binary log is concerned. Fixed by preserving and restoring the time_zone usage flag.
-
- 18 Feb, 2008 1 commit
-
-
unknown authored
into mysql.com:/home/hf/work/32942/my50-32942 sql/sql_select.cc: Auto merged mysql-test/r/select.result: merging mysql-test/t/select.test: merging
-
- 17 Feb, 2008 5 commits
-
-
ssh://bk-internal.mysql.com//home/bk/mysql-5.0-optunknown authored
into kaamos.(none):/data/src/opt/mysql-5.0-opt sql/item.cc: Auto merged
-
unknown authored
Problem is not about intervals and doesn't actually cause 'full table scan'. We have an optimization for DISTINCT when we have 'DISTINCT field_from_first_join_table' we don't need to read all the rows from the JOIN-ed table if we found one conforming row. It stopped working in 5.0 as we return NESTED_LOOP_OK if we came upon that case in the evaluate_join_record() and that doesn't break the recordreading loop in sub_select(). Fixed by returning NESTED_LOOP_NO_MORE_ROWS in this case. mysql-test/r/select.result: Bug #32942 now() - interval '7200' second is NOT pre-calculated, causing "full table scan". test result mysql-test/t/select.test: Bug #32942 now() - interval '7200' second is NOT pre-calculated, causing "full table scan" test case sql/sql_select.cc: Bug #32942 now() - interval '7200' second NOT pre-calculated, causing "full table scan" return NESTED_LOOP_NO_MORE_ROWS when we don't need to read rows from this table anymore
-
unknown authored
into kaamos.(none):/data/src/opt/mysql-5.0-opt
-
unknown authored
into kaamos.(none):/data/src/opt/mysql-5.0-opt mysql-test/r/variables.result: Auto merged mysql-test/t/variables.test: Auto merged sql/item.cc: Auto merged sql/item_cmpfunc.cc: Auto merged sql/sql_acl.cc: Auto merged sql/sql_select.cc: Auto merged sql/sql_yacc.yy: Auto merged mysql-test/r/sp.result: Manual merge. mysql-test/t/sp.test: Manual merge.
-
unknown authored
into kaamos.(none):/data/src/opt/mysql-4.1-opt
-
- 15 Feb, 2008 2 commits
-
-
unknown authored
into magare.gmz:/home/kgeorge/mysql/autopush/B31887-5.0-opt sql/item.cc: Auto merged sql/mysql_priv.h: Auto merged
-
unknown authored
when executed in version 5 Zero fill is a field attribute only. So we can't always propagate constants for zerofill fields : the values and expression results don't have that flag. Fixed by converting the const value to a string and using that in const propagation when the context allows it. Disable const propagation for fields with ZEROFILL flag in all the other cases. mysql-test/r/compare.result: Bug #31887: test case mysql-test/t/compare.test: Bug #31887: test case sql/item.cc: Bug #31887: If the context allows conversion of an int constant to a zero-filled string constant put the string constant instead of the int constant when doing const propagation sql/mysql_priv.h: Bug #31887: a macro to get all the Field_num descendant fields.
-
- 14 Feb, 2008 1 commit
-
-
ssh://bk-internal.mysql.com//home/bk/mysql-5.0-optunknown authored
into kaamos.(none):/data/src/opt/mysql-5.0-opt
-
- 13 Feb, 2008 1 commit
-
-
unknown authored
into host.loc:/home/uchum/work/5.0-opt
-