- 09 Sep, 2010 2 commits
-
-
Ramil Kalimullin authored
-
Ramil Kalimullin authored
Item_func_spatial_collection::fix_length_and_dec() changed to use argument's print() method to print the ER_ILLEGAL_VALUE_FOR_TYPE error. mysql-test/r/gis.result: Fix for bug#56679: gis.test: valgrind error - test result adjusted. sql/item_geofunc.h: Fix for bug#56679: gis.test: valgrind error - use argument's print() method instead of improper val_str() call in the Item_func_spatial_collection::fix_length_and_dec(), as it's applicable only for constant items.
-
- 08 Sep, 2010 1 commit
-
-
Kristofer Pettersson authored
-
- 07 Sep, 2010 4 commits
-
-
Sergey Vojtovich authored
were marked as experimental due to BUG38965.
-
Kristofer Pettersson authored
bug 55568 because {1} isn't a valid geometry for a geometry collection.
-
Kristofer Pettersson authored
-
Kristofer Pettersson authored
Convertion from a floating point number to a string caused a crash. During rare circumstances a String object could crash when it was requested to allocate new memory. A crash could occcur in Field_double::val_str() because of a pointer referencing memory inside a String object which was of unknown size. And finally, the geometric collection should not accept arguments which are non geometric. mysql-test/r/gis.result: * Test cases change because we intercept the error behind the previous crashes much earlier. sql/field.cc: * It makes no sense to impose a lower limit on the length and not setting a upper limit will cause crashes later. sql/item_geofunc.h: * Disallow for binding with field- and item types which differ from MYSQL_TYPE_GEOMETRY types.
-
- 06 Sep, 2010 1 commit
-
-
Georgi Kodinov authored
-
- 02 Sep, 2010 2 commits
-
-
Georgi Kodinov authored
-
Jimmy Yang authored
-
- 01 Sep, 2010 2 commits
-
-
Alexander Nozdrin authored
-
Alexander Nozdrin authored
-
- 31 Aug, 2010 2 commits
-
-
Davi Arnaut authored
Make the my_compiler.h header, like my_attribute.h, part of the distribution. This is required due to the dependency of the former on the latter (which can undefine __attribute__).
-
Alexander Nozdrin authored
-
- 30 Aug, 2010 8 commits
-
-
Gleb Shchepa authored
-
Gleb Shchepa authored
"Access compatibility" syntax The "wild" "DELETE FROM table_name.* ... USING ..." syntax for multi-table DELETE statements is documented but it was lost in the fix for the bug 30234. The table_ident_opt_wild parser rule has been added to restore the lost syntax. mysql-test/r/delete.result: Test case for bug #53034. mysql-test/t/delete.test: Test case for bug #53034. sql/sql_yacc.yy: Bug #53034: Multiple-table DELETE statements not accepting "Access compatibility" syntax The table_ident_opt_wild parser rule has been added to restore the lost syntax. Note: simple extending of table_ident with opt_wild in the table_alias_ref rule is not acceptable, because a) it adds one conflict more and b) this conflict resolves in the inappropriate way.
-
Alexander Nozdrin authored
-
Dmitry Shulga authored
so test case has to be updated.
-
Alexander Nozdrin authored
-
Alexander Nozdrin authored
-
Alexander Nozdrin authored
-
Alexey Kopytov authored
-
- 28 Aug, 2010 1 commit
-
-
Alexander Nozdrin authored
-
- 27 Aug, 2010 6 commits
-
-
Marc Alff authored
-
Sergey Vojtovich authored
-
Alexey Kopytov authored
== MYSQL_TYPE_LONGLONG A MIN/MAX() function with a subquery as its argument could lead to a debug assertion on debug builds or wrong data on release ones. The problem was a combination of the following factors: - Item_sum_hybrid::fix_fields() might use the argument (args[0]) to calculate 'hybrid_field_type' which was later used to decide how the data should be sent to the client. - Item_sum::make_field() might use the argument again to calculate the field's type when sending result set metadata to the client. - The argument could be changed in between these two calls via Item::set_arg() leading to inconsistent metadata being reported. Here is what was happening for the bug's test case: 1. Item_sum_hybrid::fix_fields() calculates hybrid_field_type as MYSQL_TYPE_LONGLONG based on args[0] which is an Item::SUBSELECT_ITEM at that time. 2. A temporary table is created to execute the query. create_tmp_field_from_item() creates a Field_long object according to the subselect's max_length. 3. The subselect item in Item_sum_hybrid is replaced by the Item_field object referencing the newly created Field_long. 4. Item_sum::make_field() rightfully returns the MYSQL_TYPE_LONG type when calculating the result set metadata. 5. When sending the actual data, Item::send() relies on the virtual field_type() function which in our case returns previously calculated hybrid_field_type == MYSQL_TYPE_LONGLONG. It looks like the only solution is to never refer to the argument's metadata after the result metadata has been calculated in fix_fields(), since the argument itself may be different by then. In this sense, Item_sum::make_field() should never be used, because it may rely on the argument's metadata and is only called after fix_fields(). The "default" implementation in Item::make_field() should be used instead as it relies only on field_type(), but not on the argument's type. Fixed by removing Item_sum::make_field() so that the superclass implementation Item::make_field() is always used. mysql-test/r/func_group.result: Added a test case for bug #54465. mysql-test/t/func_group.test: Added a test case for bug #54465. sql/item_sum.cc: Removed Item_sum::make_field() so that the superclass implementation Item::make_field() is always used. sql/item_sum.h: Removed Item_sum::make_field() so that the superclass implementation Item::make_field() is always used.
-
Ramil Kalimullin authored
Free memory allocated by the server for all plugins, with or without deinit() method.
-
Sergey Vojtovich authored
-
Sergey Vojtovich authored
not tested by ABI check plugin_audit.h and plugin_ftparser.h are now subject for ABI check. plugin.h is now tested implicitly. Also fixed broken ABI check cmake rules. Makefile.am: plugin_audit.h and plugin_ftparser.h are now subject for ABI check. plugin.h is now tested implicitly. cmake/abi_check.cmake: plugin_audit.h and plugin_ftparser.h are now subject for ABI check. plugin.h is now tested implicitly. Also fixed broken ABI check rules: -DMYSQL_ABI_CHECK is compiler (not cmake) definition, incorrect definitions were passed to do_abi_check.cmake for abi_check_all rule. cmake/do_abi_check.cmake: Inform sources that we do ABI check. include/mysql/plugin.h.pp: plugin.h is now tested implicitly. include/mysql/plugin_audit.h.pp: plugin_audit.h is now subject for ABI check. include/mysql/plugin_ftparser.h.pp: plugin_ftparser.h is now subject for ABI check.
-
- 26 Aug, 2010 11 commits
-
-
Marc Alff authored
-
Christopher Powers authored
Handle combined instrument states of ENABLED and/or TIMED: ENABLED TIMED 1 1 Aggregate stats, increment counter 1 0 Increment counter 0 1 Do nothing 0 0 Do nothing storage/perfschema/pfs.cc: Aggregate stats only if state is both ENABLED and TIMED. If ENABLED but not TIMED, only increment the value counter. storage/perfschema/pfs_stat.h: Split aggregate and counter increment into separate methods for performance.
-
Alexander Nozdrin authored
-
Marc Alff authored
-
Marc Alff authored
-
Bjorn Munch authored
-
Alexey Kopytov authored
-
Alexander Barkov authored
Problem: trailing spaces were stripped using 8-bit code, so the truncation result length was incorrect, which led to an assertion failure. Fix: using multi-byte safe code.
-
Alexey Kopytov authored
-
Sergey Vojtovich authored
-
Alexey Kopytov authored
-