mysql-test/r/drop_temp_table.result:
result update
mysql-test/r/mix_innodb_myisam_binlog.result:
result update
mysql-test/r/rpl000001.result:
result update
mysql-test/r/rpl_change_master.result:
result update
mysql-test/r/rpl_deadlock.result:
result update (merge)
mysql-test/t/rpl000001.test:
can't rely on GET_LOCK() to do slave synchro (use table lock instead)
mysql-test/t/rpl_change_master.test:
changing the test as we can't use GET_LOCK() for slave synchro
mysql-test/t/rpl_deadlock.test:
update (merge) binlog positions
mysql-test/t/rpl_get_lock.test:
comment
(next part is updating test results)
sql/item_func.cc:
no need for binlogging DO RELEASE_LOCK() anymore. Make GET_LOCK() do nothing in slave thread.
sql/log_event.cc:
comment fixes
sql/mysqld.cc:
warning removed
sql/slave.cc:
fix after merge
use function-wide declaration also for loop body.
ndb/src/kernel/blocks/dbdict/Dbdict.cpp:
Get rid of a duplicate declaration ('Uint32 k;' at function start) that caused
compiler failures on 'octane2' (both 32 and 64 bit) and a compiler crash on 'ds20'.
It would be better not to use those variable declarations with a loop scope,
they have caused compile problems again and again.
in slave SQL thread: if a transaction fails because of InnoDB deadlock or innodb_lock_wait_timeout exceeded,
optionally retry the transaction a certain number of times (new variable --slave_transaction_retries).
sql/mysql_priv.h:
new var slave_transaction_retries
sql/mysqld.cc:
new variable slave_transaction_retries. Plus fixing a typo.
sql/set_var.cc:
new global variable slave_transaction_retries (will be one per subslave, when we have multimaster).
sql/slave.cc:
Slave SQL thread: if a transaction fails because of InnoDB deadlock or innodb_lock_wait_timeout exceeded,
optionally retry the transaction a certain number of times (--slave_transaction_retries).
sql/slave.h:
new RELAY_LOG_INFO::trans_retries.
innobase/include/srv0srv.h:
Auto merged
innobase/srv/srv0srv.c:
Auto merged
myisam/mi_create.c:
Auto merged
myisam/mi_open.c:
Auto merged
myisam/myisamdef.h:
Auto merged
sql/ha_innodb.cc:
Auto merged
mysql-test/r/myisam.result:
SCCS merged
mysql-test/t/myisam.test:
SCCS merged
sql/ha_innodb.h:
SCCS merged
deadlock in MYSQL_LOG::new_file()
style fixes
mysql-test/r/innodb.result:
one more test for truncate
mysql-test/t/innodb.test:
one more test for truncate
sql/ha_innodb.cc:
bug#8151 - truncate leaves a transaction open
sql/handler.cc:
bug#8151 - truncate leaves a transaction open
sql/item.h:
style fix
sql/item_cmpfunc.cc:
style fix
sql/item_cmpfunc.h:
style fix
sql/item_func.cc:
style fix
sql/item_func.h:
style fix
sql/log.cc:
let new_file() to lock LOCK_index,
don't check for prepared_xids in rotate_and_purge()
increase thread_safe_increment when LOCK_log is taken
sql/log_event.cc:
mysqlbinlog now prints a warning if binlog was not closed properly
sql/sql_class.h:
comments
sql/sql_repl.cc:
DBUG_ENTER tag corrected
Added a check, if the table, which we are going to create, is open.
This can happen if a MERGE mapped table is TRUNCATEd.
myisam/mi_open.c:
Bug#8306 - TRUNCATE leads to index corruption
Made test_if_reopen() globally available.
myisam/myisamdef.h:
Bug#8306 - TRUNCATE leads to index corruption
Declared test_if_reopen() as globally available.
mysql-test/r/myisam.result:
Bug#8306 - TRUNCATE leads to index corruption
The test result.
mysql-test/t/myisam.test:
Bug#8306 - TRUNCATE leads to index corruption
The test case.
mysql-test/r/func_group.result:
Added some tests and fix for Bug#5615.
mysql-test/r/show_check.result:
Fix for Bug#5615.
mysql-test/t/func_group.test:
Added some tests.
sql/item_sum.cc:
Fix for Bug#5615.
sql/item_sum.h:
Fix for Bug#5615.
sql/sql_select.cc:
Fix for Bug#5615.
sql/sql_select.h:
Fix for Bug#5615.
delete_all_rows(): Revert previous change.
The transaction has been marked started already
in external_lock().
sql/ha_innodb.cc:
delete_all_rows(): Revert previous change.
The transaction has been marked started already
in external_lock().
row_sel_store_mysql_rec(): Do not try to space-pad BLOB fields. (Bug #8771)
innobase/row/row0sel.c:
row_sel_store_mysql_rec(): Do not try to space-pad BLOB fields. (Bug #8771)
In TRUNCATE TABLE, MySQL may call innobase_xa_prepare() even though there is no active transaction because it was committed in ha_innobase::delete_all_rows(); in innobase_xa_prepare() InnoDB starts then a new transaction; let us adjust the trx->active_trans flag accordingly
sql/ha_innodb.cc:
In TRUNCATE TABLE, MySQL may call innobase_xa_prepare() even though there is no active transaction because it was committed in ha_innobase::delete_all_rows(); in innobase_xa_prepare() InnoDB starts then a new transaction; let us adjust the trx->active_trans flag accordingly
innobase/dict/dict0crea.c:
dict_truncate_index_tree(): Commit the mtr after deleting the
index tree. Add diagnostics for error cases. Let the caller update
SYS_INDEXES.PAGE_NO to the new root page number. Return the new
root page number, or FIL_NULL on error.
innobase/include/dict0crea.h:
dict_truncate_index_tree(): Commit the mtr after deleting the
index tree. Add diagnostics for error cases. Let the caller update
SYS_INDEXES.PAGE_NO to the new root page number. Return the new
root page number, or FIL_NULL on error.
innobase/include/page0page.ic:
page_mem_free(): Disable the memset() call, to make it possible to
recover some data if someone accidentally deletes a large number
of records from a table.
innobase/log/log0recv.c:
Do not disable InnoDB Hot Backup specific code in MySQL builds.
innobase/row/row0mysql.c:
row_truncate_table_for_mysql(): Remove an infinite loop in case
a SYS_INDEXES record has been deleted. Avoid deadlocks by committing
and restarting the mini-transaction.
sql/ha_innodb.cc:
ha_innobase::delete_all_rows(): set trx->active_trans = 1
CREATE INDEX and DROP INDEX every 10,000 rows,
similar to ALTER TABLE.
sql/ha_innodb.cc:
Commit inserts to the temporary tables created by
CREATE INDEX and DROP INDEX every 10,000 rows, similar
to ALTER TABLE.
sql/ha_innodb.h:
Remove duplicate declaration of srv_max_purge_lag.
mysql-test/r/func_group.result:
Auto merged
mysql-test/r/ps.result:
Auto merged
mysql-test/r/select_found.result:
Auto merged
mysql-test/r/show_check.result:
Auto merged
mysql-test/t/func_group.test:
Auto merged
mysql-test/t/show_check.test:
Auto merged
sql/mysqld.cc:
Auto merged
sql/sql_class.cc:
Auto merged
sql/sql_show.cc:
Auto merged
strings/ctype-bin.c:
Auto merged
sql/sql_select.cc:
SCCS merged
Changed #warning pragma at the bottom to only occur when being used on non-Windows OS
mysys/my_mmap.c:
Changed #warning pragma at the bottom to only occur when being used on non-Windows OS
remove old junk and to improve compression ratio.
InnoDB: Make implicit type conversions explicit. (Bug #8826)
innobase/btr/btr0cur.c:
Add "offsets" parameter to page_cur_delete_rec() calls
btr_cur_optimistic_delete(): Simplify the logic with a flag variable
btr_cur_pessimistic_delete(): Compute "offsets" earlier
innobase/include/page0cur.h:
page_cur_delete_rec(): Add parameter "offsets"
innobase/include/page0page.h:
page_mem_free(): Replace parameter "index" with "offsets"
innobase/include/page0page.ic:
page_mem_free(): Replace parameter "index" with "offsets".
Clear the data bytes of the freed record.
(The "extra" bytes will be needed by free space management.)
innobase/include/rem0rec.h:
Remove unnecessary function rec_get_size()
innobase/log/log0recv.c:
Remove function rec_apply_log_recs_for_backup()
unless #ifdef UNIV_HOTBACKUP.
innobase/page/page0cur.c:
Add parameter "offsets" to page_cur_delete_rec().
innobase/page/page0page.c:
page_create(): Zero fill the data area.
page_delete_rec_list_start(): Add parameter "offsets"
to page_cur_delete_rec().
innobase/rem/rem0rec.c:
Remove unnecessary function rec_get_size().
Fix compiler warnings about implicit type conversions. (Bug #8826)
innobase/srv/srv0srv.c:
Fix compiler warnings about implicit type conversions. (Bug #8826)
innobase/sync/sync0sync.c:
Fix compiler warnings about implicit type conversions. (Bug #8826)
with view-merge algorithm and prepared statements: in case when some
Item_ref pointing to a view column was substituted with a reference
pointing to the view expression for that column
Item_ref::ref member of the original Item_ref was left pointing to
not_found_item (0x1).
As we currently perform expression substition part of the view-merge
algorithm per each execution of a prepared statement or stored procedure,
we need to preserve original Item_ref objects usable.
sql/item.cc:
Set member Item_ref::ref to null whenever the item itself is substituted
with another item.
This is necessary if we want to re-execute a prepared statement next time.
Additionally Item_ref::fix_fields() implementation was cleaned up
(by Monty and myself) to reduce the number of if branches. This
doesn't change the logic of this function.
innobase/include/srv0srv.h:
Declare srv_auto_extend_increment and srv_max_purge_lag as ulong,
because ulint and ulong are of different size on Win64.
innobase/srv/srv0srv.c:
Declare srv_auto_extend_increment and srv_max_purge_lag as ulong,
because ulint and ulong are of different size on Win64.
until it has been comprehensive tested.
innobase/log/log0log.c:
Added general documentation of InnoDB redo-logs.
innobase/trx/trx0roll.c:
Prepared transactions are not rolled back in a recovery if
innobase_force_recovery = 0. But they are rolled back if
innobase_force_recovery > 0.
innobase/trx/trx0trx.c:
Disable the XA code in InnoDB crash recovery until it has been
comprehensive tested. SHOW INNODB STATUS now prints different
output for prepared transactions.
innobase/trx/trx0undo.c:
Do not unnecessary write X/Open XA XID. XID is written in the prepare.
Space for a XID should be reserved at this stage.
sql/ha_innodb.cc:
Remove error.
the error to be sent to the client.
mysql-test/r/select_safe.result:
Testcase for BUG#8726
mysql-test/t/select_safe.test:
Testcase for BUG#8726
sql/sql_select.cc:
Fix for BUG#8726: On ER_TOO_BIG_SELECT set JOIN::error to -1 to cause the error to be sent to the client.