mysql-test/valgrind.supp:
silence valgrind warning of memory leak in dlopen
strings/strmake.c:
silence valgrind warning cause by strlen examining unset bytes.
"crash on hpita: Invalid address alignment"
Replace dangerous pointer arithmetic - it may occurr where sizeof(int) is
less than size of machine alignment requirement.
include/mysql/plugin.h:
bug34598
change of update func prototype
sql/sql_plugin.cc:
bug34598
Avoid dangerous pointer arithmetic which can cause unaligned word access.
Change of update function prototype
failing on heavily loaded systems.
mysql-test/t/events_scheduling.test:
Adding waits before statements since the scheduler is unpredictable
on loaded systems and might be delayed.
into stella.local:/home2/mydev/mysql-5.1-axmrg
configure.in:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_plugin.cc:
Auto merged
sql/sql_table.cc:
Auto merged
storage/myisam/ha_myisam.cc:
Auto merged
from storage engine
Federated may crash a server, return wrong result set, return
"ERROR 1030 (HY000): Got error 1430 from storage engine" message
when local (engine=federated) table has a key against nullable
column.
The problem was wrong implementation of function that creates
WHERE clause for remote query from key.
mysql-test/r/federated.result:
A test case for BUG#33946.
mysql-test/t/federated.test:
A test case for BUG#33946.
sql/ha_federated.cc:
Fixed that federated adds " IS NULL " condition to a remote query,
whereas "IS NOT NULL" requested by original query.
Fixed that federated didn't check for end of key buffer, didn't
setup key buffer pointer and remaining lenght of key buffer,
didn't add " AND " between conditions in case original query
has IS [NOT] NULL condition against nullable column.
Fixed that federated wrongly shifts key buffer pointer by extra
one byte when key part may be null (was: store_length + 1,
now: store_length).
mysql-test/suite/rpl/r/rpl_events.result:
Result change.
mysql-test/suite/rpl/t/rpl_events.test:
Replacing table with varying contents with a fresh table to avoid
test problems. The contents of the event is unimportant for this
part of the test.
BUG#24387, which is closed since long.
sql/mysqld.cc:
Moving my_thread_end() to before pthread_cond_broadcast() since
it might cause other threads to start using resources that are
about to be released, or tries to proceed assuming that the
resources have already been released.
mysql-test/r/events_scheduling.result:
Result change.
mysql-test/t/events_scheduling.test:
Removing a test that only confirms that event scheduling is
inexact, hence causing sporadic failures on loaded machines.
irrelevant to execute since the charset information does not
affect replication for row-based replication. The row-based
versions of the tests were removed, and the statement-based
version of the test was made executable by all three modes.
This involves removing any lines that causes the test to be
dependent on the contents of the binary log, and instead we
just check that the replication works as it should.
BitKeeper/deleted/.del-rpl_ndb_charset.test:
Delete: mysql-test/suite/rpl_ndb/t/rpl_ndb_charset.test
BitKeeper/deleted/.del-rpl_ndb_charset.result:
Delete: mysql-test/suite/rpl_ndb/r/rpl_ndb_charset.result
BitKeeper/deleted/.del-rpl_row_charset.test:
Delete: mysql-test/extra/rpl_tests/rpl_row_charset.test
BitKeeper/deleted/.del-rpl_row_charset.test~739be9df1baaee3e:
Delete: mysql-test/suite/rpl/t/rpl_row_charset.test
BitKeeper/deleted/.del-rpl_row_charset_innodb.test:
Delete: mysql-test/suite/rpl/t/rpl_row_charset_innodb.test
BitKeeper/deleted/.del-rpl_row_charset_innodb-master.opt:
Delete: mysql-test/suite/rpl/t/rpl_row_charset_innodb-master.opt
BitKeeper/deleted/.del-rpl_row_charset_innodb-slave.opt:
Delete: mysql-test/suite/rpl/t/rpl_row_charset_innodb-slave.opt
BitKeeper/deleted/.del-rpl_row_charset_innodb.result:
Delete: mysql-test/suite/rpl/r/rpl_row_charset_innodb.result
BitKeeper/deleted/.del-rpl_row_charset.result:
Delete: mysql-test/suite/rpl/r/rpl_row_charset.result
mysql-test/extra/rpl_tests/rpl_charset.test:
Test is not dependent on binlog format any more.
Using --echo instead of "select" to print text.
Removing lines causing the test to be dependent on binlog contents.
mysql-test/suite/rpl/r/rpl_charset.result:
Result change.
mysql-test/suite/rpl/t/rpl_charset.test:
Using renamed version of test file.
into dator6.(none):/home/mikael/mysql_clones/mysql-5.1-engines
sql/sql_partition.cc:
Auto merged
sql/sql_table.cc:
Auto merged
mysql-test/r/partition_range.result:
manual merge
mysql-test/t/partition_range.test:
manual merge
tree with main.
sql/sql_binlog.cc:
Adding code to free memory after execution of BINLOG statement.
It caused a memory leak in the case that the execution failed
for any reason.
sql/sql_class.cc:
Since rli_fake is checked for NULL at various occations to mean
that no rli_fake is assigned, NULL is assigned to rli_fake after
deleting the instance.
empty result when using DESC
Problem: fetching MyISAM keys we copy a key block pointer to the end of the key buffer.
However, we don't take into account the pointer length calculatig the buffer size,
that may leads to memory overwriting and in turn to unpredictable results.
Fix: increase key buffer size by length of the key block pointer.
Note: no simple test case.
myisam/mi_open.c:
Fix for bug #33758: Got query result when using ORDER BY ASC, but
empty result when using DESC
- increase possible maximum key length by size of the key block pointer,
as it's copied into the key buffer in the get_key() MyISAM functions.
into dl145h.mysql.com:/data0/mkindahl/mysql-5.1
mysql-test/mysql-test-run.pl:
Auto merged
sql/rpl_rli.cc:
Auto merged
sql/rpl_rli.h:
Auto merged
sql/slave.cc:
Auto merged
sql/sql_binlog.cc:
Auto merged
(originally from Mats)
sql/rpl_rli.cc:
Adding variable to mark an instance of Relay_log_info as fake.
sql/rpl_rli.h:
Adding variable to mark an instance of Relay_log_info as fake.
sql/slave.cc:
Not printing debug information if we are working with a fake
instance of Relay_log_info. This because the result of calling
update is nonsense, and trying to print it generates valgrind
warnings.
sql/sql_binlog.cc:
Marking newly created instance of Relay_log_info as a fake instance.
because it uses BINLOG statement, which is not supported in embedded mode.
Fix: disable the test in embedded mode.
mysql-test/suite/binlog/t/binlog_base64_flag.test:
Must disable this test when running embedded, since BINLOG statements
don't work. This fixes the pushbuild problem on the debx86-b machine on
https://intranet.mysql.com/secure/pushbuild/showpush.pl?dir=mysql-5.1-new-rpl&order=469
Problem: mysqlbinlog does not free memory if an error happens.
Fix: binlog-processing functions do not call exit() anymore. Instead, they
print an error and return an error code. Error codes are propagated all
the way back to main, and all allocated memory is freed on the way.
client/mysqlbinlog.cc:
- New error handling policy: functions processing binlogs don't just
exit() anymore. Instead, they print a message and return an error
status.
- New policy for the global `mysql' and `glob_description_event': these
are not passed as parameters anymore. The global pointer is used
instead.
- More error situations are detected and reported.
- Better error messages: the program never terminates with exit status 1
without explanation any more. Fixed spelling errors. Use consistent
format of messages (a single line beginning with "ERROR: " or
"WARNING: " and ending with "." is printed to stderr.)
- New memory handling: memory is always freed on program termination.
- Better comments: more functions are explained, doxygen is used, and
more precise formulations in some existing comments.
mysql-test/suite/binlog/r/binlog_base64_flag.result:
Result file updated since output format of mysqlbinlog changed while the
test was disabled.
mysql-test/suite/binlog/t/binlog_killed.test:
Mysqlbinlog now works as described when the binlog is open. Hence, the
--force-if-open flag must be passed
mysql-test/suite/binlog/t/binlog_killed_simulate.test:
Mysqlbinlog now works as described when the binlog is open. Hence, the
--force-if-open flag must be passed
mysql-test/suite/binlog/t/disabled.def:
Now that mysqlbinlog cleans up after itself on abnormal termination, we
can enable this test again.