Make sure head after undo execute does not point to last page of file
As this will confuse next write to group
storage/ndb/src/kernel/blocks/lgman.cpp:
Make sure head after undo execute does not point to last page of file
As this will confuse next write to group
The previous two patches for this bug worked together so that
no permanent table was memory mapped. The first patch tried to
avoid mapping while a table is in use. It allowed mapping only
if there was exactly one lock on the table, assuming that the
calling thread owned it. During mi_open(), a different call to
memory mapping was coded, which did not have this limitation.
The second patch tried to remove the code duplication and just
called mi_extra() from mi_open() an thus inherited the limitation.
But on open, a thread does not have a lock on the table...
A possible solution would be to check for zero or one lock.
But since I learned that it is safe to memory map a file while
normal file I/O is done on it, I removed the restriction altogether
and allow to memory map while a table is in use.
No test case. I do not see a chance to verify with the test suite
which kind of I/O is used on a table.
storage/myisam/mi_extra.c:
Bug#25460 - High concurrency MyISAM access causes severe mysqld crash.
Allow to memory map while table is in use.
into mysql.com:/home/svoj/devel/mysql/BUG26881/mysql-5.1-engines
mysql-test/r/merge.result:
Auto merged
mysql-test/t/merge.test:
Auto merged
sql/sql_parse.cc:
Auto merged
storage/myisam/ha_myisam.cc:
Auto merged
storage/myisam/mi_create.c:
Auto merged
into perch.ndb.mysql.com:/home/jonas/src/mysql-5.1-new-ndb
storage/ndb/src/kernel/blocks/ERROR_codes.txt:
Auto merged
storage/ndb/src/kernel/blocks/dblqh/DblqhMain.cpp:
Auto merged
storage/ndb/src/kernel/blocks/dbtup/DbtupExecQuery.cpp:
Auto merged
storage/ndb/src/kernel/blocks/dbtup/DbtupGen.cpp:
Auto merged
storage/ndb/src/kernel/blocks/ndbcntr/NdbcntrMain.cpp:
Auto merged
storage/ndb/src/kernel/blocks/restore.cpp:
Auto merged
storage/ndb/test/ndbapi/testNodeRestart.cpp:
merge
storage/ndb/test/run-test/daily-basic-tests.txt:
merge
merge to 5.1, adopt testprg to optimized node recovery
storage/ndb/include/kernel/signaldata/LqhKey.hpp:
Add Restore as friend
storage/ndb/src/kernel/blocks/restore.cpp:
Give proper error message on LQHKEYREF
storage/ndb/test/ndbapi/testNodeRestart.cpp:
post merge fix, adopt to optimized node recovery...
into perch.ndb.mysql.com:/home/jonas/src/51-telco-gca
storage/ndb/src/kernel/blocks/dblqh/DblqhMain.cpp:
Auto merged
storage/ndb/src/kernel/blocks/ndbcntr/NdbcntrMain.cpp:
Auto merged
storage/ndb/test/run-test/daily-basic-tests.txt:
Auto merged
storage/ndb/src/kernel/blocks/ERROR_codes.txt:
merge
storage/ndb/src/kernel/blocks/dbtup/DbtupExecQuery.cpp:
merge
storage/ndb/src/kernel/blocks/dbtup/DbtupGen.cpp:
merge
storage/ndb/test/ndbapi/testNodeRestart.cpp:
merge
into dev3-240.dev.cn.tlan:/home/justin.he/mysql/mysql-5.1/mysql-5.1-new-ndb-bj.test
sql/ha_ndbcluster.cc:
Auto merged
storage/ndb/src/kernel/blocks/dbdict/Dbdict.cpp:
Auto merged
storage/ndb/src/kernel/blocks/dbtup/Dbtup.hpp:
Auto merged
storage/ndb/src/kernel/blocks/dbtup/DbtupAbort.cpp:
Auto merged
storage/ndb/src/kernel/blocks/dbtup/DbtupCommit.cpp:
Auto merged
storage/ndb/src/kernel/blocks/dbtup/DbtupDiskAlloc.cpp:
Auto merged
storage/ndb/src/kernel/blocks/dbtup/DbtupFixAlloc.cpp:
Auto merged
storage/ndb/src/kernel/blocks/dbtup/DbtupGen.cpp:
Auto merged
storage/ndb/src/kernel/blocks/dbtup/DbtupIndex.cpp:
Auto merged
storage/ndb/src/kernel/blocks/dbtup/DbtupMeta.cpp:
Auto merged
storage/ndb/src/kernel/blocks/dbtup/DbtupRoutines.cpp:
Auto merged
storage/ndb/src/kernel/blocks/dbtup/DbtupScan.cpp:
Auto merged
storage/ndb/src/kernel/blocks/dbtup/DbtupVarAlloc.cpp:
Auto merged
storage/ndb/src/kernel/vm/Pool.hpp:
Auto merged
storage/ndb/src/mgmclient/CommandInterpreter.cpp:
Auto merged
storage/ndb/src/mgmsrv/ConfigInfo.cpp:
Auto merged
storage/ndb/tools/restore/consumer_restore.cpp:
Auto merged
into magare.gmz:/home/kgeorge/mysql/autopush/WL3527-5.1-opt
BitKeeper/deleted/.del-sql_parse.cc.rej:
Auto merged
BitKeeper/deleted/.del-table.cc.rej:
Auto merged
mysql-test/r/endspace.result:
Auto merged
mysql-test/t/group_by.test:
Auto merged
sql/item.cc:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/opt_range.cc:
Auto merged
sql/sql_class.h:
Auto merged
sql/sql_delete.cc:
Auto merged
sql/sql_help.cc:
Auto merged
sql/sql_lex.cc:
Auto merged
sql/sql_lex.h:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_show.cc:
Auto merged
sql/sql_update.cc:
Auto merged
sql/sql_yacc.yy:
Auto merged
sql/table.cc:
Auto merged
storage/myisam/ha_myisam.cc:
Auto merged
BitKeeper/deleted/.del-mysqld.cc.rej~35c1c438e11ebd89:
Auto merged
mysql-test/r/group_by.result:
manual merge to 5.1-opt
sql/mysqld.cc:
manual merge to 5.1-opt
sql/sql_base.cc:
manual merge to 5.1-opt
sql/sql_select.cc:
manual merge to 5.1-opt
sql/table.h:
manual merge to 5.1-opt
into poseidon.mysql.com:/home/tomas/mysql-5.1
sql/ha_ndbcluster.cc:
Auto merged
storage/ndb/src/ndbapi/NdbDictionaryImpl.cpp:
Auto merged
storage/ndb/src/ndbapi/ndberror.c:
Auto merged
Bug #26997 mysqld segfault when in single user mode
sql/ha_ndbcluster.cc:
make sure error is always set even if no proper error code from ndb
storage/ndb/src/ndbapi/NdbDictionaryImpl.cpp:
add error code for failing send signal (typically single user mode)
storage/ndb/src/ndbapi/ndberror.c:
added error code for failing send signal and timeout waiting for node failure
into poseidon.mysql.com:/home/tomas/mysql-5.1
storage/ndb/src/kernel/blocks/dbdict/Dbdict.cpp:
Auto merged
storage/ndb/src/kernel/blocks/dbdict/Dbdict.hpp:
Auto merged
storage/ndb/src/ndbapi/NdbRecAttr.cpp:
Auto merged
into perch.ndb.mysql.com:/home/jonas/src/tmp/mysql-5.1-telco-gca
storage/ndb/tools/waiter.cpp:
Auto merged
storage/ndb/src/kernel/blocks/dbdict/Dbdict.cpp:
merge
storage/ndb/src/kernel/blocks/dbdict/Dbdict.hpp:
merge
storage/ndb/src/kernel/vm/Pool.hpp:
Only when m_pool.seize() return true, the ptr.i and ptr.p is assigned the ri
ght value, or else the parameter ptr should be "not touched"
This just reverses those changes. I'm really sorry about that.
configure.in, version.c:
Reverse last push (from mysql-5.2 into mysql-5.1)
configure.in:
Reverse last push (from mysql-5.2 into mysql-5.1)
storage/ndb/src/common/util/version.c:
Reverse last push (from mysql-5.2 into mysql-5.1)
into chilla.local:/home/mydev/mysql-5.1-bug25673
mysql-test/r/gis-rtree.result:
Auto merged
mysql-test/t/gis-rtree.test:
Auto merged
storage/myisam/rt_index.c:
Auto merged
storage/myisam/rt_key.c:
Auto merged
storage/myisam/rt_split.c:
Auto merged
ndbd nodes are crashed
storage/ndb/src/kernel/vm/Pool.hpp:
Only when m_pool.seize() return true, the ptr.i and ptr.p is assigned the right value,
or else the parameter ptr should be "not touched".
into mysql.com:/data0/mysqldev/users/tomas/mysql-5.1-new-maint
client/sql_string.h:
Auto merged
storage/myisam/mi_open.c:
Auto merged
storage/ndb/src/common/debugger/EventLogger.cpp:
Auto merged
storage/ndb/src/kernel/blocks/dblqh/DblqhMain.cpp:
Auto merged
storage/ndb/test/ndbapi/testNodeRestart.cpp:
Auto merged
into quadxeon.mysql.com:/benchmarks/ext3/TOSAVE/tsmith/bk/maint/mrg0306/51
client/mysqltest.c:
Auto merged
include/my_pthread.h:
Auto merged
mysql-test/mysql-test-run.pl:
Auto merged
mysql-test/r/sp.result:
Auto merged
mysql-test/t/disabled.def:
Auto merged
mysql-test/t/sp.test:
Auto merged
mysys/my_wincond.c:
Auto merged
sql/event_queue.cc:
Auto merged
sql/field.cc:
Auto merged
sql/item_cmpfunc.cc:
Auto merged
sql/item_cmpfunc.h:
Auto merged
sql/log.cc:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/mysqld.cc:
Auto merged
sql/set_var.cc:
Auto merged
sql/sql_class.cc:
Auto merged
sql/sql_class.h:
Auto merged
sql/sql_load.cc:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_trigger.cc:
Auto merged
client/mysql_upgrade.c:
Manual merge; I chose to keep Magnus' changes because they make the code
more simple; always use *only* the option file created by mysql_upgrade.
mysql-test/extra/binlog_tests/ctype_cp932.test:
Manual merge
mysql-test/r/binlog_row_ctype_cp932.result:
Manual merge
mysql-test/r/binlog_stm_ctype_cp932.result:
Manual merge
mysql-test/r/mysqlbinlog.result:
Manual merge
mysql-test/r/rpl_switch_stm_row_mixed.result:
Manual merge
mysql-test/t/mysqlbinlog.test:
Manual merge
mysql-test/t/rpl_switch_stm_row_mixed.test:
Manual merge
Add innodb_stats_on_metadata option, which enables gathering
index statistics when processing metadata commands such as
SHOW TABLE STATUS. Default behavior of the server does not
change (this option is enabled by default).
sql/mysqld.cc:
Add innodb_stats_on_metadata option, which enables gathering
index statistics when processing metadata commands such as
SHOW TABLE STATUS. Default behavior of the server does not
change (this option is enabled by default).
sql/set_var.cc:
Add innodb_stats_on_metadata option, which enables gathering
index statistics when processing metadata commands such as
SHOW TABLE STATUS. Default behavior of the server does not
change (this option is enabled by default).
storage/innobase/handler/ha_innodb.cc:
Add innodb_stats_on_metadata option, which enables gathering
index statistics when processing metadata commands such as
SHOW TABLE STATUS. Default behavior of the server does not
change (this option is enabled by default).
storage/innobase/handler/ha_innodb.h:
Add innodb_stats_on_metadata option, which enables gathering
index statistics when processing metadata commands such as
SHOW TABLE STATUS. Default behavior of the server does not
change (this option is enabled by default).
storage/innobase/include/srv0srv.h:
Add innodb_stats_on_metadata option, which enables gathering
index statistics when processing metadata commands such as
SHOW TABLE STATUS. Default behavior of the server does not
change (this option is enabled by default).
storage/innobase/srv/srv0srv.c:
Add innodb_stats_on_metadata option, which enables gathering
index statistics when processing metadata commands such as
SHOW TABLE STATUS. Default behavior of the server does not
change (this option is enabled by default).
into poseidon.mysql.com:/home/tomas/mysql-5.1-new-ndb
client/sql_string.h:
Auto merged
sql/ha_ndbcluster.cc:
Auto merged
storage/myisam/mi_open.c:
Auto merged
storage/ndb/src/common/debugger/EventLogger.cpp:
Auto merged
storage/ndb/src/kernel/blocks/cmvmi/Cmvmi.cpp:
Auto merged
storage/ndb/src/kernel/blocks/dbdict/Dbdict.cpp:
Auto merged
storage/ndb/src/kernel/blocks/dbdih/DbdihMain.cpp:
Auto merged
storage/ndb/src/kernel/blocks/dblqh/DblqhMain.cpp:
Auto merged
storage/ndb/src/mgmsrv/MgmtSrvr.cpp:
Auto merged
storage/ndb/src/ndbapi/ClusterMgr.hpp:
Auto merged
storage/ndb/src/ndbapi/SignalSender.cpp:
Auto merged
storage/ndb/test/ndbapi/testNodeRestart.cpp:
Auto merged
storage/ndb/tools/restore/consumer_restore.cpp:
Auto merged
into janus.mylan:/usr/home/serg/Abk/mysql-5.1
sql/ha_ndbcluster.cc:
Auto merged
sql/ha_partition.cc:
Auto merged
sql/ha_partition.h:
Auto merged
sql/log.cc:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/opt_range.cc:
Auto merged
sql/sql_help.cc:
Auto merged
sql/sql_insert.cc:
Auto merged
sql/sql_select.cc:
Auto merged
storage/blackhole/ha_blackhole.cc:
Auto merged
storage/myisammrg/ha_myisammrg.cc:
Auto merged
can be specified
Currently MySQL allows one to specify what indexes to ignore during
join optimization. The scope of the current USE/FORCE/IGNORE INDEX
statement is only the FROM clause, while all other clauses are not
affected.
However, in certain cases, the optimizer
may incorrectly choose an index for sorting and/or grouping, and
produce an inefficient query plan.
This task provides the means to specify what indexes are
ignored/used for what operation in a more fine-grained manner, thus
making it possible to manually force a better plan. We do this
by extending the current IGNORE/USE/FORCE INDEX syntax to:
IGNORE/USE/FORCE INDEX [FOR {JOIN | ORDER | GROUP BY}]
so that:
- if no FOR is specified, the index hint will apply everywhere.
- if MySQL is started with the compatibility option --old_mode then
an index hint without a FOR clause works as in 5.0 (i.e, the
index will only be ignored for JOINs, but can still be used to
compute ORDER BY).
See the WL#3527 for further details.
BitKeeper/deleted/.del-mysqld.cc.rej:
Rename: sql/mysqld.cc.rej -> BitKeeper/deleted/.del-mysqld.cc.rej
BitKeeper/deleted/.del-sql_parse.cc.rej:
Rename: sql/sql_parse.cc.rej -> BitKeeper/deleted/.del-sql_parse.cc.rej
BitKeeper/deleted/.del-table.cc.rej:
Rename: sql/table.cc.rej -> BitKeeper/deleted/.del-table.cc.rej
mysql-test/r/endspace.result:
WL3527 : fixed undeterministic test
mysql-test/r/group_by.result:
WL#3527: test cases
mysql-test/t/endspace.test:
WL3527 : fixed undeterministic test
mysql-test/t/group_by.test:
WL#3527: test cases
sql/item.cc:
WL#3527: renames
sql/mysql_priv.h:
WL#3527: corrected initialization
sql/mysqld.cc:
WL#3527: added old_mode command line option
sql/opt_range.cc:
WL#3527: renames
sql/sql_base.cc:
WL#3527:
- renames
- correct initialization
- extended the processing of USE/FORCE/IGNORE index
sql/sql_class.h:
WL#3527: added old_mode command line option
sql/sql_delete.cc:
WL#3527: renames
sql/sql_help.cc:
WL#3527: renames
sql/sql_lex.cc:
WL#3527: extended parsing of USE/FORCE/IGNORE index
sql/sql_lex.h:
WL#3527: extended parsing of USE/FORCE/IGNORE index
sql/sql_parse.cc:
WL#3527: extended parsing of USE/FORCE/IGNORE index
sql/sql_select.cc:
WL#3527:
- renames
- passing additional info to support the extended
USE/FORCE/IGNORE INDEX syntax
- If there is a covering index, and we have
IGNORE INDEX FOR GROUP/ORDER, and this index is
used for the JOIN part, then we have to ignore the
IGNORE INDEX FOR GROUP/ORDER.
sql/sql_show.cc:
WL#3527: passing additional info to support the extended
USE/FORCE/IGNORE INDEX syntax
sql/sql_update.cc:
WL#3527: renames
sql/sql_yacc.yy:
WL#3527: extended parsing of USE/FORCE/IGNORE index
sql/table.cc:
WL#3527: extended the processing of USE/FORCE/IGNORE index
sql/table.h:
WL#3527: extended the processing of USE/FORCE/IGNORE index
storage/myisam/ha_myisam.cc:
WL#3527: extended the processing of USE/FORCE/IGNORE index
storage/ndb/src/kernel/blocks/dbdict/Dbdict.cpp:
Because TableSpaces, Datafiles, Undofiles and LogfileGroups uses the same id-space with Tables,
when they are created, the objId allocated for TableSpaces, Datafiles, Undofiles and LogfileGroups
shouldn't satisfy the rule of (tableId < c_tableRecordPool.getSize()).
storage/ndb/src/kernel/blocks/dbtup/Dbtup.hpp:
redefine jam and jamEntry and change offset ranges of source files
storage/ndb/src/kernel/blocks/dbtup/DbtupAbort.cpp:
redefine jam and jamEntry
storage/ndb/src/kernel/blocks/dbtup/DbtupBuffer.cpp:
redefine jam and jamEntry
storage/ndb/src/kernel/blocks/dbtup/DbtupCommit.cpp:
redefine jam and jamEntry
storage/ndb/src/kernel/blocks/dbtup/DbtupDebug.cpp:
redefine jam and jamEntry
storage/ndb/src/kernel/blocks/dbtup/DbtupDiskAlloc.cpp:
redefine jam and jamEntry
storage/ndb/src/kernel/blocks/dbtup/DbtupFixAlloc.cpp:
redefine jam and jamEntry
storage/ndb/src/kernel/blocks/dbtup/DbtupGen.cpp:
redefine jam and jamEntry
storage/ndb/src/kernel/blocks/dbtup/DbtupIndex.cpp:
redefine jam and jamEntry
storage/ndb/src/kernel/blocks/dbtup/DbtupMeta.cpp:
redefine jam and jamEntry
storage/ndb/src/kernel/blocks/dbtup/DbtupPagMan.cpp:
redefine jam and jamEntry
storage/ndb/src/kernel/blocks/dbtup/DbtupPageMap.cpp:
redefine jam and jamEntry
storage/ndb/src/kernel/blocks/dbtup/DbtupRoutines.cpp:
redefine jam and jamEntry
storage/ndb/src/kernel/blocks/dbtup/DbtupScan.cpp:
redefine jam and jamEntry
storage/ndb/src/kernel/blocks/dbtup/DbtupStoredProcDef.cpp:
redefine jam and jamEntry
storage/ndb/src/kernel/blocks/dbtup/DbtupTabDesMan.cpp:
redefine jam and jamEntry
storage/ndb/src/kernel/blocks/dbtup/DbtupTrigger.cpp:
redefine jam and jamEntry
storage/ndb/src/kernel/blocks/dbtup/DbtupVarAlloc.cpp:
redefine jam and jamEntry
into perch.ndb.mysql.com:/home/jonas/src/mysql-5.1-new-ndb
storage/ndb/src/kernel/blocks/dbdict/Dbdict.cpp:
Auto merged
storage/ndb/src/kernel/blocks/dbdih/DbdihMain.cpp:
Auto merged
storage/ndb/src/ndbapi/NdbRecAttr.cpp:
Auto merged
storage/ndb/src/ndbapi/ndberror.c:
Auto merged
storage/ndb/tools/restore/Restore.cpp:
Auto merged
when merge from 5.0 to 5.1, update a function call in testScanFilter.cpp
beacuase the function's definition is changed from 5.0 to 5.1
storage/ndb/test/ndbapi/testScanFilter.cpp:
bug#24568
it need change f() call because NDBT_CreateTableHook definition is changed from 5.0 to 5.1
into poseidon.mysql.com:/home/tomas/mysql-5.1-telco-gca
storage/ndb/include/kernel/signaldata/AlterTable.hpp:
Auto merged
storage/ndb/include/kernel/signaldata/DropIndx.hpp:
Auto merged
storage/ndb/include/kernel/signaldata/DropTable.hpp:
Auto merged
storage/ndb/src/common/debugger/signaldata/PackedSignal.cpp:
Auto merged
storage/ndb/src/kernel/blocks/dbdict/Dbdict.cpp:
Auto merged
storage/ndb/include/kernel/signaldata/CreateIndx.hpp:
manual merge
storage/ndb/include/kernel/signaldata/CreateTable.hpp:
manual merge
storage/ndb/src/ndbapi/ndberror.c:
manual merge
add a new file in 5.0 and rename it in 5.1 because the directory of ndb is changed from 5.0 to 5.1
storage/ndb/test/ndbapi/testScanFilter.cpp:
Rename: ndb/test/ndbapi/testScanFilter.cpp -> storage/ndb/test/ndbapi/testScanFilter.cpp
into dev3-240.dev.cn.tlan:/home/justin.he/mysql/mysql-5.1/bug24568-5.1-new-ndb-bj
storage/ndb/src/ndbapi/NdbScanFilter.cpp:
Auto merged
storage/ndb/test/include/NDBT_Test.hpp:
Auto merged
storage/ndb/test/ndbapi/Makefile.am:
Auto merged
storage/ndb/test/src/NDBT_Test.cpp:
SCCS merged