- 25 Jul, 2006 1 commit
-
-
unknown authored
When there is no index defined filesort is used to sort the result of a query. If there is a function in the select list and the result set should be ordered by it's value then this function will be evaluated twice. First time to get the value of the sort key and second time to send its value to a user. This happens because filesort when sorts a table remembers only values of its fields but not values of functions. All functions are affected. But taking into account that SP and UDF functions can be both expensive and non-deterministic a temporary table should be used to store their results and then sort it to avoid twice SP evaluation and to get a correct result. If an expression referenced in an ORDER clause contains a SP or UDF function, force the use of a temporary table. A new Item_processor function called func_type_checker_processor is added to check whether the expression contains a function of a particular type. mysql-test/t/udf.test: Added test case for bug#19862: Sort with filesort by function evaluates function twice mysql-test/t/sp.test: Added test case for bug#19862: Sort with filesort by function evaluates function twice mysql-test/r/sp.result: Added test case for bug#19862: Sort with filesort by function evaluates function twice mysql-test/r/udf.result: Added test case for bug#19862: Sort with filesort by function evaluates function twice sql/sql_select.cc: Fixed bug#19862: Sort with filesort by function evaluates function twice If an expression referenced in an ORDER clause contains a SP or UDF function, force the use of a temporary table. sql/item_func.h: Fixed bug#19862: Sort with filesort by function evaluates function twice A new Item_processor function called func_type_checker_processor is added to check whether the expression contains a function of a particular type. sql/item.h: Fixed bug#19862: Sort with filesort by function evaluates function twice A new Item_processor function called func_type_checker_processor is added to check whether the expression contains a function of a particular type. sql/item_func.cc: Fixed bug#19862: Sort with filesort by function evaluates function twice A new Item_processor function called func_type_checker_processor is added to check whether the expression contains a function of a particular type.
-
- 19 Jul, 2006 3 commits
-
-
unknown authored
mysql-test/r/func_str.result: Adjusted results for the test case of bug 17526. sql/item_strfunc.cc: Post-merge modification
-
unknown authored
into olga.mysql.com:/home/igor/mysql-5.0-opt mysql-test/r/func_str.result: Auto merged mysql-test/t/func_str.test: Auto merged sql/item_strfunc.cc: Auto merged sql/item_strfunc.h: Auto merged
-
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.
-
- 18 Jul, 2006 3 commits
-
-
unknown authored
into moonbone.local:/work/tmp_merge-5.0-opt-mysql client/mysql.cc: Auto merged mysql-test/r/date_formats.result: Auto merged mysql-test/t/date_formats.test: Auto merged sql/time.cc: Manual merge
-
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
into moonbone.local:/work/tmp_merge-5.0-opt-mysql
-
- 17 Jul, 2006 5 commits
-
-
unknown authored
-
unknown authored
into rurik.mysql.com:/home/igor/mysql-5.0-opt mysql-test/r/subselect.result: Manual merge mysql-test/t/subselect.test: Manual merge
-
unknown authored
into olga.mysql.com:/home/igor/mysql-5.0-opt
-
unknown authored
Test case for bug#10977 altered to make it work in both plain and ps-protocol modes. mysql-test/t/select.test: Test case for bug#10977 altered to make it work in both plain and ps-protocol modes. mysql-test/r/select.result: Test case for bug#10977 altered to make it work in both plain and ps-protocol modes.
-
unknown authored
Corrected the test case after fixing bug#10977 mysql-test/t/mysql.test: Corrected the test case after fixing bug#10977 mysql-test/r/mysql.result: Corrected the test case after fixing bug#10977
-
- 16 Jul, 2006 1 commit
-
-
unknown authored
into rurik.mysql.com:/home/igor/mysql-5.0-opt
-
- 15 Jul, 2006 4 commits
-
-
unknown authored
Fixed bug#10977: No warning issued if a column name is truncated New warning message is added. sql/share/errmsg.txt: Fixed bug#10977: No warning issued if a column name is truncated New warning message is added.
-
unknown authored
When an alias is set to a column leading spaces are removed from the alias. But when this is done on aliases set by user this can lead to confusion. Now Item::set_name() method issues the warning if leading spaces were removed from an alias set by user. New warning message is added. mysql-test/t/select.test: Added test case for bug#10977:No warning issued if a column name is truncated. mysql-test/r/select.result: Added test case for bug#10977:No warning issued if a column name is truncated. sql/sql_yacc.yy: Fixed bug#10977: No warning issued if a column name is truncated The is_autogenerated_name flag is set before set_name() method call. sql/item.cc: Fixed bug#10977: No warning issued if a column name is truncated Now Item::set_name() method issues the warning if leading spaces were removed from an alias set by user.
-
unknown authored
The bug caused a crash of the server if a subquery with ORDER BY DESC used the range access method. The bug happened because the method QUICK_SELECT_DESC::reset was not reworked after MRR interface had been introduced. mysql-test/r/subselect.result: Added a test case for bug #20869. mysql-test/t/subselect.test: Added a test case for bug #20869.
-
unknown authored
The bug was due to a loss happened during a refactoring made on May 30 2005 that modified the function JOIN::reinit. As a result of it for any subquery the value of offset_limit_cnt was not restored for the following executions. Yet the first execution of the subquery made it equal to 0. The fix restores this value in the function JOIN::reinit. mysql-test/r/subselect.result: Added a test case fir bug #20519. mysql-test/t/subselect.test: Added a test case fir bug #20519.
-
- 14 Jul, 2006 6 commits
-
-
unknown authored
into rurik.mysql.com:/home/igor/mysql-5.0-opt VC++Files/sql/mysqld.dsp: Auto merged
-
unknown authored
into rakia.(none):/home/kgeorge/mysql/autopush/B17212-4.1-opt
-
unknown authored
Discussed with Kent. ndb/test/ndbapi/Makefile.am: Fix for a compatibility build problem on MacOSX Intel.
-
unknown authored
into macbook.gmz:/Users/kgeorge/mysql/work/B17212-5.0-opt mysql-test/r/innodb_mysql.result: Merge 4.1->5.0 for bug #17212 mysql-test/t/innodb_mysql.test: Merge 4.1->5.0 for bug #17212 sql/sql_select.cc: Merge 4.1->5.0 for bug #17212
-
unknown authored
mysql-test/r/ps_7ndb.result: Correction for test results after pushing the fix for bug 19714.
-
unknown authored
DESCRIBE returned the type BIGINT for a column of a view if the column was specified by an expression over values of the type INT. E.g. for the view defined as follows: CREATE VIEW v1 SELECT COALESCE(f1,f2) FROM t1 DESCRIBE returned type BIGINT for the only column of the view if f1,f2 are columns of the INT type. At the same time DESCRIBE returned type INT for the only column of the table defined by the statement: CREATE TABLE t2 SELECT COALESCE(f1,f2) FROM t1. This inconsistency was removed by the patch. Now the code chooses between INT/BIGINT depending on the precision of the aggregated column type. Thus both DESCRIBE commands above returns type INT for v1 and t2. mysql-test/r/analyse.result: Adjusted the results after having fixed bug #19714. mysql-test/r/bigint.result: Adjusted the results after having fixed bug #19714. mysql-test/r/create.result: Adjusted the results after having fixed bug #19714. mysql-test/r/olap.result: Adjusted the results after having fixed bug #19714. mysql-test/r/ps_2myisam.result: Adjusted the results after having fixed bug #19714. mysql-test/r/ps_3innodb.result: Adjusted the results after having fixed bug #19714. mysql-test/r/ps_4heap.result: Adjusted the results after having fixed bug #19714. mysql-test/r/ps_5merge.result: Adjusted the results after having fixed bug #19714. mysql-test/r/ps_6bdb.result: Adjusted the results after having fixed bug #19714. mysql-test/r/ps_7ndb.result: Adjusted the results after having fixed bug #19714. mysql-test/r/sp.result: Adjusted the results after having fixed bug #19714. mysql-test/r/subselect.result: Adjusted the results after having fixed bug #19714. mysql-test/r/type_ranges.result: Adjusted the results after having fixed bug #19714. mysql-test/r/view.result: Added a test case for bug #19714. mysql-test/t/view.test: Added a test case for bug #19714.
-
- 13 Jul, 2006 4 commits
-
-
unknown authored
into moonbone.local:/work/tmp_merge-5.0-opt-mysql sql/item_subselect.cc: Auto merged sql/sql_class.cc: Auto merged sql/sql_class.h: Auto merged sql/sql_select.cc: Auto merged mysql-test/r/subselect.result: Manual merge mysql-test/t/subselect.test: Manual merge
-
unknown authored
into moonbone.local:/work/tmp_merge-5.0-opt-mysql mysql-test/r/rpl_insert_id.result: Auto merged mysql-test/t/rpl_insert_id.test: Auto merged sql/item_strfunc.cc: Auto merged sql/item_strfunc.h: Auto merged sql/sql_class.cc: Auto merged sql/sql_class.h: Auto merged sql/sql_insert.cc: Auto merged sql/sql_select.cc: Auto merged
-
unknown authored
into moonbone.local:/home/evgen/bk-trees/mysql-5.0-opt sql/item.h: Auto merged sql/item_strfunc.cc: Auto merged
-
unknown authored
do not look for client-specific commands while inside a multi-line comment. we will allow multi-comments pretty much anywhere within SQL-statements, but client-specific commands (help, use, print, ...) must be the first token in the input. client/mysql.cc: Bug#20432: mysql client interprets commands in comments mysql-test/r/mysql_client.result: Bug#20432: mysql client interprets commands in comments test client-side parsing of comments and client-specific commands mysql-test/t/mysql_client.test: Bug#20432: mysql client interprets commands in comments test client-side parsing of comments and client-specific commands
-
- 12 Jul, 2006 4 commits
-
-
unknown authored
sql/item_timefunc.cc: Fix a valgrind warning in type_date test.
-
unknown authored
into dl145k.mysql.com:/data0/mkindahl/bk/mysql-5.0-rpl ndb/include/kernel/GlobalSignalNumbers.h: Auto merged ndb/src/kernel/blocks/dbdict/Dbdict.cpp: Auto merged ndb/src/kernel/blocks/dbdict/Dbdict.hpp: Auto merged ndb/src/kernel/blocks/dbdih/DbdihMain.cpp: Auto merged ndb/src/ndbapi/ndberror.c: Auto merged sql/ha_ndbcluster.cc: Auto merged sql/handler.h: Auto merged sql/sql_base.cc: Auto merged sql/sql_insert.cc: Auto merged
-
unknown authored
* don't use join cache when the incoming data set is already ordered for ORDER BY This choice must be made because join cache will effectively reverse the join order and the results will be sorted by the index of the table that uses join cache. mysql-test/r/innodb_mysql.result: Bug #17212 results not sorted correctly by ORDER BY when using index * Test suite for the bug mysql-test/t/innodb_mysql.test: Bug #17212 results not sorted correctly by ORDER BY when using index * Test suite for the bug sql/sql_select.cc: Bug #17212 results not sorted correctly by ORDER BY when using index * don't use join cache when the incoming data set is already sorted
-
unknown authored
into moonbone.local:/work/16302-bug-4.1-opt-mysql mysql-test/r/subselect.result: SCCS merged mysql-test/t/subselect.test: SCCS merged
-
- 11 Jul, 2006 9 commits
-
-
unknown authored
into moonbone.local:/work/18503-bug-4.1-mysql sql/sql_select.cc: Auto merged
-
unknown authored
may return a wrong result. An Item_sum_hybrid object has the was_values flag which indicates whether any values were added to the sum function. By default it is set to true and reset to false on any no_rows_in_result() call. This method is called only in return_zero_rows() function. An ALL/ANY subquery can be optimized by MIN/MAX optimization. The was_values flag is used to indicate whether the subquery has returned at least one row. This bug occurs because return_zero_rows() is called only when we know that the select will return zero rows before starting any scans but often such information is not known. In the reported case the return_zero_rows() function is not called and the was_values flag is not reset to false and yet the subquery return no rows Item_func_not_all and Item_func_nop_all functions return a wrong comparison result. The end_send_group() function now calls no_rows_in_result() for each item in the fields_list if there is no rows were found for the (sub)query. mysql-test/t/subselect.test: Added test case for bug#18503: Queries with a quantified subquery returning empty set may return a wrong result. mysql-test/r/subselect.result: Added test case for bug#18503: Queries with a quantified subquery returning empty set may return a wrong result. sql/sql_select.cc: Fixed bug#18503: Queries with a quantified subquery returning empty set may return a wrong result. The end_send_group() function now calls no_rows_in_result() for each item in the fields_list if there is no matching rows were found.
-
unknown authored
The problem is that the author used the wrong function to send a warning to the user about truncation of data. push_warning() takes a constant string and push_warning_printf() takes a format and variable arguments to fill it. Since the string we were complaining about contains percent characters, the printf() code interprets the "%Y" et c. that the user sends. That's wrong, and often causes a crash, especially if the date mentions seconds, "%s". A alternate fix would be to use push_warning_printf(..., "%s", warn_buff) . mysql-test/r/date_formats.result: Test that an invalid date doesn't crash the server. We should get a warning back instead of a dead socket. mysql-test/t/date_formats.test: Test that an invalid date doesn't crash the server. We should get a warning back instead of a dead socket. sql/time.cc: Don't try to use warn_buf as the start of a varible arguement list to send to a warning-formatted my_vsnprintf() .
-
unknown authored
into moonbone.local:/work/16302-bug-4.1-opt-mysql
-
unknown authored
into moonbone.local:/home/evgen/bk-trees/mysql-4.1-opt sql/sql_class.cc: Auto merged sql/sql_class.h: Auto merged
-
unknown authored
into bodhi.local:/opt/local/work/mysql-5.0-runtime-merge-41 sql/sql_table.cc: Auto merged
-
unknown authored
into chilla.local:/home/mydev/mysql-5.0-amerge sql/handler.h: Auto merged sql/sql_table.cc: Auto merged
-
unknown authored
-
unknown authored
into trift2.:/M50/mysql-5.0
-