- 10 Nov, 2007 5 commits
-
-
unknown authored
into mysql.com:/misc/mysql/31700/50-31700 sql/sql_select.cc: Auto merged
-
unknown authored
UNIQUE (eq-ref) lookups result in table being considered as a "constant" table. Queries that consist of only constant tables are processed in do_select() in a special way that doesn't invoke evaluate_join_record(), and therefore doesn't increase the counters join->examined_rows and join->thd->row_count. The patch increases these counters in this special case. NOTICE: This behavior seems to contradict what the documentation says in Sect. 5.11.4: "Queries handled by the query cache are not added to the slow query log, nor are queries that would not benefit from the presence of an index because the table has zero rows or one row." No test case in 5.0 as issue shows only in slow query log, and other counters can give subtly different values (with regard to counting in create_sort_index(), synthetic rows in ROLLUP, etc.). sql/sql_class.h: add documentation for some variables sql/sql_select.cc: Don't forget const tables when counting read records!
-
unknown authored
into mysql.com:/scratch/tnurnberg/31800/50-31800 mysql-test/r/select.result: Auto merged mysql-test/t/select.test: Auto merged
-
unknown authored
BETWEEN was more lenient with regard to what it accepted as a DATE/DATETIME in comparisons than greater-than and less-than were. ChangeSet makes < > comparisons similarly robust with regard to trailing garbage (" GMT-1") and "missing" leading zeros. Now all three comparators behave similarly in that they throw a warning for "junk" at the end of the data, but then proceed anyway if possible. Before < > fell back on a string- (rather than date-) comparison when a warning-condition was raised in the string-to-date conversion. Now the fallback only happens on actual errors, while warning- conditions still result in a warning being to delivered to the client. mysql-test/r/select.result: Show that we compare DATE/DATETIME-like strings as date(time)s now, rather than as bin-strings. Adjust older result as "2005-09-3a" is now correctly seen as "2005-09-3" + trailing garbage, rather than as "2005-09-30". mysql-test/t/select.test: Show that we compare DATE/DATETIME-like strings as date(time)s now, rather than as bin-strings. sql-common/my_time.c: correct/clarify date-related comments, particulary for check_date(). doxygenize comment while at it. sql/item_cmpfunc.cc: get_date_from_str() no longer signals an error when all we had was a warning-condition -- and one we already gave the user a warning for at that. Preamble doxygenized.
-
unknown authored
into mysql.com:/misc/mysql/31990/50-31990
-
- 09 Nov, 2007 2 commits
-
-
unknown authored
into polly.(none):/home/kaa/src/opt/mysql-5.0-opt sql/sql_udf.cc: Auto merged
-
unknown authored
causes out of memory errors The code in mysql_create_function() and mysql_drop_function() assumed that the only reason for UDFs being uninitialized at that point is an out-of-memory error during initialization. However, another possible reason for that is the --skip-grant-tables option in which case UDF initialization is skipped and UDFs are unavailable. The solution is to check whether mysqld is running with --skip-grant-tables and issue a proper error in such a case. mysql-test/r/skip_grants.result: Added a test case for bug #32020. mysql-test/t/skip_grants.test: Added a test case for bug #32020. sql/sql_udf.cc: Issue a proper error when a user tries to CREATE/DROP a UDF on a server running with the --skip-grant-tables option.
-
- 08 Nov, 2007 5 commits
-
-
unknown authored
into polly.(none):/home/kaa/src/opt/mysql-5.0-opt
-
unknown authored
into polly.(none):/home/kaa/src/opt/mysql-5.0-opt mysql-test/r/select.result: Auto merged mysql-test/t/select.test: Auto merged
-
unknown authored
into polly.(none):/home/kaa/src/opt/mysql-4.1-opt
-
unknown authored
into polly.(none):/home/kaa/src/opt/bug32103/my50-bug26215 mysql-test/t/select.test: Auto merged mysql-test/r/select.result: Manual merge. sql/item.h: Manual merge.
-
unknown authored
HOUR(), MINUTE(), ... returned spurious results when used on a DATE-cast. This happened because DATE-cast object did not overload get_time() method in superclass Item. The default method was inappropriate here and misinterpreted the data. Patch adds missing method; get_time() on DATE-casts now returns SQL-NULL on NULL input, 0 otherwise. This coincides with the way DATE-columns behave. mysql-test/r/cast.result: Show that HOUR(), MINUTE(), ... return sensible values when used on DATE-cast objects, namely NULL for NULL-dates and 0 otherwise. Show that this coincides with how DATE-columns behave. mysql-test/t/cast.test: Show that HOUR(), MINUTE(), ... return sensible values when used on DATE-cast objects, namely NULL for NULL-dates and 0 otherwise. Show that this coincides with how DATE-columns behave. sql/item_timefunc.cc: Add get_time() method to DATE-cast object to overload the method in Item superclass that would return spurious results. Return zero-result; flag NULL if input was NULL. sql/item_timefunc.h: Add get_time() declaration to DATE-cast object.
-
- 07 Nov, 2007 1 commit
-
-
unknown authored
variable in where clause. Problem: the new_item() method of Item_uint used an incorrect constructor. "new Item_uint(name, max_length)" calls Item_uint::Item_uint(const char *str_arg, uint length) which assumes the first argument to be the string representation of the value, not the item's name. This could result in either a server crash or incorrect results depending on usage scenarios. Fixed by using the correct constructor in new_item(): Item_uint::Item_uint(const char *str_arg, longlong i, uint length). mysql-test/r/select.result: Added a test case for bug #32103. mysql-test/t/select.test: Added a test case for bug #32103. sql/item.h: Use the correct constructor for Item_uint in Item_uint::new_item().
-
- 05 Nov, 2007 5 commits
-
-
unknown authored
into mysql.com:/home/hf/work/31758/my50-31758
-
unknown authored
-
unknown authored
into mysql.com:/home/hf/work/31758/my50-31758 mysql-test/t/func_str.test: Auto merged mysql-test/r/func_str.result: merging sql/item_strfunc.h: merging
-
unknown authored
into polly.(none):/home/kaa/src/opt/mysql-5.0-opt client/mysql.cc: Auto merged
-
unknown authored
the length of the remaining input string. This is to fix mysqldump test failure in PB introduced by the patch for bug #26215. client/mysql.cc: Fixed code that parses the DELIMITER command to correctly calculate the length of the remaining input string.
-
- 02 Nov, 2007 2 commits
-
-
unknown authored
into polly.(none):/home/kaa/src/opt/mysql-5.0-opt client/mysql.cc: Auto merged
-
unknown authored
bug #26215: mysql command line client should not strip comments from SQL statements and bug #11230: Keeping comments when storing stored procedures With the introduction of multiline comments support in the command line client (mysql) in MySQL 4.1, it became impossible to preserve client-side comments within single SQL statements or stored routines. This feature was useful for monitoring tools and maintenance. The patch adds a new option to the command line client ('--enable-comments', '-c') which allows to preserve SQL comments and send them to the server for single SQL statements, and to keep comments in the code for stored procedures / functions / triggers. The patch is a modification of the contributed patch from bug #11230 with the following changes: - code style changes to conform to the coding guidelines - changed is_prefix() to my_strnncoll() to detect the DELIMITER command, since the first one is case-sensitive and not charset-aware - renamed t/comments-51.* to t/mysql_comments.* - removed tests for comments in triggers since 5.0 does not have SHOW CREATE TRIGGER (those tests will be added back in 5.1). The test cases are only for bug #11230. No automated test case for bug #26215 is possible due to the test suite deficiencies (though the cases from the bug report were tested manually). client/mysql.cc: Applied the contributed patch from bug11230 with the following changes: - code style changes to conform to the coding guidelines - changed is_prefix() to my_strnncoll() to detect the DELIMITER command, since the first one is case-sensitive and not charset-aware The patch adds a new option to the command line client which allows to preserve SQL comments and send them to the server to ensure better error reporting and to, keep comments in the code for stored procedures / functions / triggers. mysql-test/r/mysql_comments.result: Added test cases for bug11230. mysql-test/t/mysql_comments.sql: Added test cases for bug11230. mysql-test/t/mysql_comments.test: Added test cases for bug11230.
-
- 01 Nov, 2007 1 commit
-
-
unknown authored
The HAVING clause is subject to the same rules as the SELECT list about using aggregated and non-aggregated columns. But this was not enforced when processing implicit grouping from using aggregate functions. Fixed by performing the same checks for HAVING as for SELECT. mysql-test/r/func_group.result: Bug #31794: test case mysql-test/t/func_group.test: Bug #31794: test case sql/sql_select.cc: Bug #31794: Check HAVING in addition to SELECT list
-
- 30 Oct, 2007 3 commits
-
-
unknown authored
into magare.gmz:/home/kgeorge/mysql/autopush/B31884-5.0-opt
-
unknown authored
Item_in_subselect's only externally callable method is val_bool(). However the nullability in the wrapper class (Item_in_optimizer) is established by calling the "forbidden" method val_int(). Fixed to use the correct method (val_bool() ) to establish nullability of Item_in_subselect in Item_in_optimizer. mysql-test/r/subselect.result: Bug #31884: test case mysql-test/t/subselect.test: Bug #31884: test case sql/item_subselect.h: Bug #31884: Use the correct method to establish nullability
-
unknown authored
Item_func_inet_ntoa and Item_func_conv inherit 'maybe_null' flag from an argument, which is wrong. Both can be NULL with notnull arguments, so that's fixed. mysql-test/r/func_str.result: Bug #31758 inet_ntoa, oct crashes server with null+filesort test case mysql-test/t/func_str.test: Bug #31758 inet_ntoa, oct crashes server with null+filesort test result sql/item_strfunc.h: Bug #31758 inet_ntoa, oct crashes server with null+filesort missing maybe_null flags set for Item_func_inet_ntoa and Item_func_conv
-
- 29 Oct, 2007 5 commits
-
-
unknown authored
There are two problems with ROUND(X, D) on an exact numeric (DECIMAL, NUMERIC type) field of a table: 1) The implementation of the ROUND function would change the number of decimal places regardless of the value decided upon in fix_length_and_dec. When the number of decimal places is not constant, this would cause an inconsistent state where the number of digits was less than the number of decimal places, which crashes filesort. Fixed by not allowing the ROUND operation to add any more decimal places than was decided in fix_length_and_dec. 2) fix_length_and_dec would allow the number of decimals to be greater than the maximium configured value for constant values of D. This led to the same crash as in (1). Fixed by not allowing the above in fix_length_and_dec. mysql-test/r/type_decimal.result: Bug#30889: Test result mysql-test/t/type_decimal.test: Bug#30889: Test case sql/item_func.cc: Bug#30889: - Avoid setting number of digits after decimal point (scale) higher than its maximum value. - Avoid increasing the number of decimal places in ::decimal_op sql/item_func.h: Bug#30889: Added comments to the declarations of Item_func_numhybrid::<type>_op family of methods.
-
unknown authored
The fix is a copy of Martin Friebe's suggestion. added testing for no_appended which will be false if anything, including the empty string is in result mysql-test/r/func_gconcat.result: test result mysql-test/t/func_gconcat.test: test case sql/item_sum.cc: added testing for no_appended which will be False if anything, including the empty string is in result
-
unknown authored
-
unknown authored
-
unknown authored
into polly.(none):/home/kaa/src/opt/mysql-5.0-opt mysql-test/r/variables.result: Auto merged mysql-test/t/variables.test: Auto merged sql/mysql_priv.h: Auto merged sql/mysqld.cc: Auto merged sql/set_var.cc: Auto merged
-
- 27 Oct, 2007 2 commits
- 26 Oct, 2007 3 commits
-
-
unknown authored
into gleb.loc:/home/uchum/work/bk/5.0-opt sql/sql_class.cc: Auto merged
-
unknown authored
into mysql.com:/misc/mysql/31662/50-31662 sql/sql_base.cc: Auto merged
-
unknown authored
SHOW FIELDS FROM a view with no valid definer was possible (since fix for Bug#26817), but gave NULL as a field-type. This led to mysqldump-ing of such views being successful, but loading such a dump with the client failing. Patch allows SHOW FIELDS to give data-type of field in underlying table. mysql-test/r/information_schema_db.result: Fix test results: SHOW FIELDS FROM a view with no valid DEFINER gives us the field-type of the underlying table now rather than NULL. sql/sql_base.cc: In the case of SHOW FIELDS FROM <view>, do not require a valid DEFINER for determining underlying data-type like we usually do. This is needed for mysqldump.
-
- 25 Oct, 2007 2 commits
-
-
unknown authored
doesn't recognize it This is a 5.0 version of the patch, it will be null-merged to 5.1 Problem: 'log' and 'log_slow_queries' were "fixed" variables, i.e. they showed up in SHOW VARIABLES, but could not be used in expressions like "select @@log". Also, using them in the SET statement produced an incorrect "unknown system variable" error. Solution: Make 'log' and 'log_slow_queries' read-only dynamic variables to make them available for use in expressions, and produce a correct error about the variable being read-only when used in the SET statement. mysql-test/r/variables.result: Added a test case for bug #29131. mysql-test/t/variables.test: Added a test case for bug #29131. sql/mysql_priv.h: Changed the type of opt_log and opt_slow_log to my_bool to align with the interfaces in set_var.cc sql/mysqld.cc: Changed the type of opt_log and opt_slow_log to my_bool to align with the interfaces in set_var.cc sql/set_var.cc: Made 'log' and 'log_slow_queries' to be read-only dynamic system variable, i.e. available for use in expressions with the @@var syntax. sql/set_var.h: Added a new system variable class representing a read-only boolean variable.
-
unknown authored
all space column names. The parser has been modified to check VIEW column names with the check_column_name function and to report an error on empty and all space column names (same as for TABLE column names). sql/sql_yacc.yy: Fixed bug #27695. The parser has been modified to check VIEW column aliases with the check_column_name function and to report an error on empty columns and all space columns (same as for TABLE column names). mysql-test/t/select.test: Updated test case for bug #27695. mysql-test/r/select.result: Updated test case for bug #27695.
-
- 24 Oct, 2007 2 commits
-
-
unknown authored
into magare.gmz:/home/kgeorge/mysql/work/B30715-merged-5.0-opt
-
unknown authored
file .\opt_sum.cc, line The optimizer pre-calculates the MIN/MAX values for queries like SELECT MIN(kp_k) WHERE kp_1 = const AND ... AND kp_k-1 = const when there is a key over kp_1...kp_k In doing so it was not checking correctly nullability and there was a superfluous assert(). Fixed by making sure that the field can be null before checking and taking out the wrong assert(). . Introduced a correct check for nullability The MIN(field) can return NULL when all the row values in the group are NULL-able or if there were no rows. Fixed the assertion to reflect the case when there are no rows. mysql-test/r/func_group.result: Bug #30715: test case mysql-test/t/func_group.test: Bug #30715: test case sql/opt_sum.cc: Bug #30715: correct nullability check for MIN/MAX pre-calculation over index.
-
- 23 Oct, 2007 2 commits