- 20 Sep, 2012 1 commit
-
-
unknown authored
After pullout item during single row subselect transformation it should be fixed properly.
-
- 17 Sep, 2012 1 commit
-
-
unknown authored
- Performed some refactoring and simplification that was enabled and required by the merge.
-
- 14 Sep, 2012 1 commit
-
-
unknown authored
Analysis: The queries in question use the [unique | index]_subquery execution methods. These methods reuse the ref keys constructed by create_ref_for_key(). The way create_ref_for_key() works is that it doesn't store in ref.key_copy[] store_key elements that represent constants. In particular it doesn't store the store_key for NULL constants. The execution of [unique | index]_subquery calls subselect_uniquesubquery_engine::copy_ref_key, which in addition to copy the left IN argument into a index lookup key, is supposed to detect if the left IN argument contains NULLs. Since the store_key for the NULL constant is not copied into the key array, the null is not detected, and execution erroneously proceeds as if it should look for a complete match. Solution: The solution (unlike MySQL) is to reuse already computed information about NULL presence. Item_in_optimizer::val_int already finds out if the left IN operand contains NULLs. The fix propagates this to the execution methods subselect_[unique | index]subquery_engine::exec so it knows if there were NULL values independent of the presence of keys. In addition the patch siplifies copy_ref_key() and the logic that hanldes the case of NULLs in the left IN operand.
-
- 07 Sep, 2012 1 commit
-
-
unknown authored
As far as we reopen tables so TABLE become invalid we should remove the pointer on cleanup().
-
- 05 Sep, 2012 1 commit
-
-
unknown authored
Link view/derived table fields to a real table to check turning the table record to null row. Item_direct_view_ref wrapper now checks if table is turned to null row.
-
- 31 Aug, 2012 2 commits
-
-
Alexey Botchkov authored
Autointersections of an object were treated as nodes, so the wrong result. per-file comments: mysql-test/r/gis.result Bug #1043845 st_distance() results are incorrect depending on variable order. test result updated. mysql-test/t/gis.test Bug #1043845 st_distance() results are incorrect depending on variable order. test case added. sql/item.cc small fix to make compilers happy. sql/item_geofunc.cc Bug #1043845 st_distance() results are incorrect depending on variable order. Skip intersection points when calculate distance.
-
Sergei Golubchik authored
-
- 30 Aug, 2012 2 commits
-
-
unknown authored
When we append data to the binlog file, we use fdatasync() to ensure the data gets to disk so that crash recovery can work. Unfortunately there seems to be a bug in ext3/ext4 on linux, so that fdatasync() does not correctly sync all data when the size of a file is increased. This causes crash recovery to not work correctly (it loses transactions from the binlog). As a work-around, use fsync() for the binlog, not fdatasync(). Since we are increasing the file size, (correct) fdatasync() will most likely not be faster than fsync() on any file system, and fsync() does work correctly on ext3/ext4. This avoids the need to try to detect if we are running on buggy ext3/ext4.
-
Sergei Golubchik authored
store the precision in uint, not uint8
-
- 29 Aug, 2012 4 commits
-
-
Sergei Golubchik authored
MDEV-438 Microseconds: Precision is ignored in CURRENT_TIMESTAMP(N) when it is given as a default column value The syntax for specifying precision in the DEFAULT clause is unintentional and unsupported. Don't allow it anymore.
-
Sergei Golubchik authored
1. Field_newdate::get_date should refuse to return a date with zeros when TIME_NO_ZERO_IN_DATE is set, not when TIME_FUZZY_DATE is unset 2. Item_func_to_days and Item_date_add_interval can only work with valid dates, no zeros allowed.
-
Sergei Golubchik authored
fix Item_func_add_time::get_date() to generate valid dates. Move the validity check inside get_date_from_daynr() instead of relying on callers (5 that had it, and 2 that did not, but should've)
-
unknown authored
-
- 28 Aug, 2012 1 commit
-
-
Sergey Petrunya authored
storage engine in HA_MRR_NO_ASSOCIATION mode. (there is no testcase because we don't ship any such engines currently)
-
- 24 Aug, 2012 1 commit
-
-
Sergei Golubchik authored
force -fno-strict-aliasing for oqgraph
-
- 25 Aug, 2012 1 commit
-
-
unknown authored
The problem was that was_null and null_value variables was reset in each reexecution of IN subquery, but engine rerun only for non-constant subqueries. Fixed checking constant in Item_equal sort. Fix constant reporting in Item_subselect.
-
- 24 Aug, 2012 14 commits
-
-
unknown authored
-
unknown authored
-
unknown authored
-
unknown authored
-
unknown authored
-
unknown authored
-
Vladislav Vaintroub authored
-
unknown authored
-
unknown authored
-
unknown authored
-
unknown authored
-
unknown authored
-
unknown authored
-
unknown authored
Various places in the server replication code was incorrectly quoting strings, which could lead to incorrect SQL on the slave/mysqlbinlog.
-
- 23 Aug, 2012 1 commit
-
-
Sergei Golubchik authored
-
- 22 Aug, 2012 5 commits
-
-
Sergei Golubchik authored
Item::get_date() should return 1 unless the value is a valid date.
-
Sergei Golubchik authored
two tests still fail: main.innodb_icp and main.range_vs_index_merge_innodb call records_in_range() with both range ends being open (which triggers an assert)
-
Sergei Golubchik authored
increase xtradb verson from 13.0 to 13.01
-
Sergei Golubchik authored
-
Sergei Golubchik authored
-
- 21 Aug, 2012 1 commit
-
-
Sergey Petrunya authored
-
- 14 Aug, 2012 2 commits
-
-
Igor Babaev authored
-
Igor Babaev authored
The bug could caused a crash when the server executed a query with ORDER by and sort_buffer_size was set to a small enough number. It happened because the small sort buffer did not allow to allocate all merge buffers in it. Made sure that the allocated sort buffer would be big enough to contain all possible merge buffers.
-
- 01 Aug, 2012 1 commit
-
-
Elena Stepanova authored
Following reasons caused mismatches: - different handling of invalid values; - different CAST results with fractional seconds; - microseconds support in MariaDB; - different algorithm of comparing temporal values; - differences in error and warning texts and codes; - different approach to truncating datetime values to time; - additional collations; - different record order for queries without ORDER BY; - MySQL bug#66034. More details in MDEV-369 comments.
-