Commit graph

174123 commits

Author SHA1 Message Date
Galina Shalygina
eb2c147475 The consolidated patch for mdev-9197. 2016-08-23 00:39:12 +03:00
Vladislav Vaintroub
8b94aec11a Fix connect2 test, simulated errors do not work with thread cache 2016-04-28 22:25:11 +02:00
Vladislav Vaintroub
6345cd4418 Fix compile errors 2016-04-28 21:22:09 +02:00
Monty
636bb59034 Final fixes for Memory_used
- Change some static variables to dynamic to ensure that we don't do any memory
  allocations before server starts or stops
- Print more memory information on SIGHUP. Fixed output.
- Write out if memory was lost if run with --debug-at-exit
- Fixed wrong #ifdef in sql_cache.cc
2016-04-28 17:15:38 +03:00
Monty
32d3d9f7df Fixed compiler warning 2016-04-28 16:59:53 +03:00
Monty
9c846373f0 Merge commit 'd5822a3ad0657040114cdc185c6387b9eb3a12b2' into 10.2 2016-04-28 16:59:33 +03:00
Monty
fabeab7819 Cleanups
- Avoid some realloc() during startup
- Ensure that file_key_management_plugin frees it's memory early, even if
  it's linked statically.
- Fixed compiler warnings from unused variables and missing destructors
- Fixed wrong indentation
2016-04-28 16:36:02 +03:00
Monty
d5822a3ad0 Fixed some galera tests 2016-04-28 16:30:34 +03:00
Monty
d62b758522 Moved mysqld_server_initialized to before galera is initialized. 2016-04-28 16:30:34 +03:00
Jan Lindström
ea83c1d7c6 MDEV-9977: Crash when accessing large (>4G) InnoDB table on
MariaDB 10.1.x 32-bit binaries.

Problem was the fact that tablespace size was incorrectly
rounded to next extent size (1M).
2016-04-28 15:22:27 +03:00
Monty
732adec0a4 Removed some not needed when doing delete thd, which caused warnings about
wrong mutex usage from safe_mutex.
Ensure that LOCK_status is always taken before LOCK_thread_count
2016-04-28 13:39:55 +03:00
Monty
b4ff64568c Fixed wrong counting of global Memory_used 2016-04-28 13:39:55 +03:00
Monty
7c6cb41b15 Ignore files in tmp (like mysqld.S) 2016-04-28 13:39:55 +03:00
Monty
48f02af761 MDEV-9602 crash in st_key::actual_rec_per_key when group by constant
Problem was that cost_group_min_max() could not handle if group by was optimized away.
2016-04-28 13:39:55 +03:00
Vladislav Vaintroub
646c4cea58 MDEV-9973 : Do not set permissions for serviceaccount user (Win7 and later)
This appears to break some installation, and it did not do anything
useful anyway.
2016-04-27 16:13:14 +02:00
Jan Lindström
071ae303bd MDEV-9121: innodb_force_recovery = 6 cannot recover ANY DATA when
change buffer not empty

Fix: Allow not empty change buffer when innodb_force_recovery >= 5
and output only a warning to error log.

Note: Before using force recovery you should always take backup
of your database.
2016-04-27 11:11:08 +03:00
Alexey Botchkov
47e0717806 MDEV-9792 Backport MDEV-8713 to 10.1. 2016-04-27 11:08:46 +04:00
Igor Babaev
dafed5b515 Removed some dead code that appeared in the merge for mdev-8646. 2016-04-26 10:10:08 -07:00
Igor Babaev
7db337e309 Merge branch '10.2' of github.com:MariaDB/server into 10.2 2016-04-20 10:56:59 -07:00
Igor Babaev
3b6a64c247 Fixed bug mdev-9937.
When the specification of a WITH table referred to a view
that used a based table with the same name as the WITH table
the server went into an infinite loop because it erroneously
resolved the reference to the base table as the reference to
the WITH table.

