Commit graph

44,880 commits

Author SHA1 Message Date
Sergei Golubchik
3361aee591 Merge branch '10.0' into 10.1 2016-06-28 22:01:55 +02:00
Sergei Golubchik
6ce20fb2b9 MDEV-9428 NO_AUTO_VALUE_ON_ZERO is ignored when a trigger before insert is defined
fix the *other* fill_record() too, arrgh!
2016-06-28 12:54:01 +02:00
Alexander Barkov
56a3496067 MDEV-10236 Where expression with NOT function gives incorrect result
Item_cache::is_null() erroneously returned null_value in a
non-cached state. Now Item_cache::is_null() uses has_value(),
which caches the value if not cached yet, similar to what other value methods do
(e.g. val_int, val_real, etc).
2016-06-28 13:11:04 +04:00
Alexander Barkov
652e799a38 MDEV-8502 DECIMAL accepts out of range DEFAULT values
MDEV-10277 Redundant NOTE when inserting '0.00001 ' into a DECIMAL(2,1) column
2016-06-27 15:14:07 +04:00
Alexander Barkov
25e68c5e46 MDEV-8686 A user defined collation utf8_confusables doesn't work
The collation customization code for the UCA (Unicode Collation Alrorithm)
based collations now allows to reset to and shift of characters with
implicit weights. Previously reset/shift worked only for the characters
with explicit DUCET weights. An attempt to use reset/shift with
character with implicit weights made the server crash.
2016-06-23 14:25:48 +04:00
Sergei Petrunia
3e03b89b0a MDEV-10185: Assertion `tree1->keys[key_no] && tree2->keys[key_no]' failed in
Make tree_or set correct SEL_TREE::keys_map for the result.
2016-06-22 23:20:41 +03:00
Sergei Golubchik
f9b5acfb0c Merge branch 'bb-10.0-serg' into 10.0 2016-06-22 10:54:19 +02:00
Alexander Barkov
21479a6bb3 MDEV-9524 Cannot load from mysql.event when sql_mode is set to PAD_CHAR_TO_FULL_LENGTH
The patch fixes the problem with loading information from system tables
(e.g. event and help related tables) when PAD_CHAR_TO_FULL_LENGTH is enabled,
as well as includes some additional minor improvements:
- refactoring in get_field() to return an error rather than success
  if strmake_root() failed
- removing of duplicate code in similar functions:
  char *get_field(MEM_ROOT *mem, Field *field)
  bool get_field(MEM_ROOT *mem, Field *field, String *res)
2016-06-21 21:26:31 +04:00
Oleksandr Byelkin
911af69d1e MDEV-5973: MySQL Bug#11757486:49539: NON-DESCRIPTIVE ERR (ERROR 0 FROM STORAGE ENGINE) WITH MULTI-TABLE UPDATE
Condition in processing IGNORE clause for UPDATE & multi-table UPDATE made the same.
2016-06-21 18:48:14 +02:00
Sergei Golubchik
a69f4c783d Merge branch 'bb-10.0-serg' into 10.0 2016-06-21 15:55:37 +02:00
Sergey Vojtovich
82a96926a7 MDEV-9728 - Hard crash in metadata_lock_info
metadata_lock_info plugin called MDL_context::find_ticket() to obtain lock
duration, which in turn iterates foreign thread private lists. These lists
can be updated by owner thread without protection.

Fixed by iterating threads (instead of MDL locks and tickets) and obtaining
data through APC.

Also fixed mdl_iterate_lock() to initialize iterator under prlock protection.
2016-06-21 17:04:57 +04:00
Sergei Golubchik
c081c978a2 Merge branch '5.5' into bb-10.0 2016-06-21 14:11:02 +02:00
Sergei Golubchik
a482e76e65 fix a mysql-5.5.50 merge: mysqlcheck
quote identifiers correctly
2016-06-20 16:12:54 +02:00
Alexander Barkov
a80dbe068c MDEV-10020 InnoDB NOT IN Query Crash When One Item Is NULL
The problem was that the loop in get_func_mm_tree()
accessed improperly initialized instances of String,
which resided in the bzero'ed part of the in_vector::base array.

Strings in in_vector::base are originally initialized
in Item_func_in::fix_length_and_dec(),
in in_vector::in_vector() using sql_calloc,
rather than using a String constructor, so their str_charset
members are originally equal to NULL.

Strings in in_vector::base are later initialized
to good values in Item_func_in::fix_length_and_dec(),
using array->set(), in this code:

      uint j=0;
      for (uint i=1 ; i < arg_count ; i++)
      {
        array->set(j,args[i]);
        if (!args[i]->null_value)                      // Skip NULL values
          j++;
        else
          have_null= 1;
      }
      if ((array->used_count= j))
        array->sort();

NULLs are not taken into account, so at the end
array->used_count can be smaller than array->count.

This patch fixes the loop in opt_range.cc, in get_func_mm_tree(),
to access only properly initialized elements in in_vector::base,
preventing access to its bzero'ed non-initialized tail.
2016-06-20 14:11:01 +04:00
Jan Lindström
70ad689b11 MDEV-8633: information_schema.index_statistics doesn't delete
item when drop table indexes or drop table;

Problem was that table and index statistics is removed from
persistent tables but not from memory cache. Added functions
to remove table and index statistics from memory cache.
2016-06-20 09:58:31 +03:00
Alexey Botchkov
e24a183370 MDEV-9969 mysql_install_db error processing ignore_db_dirs.
test failed on Windows so fixed by testing slightly differently.
2016-06-18 10:46:55 +04:00
Alexander Barkov
0a50e43e9d MDEV-9374 having '2015-01-01 01:00:00.000001' > coalesce(NULL) returns true
The problem was earlier fixed by the patch for MDEV-9521.
Adding tests only.
2016-06-16 14:57:32 +04:00
Alexey Botchkov
0e50b92482 MDEV-9969 mysql_install_db error processing ignore_db_dirs.
Check for same directories in the list added.
2016-06-16 12:35:14 +04:00
Sergei Golubchik
05bb3b9f85 fix main.ssl_ca test for windows
where $HOME is the empty string
2016-06-14 16:28:07 +02:00
Sergei Golubchik
a4cfd32125 main.openssl_1 failure
don't test a cipher that was removed from
recent openssl versions
2016-06-14 14:52:43 +02:00
Sergei Golubchik
c73b987e73 MDEV-8328 Evaluation of two "!" operators depends on space in beetween
fix the lexer to backtrack when parsing
"<=", "<>", "!=", ">=", "<<", ">>", "<=>".
2016-06-14 13:59:55 +02:00
Sergei Golubchik
90eb30266b fix main.ssl_ca from mysql-5.5.50
1. to work for OpenSSL
2. to work when $HOME can match in the middle of $MYSQL_TEST_DIR
2016-06-14 13:57:49 +02:00
Sergei Golubchik
ae29ea2d86 Merge branch 'mysql/5.5' into 5.5 2016-06-14 13:55:28 +02:00
Sergey Vojtovich
1b50d59960 MDEV-9945 - main.kill_processlist-6619 fails sporadically
SHOW PROCESSLIST output can be affected by not completed concurrent KILL QUERY.
Filter out more column values to make output stable.
2016-06-14 14:44:09 +04:00
Alexander Barkov
4155d0937b MDEV-8402 Bug #77473 Truncated data with subquery & UTF8 2016-06-10 17:06:38 +04:00
Alexander Barkov
df1448801c MDEV-10181 Illegal mix of collation for a field and an ASCII string as a view field 2016-06-10 15:50:19 +04:00
Alexander Barkov
a4848e975d MDEV-9972 Least function retuns date in date time format 2016-06-08 19:04:12 +04:00
Vladislav Vaintroub
9ff93656ae Fix sporadic failure of set_statement mtr test.
On Windows with low precision  (10-16 ms) timer used for timing queries,
the statement "set @@long_query_time=0.01" can log itself a slow if it
spawn more single timer tick.

The fix is to filter this query out  from "SELECT FROM mysql.slow_log"
results
2016-06-03 19:22:47 +00:00
Sergei Petrunia
904027c820 Merge branch 'bb-10.1-mdev8989' into 10.1 2016-06-02 19:27:22 +03:00
Sergei Petrunia
5a5a54f7b4 MDEV-8989: ORDER BY optimizer ignores equality propagation
Post-fix #2:
- Update test results
- Make the optimization conditional under @@optimizer_switch flag.
- The optimization is now disabled by default, so .result files
  are changed back to be what they were before the MDEV-8989 patch.
2016-06-01 23:43:11 +03:00
Alexander Barkov
bc546225c0 Adding collations
utf8mb4_thai_520_w2, ucs2_thai_520_w2, utf16_thai_520_w2, utf32_thai_520_w2
2016-05-30 16:56:29 +04:00
Alexander Barkov
c5733e57e7 - Moving ctype_utf8_th.test to ctype_thai.inc and including it
from ctype_uca.test. This is to reuse ctype_thai.inc for other Unicode
  character sets later
- Removing separate ctype_uca.result
2016-05-30 14:27:24 +04:00
Alexander Barkov
dd7f3073fb - Moving tests from t/ctype_uca_th.test to include/ctype_uca_w2.inc
and including it from t/ctype_uca.test
- Deleting r/ctype_uca_th.result
2016-05-30 13:47:57 +04:00
Alexander Barkov
a8cd030ee0 Adding LIKE range tests for tricky characters U+0425, U+045F, U+2525, U+5F5F.
They have bytes 0x25 and 0x5F. Testing that these bytes are treated as parts
of multi-byte characters rather than underscore and percent sign.
2016-05-30 13:07:43 +04:00
Alexander Barkov
29db3b5e5c Clean-ups for MDEV-10132 utf8_thai_520_w2 collation:
- Changing strnxfrm_multiply from 8 to 4, as agreed with Pruet Boonma
- Adjusting tests
2016-05-26 22:56:28 +04:00
pruet
fb35b9ad07 Multi-level collation in UCA, Thai sorting with contraction for UTF8. 2016-05-26 16:45:50 +07:00
Sergei Petrunia
99cd5a962c MDEV-8989: ORDER BY optimizer ignores equality propagation
Variant #4 of the fix.

Make ORDER BY optimization functions take into account multiple
equalities. This is done in several places:
- remove_const() checks whether we can sort the first table in the
  join, or we need to put rows into temp.table and then sort.
- test_if_order_by_key() checks whether there are indexes that
  can be used to produce the required ordering
- make_unireg_sortorder() constructs sort criteria for filesort.
2016-05-23 21:17:18 +03:00
Sergei Petrunia
5c68bc2c32 MDEV-10006: optimizer doesn't convert outer join to inner on views with WHERE clause
When simplify_joins() converts an outer join to an inner, it should
reset the value of TABLE::dep_tables.  This is needed, because the
function may have already set TABLE::dep_tables according to the outer
join dependency.
2016-05-11 15:55:14 +03:00
Alexander Barkov
964c4f070a MDEV-10052 Illegal mix of collations with DAYNAME(date_field)<>varchar_field 2016-05-10 19:13:06 +04:00
Sergei Golubchik
46973bb3ad Merge branch 'bb-10.1-merge' into 10.1 2016-05-05 08:47:17 +02:00
Oleksandr Byelkin
fba385e3b1 MDEV-9487: Server crashes in Time_and_counter_tracker::incr_loops with UNION in ALL subquery
Do not mark subquery as inexpensive when it is not optimized.
2016-05-04 19:46:29 +02:00
Sergei Golubchik
87e3e67f43 Merge branch '10.0' into 10.1 2016-05-04 15:23:26 +02: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
Alexey Botchkov
47e0717806 MDEV-9792 Backport MDEV-8713 to 10.1. 2016-04-27 11:08:46 +04:00
Sergei Golubchik
872649c7ba Merge branch '5.5' into 10.0 2016-04-26 23:05:26 +02:00
Sergei Golubchik
29868de2ff MDEV-9986 Full-text search of the utf8mb4 column causes crash
take into account that agg_arg_charsets_for_comparison()
can replace Item_field's with Item_func_conv_charset
2016-04-26 12:58:14 +02:00
Alexey Botchkov
44554d6111 MDEV-9605 mysqlbinlog does not accept ssl-ca option as expected.
Added SSL support to the mysqlbinlog.
2016-04-26 14:37:19 +04:00
Sergei Golubchik
7f5ceb7768 disable main.wait_timeout_not_windows for embedded 2016-04-26 11:49:35 +02:00
Sergei Golubchik
2220480731 MDEV-7775 Wrong error message (Unknown error) when idle sessions are killed after wait_timeout
restore the error message that was removed by mistake in ec38c1bbd7
2016-04-25 22:46:43 +02:00
Monty
f6cc7f1bdc Fixed failing test cases and compiler warnings
- Fixed wait condition in kill_processlist-6619
- Updated Ssl_chiper for openssl tests
- Added supression for valgrinds when using libcrypto
- Fixed wrong argument to pthread_mutex in server_audit.c when compiling with debug
- Adding missing debug_sync_update() to debug_sync.h
- Added initializers to some variables and fixed error handling in jsonudf.cpp
- Fixed cluster_filter_unpack_varchar which doesn't have a stable index type.
- Updated compiler_warnings.supp
2016-04-25 15:37:24 +03:00