(No really critical errors found, but a few possible wrong results)
innobase/dict/dict0dict.c:
Replace memcmp with comparison of characters to avoid warnings from purify when 'sptr' points to a very short string
mysql-test/r/select_found.result:
Add missing drop table
mysql-test/r/type_set.result:
More tests
mysql-test/t/select_found.test:
Add missing drop table
mysql-test/t/type_set.test:
More tests
mysys/my_init.c:
Avoid warning from purify (purify doesn't handle getrusage() properly)
sql/field.h:
enum & set are sorted as numbers. This fixes an access to uninitialized memory when enum/set are multi-byte characters
sql/filesort.cc:
enum & set are sorted as numbers. This fixes an access to uninitialized memory when enum/set are multi-byte characters
sql/item_cmpfunc.cc:
Fixed warning from purify. (Not critical as the arguments are passed to a function but not used)
Allocate Arg_comparator() with 'new' instead of sql_alloc() to ensure proper initialization
sql/mysqld.cc:
Wait for signal handler to stop when running --bootstrap
(Fixes warning from purify)
sql/sql_insert.cc:
Initialize slot used by innodb.cc (not critical)
sql/sql_lex.h:
Better comments
sql/sql_repl.cc:
memcmp -> bcmp() to avoid warning from purify
sql/sql_select.cc:
Fix for out-of-bound memory reference when doing DISTINCT on const expressions
strings/ctype-simple.c:
Fixes to not access uninitialized memory
(Not critical)
my_like_range_simple to produce upper bound constants for LIKE "str_%" and similar expressions.
mysql-test/r/ctype_cp1251.result:
Test for BUG#8560
mysql-test/t/ctype_cp1251.test:
Test for BUG#8560
Check if node == NULL, which means we are outside tablespace bounds, and print a big fatal error message
innobase/fil/fil0fil.c:
Check if node == NULL, which means we are outside tablespace bounds, and print a big fatal error message
Bug#7997 Add implicit --skip-set-charset when mysqldump from 4.0 server w/ 4.1 client
client/mysqldump.c:
Bug#7997 Add implicit --skip-set-charset when mysqldump from 4.0 server w/ 4.1 client
More explicit naming of variables
ndb/include/kernel/signaldata/AlterIndx.hpp:
Add union to indicate where master node is passed in ref
ndb/include/kernel/signaldata/BuildIndx.hpp:
Add union to indicate where master node is passed in ref
ndb/include/kernel/signaldata/CreateIndx.hpp:
Add union to indicate where master node is passed in ref
ndb/include/kernel/signaldata/CreateTrig.hpp:
Add union to indicate where master node is passed in ref
ndb/include/kernel/signaldata/DropIndx.hpp:
Add union to indicate where master node is passed in ref
ndb/src/kernel/blocks/dbdict/Dbdict.cpp:
Set error/master node also on BuildIndxRef
ndb/src/ndbapi/NdbDictionaryImpl.cpp:
Use masterNodeId instead of errornode
into mysql.com:/home/jonas/src/mysql-4.1
ndb/src/ndbapi/NdbDictionaryImpl.cpp:
Auto merged
ndb/src/ndbapi/ndb_cluster_connection.cpp:
Auto merged
sql/ha_ndbcluster.cc:
Auto merged
remove dict forwarding
add api retries on NotMaster
ndb/include/kernel/signaldata/AlterIndx.hpp:
Add NotMaster error code
ndb/include/kernel/signaldata/BuildIndx.hpp:
Add NotMaster error code
ndb/include/kernel/signaldata/CreateIndx.hpp:
Add NotMaster error code
ndb/include/kernel/signaldata/CreateTrig.hpp:
Add NotMaster error code
ndb/include/kernel/signaldata/DropIndx.hpp:
Add NotMaster error code
ndb/src/kernel/blocks/dbdict/Dbdict.cpp:
Never forward requests,
instead REF to API who will retry towards correct node
ndb/src/ndbapi/NdbDictionaryImpl.cpp:
1) Set error code for timeout
2) Handle NotMaster with retry in all DICT requests
ndb/src/ndbapi/ndb_cluster_connection.cpp:
Fix so that input values is in seconds and not 100ms's
sql/ha_ndbcluster.cc:
Wait 3 sec for all nodes to connect...
start_waiting_global_read_lock() should wake up all those who are waiting
for protect_against_global_read_lock to go down to 0: those registered in waiting_for_read_lock
AND those registered in global_read_lock_blocks_commit.
sql/lock.cc:
start_waiting_global_read_lock() should wake up all those who are waiting
for protect_against_global_read_lock to go down to 0: those registered in waiting_for_read_lock
AND those registered in global_read_lock_blocks_commit.
make sure transporter connections are close early in shutdown
ndb/src/common/logger/LogHandler.cpp:
removed printout "- Repeated 1 times"
ndb/src/kernel/main.cpp:
make sure transporter connections are close early in shutdown
ndb/src/kernel/vm/Emulator.cpp:
make sure transporter connections are close early in shutdown
ndb/src/kernel/vm/Emulator.hpp:
make sure transporter connections are close early in shutdown
Fix bug #8677: if one used LOCK TABLES, created an InnoDB temp table, and did a multi-table update where a MyISAM table was the update table and the temp table was a read table, then InnoDB aserted in row0sel.c because n_mysql_tables_in_use was 0. Also, we remove the assertion altogether and just print an error to the .err log if this important consistency check fails. Then it is up to the user to read the .err log and notice the problem if there still are errors in MySQL's table locking.
innobase/row/row0sel.c:
Fix bug #8677: if one used LOCK TABLES, created an InnoDB temp table, and did a multi-table update where a MyISAM table was the update table and the temp table was a read table, then InnoDB aserted in row0sel.c because n_mysql_tables_in_use was 0. Also, we remove the assertion altogether and just print an error to the .err log if this important consistency check fails. Then it is up to the user to read the .err log and notice the problem if there still are errors in MySQL's table locking.
What we need to be able to set in myisamchk is
actually a collation, not a character set. This
fix just changes to display the proper error message.
include/mysys_err.h:
New mysys error message "unknown collation".
mysys/charset.c:
Display more proper error when a collation is not found.
mysys/errors.c:
New "unknown collation" error.
independently from the expression it is initialized from.
In other words, this change treats a user variable like
a table with one column and one record. Discussed with
PeterG, Serg and Lars. This change also simplifies replication
allowing not to replicate variables' coercibility.
mysql-test/r/user_var.result:
Test changes accordintly
mysql-test/t/user_var.test:
Test changes accordintly