into mysql.com:/home/bk/MERGE/mysql-5.1-merge
BitKeeper/etc/collapsed:
auto-union
mysql-test/r/view.result:
Auto merged
mysql-test/t/view.test:
Auto merged
sql/Makefile.am:
Auto merged
sql/handler.cc:
Auto merged
sql/log.cc:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/mysqld.cc:
Auto merged
sql/slave.cc:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_select.cc:
Auto merged
sql/sql_view.cc:
Auto merged
- Detect if a table has field of type MYSQL_TYPE_VAR_STRING while running
"CHECK TABLE t FOR UPGRADE" and indicate it need to be fixed
with "REPAIR TABLE t".
- When running a "REPAIR TABLE t" or "ALTER TABLE t FORCE" on the above
table, install a special copy function to trim off the trailing spaces
which we safely can say that the pre 5.0 mysqld didn't put there.
mysql-test/r/varbinary.result:
Add test to see that a table with varbinary from 4.1 can be REPAIRED
mysql-test/t/varbinary.test:
Add test to see that a table with varbinary from 4.1 can be REPAIRED
sql/field_conv.cc:
Add new field copy function 'do_field_varbinary_pre50' used for copying
between MYSQL_TYPE_VAR_STRING and MYSQL_TYPE_VARCHAR. It will remove trailing
spaces from the field as MySQL <= 4.1 never stores the trailing spaces for
a MYSQL_TYPE_VAR_STRING.
Install this new copy function in ALTER TABLEs list of functions to use for
copying data during and alter if from field is a <= 4.1 varbinary and to
field is 5.0 varbinary.
sql/handler.cc:
If the table has a pre 5.0 varbinary, table not to be altered so the field
type is upgraded to 5.0 version and trailing space can be trimmed.
mysql-test/std_data/bug19371.MYD:
New BitKeeper file ``mysql-test/std_data/bug19371.MYD''
mysql-test/std_data/bug19371.MYI:
New BitKeeper file ``mysql-test/std_data/bug19371.MYI''
mysql-test/std_data/bug19371.frm:
New BitKeeper file ``mysql-test/std_data/bug19371.frm''
- Detect if a table has field of type MYSQL_TYPE_VAR_STRING while running
"CHECK TABLE t FOR UPGRADE" and indicate it need to be fixed
with "REPAIR TABLE t".
- When running a "REPAIR TABLE t" or "ALTER TABLE t FORCE" on the above
table, install a special copy function to trim off the trailing spaces
which we safely can say that the pre 5.0 mysqld didn't put there.
into alik.:/mnt/raid/alik/MySQL/devel/5.1-rt
configure.in:
Auto merged
mysql-test/mysql-test-run.pl:
Auto merged
sql/handler.cc:
Auto merged
sql/mysqld.cc:
Auto merged
into mysql.com:/users/lthalmann/bk/MERGE/mysql-5.1-merge
BitKeeper/etc/collapsed:
auto-union
include/m_ctype.h:
Auto merged
mysql-test/r/binlog_row_mix_innodb_myisam.result:
Auto merged
mysql-test/r/ctype_utf8.result:
Auto merged
mysql-test/r/view.result:
Auto merged
mysql-test/t/disabled.def:
Auto merged
mysql-test/t/view.test:
Auto merged
sql/Makefile.am:
Auto merged
sql/field.cc:
Auto merged
sql/handler.cc:
Auto merged
sql/log.cc:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_show.cc:
Auto merged
sql/sql_view.cc:
Auto merged
unittest/mytap/tap.c:
Auto merged
sql/log_event.cc:
manual merge
sql/sql_class.cc:
manual merge
into bk-internal.mysql.com:/data0/bk/mysql-5.1-arch
sql/handler.cc:
Auto merged
sql/handler.h:
Auto merged
sql/mysqld.cc:
Auto merged
sql/set_var.cc:
Auto merged
into alik.:/mnt/raid/alik/MySQL/devel/5.1-rt-merged
mysql-test/mysql-test-run.pl:
Auto merged
sql/ha_ndbcluster.cc:
Auto merged
sql/handler.cc:
Auto merged
sql/log.cc:
Auto merged
sql/mysqld.cc:
Auto merged
sql/sp_head.cc:
Auto merged
sql/sql_base.cc:
Auto merged
sql/sql_class.h:
Auto merged
sql/sql_insert.cc:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_select.cc:
Auto merged
sql/sql_view.cc:
Auto merged
sql/table.cc:
Auto merged
server-tools/instance-manager/guardian.cc:
Manual merged.
server-tools/instance-manager/instance.cc:
Manual merged.
server-tools/instance-manager/mysql_connection.cc:
Manual merged.
into bodhi.local:/opt/local/work/mysql-5.1-runtime-merge
mysql-test/t/disabled.def:
Auto merged
mysql-test/t/ps.test:
Auto merged
sql/handler.cc:
Auto merged
sql/handler.h:
Auto merged
sql/item_sum.cc:
Auto merged
sql/log_event.cc:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/mysqld.cc:
Auto merged
sql/sql_base.cc:
Auto merged
sql/sql_delete.cc:
Auto merged
sql/sql_lex.h:
Auto merged
sql/sql_select.cc:
Auto merged
sql/sql_view.cc:
Auto merged
sql/sql_yacc.yy:
Auto merged
sql/table.cc:
Auto merged
storage/csv/ha_tina.cc:
Auto merged
storage/myisam/ha_myisam.cc:
Auto merged
mysql-test/r/ps.result:
SCCS merged
into mysql.com:/home/my/mysql-5.1
sql/Makefile.am:
Auto merged
sql/handler.cc:
Auto merged
sql/mysqld.cc:
Auto merged
sql/sql_base.cc:
Auto merged
sql/sql_select.cc:
Auto merged
sql/sql_view.cc:
Auto merged
sql/table.cc:
Auto merged
sql/ha_ndbcluster.cc:
Manual merge
Fixed some possible fatal wrong arguments to printf() style functions
Initialized some not initialized variables
Fixed bug in stored procedure and continue handlers
(Fixes Bug#22150)
include/mysql/plugin.h:
Remove compiler warning
mysql-test/mysql-test-run.pl:
Ensure that --extern works on a clean tree (when 'var' directory doesn't exists)
server-tools/instance-manager/commands.cc:
Fixed possible use of unitialized variable
server-tools/instance-manager/guardian.cc:
Fixed wrong arguments to log_info() that could cause crashes
server-tools/instance-manager/instance.cc:
Fixed wrong arguments to log_info() and log_error() that could cause crashes
server-tools/instance-manager/instance_options.cc:
Fixed wrong arguments to log_error() that could cause crashes
server-tools/instance-manager/mysql_connection.cc:
Fixed wrong arguments to log_info()
server-tools/instance-manager/parse.cc:
Fixed possible use of unitialized variable
server-tools/instance-manager/user_map.cc:
Fixed wrong arguments to log_error() that could cause crashes
sql/Makefile.am:
Fix for bison 1.875
(It write an __attribute__() tag that was causing compiler failures)
sql/ha_ndbcluster.cc:
Fixed wrong snprintf() arguments
Remoed not used variables
sql/ha_ndbcluster_binlog.cc:
Fixed compiler warning (unsigned/signed comparision)
sql/handler.cc:
Fixed wrong parameter to hton->binlog_func()
sql/item_cmpfunc.cc:
Removed compiler warnings
sql/item_timefunc.cc:
Removed compiler warnings
sql/log.cc:
fixed wrong argument to snprintf()
sql/mysqld.cc:
Removed compiler warnings
Fixed wrong arguments to printf()
sql/partition_info.cc:
Removed compiler warnings
sql/protocol.cc:
reset is_fatal_error for stored procedures
(Fix for Bug#22150)
sql/sp_head.cc:
More DBUG information
Reset is_fatal_error in case of continue handler.
(Fix for Bug#22150)
sql/sql_base.cc:
Removed compiler warnings
sql/sql_class.h:
More DBUG information
sql/sql_insert.cc:
Removed compiler warnings
Initialize not initialized variable (fatal bug)
sql/sql_parse.cc:
Added DBUG_ASSERT to detect if stored procedure code returns with a wrong state
Removed compiler warning
sql/sql_plugin.cc:
Fied wrong aruguments to printf() (Fatal bug)
sql/sql_select.cc:
Initailize not initialized variable.
Remove compiler warnings
Fixed wrong argument to printf() (Possible fatal error)
sql/sql_view.cc:
Removed compiler warnings
sql/table.cc:
Fixed wrong argument to printf() (Possible fatal)
Fixed some possible fatal wrong arguments to printf() style functions
Initialized some not initialized variables
Fixed bug in stored procedure and continue handlers
(Fixes Bug#22150)
into mysql.com:/home/hf/work/21790/my51-21790
mysql-test/t/gis-rtree.test:
Auto merged
sql/handler.cc:
Auto merged
mysql-test/r/gis-rtree.result:
merging
Not replicating the mysql database *at all* any more. All changes to
mysql tables are replicated by replicating the statements that do
the changes.
mysql-test/r/rpl_do_grant.result:
Result change
mysql-test/t/rpl_do_grant.test:
Deleting grants on both master and server since the mysql
database is not replicated any more.
sql/handler.cc:
Removing code that selectively checks what tables in the mysql
database to ignore. The entire mysql database is not replicated
any more.
sql/log_event.cc:
Disabling code to reload grants and access when certain tables are
touched.
sql/rpl_rli.h:
Removing unused code.
sql/slave.cc:
Removing unused code.
sql/sql_class.cc:
Mysql queries (i.e., queries that affects tables in the mysql database)
are now replicated by statement instead of replicating the tables in
the mysql database.
into mysql.com:/home/cps/mysql/devel/5.1-rename-bug
mysql-test/r/log_tables.result:
Auto merged
mysql-test/t/log_tables.test:
Auto merged
sql/handler.cc:
Auto merged
sql/handler.h:
Auto merged
sql/log.h:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/sql_delete.cc:
Auto merged
sql/sql_rename.cc:
Auto merged
sql/table.cc:
Auto merged
storage/csv/ha_tina.cc:
Auto merged
storage/myisam/ha_myisam.cc:
Auto merged
sql/log.cc:
manual merge
sql/share/errmsg.txt:
manual merge
sql/sql_table.cc:
manual merge
into mysql.com:/windows/Linux_space/MySQL/mysql-5.0
mysql-test/r/ndb_charset.result:
Auto merged
mysql-test/r/ndb_index_unique.result:
Auto merged
mysql-test/r/ndb_update.result:
Auto merged
sql/ha_ndbcluster.cc:
Merg
sql/handler.cc:
Merge
Bug #21785 "Server crashes after rename of the log table" and
Bug #21966 "Strange warnings on create like/repair of the log
tables"
According to the patch, from now on, one should use RENAME to
perform a log table rotation (this should also be reflected in
the manual).
Here is a sample:
use mysql;
CREATE TABLE IF NOT EXISTS general_log2 LIKE general_log;
RENAME TABLE general_log TO general_log_backup, general_log2 TO general_log;
The rules for Rename of the log tables are following:
IF 1. Log tables are enabled
AND 2. Rename operates on the log table and nothing is being
renamed to the log table.
DO 3. Throw an error message.
ELSE 4. Perform rename.
The very RENAME query will go the the old (backup) table. This is
consistent with the behavoiur we have with binlog ROTATE LOGS
statement.
Other problems, which are solved by the patch are:
1) Now REPAIR of the log table is exclusive operation (as it should be), this
also eliminates lock-related warnings. and
2) CREATE LIKE TABLE now usese usual read lock on the source table rather
then name lock, which is too restrictive. This way we get rid of another
log table-related warning, which occured because of the above fact
(as a side-effect, name lock resulted in a warning).
mysql-test/r/log_tables.result:
update result file
mysql-test/t/log_tables.test:
Add tests for the bugs
sql/handler.cc:
update comment
sql/handler.h:
update function to reflect changes in log tables
locking logic.
sql/lock.cc:
Now we allow locking of the log tables for "privileged" threads
Privileged thread must explicitly close and lock log tables. This
is required for admin operations such as REPAIR.
sql/log.cc:
Changes to the file:
1) Add checks for table schema. It's more important now,
as we allow rename of the log tables. Since we should
check for schema when writing to a log table.
E.g. if one created a table with one-only comlumn and
renamed it to general_log, the server should cope with
it.
2) refactor LOGGER::flush(), so that we can now use the same
machinery as we use in FLUSH LOGS in other statements:
whenever we have to perform a serious operation on the log
tables, we have to
(a) lock logger, which blocks other concurrent statements (such
as selects) (b) close logs. Then perform an
exclusive operation, c) reenable logs and d) unlock logger.
3) Add a function to check if a given table is a log table.
4) Add support for "privileged" thread
5) merge is_[general/slow]_log_table_enabled() into one function.
6) Add new function: reopen _log_tables, which reopens the tables,
which were enabled (after temporary close, required for admin
operation)
sql/log.h:
1) add a new call close_n_lock_tables(). Now we use it instead of
LOGGER::flush() in FLUSH LOGS implementation.
2) add a prototype for the function to check if a given
table is a log table;
3) add privileged table flag to table logger
4) merge is_[general/slow]_log_table_enabled()
into one function.
sql/mysql_priv.h:
move log table defines to log.h
sql/sql_delete.cc:
use new function check_if_log_table() instead of direct strcmp
sql/sql_rename.cc:
Traverse the list of tables in mysql_rename_tables
to make sure that log tables are processed correctly
(that is, according to the rules specified in the
main CS comment)
sql/sql_table.cc:
1) mysql_admin_table() should disable logs if it performs
exclusive admin operation on a log table. This way we
also eliminate warning on REPAIR of the log table.
2) mysql_create_like_table should read-lock the source table
instead getting name lock on it. Name lock is too restrictive
in this case.
sql/share/errmsg.txt:
Add a new error message for rename of the log tables
sql/table.cc:
use new function instead of direct strcmp.
change my_strcasecmp() -> strcmp(), when
comparing system db and table names
storage/csv/ha_tina.cc:
update function to reflect changes in log tables
locking logic.
storage/myisam/ha_myisam.cc:
update function to reflect changes in log tables
locking logic.
Bug #21785 "Server crashes after rename of the log table" and
Bug #21966 "Strange warnings on create like/repair of the log
tables"
According to the patch, from now on, one should use RENAME to
perform a log table rotation (this should also be reflected in
the manual).
Here is a sample:
use mysql;
CREATE TABLE IF NOT EXISTS general_log2 LIKE general_log;
RENAME TABLE general_log TO general_log_backup, general_log2 TO general_log;
The rules for Rename of the log tables are following:
IF 1. Log tables are enabled
AND 2. Rename operates on the log table and nothing is being
renamed to the log table.
DO 3. Throw an error message.
ELSE 4. Perform rename.
The very RENAME query will go the the old (backup) table. This is
consistent with the behavoiur we have with binlog ROTATE LOGS
statement.
Other problems, which are solved by the patch are:
1) Now REPAIR of the log table is exclusive operation (as it should be), this
also eliminates lock-related warnings. and
2) CREATE LIKE TABLE now usese usual read lock on the source table rather
then name lock, which is too restrictive. This way we get rid of another
log table-related warning, which occured because of the above fact
(as a side-effect, name lock resulted in a warning).
Both on its own and in the plugin shutdown.... not so good. The code is a bit simpler, and we could now technically remove the panic all entirely if we wanted to.
sql/handler.cc:
Handler was returning from a panic failure. Bad idea! This means that the rest of the shutdown is not carried outin the engine.
Removed panic specific calls.
Panic should also be called regardless of "startup".
sql/mysqld.cc:
Removed ha_panic call (since its called in plugin shutdown)