Commit graph

88704 commits

Author SHA1 Message Date
Sergei Golubchik
3427fd0378 making perfschema easier to merge: remove unnecessary changes 2014-05-06 21:42:05 +02:00
Sergei Golubchik
6cb3146af8 percona-server-5.6.17-65.0 2014-05-06 21:18:00 +02:00
Sergei Golubchik
60aba058b1 5.6.17 2014-05-06 21:13:16 +02:00
Olivier Bertrand
3743e1e0f6 - Fix gcc error and warnings
modified:
  storage/connect/odbconn.cpp
  storage/connect/xindex.cpp
2014-05-06 16:00:48 +02:00
Sergei Golubchik
890982192a update test file for windows 2014-05-06 14:52:40 +02:00
Sergei Golubchik
7a0a2c4b84 after tokudb-7.1.6 merge 2014-05-06 14:40:32 +02:00
Sergei Golubchik
4a84ee1c25 after InnoDB/XtraDB 5.6.16 merge 2014-05-06 13:57:56 +02:00
Sergei Golubchik
b968363aac MDEV-6184 10.0.11 merge
XtraDB 5.6.16-64.2
2014-05-06 10:21:34 +02:00
Sergey Vojtovich
5506768c52 MDEV-6083 - Assertion `! (&(&LOCK_open)->m_mutex)->count ||
! pthread_equal(pth read_self(), (&(&LOCK_open)->m_mutex)->thread)'
            fails in intern_sys_var_ptr on server shutdown after uninstalling
            TokuDB plugin at runtime

This assertion was introduced by patch for MDEV-5089 to ensure proper lock order
among LOCK_open and LOCK_global_system_variables: LOCK_open must not be held
while acquiring LOCK_global_system_variables.

intern_sys_var_ptr() may be called while freeing storage engine variables with
PLUGIN_VAR_MEMALLOC flag (when destroying table share after storage engine was
uninstalled). In this case LOCK_open is held, which is harmless because we need
global value pointer and thus won't acquire LOCK_global_system_variables.

Relaxed assertion so it is valid only for session variables.
2014-05-06 12:13:03 +04:00
unknown
2e33a2531a 2 typo fixed 2014-05-27 09:45:01 +03:00
Jan Lindström
1adf9e7984 MDEV-6257: MariaDB 5.5 fails to start with 10.0 InnoDB log files
Analysis: Can't disable the error message because you may get database
started with incorrect log file size. 

Fix: Thus only improve the error message to give more information 
to users.
2014-05-22 16:20:56 +03:00
Jan Lindström
75137522b9 MDEV-6257: MariaDB 5.5 fails to start with 10.0 InnoDB log files
Analysis: By default 10.0 creates 48M log files and 5.5 assumes they
are 5M.

Fix: Remove the error and do size comparison later.
2014-05-21 13:14:43 +03:00
Michael Widenius
a55c159424 MDEV-6245 Certain compressed tables with myisampack are corrupted by "CHECK TABLE"
- Fixed bug that we where using wrong checksum algorithm when using VARCHAR with fixed lenth rows
- Ensure in myisampack that HA_OPTION_NULL_FIELDS is set for tables with null fields.

mysql-test/r/myisampack.result:
  Updated results
mysql-test/t/myisampack.test:
  Added more tests
storage/myisam/mi_open.c:
  Use correct checksum algorithm when we have VARCHAR fields with fixed length records
storage/myisam/myisampack.c:
  Ensure HA_OPTION_NULL_FIELDS is set for tables with null fields.
  (This was not set by default for not compressed tables without checksums to keep MyISAM tables compatible with MySQL)
2014-05-17 10:42:59 +03:00
Sergei Golubchik
f6524e4963 MDEV-4925 Wrong result - count(distinct), Using index for group-by (scanning)
added the test case
2014-05-12 12:56:13 +02:00
Sergei Golubchik
e2e5d07b28 MDEV-6184 10.0.11 merge
InnoDB 5.6.16
2014-05-06 09:57:39 +02:00
Sergei Golubchik
3792693f31 merge MySQL-5.6 bugfix "Bug#17862905: MYSQLDUMP CREATES USELESS METADATA LOCKS"
revno: 5716
committer: Praveenkumar Hulakund <praveenkumar.hulakund@oracle.com>
branch nick: mysql_5_6
timestamp: Sat 2013-12-28 22:08:40 +0530
message:
  Bug#17862905: MYSQLDUMP CREATES USELESS METADATA LOCKS
2014-05-05 23:53:31 +02:00
Sergei Golubchik
aff4854dfd merge:
git://github.com/Tokutek/ft-index.git
git://github.com/Tokutek/ft-engine.git
at the tag tokudb-7.1.6
2014-05-05 22:59:44 +02:00
Sergei Golubchik
83759e02dc 5.6.16 2014-05-05 18:20:28 +02:00
Sergei Golubchik
05fd3e6366 percona-server-5.6.16-64.2.tar.gz 2014-05-05 18:16:30 +02:00
Sergei Golubchik
f90dca1a0d MDEV-6014 Merge fixed OQGRAPH into 10.0 tree 2014-05-05 17:50:07 +02:00
Olivier Bertrand
9d41d856a7 - Fix a bug concerning index mapping that caused mapped index files
not to be unmapped. This caused a crash instead of reporting an
  error. This was also fixed.
modified:
  storage/connect/connect.cc
  storage/connect/ha_connect.cc
  storage/connect/maputil.cpp
  storage/connect/table.cpp
  storage/connect/xindex.cpp
  storage/connect/xindex.h
  storage/connect/xtable.h
2014-05-05 17:36:16 +02:00
Sergei Golubchik
2f7f2de5cb update test results 2014-05-05 15:41:29 +02:00
Sergei Golubchik
a313864814 MDEV-6056 [PATCH] mysqldump writes usage to stdout even when not explicitly requested 2014-05-05 14:24:25 +02:00
Sergei Golubchik
9c9aa62ddc MDEV-6095 replicate- filters for slaves with a connection name that contain an underscore are ignored
Revert revision-id: guilhem@mysql.com-20091118203617-3jfudef971r7bf2y
Implement a non-destructive fix instead.
2014-05-05 14:18:35 +02:00
Rich Prohaska
394202d207 #224 fail tokudb init if jemalloc is not loaded 2014-05-05 07:59:33 -04:00
Sergei Golubchik
5401d44708 fix broken -DWITHOUT_SERVER build: move sql-dependent unit test from mysys/ to sql/ 2014-05-05 12:51:21 +02:00
Sergei Golubchik
2221029f54 MDEV-6131 Unable to build Connector/ODBC 5.2.5 undefined reference to `my_charset_latin1'
Add charsets to the client API
(they are declared with MYSQL_PLUGIN_IMPORT, meaning the intention is to have them public)
2014-05-05 12:51:11 +02:00
Sergei Golubchik
a5beb350ae MDEV-5454 Dependencies for mariadb-connect-engine-10.0.deb don't look correct 2014-05-04 17:37:54 +02:00
Rich Prohaska
2a8682244a #223 build tokudb without upserts 2014-05-02 15:55:52 -04:00
Rich Prohaska
5c88950f25 #232 fix indexer progress callback to estimate number of rows with stat64 2014-05-01 22:27:06 -04:00
Sergei Golubchik
a03997db43 MDEV-6085 ALTER TABLE looses the connection string 2014-05-01 18:27:52 +02:00
unknown
285160dee2 MDEV-5981: name resolution issues with views and multi-update in ps-protocol
It is triple bug with one test suite:
1. Incorrect outer table detection
2. Incorrect leaf table processing for multi-update (should be full like for usual updates and inserts)
3. ON condition fix_fields() fould be called for all tables of the query.
2014-05-01 17:19:17 +03:00
Sergei Golubchik
ddc960db4b MDEV-6091 mysqldump goes in a loop and segfaults if --dump-slave is specified and it cannot connect to the server
do_start_slave_sql() is called from maybe_exit().
We should not recurse when maybe_exit() is called for an error during do_start_slave_sql().
Also remove a meaningless (but safe) "goto err".
2014-05-01 15:43:51 +02:00
Sergei Golubchik
26618a54fa MDEV-5736 remove what remains from ONE_SHOT hack 2014-05-01 14:07:11 +02:00
Sergei Golubchik
d81b662b8c Asserting correct database name lettercase in
various places in the code.
2014-05-01 14:06:48 +02:00
Sergei Golubchik
5b6c75ca4d increase TokuDB plugins maturity to "stable". 2014-05-01 14:06:06 +02:00
Sergei Golubchik
dc23a9501a Solaris compilation failure: xtradb is linked in statically, ha_innodb.so needs
the linker script.
2014-05-01 14:05:52 +02:00
Sergei Golubchik
302e4776e0 comments 2014-05-01 14:05:44 +02:00
Sergei Golubchik
4544e60d29 MDEV-6106 Cannot create a table with 229 or greater columns in TokuDB
correct the length encoding for the extra2 frm segment. add the comment.
2014-05-01 14:04:00 +02:00
Rich Prohaska
85d338cc3e #222 filter out degenerate key range in tokudb::record_in_range 2014-04-30 18:19:14 -04:00
Alexander Nozdrin
d14f191e6b Patch for Bug#18511348 (DDL_I18N_UTF8 AND DDL_I18N_KOI8R
ARE PERMANENTLY SKIPPED IN 5.5/5.6).

