- 10 Aug, 2006 1 commit
-
-
unknown authored
Treat queries with no FROM and aggregate functions as normal queries, so the aggregate function get correctly calculated as if there is 1 row. This means that they will be considered to have one row, so COUNT(*) will return 1 instead of 0. Other aggregates will behave in compatible manner. mysql-test/r/func_gconcat.result: Bug #16792 query with subselect, join, and group not returning proper values - test case. Note how it improves the support for DUAL. mysql-test/r/func_group.result: Bug #16792 query with subselect, join, and group not returning proper values - test case. Note how it improves the support for DUAL. mysql-test/r/subselect.result: Bug #16792 query with subselect, join, and group not returning proper values - consequence of (SELECT MAX(<const>)) now returning <const> instead of 0 mysql-test/t/func_group.test: Bug #16792 query with subselect, join, and group not returning proper values - test case. sql/opt_sum.cc: Bug #16792 query with subselect, join, and group not returning proper values - cannot do the optimization if the index is already opened by (say) UPDATE as it invloves opening reading and closing the index. sql/sql_select.cc: Bug #16792 query with subselect, join, and group not returning proper values - Treat queries with no FROM and aggregate functions as normal queries, so the aggregate function get correctly calculated as if there is 1 row.
-
- 02 Aug, 2006 1 commit
-
-
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
-
- 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 5 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.
-
- 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.
-
- 24 Jul, 2006 5 commits
-
-
unknown authored
into trift2.:/M41/push-4.1
-
unknown authored
into trift2.:/M41/push-4.1 sql/field.cc: Auto merged sql/sql_locale.cc: Changes were already present (and even better) == Null-merge == "ul".
-
unknown authored
- Send confusing output to /dev/null mysql-test/t/mysqlbinlog.test: Send confusing error messages to /dev/null so they don't appear in erro log if test case fails
-
unknown authored
into mysql.com:/Users/kent/mysql/bk/mysql-4.1-new
-
unknown authored
Filter out strange control characters, messes up logs netware/BUILD/mwasmnlm: Filter out strange control characters, messes up logs netware/BUILD/mwccnlm: Filter out strange control characters, messes up logs netware/BUILD/mwldnlm: Filter out strange control characters, messes up logs
-
- 23 Jul, 2006 1 commit
-
-
unknown authored
into mysql.com:/usr/home/ram/work/4.1.b16327 sql/field.cc: Auto merged mysql-test/r/func_time.result: merging mysql-test/t/func_time.test: merging
-
- 21 Jul, 2006 1 commit
-
-
unknown authored
-
- 20 Jul, 2006 2 commits
-
-
unknown authored
Add implementations of Item_func_{nop,not}_all::neg_transformer mysql-test/r/subselect.result: BUG#20975: testcase mysql-test/t/subselect.test: BUG#20975: testcase sql/mysql_priv.h: Make chooser_compare_func_creator visible in item.h
-
unknown authored
into mysql.com:/home/hf/work/mysql-4.1.19983 libmysqld/lib_sql.cc: Auto merged tests/mysql_client_test.c: Auto merged
-
- 19 Jul, 2006 3 commits
-
-
unknown authored
for class Item_func_trim. For 4.1 it caused wrong output for EXPLAIN EXTENDED commands if expressions with the TRIM function of two arguments were used. For 5.0 it caused an error message when trying to select from a view with the TRIM function of two arguments. This unexpected error message was due to the fact that the print method for the class Item_func_trim was inherited from the class Item_func. Yet the TRIM function does not take a list of its arguments. Rather it takes the arguments in the form: [{BOTH | LEADING | TRAILING} [remstr] FROM] str) | [remstr FROM] str mysql-test/r/func_str.result: Added a test case for bug #17526: uncorrect print method for class Item_func_trim. mysql-test/t/func_str.test: Added a test case for bug #17526: incorrect print method for class Item_func_trim. sql/item_strfunc.cc: Fixed bug #17526: incorrect print method for class Item_func_trim. Added an implementation for the virtual function print in the class Item_func_trim. The implementation takes into account the fact the TRIM function takes the arguments in the following forms: [{BOTH | LEADING | TRAILING} [remstr] FROM] str) | [remstr FROM] str sql/item_strfunc.h: Fixed bug #17526: incorrect print method for class Item_func_trim. Added an implementation for the virtual function print in the class Item_func_trim. Declared a virtual method to return the mode of the TRIM function: LEADING, TRAILING or BOTH. Added implementations of this method for Item_func_trim and its descendants Item_func_ltrim and Item_func_rtrim.
-
unknown authored
- backport patch from 5.0 - "table" can be NULL in temporary fields used for type conversion sql/field.cc: table can be NULL in temporary fields used for type conversion. Store value in field as if db_low_byte_first was set. sql/field.h: table can be NULL in temporary fields used for type conversion. Store value in field as if db_low_byte_first was set.
-
unknown authored
Added new "mysql_explain_log" man page Added missing install of "myisam_ftdump" man page Added missing install of "mysqlman" man page support-files/mysql.spec.sh: Added new "mysql_explain_log" man page Added missing install of "myisam_ftdump" man page Added missing install of "mysqlman" man page
-
- 18 Jul, 2006 3 commits
-
-
unknown authored
into moonbone.local:/work/tmp_merge-4.1-opt-mysql mysql-test/r/date_formats.result: Auto merged mysql-test/t/date_formats.test: Auto merged sql/item_strfunc.cc: Auto merged sql/sql_class.cc: Auto merged
-
unknown authored
into moonbone.local:/work/tmp_merge-4.1-opt-mysql mysql-test/r/date_formats.result: Auto merged mysql-test/t/date_formats.test: Auto merged
-
unknown authored
Please use "ul" when merging this changeset to 5.0. sql/item_timefunc.cc: Fix a valgrind warning in type_date test. sql/sql_locale.cc: Fix a Windows build failure: "false" -> FALSE
-
- 17 Jul, 2006 2 commits
-
-
unknown authored
1) When initializing a boolean variable, do not use string representations '"false"' and '"true"' but rather the boolean values 'false' and 'true'. 2) Add the module to the various Windows description files. VC++Files/libmysqld/libmysqld.dsp: Add "sql/sql_locale.cpp" with similar settings as the other files. VC++Files/libmysqld/libmysqld.vcproj: Add "sql/sql_locale.cpp" with similar settings as the other files. VC++Files/libmysqld/libmysqld_ia64.dsp: Add "sql/sql_locale.cpp" with similar settings as the other files. VC++Files/mysqldemb/mysqldemb.dsp: Add "sql/sql_locale.cpp" with similar settings as the other files. VC++Files/mysqldemb/mysqldemb.vcproj: Add "sql/sql_locale.cpp" with similar settings as the other files. VC++Files/mysqldemb/mysqldemb_ia64.dsp: Add "sql/sql_locale.cpp" with similar settings as the other files. VC++Files/sql/mysqld.dsp: Add "sql/sql_locale.cpp" with similar settings as the other files. VC++Files/sql/mysqld.vcproj: Add "sql/sql_locale.cpp" with similar settings as the other files. VC++Files/sql/mysqld_ia64.dsp: Add "sql/sql_locale.cpp" with similar settings as the other files. VC++Files/sql/mysqldmax.dsp: Add "sql/sql_locale.cpp" with similar settings as the other files. VC++Files/sql/mysqldmax_ia64.dsp: Add "sql/sql_locale.cpp" with similar settings as the other files. sql/sql_locale.cc: When initializing a boolean variable, do not use stringrepresentations '"false"' and '"true"' but rather the boolean values 'false' and 'true'.
-
unknown authored
In 5.0, this is already solved, so that is a null-merge ("ul"). strings/strtod.c: This file needs the definition of "EOVERFLOW", which is on some platforms (Windows, OpenBSD) provided only by "my_base.h". As this in turn includes "my_global.h", the include file name can be changed.
-
- 15 Jul, 2006 1 commit
-
-
unknown authored
into orca.ndb.mysql.com:/space_old/pekka/ndb/version/my41-1.2461
-
- 14 Jul, 2006 5 commits
-
-
unknown authored
Command "ndb_mgm" is an optional tool, and should only be in "ndb-tools" package (bug#21058) support-files/mysql.spec.sh: Command "ndb_mgm" is an optional tool, and should only be in "ndb-tools" package (bug#21058)
-
unknown authored
-
unknown authored
into mysql.com:/usr/home/ram/work/4.1.b15195
-
unknown authored
to avoid the potential security problem. (see bug #15195: Security Breach with MERGE table)
-
unknown authored
into rakia.(none):/home/kgeorge/mysql/autopush/B17212-4.1-opt
-
- 13 Jul, 2006 1 commit
-
-
unknown authored
into mysql.com:/home/hf/work/mysql-4.1.16017
-