1
0
mirror of https://github.com/MariaDB/server.git synced 2025-05-01 08:45:04 +03:00

6807 Commits

Author SHA1 Message Date
Nirbhay Choubey
ee8b5c305a Merge tag 'mariadb-10.0.29' into 10.0-galera 2017-01-13 13:53:59 -05:00
vicentiu
e9aed131ea Merge remote-tracking branch 'origin/5.5' into 10.0 2017-01-06 17:09:59 +02:00
Sergei Golubchik
ec6d8dadc0 reduce code duplication a little 2016-12-22 13:02:32 +01:00
Sachin Setiya
4c1e181ac5 MDEV-11479 Improved wsrep_dirty_reads
Tasks:-
         Changes in wsrep_dirty_reads variable
         1.) Global + Session scope (Current: session-only)
         2.) Can be set using command line.
         3.) Allow all commands that do not change data (besides SELECT)
         4.) Allow prepared Statements that do not change data
         5.) Works with wsrep_sync_wait enabled
2016-12-14 15:32:40 +05:30
Sachin Setiya
ffdd1e9d88 Revert "MDEV-11016 wsrep_node_is_ready() check is too strict"
This reverts commit 52ea5ad865b4f6b4b37176296a3be0a716c5109a.

# Conflicts:
#	mysql-test/suite/galera/r/galera_var_dirty_reads.result
#	mysql-test/suite/galera/t/galera_var_dirty_reads.test
#	sql/sql_parse.cc
2016-12-14 13:57:05 +05:30
Nirbhay Choubey
55b4579633 Fix build failure. 2016-12-05 16:28:29 -05:00
SachinSetiya
52ea5ad865 MDEV-11016 wsrep_node_is_ready() check is too strict
Problem:-
      The condition that checks for node readiness is too strict as it does
      not allow SELECTs even if these selects do not access any tables.
      For example,if we run
           SELECT 1;
      OR
           SELECT @@max_allowed_packet;
      Solution:-
      We need not to report this error when all_tables(lex->query_tables)
      is NULL:
2016-12-01 11:27:31 +05:30
Nirbhay Choubey
5db2195a35 Merge tag 'mariadb-10.0.28' into 10.0-galera 2016-10-28 15:50:13 -04:00
Sergey Vojtovich
59a7bc35fc Removed duplicate open_strategy assignments
It is set in sql_yacc.yy.
2016-10-26 14:12:02 +04:00
Nirbhay Choubey
c309e99ff9 Merge branch '10.0' into 10.0-galera 2016-08-24 19:30:32 -04:00
Monty
a5051cd3b2 Minor cleanups
- Remove impossible test in test_quick_select
- Ensure that is_fatal_error is set if we run out of stack space
2016-08-22 10:19:07 +03:00
sjaakola
da9650a36a Refs: MW-248
- some more code cleanup
2016-08-21 16:17:00 -04:00
sjaakola
df96eb5d04 Refs: MW-248
- test cases from PXC for reproducing the issue
- initial fix
2016-08-21 16:16:59 -04:00
Nirbhay Choubey
a53ac77c42 Cleanup: Remove dead code 2016-08-21 16:16:58 -04:00
Alexey Botchkov
bf2e31500c MDEV-8569 build_table_filename() doesn't support temporary tables.
Temporary tables support added for RENAME and ALTER TABLE.
2016-07-18 11:50:08 +04:00
Nirbhay Choubey
8a1efa1bdd Merge branch '10.0' into 10.0-galera 2016-04-29 16:50:58 -04:00
Sergei Golubchik
872649c7ba Merge branch '5.5' into 10.0 2016-04-26 23:05:26 +02:00
Sergei Golubchik
d821dd106a MDEV-9580 SHOW GRANTS FOR <current_user> fails
use get_current_user() to distinguish user name without
a hostname and a role name.

move privilege checks inside mysql_show_grants() to remove
duplicate get_current_user() calls
2016-04-24 18:15:20 +02:00
Jan Lindström
19e3597e0c MDEV-9142 :Adding Constraint with no database reference
results in ERROR 1046 (3D000) at line 13: No database selected.

Use database from create table to foreign key database if
nothing else is given.
2016-04-23 13:05:15 +03:00
Otto Kekäläinen
1777fd5f55 Fix spelling: occurred, execute, which etc 2016-03-04 02:09:37 +02:00
Nirbhay Choubey
0d58323e26 Merge tag 'mariadb-10.0.24' into 10.0-galera 2016-02-23 20:53:29 -05:00
Daniele Sciascia
1e14db11ee refs codership/mysql-wsrep#228
- Add calls to wsrep_sync_wait for
  SHOW CREATE DB/PROCEDURE/FUNCTION/TRIGGER/EVENT
  and SHOW PROCEDURE/FUNCTION CODE
2016-02-23 00:10:23 -05:00
Daniele Sciascia
c6659345a0 refs codership/mysql-wsrep#201
Fix remaining issues with wsrep_sync_wait and query cache.

