- 28 Mar, 2016 6 commits
-
-
Sergei Petrunia authored
-
Sergei Petrunia authored
-
Sergei Petrunia authored
- Hook window function computation into the right location. - Add a testcase which shows that HAVING is now checked before the window function computation step.
-
Sergei Petrunia authored
-
Sergei Petrunia authored
- Make EXPLAIN code use the post-join operations - Remove Sort_and_group_tracker that was used for that purpose
-
Sergey Vojtovich authored
man page updates: mysqlbinlog options, mysqlcheck clarification and 10.2 updates
-
- 27 Mar, 2016 5 commits
-
-
Sergei Petrunia authored
-
Sergei Petrunia authored
We can call setup_partition_border_check() from JOIN::make_aggr_tables_info(), provided that call is made after appropriate set_items_ref_array() call.
-
Sergei Petrunia authored
-
Sergei Petrunia authored
gbh != NULL is handled in a separate branch above, we don't get into this part of code when gbh!=NULL
-
Sergei Petrunia authored
Added class Window_funcs_computation, with setup() method to setup execution, and exec() to run window function computation. setup() is currently trivial. In the future, it is expected to optimize the number of sorting operations and passes that are done over the temp. table.
-
- 25 Mar, 2016 3 commits
-
-
Alexander Barkov authored
as it can return negative values. The typo was introduced in the patch for MDEV-9665 in 10.2.0.
-
Oleksandr Byelkin authored
-
Alexander Barkov authored
as they are not used any more. We now use function templates from strcoll.ic instead.
-
- 24 Mar, 2016 7 commits
-
-
Oleksandr Byelkin authored
-
Sergei Golubchik authored
-
Oleksandr Byelkin authored
-
Oleksandr Byelkin authored
Fixed calculating pointer to memory allocated for names in numeric format in unpacking procedure.
-
Alexey Botchkov authored
-
Sergei Petrunia authored
-
Sergei Petrunia authored
-
- 23 Mar, 2016 17 commits
-
-
Sergei Petrunia authored
-
Sergei Petrunia authored
-
Igor Babaev authored
-
Igor Babaev authored
Item_func_or_sum. Implemented method update_used_tables for class Item_findow_func. Added the flag Item::with_window_func. Made sure that window functions could be used only in SELECT list and ORDER BY clause. Added test cases that checked different illegal placements of window functions.
-
Sergei Petrunia authored
- Make Item_XXX::cleanup() clean List<Cached_item> orderby_fields. (Items survive across PS re-executions. Cached_item don't, because they keep pointers to fix_field'ed items, etc) - Move List<Cached_item> out into Group_bound_tracker.
-
Sergei Golubchik authored
-
Sergei Golubchik authored
-
Sergei Golubchik authored
this fixes 40 failures in mysql-test
-
Monty authored
Added --thread_cache_size=0 to some tests that was depending on not having a thread cache.
-
Monty authored
Added --thread_cache_size=0 to slow_launch_time_func.test as otherwise the new thread would start too fast to be counted as a slow_launch_thread.
-
Alexander Barkov authored
between gbk_chinese_ci and big5_chinese_ci.
-
Alexander Barkov authored
-
Alexander Barkov authored
> commit e0929951 > Author: Alexander Barkov <bar@mariadb.org> > Date: Wed Mar 16 10:55:12 2016 +0400 > > MDEV-9665 Remove cs->cset->ismbchar() > Using a more powerfull cs->cset->charlen() instead.
-
Oleksandr Byelkin authored
-
Alexey Botchkov authored
The cause of the issue is when DROP DATABASE takes metadata lock and is in progress through it's execution, a concurrently running CREATE FUNCTION checks for the existence of database which it succeeds and then it waits on the metadata lock. Once DROP DATABASE writes to BINLOG and finally releases the metadata lock on schema object, the CREATE FUNCTION waiting on metadata lock gets in it's code path and succeeds and writes to binlog.
-
Alexander Barkov authored
1. Fixing Field_time::get_equal_const_item() to pass TIME_FUZZY_DATES and TIME_INVALID_DATES to get_time_with_conversion(). This is needed to make the recursively called Item::get_date() return non-NULL values on garbage input. This makes Field_time::get_equal_const_item() work consistently with how Item::val_time_packed() works. 2. Fixing Item::get_date() to return TIME'00:00:00' rather than DATE'0000-00-00' on empty or garbage input when: - TIME_FUZZY_DATES is enabled - The caller requested a TIME value (by passing TIME_TIME_ONLY). This is needed to avoid conversion of DATE'0000-00-00' to TIME in get_time_with_conversion(), which would erroneously try to subtract CURRENT_DATE from DATE'0000-00-00' and return TIME'-838:59:59' rather than the desired zero value TIME'00:00:00'. #1 and #2 fix these type of scripts to return one row with both MyISAM and InnoDB, with and without an index on t1.b: CREATE TABLE t1 (a ENUM('a'), b TIME, c INT, KEY(b)); INSERT INTO t1 VALUES ('','00:00:00',0); SELECT * FROM t1 WHERE b=''; SELECT * FROM t1 WHERE a=b; SELECT * FROM t1 IGNORE INDEX(b) WHERE b=''; SELECT * FROM t1 IGNORE INDEX(b) WHERE a=b; Additionally, #1 and #2 fix the originally reported in MDEV-9604 crash in Item::save_in_field(), because now execution goes through a different path, so save_in_field() is called for a Item_time_literal instance (which is non-NULL) rather than a Item_cache_str instance (which could return NULL without setting null_value). 3. Fixing Field_temporal::get_equal_const_item_datetime() to enable equal field propagation for DATETIME and TIMESTAMP in case of comparison (e.g. when ANY_SUBST), for symmetry with Field_newdate::get_equal_const_item(). This fixes a number of problems with empty set returned on comparison to empty/garbage input. Now all SELECT queries in this script return one row for MyISAM and InnoDB, with and without an index on t1.b: CREATE TABLE t1 (a ENUM('a'), b DATETIME, c INT, KEY(b)); INSERT INTO t1 VALUES ('','0000-00-00 00:00:00',0); SELECT * FROM t1 WHERE b=''; SELECT * FROM t1 WHERE a=b; SELECT * FROM t1 IGNORE INDEX(b) WHERE b=''; SELECT * FROM t1 IGNORE INDEX(b) WHERE a=b;
-
Elena Stepanova authored
-
- 22 Mar, 2016 2 commits
-
-
Monty authored
Added 5 minute timeout before automaticlally removing threads from thread cache. This solves a problem with jemalloc, which is slow with a small thread cache and also makes thread_cache big enough that most users doesn't have to touch it
-
Monty authored
filesort and init_read_record() for the same table. This will simplify code for WINDOW FUNCTIONS (MDEV-6115) - Filesort_info renamed to SORT_INFO and moved to filesort.h - filesort now returns SORT_INFO - init_read_record() now takes a SORT_INFO parameter. - unique declaration is moved to uniques.h - subselect caching of buffers is now more explicit than before - filesort_buffer is now reusable even if rec_length has changed. - filsort_free_buffers() and free_io_cache() calls are removed - Remove one malloc() when using get_addon_fields() Other things: - Added --debug-assert-on-not-freed-memory option to make it easier to debug some not-freed-memory issues.
-