Commit graph

175176 commits

Author SHA1 Message Date
Georg Richter
00fc86f1af Remove test for using bash characters in tls/ssl file and directory names.
bash char substitution is not supported for other file options (e.g. read default file)
2016-10-06 12:31:23 +02:00
Monty
14b1c8c80d After merge and bug fixes
- Fixed compiler warnings
- Removed have_debug.inc from innochecksum_3
- Fixed race condition in innodb_buffer_pool_load
- Fixed merge issue in innodb-bad-key-change.test
- Fixed missing array allocation that could cause
  function_defaults_notembedded to fail
- Fixed thread_cache_size_func
2016-10-05 01:11:08 +03:00
Monty
af7490f95d Remove end . from error messages to get them consistent
Fixed a few failing tests
2016-10-05 01:11:08 +03:00
Monty
c1125c3218 Fixed compiler warnings and failing tests 2016-10-05 01:11:08 +03:00
Monty
7b96416f3c Use sql_mode_t for sql_mode.
This fixed several cases where we where using just ulong for sql_mode
2016-10-05 01:11:08 +03:00
Monty
8be53a389c MDEV-6112 multiple triggers per table
This is similar to MysQL Worklog 3253, but with
a different implementation. The disk format and
SQL syntax is identical with MySQL 5.7.

Fetures supported:
- "Any" ammount of any trigger
- Supports FOLLOWS and PRECEDES to be
  able to put triggers in a certain execution order.

Implementation details:
- Class Trigger added to hold information about a trigger.
  Before this trigger information was stored in a set of lists in
  Table_triggers_list and in Table_triggers_list::bodies
- Each Trigger has a next field that poinst to the next Trigger with the
  same action and time.
- When accessing a trigger, we now always access all linked triggers
- The list are now only used to load and save trigger files.
- MySQL trigger test case (trigger_wl3253) added and we execute these
  identically.
- Even more gracefully handling of wrong trigger files than before. This
  is useful if a trigger file uses functions or syntax not provided by
  the server.
- Each trigger now has a "Created" field that shows when the trigger was
  created, with 2 decimals.

Other comments:
- Many of the changes in test files was done because of the new "Created"
  field in the trigger file. This shows up in SHOW ... TRIGGER and when
  using information_schema.trigger.
- Don't check if all memory is released if on uses --gdb;  This is needed
  to be able to get a list from safemalloc of not freed memory while
  debugging.
- Added option to trim_whitespace() to know how many prefix characters
  was skipped.
- Changed a few ulonglong sql_mode to sql_mode_t, to find some wrong usage
  of sql_mode.
