- only log statements locally (changes will not be logged on other servers)
mysql-test/r/ndb_binlog_format.result:
New BitKeeper file ``mysql-test/r/ndb_binlog_format.result''
mysql-test/t/ndb_binlog_format.test:
New BitKeeper file ``mysql-test/t/ndb_binlog_format.test''
Thanks to Martin Friebe for finding and submitting a fix for this bug!
A table with maximum number of key segments and maximum length key name
would have a corrupted .frm file, due to an incorrect calculation of the
complete key length. Now the key length is computed correctly (I hope) :-)
MyISAM would reject a table with the maximum number of keys and the maximum
number of key segments in all keys. It would allow one less than this total
maximum. Now MyISAM accepts a table defined with the maximum. (This is a
very minor issue.)
myisam/mi_open.c:
Bug #26642: change >= to > in a comparison (i.e., error
only if key_parts_in_table really is greater than
MAX_KEY * MAX_KEY_SEG)
mysql-test/r/create.result:
Bug #26642: test case
mysql-test/t/create.test:
Bug #26642: test case
sql/table.cc:
Bug #26642: In create_frm(), fix formula for key_length;
it was too small by (keys * 2) bytes
don't free thd->lex->sphead if we didn't do lex_start(),
as we can have garbage there
mysql-test/r/events_bugs.result:
Bug #29156 events crash server in test suite
test result added
mysql-test/t/events_bugs.test:
Bug #29156 events crash server in test suite
testcase
Sometimes special 0 ENUM values was ALTERed to normal
empty string ENUM values.
Special 0 ENUM value has the same string representation
as normal ENUM value defined as '' (empty string).
The do_field_string function was used to convert
ENUM data at an ALTER TABLE request, but this
function doesn't care about numerical "indices" of
ENUM values, i.e. do_field_string doesn't distinguish
a special 0 value from an empty string value.
A new copy function called do_field_enum has been added to
copy special 0 ENUM values without conversion to an empty
string.
sql/field_conv.cc:
Fixed bug #29251.
The Copy_field::get_copy_func method has been modified to
return a pointer to the do_field_enum function if a conversion
between two columns of incompatible enum types is required.
The do_field_enum function has been added for the correct
conversion of special 0 enum values.
mysql-test/t/type_enum.test:
Updated test case for bug #29251.
mysql-test/r/type_enum.result:
Updated test case for bug #29251.
into perch.ndb.mysql.com:/home/jonas/src/mysql-5.1-new-ndb
storage/ndb/src/kernel/blocks/dbdih/Dbdih.hpp:
Auto merged
storage/ndb/src/kernel/blocks/pgman.cpp:
Auto merged
storage/ndb/src/kernel/blocks/ERROR_codes.txt:
merge
storage/ndb/src/kernel/blocks/dbdih/DbdihMain.cpp:
merge
This patch contains enhancements to the rpl_events test to correct
timing issues related to the firing of events and verification of the
results of those events.
mysql-test/include/rpl_events.inc:
BUG#28991 : rpl_events failure in pushbuild
This patch contains refinements to the rpl_events test to remove all
timing issues related to sleep commands. It also refines the test to
include additional documentation.
mysql-test/r/rpl_events.result:
BUG#28991 : rpl_events failure in pushbuild
This patch contains the result file for the refinements to the
rpl_events test.
In the ha_partition::position we don't calculate the number of
the partition of the record. We use m_last_part_value instead relying on
that it is set in other place like previous calls of ::write_row().
In replication we do neither of these calls before ::position().
Delete_row_log_event::do_exec_row calls find_and_fetch_row() where
we used position() & rnd_pos() calls to find the record for the
PARTITION/INNODB table as it posesses InnoDB table flags.
Fixed by removing HA_PRIMARY_KEY_REQUIRED_FOR_POSITION flag from PARTITION
sql/ha_partition.cc:
Bug #28430 Failure in replication of innodb partitioned tables on row/mixed format.
add HA_PRIMARY_KEY_REQUIRED_FOR_POSITION flag added to PRTITION engine
mysql-test/r/rpl_partition.result:
New BitKeeper file ``mysql-test/r/rpl_partition.result''
mysql-test/t/rpl_partition.test:
New BitKeeper file ``mysql-test/t/rpl_partition.test''
a lookup into a BINARY index by a key ended with spaces. It caused
an assertion abort for a debug version and wrong results for non-debug
versions.
The problem occurred because the function _mi_pack_key stripped off
the trailing spaces from binary search keys while the function _mi_make_key
did not do it when keys were inserted into the index.
Now the function _mi_pack_key does not remove the trailing spaces from
search keys if they are of the binary type.
mysql-test/r/binary.result:
Added a test case for bug #29087.
mysql-test/t/binary.test:
Added a test case for bug #29087.
into weblab.(none):/home/marcsql/TREE/mysql-5.1-rt-merge
sql/Makefile.am:
Auto merged
sql/sql_class.h:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_view.cc:
Auto merged
sql/sql_yacc.yy:
Auto merged
MySQL uses _beginthread()/_endthread() instead of
_beginthreadex()/_endthreadex() to create/end its threads
on Windows.
According to MSDN _endthread() does close the thread handle.
So there's no need the handle to be closed explicitly.
Besides : WaitForSingleObject(, INFINITE) != WAIT_OBJECT_0) is
true for all practical cases as the other two possible return
codes (according to MSDN) cannot happen in that case the
CloseHandle() was actually a dead code.
Fixed by removing the CloseHandle() call. No test case added
because it's not possible to test for absence of dead code.
include/my_pthread.h:
Bug #26564: Don't call CloseHandle since we use
beginthread/endthread instead of beginthreadex/endthreadex.
If one sets MYSQL_READ_DEFAULTS_FILE and MYSQL_READ_DEFAULT_GROUP options
after mysql_real_connect() called with that MYSQL instance,
these options will affect next mysql_reconnect then.
As we use a copy of the original MYSQL object inside mysql_reconnect,
and mysql_real_connect frees options.my_cnf_file and _group strings,
we will free these twice when we execute mysql_reconnect with the
same MYSQL for the second time.
I don't think we should ever read defaults files handling mysql_reconnect.
So i just set them to 0 for the temporary MYSQL object there/
sql-common/client.c:
Bug #29247 Double free in libmysqlclient_r when mysql restarted.
we don't need mysql_real_connect to reread defaults file in this
case, so set related parameters to zero
into mysql.com:/home/hf/work/27084/my51-27084
sql/item_cmpfunc.cc:
Auto merged
sql/item_cmpfunc.h:
Auto merged
sql/sql_partition.h:
Auto merged
sql/table.cc:
Auto merged
mysql-test/r/partition.result:
merging
mysql-test/t/partition.test:
merging
sql/sql_partition.cc:
SCCS merged
when index_init() or rnd_init() return an error, we still set
handler->inited to INDEX or RND in ha_index_init and ha_rnd_init.
As caller doesn't call ha_*_end() in this case, we get DBUG_ASSERT
failed.
sql/handler.h:
Bug #29252 Assertion 'table->file || table->file->inited == handler::NONE' failed.
make sure that 'inited' is handler::NONE if index_init() or rnd_init()
returned an error
LOCK TABLES takes a list of tables to lock. It may lock several
tables successfully and then encounter a tables that it can't lock,
e.g. because it's locked. In such case it needs to undo the locks on
the already locked tables. And it does that. But it has also notified
the relevant table storage engine handlers that they should lock.
The only reliable way to ensure that the table handlers will give up
their locks is to end the transaction. This is what UNLOCK TABLE
does : it ends the transaction if there were locked tables by LOCK
tables.
It is possible to end the transaction when the lock fails in
LOCK TABLES because LOCK TABLES ends the transaction at its start
already.
Fixed by ending (again) the transaction when LOCK TABLES fails to
lock a table.
mysql-test/r/innodb_mysql.result:
Bug #29154: test case
mysql-test/t/innodb_mysql.test:
Bug #29154: test case
sql/sql_parse.cc:
Bug #29154: end the trasaction at a failing
LOCK TABLES so the handler can free its locks.
into perch.ndb.mysql.com:/home/jonas/src/mysql-5.1-new-ndb
storage/ndb/src/kernel/blocks/dblqh/Dblqh.hpp:
Auto merged
storage/ndb/src/kernel/blocks/dblqh/DblqhMain.cpp:
Auto merged
into perch.ndb.mysql.com:/home/jonas/src/51-telco-gca
storage/ndb/src/kernel/blocks/dblqh/Dblqh.hpp:
Auto merged
storage/ndb/src/kernel/blocks/dblqh/DblqhMain.cpp:
merge
Fix 3 problems in REDO validation that could(will) lead to "Error while reading REDO log"
ndb/src/kernel/blocks/dblqh/Dblqh.hpp:
add new state
ndb/src/kernel/blocks/dblqh/DblqhMain.cpp:
fix bugs + add debugging