- 30 Sep, 2006 2 commits
-
-
unknown authored
include/my_global.h: Disable __attribute__ on g++ < 3.4. There are actually some forms of it that are supported, but rather than create more ATTRIBUTE_<foo> macros to handle them, it is easier to just disable them all. We will catch the compiler warnings with more recent versions of g++.
-
unknown authored
into rama.(none):/home/jimw/my/mysql-4.1-clean
-
- 17 Aug, 2006 2 commits
-
-
unknown authored
The problem was that the error handling was using a too-small buffer to print the error message generated. We fix this by not using a buffer at all, but by using fprintf() directly. There were also some problems with the error handling in table dumping that was exposed by this fix that were also corrected. client/mysqldump.c: Use fprintf() instead of my_printf_error() to avoid buffer overflow issues. Since ME_BELL wasn't specified, calling my_printf_error() offered no advantage except for adding my_progname, which we just go ahead and do manually. Also, fix the error handling in dumpTable() when queries to get data fail and --force was specified. mysql-test/r/mysqldump.result: Add new results mysql-test/t/mysqldump.test: Add new regression test
-
unknown authored
Fix when __attribute__() is stubbed out, add ATTRIBUTE_FORMAT() for specifying __attribute__((format(...))) safely, make more use of the format attribute, and fix some of the warnings that this turns up (plus a bonus unrelated one). include/m_ctype.h: Add ATTRIBUTE_FORMAT to printf-like functions. include/m_string.h: Add ATTRIBUTE_FORMAT to my_snprintf() declaration. include/my_global.h: Fix neutering of __attribute__() on old versions of GCC and non-GCC compilers. Add ATTRIBUTE_FORMAT() macro for setting __attribute_((format(...)), since it is available from different versions of gcc and g++. include/my_sys.h: Add ATTRIBUTE_FORMAT() to my_printf_error declaration sql/item_subselect.cc: Silence warning about members being initialized out-of-order sql/item_timefunc.cc: Fix format specifier in snprintf() calls with milliseconds sql/mysql_priv.h: Add ATTRIBUTE_FORMAT to printf-like functions. sql/mysqld.cc: Fix various format specifiers Make sure that method_conv is always set by myisam_stats_method sql/opt_range.cc: Cast pointers to correct type for %lx sql/set_var.cc: Fix __attribute__((unused)) (missing inner set of parens) sql/slave.cc: Fix format specifier sql/slave.h: Add ATTRIBUTE_FORMAT to slave_print_error() declaration. sql/sql_acl.cc: Fix number of arguments passed for formatting, and fix acl_host_or_ip being passed instead of just the hostname. sql/sql_class.h: Add ATTRIBUTE_FORMAT to MYSQL_LOG::write().
-
- 03 Aug, 2006 5 commits
-
-
unknown authored
into may.pils.ru:/home/svoj/devel/mysql/BUG7391/mysql-4.1
-
unknown authored
- Backport patch from 5.0 sql/mysqld.cc: Add else case to set "lower_case_file_system" also when lower_case_table_names are 1
-
unknown authored
into neptunus.(none):/home/msvensson/mysql/mysql-4.1 mysql-test/t/mysqlbinlog.test: Auto merged
-
unknown authored
into may.pils.ru:/home/svoj/devel/mysql/BUG7391/mysql-4.1
-
unknown authored
privileges This problem is 4.1 specific. It doesn't affect 4.0 and was fixed in 5.x before. Having any mysql user who is allowed to issue multi table update statement and any column/table grants, allows this user to update any table on a server (mysql grant tables are not exception). check_grant() accepts number of tables (in table list) to be checked in 5-th param. While checking grants for multi table update, number of tables must be 1. It must never be 0 (actually we have DBUG_ASSERT(number > 0) in 5.x in grant_check() function). mysql-test/r/grant.result: Addition to test case for bug#7391: - Added grant statement to trigger this problem in 4.1. - Fixed error messages. mysql-test/t/grant.test: Addition to test case for bug#7391: - Added grant statement to trigger this problem in 4.1. - Fixed error messages. sql/sql_update.cc: check_grant() accepts number of tables (in table list) to be checked in 5-th param. For this particular check number of tables must be 1. It must never be 0 (actually we have DBUG_ASSERT(number > 0) in 5.x in grant_check() function).
-
- 02 Aug, 2006 7 commits
-
-
unknown authored
into zippy.cornsilk.net:/home/cmiller/work/mysql/m41-maint--07OBQ sql/set_var.cc: Auto merged
-
unknown authored
set. (Ramil's patch, recreated.) heap/hp_delete.c: Reset info->lastkey_len for further heap_rnext/heap_rprev calls. mysql-test/r/heap_btree.result: Test for bug #9719: DELETE with WHERE on HEAP table just deletes first row of matched set. mysql-test/t/heap_btree.test: Test for bug #9719: DELETE with WHERE on HEAP table just deletes first row of matched set.
-
unknown authored
into rolltop.ignatz42.dyndns.org:/mnt/storeage/mysql-4.1-maint_bug20721
-
unknown authored
into moonbone.local:/work/tmp_merge-4.1-opt-mysql
-
unknown authored
into moonbone.local:/work/tmp_merge-4.1-opt-mysql
-
unknown authored
into moonbone.local:/work/tmp_merge-4.1-opt-mysql sql/item_strfunc.cc: Auto merged sql/mysql_priv.h: Auto merged sql/sql_parse.cc: Auto merged sql/sql_select.cc: Auto merged
-
unknown authored
into mysql.com:/home/hf/work/mysql-4.1.20317
-
- 01 Aug, 2006 2 commits
- 31 Jul, 2006 5 commits
-
-
unknown authored
into anubis.greendragongames.com:/home/greenman/workspace-mysql/mysql/pending/bug-4.1-19364 client/mysql.cc: Auto merged
-
unknown authored
into mysql.com:/users/lthalmann/bk/MERGE/mysql-4.1-merge
-
unknown authored
into neptunus.(none):/home/msvensson/mysql/mysql-4.1
-
unknown authored
into neptunus.(none):/home/msvensson/mysql/mysql-4.1
-
unknown authored
into neptunus.(none):/home/msvensson/mysql/mysql-4.1
-
- 30 Jul, 2006 1 commit
-
-
unknown authored
- Init start_lineno to 0 client/mysqltest.c: Init start_lineno to 0 and set it back to zero before comparing result file.
-
- 29 Jul, 2006 2 commits
- 28 Jul, 2006 4 commits
-
-
unknown authored
into mysql.com:/Users/kent/mysql/bk/mysql-4.1 configure.in: Auto merged scripts/make_binary_distribution.sh: Auto merged support-files/mysql.spec.sh: SCCS merged
-
unknown authored
Man page for mysqld command move to section 8 (bug#21220) configure.in: Man page for mysqld command move to section 8 (bug#21220) man/Makefile.am: Man page for mysqld command move to section 8 (bug#21220)
-
unknown authored
Man page for "mysqld" command move to section 8 (bug#21220) scripts/make_binary_distribution.sh: Man page for "mysqld" command move to section 8 (bug#21220)
-
unknown authored
Man page for "mysqld" command move to section 8 (bug#21220) support-files/mysql.spec.sh: Man page for "mysqld" command move to section 8 (bug#21220)
-
- 27 Jul, 2006 1 commit
-
-
unknown authored
into rakia.(none):/home/kgeorge/mysql/autopush/B20792-4.1-opt sql/sql_select.cc: Auto merged
-
- 26 Jul, 2006 7 commits
-
-
unknown authored
into rakia.(none):/home/kgeorge/mysql/autopush/B20792-4.1-opt sql/sql_select.cc: Auto merged
-
unknown authored
When processing aggregate functions all tables values are reset to NULLs at the end of each group. When doing that if there are no rows found for a group the const tables must not be reset as they are not recalculated by do_select()/sub_select() for each group. mysql-test/r/subselect2.result: * Bug #20792: Incorrect results from aggregate subquery - test suite for the bug. This is dependent on InnoDB despite the fact that the bug and the fix are not InnoDB specific. This is because of the table flag HA_NOT_EXACT_COUNT. When this flag is off (as in MyISAM) both t2 and t3 become of join type 'system' as they are estimated to have 1 record and and this statistics can be trusted (according to the absence of HA_NOT_EXACT_COUNT). mysql-test/t/subselect2.test: * Bug #20792: Incorrect results from aggregate subquery - test suite for the bug sql/sql_select.cc: * Bug #20792: Incorrect results from aggregate subquery - when clearing results if there are not rows found for group the const tables must not be reset as they are not recalculated for each group.
-
unknown authored
into rakia.(none):/home/kgeorge/mysql/autopush/B21019-4.1-opt sql/sql_select.cc: Auto merged mysql-test/r/select.result: SCCS merged mysql-test/t/select.test: SCCS merged
-
unknown authored
Too many cursors (more than 1024) could lead to memory corruption. This affects both, stored routines and C API cursors, and the threshold is per-server, not per-connection. Similarly, the corruption could happen when the server was under heavy load (executing more than 1024 simultaneous complex queries), and this is the reason why this bug is fixed in 4.1, which doesn't support cursors. The corruption was caused by a bug in the temporary tables code, when an attempt to create a table could lead to a write beyond allocated space. Note, that only internal tables were affected (the tables created internally by the server to resolve the query), not tables created with CREATE TEMPORARY TABLE. Another pre-condition for the bug is TRUE value of --temp-pool startup option, which, however, is a default. The cause of a bug was that random memory was overwritten in bitmap_set_next() due to out-of-bound memory access. mysys/my_bitmap.c: Local 'bitmap_size' is measured in bytes, no need to multiply it by 8. sql/sql_select.cc: Clear the temp_pool_slot bit only if we have set it previously.
-
unknown authored
When optimizing conditions like 'a = <some_val> OR a IS NULL' so that they're united into a single condition on the key and checked together the server must check which value is the NULL value in a correct way : not only using ->is_null but also check if the expression doesn't depend on any tables referenced in the current statement. This additional check must be performed because that optimization takes place before the actual execution of the statement, so if the field was initialized to NULL from a previous statement the optimization would be applied incorrectly. mysql-test/r/select.result: Bug #21019: First result of SELECT COUNT(*) different than consecutive runs - test case mysql-test/t/select.test: Bug #21019: First result of SELECT COUNT(*) different than consecutive runs - test case. Note that ALTER TABLE is important here : it happens to leave the Field instance for t1.b set to NULL, witch is vital for demonstrating the problem fixed by this changeset. sql/sql_select.cc: Bug #21019: First result of SELECT COUNT(*) different than consecutive runs - check whether a value is null taking into account its table dependency.
-
unknown authored
- Modify test case to workaround the test tool problem - (Null merge into 5.0) mysql-test/t/mysqlbinlog.test: Send the ouput from "mysqlbinlog" to a file and then read execute it with "mysql" This is a workaround for a windows bug in the test tools in mysql-4.1, which makes it impossible to use "|" to send the output from one program directly to the other. This has been fixed in mysql-5.0.
-
unknown authored
innobase/ibuf/ibuf0ibuf.c: Applied innodb-4.1-ss32 snapshot. ibuf_fixed_addr_page(): Add parameter space. As the insert buffer B-tree is only located in the system tablespace (space 0), IBUF_TREE_ROOT_PAGE_NO is only special in space 0.
-
- 25 Jul, 2006 2 commits
-
-
unknown authored
into lamia.home:/home/tkatchaounov/autopush/4.1-bug-20954 mysql-test/r/subselect.result: Auto merged
-
unknown authored
The problem was in that opt_sum_query() replaced MIN/MAX functions with the corresponding constant found in a key, but due to imprecise representation of float numbers, when evaluating the where clause, this comparison failed. When MIN/MAX optimization detects that all tables can be removed, also remove all conjuncts in a where clause that refer to these tables. As a result of this fix, these conditions are not evaluated twice, and in the case of float number comparisons we do not discard result rows due to imprecise float representation. As a side-effect this fix also corrects an unnoticed problem in bug 12882. mysql-test/r/func_group.result: BUG#20954 - test result adjustment. Adjusted the test result of bug 12882 which was not preperly fixed. The current patch corrects the problem that was fully corrected by the patch for 12882. The problem was that opt_sum_query() indicated that the optimizer may remove all tables because all MIN/MAX/COUNT functions are constants, but this lead to an empty result instead of NULL because the WHERE clause was still evaluated. The current fix removes all conjuncts in the where clause that reference the removed tables, and thus corrects the problem. mysql-test/r/select.result: BUG#20954 - added test mysql-test/r/subselect.result: BUG#20954 - test result adjustment. The fix removes those conditions in a where clause that refer to tables optimized away by MIN/MAX optimization (opt_sum_query()). mysql-test/t/select.test: BUG#20954 - added test sql/sql_select.cc: Fix for BUG#20954: avg(keyval) retuns 0.38 but max(keyval) returns an empty set When MIN/MAX optimization detects that all tables can be removed, also remove all conjuncts in a where clause that refer to these tables. As a result of this fix, these conditions are not evaluated twice, and in the case of float number comparisons we do not discard result rows due to imprecise float representation. As a side-effect this fix also corrects an unnoticed problem in bug 12882.
-