configure.in:
Fix an omission: Version number for NDB is still kept separate (up to 5.0)
and must be changed in sync with the general version number in AM_INIT_AUTOMAKE.
into trift2.:/MySQL/M51/tmp-5.1
client/mysql_upgrade.c:
Auto merged
mysql-test/t/myisam.test:
Auto merged
mysql-test/t/query_cache_notembedded.test:
Auto merged
mysql-test/t/rpl_rotate_logs.test:
Auto merged
mysql-test/t/rpl000017.test:
Null merge: Socket name change of 5.0 does not apply here.
mysql-test/t/rpl_000015.test:
SCCS merged
from log):
When row-based logging is used, the CREATE-SELECT is written as two
parts: as a CREATE TABLE statement and as the rows for the table. For
both transactional and non-transactional tables, the CREATE TABLE
statement was written to the transaction cache, as were the rows, and
on statement end, the entire transaction cache was written to the binary
log if the table was non-transactional. For transactional tables, the
events were kept in the transaction cache until end of transaction (or
statement that were not part of a transaction).
For the case when AUTOCOMMIT=0 and we are creating a transactional table
using a create select, we would then keep the CREATE TABLE statement and
the rows for the CREATE-SELECT, while executing the following statements.
On a rollback, the transaction cache would then be cleared, which would
also remove the CREATE TABLE statement. Hence no table would be created
on the slave, while there is an empty table on the master.
This relates to BUG#22865 where the table being created exists on the
master, but not on the slave during insertion of rows into the newly
created table. This occurs since the CREATE TABLE statement were still
in the transaction cache until the statement finished executing, and
possibly longer if the table was transactional.
This patch changes the behaviour of the CREATE-SELECT statement by
adding an implicit commit at the end of the statement when creating
non-temporary tables. Hence, non-temporary tables will be written to the
binary log on completion, and in the even of AUTOCOMMIT=0, a new
transaction will be started. Temporary tables do not commit an ongoing
transaction: neither as a pre- not a post-commit.
The events for both transactional and non-transactional tables are
saved in the transaction cache, and written to the binary log at end
of the statement.
mysql-test/r/rpl_row_create_table.result:
Result change
mysql-test/t/rpl_row_create_table.test:
Requring InnoDB for slave as well.
Adding test CREATE-SELECT that is rolled back explicitly.
Changing binlog positions.
sql/log.cc:
Adding helper class to handle lock/unlock of mutexes using RAII.
Factoring out code into write_cache() function to transaction cache
to binary log.
Adding function THD::binlog_flush_transaction_cache() to flush the
transaction cache to the binary log file.
Factoring out code into binlog_set_stmt_begin() to set the beginning
of statement savepoint.
Clearing before statement point when transaction cache is truncated
so that these points are out of range.
sql/log.h:
Adding method MYSQL_BIN_LOG::write_cache()
sql/log_event.h:
Replicating OPTION_NOT_AUTOCOMMIT flag (see changeset comment)
sql/mysql_priv.h:
Although left-shifting signed integer values is well-defined,
it has potential for strange errors. Using unsigned long long
instead of signed long long since this is the type of the options
flags.
sql/slave.cc:
Adding printout of transaction-critical thread flags.
sql/sql_class.h:
Adding function THD::binlog_flush_transaction_cache()
Adding function THD::binlog_set_stmt_begin()
sql/sql_insert.cc:
Adding code to cache events for a CREATE-SELECT statement.
Disabling binlog for SBR (but not RBR) when sending error for select part
of CREATE-SELECT statement.
Adding implicit commit at end of statement for non-temporary tables.
mysql-test/t/rpl_row_create_table-slave.opt:
New BitKeeper file ``mysql-test/t/rpl_row_create_table-slave.opt''
into neptunus.(none):/home/msvensson/mysql/mysql-5.0-maint
mysql-test/lib/mtr_cases.pl:
Auto merged
mysql-test/lib/mtr_process.pl:
Auto merged
mysql-test/mysql-test-run.pl:
Auto merged
sql/ha_ndbcluster.cc:
Make 'ndbcluster_end' wait for thread created by 'ndbluster_init'
sql/ha_ndbcluster_binlog.cc:
Make 'ndbcluster_binlog_end' wait for thread created by 'ndbcluster_binlog_start'
into chilla.local:/home/mydev/mysql-5.1-axmrg
storage/myisam/mi_packrec.c:
Auto merged
storage/myisam/mi_range.c:
Auto merged
storage/myisam/mi_test1.c:
Auto merged
storage/myisam/mi_write.c:
Auto merged
storage/myisam/rt_split.c:
Auto merged
fixing pushbuild warnings and errors
sql/sql_servers.cc:
WL# 3031
Cleaning up compile warnings on various platforms that I found with pushbuild
storage/federated/ha_federated.cc:
WL# 3031
Cleaning up compile warnings on various platforms that I found with pushbuild,
error on windows
into trift2.:/MySQL/M51/push-5.1
mysql-test/mysql-test-run.pl:
Auto merged
scripts/make_binary_distribution.sh:
Auto merged
support-files/mysql.spec.sh:
Auto merged
another handler from 'plugin_foreach'
sql/sql_plugin.cc:
Remove plugin from plugin_array after it has been initialized to
avoid it being referenced. For example if a plugin deletes a THD object
that will call 'ha_close_connection' wich will iterate over all storage
engine plugins
into chilla.local:/home/mydev/mysql-5.0-axmrg
myisam/mi_packrec.c:
Auto merged
myisam/mi_range.c:
Auto merged
myisam/mi_test1.c:
Auto merged
myisam/rt_split.c:
Auto merged
myisam/mi_write.c:
Manual merge from 4.1.
Compiler warnings due to non-matching conversion
specifications in format strings in DBUG_PRINT calls,
due to non-used parameters (in non-debug mode), and
due to seemingly uninitialized variables.
Initialized variables, declared parameters unused, and
casted DBUG_PRINT arguments to get rid of warnings.
myisam/mi_range.c:
Bug#25213 - Compiler warnings in MyISAM code
Initialized a variable to get rid of a compiler warning.
myisam/mi_test1.c:
Bug#25213 - Compiler warnings in MyISAM code
Declared an parameter unused to get rid of warnings.
myisam/mi_write.c:
Bug#25213 - Compiler warnings in MyISAM code
Initialized a variable to get rid of a compiler warning.
Casted arguments to DBUG_PRINT to match them with their
format string conversion specification.
myisam/rt_split.c:
Bug#25213 - Compiler warnings in MyISAM code
Initialized variables to get rid of compiler warnings.
Compiler warnings due to non-matching conversion
specifications in format strings in DBUG_PRINT calls.
Fixed DBUG_PRINT format specifiactions.
myisam/mi_packrec.c:
Bug#25208 - Warnings in mi_packrec.c
Fixed DBUG_PRINT format specifiactions.
cmd-line-utils/readline/histfile.c:
Remove warning (compare signed & unsigned)
sql/udf_example.c:
Remove warning (cast integer to pointer of different size)
strings/decimal.c:
Remove warning (%lx format, double arg)
more similar to my_strtod() (and maybe even a bit faster due
to less floating point divisions).
This should at least partially fix Bug #23260 for DECIMALs
with a moderate number of total digits.
InnoDB timeout behavior (Bug #24200)
mysql-test/t/innodb_mysql-master.opt:
Set --innodb-lock-wait-timeout=2, since test for bug #24200 times out.
This *could* cause random test failures if some long-running transaction concurrency is being tested. However, such a test really should go in innodb-big or some other test file.
Handling of large signed/unsigned values was not consistent, so some string functions could return bogus results.
The current fix is to simply patch up the val_str() methods for those string items.
It would be good clean this code up in general, to make similar problems much harder to make. This is left as an exercise for the reader.
mysql-test/r/func_str.result:
Update test results for bug #24947
mysql-test/t/func_str.test:
Add test case for bug #24947
sql/item_strfunc.cc:
Adjust some string function Items' val_str() methods to handle large signed/unsigned arguments properly
Fixed compiler warnings.
In set_var.cc, the code was not properly returning an error code
if close_cached_tables() failed.
In sql_tables.cc, the code was not returning properly an error code
if lock_table_names() failed.
Both cases are bugs, introduced in 5.1 only by recent changes.
sql/set_var.cc:
Fixed build warnings:
set_var.cc:3861: warning: 'result' may be used uninitialized in this function
sql/sql_table.cc:
Fixed build warnings:
sql_table.cc:5307: warning: 'error' may be used uninitialized in this function