- Fixes misplaced call to invalidate query cache in
  Rows_log_event::do_apply_event().
  Query cache was invalidated too early, and allowed old
  entries to be inserted to the cache.

- Reset thd->wsrep_sync_wait_gtid on query cache hit.
  THD->cleanup_after_query is not called in such cases,
  and thd->wsrep_sync_wait_gtid remained initialized.
2016-02-22 23:42:32 -05:00
Nirbhay Choubey
17ac959716 Bug#1421360: Add Percona Server specific FLUSH statements.
- Restore FLUSH commands supported by MariaDB (removed in
the previous commit)
- Adjust test case
2016-02-22 22:07:59 -05:00
Teemu Ollakka
7d89deb0a3 refs codership/mysql-wsrep#198 fixed merge issues 2016-02-22 18:45:53 -05:00
Raghavendra D Prabhu
0ecc4fe2ac Bug#1421360: Add Percona Server specific FLUSH statements.
Added following:

        FLUSH CLIENT_STATISTICS
        FLUSH INDEX_STATISTICS
        FLUSH TABLE_STATISTICS
        FLUSH THREAD_STATISTICS
        FLUSH USER_STATISTICS

pertaining to USER STATISTICS
https://www.percona.com/doc/percona-server/5.6/diagnostics/user_stats.html

        FLUSH CHANGED_PAGE_BITMAPS

pertaining to changed page tracking.
https://www.percona.com/doc/percona-server/5.6/management/changed_page_tracking.html

Also, added tests for them.

(cherry picked from commit 7efe49010c7f217663f364657090812b4723f426)

Conflicts:
	mysql-test/suite/galera/r/galera_flush.result
	mysql-test/suite/galera/r/galera_flush_gtid.result
	mysql-test/suite/galera/t/galera_flush.test
	sql/sql_parse.cc
2016-02-22 18:00:28 -05:00
Raghavendra D Prabhu
1077eef942 PXC-391: Avoid Total Order Isolation (TOI) for LOCAL sql admin commands.
The admin commands in question are:
    > OPTIMIZE
    > REPAIR
    > ANALYZE

For LOCAL or NO_WRITE_TO_BINLOG invocations of these commands, ie

    OPTIMIZE LOCAL TABLE <t1>

they are not binlogged as expected.

Also, in addition, they are not executed under TOI.

Hence, they are not propagated to other nodes.

The effect is same as that of wsrep_on=0.

Also added tests for this.

A WSREP_DEBUG for wsrep_register_hton has also been added.

The galera_flush_local test has also been updated for verifying that effects
of  NO_WRITE_TO_BINLOG / LOCAL are equivalent to wsrep_on=0 from wsrep
perspective.

(cherry picked from commit 5065122f94a8002d4da231528a46f8d9ddbffdc2)

Conflicts:
	sql/sql_admin.cc
	sql/sql_reload.cc
	sql/wsrep_hton.cc
2016-02-22 17:59:06 -05:00
Daniele Sciascia
0ec457b0de refs codership/galera#308
- Moves call wsrep_free_status() to THD::cleanup_after_query().
  Wsrep status variables were previously freed only on SHOW STATUS.
- Removes valgrind suppression from mysql-test/valgrind.
2016-02-22 16:10:01 -05:00
Monty
661a6d8906 Cleanup of slave code:
- Added testing if connection is killed to shortcut reading of connection data
  This will allow us later in 10.2 to do a cleaner shutdown of slaves (less errors in the log)
- Add new status variables: Slaves_connected, Slaves_running and Slave_connections.
- Use MYSQL_SLAVE_NOT_RUN instead of 0 with slave_running.
- Don't print obvious extra warnings to the error log when slave is shut down normally.
2016-01-03 13:20:07 +02:00
Nirbhay Choubey
dad555a09c Merge tag 'mariadb-10.0.23' into 10.0-galera 2015-12-19 14:24:38 -05:00
Kristian Nielsen
65986b8a0a Merge branch 'mdev7818-4' into bb-10.0-knielsen 2015-11-13 15:30:48 +01:00
Kristian Nielsen
d5d87c98c0 Fix embedded server build after MDEV-7818 patch 2015-11-13 15:30:37 +01:00
Kristian Nielsen
6bf88cdd9d Merge branch 'mdev7818-4' into bb-10.0-knielsen 2015-11-13 14:08:38 +01:00
Kristian Nielsen
ba02550166 MDEV-7818: Deadlock occurring with parallel replication and FTWRL
Problem is that FLUSH TABLES WITH READ LOCK first blocks threads from
starting new commits, then waits for running commits to complete. But
in-order parallel replication needs commits to happen in a particular
order, so this can easily deadlock.

