diff options
author | Monty <monty@mariadb.org> | 2019-10-14 18:14:36 +0300 |
---|---|---|
committer | Monty <monty@mariadb.org> | 2019-10-20 11:52:29 +0300 |
commit | b62101f84be49013cf07f323c202606847dcc453 (patch) | |
tree | dab5a7aab47b675ad9264b0146edaa89b0a125ab /sql/sql_acl.cc | |
parent | e0b6294338fdfc8a4a8b42e6b199c588453be879 (diff) | |
download | mariadb-git-b62101f84be49013cf07f323c202606847dcc453.tar.gz |
Fixes for binary logging --read-only mode
- Any temporary tables created under read-only mode will never be logged
to binary log. Any usage of these tables to update normal tables, even
after read-only has been disabled, will use row base logging (as the
temporary table will not be on the slave).
- Analyze, check and repair table will not be logged in read-only mode.
Other things:
- Removed not used varaibles in
MYSQL_BIN_LOG::flush_and_set_pending_rows_event.
- Set table_share->table_creation_was_logged for all normal tables.
- THD::binlog_query() now returns -1 if statement was not logged., This
is used to update table_share->table_creation_was_logged.
- Don't log admin statements in opt_readonly is set.
- Table's that doesn't have table_creation_was_logged will set binlog format to row
logging.
- Removed not needed/wrong setting of table->s->table_creation_was_logged
in create_table_from_items()
Diffstat (limited to 'sql/sql_acl.cc')
-rw-r--r-- | sql/sql_acl.cc | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/sql/sql_acl.cc b/sql/sql_acl.cc index ad35f872a46..c92dc3f9f71 100644 --- a/sql/sql_acl.cc +++ b/sql/sql_acl.cc @@ -3354,7 +3354,7 @@ bool change_password(THD *thd, LEX_USER *user) DBUG_ASSERT(query_length); thd->clear_error(); result= thd->binlog_query(THD::STMT_QUERY_TYPE, buff, query_length, - FALSE, FALSE, FALSE, 0); + FALSE, FALSE, FALSE, 0) > 0; } end: close_mysql_tables(thd); @@ -3516,7 +3516,7 @@ int acl_set_default_role(THD *thd, const char *host, const char *user, DBUG_ASSERT(query_length); thd->clear_error(); result= thd->binlog_query(THD::STMT_QUERY_TYPE, buff, query_length, - FALSE, FALSE, FALSE, 0); + FALSE, FALSE, FALSE, 0) > 0; } end: close_mysql_tables(thd); |