Commit graph

16330 commits

Author SHA1 Message Date
Rich Prohaska
78bc6e37ad DB-785 turn off fsync on mariadb for 2PC transactions 2015-01-02 09:53:30 -05:00
Rich Prohaska
7229b9f5f8 DB-785 turn off fsync on mariadb for 2PC transactions 2015-01-02 09:53:30 -05:00
Michael Widenius
f0be022cf0 MDEV-5539 Empty results in UNION with Sphinx engine
The bug was fixed by Serg earlier by including Sphinx 2.2.6, but he forgot to update the test case.
2014-12-30 17:10:54 +02:00
Jan Lindström
de09076486 MDEV-7369: MariaDB build fails when XTRADB_STORAGE_ENGINE enabled
Patch by James Taylor.
2014-12-28 13:44:30 +02:00
Jan Lindström
5fafc3ce42 MDEV-7369: MariaDB build fails when XTRADB_STORAGE_ENGINE enabled
Patch by James Taylor.
2014-12-28 13:24:53 +02:00
Thiru
901ce5314b Bug #20144839 AFTER UPDATING TO MYSQL 5.6.22 SERVER
CRASHES ON EVERY START ATTEMPT

Description:
------------
push_warning_printf function is used to print the warning message
to the client. So this function should not invoke while recovering
the server. Moreover current_thd is NULL while starting the server.

Solution:
---------
 - Avoiding the warning to be printed while recovery.
This patch already pushed in mysql-5.6.
2014-12-24 15:22:10 +05:30
Rich Prohaska
b9d154c564 DB-766 use an extra flag that is supported on MySQL and does not require a tokutek patch to the wait_while_table_is_used function 2014-12-21 19:15:39 -05:00
Rich Prohaska
de9a378646 DB-766 use an extra flag that is supported on MySQL and does not require a tokutek patch to the wait_while_table_is_used function 2014-12-21 19:15:39 -05:00
Sergey Vojtovich
094640c036 Fixed a couple of compiler warnings. 2014-12-19 23:17:59 +04:00
Sergei Golubchik
a978bdda1e mysql-5.5.41 merge 2014-12-19 11:35:44 +01:00
Rich Prohaska
6714ec1247 DB-783 append -Wvla to compiler flags to allow variable length arrays to be used in tokudb 2014-12-17 16:44:02 -05:00
Rich Prohaska
59f2e81769 DB-783 append -Wvla to compiler flags to allow variable length arrays to be used in tokudb 2014-12-17 16:44:02 -05:00
Michael Widenius
4a32d9c058 MDEV-6871 Multi-value insert on MyISAM table that makes slaves crash (when using --skip-external-locking=0)
Problem was that repair() did lock and unlock tables, which leaved already locked tables in wrong state

include/my_check_opt.h:
  Added option T_NO_LOCKS to disable locking during repair()
  Fixed duplicated bit T_NO_CREATE_RENAME_LSN
mysql-test/suite/rpl/r/myisam_external_lock.result:
  Test case for MDEV-6871
mysql-test/suite/rpl/t/myisam_external_lock-slave.opt:
  Test case for MDEV-6871
mysql-test/suite/rpl/t/myisam_external_lock.test:
  Test case for MDEV-6871
storage/maria/ha_maria.cc:
  Don't lock tables during enable_indexes()
  Removed some calls to current_thd
storage/myisam/ha_myisam.cc:
  Don't lock tables during enable_indexes()
  Removed some calls to current_thd
2014-12-15 11:16:33 +02:00
Olivier Bertrand
8761f22a11 - Temporary fix for MDEV-7304.
modified:
  storage/connect/rcmsg.c

- Avoid Memory copying when reading an ODBC table when the entire table
  is already in the result set.
modified:
  storage/connect/odbconn.cpp
  storage/connect/odbconn.h
  storage/connect/tabodbc.cpp
  storage/connect/tabodbc.h
2014-12-14 22:47:12 +01:00
Rich Prohaska
e149ab9da9 run on mariadb 10 with its safe malloc 2014-12-07 13:17:45 -05:00
Rich Prohaska
955cce52f6 run on mariadb 10 with its safe malloc 2014-12-07 13:17:45 -05:00
Elena Stepanova
f7fed26390 Storage engines tests: ALTER ONLINE works differently for MERGE in 10.0 2014-12-05 21:38:16 +04:00
Sergey Vojtovich
ed313e8a92 MDEV-7148 - Recurring: InnoDB: Failing assertion: !lock->recursive
On PPC64 high-loaded server may crash due to assertion failure in InnoDB
rwlocks code.