The problem was that some result files were not updated,
so the tests were skipped.

The fix is to record updated result files.
2014-04-30 20:48:29 +04:00
Rich Prohaska
53cb5329e4 #218 fix incorrect use of num_DBs_lock 2014-04-29 13:51:05 -04:00
Leif Walsh
04f63b0d4f Merge branch 'malloc-enginestatus' 2014-04-29 13:38:12 -04:00
Leif Walsh
1902b5c99c added MEMORY_MAX_REQUESTED_SIZE and MEMORY_LAST_FAILED_SIZE #230
fixes #230
2014-04-29 13:24:31 -04:00
mithun
3d6d85b40d Bug #18167356: EXPLAIN W/ EXISTS(SELECT* UNION SELECT*)
WHERE ONE OF SELECT* IS DISTINCT FAILS.
ISSUE:
------
There are 2 issues related to explain union.
1. If we have subquery with union of selects. And, one of
   the select need temp table to materialize its results
   then it will replace its query structure with a simple
   select from temporary table. Trying to display new
   internal temporary table scan resulted in crash. But to
   display the query plan, we should save the original
   query structure.
2. Multiple execution of prepared explain statement which
   have union of subqueries resulted in crash. If we have
   constant subqueries, fake select used in union operation
   will be evaluated once before using it for explain.
   During first execution we have set fake select options to
   SELECT_DESCRIBE, but did not reset after the explain.
   Hence during next execution of prepared statement during
   first time evaluation of fake select we had our select
   options as SELECT_DESCRIBE this resulted in improperly
   initialized data structures and crash.

