into bodhi.(none):/opt/local/work/mysql-5.1-runtime
sql/ha_ndbcluster.cc:
Auto merged
sql/ha_ndbcluster_binlog.cc:
Auto merged
sql/mysqld.cc:
Auto merged
The problem is that some DDL statements (ALTER TABLE, CREATE
TRIGGER, FLUSH TABLES, ...) when under LOCK TABLES need to
momentarily drop the lock, reopen the table and grab the write
lock again (using reopen_tables). When grabbing the lock again,
reopen_tables doesn't pass a flag to mysql_lock_tables in
order to ignore the impending global read lock, which causes a
assertion because LOCK_open is being hold. Also dropping the
lock must not signal to any threads that the table has been
relinquished (related to the locking/flushing protocol).
The solution is to correct the way the table is reopenned
and the locks grabbed. When reopening the table and under
LOCK TABLES, the table version should be set to 0 so other
threads have to wait for the table. When grabbing the lock,
any other flush should be ignored because it's theoretically
a atomic operation. The chosen solution also fixes a potential
discrepancy between binlog and GRL (global read lock) because
table placeholders were being ignored, now a FLUSH TABLES WITH
READ LOCK will properly for table with open placeholders.
It's also important to mention that this patch doesn't fix
a potential deadlock if one uses two GRLs under LOCK TABLES
concurrently.
mysql-test/r/lock_multi.result:
Add test case result for Bug#32395
mysql-test/r/trigger_notembedded.result:
Add test case result for Bug#32395
mysql-test/t/lock_multi.test:
Add test case for Bug#32395
mysql-test/t/trigger_notembedded.test:
Enable test case for Bug#32395
sql/ha_ndbcluster.cc:
Update close_cached_tables usage.
sql/ha_ndbcluster_binlog.cc:
Update close_cached_tables usage.
sql/mysql_priv.h:
Update close_cache_tables prototype.
sql/set_var.cc:
Update close_cached_tables usage and set flag to wait for
tables with placeholders. This is one of the places where
a GRL can be obtained.
sql/sql_base.cc:
Preserve old version for write locked tables and ignore
pending flushes and update close_cache_tables to take
into account name locked tables.
sql/sql_parse.cc:
Update close_cached_tables usage and pass flag so that
name locked tables are waited for.
sql/sql_table.cc:
Protect the table against a impending GRL if under LOCK TABLES.
into whalegate.ndb.mysql.com:/home/tomas/mysql-5.1-new-ndb-merge
mysql-test/suite/rpl_ndb/r/rpl_row_basic_7ndb.result:
Auto merged
sql/ha_ndbcluster.cc:
Auto merged
sql/mysqld.cc:
Auto merged
into mysql.com:/home/marty/MySQL/mysql-5.1-new-ndb
storage/ndb/include/kernel/signaldata/TcKeyRef.hpp:
Auto merged
storage/ndb/include/kernel/signaldata/TcRollbackRep.hpp:
Auto merged
storage/ndb/include/ndbapi/NdbDictionary.hpp:
Auto merged
storage/ndb/src/kernel/blocks/dbtc/Dbtc.hpp:
Auto merged
storage/ndb/src/kernel/blocks/dbtc/DbtcMain.cpp:
Auto merged
storage/ndb/src/ndbapi/NdbDictionary.cpp:
Auto merged
storage/ndb/src/ndbapi/NdbTransaction.cpp:
Auto merged
storage/ndb/src/ndbapi/ndberror.c:
Auto merged
sql/ha_ndbcluster.cc:
Merge
storage/ndb/src/ndbapi/NdbOperationExec.cpp:
Merge
into whalegate.ndb.mysql.com:/home/tomas/mysql-5.1-new-ndb-merge
mysql-test/suite/ndb/r/ndb_multi.result:
Auto merged
mysql-test/suite/ndb/t/ndb_multi.test:
Auto merged
sql/ha_ndbcluster.cc:
Auto merged
sql/ha_ndbcluster_binlog.cc:
Auto merged
partitioned table
Post-merge fix
A new need for lex initialization arose.
sql/ha_ndbcluster.cc:
Bug#31210 - INSERT DELAYED crashes server when used on
partitioned table
Initialized lex for later use in open_table().
Rename: mysql-test/r/ndb_auto_increment.result -> mysql-test/suite/ndb/r/ndb_auto_increment.result
ndb_auto_increment.test, ndb_auto_increment.result:
Bug #31956 auto increment bugs in MySQL Cluster: Adapted test cases
ha_ndbcluster.cc:
Bug #31956 auto increment bugs in MySQL Cluster: Merging from 5.0
ndb_auto_increment.test:
Rename: mysql-test/t/ndb_auto_increment.test -> mysql-test/suite/ndb/t/ndb_auto_increment.test
sql/ha_ndbcluster.cc:
Bug #31956 auto increment bugs in MySQL Cluster: Merging from 5.0
mysql-test/suite/ndb/t/ndb_auto_increment.test:
Bug #31956 auto increment bugs in MySQL Cluster: Adapted test cases
mysql-test/suite/ndb/r/ndb_auto_increment.result:
Bug #31956 auto increment bugs in MySQL Cluster: Adapted test cases
Bug #31956 auto increment bugs in MySQL Cluster: Added utility method and constant for internal prefetch default
ndb_auto_increment.result:
BitKeeper file /home/marty/MySQL/mysql-5.0-ndb/mysql-test/r/ndb_auto_increment.result
mysqld.cc:
Bug #25176 Trying to set ndb_autoincrement_prefetch_sz always fails: Changed pointer to max value
Bug #31956 auto increment bugs in MySQL Cluster: Changed meaning of ndb_autoincrement_prefetch_sz to specify prefetch between statements, changed default to 1 (with internal prefetch to at least 32 inside a statement)
ndb_insert.test, ndb_insert.result:
Moved auto_increment tests to ndb_auto_increment.test
ndb_auto_increment.test:
BitKeeper file /home/marty/MySQL/mysql-5.0-ndb/mysql-test/t/ndb_auto_increment.test
ha_ndbcluster.cc:
Bug #31956 auto increment bugs in MySQL Cluster: Changed meaning of ndb_autoincrement_prefetch_sz to specify prefetch between statements, changed default to 1 (with internal prefetch to at least 32 inside a statement), added handling of updates of pk/unique key with auto_increment
Bug #32055 Cluster does not handle auto inc correctly with insert ignore statement
sql/mysqld.cc:
Bug #25176 Trying to set ndb_autoincrement_prefetch_sz always fails: Changed pointer to max value
Bug #31956 auto increment bugs in MySQL Cluster: Changed meaning of ndb_autoincrement_prefetch_sz to specify prefetch between statements, changed default to 1 (with internal prefetch to at least 32 inside a statement)
sql/ha_ndbcluster.h:
Bug #31956 auto increment bugs in MySQL Cluster: Added utility method and constant for internal prefetch default
sql/ha_ndbcluster.cc:
Bug #31956 auto increment bugs in MySQL Cluster: Changed meaning of ndb_autoincrement_prefetch_sz to specify prefetch between statements, changed default to 1 (with internal prefetch to at least 32 inside a statement), added handling of updates of pk/unique key with auto_increment
Bug #32055 Cluster does not handle auto inc correctly with insert ignore statement
mysql-test/r/ndb_auto_increment.result:
BitKeeper file /home/marty/MySQL/mysql-5.0-ndb/mysql-test/r/ndb_auto_increment.result
mysql-test/t/ndb_auto_increment.test:
BitKeeper file /home/marty/MySQL/mysql-5.0-ndb/mysql-test/t/ndb_auto_increment.test
mysql-test/t/ndb_insert.test:
Moved auto_increment tests to ndb_auto_increment.test
mysql-test/r/ndb_insert.result:
Moved auto_increment tests to ndb_auto_increment.test
into whalegate.ndb.mysql.com:/home/tomas/mysql-5.1-new-ndb-merge
mysql-test/suite/rpl/r/rpl_bug31076.result:
Auto merged
sql/ha_ndbcluster.cc:
Auto merged
sql/handler.cc:
Auto merged
sql/log_event.cc:
Auto merged
sql/sql_update.cc:
Auto merged
storage/ndb/include/ndbapi/Ndb.hpp:
Auto merged
mysql-test/suite/rpl/t/rpl_bug31076.test:
manual merge
into loke.(none):/home/knielsen/devel/mysql-5.1-new-ndb
storage/ndb/include/kernel/AttributeHeader.hpp:
Auto merged
storage/ndb/src/kernel/blocks/dbtup/DbtupExecQuery.cpp:
Auto merged
storage/ndb/src/kernel/blocks/dbtup/DbtupRoutines.cpp:
Auto merged
storage/ndb/src/kernel/blocks/dbutil/DbUtil.cpp:
Auto merged
storage/ndb/src/ndbapi/NdbOperationDefine.cpp:
Auto merged
sql/ha_ndbcluster.cc:
manual merge.
into mysql.com:/windows/Linux_space/MySQL/mysql-5.1-new-ndb
mysql-test/suite/ndb/r/ndb_update.result:
Auto merged
mysql-test/suite/ndb/t/ndb_update.test:
Auto merged
sql/ha_ndbcluster.cc:
Merge
sql/ha_ndbcluster.h:
Merge
Moved out a lot of code into functions from external_lock and
start_stmt
Fixed a crashing bug at memory alloc failure
Merged the stmt and all variables into one trans variable
Always register start of statement as according to the
interface of the handlers.
Also register for start of transaction when not statement commit
== not autocommit AND no begin - commit ongoing
Now that we registered in a proper manner we also needed to handle
the commit call when end of statement and transaction is ongoing
Added start_stmt_count to know when we have start of statement
for first table
mysql-test/suite/ndb/r/ndb_lock_table.result:
Added a new test case for bug30996
mysql-test/suite/ndb/t/ndb_lock_table.test:
Added a new test case for bug30996
sql/ha_ndbcluster.cc:
Moved out a lot of code into functions from external_lock and
start_stmt
Fixed a crashing bug at memory alloc failure
Merged the stmt and all variables into one trans variable
Always register start of statement as according to the
interface of the handlers.
Also register for start of transaction when not statement commit
== not autocommit AND no begin - commit ongoing
Now that we registered in a proper manner we also needed to handle
the commit call when end of statement and transaction is ongoing
Added start_stmt_count to know when we have start of statement
for first table
sql/ha_ndbcluster.h:
New functions and merged variables
into whalegate.ndb.mysql.com:/home/tomas/mysql-5.1-new-ndb-merge
mysql-test/suite/rpl/r/rpl_row_tabledefs_2myisam.result:
Auto merged
mysql-test/suite/rpl/r/rpl_row_tabledefs_3innodb.result:
Auto merged
mysql-test/t/disabled.def:
Auto merged
sql/field.cc:
Auto merged
sql/field.h:
Auto merged
sql/ha_ndbcluster.cc:
Auto merged
sql/ha_ndbcluster_binlog.h:
Auto merged
sql/log_event.cc:
Auto merged
sql/log_event.h:
Auto merged
sql/rpl_record.cc:
Auto merged
sql/rpl_rli.h:
Auto merged
sql/rpl_utility.cc:
Auto merged
sql/rpl_utility.h:
Auto merged
sql/ha_ndbcluster.cc:
Bug#20872 master*.err: miscellaneous error messages
- only allocate share if fully successfull
sql/ha_ndbcluster_binlog.cc:
Bug#20872 master*.err: miscellaneous error messages
- only allocate share if fully successfull
- no need to print error, my_errno is set
sql/ha_ndbcluster_binlog.h:
Bug#20872 master*.err: miscellaneous error messages
- only allocate share if fully successfull
into whalegate.ndb.mysql.com:/home/tomas/mysql-5.1-new-ndb
sql/ha_ndbcluster.cc:
Auto merged
storage/ndb/src/kernel/blocks/dbtc/Dbtc.hpp:
Auto merged
storage/ndb/src/kernel/blocks/dbtc/DbtcMain.cpp:
Auto merged
storage/ndb/src/ndbapi/NdbBlob.cpp:
Auto merged
storage/ndb/src/ndbapi/NdbTransaction.cpp:
Auto merged
storage/ndb/test/ndbapi/testIndex.cpp:
Auto merged
storage/ndb/src/kernel/blocks/ERROR_codes.txt:
manual merge
storage/ndb/src/ndbapi/ndberror.c:
manual merge
storage/ndb/test/run-test/daily-basic-tests.txt:
manual merge
sql/ha_ndbcluster.cc:
remove warning for table exists in mysqld error log
sql/ha_ndbcluster_binlog.cc:
remove warning for table exists in mysqld error log
into dev3-240.dev.cn.tlan:/home/justin.he/mysql/mysql-5.1/mysql-5.1-new-ndb-bj.merge
mysql-test/Makefile.am:
Auto merged
sql/ha_ndbcluster.cc:
Auto merged
storage/ndb/tools/restore/Restore.cpp:
Auto merged
storage/ndb/tools/restore/restore_main.cpp:
Auto merged
mysql-test/suite/ndb/r/ndb_restore_compat.result:
Auto merged
mysql-test/suite/ndb/t/ndb_restore_compat.test:
Auto merged
into whalegate.ndb.mysql.com:/home/tomas/mysql-5.1-new-ndb-merge
mysql-test/suite/ndb/r/ndb_restore.result:
Auto merged
mysql-test/suite/ndb/t/ndb_restore.test:
Auto merged
sql/ha_ndbcluster.cc:
manual merge
- the listed file_names are not necessarily on disk, so we need to discover them if they aren't
mysql-test/t/ndb_restore.test:
Bug #30667 ndb table discovery does not work correcly with information schema
- let the receiving injector thread decide what to do
(recommit for 5.1.22 target)
sql/ha_ndbcluster.cc:
BUG#30017 log-slave-updates incorrect behavior for cluster
- let the receiving injector thread decide what to do
sql/ha_ndbcluster_binlog.cc:
BUG#30017 log-slave-updates incorrect behavior for cluster
- let the receiving injector thread decide what to do
mysql-test/suite/binlog/t/binlog_row_mix_innodb_myisam.test:
Auto merged
mysql-test/suite/ndb/r/ndb_read_multi_range.result:
Auto merged
mysql-test/suite/ndb/t/ndb_read_multi_range.test:
Auto merged
mysql-test/suite/rpl/r/rpl_row_max_relay_size.result:
Auto merged
mysql-test/suite/rpl/t/rpl_row_create_table.test:
Auto merged
mysql-test/suite/rpl/t/rpl_row_flsh_tbls.test:
Auto merged
mysql-test/suite/rpl/r/rpl_rbr_to_sbr.result:
Auto merged
mysql-test/suite/rpl/r/rpl_row_basic_11bugs.result:
Auto merged
mysql-test/suite/rpl/r/rpl_row_flsh_tbls.result:
Auto merged
mysql-test/suite/rpl/r/rpl_row_inexist_tbl.result:
Auto merged
sql/ha_ndbcluster_binlog.cc:
Auto merged
sql/rpl_rli.h:
Auto merged
BitKeeper/deleted/.del-rpl_extraMaster_Col.test:
Delete: mysql-test/extra/rpl_tests/rpl_extraMaster_Col.test
into kindahl-laptop.dnsalias.net:/home/bk/fix-mysql-5.1-rpl
sql/ha_ndbcluster.cc:
Auto merged
sql/log.cc:
Auto merged
sql/log.h:
Auto merged
sql/slave.cc:
Auto merged
sql/sql_class.h:
Auto merged
sql/log_event.cc:
Manual merge.
standards (and help Doxygen generating good documentation).
sql/ha_ndbcluster.cc:
Renaming MASTER_INFO to Master_info.
sql/log_event.cc:
Renaming MASTER_INFO to Master_info.
sql/repl_failsafe.cc:
Renaming MASTER_INFO to Master_info.
sql/repl_failsafe.h:
Renaming MASTER_INFO to Master_info.
sql/rpl_mi.cc:
Renaming MASTER_INFO to Master_info.
sql/rpl_mi.h:
Renaming MASTER_INFO to Master_info.
sql/rpl_rli.h:
Renaming MASTER_INFO to Master_info.
sql/slave.cc:
Renaming MASTER_INFO to Master_info.
sql/slave.h:
Renaming MASTER_INFO to Master_info.
sql/sql_repl.cc:
Renaming MASTER_INFO to Master_info.
sql/sql_repl.h:
Renaming MASTER_INFO to Master_info.
into dev3-240.dev.cn.tlan:/home/justin.he/mysql/mysql-5.1/mysql-5.1-new-ndb-bj.merge
sql/ha_ndbcluster.cc:
Auto merged
storage/ndb/src/ndbapi/NdbDictionaryImpl.cpp:
Auto merged
storage/ndb/src/ndbapi/NdbDictionaryImpl.hpp:
Auto merged
storage/ndb/tools/restore/restore_main.cpp:
Auto merged