With tables used in a view cannot be searched for beyond the
scope the view.
2016-04-20 10:55:53 -07:00
Igor Babaev
308cee547f Fixed bug mdev-9931.
When the specification of a WITH table referred to a view
that used a based table with the same name as the WITH table
the server went into an infinite loop because it erroneously
resolved the reference to the base table as the reference to
the WITH table.

With tables used in a view cannot be searched for beyond the
scope the view.
2016-04-19 15:37:05 -07:00
Sergei Petrunia
4b8e54bb98 MDEV-7885, MDEV-8857: Add testcases
The issues themselves were fixed as part of MDEV-8646
2016-04-17 13:25:05 -07:00
Sergei Petrunia
9664240c94 Merge ../10.2-window-funcs-r10 into 10.2 2016-04-16 20:43:54 +03:00
Sergei Petrunia
957809b190 MDEV-9922: Assertion `!join->only_const_tables() && fsort' failed
When join output is just one row, we still need to compute window
function values for it. We could skip invoking filesort for it,
but it doesn't seem to be worth it to do such optimization.
2016-04-16 20:41:06 +03:00
Sergei Petrunia
a81e711a06 MDEV-9925: Wrong result with aggregate function as a window function
Make Frame_range_current_row_bottom to take into account partition bounds.

Other partition bounds that could potentially hit the end of partition are
Frame_range_n_bottom, Frame_n_rows_following, Frame_unbounded_following,
and they all had end-of-partition protection.

To simplify the code, factored out end-of-partition checks into
class Partition_read_cursor.
2016-04-15 20:40:01 +03:00
Sergei Petrunia
d29e1472fb Make test result deterministic. 2016-04-15 17:48:40 +03:00
Igor Babaev
bc6df8d6e0 Merge branch 'bb-10.2-mdev9543' of github.com:MariaDB/server into bb-10.2-mdev9543 2016-04-14 01:08:54 -07:00
Igor Babaev
5ff4b21e02 Fixed bug mdev-9897.
This bug revealed a serious problem: if the same partition list
was used in two window specifications then the temporary table created
to calculate window functions contained fields for two identical
partitions. This problem was fixed as well.
2016-04-14 00:47:28 -07:00
Vicențiu Ciorbaru
31fb045c12 Make ntile use args[0] for it's argument.
Don't hold a separate pointer as args[0] changes during fix_fields /
split_sum_func.
2016-04-13 11:26:58 +02:00
Vicențiu Ciorbaru
3dd08a11de Fix another bug in dense_rank.
When ordering by a column and partitioning by another, we must reset the
peer_tracker for dense_rank, regardless if the value for the order
column changes or not.

Example:
select a, b, dense_rank() over (partition by b order by a)
a  |  b  |  dense_rank
----------------------
1  | p1  |           1
2  | p1  |           2
2  | p2  |           1   // Here, without this fix we returned 0.
2  | p2  |           2   // And 1 here.
2016-04-13 10:39:06 +02:00
Sergei Petrunia
b532be9f8c Merge ../10.2-window-funcs-r12 into 10.2 2016-04-12 00:00:53 +02:00
Sergei Petrunia
0f62eee2f8 Fix compiler warning 2016-04-11 23:59:51 +02:00
Vicențiu Ciorbaru
419c925069 Fix dense_rank returning minimum rank of 2 when using null columns.
The bug was caused by a weird behaviour in test_if_group_changed, not
returning true when testing for the first time after initializing
the Cached_item list.
2016-04-11 10:46:58 +02:00
Sergei Petrunia
c61bb13956 Use --sorted_result to make test result predictable 2016-04-11 10:44:43 +02:00
Sergei Petrunia
fbf0364c26 MDEV-9780: Window functions: interplay between window function and other constructs
Implement the "DISTINCT must not be converted into GROUP BY when window
functions are present" part.
2016-04-10 17:22:24 +02:00
Sergei Petrunia
da7c5e3b85 MDEV-9895: Assertion `n_rows > 0' failed in Frame_cursor* get_frame_cursor
n=0 in "ROWS 0 PRECEDING" is valid, add handling for it:
- Adjust the assert
- Bottom bound of 'ROW 0 PRECEDING' is actually looking at the current
  row, that is, it needs to process partition's first row directly in
  Frame_n_rows_preceding::next_partition().
