- 24 Sep, 2016 22 commits
-
-
Sergei Petrunia authored
Add support for having multiple IO_CACHEs with type=READ_CACHE to share the file they are reading from. Each IO_CACHE keeps its own in-memory buffer. When doing a read or seek operation on the file, it notifies other IO_CACHEs that the file position has been changed. Make Rowid_seq_cursor use cloned IO_CACHE when reading filesort result.
-
Vicențiu Ciorbaru authored
Implement nth_value correctly and add a test case for it.
-
Vicențiu Ciorbaru authored
Refactour out (into a copy for now) the logic of Item_sum_hybrid, to allow for multiple arguments. It does not contain the comparator members. The result is the class Item_sum_hybrid_simple. LEAD and LAG make use of this Item to store previous rows in a chache. It also helps in specifying the field type. Currently LEAD/LAG do not support default values. NTH_VALUE behaves identical to LEAD and LAG, except that the starting position cursor is placed on the top of the frame instead of the current row.
-
Vicențiu Ciorbaru authored
Also remove some whitespace
-
Vicențiu Ciorbaru authored
-
Vicențiu Ciorbaru authored
Make window functions work with an empty over clause by forcing a sort on the first column of the current join_tab. This is a temporary fix until we get window functions to work with big tables.
-
Vicențiu Ciorbaru authored
The positional cursor now fetches rows based on the positional cursor and an offset (if present). It will fetch rows, based on the offset, only if the required position is not out of bounds.
-
Vicențiu Ciorbaru authored
-
Vicențiu Ciorbaru authored
Add a test case to check this behavior.
-
Vicențiu Ciorbaru authored
-
Vicențiu Ciorbaru authored
With clever use of partition bounds, we only need to add one row to the items at a time. This way we remove the need to "reset" the item and run through the full partition again.
-
Vicențiu Ciorbaru authored
-
Vicențiu Ciorbaru authored
Currently the implementation doesn't support removal, thus the computation is performed by running over the window frame again.
-
Vicențiu Ciorbaru authored
The test case also checks correct functionality of Frame_scan_cursor, as currently STD does not implement the remove() call.
-
Vicențiu Ciorbaru authored
We can set values in the record buffer first and only perform one table write call at the end. No need to write to file every time one column is updated. Also, remove unused method from Table_read_cursor.
-
Vicențiu Ciorbaru authored
-
Vicențiu Ciorbaru authored
The counter is available via SHOW [GLOBAL] STATUS and will be reported by the feedback plugin.
-
Vicențiu Ciorbaru authored
Make sure to call split_sum_func on all items that contain window functions, so that all the column references are set up correctly.
-
Vicențiu Ciorbaru authored
Fix window function expressions such as win_func() <operator> expr. The problem was found in 2 places. First, when we have complex expressions containing window functions, we can only compute their final value _after_ we have computed the window function's values. These values must be stored within the temporary table that we are using, before sending them off. This is done by performing an extra copy_funcs call before the final end_send() call. Second, such expressions need to have their inner arguments, changed such that the references within those arguments point to fields within the temporary table. Ex: sum(t.a) over (order by t.b) + sum(t.a) over (order by t.b) Before this fix, t.a pointed to the original table's a field. In order to compute the sum function's value correctly, it needs to point to the copy of this field inside the temp table. This is done by calling split_sum_func for each argument in the expression in turn. The win.test results have also been updated as they contained wrong values for such a use case.
-
Vicențiu Ciorbaru authored
This makes them behave exactly like CURRENT ROW. Standard specifies unsigned integer, which includes the value 0. Expand the win_min_max test to include this kind of frame definitions.
-
Vicențiu Ciorbaru authored
mincore is defined differently in BSD mincore(void *, size_t, char *) vs linux variant of: mincore(void *, size_t, unsigned char *). Account for this difference in TokuDB.
-
Sergei Petrunia authored
- Change the default @@optimizer_switch value - Adjust the testcases
-
- 23 Sep, 2016 5 commits
-
-
Igor Babaev authored
-
Igor Babaev authored
In some cases the method Window_funcs_sort::setup() did not build the sequence of sorting keys correctly.
-
Sergei Golubchik authored
new MariaDB-shared no longer provides or replaces mysql-libs or mariadb-libs
-
Sergei Golubchik authored
-
Alexander Barkov authored
-
- 22 Sep, 2016 12 commits
-
-
Vladislav Vaintroub authored
-
Vladislav Vaintroub authored
Do not accessing trx->mysql_log_file_name after transaction end.
-
Vladislav Vaintroub authored
Do not use CloseHandle() on thread id. It is not a kernel handle.
-
Vladislav Vaintroub authored
Also MDEV-10385 Threadpool refactoring
-
Sergei Golubchik authored
-
Igor Babaev authored
-
Sergei Golubchik authored
-
Sergei Golubchik authored
-
Sergei Golubchik authored
* update net_field_length() to match the prototype * various bug fixes in C/C
-
Sergei Golubchik authored
fix a bad merge
-
Igor Babaev authored
and INSERT ... SELECT. Added test cases.
-
Jan Lindström authored
Problem was NULL-pointer reference. Fixed by removing unnecessary and not really working recursive reserver thread lookup.
-
- 21 Sep, 2016 1 commit
-
-
Sergei Golubchik authored
because it counts number of bytes sent and expects it to be independent from the database name length
-