This happened because load order between "recursive" and "writer_thread"
wasn't properly enforced.
2014-12-01 14:58:29 +04:00
Jan Lindström
89a3628b0b Better comments part 2 with proof and simplified implementation.
Thanks to Daniel Black.
2014-11-25 12:04:32 +02:00
Jan Lindström
e3ded84b83 Fix typo. 2014-11-25 08:22:10 +02:00
Jan Lindström
e5802c38f9 Better comments and add a test case. 2014-11-25 08:06:41 +02:00
Olivier Bertrand
75c461d569 - Move mktime in TIME_to_localtime because on Linux the hour can be modified
modified:
  storage/connect/value.cpp
  
- These files were commited even not modified (?)
modified:
  storage/connect/ha_connect.cc
  storage/connect/odbconn.cpp
  storage/connect/odbconn.h
  storage/connect/tabodbc.cpp
2014-11-24 20:15:03 +01:00
Olivier Bertrand
c3b0894f7d - Make the fix for getting day names of dates more general
modified:
  storage/connect/ha_connect.cc
  storage/connect/value.cpp
2014-11-24 18:32:44 +01:00
Olivier Bertrand
c89b8a38de - Enhance the implementation of ODBC tables when using scrollable cursor
modified:
  storage/connect/odbconn.cpp
  storage/connect/odbconn.h
  storage/connect/tabodbc.cpp
2014-11-24 18:26:44 +01:00
Olivier Bertrand
6211708a95 - Fix a bug causing the day always printed as Sunday for date columns with
a date format specifying DDD or DDDD.
modified:
  storage/connect/ha_connect.cc
  storage/connect/value.cpp
2014-11-23 16:12:26 +01:00
Jan Lindström
e15a83c0c7 Better comments part 2 with proof and simplified implementation.
Thanks to Daniel Black.
2014-11-26 16:41:28 +02:00
Jan Lindström
f3bdf9d741 MDEV-7046: MySQL#74480 - Failing assertion: os_file_status(newpath, &exists, &type)
after Operating system error number 36 in a file operation.

Analysis: os_file_get_status did not handle error ENAMETOOLONG
correctly.

Fix: Add correct handling for error ENAMETOOLONG. Note that on InnoDB
case the error is not passed all the way up to server. That would
be bigger rewamp.
2014-11-25 11:38:01 +02:00
Jan Lindström
b62c4c6586 Better comments and add a test case. 2014-11-25 08:31:03 +02:00
Jan Lindström
ef1ba3b1e6 MDEV-7164: innodb.innodb-alter-table-disk-full fails in buildbot on Windows
Analysis: Test case uses Linux specific error codes.

Fix: Can't run test case with Windows currently because requires
to inject error to system.
2014-11-24 15:26:47 +02:00
Rich Prohaska
b798b3546a DB-775 binlog group commit for 5.6 2014-11-21 16:31:53 -05:00
Rich Prohaska
1d7f9ec24c DB-775 binlog group commit for 5.6 2014-11-21 16:31:53 -05:00
Sergei Golubchik
ffc0ef6316 5.5 merge 2014-11-21 20:20:39 +01:00
Rich Prohaska
e64b621179 DB-771 fix incorrect assert in update callback for varchar expansion 2014-11-21 07:13:07 -05:00
Rich Prohaska
eb13e2b40d DB-771 fix incorrect assert in update callback for varchar expansion 2014-11-21 07:13:07 -05:00
Sergey Vojtovich
4472a0ef95 MDEV-7026 - Race in InnoDB/XtraDB mutex implementation can stall or hang the
server

This is an addition to original patch. Added full memory barrier to ensure
proper StoreLoad order between waiters and lock_word on PPC64.
2014-11-21 15:23:18 +04:00
Jan Lindström
b0febdb66e MDEV-7084: innodb index stats inadequate using constant innodb_stats_sample_pages
Use traditional statistics estimation by default (innodb-stats-traditional=true).
There could be performance regression for customers if there is a lot of
open table operations.
2014-11-21 13:27:36 +02:00
Olivier Bertrand
b2db891c19 - Remove gcc warning (variable n is set and not used)
modified:
  storage/connect/odbconn.cpp