- Added testcases
2016-04-10 16:24:04 +02:00
Sergei Petrunia
2905b2feb6 Window functions: return error if aggregate is not supported as window functions 2016-04-10 11:28:33 +02:00
Sergei Petrunia
29705a4d38 Window functions: handle window functions as arguments to other functions
Window functions need to have their own column in the work (temp) table,
like aggregate functions do.
They don't need val_int() -> val_int_result() conversion though, so they
should be wrapped with Item_direct_ref, not Item_aggregate_ref.
2016-04-10 10:13:55 +02:00
Sergei Petrunia
91fc90c372 Update to previous cset, which added ORDER BY into the wrong clause 2016-04-09 17:01:01 +02:00
Sergei Petrunia
e292ea8751 Make the testcase deterministic 2016-04-08 12:02:43 +02:00
Kristian Nielsen
1cf852d874 MDEV-9383: Server fails to read master.info after upgrade 10.0 -> 10.1
In some cases, MariaDB 10.0 could write a master.info file that was read
incorrectly by 10.1 and could cause server to fail to start after an upgrade.

(If writing a new master.info file that is shorter than the old, extra
junk may remain at the end of the file. This is handled properly in
10.1 with an END_MARKER line, but this line is not written by
10.0. The fix here is to make 10.1 robust at reading the master.info
files written by 10.0).

Fix several things around reading master.info and read_mi_key_from_file():

 - read_mi_key_from_file() did not distinguish between a line with and
   without an eqals '=' sign.

 - If a line was empty, read_mi_key_from_file() would incorrectly return
   the key from the previous call.

 - An extra using_gtid=X line left-over by MariaDB 10.0 might incorrectly
   be read and overwrite the correct value.

 - Fix incorrect usage of strncmp() which should be strcmp().

 - Add test cases.
2016-04-08 10:31:03 +02:00
Alexander Barkov
a4c81986aa Modifying ctype_gbk_export_import.test to help "meld" not to confuse/join
individual records when displaying diff.
2016-04-08 12:12:26 +04:00
Alexander Barkov
35f2eefe86 Better coverange in ctype_gbk_export_import.
Adding tests for the sequence 0xEE5C5C which should be treated
in GBK context as GBK double-byte character 0xEE5C (with 5C in the second byte)
followed by 0x5C (as a normal REVERSE SOLIDUS).
2016-04-08 11:04:34 +04:00
Alexander Barkov
c121649840 ctype_gbk_export_import: adding an utf8 column, for better coverage. 2016-04-08 07:45:18 +04:00
Sergei Petrunia
cb002d3479 Window functions: make "ORDER BY window_func" work
- When window functions are present, JOIN::simple_order should be set
  to FALSE. (Otherwise, the optimizer may attempt to do a "pre-sorting"
  on the first join_tab. Which can work in some cases, but generally
  isn't)

- filesort tries to only read table fields that it requires. Window
  function requires its temp.table field.  In order to pass this info
  to filesort, added an implementation of Item_window_func::
  register_field_in_read_map.
2016-04-08 03:21:25 +03:00
Alexander Barkov
8f74a7e524 Fixing a test failure in ctype_gbk_export_import.test 2016-04-08 00:39:26 +04:00
Monty
3f6125129f Fixed results 2016-04-07 20:38:21 +03:00
Michael Widenius
2189df3cdd Fixed compiler warnings 2016-04-07 20:09:57 +03:00
Michael Widenius
031e3442f8 Removed file-key-management from mysql_install_db as someone may have
deciced to use it even before bootstrap.
2016-04-07 19:58:28 +03:00
Monty
293cb04959 MDEV-9621 INSERT DELAYED fails on insert for tables with many columns
This fix also fixes a connection hang when trying to do INSERT DELAYED to a crashed table.

Added crash_mysqld.inc to allow easy crash+restart of mysqld
2016-04-07 19:31:10 +03:00