- 27 Mar, 2007 1 commit
-
-
unknown authored
creation of the partitioned table could fail as we created Item-s for it's list function in thd->mem_root, and then do Item->fix_fields in the context of other table->mem_root (so that memory alloced there was alloced in this table->mem_root). As we freed the table->mem_root before we do thd->free_items, our Item-s had pointers to the freed memory, that caused the crash mysql-test/r/partition.result: result mysql-test/t/partition.test: testcase sql/item_cmpfunc.cc: here is better place for the implementation sql/item_cmpfunc.h: implementation moved to .cc file sql/sql_partition.cc: work_part_info_used parameter added to mysql_unpack_partition sql/sql_partition.h: work_part_info_used parameter added to mysql_unpack_partition sql/table.cc: we do 'fix_partition_func' using the proper arena now. It's necessary as Item_*::fix_fields can alloc memory using thd->mem_root and this has to be same mem_root that we used to alloc these Item-s
-
- 22 Mar, 2007 39 commits
-
-
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
-
unknown authored
into mysql.com:/home/hf/work/mrg/mysql-5.1-opt libmysqld/lib_sql.cc: Auto merged sql/item.h: Auto merged sql/sql_base.cc: Auto merged sql/sql_class.h: Auto merged sql/sql_select.cc: Auto merged sql/sql_yacc.yy: Auto merged
-
unknown authored
-
unknown authored
into mysql.com:/home/hf/work/mrg/mysql-5.1-opt libmysqld/lib_sql.cc: Auto merged
-
unknown authored
into mysql.com:/home/hf/work/mrg/mysql-5.1-opt libmysqld/lib_sql.cc: Auto merged
-