2014-11-20 23:18:51 +01:00
Sergei Golubchik
4e2973b48e 10.0-mroonga 2014-11-20 17:39:11 +01:00
Sergei Golubchik
87b75b7719 10.0-connect 2014-11-20 17:29:21 +01:00
Sergei Golubchik
32ec8625af XtraDB 5.6.21-70.0 2014-11-20 17:05:13 +01:00
Sergei Golubchik
a9a6bd5256 InnoDB 5.6.21 2014-11-20 16:59:22 +01:00
Sergei Golubchik
5813246589 sphinx 2.2.6 2014-11-20 16:53:12 +01:00
Sergei Golubchik
3c12c27907 5.5 merge 2014-11-20 16:07:34 +01:00
Sergei Golubchik
afca52bb52 5.5 merge 2014-11-20 15:26:31 +01:00
Olivier Bertrand
d592f66578 - Remove gcc warning on variable n set but not used
modified:
  storage/connect/odbconn.cpp
2014-11-20 12:57:33 +01:00
Olivier Bertrand
c144cf38bd - Implement putting in memory the result set from an ODBC query.
modified:
  storage/connect/odbconn.cpp
  storage/connect/odbconn.h
  storage/connect/tabodbc.cpp
  storage/connect/tabodbc.h

- Moving the calls to VerifyConnect and GetConnectInfo into the try block
  in ODBConn::Open (potential crash in case of throw)
modified:
  storage/connect/odbconn.cpp

- Handling all ODBC data date types (91, 92, 93)
modified:
  storage/connect/ha_connect.cc
  storage/connect/odbconn.cpp

- Not assuming string results from ODBC catalog functions are zero terminated
modified:
  storage/connect/odbconn.cpp
2014-11-20 11:00:02 +01:00
Jan Lindström
8bc5eabea8 MDEV-7084: innodb index stats inadequate using constant
innodb_stats_sample_pages

Analysis: If you set the number of analyzed pages 
to very low number compared to actual pages on 
that table/index it randomly pics those pages 
(default 8 pages), this leads to fact that query 
after analyze table returns different results. If 
the index tree is small, smaller than 10 * 
n_sample_pages + total_external_size, then the 
estimate is ok. For bigger index trees it is 
common that we do not see any borders between 
key values in the few pages we pick. But still 
there may be n_sample_pages different key values, 
or even more. And it just tries to 
approximate to n_sample_pages (8).

Fix: (1) Introduced new dynamic configuration variable
innodb_stats_sample_traditional  that retains
the current design. Default false.

(2) If traditional sample is not used we use
n_sample_pages = max(min(srv_stats_sample_pages,
                         index->stat_index_size),
                     log2(index->stat_index_size)*
                          srv_stats_sample_pages);

(3) Introduced new dynamic configuration variable
stat_modified_counter (default = 0) if set
sets lower bound for row updates when statistics is re-estimated.

If user has provided upper bound for how many rows needs to be updated
before we calculate new statistics we use minimum of provided value
and 1/16 of table every 16th round. If no upper bound is provided
(srv_stats_modified_counter = 0, default) then calculate new statistics
if 1 / 16 of table has been modified
since the last time a statistics batch was run.
We calculate statistics at most every 16th round, since we may have
a counter table which is very small and updated very often.
@param t table
@return true if the table has changed too much and stats need to be
recalculated
*/
#define DICT_TABLE_CHANGED_TOO_MUCH(t) \
	((ib_int64_t) (t)->stat_modified_counter > (srv_stats_modified_counter ? \
	ut_min(srv_stats_modified_counter, (16 + (t)->stat_n_rows / 16)) : \
		16 + (t)->stat_n_rows / 16))
2014-11-19 20:27:34 +02:00
Rich Prohaska
3f3e058f5a DB-762 create tokudb trx when needed in tokudb::start_stmt 2014-11-19 12:31:34 -05:00
Rich Prohaska
412be21f5a DB-762 create tokudb trx when needed in tokudb::start_stmt 2014-11-19 12:31:34 -05:00
Sergei Golubchik
3495801e2e 5.5 merge 2014-11-19 17:23:39 +01:00