2016-10-05 01:11:07 +03:00
Sergei Golubchik
0bae1957dd simplify the ipv6 check 2016-10-04 16:25:12 +02:00
Daniel Black
70dcb46e98 MDEV-9185: fix ipv6 detection test in MTR
Signed-off-by: Daniel Black <daniel.black@au.ibm.com>
2016-10-04 16:09:46 +02:00
Jan Lindström
4f919beeda Enable Geometry datatype for SPATIAL indexes and disable online
index creation for SPATIAL indexes.
2016-10-03 19:54:23 +03:00
Jan Lindström
9e70d88d67 Disable wl6560. 2016-10-03 19:29:46 +03:00
Jan Lindström
cb2c2f1ddf Replace non-repeatable page-type-dump directory. 2016-10-03 19:19:00 +03:00
Jan Lindström
a0a4079b78 Run only on debug to avoid test differences. 2016-10-03 10:05:15 +03:00
Jan Lindström
2e7baca97d Replace tablespace numbers to make repeatable. 2016-10-03 08:23:30 +03:00
Igor Babaev
3b314ec633 Fixed bug mdev-10933.
The bug was caused by a misplaced construct opt_with_clause
for one of the variants of CREATE ... SELECT.
2016-09-30 17:40:43 -07:00
Igor Babaev
6681a4998e Post-review addition to the fix for mdev-10868. 2016-09-30 17:40:42 -07:00
Igor Babaev
061d28207d Fixed bug mdev-10923.
The code for st_select_lex::find_table_def_in_with_clauses()
did not take into account the fact that the specs for mergeable
CTEs were cloned and were not processed by the function
With_element::check_dependencies_in_spec().
2016-09-30 17:40:42 -07:00
Igor Babaev
903f34c7a9 Fixed bug mdev-10868.
There was no implementation of the virtual method print()
for the Item_window_func class. As a result for a view
containing window function an invalid view definition could
be written in the frm file. When a query that refers to
this view was executed a syntax error was reported.
2016-09-30 17:40:40 -07:00
Igor Babaev
6aeaebd8cf Fixed the bug number in the comment of the test case for mdev-10899. 2016-09-30 17:40:40 -07:00
Jan Lindström
e5019d3f34 MDEV-10908: innodb_zip.bug56680 fails in buildbot with InnoDB: Failing assertion: bpage->id.space() == page_id.space()
Incorrect merge introduced too strict assertion.
2016-09-30 08:45:51 +03:00
Jan Lindström
737295c752 MDEV-10727: Merge 5.7 Innochecksum with 5.6 2016-09-30 08:08:19 +03:00
Vladislav Vaintroub
b3f7d52e1e MDEV-10918 Innodb/Linux - Fallback to simulated aio if io_setup() fails, e.g due to insufficient resources 2016-09-29 13:25:45 +00:00
Daniel Bartholomew
098f0aedac bump the VERSION 2016-09-27 09:51:32 -04:00
Igor Babaev
b91bd822fa Fixed bug mdev-10889
The bug was in the code of the recursive method
With_element::check_unrestricted_recursive. For recursive
calls of this method sel->get_with_element()->owner != owner.
2016-09-26 10:40:44 -07:00
Igor Babaev
1f1990a161 Fixed bug mdev-10884.
If a materialized derived table / view is specified by a unit
with SELECTs containing ORDER BY ... LIMIT then condition pushdown
cannot be done for these SELECTs.
If a materialized derived table / view is specified by a unit
containing global ORDER BY ... LIMIT then condition pushdown
cannot be done for this unit.
2016-09-25 17:29:10 -07:00
Elena Stepanova
09cbb772eb Follow-up for MDEV-10174 - fix the result file for the embedded test 2016-09-26 02:39:25 +03:00
Igor Babaev
20d7f933e2 Adjusted test results. 2016-09-25 00:21:14 -07:00
Igor Babaev
54efb08022 Fixed bug mdev-10881
The server missed to call check_dependencies_in_with_clauses()
when processing PREPARE ... FROM CREATE ... SELECT / INSERT ... SELECT
with WITH clause before SELECT.
2016-09-24 21:05:36 -07:00
Igor Babaev
61ab7333db Fixed bug mdev-10883.
When a prepared statement uses a CTE definition with a column list
renaming of columns of the CTE expression  must be performed
for every execution of the prepared statement.
2016-09-24 21:05:36 -07:00
Vladislav Vaintroub
018ac121cf use latest Connector/C commit
Fixes file descriptor leak after unsuccessful attempt to open
unix socket connection.
2016-09-24 20:44:15 +00:00
Sergei Petrunia
c1b2828fe0 MDEV-10174: Make the fix for MDEV-8989 enabled by default in 10.2
(Continued after a95e38) Update more test results.
2016-09-24 20:20:33 +03:00
Vicențiu Ciorbaru
de2175e96a Window functions can have an empty over clause
Make sure we select one window function if we have an empty over clause.
2016-09-24 15:25:00 +02:00
Vicențiu Ciorbaru
45faae60b7 Typo fix 2016-09-24 15:18:37 +02:00
Vicențiu Ciorbaru
1c858dd9e0 Make win_big test specify only if Sort_merge_passes have happened
The number is irrelevant and may differ by architecture. We are only
interested if it happened or not
2016-09-24 15:12:34 +02:00
Vicențiu Ciorbaru
8b95e7eb44 Make sure to call Rowid_seq_cursor::next to not face infinite recursion 2016-09-24 15:12:34 +02:00
Sergei Petrunia
047963922c MDEV-9736: Window functions: multiple cursors to read filesort result
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.
2016-09-24 15:12:34 +02:00
Vicențiu Ciorbaru
6e4015727a Clean up nth_value
Implement nth_value correctly and add a test case for it.
2016-09-24 15:12:34 +02:00
Vicențiu Ciorbaru
53cf265b3b Implement LEAD and LAG and NTH_VALUE functions
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.
2016-09-24 15:12:34 +02:00
Vicențiu Ciorbaru
29b227c335 Cleanup win testcase to always be deterministic
Also remove some whitespace
2016-09-24 15:12:34 +02:00
Vicențiu Ciorbaru
09a8c795fb Fix win_std nondeterministic results 2016-09-24 15:12:34 +02:00
Vicențiu Ciorbaru
3dd3a5da0e MDEV-9935: Window functions: assertion failure with empty OVER () clause
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.
2016-09-24 15:12:34 +02:00
Vicențiu Ciorbaru
e992464f27 Update Frame_positional_cursor to also take an optional bound
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.
2016-09-24 15:12:34 +02:00
Vicențiu Ciorbaru
88a8abbc1b Add test results for win_first_last_value 2016-09-24 15:12:34 +02:00
Vicențiu Ciorbaru
872c0b4225 Allow first/last value functions to have frame definitions
Add a test case to check this behavior.
2016-09-24 15:12:34 +02:00
Vicențiu Ciorbaru
74fa10645e Update features result to account for window functions counter 2016-09-24 15:12:34 +02:00
Vicențiu Ciorbaru
a2bafbabe2 Make first_value and last_value computation efficient
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.
2016-09-24 15:12:34 +02:00
Vicențiu Ciorbaru
15b8a772cc Add results for first_value and last_value test case 2016-09-24 15:12:34 +02:00
Vicențiu Ciorbaru
9a5930bcdf Implement first_value and last_value as window functions
Currently the implementation doesn't support removal, thus the
computation is performed by running over the window frame again.
2016-09-24 15:12:34 +02:00
Vicențiu Ciorbaru
e413c6e9e7 Add test case for STD function used as window function
The test case also checks correct functionality of Frame_scan_cursor, as
currently STD does not implement the remove() call.
2016-09-24 15:12:34 +02:00
Vicențiu Ciorbaru
00bf18e2bf Move table record writing outside of loop
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.
2016-09-24 15:12:34 +02:00
Vicențiu Ciorbaru
2e7a585ddd Add test case for new window functions status var 2016-09-24 15:12:34 +02:00