SOLUTION:
---------
1. If called by explain now we save the original query
   structure. And this will be used for displaying.
2. Reset the fake select options after it is called for
   explain of union.

sql/sql_select.cc:
  Reset the fake select options after it is called for explain of union
sql/sql_union.cc:
  If called by explain but not from select_describe and we
  need a temp table, then we create a temp join to preserve
  original query structure.
2014-04-28 21:07:27 +05:30
Rich Prohaska
ba7e697bf1 #205 run test_block_allocator_merge with valgrind 2014-04-28 11:12:24 -04:00
Nisha Gopalakrishnan
5e881cc435 BUG#17994219: CREATE TABLE .. SELECT PRODUCES INVALID STRUCTURE,
BREAKS RBR

Analysis:
--------
A table created using a query of the format:
CREATE TABLE t1 AS SELECT REPEAT('A',1000) DIV 1 AS a;
breaks the Row Based Replication.

The query above creates a table having a field of datatype
'bigint' with a display width of 3000 which is beyond the
maximum acceptable value of 255.

In the RBR mode, CREATE TABLE SELECT statement is
replicated as a combination of CREATE TABLE statement
equivalent to one the returned by SHOW CREATE TABLE and
row events for rows inserted. When this CREATE TABLE event
is executed on the slave, an error is reported:
Display width out of range for column 'a' (max = 255)

The following is the output of 'SHOW CREATE TABLE t1':
CREATE TABLE t1(`a` bigint(3000) DEFAULT NULL)
                  ENGINE=InnoDB DEFAULT CHARSET=latin1;

The problem is due to the combination of two facts:

1) The above CREATE TABLE SELECT statement uses the display
   width of the result of DIV operation as the display width
   of the column created without validating the width for out
   of bound condition.
2) The DIV operation incorrectly returns the length of its first
   argument as the display width of its result; thus allowing
   creation of a table with an incorrect display width of 3000
   for the field.

Fix:
----
This fix changes the DIV operation implementation to correctly
evaluate the display width of its result. We check if DIV's
results estimated width crosses maximum width for integer
value (21) and if yes set it to this maximum value.

This patch also fixes fixes maximum display width evaluation
for DIV function when its first argument is in UCS2.
2014-04-28 16:28:09 +05:30
Sergei Golubchik
2797f0c534 fix XtraDB version to tell the truth 2014-04-28 12:11:35 +02:00
Sergei Golubchik
0e05dc81b3 rename handler::ha_set_lock_type() -> handler::set_lock_type(),
because it's not a handler convenience wrapper
2014-04-28 11:11:16 +02:00
Olivier Bertrand
f3af6da976 - Enable MYSQL tables to USE result instead of STORE result.
See the issue reported in MDEV-6142.
modified:
  storage/connect/myconn.cpp
  storage/connect/myconn.h
  storage/connect/tabmysql.cpp
  storage/connect/tabmysql.h
2014-04-27 19:18:20 +02:00