into perch.ndb.mysql.com:/home/jonas/src/mysql-5.0-ndb
ndb/src/kernel/blocks/dbdih/Dbdih.hpp:
Auto merged
ndb/src/kernel/blocks/dbdih/DbdihInit.cpp:
Auto merged
ndb/src/kernel/blocks/dbdih/DbdihMain.cpp:
Auto merged
ndb/src/kernel/blocks/dblqh/DblqhMain.cpp:
Auto merged
ndb/test/ndbapi/testNodeRestart.cpp:
Auto merged
fix for killed node during initial node restart
ndb/src/kernel/blocks/dbdih/Dbdih.hpp:
add flag for initial node restart, to keep track on when to concider it to be "done"
ndb/src/kernel/blocks/dbdih/DbdihInit.cpp:
add flag for initial node restart, to keep track on when to concider it to be "done"
ndb/src/kernel/blocks/dbdih/DbdihMain.cpp:
add flag for initial node restart, to keep track on when to concider it to be "done"
ndb/src/kernel/blocks/dblqh/DblqhMain.cpp:
Check cstartRecReq also when refusing GCP_SAVEREQ
ndb/test/ndbapi/testNodeRestart.cpp:
add testcase
into rakia.gmz:/home/kgeorge/mysql/autopush/B25831-5.0-opt
sql/item.h:
Auto merged
sql/sql_base.cc:
Auto merged
sql/sql_insert.cc:
Auto merged
sql/sql_prepare.cc:
Auto merged
sql/sql_yacc.yy:
Auto merged
Several problems fixed:
1. There was a "catch-all" context initialization in setup_tables()
that was causing the table that we insert into to be visible in the
SELECT part of an INSERT .. SELECT .. statement with no tables in
its FROM clause. This was making sure all the under-initialized
contexts in various parts of the code are not left uninitialized.
Fixed by removing the "catch-all" statement and initializing the
context in the parser.
2. Incomplete name resolution context when resolving the right-hand
values in the ON DUPLICATE KEY UPDATE ... part of an INSERT ... SELECT ...
caused columns from NATURAL JOIN/JOIN USING table references in the
FROM clause of the select to be unavailable.
Fixed by establishing a proper name resolution context.
3. When setting up the special name resolution context for problem 2
there was no check for cases where an aggregate function without a
GROUP BY effectively takes the column from the SELECT part of an
INSERT ... SELECT unavailable for ON DUPLICATE KEY UPDATE.
Fixed by checking for that condition when setting up the name
resolution context.
mysql-test/r/insert_update.result:
Bug #25831: Deficiencies in INSERT ... SELECT ... field name resolving.
- test case
mysql-test/t/insert_update.test:
Bug #25831: Deficiencies in INSERT ... SELECT ... field name resolving.
- test case
sql/item.h:
Bug #25831: Deficiencies in INSERT ... SELECT ... field name resolving.
- save_next_local is not referenced any more outside class methods
sql/sql_base.cc:
Bug #25831: Deficiencies in INSERT ... SELECT ... field name resolving.
- removed a "catch-all" code to cater for correct context initialization
sql/sql_help.cc:
Bug #25831: Deficiencies in INSERT ... SELECT ... field name resolving.
- fixed the name resolution context initialization
sql/sql_insert.cc:
Bug #25831: Deficiencies in INSERT ... SELECT ... field name resolving.
- Fixed the context of resolving the values in INSERT SELECT ON UPDATE
sql/sql_prepare.cc:
Bug #25831: Deficiencies in INSERT ... SELECT ... field name resolving.
- Correct context for name resolution of prepared INSERT .. SELECT
sql/sql_union.cc:
Bug #25831: Deficiencies in INSERT ... SELECT ... field name resolving.
- fixed the name resolution context initialization
sql/sql_yacc.yy:
Bug #25831: Deficiencies in INSERT ... SELECT ... field name resolving.
- Set the context here instead of setup_tables()
into perch.ndb.mysql.com:/home/jonas/src/mysql-5.0-ndb
ndb/test/include/NdbRestarter.hpp:
Auto merged
ndb/test/ndbapi/testNodeRestart.cpp:
Auto merged
ndb/test/run-test/daily-basic-tests.txt:
Auto merged
ndb/test/src/NdbRestarter.cpp:
Auto merged
ndb/src/kernel/blocks/dbdih/DbdihMain.cpp:
merge
master failure during master take over
ndb/src/kernel/blocks/ERROR_codes.txt:
new error code
ndb/src/kernel/blocks/dbdih/DbdihMain.cpp:
Make sure to clear NF_XX_LCP if master fails during master take-over
ndb/test/include/NdbRestarter.hpp:
Add support for querying next master and node group
(for multi node failure testing)
ndb/test/ndbapi/testNodeRestart.cpp:
testcase
ndb/test/run-test/daily-basic-tests.txt:
testcase
ndb/test/src/NdbRestarter.cpp:
Add support for querying next master and node group
(for multi node failure testing)
UPDATE contains wrong data if the SELECT employs a temporary table.
If the UPDATE values of the INSERT .. SELECT .. ON DUPLICATE KEY UPDATE
statement contains fields from the SELECT part and the select employs a
temporary table then those fields will contain wrong values because they
aren't corrected to get data from the temporary table.
The solution is to add these fields to the selects all_fields list,
to store pointers to those fields in the selects ref_pointer_array and
to access them via Item_ref objects.
The substitution for Item_ref objects is done in the new function called
Item_field::update_value_transformer(). It is called through the
item->transform() mechanism at the end of the select_insert::prepare()
function.
sql/item.cc:
Bug#16630: The update fields of the INSERT .. SELECT .. ON DUPLICATE KEY
UPDATE contains wrong data if the SELECT employs a temporary table.
The new method Item_field::update_value_transformer() is added. It
substitutes fields in the update values list for references
(Item_ref objects) to them.
sql/item.h:
Bug#16630: The update fields of the INSERT .. SELECT .. ON DUPLICATE KEY
UPDATE contains wrong data if the SELECT employs a temporary table.
The update_value_transformer() method is added to the Item and to the
Item_field classes.
sql/sql_insert.cc:
Bug#16630: The update fields of the INSERT .. SELECT .. ON DUPLICATE KEY
UPDATE contains wrong data if the SELECT employs a temporary table.
Traverse update values and substitute fields from the select for
references (Item_ref objects) to them.
sql/sql_select.cc:
Bug#16630: The update fields of the INSERT .. SELECT .. ON DUPLICATE KEY
UPDATE contains wrong data if the SELECT employs a temporary table.
Traverse update values and substitute fields from the select for
references (Item_ref objects) to them.
mysql-test/r/insert_select.result:
Added a test case for bug#16630: The update fields of the INSERT .. SELECT ..
ON DUPLICATE KEY UPDATE contains wrong data if the SELECT employs a
temporary table.
mysql-test/t/insert_select.test:
Added a test case for bug#16630: The update fields of the INSERT .. SELECT ..
ON DUPLICATE KEY UPDATE contains wrong data if the SELECT employs a
temporary table.
were evaluated.
According to the new rules for string comparison partial indexes on text
columns can be used in the same cases when partial indexes on varchar
columns can be used.
mysql-test/r/endspace.result:
Adjusted results after the fix for bug #25971.
mysql-test/r/innodb.result:
Adjusted results after the fix for bug #25971.
mysql-test/r/myisam.result:
Adjusted results after the fix for bug #25971.
mysql-test/r/select.result:
Added a test case for bug #25971.
mysql-test/r/type_blob.result:
Adjusted results after the fix for bug #25971.
mysql-test/t/select.test:
Added a test case for bug #25971.
index_read(), whereas it must return HA_ERR_END_OF_FILE
instead (as there are by definition no rows in a table of
that engine.
mysql-test/r/blackhole.result:
Bug#19717: test case
mysql-test/t/blackhole.test:
Bug#19717: test case
sql/ha_blackhole.cc:
Bug#19717: return no rows instead of success.
into chilla.local:/home/mydev/mysql-5.0-axmrg
sql/item.cc:
Auto merged
sql/item_cmpfunc.cc:
Auto merged
sql/item_cmpfunc.h:
Auto merged
sql/sql_select.cc:
Auto merged
into willster.(none):/home/stewart/Documents/MySQL/5.0/ndb-merge
ndb/src/kernel/blocks/dbdih/DbdihMain.cpp:
Auto merged
ndb/src/kernel/blocks/cmvmi/Cmvmi.cpp:
SCCS merged
remove SET_VAR_REQ,REF,CONF - unused, #if 0 and confusing
Remove the dead SET_VAR_REQ,REF,CONF signals.
They:
a) don't currently work
b) will cause confusion with future mgmd updates for
signal interface to configuration things (e.g. port numbers)
ndb/include/kernel/GlobalSignalNumbers.h:
remove SET_VAR_REQ,REF,CONF - unused, #if 0 and confusing
Remove the dead SET_VAR_REQ,REF,CONF signals.
They:
a) don't currently work
b) will cause confusion with future mgmd updates for
signal interface to configuration things (e.g. port numbers)
ndb/src/common/debugger/signaldata/SignalNames.cpp:
remove SET_VAR_REQ,REF,CONF - unused, #if 0 and confusing
Remove the dead SET_VAR_REQ,REF,CONF signals.
They:
a) don't currently work
b) will cause confusion with future mgmd updates for
signal interface to configuration things (e.g. port numbers)
ndb/src/kernel/blocks/cmvmi/Cmvmi.cpp:
remove SET_VAR_REQ,REF,CONF - unused, #if 0 and confusing
Remove the dead SET_VAR_REQ,REF,CONF signals.
They:
a) don't currently work
b) will cause confusion with future mgmd updates for
signal interface to configuration things (e.g. port numbers)
ndb/src/kernel/blocks/cmvmi/Cmvmi.hpp:
remove SET_VAR_REQ,REF,CONF - unused, #if 0 and confusing
Remove the dead SET_VAR_REQ,REF,CONF signals.
They:
a) don't currently work
b) will cause confusion with future mgmd updates for
signal interface to configuration things (e.g. port numbers)
ndb/src/kernel/blocks/dbacc/Dbacc.hpp:
remove SET_VAR_REQ,REF,CONF - unused, #if 0 and confusing
Remove the dead SET_VAR_REQ,REF,CONF signals.
They:
a) don't currently work
b) will cause confusion with future mgmd updates for
signal interface to configuration things (e.g. port numbers)
ndb/src/kernel/blocks/dbacc/DbaccInit.cpp:
remove SET_VAR_REQ,REF,CONF - unused, #if 0 and confusing
Remove the dead SET_VAR_REQ,REF,CONF signals.
They:
a) don't currently work
b) will cause confusion with future mgmd updates for
signal interface to configuration things (e.g. port numbers)
ndb/src/kernel/blocks/dbacc/DbaccMain.cpp:
remove SET_VAR_REQ,REF,CONF - unused, #if 0 and confusing
Remove the dead SET_VAR_REQ,REF,CONF signals.
They:
a) don't currently work
b) will cause confusion with future mgmd updates for
signal interface to configuration things (e.g. port numbers)
ndb/src/kernel/blocks/dbdih/Dbdih.hpp:
remove SET_VAR_REQ,REF,CONF - unused, #if 0 and confusing
Remove the dead SET_VAR_REQ,REF,CONF signals.
They:
a) don't currently work
b) will cause confusion with future mgmd updates for
signal interface to configuration things (e.g. port numbers)
ndb/src/kernel/blocks/dbdih/DbdihInit.cpp:
remove SET_VAR_REQ,REF,CONF - unused, #if 0 and confusing
Remove the dead SET_VAR_REQ,REF,CONF signals.
They:
a) don't currently work
b) will cause confusion with future mgmd updates for
signal interface to configuration things (e.g. port numbers)
ndb/src/kernel/blocks/dbdih/DbdihMain.cpp:
remove SET_VAR_REQ,REF,CONF - unused, #if 0 and confusing
Remove the dead SET_VAR_REQ,REF,CONF signals.
They:
a) don't currently work
b) will cause confusion with future mgmd updates for
signal interface to configuration things (e.g. port numbers)
ndb/src/kernel/blocks/dblqh/Dblqh.hpp:
remove SET_VAR_REQ,REF,CONF - unused, #if 0 and confusing
Remove the dead SET_VAR_REQ,REF,CONF signals.
They:
a) don't currently work
b) will cause confusion with future mgmd updates for
signal interface to configuration things (e.g. port numbers)
ndb/src/kernel/blocks/dblqh/DblqhInit.cpp:
remove SET_VAR_REQ,REF,CONF - unused, #if 0 and confusing
Remove the dead SET_VAR_REQ,REF,CONF signals.
They:
a) don't currently work
b) will cause confusion with future mgmd updates for
signal interface to configuration things (e.g. port numbers)
ndb/src/kernel/blocks/dblqh/DblqhMain.cpp:
remove SET_VAR_REQ,REF,CONF - unused, #if 0 and confusing
Remove the dead SET_VAR_REQ,REF,CONF signals.
They:
a) don't currently work
b) will cause confusion with future mgmd updates for
signal interface to configuration things (e.g. port numbers)
ndb/src/kernel/blocks/dbtc/Dbtc.hpp:
remove SET_VAR_REQ,REF,CONF - unused, #if 0 and confusing
Remove the dead SET_VAR_REQ,REF,CONF signals.
They:
a) don't currently work
b) will cause confusion with future mgmd updates for
signal interface to configuration things (e.g. port numbers)
ndb/src/kernel/blocks/dbtc/DbtcInit.cpp:
remove SET_VAR_REQ,REF,CONF - unused, #if 0 and confusing
Remove the dead SET_VAR_REQ,REF,CONF signals.
They:
a) don't currently work
b) will cause confusion with future mgmd updates for
signal interface to configuration things (e.g. port numbers)
ndb/src/kernel/blocks/dbtc/DbtcMain.cpp:
remove SET_VAR_REQ,REF,CONF - unused, #if 0 and confusing
Remove the dead SET_VAR_REQ,REF,CONF signals.
They:
a) don't currently work
b) will cause confusion with future mgmd updates for
signal interface to configuration things (e.g. port numbers)
ndb/src/kernel/blocks/dbtup/Dbtup.hpp:
remove SET_VAR_REQ,REF,CONF - unused, #if 0 and confusing
Remove the dead SET_VAR_REQ,REF,CONF signals.
They:
a) don't currently work
b) will cause confusion with future mgmd updates for
signal interface to configuration things (e.g. port numbers)
ndb/src/kernel/blocks/dbtup/DbtupGen.cpp:
remove SET_VAR_REQ,REF,CONF - unused, #if 0 and confusing
Remove the dead SET_VAR_REQ,REF,CONF signals.
They:
a) don't currently work
b) will cause confusion with future mgmd updates for
signal interface to configuration things (e.g. port numbers)
ndb/src/kernel/blocks/ndbcntr/Ndbcntr.hpp:
remove SET_VAR_REQ,REF,CONF - unused, #if 0 and confusing
Remove the dead SET_VAR_REQ,REF,CONF signals.
They:
a) don't currently work
b) will cause confusion with future mgmd updates for
signal interface to configuration things (e.g. port numbers)
ndb/src/kernel/blocks/ndbcntr/NdbcntrInit.cpp:
remove SET_VAR_REQ,REF,CONF - unused, #if 0 and confusing
Remove the dead SET_VAR_REQ,REF,CONF signals.
They:
a) don't currently work
b) will cause confusion with future mgmd updates for
signal interface to configuration things (e.g. port numbers)
ndb/src/kernel/blocks/ndbcntr/NdbcntrMain.cpp:
remove SET_VAR_REQ,REF,CONF - unused, #if 0 and confusing
Remove the dead SET_VAR_REQ,REF,CONF signals.
They:
a) don't currently work
b) will cause confusion with future mgmd updates for
signal interface to configuration things (e.g. port numbers)
ndb/src/kernel/blocks/qmgr/Qmgr.hpp:
remove SET_VAR_REQ,REF,CONF - unused, #if 0 and confusing
Remove the dead SET_VAR_REQ,REF,CONF signals.
They:
a) don't currently work
b) will cause confusion with future mgmd updates for
signal interface to configuration things (e.g. port numbers)
ndb/src/kernel/blocks/qmgr/QmgrInit.cpp:
remove SET_VAR_REQ,REF,CONF - unused, #if 0 and confusing
Remove the dead SET_VAR_REQ,REF,CONF signals.
They:
a) don't currently work
b) will cause confusion with future mgmd updates for
signal interface to configuration things (e.g. port numbers)
ndb/src/kernel/blocks/qmgr/QmgrMain.cpp:
remove SET_VAR_REQ,REF,CONF - unused, #if 0 and confusing
Remove the dead SET_VAR_REQ,REF,CONF signals.
They:
a) don't currently work
b) will cause confusion with future mgmd updates for
signal interface to configuration things (e.g. port numbers)
ndb/src/mgmsrv/MgmtSrvr.hpp:
remove SET_VAR_REQ,REF,CONF - unused, #if 0 and confusing
Remove the dead SET_VAR_REQ,REF,CONF signals.
They:
a) don't currently work
b) will cause confusion with future mgmd updates for
signal interface to configuration things (e.g. port numbers)
remove GSN_STATISTICS_REQ and CONF
These are unused and have been since BK import. not needed.
ndb/include/kernel/GlobalSignalNumbers.h:
remove STATISTICS_REQ and CONF
ndb/src/common/debugger/signaldata/SignalNames.cpp:
remove signal names for STATISTICS_REQ and CONF (unused)
ndb/src/kernel/blocks/cmvmi/Cmvmi.cpp:
remove unused STATISTICS signals
ndb/src/kernel/blocks/cmvmi/Cmvmi.hpp:
remove unused STATISTICS signals
Don't send uninit data in TAMPER_ORD to DIHNDBTAMPER
Even though this data is unused from the CMVMI (mgmd) signal,
we shouldn't be doing stuff with uninited data.
ndb/src/kernel/blocks/cmvmi/Cmvmi.cpp:
init the 3rd word of DIHNDBTAMPER before sending to DIH.
ndb/include/mgmapi/mgmapi.h:
use constant for max log level in ndb_mgmd.
(more useful in 5.1 due to other defines and refinements of mgmapi)
ndb/src/mgmsrv/Services.cpp:
fix the XXX fixme of constant for max log level
there is backwards compatibility for GET CONFIG style configuration requests in
ndb_mgmd. None of the ndbd versions that use this couldn't possibly connect to a
5.0 or 5.1 cluster. remove the backwards compat
remove it
ndb/src/mgmsrv/Services.cpp:
remove MGM_GET_CONFIG_BACKWARDS_COMPAT code.
any client using GET CONFIG will just not work with modern NDB.
ndb/src/mgmsrv/Services.hpp:
remove GET CONFIG support
indicate units in SocketOutputStream timeout
rename timeout in SocketOutputStream to reflect units (ms)
In 5.0 as well as is safe cleanup patch that will help with merging.
ndb/include/util/OutputStream.hpp:
rename timeout in SocketOutputStream to reflect units (ms)
ndb/src/common/util/OutputStream.cpp:
rename timeout in SocketOutputStream to reflect units (ms)
- signals where sometimes sent too early when setting up subscriptions
ndb/include/kernel/signaldata/DumpStateOrd.hpp:
added dump for active subscriptions in cmvmi
ndb/src/kernel/blocks/cmvmi/Cmvmi.cpp:
added dump for active subscriptions in cmvmi
ndb/src/mgmsrv/MgmtSrvr.cpp:
bug in that signals where sent prior to api reg conf arrived, causing thrown away signals and subsequent hangs in mgmtserver
also add retry if node connected but not yet received api reg conf
ndb/src/ndbapi/ClusterMgr.cpp:
added status variable m_api_reg_conf in cluster manager to correctly be able to determine if a node is sendable
ndb/src/ndbapi/ClusterMgr.hpp:
added status variable m_api_reg_conf in cluster manager to correctly be able to determine if a node is sendable
ndb/src/ndbapi/SignalSender.cpp:
assert to see that node is sendable when signal is sent
ndb/src/ndbapi/SignalSender.hpp:
manke metchd const