summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* MDEV-4724 Some temporal functions do not preserve microsecondsAlexander Barkov2013-09-1218-135/+436
|
* MDEV-4863 COALESCE(time_or_datetime) returns wrong results in numeric contextAlexander Barkov2013-09-0911-173/+628
|
* Fixed bug mdev-4996.Igor Babaev2013-09-064-3/+57
| | | | | The fix for bug mdev-4971 not always correctly set the pointers to inherited multiple equalities in objects of the Item_equal class.
* Fixed bug mdev-4971.Igor Babaev2013-08-296-2/+102
| | | | | The function propagate_new_equalities() did not updated properly the references to inherited multiple equalities.
* Fixed bug mdev-4962.Igor Babaev2013-08-295-1/+86
| | | | | | | When a non-nullable datetime field is used under an IS NULL predicate of the WHERE condition in a query with outer joins the remove_eq_conds function should check whether this field belongs to an inner table of any outer join that can be, in a general case, a nested outer join.
* Fixed bug mdev-4952Igor Babaev2013-08-264-1/+60
| | | | | | When in function remove_eq_conds() a sub-formula of the processed condition is replaced for another formula we should ensure that in the resulting formula AND/OR levels must alternate.
* Fixed bug mdev-4944.Igor Babaev2013-08-2614-19/+107
| | | | | | | | | | The patch to fix mdev-4418 turned out to be incorrect. At the substitution of single row tables in make_join_statistics() the used multiple equalities may change and references to the new multiple equalities must be updated. The function remove_eq_conds() takes care of it and it should be called right after the substitution of single row tables. Calling it after the call of make_join_statistics was a mistake.
* Fixed bug mdev-4942.Igor Babaev2013-08-234-1/+42
| | | | | Made sure that degenerate conjunctions/disjunctions are obtained from AND/OR conditions.
* MDEV-4804 Date comparing false resultAlexander Barkov2013-08-223-3/+63
|
* MDEV-4908: Assertion `((Item_cond *) cond)->functype() == ((Item_cond *) ↵unknown2013-08-214-2/+50
| | | | | | new_item)->functype()' fails on a query with IN and equal conditions, AND/OR, materialization+semijoin A new AND Item should be prepared (fix_field() call) before using.
* Fixed a bug/typo in the patch for mdev-4355, noticed after the patchIgor Babaev2013-08-202-4/+4
| | | | | | had been merged into 5.5. Corrected the result of the output from the test case for mdev 4895.
* Fix bug MDEV-4895 Valgrind warnings (Conditional jump or move depends on ↵unknown2013-08-203-0/+62
| | | | | | | | | | | | | | | uninitialised value) in Field_datetime::get_date on GREATEST(..) IS NULL Analysis: The cause of the valgrind warning was an attempt to evaluate a Field that was not yet read. The reason was that on one hand Item_func_isnotnull was marked as constant by Item_func_isnotnull::update_used_tables, and this allowed eval_const_cond() to be called. On the other hand Item_func_isnotnull::val_int() evaluated its argument as if it was not constant. Solution: The fix make sure that Item_func_isnotnull::val_int() doesn't evaluate its argument when it is constant and cannot be NULL, because the result is known in this case.
* Backported from maria-5.5 the fix in the patch for mdev-4418 thatIgor Babaev2013-08-191-4/+1
| | | | had been discovered when merging the patch from 5.3 into 5.5.
* Fixed bug mdev-4418.Igor Babaev2013-08-1614-10/+98
| | | | | | After single row substitutions there might appear new equalities. They should be properly propagated to all AND/OR levels the WHERE condition. It's done now with an additional call of remove_eq_conds().
* MergeIgor Babaev2013-08-158-104/+507
|\
| * Fixed bug mdev-4355.Igor Babaev2013-08-158-104/+507
| | | | | | | | | | | | | | | | This patch almost totally revised the patch for bug mdev-4177. The latter had too many defects. In particular, it did not propagate multiple equalities formed when merging a degenerate disjunct into underlying AND formula.
* | Merge 5.2->5.3Igor Babaev2013-08-159-67/+223
|\ \
| * \ Merge 5.1->5.2Igor Babaev2013-08-145-64/+141
| |\ \
| | * | Fixed bug mdev-4894.Igor Babaev2013-08-133-10/+83
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This a an old legacy performance bug. When a very selective range scan existed for the second table in a join, and, at the same time, there was another range condition depending on the fields of the first table, the optimizer chose a plan with 'Range checked for each record'. This plan was extremely inefficient in comparison with the regular selective range scan. As a matter of fact the range scan chosen for each record was the same as that selective range scan. Changed the test case for bug 24776 to preserve the old output for explain.
| | * | MDEV-4478 check mysql-5.5 changes in spatial.cc.Alexey Botchkov2013-07-222-54/+58
| | | | | | | | | | | | | | | | | | | | not_enough_points() introduced to check if the spatial object is incorrect.
| * | | MDEV-4823: Server crashes in Item_func_not::fix_fields on creating a table ↵unknown2013-08-013-2/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | with a virtual column using NOT fix_field() call protocol was brocken (zero pointer passed as link to item which is possible only if you are sure that there can not be Items which transforms).
* | | | MDEV-4652 Wrong result for CONCAT(GREATEST(TIME('00:00:01'),TIME('00:00:00'))Alexander Barkov2013-08-124-1/+24
| | | |
* | | | MDEV-4811 Assertion `offset < 0x1f' fails in type_and_offset_store on COLUMN_ADDunknown2013-08-013-9/+62
| | | | | | | | | | | | | | | | | | | | | | | | MDEV-4812 Valgrind warnings (Invalid write) in dynamic_column_update_many on COLUMN_ADD Fixed problem of working on wrong data (do not allow offset to out of string length).
* | | | MDEV-4653 Wrong result for CONVERT_TZ(TIME('00:00:00'),'+00:00','+7:5')Alexander Barkov2013-08-083-2/+41
| | | |
* | | | MDEV-4512 Valgrind warnings in my_long10_to_str_8bit on INTERVAL and ↵Alexander Barkov2013-08-083-1/+38
| | | | | | | | | | | | | | | | | | | | | | | | | | | | DATE_ADD with incorrect types Fixing a typo: bit AND (&) was erroneously used instead of logical AND (&&)
* | | | 5.2 mergeSergei Golubchik2013-07-151-23/+14
|\ \ \ \ | |/ / / | | | / | |_|/ |/| |
| * | MDEV-4409 - Fix deadlock in MySQL key cache code, that can happen if there ↵Vladislav Vaintroub2013-07-091-23/+14
| | | | | | | | | | | | | | | | | | | | | is a key cache resize running in parallel with an update. If there is a key cache resize,a thread writing to key cache, will pause waiting until resize finishes. However this thread is won't be woken, because resize does not signaling waiters anymore. This is a regression introduced in WL#86(segmented MyISAM key cache) The fix is to unconditionally release threads waiting on resize_queue when resize finishes, as in pre-WL#86 code.
* | | Merge from 5.2Alexander Barkov2013-07-094-4/+11
|\ \ \ | |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | modified: mysql-test/suite/plugins/r/fulltext_plugin.result mysql-test/suite/plugins/t/fulltext_plugin.test plugin/fulltext/plugin_example.c sql/sql_show.cc pending merges: Alexander Barkov 2013-07-09 [merge] Merge from 5.1 Sergei Golubchik 2013-07-06 Bug #69682 - mysqld crashes after uninst... Sergei Golubchik 2013-05-24 MDEV-4575 MySQL client doesn't strip off...
| * | Merge from 5.1Alexander Barkov2013-07-094-4/+11
| |\ \ | | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | modified: mysql-test/suite/plugins/r/fulltext_plugin.result mysql-test/suite/plugins/t/fulltext_plugin.test plugin/fulltext/plugin_example.c sql/sql_show.cc pending merges: Sergei Golubchik 2013-07-06 Bug #69682 - mysqld crashes after uninstall ... Sergei Golubchik 2013-05-24 MDEV-4575 MySQL client doesn't strip off...
| | * Bug #69682 - mysqld crashes after uninstall of plugin with "first" status varSergei Golubchik2013-07-064-4/+11
| | |
| | * MDEV-4575 MySQL client doesn't strip off 5.5.5- prefix while connecting to ↵Sergei Golubchik2013-05-241-0/+1
| | | | | | | | | | | | | | | | | | | | | 10.x server extend 5.1 client library to read 4 byte capabilities from the first handshake packet. two higher bytes are always zeros for 5.1 servers.
* | | MDEV-4610 SQL query crashes MariaDB with derived_with_keysSergei Golubchik2013-07-053-2/+38
| | | | | | | | | | | | | | | | | | | | | MDEV-4643 MariaDB crashes consistently when trying a SELECT on VIEW with a UNION and an additional JOIN in SELECT open derived temp tables *before* trying QUICK_SELECT for them, handler::multi_range_read_info() needs an open table.
* | | MDEV-4665 crash when referencing missing function in a subquerySergei Golubchik2013-07-053-5/+22
| | | | | | | | | | | | don't ignore the return value fix_fields()
* | | MDEV-4257 Assertion `!table || (!table->read_set || ↵Sergei Golubchik2013-07-053-1/+12
| | | | | | | | | | | | | | | | | | bitmap_is_set(table->read_set, field_index))' fails on FROM subquery with fulltext search, derived_merge=on remove emtpty Item_func_match::update_used_tables() method
* | | MDEV-4667 DATE('string') incompability between mysql and mariadbSergei Golubchik2013-07-0324-111/+125
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Cleanup: remove TIME_FUZZY_DATE. Introduce TIME_FUZZY_DATES which means "very fuzzy, the resulting value is only used for comparison. It can be invalid date, fine, as long as it can be compared". Updated many tests results (they're better now).
* | | A clean-up for MDEV-4634Alexander Barkov2013-06-281-1/+1
| | | | | | | | | | | | | | | | | | modified: sql/time.cc
* | | MDEV-4634 Crash in CONVERT_TZAlexander Barkov2013-06-2810-10/+77
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Item_func_min_max::get_date() did not check the returned value against the fuzzy_date flags, so it could return a bad value to the caller that expects a good date (e.h. CONVERT_TZ). modified: mysql-test/r/type_date.result mysql-test/r/type_datetime.result mysql-test/r/type_time.result mysql-test/t/type_date.test mysql-test/t/type_datetime.test mysql-test/t/type_time.test sql/item_func.cc sql/item_timefunc.cc sql/mysql_priv.h sql/time.cc
* | | MDEV-4635 Crash in UNIX_TIMESTAMP(STR_TO_DATE('2020','%Y'))Alexander Barkov2013-06-174-7/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | modified: mysql-test/r/func_time.result mysql-test/t/func_time.test sql/item_timefunc.cc sql/mysql_priv.h
* | | MDEV-4651 Crash in my_decimal2decimal in a ORDER BY queryAlexander Barkov2013-06-178-12/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | modified: mysql-test/r/ps_2myisam.result mysql-test/r/ps_3innodb.result mysql-test/r/ps_4heap.result mysql-test/r/ps_5merge.result mysql-test/r/type_datetime_hires.result mysql-test/suite/maria/r/ps_maria.result mysql-test/t/type_datetime_hires.test sql/item_timefunc.h
* | | MDEV-4593: p_s: crash in simplify_joins with delete using subselect from viewunknown2013-06-063-1/+36
| | | | | | | | | | | | mysql_derived_merge_for_insert() should not be called for views or derived tables which are not put (directly or via other views) in main SELECT_LEX "join list".
* | | fixes for buildbotSergei Golubchik2013-05-214-4/+6
| | |
* | | 5.2 mergeSergei Golubchik2013-05-2021-33/+266
|\ \ \ | |/ /
| * | 5.1 mergeSergei Golubchik2013-05-2016-25/+232
| |\ \ | | |/
| | * Fixed compiler failure on solarisMichael Widenius2013-05-111-1/+1
| | |
| | * Fixed compiler warningMichael Widenius2013-05-111-1/+1
| | |
| | * MDEV-4280: Assertion `empty_size == empty_size_on_page' failure in ↵Michael Widenius2013-05-1113-22/+121
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ma_blockrec.c or ER_NOT_KEYFILE on query with DISTINCT and GROUP BY This could happen when using Aria for internal temporary files (default case) and using DISTINCT. _ma_scan_restore_block_record() didn't work correctly if there was rows inserted, updated or deleted on the handler between calls to _ma_scan_remember_block_record() and _ma_scan_restore_block_record(). The effect was that some DISTINCT queries that used remove_dup_with_compare() could fail. .bzrignore: Ignore sql_yacc.hh mysql-test/suite/maria/r/distinct.result: Test case for MDEV-4280 mysql-test/suite/maria/t/distinct.test: Test case for MDEV-4280 mysql-test/t/mysql.test: Fixed test suite (we could get error -1 in some cases) sql/sql_select.cc: Break loop if restart_rnd_next() gives an error storage/maria/ha_maria.cc: scan_restore_pos() can return disk fault error. storage/maria/ma_blockrec.c: _ma_scan_remember_block_record() did incorrectly update scan.dir instead of scan_save.dir . _ma_scan_restore_block_record() didn't work correctly if there was rows inserted,updated or deleted on the handler between calls to _ma_scan_remember_block_record() and _ma_scan_restore_block_record(). Fixed by adding counters for row changes and reading the current scan page if changes had been made. storage/maria/ma_blockrec.h: scan_restore_pos() can return disk fault error. storage/maria/ma_delete.c: Increment row_changes storage/maria/ma_scan.c: scan_restore_pos() can return disk fault error. storage/maria/ma_update.c: Increment row_changes storage/maria/ma_write.c: Increment row_changes storage/maria/maria_def.h: scan_restore_pos() can return disk fault error.
| | * MDEV-4326 fix.unknown2013-04-092-2/+110
| | | | | | | | | | | | | | | | | | Removed "optimization" which caused preoblems on second execution of PS with string parameter in LIMIT clause. Fixed test_bug43560 to be able to skipp it if connection is UNIX socket.
| * | MDEV-4544 - update MSI to include HeidiSQL 8.0Vladislav Vaintroub2013-05-191-1/+1
| | |
| * | Fix cpack error - safe_process.pl does not exist anymore.Vladislav Vaintroub2013-05-191-1/+1
| | |
| * | MDEV-4462 mysqld gets SIGFPE when mysql.user table is emptySergei Golubchik2013-05-083-0/+32
| | | | | | | | | | | | avoid divison by zero