To fix this problem, this patch introduces a way to temporarily pause
the parallel replication worker threads. Before starting FTWRL, we let
all worker threads complete in-progress transactions, and then
wait. Then we proceed to take the global read lock. Once the lock is
obtained, we unpause the worker threads. Now commits are blocked from
starting by the global read lock, so the deadlock will no longer occur.
2015-11-13 14:02:15 +01:00
Vladislav Vaintroub
6c8f650ea0 MDEV-9089 Server crashes in MDL_key::mdl_key_init (main.lowercase_table4 test fails)
Fix : make sure that database name is converted to lowercase in
check_fk_parent_table_access(), if lowercase_table_names !=0
2015-11-10 14:45:26 +01:00
Nirbhay Choubey
4d15112962 Merge tag 'mariadb-10.0.22' into 10.0-galera 2015-10-31 18:07:02 -04:00
Sergei Golubchik
fb8713385f remove unneded #include's that had a dubious explanation 2015-10-24 19:58:34 +02:00
Sergei Golubchik
e257b8b959 fix the dbug tag name 2015-10-22 07:23:32 +02:00
Sergei Golubchik
cfeedbfd3e Merge branch '5.5' into 10.0 2015-10-09 17:12:26 +02:00
Sergei Golubchik
82e9f6d948 Merge remote-tracking branch 'mysql/5.5' into 5.5 2015-10-08 22:54:24 +02:00
Sergei Petrunia
1289794799 Fix for MDEV-8321, MDEV-6223
EXPLAIN INSERT ... SELECT tried to use SELECT's execution path. This
caused a collection of problems:
- SELECT_DESCRIBE flag was not put into select_lex->options, which
  means it was not in JOIN::select_options either (except for the first
  member of the UNION).
- This caused UNION members to be executed. They would attempt to write
  join output rows to the output.
- (Actual cause of the crash) second join sibling would call
  result->send_eof() when finished execution. Then,
  Explain_query::print_explain would attempt to write to query output
  again, and cause an assertion due to non-empty query output.
2015-10-06 15:54:37 +03:00
Sergei Petrunia
a7dd24cdaa MDEV-8299: MyISAM or Aria table gets corrupted after EXPLAIN INSERT and INSERT
[EXPLAIN] INSERT .. SELECT creates a select_insert object.
select_insert calls handler->start_bulk_insert() during
initialization.

For MyISAM/Aria this requires that a matching call to
handler->end_bulk_insert() call is made.

Regular INSERT .. SELECT accomplishes this by calling either
select_result->send_eof() or select_result->abort_result_set().

EXPLAIN INSERT ... SELECT didn't call either, which resulted in
improper de-initializaiton of handler object. Make it call
abort_result_set(), which invokes handler->end_bulk_insert().
2015-10-06 13:52:27 +03:00
Nirbhay Choubey
4d33f9dca0 Merge branch '5.5-galera' into 10.0-galera 2015-09-25 14:57:56 -04:00
Nirbhay Choubey
d54bc3c0d1 Cleanup: remove dead code which could also lead to race. 2015-09-21 20:49:31 -04:00
Raghavendra D Prabhu
fbe739cbb1 Bug#1421360: Add 'FLUSH TABLES' to Total Order Isolation execution.
Before this, FLUSH TABLES and FLUSH TABLES t1 (REFRESH_TABLES hereafter) were executed locally,
which also had implications for GTID. MySQL async replication does
replicate FLUSH TABLES.

Hence, this commit

a)  Adds REFRESH_TABLES to TOI.

b) Skips LOCK-based REFRESH_TABLES from TOI, ie. FLUSH TABLES WITH READ
LOCK and FLUSH TABLES FOR EXPORT.

c) Executes them after reload_acl_and_cache. This is done since
reload_acl_and_cache checks for thd->locked_tables_mode and does upgrade
of MDL locks accordingly. A failure here means REFRESH_TABLES cannot
run.

    i) This is also important since LOCK TABLES is not replicated in
    galera.

d) Test galera_flush has been modified for

    i) wsrep_replicate_myisam SESSION variable.

    ii) Testing REFRESH_TABLES.

    iii) Testing REFRESH_TABLES + LOCK TABLES.

e) Use different WSREP_TO_ISOLATION_BEGIN for global FLUSH TABLES and FLUSH TABLES <table,>.
2015-09-09 22:33:52 -04:00
sjaakola
197e9d2559 Refs codership/mysql-wsrep#132
- fix for THD::m_digest initialization, according to Raghu
2015-09-09 22:16:39 -04:00
sjaakola
63c5bee535 Refs codership/mysql-wsrep#113 - Extended the protection of local FLUSH
sessions to cover all exclusive MDL locks
2015-09-09 21:31:16 -04:00
sjaakola
c66609017b Refs codership/mysql-wsrep#113
Protecting non replicated FLUSH session from brute force aborts
2015-09-09 21:20:34 -04:00
Nirbhay Choubey
e996304189 MDEV-8617: Multiple galera tests failures with --ps-protocol
(Additional fixes in 10.0-galera branch)
* Reset THD's PS members before returning when node is
not ready.
* Update galera_suspend_slave.test
2015-08-14 01:31:38 -04:00
Nirbhay Choubey
8a18bb9694 Merge branch '5.5-galera' into 10.0-galera 2015-08-14 01:17:57 -04:00