- 23 Mar, 2007 4 commits
-
-
unknown authored
Made year 2000 handling more uniform Removed year 2000 handling out from calc_days() The above removes some bugs in date/datetimes with year between 0 and 200 Now we get a note when we insert a datetime value into a date column For default values to CREATE, don't give errors for warning level NOTE Fixed some compiler failures Added library ws2_32 for windows compilation (needed if we want to compile with IOCP support) Removed duplicate typedef TIME and replaced it with MYSQL_TIME Better (more complete) fix for: Bug#21103 "DATE column not compared as DATE" Fixed properly Bug#18997 "DATE_ADD and DATE_SUB perform year2K autoconversion magic on 4-digit year value" Fixed Bug#23093 "Implicit conversion of 9912101 to date does not match cast(9912101 as date)" include/my_time.h: Removed not used define YY_MAGIC_BELOW Added prototype for year_2000_handling() mysql-test/r/date_formats.result: Updated results (fixed bug in date_format() with year < 99) mysql-test/r/func_sapdb.result: Added more testing of make_date() mysql-test/r/func_time.result: Fixed bug in date_sub() with years < 200 mysql-test/r/ps_2myisam.result: Now we get a note when we insert a datetime value into a date column mysql-test/r/ps_3innodb.result: Now we get a note when we insert a datetime value into a date column mysql-test/r/ps_4heap.result: Now we get a note when we insert a datetime value into a date column mysql-test/r/ps_5merge.result: Now we get a note when we insert a datetime value into a date column mysql-test/r/ps_7ndb.result: Now we get a note when we insert a datetime value into a date column mysql-test/r/type_date.result: Added test for date conversions mysql-test/r/type_datetime.result: Added testcase for datetime to date conversion. mysql-test/t/date_formats.test: Added testing of dates < 200 mysql-test/t/func_sapdb.test: More testing of makedate() mysql-test/t/type_date.test: Added test for date conversions mysql-test/t/type_datetime.test: Added testcase for datetime to date conversion. sql/CMakeLists.txt: Added library ws2_32 (needed if we want to compile with IOCP support) sql/event_data_objects.cc: TIME -> MYSQL_TIME sql/event_db_repository.cc: TIME -> MYSQL_TIME sql/event_queue.cc: TIME -> MYSQL_TIME sql/field.cc: Give note if we insert a datetime value in a date field Don't give notes if we are doing internal test conversions (like from convert_constant_item()) More documentation (store functions can now return '3' to inform that the function did return a NOTE (not warning or error)) Revert some changes in Field_newdate::store() to get more optimal code Field::set_warning() will now ignore notes if CHECK_FIELD_IGNORE is set. New parameters to make_truncated_value_warning() sql/field.h: TIME -> MYSQL_TIME sql/item.cc: New parameters to make_truncated_value_warning() Fixed get_date() to call number_to_datetime() if argument is not a string. Fixes Bug#23093 Implicit conversion of 9912101 to date does not match cast(9912101 as date) sql/item.h: TIME -> MYSQL_TIME sql/item_cmpfunc.cc: Don't print notes in convert_constant_item() sql/item_func.h: TIME -> MYSQL_TIME sql/item_timefunc.cc: New parameters to make_truncated_value_warning() Moved year 2000 handling out from calc_days() Don't return NULL for years < 200 in date_add/date_sub sql/item_timefunc.h: TIME -> MYSQL_TIME sql/my_decimal.cc: TIME -> MYSQL_TIME sql/my_decimal.h: TIME -> MYSQL_TIME sql/mysql_priv.h: Added error level to make_truncated_value_warning() sql/protocol.cc: TIME -> MYSQL_TIME sql/protocol.h: TIME -> MYSQL_TIME sql/sp.cc: TIME -> MYSQL_TIME sql/sql_base.cc: Make testing of result value of save_in_field() uniform sql-common/my_time.c: Added year_2000_handling() Removed year 2000 handling from calc_daynr() sql/sql_class.h: TIME -> MYSQL_TIME sql/sql_show.cc: TIME -> MYSQL_TIME sql/structs.h: TIME -> MYSQL_TIME sql/time.cc: Added error level to make_truncated_value_warning() sql/tztime.cc: TIME -> MYSQL_TIME sql/tztime.h: TIME -> MYSQL_TIME sql/unireg.cc: For default values to CREATE, don't give errors for warning level NOTE (Fixed failed CREATE when we give a datetime value to a date field) strings/ctype-utf8.c: Fixed compiler failures win/README: More comments
-
unknown authored
into mysql.com:/home/hf/work/mrg/mysql-5.1-opt
-
unknown authored
-
unknown authored
mysql-test/r/view.result: result fixed mysql-test/r/view_grant.result: result fixed mysql-test/t/query_cache_sql_prepare.test: test fixed mysql-test/t/view.test: moved to view_grant mysql-test/t/view_grant.test: moved here from view.test
-
- 22 Mar, 2007 36 commits
-
-
unknown authored
-
unknown authored
into mysql.com:/home/hf/work/mrg/mysql-5.1-opt sql/sql_view.cc: Auto merged
-
unknown authored
-
unknown authored
into moonbone.local:/mnt/gentoo64/work/26813-bug-5.0-opt-mysql
-
unknown authored
Post-fix for bug#26813. sql/sql_view.cc: Post-fix for bug#26813.
-
unknown authored
into mysql.com:/home/hf/work/mrg/mysql-5.1-opt mysql-test/r/view_grant.result: Auto merged mysql-test/t/view_grant.test: Auto merged sql/sql_view.cc: Auto merged
-
unknown authored
into mysql.com:/home/hf/work/mrg/mysql-5.0-opt
-
unknown authored
into mysql.com:/home/hf/work/mrg/mysql-5.1-opt mysql-test/r/insert_select.result: Auto merged mysql-test/t/insert_select.test: Auto merged sql/field.h: Auto merged sql/item.cc: Auto merged sql/item_sum.cc: Auto merged sql/sql_select.h: Auto merged mysql-test/r/create.result: merging mysql-test/r/temp_table.result: SCCS merged mysql-test/r/type_float.result: merging mysql-test/r/union.result: merging mysql-test/t/temp_table.test: merging
-
unknown authored
into mysql.com:/home/hf/work/mrg/mysql-5.0-opt
-
unknown authored
into mysql.com:/home/hf/work/mrg/mysql-5.1-opt sql/item_cmpfunc.cc: Auto merged
-
unknown authored
into mysql.com:/home/hf/work/mrg/mysql-5.0-opt
-
unknown authored
into mysql.com:/home/hf/work/mrg/mysql-5.1-opt sql/item_cmpfunc.cc: Auto merged sql/sql_yacc.yy: Auto merged
-
unknown authored
into mysql.com:/home/hf/work/mrg/mysql-5.0-opt sql/item_cmpfunc.cc: Auto merged
-
unknown authored
into mysql.com:/home/hf/work/mrg/mysql-4.1-opt
-
unknown authored
into moonbone.local:/mnt/gentoo64/work/26813-bug-5.0-opt-mysql
-
unknown authored
another user. When the DEFINER clause isn't specified in the ALTER statement then it's loaded from the view definition. If the definer differs from the current user then the error is thrown because only a super-user can set other users as a definers. Now if the DEFINER clause is omitted in the ALTER VIEW statement then the definer from the original view is used without check. mysql-test/t/view_grant.test: Added a test case for the bug#27006: The SUPER privilege is wrongly required to alter a view created by another user. mysql-test/r/view_grant.result: Added a test case for the bug#27006: The SUPER privilege is wrongly required to alter a view created by another user. sql/sql_view.cc: Bug#26813: The SUPER privilege is wrongly required to alter a view created by another user. Now if the DEFINER clause is omitted in the ALTER VIEW statement then the definer from the original view is used without check.
-
unknown authored
into siva.hindu.god:/home/tsmith/m/bk/maint/51 storage/ndb/src/kernel/blocks/dbdih/Dbdih.hpp: Auto merged storage/ndb/src/kernel/blocks/dbdih/DbdihMain.cpp: Auto merged storage/ndb/src/kernel/blocks/dbtc/Dbtc.hpp: Auto merged storage/ndb/src/kernel/blocks/dbtc/DbtcMain.cpp: Auto merged storage/ndb/test/ndbapi/testNodeRestart.cpp: Manual merge (res.waitNodesStartPhase -> NdbSleep_SecSleep)
-
unknown authored
into magare.gmz:/home/kgeorge/mysql/autopush/B26207-5.0-opt sql/sql_select.h: Auto merged
-
unknown authored
in index search MySQL was not explicitly suppressing warnings. And if the context happens to enable warnings (e.g. INSERT .. SELECT) the warnings resulting from converting the data the key is compared to are reported to the client. Fixed by suppressing warnings when converting the data to the same type as the key parts. mysql-test/r/insert_select.result: Bug #26207: test case mysql-test/t/insert_select.test: Bug #26207: test case sql/sql_select.h: Bug #26207: supress warnings when converting data of the same type to key buffer format.
-
unknown authored
Patch appled after doing a pull from the team tree. Additional tests had to be fixed mysql-test/r/union.result: Bug 24791 The tests for temporary tables have been fixed. Since the call to display_length(Item) was removed from the constructor for Item_type_holder, items in temporary tables keep the original values of the items, rather than the magic numbers supplied by display_length.
-
unknown authored
into linux-st28.site:/home/martin/mysql/src/5.0o-bug24791 sql/item.cc: Auto merged
-
unknown authored
into perch.ndb.mysql.com:/home/jonas/src/mysql-5.0-ndb
-
unknown authored
into perch.ndb.mysql.com:/home/jonas/src/mysql-5.0-ndb ndb/test/ndbapi/testNodeRestart.cpp: Auto merged
-
unknown authored
fix test prg ndb/test/ndbapi/testNodeRestart.cpp: fix test prg
-
unknown authored
into linux-st28.site:/home/martin/mysql/src/5.0o-bug24791 sql/field.h: Auto merged sql/item_sum.cc: Auto merged
-
unknown authored
The problem in this bug is when we create temporary tables. When temporary tables are created for unions, there is some inferrence being carried out regarding the type of the column. Whenever this column type is inferred to be REAL (i.e. FLOAT or DOUBLE), MySQL will always try to maintain exact precision, and if that is not possible (there are hardware limits, since FLOAT and DOUBLE are stored as approximate values) will switch to using approximate values. The problem here is that at this point the information about number of significant digits is not available. Furthermore, the number of significant digits should be increased for the AVG function, however, this was not properly handled. There are 4 parts to the problem: #1: DOUBLE and FLOAT fields don't display their proper display lengths in max_display_length(). This is hard-coded as 53 for DOUBLE and 24 for FLOAT. Now changed to instead return the field_length. #2: Type holders for temporary tables do not preserve the max_length of the Item's from which they are created, and is instead reverted to the 53 and 24 from above. This causes *all* fields to get non-fixed significant digits. #3: AVG function does not update max_length (display length) when updating number of decimals. #4: The function that switches to non-fixed number of significant digits should use DBL_DIG + 2 or FLT_DIG + 2 as cut-off values (Since fixed precision does not use the 'e' notation) Of these points, #1 is the controversial one, but this change is preferred and has been cleared with Monty. The function causes quite a few unit tests to blow up and they had to b changed, but each one is annotated and motivated. We frequently see the magical 53 and 24 give way to more relevant numbers. mysql-test/r/create.result: bug#24791 changed test result With the changes made for FLOAT and DOUBLE, the original display lengths are now preserved. mysql-test/r/temp_table.result: bug#24791 changed test resullt Test case added mysql-test/r/type_float.result: bug#24791 changed test result delta 1: field was originally declared as DOUBLE with no display length, so the hardware maximum is chosen rather than 53. delta 2: fields exceed the maximum precision and thus switch to non-fixed significant digits delta 3: Same as above, number of decmals and significant digits was not specified when t3 was created. mysql-test/t/temp_table.test: bug#24791 Test case sql/field.h: bug#24791 The method max_display_length is reimplemented as uint32 max_display_length() { return field_length; } in Field_double and Field_float. Since all subclasses of Field_real now have the same implementation of this method, the implementation has been moved up the hierarchy to Field_real. sql/item.cc: bug#24791 We switch to a non-fixed number of significant digits (by setting decimals=NOT_FIXED_DECIMAL) if the calculated display length is greater than the display length of a value with the maximum precision. These values differ for double and float, obviously. sql/item_sum.cc: bug#24791 We must increase the display length accordinly whenever we change number of decimal places.
-
unknown authored
into whalegate.ndb.mysql.com:/home/tomas/mysql-5.1-new-ndb storage/ndb/src/mgmsrv/MgmtSrvr.cpp: Auto merged
-
unknown authored
into whalegate.ndb.mysql.com:/home/tomas/mysql-5.0-ndb
-
unknown authored
into whalegate.ndb.mysql.com:/home/tomas/mysql-5.1-new-ndb storage/ndb/src/kernel/blocks/dbdih/DbdihMain.cpp: Auto merged
-
unknown authored
into mysql.com:/home/hf/work/mrg/mysql-5.1-opt sql/item_timefunc.h: merging
-
unknown authored
fix for cast( AS DATETIME)+0 in 5.0 and above versions. val_real now works using val_decimal for DATETIME Items Superfluous val_real() methods deleted sql/item_timefunc.h: val_real() for datetime functions implemented as { return val_real_from_decimal(); } It's not a fastest possible way, but code is simple and less error-prone, what i belive is more important here as this part works unfrequently.
-
unknown authored
into mysql.com:/home/hf/work/mrg/mysql-5.1-opt mysql-test/r/type_datetime.result: Auto merged mysql-test/t/type_datetime.test: Auto merged sql/item_timefunc.h: merging
-
unknown authored
into mysql.com:/home/hf/work/mrg/mysql-5.0-opt mysql-test/t/type_datetime.test: Auto merged mysql-test/r/type_datetime.result: SCCS merged sql/item_timefunc.h: SCCS merged
-
unknown authored
fix for cast( AS DATETIME) + 0 operation. I just implemented Item_datetime_typecast::val() method as it is usually done in other classes. Should be fixed more radically in 5.0 mysql-test/r/type_datetime.result: result added mysql-test/t/type_datetime.test: testcase sql/item_timefunc.h: added double conversion to Item_datetime_typecast
-
unknown authored
into mysql.com:/home/hf/work/mrg/mysql-5.1-opt sql/item.h: Auto merged sql/sql_base.cc: Auto merged sql/sql_select.cc: Auto merged sql/sql_yacc.yy: Auto merged
-
unknown authored
into mysql.com:/home/hf/work/mrg/mysql-5.0-opt sql/item.h: Auto merged sql/sql_base.cc: Auto merged sql/sql_select.cc: Auto merged sql/sql_yacc.yy: Auto merged
-