into hynda.mysql.fi:/home/my/mysql-5.1-marvel
mysql-test/mysql-test-run.pl:
Auto merged
sql/field.cc:
Auto merged
sql/handler.cc:
Auto merged
sql/item_func.cc:
Auto merged
sql/log.cc:
Auto merged
sql/log_event_old.cc:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/mysqld.cc:
Auto merged
sql/sp_head.cc:
Auto merged
sql/sql_class.cc:
Auto merged
sql/sql_class.h:
Auto merged
sql/sql_handler.cc:
Auto merged
sql/sql_insert.cc:
Auto merged
sql/sql_select.cc:
Auto merged
sql/sql_string.cc:
Auto merged
sql/sql_table.cc:
Auto merged
mysql-test/r/status.result:
Manual merge with main 5.0 tree.
mysql-test/t/status.test:
Manual merge with main 5.0 tree.
sql/log_event.cc:
Manual merge with main 5.0 tree.
sql/log_event.h:
Manual merge with main 5.0 tree.
Finish premature patch which was accidentally pushed; remove debugging
info and correct the test.
mysql-test/r/status.result:
Correct test results
mysql-test/t/status.test:
Disable query log for one statement, and correct some comments
When using --log --log-output=table, we increment Table_locks_immediate
with every query. The wait_condition.inc runs a query a variable number
of times, depending on server load, etc. This is a problem, when the
test is checking the Table_locks_immediate value.
Fix is to adjust the Table_locks_immediate value based on how many times
the wait_condition query was executed.
mysql-test/include/wait_condition.inc:
Add a $wait_condition_reps variable, which lets the caller check how
many times the wait_condition query was executed.
This is used in the main.status test to adjust the value of
Table_locks_immediate (it gets incremented with each query
when --log --log-output=table).
mysql-test/t/status.test:
Adjust Table_locks_immediate value based on how many times the
wait_condition query had to run.
into kindahl-laptop.dnsalias.net:/home/bk/fix-mysql-5.1-rpl
sql/ha_ndbcluster.cc:
Auto merged
sql/log.cc:
Auto merged
sql/log.h:
Auto merged
sql/slave.cc:
Auto merged
sql/sql_class.h:
Auto merged
sql/log_event.cc:
Manual merge.
include/my_pthread.h:
Fix for Bug#27970 "Fix for bug 24507 makes mysql_install_db fail".
Removed macro NPTL_PTHREAD_EXIT_BUG, because it doesn't work in dynamic
environment. One can switch between NPTL and LT on the fly on Linux.
Added pthread_dummy(ESRCH) for those platforms that don't have pthread_kill.
This ensures that there won't be an error in mysqld.cc where the return value
is being checked from the function call.
mysys/my_thr_init.c:
Check for a Linux is enough. There is an additional test if
NPTL is in use before spwaning the extra thread.
Fixed failing func_misc test for embedded server
Added casts to avoid compiler warnings
Removed Table_locks_immediate as it's depending on log file cacheing
Changed type of get_time() to avoid warnings
Removed testing if purger master logs succeded as this is not deterministic
libmysqld/lib_sql.cc:
Fixed failing func_misc test for embedded server
mysql-test/mysql-test-run.pl:
Shut first down slaves, then masters.
This should avoid some errors in the log file about not being able to connect to master during shutdown
mysql-test/r/func_misc.result:
Move DROP TABLE's first
mysql-test/r/status.result:
Removed Table_locks_immediate as it's depending on log file cacheing
mysql-test/suite/ndb/r/ndb_binlog_basic.result:
Removed testing if purger master logs succeded as this is not deterministic
mysql-test/suite/ndb/t/ndb_binlog_basic.test:
Removed testing if purger master logs succeded as this is not deterministic
mysql-test/t/func_misc.test:
Move DROP TABLE's first
mysql-test/t/status.test:
Removed Table_locks_immediate as it's depending on log file cacheing
sql/log_event.cc:
Added cast to avoid warnings
sql/log_event.h:
Changed type of get_time() to avoid warnings
standards (and help Doxygen generating good documentation).
sql/ha_ndbcluster.cc:
Renaming MASTER_INFO to Master_info.
sql/log_event.cc:
Renaming MASTER_INFO to Master_info.
sql/repl_failsafe.cc:
Renaming MASTER_INFO to Master_info.
sql/repl_failsafe.h:
Renaming MASTER_INFO to Master_info.
sql/rpl_mi.cc:
Renaming MASTER_INFO to Master_info.
sql/rpl_mi.h:
Renaming MASTER_INFO to Master_info.
sql/rpl_rli.h:
Renaming MASTER_INFO to Master_info.
sql/slave.cc:
Renaming MASTER_INFO to Master_info.
sql/slave.h:
Renaming MASTER_INFO to Master_info.
sql/sql_repl.cc:
Renaming MASTER_INFO to Master_info.
sql/sql_repl.h:
Renaming MASTER_INFO to Master_info.
(and be more friendly to Doxygen by removing unnecessary typedefs).
sql/log.cc:
Renaming struct st_relay_log_info to class Relay_log_info.
sql/log.h:
Renaming struct st_relay_log_info to class Relay_log_info.
sql/log_event.cc:
Renaming RELAY_LOG_INFO to Relay_log_info.
sql/log_event.h:
Renaming struct st_relay_log_info to class Relay_log_info.
Renaming RELAY_LOG_INFO to Relay_log_info.
Removing typedef RELAY_LOG_INFO.
sql/log_event_old.cc:
Renaming RELAY_LOG_INFO to Relay_log_info.
sql/log_event_old.h:
Renaming RELAY_LOG_INFO to Relay_log_info.
sql/rpl_mi.h:
Renaming RELAY_LOG_INFO to Relay_log_info.
sql/rpl_record.cc:
Renaming RELAY_LOG_INFO to Relay_log_info.
sql/rpl_record.h:
Renaming RELAY_LOG_INFO to Relay_log_info.
sql/rpl_record_old.cc:
Renaming RELAY_LOG_INFO to Relay_log_info.
sql/rpl_record_old.h:
Renaming RELAY_LOG_INFO to Relay_log_info.
sql/rpl_rli.cc:
Renaming struct st_relay_log_info to class Relay_log_info.
Renaming RELAY_LOG_INFO to Relay_log_info.
sql/rpl_rli.h:
Renaming struct st_relay_log_info to class Relay_log_info.
Renaming RELAY_LOG_INFO to Relay_log_info.
Removing typedef RELAY_LOG_INFO.
sql/rpl_utility.cc:
Renaming RELAY_LOG_INFO to Relay_log_info.
sql/rpl_utility.h:
Renaming struct st_relay_log_info to class Relay_log_info.
Renaming RELAY_LOG_INFO to Relay_log_info.
Removing typedef RELAY_LOG_INFO.
sql/slave.cc:
Renaming RELAY_LOG_INFO to Relay_log_info.
sql/slave.h:
Renaming struct st_relay_log_info to class Relay_log_info.
Renaming RELAY_LOG_INFO to Relay_log_info.
Removing typedef RELAY_LOG_INFO.
sql/sql_binlog.cc:
Renaming RELAY_LOG_INFO to Relay_log_info.
sql/sql_class.h:
Renaming struct st_relay_log_info to class Relay_log_info.
Renaming RELAY_LOG_INFO to Relay_log_info.
Removing typedef RELAY_LOG_INFO.
sql/sql_repl.cc:
Renaming RELAY_LOG_INFO to Relay_log_info.
into ramayana.hindu.god:/home/tsmith/m/bk/inno/aug13/51
storage/innobase/fsp/fsp0fsp.c:
Use local (null merge)
storage/innobase/handler/ha_innodb.cc:
Use local (null merge)
storage/innobase/include/fsp0fsp.h:
Use local (null merge)
storage/innobase/include/univ.i:
Use local (null merge)
storage/innobase/log/log0recv.c:
Use local (null merge)
storage/innobase/os/os0file.c:
Use local (null merge)
storage/innobase/srv/srv0srv.c:
Use local (null merge)
storage/innobase/trx/trx0trx.c:
Use local (null merge)
Apply innodb-5.0-ss1696 snapshot
Fixes:
- Bug#20090: InnoDB: Error: trying to declare trx to enter InnoDB
- Bug#23710: crash_commit_before fails if innodb_file_per_table=1
At InnoDB startup consider the case where log scan went beyond
checkpoint_lsn as a crash and initiate crash recovery code path.
- Bug#28781: InnoDB increments auto-increment value incorrectly with ON DUPLICATE KEY UPDATE
We need to do some special AUTOINC handling for the following case:
INSERT INTO t (c1,c2) VALUES(x,y) ON DUPLICATE KEY UPDATE ...
We need to use the AUTOINC counter that was actually used by
MySQL in the UPDATE statement, which can be different from the
value used in the INSERT statement.
- Bug#29097: fsp_get_available_space_in_free_extents() is capped at 4TB
Fix by typecasting the variables before multiplying them, so that the
result of the multiplication is of type "unsigned long long".
- Bug#29155: Innodb "Parallel recovery" is not prevented
Fix by enabling file locking on FreeBSD. It has been disabled because
InnoDB has refused to start on FreeBSD & LinuxThreads, but now it
starts just fine.
innobase/fsp/fsp0fsp.c:
Apply innodb-5.0-ss1696 snapshot
Revision r1614:
branches/5.0:
Merge r1605 from trunk:
Fix Bug#29097 "fsp_get_available_space_in_free_extents() is capped at 4TB"
by typecasting the variables before multiplying them, so that the result of
the multiplication is of type "unsigned long long".
I verified this fix by creating a sparse file of 6TB and forcing InnoDB to
use it without overwriting it with zeroes (by commenting the code that
overwrites :newraw files).
New type ullint is introduced with the sole purpose of shortening
"unsigned long long", please do not define it to something else than
"unsigned long long".
Approved by: Heikki
innobase/include/fsp0fsp.h:
Apply innodb-5.0-ss1696 snapshot
Revision r1614:
branches/5.0:
Merge r1605 from trunk:
Fix Bug#29097 "fsp_get_available_space_in_free_extents() is capped at 4TB"
by typecasting the variables before multiplying them, so that the result of
the multiplication is of type "unsigned long long".
I verified this fix by creating a sparse file of 6TB and forcing InnoDB to
use it without overwriting it with zeroes (by commenting the code that
overwrites :newraw files).
New type ullint is introduced with the sole purpose of shortening
"unsigned long long", please do not define it to something else than
"unsigned long long".
Approved by: Heikki
innobase/include/univ.i:
Apply innodb-5.0-ss1696 snapshot
Revision r1614:
branches/5.0:
Merge r1605 from trunk:
Fix Bug#29097 "fsp_get_available_space_in_free_extents() is capped at 4TB"
by typecasting the variables before multiplying them, so that the result of
the multiplication is of type "unsigned long long".
I verified this fix by creating a sparse file of 6TB and forcing InnoDB to
use it without overwriting it with zeroes (by commenting the code that
overwrites :newraw files).
New type ullint is introduced with the sole purpose of shortening
"unsigned long long", please do not define it to something else than
"unsigned long long".
Approved by: Heikki
innobase/log/log0recv.c:
Apply innodb-5.0-ss1696 snapshot
Revision r1608:
branches/5.0: Bug#23710
Back port of r1607 from trunk
At InnoDB startup consider the case where log scan went beyond checkpoint_lsn as a crash and initiate crash recovery code path.
reviewed by: Heikki
innobase/os/os0file.c:
Apply innodb-5.0-ss1696 snapshot
Revision r1615:
branches/5.0:
Merge r1613 from trunk:
Fix Bug#29155 by enabling file locking on FreeBSD.
It has been disabled because InnoDB has refused to start on
FreeBSD & LinuxThreads, but now it starts just fine.
Approved by: Heikki
innobase/srv/srv0srv.c:
Apply innodb-5.0-ss1696 snapshot
Revision r1552:
branches/5.0:
Fix Bug#20090 as suggested in the bug followup by Heikki.
Approved by: Heikki
innobase/trx/trx0trx.c:
Apply innodb-5.0-ss1696 snapshot
Revision r1596:
branches/5.0: Merge r1595 from trunk:
trx_commit_for_mysql(): Avoid acquiring and releasing kernel_mutex when
trx->sess or trx_dummy_sess is non-NULL.
sql/ha_innodb.cc:
Apply innodb-5.0-ss1696 snapshot
Revision r1614:
branches/5.0:
Merge r1605 from trunk:
Fix Bug#29097 "fsp_get_available_space_in_free_extents() is capped at 4TB"
by typecasting the variables before multiplying them, so that the result of
the multiplication is of type "unsigned long long".
I verified this fix by creating a sparse file of 6TB and forcing InnoDB to
use it without overwriting it with zeroes (by commenting the code that
overwrites :newraw files).
New type ullint is introduced with the sole purpose of shortening
"unsigned long long", please do not define it to something else than
"unsigned long long".
Approved by: Heikki
Revision r1695:
branches/5.0: Merge a change from MySQL AB:
ChangeSet@1.2463.166.1 2007-06-20 19:22:27+03:00 monty@mysql.fi
Allow multiple calls to mysql_server_end()
(Part of fix for Bug 25621 Error in my_thread_global_end(): 1 threads
didn't exit)
Give correct error message if InnoDB table is not found
(This allows us to drop a an innodb table that is not in the InnoDB registery)
ha_innodb.cc:
Give correct error message if InnoDB table is not found.
(This allows us to drop a an innodb table that is not in the InnoDB
registery)
Revision r1606:
branches/5.0: Formatting corrections.
spotted by: Vasil
Revision r1691:
branches/5.0: Merge a change from MySQL AB:
ChangeSet@1.2463.261.1 2007-07-20 14:17:15+03:00 gkodinov@magare.gmz
Bug 29644: alter table hangs if records locked in share mode
by long running transaction
On Windows opened files can't be deleted. There was a special
upgraded lock mode (TL_WRITE instead of TL_WRITE_ALLOW_READ)
in ALTER TABLE to make sure nobody has the table opened
when deleting the old table in ALTER TABLE. This special mode
was causing ALTER TABLE to hang waiting on a lock inside InnoDB.
This special lock is no longer necessary as the server is
closing the tables it needs to delete in ALTER TABLE.
Fixed by removing the special lock.
Note that this also reverses the fix for bug 17264 that deals with
another consequence of this special lock mode being used.
sql/ha_innodb.cc: Bug 29644: reverse the (now excessive) fix
for bug 17264 (but leave the test case).
Revision r1601:
branches/5.0: Fix for bug#28781
We need to do some special AUTOINC handling for the following case:
INSERT INTO t (c1,c2) VALUES(x,y) ON DUPLICATE KEY UPDATE ...
We need to use the AUTOINC counter that was actually used by
MySQL in the UPDATE statement, which can be different from the
value used in the INSERT statement.
approved by: Sunny
Revision r1692:
branches/5.0: Merge a change from MySQL AB:
ChangeSet@1.2463.267.1 2007-07-30 17:14:34+04:00 evgen@local
Bug 24989: The DEADLOCK error is improperly handled by InnoDB.
When innodb detects a deadlock it calls ha_rollback_trans() to rollback the
main transaction. But such action isn't allowed from inside of triggers and
functions. When it happen the 'Explicit or implicit commit' error is thrown
even if there is no commit/rollback statements in the trigger/function. This
leads to the user confusion.
Now the convert_error_code_to_mysql() function doesn't call the
ha_rollback_trans() function directly but rather calls the
mark_transaction_to_rollback function and returns an error.
The sp_rcontext::find_handler() now doesn't allow errors to be caught by the
trigger/function error handlers when the thd->is_fatal_sub_stmt_error flag
is set. Procedures are still allowed to catch such errors.
The sp_rcontext::find_handler function now accepts a THD handle as a parameter.
The transaction_rollback_request and the is_fatal_sub_stmt_error flags are
added to the THD class. The are initialized by the THD class constructor.
Now the ha_autocommit_or_rollback function rolls back main transaction
when not in a sub statement and the thd->transaction_rollback_request
is set.
The THD::restore_sub_statement_state function now resets the
thd->is_fatal_sub_stmt_error flag on exit from a sub-statement.
innodb-big.test, innodb-big.result:
Added a test case for the bug 24989: The DEADLOCK error is improperly
handled by InnoDB.
sql/ha_innodb.cc:
Bug 24989: The DEADLOCK error is improperly handled by InnoDB.
Now the convert_error_code_to_mysql() function doesn't call the
ha_rollback_trans() function directly but rather calls the
mark_transaction_to_rollback function and returns an error.
Revision r1693:
branches/5.0: Merge a change from MySQL AB:
ChangeSet@1.2489.5.1 2007-07-31 17:42:48+04:00 evgen@local
ha_innodb.cc:
Warning fixed.
into mysql.com:/nfsdisk1/lars/MERGE/mysql-5.1-merge
mysql-test/suite/rpl/r/rpl_extraCol_innodb.result:
Auto merged
mysql-test/suite/rpl/r/rpl_extraCol_myisam.result:
Auto merged
mysql-test/suite/rpl_ndb/r/rpl_ndb_extraCol.result:
Auto merged
sql/field.cc:
Auto merged
sql/log_event.cc:
Auto merged
sql/field.h:
Manual merge
trigger tests, to match build_table_filename behavior.
mysql-test/t/ps_1general.test:
Adjust how the datadir file name is normalized, to match new
build_table_filename behavior. This fixes the test result
when run with the embedded server.
mysql-test/t/trigger.test:
Adjust how the datadir file name is normalized, to match new
build_table_filename behavior. This fixes the test result
when run with the embedded server.
including a small change to build_table_filename().
mysql-test/mysql-test-run.pl:
Remove unused bad merge bitrot code. This chunk of code is a repeat
copy of an earlier chunk, and should never have been here.
mysql-test/r/innodb.result:
Updates to allow innodb.test to be run with --embedded-server
mysql-test/suite/binlog/r/binlog_innodb.result:
Updates to allow innodb.test to be run with --embedded-server
mysql-test/suite/binlog/t/binlog_innodb.test:
Updates to allow innodb.test to be run with --embedded-server
mysql-test/t/innodb.test:
Updates to allow innodb.test to be run with --embedded-server
sql/sql_table.cc:
build_table_filename(): Don't add FN_ROOTDIR to mysql_data_home if
it's already there. This is done to make it easier to write tests
which check the output of various error messages, and work with
both the embedded server (mysql_data_home is full path, including
trailing FN_ROOTDIR) and normal server (mysql_data_home is just ".").
(This is becasue 'when' is not anymore set in constructor)
client/mysqlbinlog.cc:
strcpy -> strmov
sql/log.cc:
Added flag dont_set_created
sql/log_event.cc:
Moved time handling to inline function.
Moved setting of 'created' to ::write() function.
Added flag dont_set_created to define if 'created' should be set or not.
This was needed as 'when' is not set in Log_event() anymore.
Fixed some missed thd -> thd_arg
sql/log_event.h:
Indentation fixed
Added inline get_time() function.
Added dont_set_created flag to Start_log_event_v3
into synthia.local:/home/mydev/mysql-5.1-axmrg
mysql-test/r/show_check.result:
Auto merged
mysql-test/t/show_check.test:
Auto merged
sql/sql_insert.cc:
Auto merged
into mysql.com:/home/my/mysql-5.1
configure.in:
Auto merged
client/mysql.cc:
Auto merged
include/m_ctype.h:
Auto merged
sql/field.cc:
Auto merged
sql/handler.cc:
Auto merged
sql/handler.h:
Auto merged
sql/item.cc:
Auto merged
sql/item_func.cc:
Auto merged
sql/item_strfunc.cc:
Auto merged
sql/item_strfunc.h:
Auto merged
sql/log.cc:
Auto merged
sql/log_event.cc:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/mysqld.cc:
Auto merged
sql/set_var.cc:
Auto merged
sql/sp_head.cc:
Auto merged
sql/sql_class.cc:
Auto merged
sql/sql_class.h:
Auto merged
sql/sql_delete.cc:
Auto merged
sql/sql_insert.cc:
Auto merged
sql/sql_lex.cc:
Auto merged
sql/sql_select.cc:
Auto merged
sql/sql_string.cc:
Auto merged
sql/sql_table.cc:
Auto merged
sql/sql_yacc.yy:
Auto merged
sql/table.cc:
Auto merged
sql/table.h:
Auto merged
storage/myisam/mi_rkey.c:
Auto merged
client/mysqldump.c:
Manual merge (trivial)
scripts/mysql_install_db.sh:
Complex merge (parital rewrite of new code)
sql/sql_show.cc:
Manual merge
tests/mysql_client_test.c:
then
if ! test -x "$print_defaults"
then
missing_in_basedir my_print_defaults
exit 1
fi
else