into whalegate.ndb.mysql.com:/home/tomas/mysql-5.1-new-ndb
sql/ha_ndbcluster.cc:
Auto merged
storage/ndb/src/kernel/blocks/dbtc/Dbtc.hpp:
Auto merged
storage/ndb/src/kernel/blocks/dbtc/DbtcMain.cpp:
Auto merged
storage/ndb/src/ndbapi/NdbBlob.cpp:
Auto merged
storage/ndb/src/ndbapi/NdbTransaction.cpp:
Auto merged
storage/ndb/test/ndbapi/testIndex.cpp:
Auto merged
storage/ndb/src/kernel/blocks/ERROR_codes.txt:
manual merge
storage/ndb/src/ndbapi/ndberror.c:
manual merge
storage/ndb/test/run-test/daily-basic-tests.txt:
manual merge
into dev3-240.dev.cn.tlan:/home/justin.he/mysql/mysql-5.1/mysql-5.1-new-ndb-bj.merge
mysql-test/Makefile.am:
Auto merged
sql/ha_ndbcluster.cc:
Auto merged
storage/ndb/tools/restore/Restore.cpp:
Auto merged
storage/ndb/tools/restore/restore_main.cpp:
Auto merged
mysql-test/suite/ndb/r/ndb_restore_compat.result:
Auto merged
mysql-test/suite/ndb/t/ndb_restore_compat.test:
Auto merged
Do not convert innodb autoincrement value to little endian when on
big endian systems.
storage/innobase/row/row0sel.c:
Do not convert innodb autoincrement value to little endian when on
big endian systems.
Index: ndb/storage/ndb/src/mgmapi/mgmapi.cpp
===================================================================
storage/ndb/src/mgmapi/mgmapi.cpp:
Bug#30681 mgmapi CHECK_TIMEDOUT_RET should be DBUG_CHECK_TIMEDOUT_RET
storage/innobase/handler/ha_innodb.cc:
Fix compiler warning: ::get_auto_increment takes a ulonglong
for nb_desired_values, but InnoDB's trx struct stores it as
a ulint (unsigned long). Probably harmless, as a single
statement won't be asking for more than 2^32 rows.
into whalegate.ndb.mysql.com:/home/tomas/mysql-5.1-new-ndb-merge
sql/field.cc:
Auto merged
sql/log_event.cc:
Auto merged
sql/log_event.h:
Auto merged
sql/rpl_record.cc:
Auto merged
sql/rpl_utility.cc:
Auto merged
sql/rpl_utility.h:
Auto merged
storage/ndb/src/kernel/blocks/ndbfs/AsyncFile.cpp:
AsyncFile: fsync on close only if file is open for write (for AIX)
storage/ndb/src/kernel/blocks/ndbfs/AsyncFile.hpp:
AsyncFile: fsync on close only if file is open for write (for AIX)
Bug #16979: AUTO_INC lock in InnoDB works a table level lock
Add a table level counter that tracks the number of AUTOINC locks that are
pending and/or granted on a table. We peek at this value to determine whether
a transaction doing a simple INSERT in innodb_autoinc_lock_mode = 1, needs to
acquire the AUTOINC lock or not. This change is related to Bug# 16979.
Bug #27950: Duplicate entry error in auto-inc after mysqld restart
We check whether the AUTOINC sub-system has been initialized (first) by
holding the AUTOINC mutex and if initialization is required then we
initialize using our normal procedure.
storage/innobase/dict/dict0boot.c:
Apply InnoDB snapshot innodb-5.1-ss1751.
storage/innobase/dict/dict0crea.c:
Apply InnoDB snapshot innodb-5.1-ss1751.
storage/innobase/dict/dict0load.c:
Apply InnoDB snapshot innodb-5.1-ss1751.
storage/innobase/dict/dict0mem.c:
Apply InnoDB snapshot innodb-5.1-ss1751.
Revision r1749:
Add a table level counter that tracks the number of AUTOINC locks that are
pending and/or granted on a table. We peek at this value to determine whether
a transaction doing a simple INSERT in innodb_autoinc_lock_mode = 1, needs to
acquire the AUTOINC lock or not. This change is related to Bug# 16979.
storage/innobase/handler/ha_innodb.cc:
Apply InnoDB snapshot innodb-5.1-ss1751.
Revision r1735:
Add variable "innodb_autoinc_lock_mode" to control the behavior of the
AUTOINC locking. There are three modes, 0 for backward compatibility, 1 for the
new style locking (default, safe for statement-based replication) and
2 for no AUTOINC locking (unsafe for statement-based replication).
Revision r1750:
We check whether the AUTOINC sub-system has been initialized (first) by
holding the AUTOINC mutex and if initialization is required then we
initialize using our normal procedure. This change is related to Bug#27950.
Revision r1746:
Remove some code from ha_innodb.cc that was already enclosed in #if 0.
The code was related to replication and group commit, and it was
unreachable already as of MySQL 5.0.
Approved by Heikki
Revision r1749:
Add a table level counter that tracks the number of AUTOINC locks that are
pending and/or granted on a table. We peek at this value to determine whether
a transaction doing a simple INSERT in innodb_autoinc_lock_mode = 1, needs to
acquire the AUTOINC lock or not. This change is related to Bug# 16979.
storage/innobase/include/dict0mem.h:
Apply InnoDB snapshot innodb-5.1-ss1751.
Revision r1749:
Add a table level counter that tracks the number of AUTOINC locks that are
pending and/or granted on a table. We peek at this value to determine whether
a transaction doing a simple INSERT in innodb_autoinc_lock_mode = 1, needs to
acquire the AUTOINC lock or not. This change is related to Bug# 16979.
Revision r1747:
Correct an outdated comment about dict_table_t:col_names that should have
been adjusted in r1719, or r1264 in branches/zip.
storage/innobase/include/mem0mem.ic:
Apply InnoDB snapshot innodb-5.1-ss1751.
Revision r1744:
Merge r1739 from branches/zip:
mem_heap_free_heap_top(): Declare the memory freed with UNIV_MEM_FREE().
Before this change, the memory freed by mem_heap_empty() was not completely
flagged free in UNIV_DEBUG_VALGRIND builds. After this change, Valgrind
will hopefully catch all errors caught by UNIV_MEM_DEBUG.
storage/innobase/include/sync0rw.ic:
Apply InnoDB snapshot innodb-5.1-ss1751.
Revision r1751:
rw_lock_s_lock_func(): Correct a typo in a comment.
storage/innobase/include/trx0trx.h:
Apply InnoDB snapshot innodb-5.1-ss1751.
Revision r1742:
Remove some unused fields of trx_t: mysql_master_log_file_name,
mysql_master_log_pos, repl_wait_binlog_name, repl_wait_binlog_pos.
Approved by Heikki.
storage/innobase/lock/lock0lock.c:
Apply InnoDB snapshot innodb-5.1-ss1751.
Revision r1749:
Add a table level counter that tracks the number of AUTOINC locks that are
pending and/or granted on a table. We peek at this value to determine whether
a transaction doing a simple INSERT in innodb_autoinc_lock_mode = 1, needs to
acquire the AUTOINC lock or not. This change is related to Bug# 16979.
storage/innobase/mtr/mtr0log.c:
Apply InnoDB snapshot innodb-5.1-ss1751.
storage/innobase/pars/pars0pars.c:
Apply InnoDB snapshot innodb-5.1-ss1751.
storage/innobase/srv/srv0srv.c:
Apply InnoDB snapshot innodb-5.1-ss1751.
storage/innobase/trx/trx0sys.c:
Apply InnoDB snapshot innodb-5.1-ss1751.
Revision r1743:
trx_sys_print_mysql_binlog_offset_from_page(): Enclose the definition
in #ifdef UNIV_HOTBACKUP, to match the function declaration.
storage/innobase/trx/trx0trx.c:
Apply InnoDB snapshot innodb-5.1-ss1751.
Revision r1742:
Remove some unused fields of trx_t: mysql_master_log_file_name,
mysql_master_log_pos, repl_wait_binlog_name, repl_wait_binlog_pos.
Approved by Heikki.
Bug #16979: AUTO_INC lock in InnoDB works a table level lock
- this is a major change in InnoDB auto-inc handling.
Bug #27950: Duplicate entry error in auto-inc after mysqld restart
- Init AUTOINC from delete_row().
Bug #28781: InnoDB increments auto-increment value incorrectly with ON DUPLICATE KEY UPDATE
- Use value specified by MySQL, in update_row().
mysql-test/r/innodb.result:
Apply InnoDB snapshot innodb-5.1-ss1726.
Revision r1655:
Fix the innodb.test failure mentioned in r1654.
storage/innobase/dict/dict0dict.c:
Apply InnoDB snapshot innodb-5.1-ss1726.
Revision r1645:
Fix for bug# 16979, this is a major change in InnoDB auto-inc handling. There
is one test that fails as of this commit. The updated test case should be
part of the snapshot from MySQL shortly.
Fix for bug# 27950 - Init AUTOINC from delete_row().
Fix for bug# 28781 - Use value specified by MySQL, in update_row().
Summary of structural changes:
==============================
InnoDB needs to hold a table level lock for AUTOINC allocations to overcome
the non-determinism inherent in MySQL SBR for INSERT ... SELECT. In this fix
for simple INSERT statements (including multi-value inserts), we try and avoid
acquiring the special AUTOINC table level lock unless another transaction has
already reserved the AUTOINC table level lock, in which case we fall back
to the old behavior of acquiring the AUTOINC table level lock.
The max AUTOINC value is now read directly using the low level interface
of InnoDB.
Revision r1719:
Merge r1264 from branches/zip: Avoid memory fragmentation when
adding column definitions to tables.
dict_mem_table_add_col(): Add the parameter "heap" for temporary memory
allocation. Allow it and "name" to be NULL. These parameters are NULL
when creating dummy indexes.
dict_add_col_name(): Remove calls to ut_malloc() and ut_free().
dict_table_get_col_name(): Allow table->col_names to be NULL.
dict_table_add_system_columns(), dict_table_add_to_cache():
Add the parameter "heap".
---
Additional changes that had to be merged from branches/zip:
dict_table_add_system_columns(): New function, factored out from
dict_table_add_to_cache().
mlog_parse_index(): Add some consistency checks, and make use of
dict_table_add_system_columns().
storage/innobase/dict/dict0mem.c:
Apply InnoDB snapshot innodb-5.1-ss1726.
Revision r1645:
Fix for bug# 16979, this is a major change in InnoDB auto-inc handling. There
is one test that fails as of this commit. The updated test case should be
part of the snapshot from MySQL shortly.
Fix for bug# 27950 - Init AUTOINC from delete_row().
Fix for bug# 28781 - Use value specified by MySQL, in update_row().
Summary of structural changes:
==============================
InnoDB needs to hold a table level lock for AUTOINC allocations to overcome
the non-determinism inherent in MySQL SBR for INSERT ... SELECT. In this fix
for simple INSERT statements (including multi-value inserts), we try and avoid
acquiring the special AUTOINC table level lock unless another transaction has
already reserved the AUTOINC table level lock, in which case we fall back
to the old behavior of acquiring the AUTOINC table level lock.
The max AUTOINC value is now read directly using the low level interface
of InnoDB.
Revision r1719:
Merge r1264 from branches/zip: Avoid memory fragmentation when
adding column definitions to tables.
dict_mem_table_add_col(): Add the parameter "heap" for temporary memory
allocation. Allow it and "name" to be NULL. These parameters are NULL
when creating dummy indexes.
dict_add_col_name(): Remove calls to ut_malloc() and ut_free().
dict_table_get_col_name(): Allow table->col_names to be NULL.
dict_table_add_system_columns(), dict_table_add_to_cache():
Add the parameter "heap".
---
Additional changes that had to be merged from branches/zip:
dict_table_add_system_columns(): New function, factored out from
dict_table_add_to_cache().
mlog_parse_index(): Add some consistency checks, and make use of
dict_table_add_system_columns().
storage/innobase/handler/ha_innodb.cc:
Apply InnoDB snapshot innodb-5.1-ss1726.
Revision r1645:
Fix for bug# 16979, this is a major change in InnoDB auto-inc handling. There
is one test that fails as of this commit. The updated test case should be
part of the snapshot from MySQL shortly.
Fix for bug# 27950 - Init AUTOINC from delete_row().
Fix for bug# 28781 - Use value specified by MySQL, in update_row().
Summary of structural changes:
==============================
InnoDB needs to hold a table level lock for AUTOINC allocations to overcome
the non-determinism inherent in MySQL SBR for INSERT ... SELECT. In this fix
for simple INSERT statements (including multi-value inserts), we try and avoid
acquiring the special AUTOINC table level lock unless another transaction has
already reserved the AUTOINC table level lock, in which case we fall back
to the old behavior of acquiring the AUTOINC table level lock.
The max AUTOINC value is now read directly using the low level interface
of InnoDB.
Revision r1718:
Replace mysql_byte with uchar and remove the #define mysql_byte from
ha_innodb.cc. This cleanup was made possible as of r1550:
Revision r1658:
check_trx_exists(): Remove a redundant function call and assignment that
was added by someone at MySQL.
Revision r1656:
Revision r1719:
Merge r1264 from branches/zip: Avoid memory fragmentation when
adding column definitions to tables.
dict_mem_table_add_col(): Add the parameter "heap" for temporary memory
allocation. Allow it and "name" to be NULL. These parameters are NULL
when creating dummy indexes.
dict_add_col_name(): Remove calls to ut_malloc() and ut_free().
dict_table_get_col_name(): Allow table->col_names to be NULL.
dict_table_add_system_columns(), dict_table_add_to_cache():
Add the parameter "heap".
---
Additional changes that had to be merged from branches/zip:
dict_table_add_system_columns(): New function, factored out from
dict_table_add_to_cache().
mlog_parse_index(): Add some consistency checks, and make use of
dict_table_add_system_columns().
Revision r1654:
One test case in innodb.test fails because of auto-increment
changes in r1562:1653:
$diff innodb.result innodb.reject
504c504
< 3 test2 this will work
---
> 4 test2 this will work
storage/innobase/handler/ha_innodb.h:
Apply InnoDB snapshot innodb-5.1-ss1726.
Revision r1645:
Fix for bug# 16979, this is a major change in InnoDB auto-inc handling. There
is one test that fails as of this commit. The updated test case should be
part of the snapshot from MySQL shortly.
Fix for bug# 27950 - Init AUTOINC from delete_row().
Fix for bug# 28781 - Use value specified by MySQL, in update_row().
Summary of structural changes:
==============================
InnoDB needs to hold a table level lock for AUTOINC allocations to overcome
the non-determinism inherent in MySQL SBR for INSERT ... SELECT. In this fix
for simple INSERT statements (including multi-value inserts), we try and avoid
acquiring the special AUTOINC table level lock unless another transaction has
already reserved the AUTOINC table level lock, in which case we fall back
to the old behavior of acquiring the AUTOINC table level lock.
The max AUTOINC value is now read directly using the low level interface
of InnoDB.
Revision r1654:
One test case in innodb.test fails because of auto-increment
changes in r1562:1653:
$diff innodb.result innodb.reject
504c504
< 3 test2 this will work
---
> 4 test2 this will work
storage/innobase/ibuf/ibuf0ibuf.c:
Apply InnoDB snapshot innodb-5.1-ss1726.
Revision r1715:
ibuf0ibuf.c: Remove the unused prototype for dict_index_print_low()
that was inadvertently added in r832.
Revision r1719:
Merge r1264 from branches/zip: Avoid memory fragmentation when
adding column definitions to tables.
dict_mem_table_add_col(): Add the parameter "heap" for temporary memory
allocation. Allow it and "name" to be NULL. These parameters are NULL
when creating dummy indexes.
dict_add_col_name(): Remove calls to ut_malloc() and ut_free().
dict_table_get_col_name(): Allow table->col_names to be NULL.
dict_table_add_system_columns(), dict_table_add_to_cache():
Add the parameter "heap".
---
Additional changes that had to be merged from branches/zip:
dict_table_add_system_columns(): New function, factored out from
dict_table_add_to_cache().
mlog_parse_index(): Add some consistency checks, and make use of
dict_table_add_system_columns().
storage/innobase/include/dict0dict.h:
Apply InnoDB snapshot innodb-5.1-ss1726.
Revision r1645:
Fix for bug# 16979, this is a major change in InnoDB auto-inc handling. There
is one test that fails as of this commit. The updated test case should be
part of the snapshot from MySQL shortly.
Fix for bug# 27950 - Init AUTOINC from delete_row().
Fix for bug# 28781 - Use value specified by MySQL, in update_row().
Summary of structural changes:
==============================
InnoDB needs to hold a table level lock for AUTOINC allocations to overcome
the non-determinism inherent in MySQL SBR for INSERT ... SELECT. In this fix
for simple INSERT statements (including multi-value inserts), we try and avoid
acquiring the special AUTOINC table level lock unless another transaction has
already reserved the AUTOINC table level lock, in which case we fall back
to the old behavior of acquiring the AUTOINC table level lock.
The max AUTOINC value is now read directly using the low level interface
of InnoDB.
Revision r1719:
Merge r1264 from branches/zip: Avoid memory fragmentation when
adding column definitions to tables.
dict_mem_table_add_col(): Add the parameter "heap" for temporary memory
allocation. Allow it and "name" to be NULL. These parameters are NULL
when creating dummy indexes.
dict_add_col_name(): Remove calls to ut_malloc() and ut_free().
dict_table_get_col_name(): Allow table->col_names to be NULL.
dict_table_add_system_columns(), dict_table_add_to_cache():
Add the parameter "heap".
---
Additional changes that had to be merged from branches/zip:
dict_table_add_system_columns(): New function, factored out from
dict_table_add_to_cache().
mlog_parse_index(): Add some consistency checks, and make use of
dict_table_add_system_columns().
storage/innobase/include/dict0mem.h:
Apply InnoDB snapshot innodb-5.1-ss1726.
Revision r1645:
Fix for bug# 16979, this is a major change in InnoDB auto-inc handling. There
is one test that fails as of this commit. The updated test case should be
part of the snapshot from MySQL shortly.
Fix for bug# 27950 - Init AUTOINC from delete_row().
Fix for bug# 28781 - Use value specified by MySQL, in update_row().
Summary of structural changes:
==============================
InnoDB needs to hold a table level lock for AUTOINC allocations to overcome
the non-determinism inherent in MySQL SBR for INSERT ... SELECT. In this fix
for simple INSERT statements (including multi-value inserts), we try and avoid
acquiring the special AUTOINC table level lock unless another transaction has
already reserved the AUTOINC table level lock, in which case we fall back
to the old behavior of acquiring the AUTOINC table level lock.
The max AUTOINC value is now read directly using the low level interface
of InnoDB.
Revision r1719:
Merge r1264 from branches/zip: Avoid memory fragmentation when
adding column definitions to tables.
dict_mem_table_add_col(): Add the parameter "heap" for temporary memory
allocation. Allow it and "name" to be NULL. These parameters are NULL
when creating dummy indexes.
dict_add_col_name(): Remove calls to ut_malloc() and ut_free().
dict_table_get_col_name(): Allow table->col_names to be NULL.
dict_table_add_system_columns(), dict_table_add_to_cache():
Add the parameter "heap".
---
Additional changes that had to be merged from branches/zip:
dict_table_add_system_columns(): New function, factored out from
dict_table_add_to_cache().
mlog_parse_index(): Add some consistency checks, and make use of
dict_table_add_system_columns().
storage/innobase/include/lock0lock.h:
Apply InnoDB snapshot innodb-5.1-ss1726.
Revision r1664:
lock_number_of_rows_locked(): Fix a typo in comment, and make the comments
in lock0lock.c and lock0lock.h identical. The typo was incorrectly fixed in
r1623.
storage/innobase/include/row0mysql.h:
Apply InnoDB snapshot innodb-5.1-ss1726.
Revision r1645:
Fix for bug# 16979, this is a major change in InnoDB auto-inc handling. There
is one test that fails as of this commit. The updated test case should be
part of the snapshot from MySQL shortly.
Fix for bug# 27950 - Init AUTOINC from delete_row().
Fix for bug# 28781 - Use value specified by MySQL, in update_row().
Summary of structural changes:
==============================
InnoDB needs to hold a table level lock for AUTOINC allocations to overcome
the non-determinism inherent in MySQL SBR for INSERT ... SELECT. In this fix
for simple INSERT statements (including multi-value inserts), we try and avoid
acquiring the special AUTOINC table level lock unless another transaction has
already reserved the AUTOINC table level lock, in which case we fall back
to the old behavior of acquiring the AUTOINC table level lock.
The max AUTOINC value is now read directly using the low level interface
of InnoDB.
storage/innobase/include/row0sel.h:
Apply InnoDB snapshot innodb-5.1-ss1726.
Revision r1645:
Fix for bug# 16979, this is a major change in InnoDB auto-inc handling. There
is one test that fails as of this commit. The updated test case should be
part of the snapshot from MySQL shortly.
Fix for bug# 27950 - Init AUTOINC from delete_row().
Fix for bug# 28781 - Use value specified by MySQL, in update_row().
Summary of structural changes:
==============================
InnoDB needs to hold a table level lock for AUTOINC allocations to overcome
the non-determinism inherent in MySQL SBR for INSERT ... SELECT. In this fix
for simple INSERT statements (including multi-value inserts), we try and avoid
acquiring the special AUTOINC table level lock unless another transaction has
already reserved the AUTOINC table level lock, in which case we fall back
to the old behavior of acquiring the AUTOINC table level lock.
The max AUTOINC value is now read directly using the low level interface
of InnoDB.
storage/innobase/include/trx0trx.h:
Apply InnoDB snapshot innodb-5.1-ss1726.
Revision r1645:
Fix for bug# 16979, this is a major change in InnoDB auto-inc handling. There
is one test that fails as of this commit. The updated test case should be
part of the snapshot from MySQL shortly.
Fix for bug# 27950 - Init AUTOINC from delete_row().
Fix for bug# 28781 - Use value specified by MySQL, in update_row().
Summary of structural changes:
==============================
InnoDB needs to hold a table level lock for AUTOINC allocations to overcome
the non-determinism inherent in MySQL SBR for INSERT ... SELECT. In this fix
for simple INSERT statements (including multi-value inserts), we try and avoid
acquiring the special AUTOINC table level lock unless another transaction has
already reserved the AUTOINC table level lock, in which case we fall back
to the old behavior of acquiring the AUTOINC table level lock.
The max AUTOINC value is now read directly using the low level interface
of InnoDB.
storage/innobase/include/ut0mem.h:
Apply InnoDB snapshot innodb-5.1-ss1726.
Revision r1713:
Fix typo in comment.
storage/innobase/log/log0recv.c:
Apply InnoDB snapshot innodb-5.1-ss1726.
Revision r1657:
recv_init_crash_recovery(): remove trailing white space
storage/innobase/row/row0mysql.c:
Apply InnoDB snapshot innodb-5.1-ss1726.
Revision r1645:
Fix for bug# 16979, this is a major change in InnoDB auto-inc handling. There
is one test that fails as of this commit. The updated test case should be
part of the snapshot from MySQL shortly.
Fix for bug# 27950 - Init AUTOINC from delete_row().
Fix for bug# 28781 - Use value specified by MySQL, in update_row().
Summary of structural changes:
==============================
InnoDB needs to hold a table level lock for AUTOINC allocations to overcome
the non-determinism inherent in MySQL SBR for INSERT ... SELECT. In this fix
for simple INSERT statements (including multi-value inserts), we try and avoid
acquiring the special AUTOINC table level lock unless another transaction has
already reserved the AUTOINC table level lock, in which case we fall back
to the old behavior of acquiring the AUTOINC table level lock.
The max AUTOINC value is now read directly using the low level interface
of InnoDB.
storage/innobase/row/row0sel.c:
Apply InnoDB snapshot innodb-5.1-ss1726.
Revision r1645:
Fix for bug# 16979, this is a major change in InnoDB auto-inc handling. There
is one test that fails as of this commit. The updated test case should be
part of the snapshot from MySQL shortly.
Fix for bug# 27950 - Init AUTOINC from delete_row().
Fix for bug# 28781 - Use value specified by MySQL, in update_row().
Summary of structural changes:
==============================
InnoDB needs to hold a table level lock for AUTOINC allocations to overcome
the non-determinism inherent in MySQL SBR for INSERT ... SELECT. In this fix
for simple INSERT statements (including multi-value inserts), we try and avoid
acquiring the special AUTOINC table level lock unless another transaction has
already reserved the AUTOINC table level lock, in which case we fall back
to the old behavior of acquiring the AUTOINC table level lock.
The max AUTOINC value is now read directly using the low level interface
of InnoDB.
storage/innobase/trx/trx0trx.c:
Apply InnoDB snapshot innodb-5.1-ss1726.
Revision r1645:
Fix for bug# 16979, this is a major change in InnoDB auto-inc handling. There
is one test that fails as of this commit. The updated test case should be
part of the snapshot from MySQL shortly.
Fix for bug# 27950 - Init AUTOINC from delete_row().
Fix for bug# 28781 - Use value specified by MySQL, in update_row().
Summary of structural changes:
==============================
InnoDB needs to hold a table level lock for AUTOINC allocations to overcome
the non-determinism inherent in MySQL SBR for INSERT ... SELECT. In this fix
for simple INSERT statements (including multi-value inserts), we try and avoid
acquiring the special AUTOINC table level lock unless another transaction has
already reserved the AUTOINC table level lock, in which case we fall back
to the old behavior of acquiring the AUTOINC table level lock.
The max AUTOINC value is now read directly using the low level interface
of InnoDB.
into whalegate.ndb.mysql.com:/home/tomas/mysql-5.1-new-ndb-merge
sql/field.cc:
Auto merged
sql/log_event.cc:
Auto merged
sql/log_event.h:
Auto merged
sql/set_var.cc:
Auto merged
mysql-test/suite/binlog/t/binlog_row_mix_innodb_myisam.test:
Auto merged
mysql-test/suite/ndb/r/ndb_read_multi_range.result:
Auto merged
mysql-test/suite/ndb/t/ndb_read_multi_range.test:
Auto merged
mysql-test/suite/rpl/r/rpl_row_max_relay_size.result:
Auto merged
mysql-test/suite/rpl/t/rpl_row_create_table.test:
Auto merged
mysql-test/suite/rpl/t/rpl_row_flsh_tbls.test:
Auto merged
mysql-test/suite/rpl/r/rpl_rbr_to_sbr.result:
Auto merged
mysql-test/suite/rpl/r/rpl_row_basic_11bugs.result:
Auto merged
mysql-test/suite/rpl/r/rpl_row_flsh_tbls.result:
Auto merged
mysql-test/suite/rpl/r/rpl_row_inexist_tbl.result:
Auto merged
sql/ha_ndbcluster_binlog.cc:
Auto merged
sql/rpl_rli.h:
Auto merged
BitKeeper/deleted/.del-rpl_extraMaster_Col.test:
Delete: mysql-test/extra/rpl_tests/rpl_extraMaster_Col.test
into mysql.com:/data0/mysqldev/my/mysql-5.1-30367
sql/sql_show.cc:
Auto merged
sql/table.cc:
Auto merged
sql/log_event.cc:
Manual merge, later version of the fix takes precedence.
into dev3-240.dev.cn.tlan:/home/justin.he/mysql/mysql-5.1/mysql-5.1-new-ndb-bj.merge
sql/ha_ndbcluster.cc:
Auto merged
storage/ndb/src/ndbapi/NdbDictionaryImpl.cpp:
Auto merged
storage/ndb/src/ndbapi/NdbDictionaryImpl.hpp:
Auto merged
storage/ndb/tools/restore/restore_main.cpp:
Auto merged
Index: ndb-work/storage/ndb/tools/ndb_size.pl
===================================================================
storage/ndb/tools/ndb_size.pl:
Bug#29228 ndb_size.pl borks on float columns with comma in ()
Patch by: Monty Taylor <mtaylor@mysql.com>
Fixes by: Stewart Smith
Added the ability to run ndb_size.pl on mulitple databases and also to exclude lists of databases and tables from analysis.
---
Added schema name information to index table calculations as well.
---
Made database an optional parameter, the exclusion of which causes all databases to be examined.
If selecting from information_schema fails, attempt to fall back to show tables from
---
Added support for setting an optional "real_table_name" for a table to deal with unique indexe size calcs.
---
Fixed report title for the case where we are using operating on more than one database.
---
Fixed some perl style concerns timothy had.
Cull the list of databases in perl rather than passing both an in and a not in list to MySQL
Get this full list of databases from show databases if needed.
storage/ndb/tools/ndb_size.pl@stripped, 2007-05-25 13:45:44-07:00, mtaylor@qualinost.(none) +102 -28
Added the ability to run ndb_size.pl on mulitple databases and also to exclude lists of databases and tables from analysis.
---
Added schema name information to index table calculations as well.
---
Made database an optional parameter, the exclusion of which causes all databases to be examined.
If selecting from information_schema fails, attempt to fall back to show tables from
---
Added support for setting an optional "real_table_name" for a table to deal with unique indexe size calcs.
---
Fixed report title for the case where we are using operating on more than one database.
---
Fixed some perl style concerns timothy had.
Cull the list of databases in perl rather than passing both an in and a not in list to MySQL
Get this full list of databases from show databases if needed.
Index: ndb-work/storage/ndb/tools/ndb_size.pl
===================================================================
storage/ndb/tools/ndb_size.pl:
BUG#28683 - ndb_size.pl should support more than one database
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
Faster thr_alarm()
Added 'Opened_files' status variable to track calls to my_open()
Don't give warnings when running mysql_install_db
Added option --source-install to mysql_install_db
I had to do the following renames() as used polymorphism didn't work with Forte compiler on 64 bit systems
index_read() -> index_read_map()
index_read_idx() -> index_read_idx_map()
index_read_last() -> index_read_last_map()
BUILD/compile-solaris-sparc-forte:
Updated script to current Solaris installations
Now we compile by default for 64 bits
client/mysql.cc:
Declare functions sent to C code with extern "C" to avoid compiler warnings (on Forte)
client/mysql_upgrade.c:
Fixed compiler warning (on Forte)
client/mysqladmin.cc:
Declare functions sent to C code with extern "C" to avoid compiler warnings (on Forte)
client/mysqlcheck.c:
Fixed compiler warning (on Forte)
client/mysqldump.c:
Fixed compiler warning (on Forte)
client/mysqlslap.c:
Fixed compiler warning (on Forte)
client/mysqltest.c:
Fixed compiler warning (on Forte)
client/sql_string.cc:
Avoid compiler warnings when using C function pointers in C++
configure.in:
Added detection of mtmalloc and ieeefp.h
extra/replace.c:
Fixed compiler warning (on Forte)
include/m_ctype.h:
Added some typedef's to make it easy to use C function pointers in C++
include/my_sys.h:
Added my_file_total_opened (counter for calls to my_open())
include/myisam.h:
Fixed compiler warning (on Forte)
libmysql/libmysql.c:
Fixed compiler warning (on Forte) by adding casts and change types
libmysql/manager.c:
Fixed compiler warning (on Forte) by adding casts and change types
mysql-test/r/ctype_cp932_binlog_stm.result:
Updated positions
(Needed because we didn't before correctly restore collation_database after running stored procedure
mysys/my_fopen.c:
Count number of opened files
mysys/my_open.c:
Count number of opened files
mysys/my_static.c:
Count number of opened files
mysys/thr_alarm.c:
Optimization to do less alarm() and pthread_sigmask() calls.
Idea is to remember time for next pending alarm and not reschedule a new alarm if it's after the current one.
Before we only did this if there was other pending alarms.
We don't have to use pthread_sigmask() in case of 'USE_ONE_SIGNAL_HAND' as the alarm()
signal will be blocked for the calling thread anyway and no other thread will have the alarm() signal enabled to call process_alarm()
regex/regcomp.c:
Fixed compiler warning (on Forte) by adding casts and change types
scripts/mysql_install_db.sh:
Added option --source-install to allow one to create a mysql database from the source tree without installing MySQL
Don't give (unnecessary) warnings
server-tools/instance-manager/angel.cc:
Declare functions sent to C code with extern "C" to avoid compiler warnings (on Forte)
server-tools/instance-manager/thread_registry.cc:
Declare functions sent to C code with extern "C" to avoid compiler warnings (on Forte)
sql/event_db_repository.cc:
index_read() -> index_read_map()
sql/event_queue.cc:
Declare functions sent to C code with extern "C" to avoid compiler warnings (on Forte)
sql/field.cc:
Fixed compiler warnings about hidden fields
sql/ha_partition.cc:
Fixed compiler warnings about hidden fields
index_read() -> index_read_map()
sql/ha_partition.h:
index_read() -> index_read_map()
sql/handler.cc:
Added PAGE option to row types (to prepare for future)
index_read() -> index_read_map()
sql/handler.h:
Added ROW_TYPE_PAGE (for future)
Added flag to signal if table was to be created transactionally
I had to do the following renames() as used polymorphism didn't work with Forte compiler on 64 bit systems
index_read() -> index_read_map()
index_read_idx() -> index_read_idx_map()
index_read_last() -> index_read_last_map()
sql/item.cc:
Fixed indentation
Renamed local variable to avoid hiding class variable
sql/item_cmpfunc.cc:
Renamed local variable to avoid hiding class variable
sql/item_cmpfunc.h:
Removed not used variable
sql/item_func.cc:
Renamed local variable to avoid hiding class variable
sql/item_strfunc.cc:
Moved functions from Item_strfunc.cc
sql/item_strfunc.h:
Move functions to item_strfunc.cc
Use C function pointer type to avoid compiler warnings (with Forte)
sql/item_subselect.cc:
index_read() -> index_read_map()
sql/item_xmlfunc.cc:
Renamed local variable to avoid hiding class variable
Declare functions sent to C code with extern "C" to avoid compiler warnings (on Forte)
sql/key.cc:
Fixed indentation
sql/log.cc:
Renamed local variable to avoid hiding class variable
sql/log_event.cc:
Removed call to my_time() when creating class instance of Log_event() as this may have static instances.
(One can't call my_time() before my_init())
index_read() -> index_read_map()
Renamed local variable to avoid hiding class variable
sql/log_event_old.cc:
Renamed local variable to avoid hiding class variable
sql/mysql_priv.h:
Made all create_backup_ctx() declarations identical.
This lifted up a bug where wrong create_backup_ctx() was called in some cases.
Declare functions sent to C code with extern "C" to avoid compiler warnings (on Forte)
sql/mysqld.cc:
Declare functions sent to C code with extern "C" to avoid compiler warnings (on Forte)
Fixed indentation
Don't call end_thr_alarm() when calling unireg_abort() as unireg_abort() already calls end_thr_alarm()
Added variable 'Opened_files' (number of calls to my_open() or my_fopen())
Don't print 'loose' warnings when using --bootstrap (to avoid warnings when running mysql_install_db)
Fixed compiler warnings
sql/opt_range.cc:
index_read() -> index_read_map()
sql/opt_sum.cc:
index_read() -> index_read_map()
sql/partition_info.cc:
Renamed local variable to avoid hiding class variable
sql/rpl_filter.cc:
Declare functions sent to C code with extern "C" to avoid compiler warnings (on Forte)
sql/set_var.cc:
Renamed local variable to avoid hiding class variable
Added 'process_key_cache_t' type to avoid compiler warning (on Forte)
sql/set_var.h:
Added 'process_key_cache_t' type to avoid compiler warning (on Forte)
sql/sp.cc:
More debugging
index_read() -> index_read_map()
sql/sp_cache.cc:
Declare functions sent to C code with extern "C" to avoid compiler warnings (on Forte)
sql/sp_head.cc:
Declare functions sent to C code with extern "C" to avoid compiler warnings (on Forte)
Moved 'saved_creation_ctx' higher up to be able to free objects allocated by create_backup_ctx()
sql/sql_acl.cc:
index_read() -> index_read_map()
sql/sql_class.cc:
Renamed local variable to avoid hiding class variable
Declare functions sent to C code with extern "C" to avoid compiler warnings (on Forte)
sql/sql_class.h:
Renamed local variable to avoid hiding class variable
sql/sql_db.cc:
Declare functions sent to C code with extern "C" to avoid compiler warnings (on Forte)
sql/sql_delete.cc:
Renamed local variable to avoid hiding class variable
sql/sql_handler.cc:
index_read() -> index_read_map()
sql/sql_help.cc:
index_read() -> index_read_map()
sql/sql_insert.cc:
index_read() -> index_read_map()
Renamed local variable to avoid hiding class variable
sql/sql_lex.cc:
Renamed local variable to avoid hiding class variable
sql/sql_plugin.cc:
Declare functions sent to C code with extern "C" to avoid compiler warnings (on Forte)
index_read() -> index_read_map()
Don't give warnings about not used plugins if we are using --warnings=0
sql/sql_select.cc:
index_read() -> index_read_map()
sql-common/client.c:
Fixed compiler warning (on Forte)
sql-common/my_time.c:
Removed never accessed code
Fixed compiler warning (on Forte)
sql/sql_servers.cc:
index_read() -> index_read_map()
sql/sql_show.cc:
Added TRANSACTIONAL to SHOW CREATE
Fixed ROW_TYPE_PAGE
sql/sql_string.cc:
Avoid compiler warnings when using C function pointers in C++
sql/sql_table.cc:
Set create_info->transactional if we used TRANSACTIONAL=1
sql/sql_udf.cc:
index_read() -> index_read_map()
sql/sql_yacc.yy:
Added TRANSACTIONAL=0|1 to CREATE (for future)
Added row type PAGE (was only partionally handled before)
sql/strfunc.cc:
Avoid compiler warnings when using C function pointers in C++
sql/table.cc:
More DBUG statements
Declare all create_backup_ctx() functions identically
Remember if table was created with TRANSACTIONAL flag or not (future safe)
Renamed local variable to avoid hiding class variable
sql/table.h:
Remember if table was created with TRANSACTIONAL=1
sql/tztime.cc:
index_read() -> index_read_map()
sql-common/pack.c:
Fixed compiler warning (on Forte)
storage/archive/archive_reader.c:
Fixed compiler warning (on Forte)
storage/archive/azio.c:
Fixed compiler warning (on Forte)
storage/blackhole/ha_blackhole.cc:
index_read() -> index_read_map()
storage/blackhole/ha_blackhole.h:
index_read() -> index_read_map()
storage/csv/ha_tina.cc:
Declare functions sent to C code with extern "C" to avoid compiler warnings (on Forte)
storage/example/ha_example.cc:
index_read() -> index_read_map()
storage/example/ha_example.h:
index_read() -> index_read_map()
storage/heap/ha_heap.cc:
index_read() -> index_read_map()
storage/heap/ha_heap.h:
index_read() -> index_read_map()
storage/heap/hp_test1.c:
Fixed compiler warning (on Forte)
storage/heap/hp_test2.c:
Fixed compiler warning (on Forte)
storage/myisam/ft_boolean_search.c:
Fixed compiler warning (on Forte)
storage/myisam/ft_nlq_search.c:
Fixed compiler warning (on Forte)
storage/myisam/ft_parser.c:
Fixed compiler warning (on Forte)
storage/myisam/ft_stopwords.c:
Fixed compiler warning (on Forte)
storage/myisam/ha_myisam.cc:
index_read() -> index_read_map()
storage/myisam/ha_myisam.h:
index_read() -> index_read_map()
storage/myisam/mi_check.c:
Fixed compiler warning (on Forte)
storage/myisam/mi_delete.c:
Fixed compiler warning (on Forte)
storage/myisam/mi_dynrec.c:
Fixed compiler warning (on Forte)
storage/myisam/mi_extra.c:
Fixed compiler warning (on Forte)
storage/myisam/mi_key.c:
Fixed compiler warning (on Forte)
storage/myisam/mi_keycache.c:
Fixed compiler warning (on Forte)
storage/myisam/mi_locking.c:
Fixed compiler warning (on Forte)
storage/myisam/mi_log.c:
Fixed compiler warning (on Forte)
storage/myisam/mi_open.c:
Fixed compiler warning (on Forte)
storage/myisam/mi_packrec.c:
Fixed compiler warning (on Forte)
storage/myisam/mi_page.c:
Fixed compiler warning (on Forte)
storage/myisam/mi_rkey.c:
Added comment
storage/myisam/mi_search.c:
Fixed compiler warning (on Forte)
storage/myisam/mi_statrec.c:
Fixed compiler warning (on Forte)
storage/myisam/mi_test1.c:
Fixed compiler warning (on Forte)
storage/myisam/mi_test2.c:
Fixed compiler warning (on Forte)
storage/myisam/mi_test3.c:
Fixed compiler warning (on Forte)
storage/myisam/mi_update.c:
Fixed compiler warning (on Forte)
storage/myisam/mi_write.c:
Fixed compiler warning (on Forte)
storage/myisam/myisamdef.h:
Fixed that file_read/file_write returns type size_t
Changed some functions to use uchar * as argument/return value instead of char*
This fixed some compiler warnings on Forte
storage/myisam/myisamlog.c:
Fixed compiler warning (on Forte)
storage/myisam/myisampack.c:
Fixed compiler warning (on Forte)
storage/myisam/rt_test.c:
Fixed compiler warning (on Forte)
storage/myisam/sort.c:
Fixed compiler warning (on Forte) by adding casts or changing variables to uchar*
storage/myisam/sp_test.c:
Fixed compiler warning (on Forte) by adding casts or changing variables to uchar*
storage/myisammrg/ha_myisammrg.cc:
index_read() -> index_read_map()
storage/myisammrg/ha_myisammrg.h:
index_read() -> index_read_map()
storage/myisammrg/myrg_create.c:
Fixed compiler warning (on Forte) by adding casts or changing variable types
storage/ndb/src/kernel/blocks/dbtup/DbtupExecQuery.cpp:
Tdummy -> align (as in other part of cluster code)
storage/ndb/src/kernel/vm/DynArr256.cpp:
Removed not used variable
storage/ndb/src/ndbapi/Ndb.cpp:
Removed not used variable
strings/strtod.c:
Include ieeefp.h to avoid compiler warning
tests/bug25714.c:
Fixed compiler warning
tests/mysql_client_test.c:
Remove not used variable
Fixed indentation
Removed never reached code
Fixed compiler warning (on Forte) by adding casts or changing variable types
vio/viosocket.c:
Fixed compiler warning (on Forte) by adding casts or changing variable types
Additional changes for bug#29903
- Changed to do embedded build part as normal build, when
WITH_EMBEDDED_SERVER is set.
- Allow both normal and debug build with embedded.
- Build static embedded library by pointing out all source and compile
it all, i.e. not building libraries from libraries, not portable.
- Let embedded use generated files from the "sql" directory, added
dependencies to make sure built before embedded.
- Mark library "dbug" in TARGET_LINK_LIBRARIES() with "debug", so only
linked in when debug target is used.
- Removed change of target name with "mysqld${MYSQLD_EXE_SUFFIX}", as
others can't depend on it, not defined at configure time. Instead
set the output file name.
- Created work around for bug in CMake 2.4.6 and output names, to
set the "mysqld<suffix>.pdb" name to the same base name.
- Set the correct manifest "name" (patch by iggy)
CMakeLists.txt:
Changes for embedded and Windows
libmysql/CMakeLists.txt:
Changes for embedded and Windows
libmysqld/CMakeLists.txt:
Changes for embedded and Windows
libmysqld/examples/CMakeLists.txt:
Changes for embedded and Windows
mysys/CMakeLists.txt:
Changes for embedded and Windows
regex/CMakeLists.txt:
Changes for embedded and Windows
server-tools/instance-manager/CMakeLists.txt:
Changes for embedded and Windows
sql/CMakeLists.txt:
Changes for embedded and Windows
storage/archive/CMakeLists.txt:
Changes for embedded and Windows
storage/blackhole/CMakeLists.txt:
Changes for embedded and Windows
storage/csv/CMakeLists.txt:
Changes for embedded and Windows
storage/example/CMakeLists.txt:
Changes for embedded and Windows
storage/federated/CMakeLists.txt:
Changes for embedded and Windows
storage/heap/CMakeLists.txt:
Changes for embedded and Windows
storage/innobase/CMakeLists.txt:
Changes for embedded and Windows
storage/myisam/CMakeLists.txt:
Changes for embedded and Windows
storage/myisammrg/CMakeLists.txt:
Changes for embedded and Windows
strings/CMakeLists.txt:
Changes for embedded and Windows
vio/CMakeLists.txt:
Changes for embedded and Windows
win/README:
Changes for embedded and Windows
win/configure.js:
Changes for embedded and Windows
win/mysql_manifest.cmake:
Changes for embedded and Windows
into pippilotta.erinye.com:/shared/home/df/mysql/build/mysql-5.1-build-marvel-engines
BitKeeper/etc/ignore:
auto-union
configure.in:
Auto merged
BitKeeper/deleted/.del-CMakeLists.txt~99a50df6:
Auto merged
client/mysqlbinlog.cc:
Auto merged
client/mysqldump.c:
Auto merged
include/mysql.h:
Auto merged
mysql-test/t/disabled.def:
Auto merged
sql/field.cc:
Auto merged
sql/field.h:
Auto merged
sql/ha_ndbcluster_binlog.cc:
Auto merged
sql/handler.cc:
Auto merged
sql/item.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/sql_base.cc:
Auto merged
sql/sql_class.cc:
Auto merged
sql/sql_class.h:
Auto merged
sql/sql_insert.cc:
Auto merged
sql/sql_show.cc:
Auto merged
sql/sql_table.cc:
Auto merged
sql/table.cc:
Auto merged
sql/sql_parse.cc:
merge fix
sql/sql_select.cc:
merge fix
into trift2.:/MySQL/M51/push-5.1
BitKeeper/deleted/.del-CMakeLists.txt~2eb9019b:
Auto merged
BitKeeper/deleted/.del-CMakeLists.txt~86a68ea1:
Auto merged
BitKeeper/deleted/.del-CMakeLists.txt~99a50df6:
Auto merged
BitKeeper/deleted/.del-CMakeLists.txt~ef945345:
Auto merged
BitKeeper/deleted/.del-CMakeLists.txt~fdec1f01:
Auto merged
dbug/CMakeLists.txt:
Auto merged
tests/CMakeLists.txt:
Auto merged
zlib/CMakeLists.txt:
Auto merged
client/CMakeLists.txt:
Will be re-applied using "patch".
libmysql/CMakeLists.txt:
Will be re-applied using "patch".
mysys/CMakeLists.txt:
Will be re-applied using "patch".
sql/CMakeLists.txt:
Will be re-applied using "patch".
into trift2.:/MySQL/M51/push-5.1
BitKeeper/deleted/.del-CMakeLists.txt~5b8836e4:
Auto merged
BitKeeper/deleted/.del-CMakeLists.txt~fc201a06:
Auto merged
CMakeLists.txt:
Auto merged
tests/CMakeLists.txt:
Auto merged
compatibility hook, thd_mark_transaction_to_rollback().
mysql-test/r/ps.result:
Post-merge fix. Changes for WL 3984 (Revise locking
of mysql.general_log and mysql.slow_log) cause some test
result differences.
mysql-test/r/show_check.result:
Post-merge fix. Changes for WL 3984 (Revise locking
of mysql.general_log and mysql.slow_log) cause some test
result differences.
sql/sql_class.cc:
Post-merge fix, add InnoDB compatibility hook (defined for
InnoDB only), thd_mark_transaction_to_rollback().
storage/innobase/handler/ha_innodb.cc:
Post-merge fix, add InnoDB compatibility hook (defined for
InnoDB only), thd_mark_transaction_to_rollback().
storage/innobase/handler/ha_innodb.h:
Post-merge fix, add InnoDB compatibility hook (defined for
InnoDB only), thd_mark_transaction_to_rollback().
into mysql.com:/home/my/mysql-5.1
client/client_priv.h:
Auto merged
client/mysqldump.c:
Auto merged
client/mysqlslap.c:
Auto merged
mysql-test/mysql-test-run.pl:
Auto merged
mysql-test/lib/mtr_report.pl:
Auto merged
mysql-test/t/disabled.def:
Auto merged
sql/event_data_objects.cc:
Auto merged
sql/event_queue.cc:
Auto merged
sql/ha_partition.cc:
Auto merged
sql/lock.cc:
Auto merged
sql/log.cc:
Auto merged
sql/log.h:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/set_var.cc:
Auto merged
sql/slave.cc:
Auto merged
sql/sql_class.cc:
Auto merged
sql/sql_class.h:
Auto merged
sql/sql_insert.cc:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_plugin.cc:
Auto merged
sql/sql_select.cc:
Auto merged
sql-common/client.c:
Auto merged
sql/sql_show.cc:
Auto merged
sql/sql_table.cc:
Auto merged
sql/sql_cache.cc:
Manual merge
Removed comment about bug in old code (not relevant)
sql/handler.cc:
Auto merged
sql/handler.h:
Auto merged
sql/sp_head.cc:
Auto merged
sql/sp_rcontext.cc:
Auto merged
sql/sql_base.cc:
Auto merged
sql/sql_select.cc:
Auto merged
sql/sql_select.h:
Auto merged
sql/sql_table.cc:
Auto merged
sql/sql_union.cc:
Auto merged
sql/sql_yacc.yy:
Auto merged
sql/table.cc:
Auto merged
mysql-test/include/read_many_rows.inc:
Manual merge
mysql-test/r/read_many_rows_innodb.result:
Manual merge
sql/sql_class.cc:
Manual merge
sql/sql_class.h:
Manual merge
storage/innobase/handler/ha_innodb.cc:
Manual merge
into ramayana.hindu.god:/home/tsmith/m/bk/maint/51
BitKeeper/deleted/.del-CMakeLists.txt~1:
Auto merged
CMakeLists.txt:
Auto merged
configure.in:
Auto merged
sql/sql_parse.cc:
Auto merged
into ramayana.hindu.god:/home/tsmith/m/bk/maint/51
mysql-test/include/mix1.inc:
Auto merged
mysql-test/r/innodb_mysql.result:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/sql_base.cc:
Auto merged
sql/sql_class.cc:
Auto merged
sql/sql_class.h:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_table.cc:
Auto merged
Marko after applying latest snapshot).
storage/innobase/handler/ha_innodb.cc:
Remove redundant assignment to thd_to_trx(thd); trx is
declared as a reference to thd_to_trx(thd) at the top
of the function, so this assignment isn't useful.
storage/innobase/include/trx0trx.h:
Remove two unused members from struct trx_struct. allow_duplicates
and replace_duplicates are not used; a single duplicates member is
used instead to represent both flags.
5.1 specific fixes so cluster will build on AIX (with IBM compiler)
config/ac-macros/ha_ndbcluster.m4:
Bug #10776: Failure to compile ndb ReadNodesConf.cpp on AIX 5.2 (1)
build NDB binaries as static on AIX. because that actually
*works*.
when building dynamic, with the IBM compiler (xlC_r), and
the build breaks on AIX due to missing symbols
(__vec__delete2 et al.), try adding -lhC to the Makefile.
storage/ndb/src/mgmclient/Makefile.am:
Bug #10776: Failure to compile ndb ReadNodesConf.cpp on AIX 5.2 (2)
fix path
storage/ndb/src/ndbapi/NdbScanOperation.cpp:
Bug #10776: Failure to compile ndb ReadNodesConf.cpp on AIX 5.2 (3)
__align is a keyword in xlC_r
storage/ndb/test/ndbapi/testIndexStat.cpp:
Bug #10776: Failure to compile ndb ReadNodesConf.cpp on AIX 5.2 (4)
gptr is now uchar*
template can't be static on xlC_r?
storage/ndb/test/ndbapi/test_event_merge.cpp:
Bug #10776: Failure to compile ndb ReadNodesConf.cpp on AIX 5.2 (4)
gptr is now uchar*
storage/ndb/test/run-test/main.cpp:
Bug #10776: Failure to compile ndb ReadNodesConf.cpp on AIX 5.2 (4)
gptr is now uchar*
storage/ndb/test/src/NDBT_Test.cpp:
Bug #10776: Failure to compile ndb ReadNodesConf.cpp on AIX 5.2 (4)
gptr is now uchar*
into sin.intern.azundris.com:/home/tnurnberg/10776/51-10776
include/mysql.h:
Auto merged
storage/ndb/src/mgmclient/Makefile.am:
Auto merged
storage/ndb/test/ndbapi/benchronja.cpp:
Auto merged
storage/ndb/test/ndbapi/flexAsynch.cpp:
Auto merged
storage/ndb/test/ndbapi/flexHammer.cpp:
Auto merged
storage/ndb/test/ndbapi/flexScan.cpp:
Auto merged
storage/ndb/test/ndbapi/flexTT.cpp:
Auto merged
storage/ndb/test/ndbapi/flexTimedAsynch.cpp:
Auto merged
storage/ndb/test/ndbapi/initronja.cpp:
Auto merged
storage/ndb/test/ndbapi/testOperations.cpp:
Auto merged
storage/ndb/test/ndbapi/testScanFilter.cpp:
Auto merged
storage/ndb/test/odbc/SQL99_test/SQL99_test.cpp:
Auto merged
configure.in:
manual merge
storage/ndb/src/common/util/File.cpp:
manual merge
storage/ndb/src/mgmsrv/Makefile.am:
manual merge
into ramayana.hindu.god:/home/tsmith/m/bk/maint/jul31/51
mysql-test/r/federated.result:
Auto merged
mysql-test/t/federated.test:
Auto merged
sql/sql_select.cc:
Auto merged
sql/sql_table.cc:
Auto merged
storage/federated/ha_federated.h:
Auto merged
storage/innobase/handler/ha_innodb.cc:
Auto merged
mysql-test/include/mix1.inc:
Manual merge
mysql-test/r/innodb_mysql.result:
Manual merge
into bodhi.(none):/opt/local/work/mysql-5.1-runtime
client/mysqldump.c:
Auto merged
mysql-test/r/mysqldump.result:
Auto merged
mysql-test/t/disabled.def:
Auto merged
mysql-test/t/mysqldump.test:
Auto merged
sql/handler.cc:
Auto merged
sql/lock.cc:
Auto merged
sql/sql_base.cc:
Auto merged
sql/sql_lex.cc:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_table.cc:
Auto merged
sql/table.cc:
Auto merged
sql/table.h:
Auto merged
mysql-test/include/mix1.inc:
Manual merge.
mysql-test/r/innodb_mysql.result:
Manual merge.
They had been introduced in 5.1 and were only later backported to 5.0;
as a consequence, the files in the 5.1 tree do not depend on the 5.0 ones,
and changes in 5.0 do not propagate into the 5.1 files.
To fix this, the (previous) files in 5.1 now are deleted ("bk rm"),
and the previously deleted files depending on 5.0 are now moved to the
respective source directories ("bk mv").
The current 5.1 contents is restored in these files.
If you need the previous history of the 5.1 files ("bk revtool"),
access those in "BitKeeper/deleted".
Contrary to the original plan, I did not introduce the name
"CMakeLists.historic" - mostly in order not to clutter the source tree.
This fixes bug#29982.
BitKeeper/deleted/.del-CMakeLists.txt~2eb9019b:
Delete: client/CMakeLists.txt
BitKeeper/deleted/.del-CMakeLists.txt~5b8836e4:
Delete: CMakeLists.txt
BitKeeper/deleted/.del-CMakeLists.txt~93f0d646:
Delete: dbug/CMakeLists.txt
dbug/CMakeLists.txt:
Rename: BitKeeper/deleted/.del-CMakeLists.txt~9 -> dbug/CMakeLists.txt
BitKeeper/deleted/.del-CMakeLists.txt~57492bba:
Delete: extra/CMakeLists.txt
BitKeeper/deleted/.del-CMakeLists.txt~8c35983c:
Delete: extra/yassl/CMakeLists.txt
BitKeeper/deleted/.del-CMakeLists.txt~c3563d5f:
Delete: extra/yassl/taocrypt/CMakeLists.txt
extra/yassl/CMakeLists.txt:
Rename: BitKeeper/deleted/.del-CMakeLists.txt~11 -> extra/yassl/CMakeLists.txt
extra/yassl/taocrypt/CMakeLists.txt:
Rename: BitKeeper/deleted/.del-CMakeLists.txt~12 -> extra/yassl/taocrypt/CMakeLists.txt
BitKeeper/deleted/.del-CMakeLists.txt~99a50df6:
Delete: libmysql/CMakeLists.txt
BitKeeper/deleted/.del-CMakeLists.txt~86a68ea1:
Delete: mysys/CMakeLists.txt
BitKeeper/deleted/.del-CMakeLists.txt~9e206e11:
Delete: regex/CMakeLists.txt
BitKeeper/deleted/.del-CMakeLists.txt~95969b72:
Delete: server-tools/instance-manager/CMakeLists.txt
BitKeeper/deleted/.del-CMakeLists.txt~fdec1f01:
Delete: sql/CMakeLists.txt
BitKeeper/deleted/.del-CMakeLists.txt~1960eb07:
Delete: storage/innobase/CMakeLists.txt
BitKeeper/deleted/.del-CMakeLists.txt~96726c3b:
Delete: storage/myisam/CMakeLists.txt
BitKeeper/deleted/.del-CMakeLists.txt~bb293bb4:
Delete: storage/heap/CMakeLists.txt
BitKeeper/deleted/.del-CMakeLists.txt~5fa65a12:
Delete: strings/CMakeLists.txt
BitKeeper/deleted/.del-CMakeLists.txt~fb3a3a47:
Delete: storage/myisammrg/CMakeLists.txt
BitKeeper/deleted/.del-CMakeLists.txt~fc201a06:
Delete: tests/CMakeLists.txt
tests/CMakeLists.txt:
Rename: BitKeeper/deleted/.del-CMakeLists.txt~5 -> tests/CMakeLists.txt
BitKeeper/deleted/.del-CMakeLists.txt~2a609d33:
Delete: vio/CMakeLists.txt
vio/CMakeLists.txt:
Rename: BitKeeper/deleted/.del-CMakeLists.txt~6 -> vio/CMakeLists.txt
BitKeeper/deleted/.del-CMakeLists.txt~ef945345:
Delete: zlib/CMakeLists.txt
zlib/CMakeLists.txt:
Rename: BitKeeper/deleted/.del-CMakeLists.txt~8 -> zlib/CMakeLists.txt
CMakeLists.txt:
Restore the current 5.1 contents into the 5.0-dependent file.
For the previous 5.1 history of this file, see the one in "BitKeeper/deleted".
client/CMakeLists.txt:
Restore the current 5.1 contents into the 5.0-dependent file.
For the previous 5.1 history of this file, see the one in "BitKeeper/deleted".
extra/CMakeLists.txt:
Restore the current 5.1 contents into the 5.0-dependent file.
For the previous 5.1 history of this file, see the one in "BitKeeper/deleted".
libmysql/CMakeLists.txt:
Restore the current 5.1 contents into the 5.0-dependent file.
For the previous 5.1 history of this file, see the one in "BitKeeper/deleted".
mysys/CMakeLists.txt:
Restore the current 5.1 contents into the 5.0-dependent file.
For the previous 5.1 history of this file, see the one in "BitKeeper/deleted".
regex/CMakeLists.txt:
Restore the current 5.1 contents into the 5.0-dependent file.
For the previous 5.1 history of this file, see the one in "BitKeeper/deleted".
server-tools/instance-manager/CMakeLists.txt:
Restore the current 5.1 contents into the 5.0-dependent file.
For the previous 5.1 history of this file, see the one in "BitKeeper/deleted".
sql/CMakeLists.txt:
Restore the current 5.1 contents into the 5.0-dependent file.
For the previous 5.1 history of this file, see the one in "BitKeeper/deleted".
storage/heap/CMakeLists.txt:
Restore the current 5.1 contents into the 5.0-dependent file.
For the previous 5.1 history of this file, see the one in "BitKeeper/deleted".
storage/innobase/CMakeLists.txt:
Restore the current 5.1 contents into the 5.0-dependent file.
For the previous 5.1 history of this file, see the one in "BitKeeper/deleted".
storage/myisam/CMakeLists.txt:
Restore the current 5.1 contents into the 5.0-dependent file.
For the previous 5.1 history of this file, see the one in "BitKeeper/deleted".
storage/myisammrg/CMakeLists.txt:
Restore the current 5.1 contents into the 5.0-dependent file.
For the previous 5.1 history of this file, see the one in "BitKeeper/deleted".
strings/CMakeLists.txt:
Restore the current 5.1 contents into the 5.0-dependent file.
For the previous 5.1 history of this file, see the one in "BitKeeper/deleted".
into dev3-63.(none):/home/zhl/mysql/mysql-5.1/bug23354
storage/ndb/src/common/debugger/EventLogger.cpp:
Auto merged
storage/ndb/src/mgmclient/CommandInterpreter.cpp:
Auto merged
into weblab.(none):/home/marcsql/TREE/mysql-5.1-25422-d
client/mysqldump.c:
Auto merged
mysql-test/r/log_state.result:
Auto merged
mysql-test/r/show_check.result:
Auto merged
mysql-test/t/show_check.test:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/share/errmsg.txt:
Auto merged
sql/sp.cc:
Auto merged
updated to keypart_map api
storage/myisam/mi_test2.c:
Bug #30094 mi_test_all: assertion failure
updated to keypart_map api
prefix char keys are not supported anymore
Bug#25422 (Hang with log tables)
Bug 17876 (Truncating mysql.slow_log in a SP after using cursor locks the
thread)
Bug 23044 (Warnings on flush of a log table)
Bug 29129 (Resetting general_log while the GLOBAL READ LOCK is set causes
a deadlock)
Prior to this fix, the server would hang when performing concurrent
ALTER TABLE or TRUNCATE TABLE statements against the LOG TABLES,
which are mysql.general_log and mysql.slow_log.
The root cause traces to the following code:
in sql_base.cc, open_table()
if (table->in_use != thd)
{
/* wait_for_condition will unlock LOCK_open for us */
wait_for_condition(thd, &LOCK_open, &COND_refresh);
}
The problem with this code is that the current implementation of the
LOGGER creates 'fake' THD objects, like
- Log_to_csv_event_handler::general_log_thd
- Log_to_csv_event_handler::slow_log_thd
which are not associated to a real thread running in the server,
so that waiting for these non-existing threads to release table locks
cause the dead lock.
In general, the design of Log_to_csv_event_handler does not fit into the
general architecture of the server, so that the concept of general_log_thd
and slow_log_thd has to be abandoned:
- this implementation does not work with table locking
- it will not work with commands like SHOW PROCESSLIST
- having the log tables always opened does not integrate well with DDL
operations / FLUSH TABLES / SET GLOBAL READ_ONLY
With this patch, the fundamental design of the LOGGER has been changed to:
- always open and close a log table when writing a log
- remove totally the usage of fake THD objects
- clarify how locking of log tables is implemented in general.
See WL#3984 for details related to the new locking design.
Additional changes (misc bugs exposed and fixed):
1)
mysqldump which would ignore some tables in dump_all_tables_in_db(),
but forget to ignore the same in dump_all_views_in_db().
2)
mysqldump would also issue an empty "LOCK TABLE" command when all the tables
to lock are to be ignored (numrows == 0), instead of not issuing the query.
3)
Internal errors handlers could intercept errors but not warnings
(see sql_error.cc).
4)
Implementing a nested call to open tables, for the performance schema tables,
exposed an existing bug in remove_table_from_cache(), which would perform:
in_use->some_tables_deleted=1;
against another thread, without any consideration about thread locking.
This call inside remove_table_from_cache() was not required anyway,
since calling mysql_lock_abort() takes care of aborting -- cleanly -- threads
that might hold a lock on a table.
This line (in_use->some_tables_deleted=1) has been removed.
sql/handler.cc:
Moved logic for system / log tables in the SQL layer.
sql/handler.h:
Moved logic for system / log tables in the SQL layer.
sql/lock.cc:
Revised locking of log tables
sql/log.cc:
Major cleanup: changed how log tables are locked / written to.
sql/log.h:
Major cleanup: changed how log tables are locked / written to.
sql/mysql_priv.h:
performance schema helpers
sql/slave.cc:
open_ltable() lock flags
sql/sp.cc:
open_ltable() lock flags
sql/sql_acl.cc:
open_ltable() lock flags
sql/sql_class.h:
performance schema helpers
sql/sql_delete.cc:
log tables cleanup in TRUNCATE
sql/sql_error.cc:
Internal handlers can also intercept warnings
sql/sql_insert.cc:
open_ltable() lock flags
sql/sql_parse.cc:
performance schema helpers
sql/sql_plugin.cc:
open_ltable() lock flags
sql/sql_rename.cc:
log tables cleanup in RENAME
sql/sql_servers.cc:
open_ltable() lock flags
sql/sql_show.cc:
Move INFORMATION_SCHEMA_NAME to table.cc
sql/sql_table.cc:
log tables cleanup (admin operations, ALTER TABLE)
sql/sql_udf.cc:
open_ltable() lock flags
sql/table.cc:
Implemented TABLE_CATEGORY.
sql/share/errmsg.txt:
Changed the wording and name of ER_CANT_READ_LOCK_LOG_TABLE
sql/table.h:
Implemented TABLE_CATEGORY.
storage/csv/ha_tina.cc:
Moved logic for system / log tables in the SQL layer.
storage/csv/ha_tina.h:
Moved logic for system / log tables in the SQL layer.
storage/myisam/ha_myisam.cc:
Moved logic for system / log tables in the SQL layer.
storage/myisam/ha_myisam.h:
Moved logic for system / log tables in the SQL layer.
client/mysqldump.c:
Don't lock tables in the ignore list.
Don't issue empty LOCK TABLES queries.
sql/sql_base.cc:
log tables cleanup
performance schema helpers
mysql-test/r/ps.result:
Adjust test results
mysql-test/r/show_check.result:
Adjust test results
mysql-test/r/status.result:
Adjust test results
mysql-test/t/log_state.test:
Added tests for Bug#29129
mysql-test/t/ps.test:
Make the test output deterministic
mysql-test/t/show_check.test:
Make the test output deterministic
mysql-test/r/log_state.result:
Changed the default location of the log output to LOG_FILE,
for backward compatibility with MySQL 5.0
---
Adjust test results
mysql-test/r/log_tables.result:
cleanup for -ps-protocol
mysql-test/t/log_tables.test:
cleanup for -ps-protocol
sql/set_var.cc:
Changed the default location of the log output to LOG_FILE,
for backward compatibility with MySQL 5.0
---
log tables cleanup
into gleb.loc:/home/uchum/work/bk/5.1-opt
mysql-test/r/having.result:
Auto merged
mysql-test/t/create.test:
Auto merged
mysql-test/t/having.test:
Auto merged
sql/field.cc:
Auto merged
sql/sql_select.cc:
Auto merged
mysql-test/include/mix1.inc:
Merge with 5.0-opt.
mysql-test/r/create.result:
Merge with 5.0-opt.
mysql-test/r/innodb_mysql.result:
Merge with 5.0-opt.
mysql-test/r/type_enum.result:
Merge with 5.0-opt.
mysql-test/t/type_enum.test:
Merge with 5.0-opt.
sql/filesort.cc:
Merge with 5.0-opt.
sql/sql_base.cc:
Merge with 5.0-opt.
sql/table.cc:
Merge with 5.0-opt.
storage/innobase/handler/ha_innodb.cc:
Merge with 5.0-opt.
into xiphis.org:/anubis/antony/work/p2-bug25679.3.merge-5.1
mysql-test/r/federated.result:
Auto merged
mysql-test/t/federated.test:
Auto merged
storage/federated/ha_federated.h:
Auto merged
storage/federated/ha_federated.cc:
manual merge 5.0 to 5.1
Stopping mysql server could result in an entry in mysql error
file: "InnoDB: Error: MySQL is freeing a thd".
This happened because InnoDB assumes that the server will never
call external_lock(F_UNLCK) in case external_lock(READ/WRITE)
failed.
Prior to this patch we haven't had strict definition whether
external_lock(F_UNLCK) must be called in case external_lock(READ/WRITE)
fails.
This patch states that we never call external_lock(F_UNLCK) in case
external_lock(READ/WRITE) fails.
mysql-test/suite/binlog/t/disabled.def:
Re-enabled binlog_innodb and binlog_killed tests.
sql/ha_ndbcluster.cc:
Restore handler state in case external_lock() failed.
sql/ha_partition.cc:
Do not call external_lock(F_UNLCK) in case external_lock(READ/WRITE) failed.
sql/lock.cc:
Do not call external_lock(F_UNLCK) in case external_lock(READ/WRITE) failed.
storage/myisammrg/myrg_locking.c:
Restore handler state in case external_lock() failed.
for enabling threads. However, duplicate AC_PROG_* macros in the
innobase plug.in file were resetting $CC and causing link errors.
As AC_PROG_* macros are already used in the main configure.in file
there should be no need for them to be duplicated here too.
storage/innobase/plug.in:
Remove AC_PROG_* macros
Fixes:
- Bug #23710: crash_commit_before fails if innodb_file_per_table=1
- Bug #28254: innodb crash if shutdown during innodb_table_monitor is running
- Bug #28604: innodb_force_recovery restricts data dump
- Bug #29097: fsp_get_available_space_in_free_extents() is capped at 4TB
- Bug #29155: Innodb "Parallel recovery" is not prevented
storage/innobase/Makefile.am:
Apply snapshot innodb-51-ss1644
Revision r1632:
Add include/lock0priv.h to noinst_HEADERS in Makefile.am.
Revision r1636:
Move lock_get_type() from lock/lock0lock.c to include/lock0priv.ic:
* lock0lock.c: remove lock_get_type() and include include/lock0priv.ic
* lock0priv.h: include lock0priv.ic and add lock_get_type() prototype
* Makefile.am: add lock0priv.ic to noinst_HEADERS
* lock0priv.ic: introduce this new file containing the body of
lock_get_type()
This move is necessary in order to use lock_get_type() from other lock/
source files (it's going to be used in lock/lock0iter.c).
Approved by: Heikki
Revision r1638:
Introduce a lock queue iterator for easy (and opaque) traversing of lock
queues. Supports table and record lock queues via the same interface.
There is only "get previous" method because currently there is no need
for "get next" - it would be unused. Feel free to add one if needed.
Approved by: Heikki
storage/innobase/buf/buf0buf.c:
Apply snapshot innodb-51-ss1644
Revision r1624:
Fix change missed as part of Bug 15815. Use a function to check if a block
needs to be made younger.
Revision r1581:
Port extra Valgrind instrumentation (UNIV_DEBUG_VALGRIND) from branches/zip.
storage/innobase/buf/buf0lru.c:
Apply snapshot innodb-51-ss1644
Revision r1581:
Port extra Valgrind instrumentation (UNIV_DEBUG_VALGRIND) from branches/zip.
storage/innobase/fsp/fsp0fsp.c:
Apply snapshot innodb-51-ss1644
Revision r1605:
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
storage/innobase/handler/ha_innodb.cc:
Apply snapshot innodb-51-ss1644
Revision r1605:
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 r1573:
create_table_def(): Eliminate the inline function call to dict_table_is_comp()
that was introduced in r1571. Inlining is disabled in ha_innodb.cc.
Revision r1574:
innodb_check_for_record_too_big_error(): Divide the return value of
page_get_free_space_of_empty_noninline() by 2. Until r1571, that function
did not return the same value as page_get_free_space_of_empty().
Revision r1571:
Fix a severe bug that was introduced in r1422 when fixing Bug 21101.
When creating an index containing a too long record, InnoDB would
dereference a NULL pointer when trying to determine the maximum row length.
innodb_check_for_record_too_big_error(): Replace the dict_table_t*
parameter with a Boolean flag. There is not always a dict_table_t object
when this function is called.
page_get_free_space_of_empty_noninline(): Move the definition and
declaration from row0mysql (!) to page0page. Make the signature
identical with page_get_free_space_of_empty().
create_clustered_index_when_no_primary(): Add the parameter "comp".
Remove unnecessary casts.
storage/innobase/include/buf0buf.ic:
Apply snapshot innodb-51-ss1644
Revision r1624:
Fix change missed as part of Bug 15815. Use a function to check if a block
needs to be made younger.
storage/innobase/include/fsp0fsp.h:
Apply snapshot innodb-51-ss1644
Revision r1605:
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
storage/innobase/include/lock0lock.h:
Apply snapshot innodb-51-ss1644
Revision r1623:
Fix typo in comment.
Revision r1628:
lock_has_to_wait() is needed in the INFORMATION_SCHEMA implementation
in order to determine which lock is blocking which. Make it non-static
and put its definition in include/lock0lock.h.
Approved by: Heikki (via IM)
storage/innobase/include/mem0mem.ic:
Apply snapshot innodb-51-ss1644
Revision r1581:
Port extra Valgrind instrumentation (UNIV_DEBUG_VALGRIND) from branches/zip.
storage/innobase/include/page0page.h:
Apply snapshot innodb-51-ss1644
Revision r1571:
Fix a severe bug that was introduced in r1422 when fixing Bug 21101.
When creating an index containing a too long record, InnoDB would
dereference a NULL pointer when trying to determine the maximum row length.
innodb_check_for_record_too_big_error(): Replace the dict_table_t*
parameter with a Boolean flag. There is not always a dict_table_t object
when this function is called.
page_get_free_space_of_empty_noninline(): Move the definition and
declaration from row0mysql (!) to page0page. Make the signature
identical with page_get_free_space_of_empty().
create_clustered_index_when_no_primary(): Add the parameter "comp".
Remove unnecessary casts.
storage/innobase/include/row0mysql.h:
Apply snapshot innodb-51-ss1644
Revision r1571:
Fix a severe bug that was introduced in r1422 when fixing Bug 21101.
When creating an index containing a too long record, InnoDB would
dereference a NULL pointer when trying to determine the maximum row length.
innodb_check_for_record_too_big_error(): Replace the dict_table_t*
parameter with a Boolean flag. There is not always a dict_table_t object
when this function is called.
page_get_free_space_of_empty_noninline(): Move the definition and
declaration from row0mysql (!) to page0page. Make the signature
identical with page_get_free_space_of_empty().
create_clustered_index_when_no_primary(): Add the parameter "comp".
Remove unnecessary casts.
storage/innobase/include/univ.i:
Apply snapshot innodb-51-ss1644
Revision r1605:
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 r1581:
Port extra Valgrind instrumentation (UNIV_DEBUG_VALGRIND) from branches/zip.
storage/innobase/lock/lock0lock.c:
Apply snapshot innodb-51-ss1644
Revision r1631:
Move lock_rec_find_set_bit() and lock_rec_get_prev() from
lock/lock0lock.c to include/lock0priv.h and make them non-static.
They will be used in lock/lock0iter.c.
Approved by: Heikki
Revision r1636:
Move lock_get_type() from lock/lock0lock.c to include/lock0priv.ic:
* lock0lock.c: remove lock_get_type() and include include/lock0priv.ic
* lock0priv.h: include lock0priv.ic and add lock_get_type() prototype
* Makefile.am: add lock0priv.ic to noinst_HEADERS
* lock0priv.ic: introduce this new file containing the body of
lock_get_type()
This move is necessary in order to use lock_get_type() from other lock/
source files (it's going to be used in lock/lock0iter.c).
Approved by: Heikki
Revision r1628:
lock_has_to_wait() is needed in the INFORMATION_SCHEMA implementation
in order to determine which lock is blocking which. Make it non-static
and put its definition in include/lock0lock.h.
Approved by: Heikki (via IM)
Revision r1629:
Add "const" qualifiers to lock_get_type() and lock_get_mode().
Approved by: Sunny
Revision r1626:
Move lock_*struct structures from lock/lock0lock.c to include/lock0priv.h.
This is needed in order to add more code to lock/ that uses members of
these structures (internal to the lock module) but in a separate file,
rather than lock0lock.c. lock0lock.c is a way too big already.
Approved by: Sunny
storage/innobase/log/log0recv.c:
Apply snapshot innodb-51-ss1644
Revision r1607:
Bug#23710
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
storage/innobase/mem/mem0mem.c:
Apply snapshot innodb-51-ss1644
Revision r1581:
Port extra Valgrind instrumentation (UNIV_DEBUG_VALGRIND) from branches/zip.
storage/innobase/mem/mem0pool.c:
Apply snapshot innodb-51-ss1644
Revision r1581:
Port extra Valgrind instrumentation (UNIV_DEBUG_VALGRIND) from branches/zip.
storage/innobase/os/os0file.c:
Apply snapshot innodb-51-ss1644
Revision r1613:
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
storage/innobase/page/page0page.c:
Apply snapshot innodb-51-ss1644
Revision r1571:
Fix a severe bug that was introduced in r1422 when fixing Bug 21101.
When creating an index containing a too long record, InnoDB would
dereference a NULL pointer when trying to determine the maximum row length.
innodb_check_for_record_too_big_error(): Replace the dict_table_t*
parameter with a Boolean flag. There is not always a dict_table_t object
when this function is called.
page_get_free_space_of_empty_noninline(): Move the definition and
declaration from row0mysql (!) to page0page. Make the signature
identical with page_get_free_space_of_empty().
create_clustered_index_when_no_primary(): Add the parameter "comp".
Remove unnecessary casts.
storage/innobase/rem/rem0rec.c:
Apply snapshot innodb-51-ss1644
Revision r1581:
Port extra Valgrind instrumentation (UNIV_DEBUG_VALGRIND) from branches/zip.
storage/innobase/row/row0mysql.c:
Apply snapshot innodb-51-ss1644
Revision r1571:
Fix a severe bug that was introduced in r1422 when fixing Bug 21101.
When creating an index containing a too long record, InnoDB would
dereference a NULL pointer when trying to determine the maximum row length.
innodb_check_for_record_too_big_error(): Replace the dict_table_t*
parameter with a Boolean flag. There is not always a dict_table_t object
when this function is called.
page_get_free_space_of_empty_noninline(): Move the definition and
declaration from row0mysql (!) to page0page. Make the signature
identical with page_get_free_space_of_empty().
create_clustered_index_when_no_primary(): Add the parameter "comp".
Remove unnecessary casts.
storage/innobase/sync/sync0rw.c:
Apply snapshot innodb-51-ss1644
Revision r1598:
Add some comments.
Approved by: Heikki (via IM)
storage/innobase/sync/sync0sync.c:
Apply snapshot innodb-51-ss1644
Revision r1598:
Add some comments.
Approved by: Heikki (via IM)
storage/innobase/trx/trx0sys.c:
Apply snapshot innodb-51-ss1644
Revision r1581:
Port extra Valgrind instrumentation (UNIV_DEBUG_VALGRIND) from branches/zip.
storage/innobase/trx/trx0trx.c:
Apply snapshot innodb-51-ss1644
Revision r1595:
trx_commit_for_mysql(): Avoid acquiring and releasing kernel_mutex when
trx->sess or trx_dummy_sess is non-NULL.
storage/innobase/ut/ut0mem.c:
Apply snapshot innodb-51-ss1644
Revision r1581:
Port extra Valgrind instrumentation (UNIV_DEBUG_VALGRIND) from branches/zip.
Now we don't take any mutexes when creating or dropping internal HEAP tables during SELECT.
Change buffer sizes to size_t to make keycache 64 bit safe on platforms where sizeof(ulong) != sizeof(size_t)
BitKeeper/etc/ignore:
added support-files/mysqld_multi.server
include/heap.h:
Added 'internal_table' to HP_CREATE_INFO
include/keycache.h:
Change buffer sizes to size_t to make keycache 64 bit safe
include/my_base.h:
Added HA_OPEN_INTERNAL_TABLE to mark temporary tables that should be deleted on close
mysys/mf_keycache.c:
Change buffer sizes to size_t to make keycache 64 bit safe
sql/sql_select.cc:
Added HA_OPEN_INTERNAL_TABLE to mark temporary tables that should be deleted on close
Removed not anymore needed call to delete_table()
storage/heap/ha_heap.cc:
Added support for internal temporary tables that should be deleted on close.
Internal tables now use dedicated open and close calls to avoid taking mutexes.
If heap_open() failes, now delete the newly created table. (This fixes a possible memory leak)
Remove never executed info() in create()
storage/heap/ha_heap.h:
Added slots needed to handle internal temporary tables
storage/heap/heapdef.h:
Protect against C++ inclusion
storage/heap/hp_close.c:
Don't call list_delete() for internal temporary tables (They are not in the list)
storage/heap/hp_create.c:
Added HP_SHARE ** element to heap_create() to store the SHARE of the newly created table.
For internal temporary tables: Don't take any mutex and don't put them into the open table list.
storage/heap/hp_open.c:
Split heap_open() into sub functions to be able to create internal temporary tables without putting them in the heap_share_list.
Add faster open() functions for when we already know the 'share'.
storage/heap/hp_test1.c:
Update call to heap_create()
Initialize all keyinfo members.
storage/heap/hp_test2.c:
Update call to heap_create()
into ramayana.hindu.god:/home/tsmith/m/bk/maint/jul24/51
mysql-test/r/innodb_mysql.result:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/sql_table.cc:
Auto merged
mysql-test/include/mix1.inc:
Manual merge
into xiphis.org:/anubis/antony/work/p2-bug25714.1.merge-5.1
mysql-test/mysql-test-run.pl:
Auto merged
tests/Makefile.am:
Auto merged
storage/federated/ha_federated.cc:
manual merge from 5.0 to 5.1
"Disable transaction support in Federated storage engine"
Minimal patch to disable Federated's transactions until they can be fixed.
mysql-test/r/federated.result:
verify that transactions are disabled
mysql-test/t/disabled.def:
bug29875
disable federated_transactions test until Bug#29523 is resolved.
mysql-test/t/federated.test:
verify that transactions are disabled
storage/federated/ha_federated.cc:
bug29875
Disable support for transactions until fixed.
storage/federated/ha_federated.h:
bug29875
Disable support for transactions until fixed.
into gleb.loc:/home/uchum/work/bk/5.1-opt
mysql-test/t/disabled.def:
Auto merged
sql/set_var.cc:
Auto merged
sql/sql_class.h:
Auto merged
sql/sql_insert.cc:
SCCS merged
tests/mysql_client_test.c:
SCCS merged
into zippy.cornsilk.net:/home/cmiller/work/mysql/mysql-5.1-maint
mysql-test/t/federated.test:
Auto merged
storage/federated/ha_federated.h:
Auto merged
mysql-test/r/federated.result:
manual merge
into zippy.cornsilk.net:/home/cmiller/work/mysql/bug26909/my51-bug26909
mysql-test/r/federated.result:
Auto merged
mysql-test/t/federated.test:
Auto merged
storage/federated/ha_federated.h:
manual merge
into gleb.loc:/home/uchum/work/bk/5.1-opt
client/mysqldump.c:
Auto merged
include/my_base.h:
Auto merged
mysql-test/include/mix1.inc:
Auto merged
mysql-test/r/innodb_mysql.result:
Auto merged
mysql-test/t/disabled.def:
Auto merged
sql/sql_class.h:
Auto merged
sql/sql_insert.cc:
Auto merged
sql/sql_select.cc:
Auto merged
sql/sql_table.cc:
Auto merged
sql/sql_update.cc:
Auto merged
storage/myisam/ha_myisam.cc:
Auto merged
into magare.gmz:/home/kgeorge/mysql/work/merge-5.0-5.1-opt
mysql-test/r/type_time.result:
Auto merged
sql/field.cc:
Auto merged
sql/item_cmpfunc.cc:
Auto merged
BitKeeper/deleted/.del-index_merge.result:
Auto merged
mysql-test/include/index_merge1.inc:
Auto merged
sql/item_cmpfunc.h:
Auto merged
sql/opt_range.cc:
Auto merged
storage/heap/ha_heap.cc:
Auto merged
storage/heap/ha_heap.h:
Auto merged
into ramayana.hindu.god:/home/tsmith/m/bk/maint/51
mysql-test/suite/rpl_ndb/t/disabled.def:
Auto merged
mysql-test/t/disabled.def:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/sql_class.cc:
Auto merged
sql/sql_class.h:
Auto merged
sql/sql_insert.cc:
Auto merged
into bodhi.(none):/opt/local/work/mysql-5.1-runtime
mysql-test/r/events_bugs.result:
Auto merged
mysql-test/r/show_check.result:
Auto merged
mysql-test/r/sp.result:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/share/errmsg.txt:
Auto merged
into chilla.local:/home/mydev/mysql-5.1-axmrg
mysql-test/lib/mtr_report.pl:
Auto merged
mysql-test/r/show_check.result:
Auto merged
mysql-test/suite/ndb/r/ndb_update.result:
Auto merged
mysql-test/suite/ndb/t/ndb_single_user.test:
Auto merged
mysql-test/suite/ndb/t/ndb_update.test:
Auto merged
mysql-test/suite/parts/r/rpl_partition.result:
Auto merged
mysql-test/suite/parts/t/rpl_partition.test:
Auto merged
mysql-test/t/disabled.def:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/sql_class.cc:
Auto merged
mysql-test/suite/rpl/r/rpl_sp.result:
Auto merged
storage/ndb/test/include/HugoTransactions.hpp:
threads and timings to hugo* pk ops
storage/ndb/test/include/NDBT_Thread.hpp:
threads and timings to hugo* pk ops
storage/ndb/test/src/HugoTransactions.cpp:
threads and timings to hugo* pk ops
storage/ndb/test/src/Makefile.am:
threads and timings to hugo* pk ops
storage/ndb/test/src/NDBT_Thread.cpp:
threads and timings to hugo* pk ops
storage/ndb/test/tools/hugoPkDelete.cpp:
threads and timings to hugo* pk ops
storage/ndb/test/tools/hugoPkRead.cpp:
threads and timings to hugo* pk ops
storage/ndb/test/tools/hugoPkUpdate.cpp:
threads and timings to hugo* pk ops
Problem: the data file changes made during delete/update are not visible to
other threads as the file is reopened, so reading data
with old descriptors might miss the changes.
Fix: reopen the data file before reading if it was reopened during
delete/update to ensure there's no data behind.
Note: there's no simple test case.
storage/csv/ha_tina.cc:
Fix for bug #29253: csv table reportedly marked as crashed
- use the data file version technic to ensure we always see changes
made by other threads:
a) increase share->data_file_version each time we reopen the data
file, i.e. at the end of update/delete.
b) compare the local data file version with the shared one each time
we want to read data, reopen it if they differ.
storage/csv/ha_tina.h:
Fix for bug #29253: csv table reportedly marked as crashed
- use the data file version technic to ensure we always see changes
made by other threads:
a) increase share->data_file_version each time we reopen the data
file, i.e. at the end og update/delete.
b) compare the local data file version with shared one each time
we want to read data, reopen it if they differ.
into whalegate.ndb.mysql.com:/home/tomas/mysql-5.1-new-maint
sql/ha_ndbcluster.h:
Auto merged
sql/set_var.cc:
Auto merged
storage/ndb/tools/restore/restore_main.cpp:
Auto merged
mysql-test/include/have_ndb.inc:
manual merge
mysql-test/t/disabled.def:
manual merge
storage/archive/ha_archive.cc:
Added mutex around flush calls to make read's consistent (and not conflicting)
storage/archive/ha_archive.h:
Fixed issues for fast count(*) call
Part 2:
Searching fulltext index for a word with boolean mode truncation
operator may cause infinite loop.
The problem was that "smarter index merge" was used with "trunc-words",
which must never happen.
Affects 5.1 only.
mysql-test/r/fulltext.result:
Addition to a test case for BUG#29445.
mysql-test/t/fulltext.test:
Addition to a test case for BUG#29445.
storage/myisam/ft_boolean_search.c:
Fulltext "smarter index merge" optimization assumes that rows
it gets are ordered by doc_id. That is not the case when we
search for a word with truncation operator. It may return
rows in random order. Thus we may not use "smarter index merge"
optimization with "trunc-words".
Also fixed compiler warning introduced by Part 1 patch.
to work for queries like "+a (b)"
mysql-test/r/fulltext.result:
second test for BUG#29445
mysql-test/t/fulltext.test:
second test for BUG#29445
storage/myisam/ft_boolean_search.c:
fix for smarter index merge, to work for queries like "+a (b)"
into magare.gmz:/home/kgeorge/mysql/work/B29325-merge-5.1-opt
client/mysql.cc:
Auto merged
include/my_base.h:
Auto merged
mysql-test/r/ctype_collate.result:
Auto merged
mysql-test/r/gis-rtree.result:
Auto merged
mysql-test/t/gis-rtree.test:
Auto merged
storage/myisam/mi_create.c:
Auto merged
strings/ctype-simple.c:
Auto merged
mysys/my_conio.c:
5.0-opt -> 5.1.-opt merge
storage/myisam/sp_key.c:
5.0-opt -> 5.1.-opt merge
After applying the snapshots, ensure that code conforms to the final version
of WL 3914.
It is signficant that, after these changes, InnoDB does not define MYSQL_SERVER,
and can be built as an independent storage engine plugin.
Fixes:
Bug#9709: InnoDB inconsistensy causes "Operating System Error 32/33"
Bug#18828: If InnoDB runs out of undo slots, it returns misleading 'table is full'
Bug#20090: InnoDB: Error: trying to declare trx to enter InnoDB
Bug#20352: Make ibuf_contract_for_n_pages tunable
Bug#21101: Wrong error on exceeding max row size for InnoDB table
Bug#21293: Deadlock detection prefers to kill long running FOR UPDATE queries
Bug#22819: SHOW INNODB STATUS crashes the server with an assertion failure under high load
Bug#25078: Make the replication thread to ignore innodb_thread_concurrency
Bug#25645: Assertion failure in file srv0srv.c
Bug#28138: indexing column prefixes produces corruption in InnoDB
BitKeeper/deleted/.del-Makefile.am~55504c43d99979e4:
Delete: storage/innobase/buf/Makefile.am
BitKeeper/deleted/.del-Makefile.am~79bb55303929b560:
Delete: storage/innobase/dict/Makefile.am
BitKeeper/deleted/.del-Makefile.am~7cd88e5f9a8d7ce8:
Delete: storage/innobase/data/Makefile.am
BitKeeper/deleted/.del-Makefile.am~e19a1fb29b1fe527:
Delete: storage/innobase/btr/Makefile.am
BitKeeper/deleted/.del-Makefile.am~4ae65b009d41d1d:
Delete: storage/innobase/eval/Makefile.am
BitKeeper/deleted/.del-Makefile.am~679131a02af3f6fb:
Delete: storage/innobase/fsp/Makefile.am
BitKeeper/deleted/.del-Makefile.am~6acac9ae30eabdb3:
Delete: storage/innobase/dyn/Makefile.am
BitKeeper/deleted/.del-Makefile.am~a5e6b4385717fcb7:
Delete: storage/innobase/fil/Makefile.am
BitKeeper/deleted/.del-Makefile.am~11d601934b49c19:
Delete: storage/innobase/fut/Makefile.am
BitKeeper/deleted/.del-Makefile.am~5aab37bf3b6c430:
Delete: storage/innobase/ibuf/Makefile.am
BitKeeper/deleted/.del-Makefile.am~af2d719bb6e66986:
Delete: storage/innobase/handler/Makefile.am
BitKeeper/deleted/.del-Makefile.am~f0dbbc7a78648e18:
Delete: storage/innobase/ha/Makefile.am
BitKeeper/deleted/.del-Makefile.am~41684e54a5b0d26a:
Delete: storage/innobase/log/Makefile.am
BitKeeper/deleted/.del-Makefile.am~edd95d7290ddeff3:
Delete: storage/innobase/lock/Makefile.am
BitKeeper/deleted/.del-Makefile.i:
Delete: storage/innobase/include/Makefile.i
BitKeeper/deleted/.del-Makefile.am~2a6ccdba41b591a3:
Delete: storage/innobase/mach/Makefile.am
BitKeeper/deleted/.del-Makefile.am~2bd35bda856342:
Delete: storage/innobase/os/Makefile.am
BitKeeper/deleted/.del-Makefile.am~8448688c5ab92132:
Delete: storage/innobase/mem/Makefile.am
BitKeeper/deleted/.del-Makefile.am~b5a7a8cfa711b6de:
Delete: storage/innobase/mtr/Makefile.am
BitKeeper/deleted/.del-Makefile.am~2cee8a309eb8eee2:
Delete: storage/innobase/page/Makefile.am
BitKeeper/deleted/.del-Makefile.am~3d0553f8aa9c456b:
Delete: storage/innobase/read/Makefile.am
BitKeeper/deleted/.del-Makefile.am~7b0c4abae6684f8c:
Delete: storage/innobase/pars/Makefile.am
BitKeeper/deleted/.del-Makefile.am~d0e0dd55cbd413f0:
Delete: storage/innobase/que/Makefile.am
BitKeeper/deleted/.del-Makefile.am~20a219ccf7825d65:
Delete: storage/innobase/row/Makefile.am
BitKeeper/deleted/.del-Makefile.am~37bdfb2973b2442b:
Delete: storage/innobase/rem/Makefile.am
BitKeeper/deleted/.del-Makefile.am~557098c4e5c01ee2:
Delete: storage/innobase/thr/Makefile.am
BitKeeper/deleted/.del-Makefile.am~fdfe12f48c2499af:
Delete: storage/innobase/sync/Makefile.am
BitKeeper/deleted/.del-Makefile.am~feb2280a52035d8d:
Delete: storage/innobase/srv/Makefile.am
BitKeeper/deleted/.del-Makefile.am~456d34c4816dbda4:
Delete: storage/innobase/ut/Makefile.am
BitKeeper/deleted/.del-Makefile.am~5ec2ef0d2c35e138:
Delete: storage/innobase/usr/Makefile.am
BitKeeper/deleted/.del-Makefile.am~d25c456e48393313:
Delete: storage/innobase/trx/Makefile.am
mysql-test/r/innodb.result:
Apply the following innodb-5.1-* snapshots: ss1489, ss1496, ss1550, ss1569.
Revision r1421:
Fix the innodb test by shifting some of the contents of the .result file.
Approved by: Marko
Revision r1422:
Fix for Bug#21101 - returns wrong error message when table column
defs exceed the max row size.
The fix returns a more appropriate error message. Add a test case to
innodb.test and expected output to innodb.result.
mysql-test/t/innodb.test:
Apply the following innodb-5.1-* snapshots: ss1489, ss1496, ss1550, ss1569.
Revision r1422:
Fix for Bug#21101 - returns wrong error message when table column
defs exceed the max row size.
The fix returns a more appropriate error message. Add a test case to
innodb.test and expected output to innodb.result.
storage/innobase/btr/btr0btr.c:
Apply the following innodb-5.1-* snapshots: ss1489, ss1496, ss1550, ss1569.
Revision r1546:
When buffering an insert to a prefix index of a variable-length column,
do not incorrectly mark the column as fixed-length. (Bug#28138)
ibuf_entry_build(): Instead of prefix_len, pass fixed_len to
dtype_new_store_for_order_and_null_size(). Add debug assertions.
btr_index_rec_validate(): Correct a comment about prefix indexes.
rec_get_converted_size_new(), rec_convert_dtuple_to_rec_new(): Add
debug assertions and comments.
dict_col_type_assert_equal(): New debug function.
storage/innobase/data/data0data.c:
Apply the following innodb-5.1-* snapshots: ss1489, ss1496, ss1550, ss1569.
Revision r1490:
Add #include <ctype.h>. Apparently, this header is no longer included by
the common headers. This may be related to WL#2936
(pluggable storage engines).
storage/innobase/data/data0type.c:
Apply the following innodb-5.1-* snapshots: ss1489, ss1496, ss1550, ss1569.
Revision r1513:
Split ut_a(a && b [&& c...]); into separate ut_a(a); ut_a(b); [ut_a(c); ...].
This makes it possible to see which expression was false by looking at the
error message.
Approved by: Marko
storage/innobase/dict/dict0crea.c:
Apply the following innodb-5.1-* snapshots: ss1489, ss1496, ss1550, ss1569.
Revision r1423:
Fix for Bug#18828. Return DB_TOO_MANY_CONCURRENT_TRXS when we run out
of UNDO slots in the rollback segment. This is a partial fix since the
MySQL error code requested to properly report the error condition back
to the client has not yet materialized. Currently we have #ifdef'd the
error code translation in ha_innodb.cc. This will have to be changed
as and when MySQl add the new requested code or an equivalent code
that we can then use.
Given the above, currently we will get the old behaviour, not the "fixed"
and intended behaviour.
storage/innobase/dict/dict0dict.c:
Apply the following innodb-5.1-* snapshots: ss1489, ss1496, ss1550, ss1569.
Revision r1490:
Add #include <ctype.h>. Apparently, this header is no longer included by
the common headers. This may be related to WL#2936
(pluggable storage engines).
Revision r1513:
Split ut_a(a && b [&& c...]); into separate ut_a(a); ut_a(b); [ut_a(c); ...].
This makes it possible to see which expression was false by looking at the
error message.
Approved by: Marko
Revision r1528:
Define an auxiliary macro UT_BITS_IN_BYTES() and use it where possible.
Revision r1529:
Revert r799, which was supposed to prevent similar cases as Bug#21638.
In reality, the patch breaks the handling of prefix indexes of
variable-length columns in ROW_FORMAT=COMPACT. Reverting the patch
is only a partial fix of Bug#28138.
Revision r1535:
Document that DICT_MAX_INDEX_COL_LEN must not be changed.
storage/innobase/fsp/fsp0fsp.c:
Apply the following innodb-5.1-* snapshots: ss1489, ss1496, ss1550, ss1569.
Revision r1513:
Split ut_a(a && b [&& c...]); into separate ut_a(a); ut_a(b); [ut_a(c); ...].
This makes it possible to see which expression was false by looking at the
error message.
Approved by: Marko
Revision r1528:
Define an auxiliary macro UT_BITS_IN_BYTES() and use it where possible.
storage/innobase/ibuf/ibuf0ibuf.c:
Apply the following innodb-5.1-* snapshots: ss1489, ss1496, ss1550, ss1569.
Revision r1420:
Output to the error log information about the limitations of
UNIV_IBUF_DEBUG.
innobase_start_or_create_for_mysql(): Note that crash recovery is broken
when UNIV_IBUF_DEBUG is defined.
ibuf_counts[]: Make this a two-dimensional array. No need to allocate
anything from the heap. Eliminate ibuf_counts_inited, as the array
will be zero-filled by the runtime environment.
ibuf_count_check(): New function, to print out an explanation before
assertion failure.
Revision r1528:
Define an auxiliary macro UT_BITS_IN_BYTES() and use it where possible.
Revision r1546:
When buffering an insert to a prefix index of a variable-length column,
do not incorrectly mark the column as fixed-length. (Bug#28138)
ibuf_entry_build(): Instead of prefix_len, pass fixed_len to
dtype_new_store_for_order_and_null_size(). Add debug assertions.
btr_index_rec_validate(): Correct a comment about prefix indexes.
rec_get_converted_size_new(), rec_convert_dtuple_to_rec_new(): Add
debug assertions and comments.
dict_col_type_assert_equal(): New debug function.
storage/innobase/include/db0err.h:
Apply the following innodb-5.1-* snapshots: ss1489, ss1496, ss1550, ss1569.
Revision r1423:
Fix for Bug#18828. Return DB_TOO_MANY_CONCURRENT_TRXS when we run out
of UNDO slots in the rollback segment. This is a partial fix since the
MySQL error code requested to properly report the error condition back
to the client has not yet materialized. Currently we have #ifdef'd the
error code translation in ha_innodb.cc. This will have to be changed
as and when MySQl add the new requested code or an equivalent code
that we can then use.
Given the above, currently we will get the old behaviour, not the "fixed"
and intended behaviour.
storage/innobase/include/dict0dict.h:
Apply the following innodb-5.1-* snapshots: ss1489, ss1496, ss1550, ss1569.
Revision r1546:
When buffering an insert to a prefix index of a variable-length column,
do not incorrectly mark the column as fixed-length. (Bug#28138)
ibuf_entry_build(): Instead of prefix_len, pass fixed_len to
dtype_new_store_for_order_and_null_size(). Add debug assertions.
btr_index_rec_validate(): Correct a comment about prefix indexes.
rec_get_converted_size_new(), rec_convert_dtuple_to_rec_new(): Add
debug assertions and comments.
dict_col_type_assert_equal(): New debug function.
storage/innobase/include/dict0dict.ic:
Apply the following innodb-5.1-* snapshots: ss1489, ss1496, ss1550, ss1569.
Revision r1546:
When buffering an insert to a prefix index of a variable-length column,
do not incorrectly mark the column as fixed-length. (Bug#28138)
ibuf_entry_build(): Instead of prefix_len, pass fixed_len to
dtype_new_store_for_order_and_null_size(). Add debug assertions.
btr_index_rec_validate(): Correct a comment about prefix indexes.
rec_get_converted_size_new(), rec_convert_dtuple_to_rec_new(): Add
debug assertions and comments.
dict_col_type_assert_equal(): New debug function.
storage/innobase/include/dict0mem.h:
Apply the following innodb-5.1-* snapshots: ss1489, ss1496, ss1550, ss1569.
Revision r1535:
Document that DICT_MAX_INDEX_COL_LEN must not be changed.
Revision r1536:
Change the comment to a more appropriate one. Discussed with Heikki on IM.
Approved by: Heikki
storage/innobase/include/ha_prototypes.h:
Apply the following innodb-5.1-* snapshots: ss1489, ss1496, ss1550, ss1569.
Revision r1482:
Fix Bug#25078 by always letting the replication thread on the slave
server to enter InnoDB. This can be made further customizable by the
user if we introduce a new config parameter. This will wait until
config parameters can be easily added.
Approved by: Marko
Revision r1501:
Fix Bug#21293: Consider transactions that had edited non-transactional
tables heavier than ones that had not. This helps killing the "right"
transaction in case of a deadlock.
Approved by: Heikki
storage/innobase/include/os0file.h:
Apply the following innodb-5.1-* snapshots: ss1489, ss1496, ss1550, ss1569.
Revision r1431:
Fix Bug#9709 by retrying (forever) if ERROR_SHARING_VIOLATION or
ERROR_LOCK_VIOLATION is encountered during file operation.
This is caused by backup software, so InnoDB should retry while the backup
software is done with the file.
Approved by: Heikki
storage/innobase/include/rem0rec.ic:
Apply the following innodb-5.1-* snapshots: ss1489, ss1496, ss1550, ss1569.
Revision r1569:
Fix some in:/out: comments.
Approved by: Marko
storage/innobase/include/row0mysql.h:
Apply the following innodb-5.1-* snapshots: ss1489, ss1496, ss1550, ss1569.
Revision r1422:
Fix for Bug#21101 - returns wrong error message when table column
defs exceed the max row size.
The fix returns a more appropriate error message. Add a test case to
innodb.test and expected output to innodb.result.
storage/innobase/include/trx0trx.h:
Apply the following innodb-5.1-* snapshots: ss1489, ss1496, ss1550, ss1569.
Revision r1462:
Fix typo in comment.
Revision r1486:
Improve the comment for trx_struct::undo_no.
Suggested by: Heikki
Revision r1488:
Make InnoDB pluggable. That is, merge the modifications from MySQL WL#2936
and adapt some things.
Note that ha_innodb.cc depends on mysql_tmpfile() being declared in
<mysql/plugin.h>. Until the function is declared there, you can
uncomment the buggy definition of mysql_tmpfile in ha_innodb.cc.
Remove storage/innobase/*/Makefile.am. The whole compilation is driven by
storage/innobase/Makefile.am and storage/innobase/plug.in.
plug.in: Declare InnoDB as a dynamic plugin.
ha_innodb.h: Remove the declarations of many global variables. The variables
are no longer directly referenced outside of storage/innobase.
trx_t: Add the field trx->duplicates.
trx_create(): Initialize the fields trx->active_trans and trx->duplicates.
innobase_query_is_update(): Remove. Consult trx->duplicates instead.
Revision r1497:
Add the number of locks acquired by a transaction to its weight when
choosing the lightest transaction to kill when a deadlock occurs.
This fixes Bug#21293 partially.
Approved by: Heikki
Revision r1501:
Fix Bug#21293: Consider transactions that had edited non-transactional
tables heavier than ones that had not. This helps killing the "right"
transaction in case of a deadlock.
Approved by: Heikki
storage/innobase/include/trx0undo.h:
Apply the following innodb-5.1-* snapshots: ss1489, ss1496, ss1550, ss1569.
Revision r1423:
Fix for Bug#18828. Return DB_TOO_MANY_CONCURRENT_TRXS when we run out
of UNDO slots in the rollback segment. This is a partial fix since the
MySQL error code requested to properly report the error condition back
to the client has not yet materialized. Currently we have #ifdef'd the
error code translation in ha_innodb.cc. This will have to be changed
as and when MySQl add the new requested code or an equivalent code
that we can then use.
Given the above, currently we will get the old behaviour, not the "fixed"
and intended behaviour.
storage/innobase/include/ut0ut.h:
Apply the following innodb-5.1-* snapshots: ss1489, ss1496, ss1550, ss1569.
Revision r1528:
Define an auxiliary macro UT_BITS_IN_BYTES() and use it where possible.
storage/innobase/lock/lock0lock.c:
Apply the following innodb-5.1-* snapshots: ss1489, ss1496, ss1550, ss1569.
Revision r1457:
Fix Bug#22819, remove assertion. (http://bugs.mysql.com/bug.php?id=22819)
Revision r1497:
Add the number of locks acquired by a transaction to its weight when
choosing the lightest transaction to kill when a deadlock occurs.
This fixes Bug#21293 partially.
Approved by: Heikki
Revision r1513:
Split ut_a(a && b [&& c...]); into separate ut_a(a); ut_a(b); [ut_a(c); ...].
This makes it possible to see which expression was false by looking at the
error message.
Approved by: Marko
storage/innobase/log/log0log.c:
Apply the following innodb-5.1-* snapshots: ss1489, ss1496, ss1550, ss1569.
Revision r1521:
Forward port r1520 from branches/5.0
Patch to allow monitor threads to stop before proceeding with normal shutdown.
Also have a separate time counter for tablespace monitor.
reviewed by: Heikki
Revision r1524:
Undo bad space formatting introduced in earlier commit r1521
spotted by: Marko
Revision r1533:
logs_empty_and_mark_files_at_shutdown(): Remove trailing whitespace that
was added in r1521.
storage/innobase/os/os0file.c:
Apply the following innodb-5.1-* snapshots: ss1489, ss1496, ss1550, ss1569.
Revision r1431:
Fix Bug#9709 by retrying (forever) if ERROR_SHARING_VIOLATION or
ERROR_LOCK_VIOLATION is encountered during file operation.
This is caused by backup software, so InnoDB should retry while the backup
software is done with the file.
Approved by: Heikki
storage/innobase/rem/rem0rec.c:
Apply the following innodb-5.1-* snapshots: ss1489, ss1496, ss1550, ss1569.
Revision r1528:
Define an auxiliary macro UT_BITS_IN_BYTES() and use it where possible.
Revision r1531:
rec_get_converted_size_new(): Simplify and move a debug assertion.
Revision r1546:
When buffering an insert to a prefix index of a variable-length column,
do not incorrectly mark the column as fixed-length. (Bug#28138)
ibuf_entry_build(): Instead of prefix_len, pass fixed_len to
dtype_new_store_for_order_and_null_size(). Add debug assertions.
btr_index_rec_validate(): Correct a comment about prefix indexes.
rec_get_converted_size_new(), rec_convert_dtuple_to_rec_new(): Add
debug assertions and comments.
dict_col_type_assert_equal(): New debug function.
Revision r1555:
rec_get_converted_size_new(): The total size of the infimum and supremum
records in ROW_FORMAT=COMPACT is REC_N_NEW_EXTRA_BYTES + 8. The
REC_N_NEW_EXTRA_BYTES was accidentally omitted in r1546. This function
should never be called on those records, though.
Revision r1569:
Fix some in:/out: comments.
Approved by: Marko
storage/innobase/row/row0ins.c:
Apply the following innodb-5.1-* snapshots: ss1489, ss1496, ss1550, ss1569.
Revision r1485:
Minor cleanup.
row_ins_check_foreign_constraint(), row_ins_scan_sec_index_for_duplicate():
Make use of the predicates page_rec_is_infimum() and page_rec_is_supremum().
Revision r1488:
Make InnoDB pluggable. That is, merge the modifications from MySQL WL#2936
and adapt some things.
Note that ha_innodb.cc depends on mysql_tmpfile() being declared in
<mysql/plugin.h>. Until the function is declared there, you can
uncomment the buggy definition of mysql_tmpfile in ha_innodb.cc.
Remove storage/innobase/*/Makefile.am. The whole compilation is driven by
storage/innobase/Makefile.am and storage/innobase/plug.in.
plug.in: Declare InnoDB as a dynamic plugin.
ha_innodb.h: Remove the declarations of many global variables. The variables
are no longer directly referenced outside of storage/innobase.
trx_t: Add the field trx->duplicates.
trx_create(): Initialize the fields trx->active_trans and trx->duplicates.
innobase_query_is_update(): Remove. Consult trx->duplicates instead.
Revision r1513:
Split ut_a(a && b [&& c...]); into separate ut_a(a); ut_a(b); [ut_a(c); ...].
This makes it possible to see which expression was false by looking at the
error message.
Approved by: Marko
storage/innobase/row/row0mysql.c:
Apply the following innodb-5.1-* snapshots: ss1489, ss1496, ss1550, ss1569.
Revision r1422:
Fix for Bug#21101 - returns wrong error message when table column
defs exceed the max row size.
The fix returns a more appropriate error message. Add a test case to
innodb.test and expected output to innodb.result.
Revision r1423:
Fix for Bug#18828. Return DB_TOO_MANY_CONCURRENT_TRXS when we run out
of UNDO slots in the rollback segment. This is a partial fix since the
MySQL error code requested to properly report the error condition back
to the client has not yet materialized. Currently we have #ifdef'd the
error code translation in ha_innodb.cc. This will have to be changed
as and when MySQl add the new requested code or an equivalent code
that we can then use.
Given the above, currently we will get the old behaviour, not the "fixed"
and intended behaviour.
storage/innobase/row/row0row.c:
Apply the following innodb-5.1-* snapshots: ss1489, ss1496, ss1550, ss1569.
Revision r1513:
Split ut_a(a && b [&& c...]); into separate ut_a(a); ut_a(b); [ut_a(c); ...].
This makes it possible to see which expression was false by looking at the
error message.
Approved by: Marko
Revision r1529:
Revert r799, which was supposed to prevent similar cases as Bug#21638.
In reality, the patch breaks the handling of prefix indexes of
variable-length columns in ROW_FORMAT=COMPACT. Reverting the patch
is only a partial fix of Bug#28138.
storage/innobase/row/row0sel.c:
Apply the following innodb-5.1-* snapshots: ss1489, ss1496, ss1550, ss1569.
Revision r1452:
Fix phantom reads (http://bugs.mysql.com/27197) following Heikki's
patch in the bug followup.
Approved by: Heikki
Revision r1455:
Reindent with tabs instead of spaces.
Spotted by: Marko
storage/innobase/srv/srv0srv.c:
Apply the following innodb-5.1-* snapshots: ss1489, ss1496, ss1550, ss1569.
Revision r1424:
Bug#20352. Added variable srv_insert_buffer_batch_size. We want to make
this variable settable. Since the pluggable engine interface currently
doesn't provide a usable mechanism, we will add the latter functionality
once it's available.
Revision r1426:
Fix code indentation from r1424.
Revision r1459:
Fix typo in the comment.
Revision r1482:
Fix Bug#25078 by always letting the replication thread on the slave
server to enter InnoDB. This can be made further customizable by the
user if we introduce a new config parameter. This will wait until
config parameters can be easily added.
Approved by: Marko
Revision r1487:
Fix typo in comment.
Spotted by: Marko
Revision r1521:
Forward port r1520 from branches/5.0
Patch to allow monitor threads to stop before proceeding with normal shutdown.
Also have a separate time counter for tablespace monitor.
reviewed by: Heikki
Revision r1532:
srv_lock_timeout_and_monitor_thread(): Correct the indentation that was
broken in r1521.
Revision r1553:
Fix Bug#20090 as suggested in the bug followup by Heikki.
Approved by: Heikki
storage/innobase/srv/srv0start.c:
Apply the following innodb-5.1-* snapshots: ss1489, ss1496, ss1550, ss1569.
Revision r1420:
Output to the error log information about the limitations of
UNIV_IBUF_DEBUG.
innobase_start_or_create_for_mysql(): Note that crash recovery is broken
when UNIV_IBUF_DEBUG is defined.
ibuf_counts[]: Make this a two-dimensional array. No need to allocate
anything from the heap. Eliminate ibuf_counts_inited, as the array
will be zero-filled by the runtime environment.
ibuf_count_check(): New function, to print out an explanation before
assertion failure.
storage/innobase/sync/sync0arr.c:
Apply the following innodb-5.1-* snapshots: ss1489, ss1496, ss1550, ss1569.
Revision r1513:
Split ut_a(a && b [&& c...]); into separate ut_a(a); ut_a(b); [ut_a(c); ...].
This makes it possible to see which expression was false by looking at the
error message.
Approved by: Marko
storage/innobase/trx/trx0rec.c:
Apply the following innodb-5.1-* snapshots: ss1489, ss1496, ss1550, ss1569.
Revision r1423:
Fix for Bug#18828. Return DB_TOO_MANY_CONCURRENT_TRXS when we run out
of UNDO slots in the rollback segment. This is a partial fix since the
MySQL error code requested to properly report the error condition back
to the client has not yet materialized. Currently we have #ifdef'd the
error code translation in ha_innodb.cc. This will have to be changed
as and when MySQl add the new requested code or an equivalent code
that we can then use.
Given the above, currently we will get the old behaviour, not the "fixed"
and intended behaviour.
storage/innobase/trx/trx0trx.c:
Apply the following innodb-5.1-* snapshots: ss1489, ss1496, ss1550, ss1569.
Revision r1488:
Make InnoDB pluggable. That is, merge the modifications from MySQL WL#2936
and adapt some things.
Note that ha_innodb.cc depends on mysql_tmpfile() being declared in
<mysql/plugin.h>. Until the function is declared there, you can
uncomment the buggy definition of mysql_tmpfile in ha_innodb.cc.
Remove storage/innobase/*/Makefile.am. The whole compilation is driven by
storage/innobase/Makefile.am and storage/innobase/plug.in.
plug.in: Declare InnoDB as a dynamic plugin.
ha_innodb.h: Remove the declarations of many global variables. The variables
are no longer directly referenced outside of storage/innobase.
trx_t: Add the field trx->duplicates.
trx_create(): Initialize the fields trx->active_trans and trx->duplicates.
innobase_query_is_update(): Remove. Consult trx->duplicates instead.
Revision r1491:
Fix typo in comment.
Revision r1497:
Add the number of locks acquired by a transaction to its weight when
choosing the lightest transaction to kill when a deadlock occurs.
This fixes Bug#21293 partially.
Approved by: Heikki
Revision r1501:
Fix Bug#21293: Consider transactions that had edited non-transactional
tables heavier than ones that had not. This helps killing the "right"
transaction in case of a deadlock.
Approved by: Heikki
Revision r1522:
trx0trx.c: Add missing #include "ha_prototypes.h".
storage/innobase/trx/trx0undo.c:
Apply the following innodb-5.1-* snapshots: ss1489, ss1496, ss1550, ss1569.
Revision r1423:
Fix for Bug#18828. Return DB_TOO_MANY_CONCURRENT_TRXS when we run out
of UNDO slots in the rollback segment. This is a partial fix since the
MySQL error code requested to properly report the error condition back
to the client has not yet materialized. Currently we have #ifdef'd the
error code translation in ha_innodb.cc. This will have to be changed
as and when MySQl add the new requested code or an equivalent code
that we can then use.
Given the above, currently we will get the old behaviour, not the "fixed"
and intended behaviour.
storage/innobase/ut/ut0ut.c:
Apply the following innodb-5.1-* snapshots: ss1489, ss1496, ss1550, ss1569.
Revision r1490:
Add #include <ctype.h>. Apparently, this header is no longer included by
the common headers. This may be related to WL#2936
(pluggable storage engines).
mysql-test/r/innodb_trx_weight.result:
Apply the following innodb-5.1-* snapshots: ss1489, ss1496, ss1550, ss1569.
Revision r1498:
Add a test about the behavior introduced in r1497.
Revision r1501:
Fix Bug#21293: Consider transactions that had edited non-transactional
tables heavier than ones that had not. This helps killing the "right"
transaction in case of a deadlock.
Approved by: Heikki
mysql-test/include/innodb_trx_weight.inc:
Apply the following innodb-5.1-* snapshots: ss1489, ss1496, ss1550, ss1569.
Revision r1501:
Fix Bug#21293: Consider transactions that had edited non-transactional
tables heavier than ones that had not. This helps killing the "right"
transaction in case of a deadlock.
Approved by: Heikki
Revision r1556:
mysql-test/innodb_trx_weight.inc: Add username root to the "connect" statement.
The Unix user running mysql-test-run usually does not have any privileges
on the MySQL test database.
mysql-test/t/innodb_trx_weight.test:
Fixes after merging InnoDB snapshots.
Revision r1498:
Add a test about the behavior introduced in r1497.
Revision r1501:
Fix Bug#21293: Consider transactions that had edited non-transactional
tables heavier than ones that had not. This helps killing the "right"
transaction in case of a deadlock.
Approved by: Heikki
sql/sql_class.cc:
Fixes after merging InnoDB snapshots.
storage/innobase/Makefile.am:
Fixes after merging InnoDB snapshots.
Revision r1488:
Make InnoDB pluggable. That is, merge the modifications from MySQL WL#2936
and adapt some things.
Note that ha_innodb.cc depends on mysql_tmpfile() being declared in
<mysql/plugin.h>. Until the function is declared there, you can
uncomment the buggy definition of mysql_tmpfile in ha_innodb.cc.
Remove storage/innobase/*/Makefile.am. The whole compilation is driven by
storage/innobase/Makefile.am and storage/innobase/plug.in.
plug.in: Declare InnoDB as a dynamic plugin.
ha_innodb.h: Remove the declarations of many global variables. The variables
are no longer directly referenced outside of storage/innobase.
trx_t: Add the field trx->duplicates.
trx_create(): Initialize the fields trx->active_trans and trx->duplicates.
innobase_query_is_update(): Remove. Consult trx->duplicates instead.
Revision r1488:
Make InnoDB pluggable. That is, merge the modifications from MySQL WL#2936
and adapt some things.
Note that ha_innodb.cc depends on mysql_tmpfile() being declared in
<mysql/plugin.h>. Until the function is declared there, you can
uncomment the buggy definition of mysql_tmpfile in ha_innodb.cc.
Remove storage/innobase/*/Makefile.am. The whole compilation is driven by
storage/innobase/Makefile.am and storage/innobase/plug.in.
plug.in: Declare InnoDB as a dynamic plugin.
ha_innodb.h: Remove the declarations of many global variables. The variables
are no longer directly referenced outside of storage/innobase.
trx_t: Add the field trx->duplicates.
trx_create(): Initialize the fields trx->active_trans and trx->duplicates.
innobase_query_is_update(): Remove. Consult trx->duplicates instead.
Revision r1488:
Make InnoDB pluggable. That is, merge the modifications from MySQL WL#2936
and adapt some things.
Note that ha_innodb.cc depends on mysql_tmpfile() being declared in
<mysql/plugin.h>. Until the function is declared there, you can
uncomment the buggy definition of mysql_tmpfile in ha_innodb.cc.
Remove storage/innobase/*/Makefile.am. The whole compilation is driven by
storage/innobase/Makefile.am and storage/innobase/plug.in.
plug.in: Declare InnoDB as a dynamic plugin.
ha_innodb.h: Remove the declarations of many global variables. The variables
are no longer directly referenced outside of storage/innobase.
trx_t: Add the field trx->duplicates.
trx_create(): Initialize the fields trx->active_trans and trx->duplicates.
innobase_query_is_update(): Remove. Consult trx->duplicates instead.
Revision r1488:
Make InnoDB pluggable. That is, merge the modifications from MySQL WL#2936
and adapt some things.
Note that ha_innodb.cc depends on mysql_tmpfile() being declared in
<mysql/plugin.h>. Until the function is declared there, you can
uncomment the buggy definition of mysql_tmpfile in ha_innodb.cc.
Remove storage/innobase/*/Makefile.am. The whole compilation is driven by
storage/innobase/Makefile.am and storage/innobase/plug.in.
plug.in: Declare InnoDB as a dynamic plugin.
ha_innodb.h: Remove the declarations of many global variables. The variables
are no longer directly referenced outside of storage/innobase.
trx_t: Add the field trx->duplicates.
trx_create(): Initialize the fields trx->active_trans and trx->duplicates.
innobase_query_is_update(): Remove. Consult trx->duplicates instead.
Revision r1488:
Make InnoDB pluggable. That is, merge the modifications from MySQL WL#2936
and adapt some things.
Note that ha_innodb.cc depends on mysql_tmpfile() being declared in
<mysql/plugin.h>. Until the function is declared there, you can
uncomment the buggy definition of mysql_tmpfile in ha_innodb.cc.
Remove storage/innobase/*/Makefile.am. The whole compilation is driven by
storage/innobase/Makefile.am and storage/innobase/plug.in.
plug.in: Declare InnoDB as a dynamic plugin.
ha_innodb.h: Remove the declarations of many global variables. The variables
are no longer directly referenced outside of storage/innobase.
trx_t: Add the field trx->duplicates.
trx_create(): Initialize the fields trx->active_trans and trx->duplicates.
innobase_query_is_update(): Remove. Consult trx->duplicates instead.
Revision r1488:
Make InnoDB pluggable. That is, merge the modifications from MySQL WL#2936
and adapt some things.
Note that ha_innodb.cc depends on mysql_tmpfile() being declared in
<mysql/plugin.h>. Until the function is declared there, you can
uncomment the buggy definition of mysql_tmpfile in ha_innodb.cc.
Remove storage/innobase/*/Makefile.am. The whole compilation is driven by
storage/innobase/Makefile.am and storage/innobase/plug.in.
plug.in: Declare InnoDB as a dynamic plugin.
ha_innodb.h: Remove the declarations of many global variables. The variables
are no longer directly referenced outside of storage/innobase.
trx_t: Add the field trx->duplicates.
trx_create(): Initialize the fields trx->active_trans and trx->duplicates.
innobase_query_is_update(): Remove. Consult trx->duplicates instead.
Revision r1488:
Make InnoDB pluggable. That is, merge the modifications from MySQL WL#2936
and adapt some things.
Note that ha_innodb.cc depends on mysql_tmpfile() being declared in
<mysql/plugin.h>. Until the function is declared there, you can
uncomment the buggy definition of mysql_tmpfile in ha_innodb.cc.
Remove storage/innobase/*/Makefile.am. The whole compilation is driven by
storage/innobase/Makefile.am and storage/innobase/plug.in.
plug.in: Declare InnoDB as a dynamic plugin.
ha_innodb.h: Remove the declarations of many global variables. The variables
are no longer directly referenced outside of storage/innobase.
trx_t: Add the field trx->duplicates.
trx_create(): Initialize the fields trx->active_trans and trx->duplicates.
innobase_query_is_update(): Remove. Consult trx->duplicates instead.
Revision r1488:
Make InnoDB pluggable. That is, merge the modifications from MySQL WL#2936
and adapt some things.
Note that ha_innodb.cc depends on mysql_tmpfile() being declared in
<mysql/plugin.h>. Until the function is declared there, you can
uncomment the buggy definition of mysql_tmpfile in ha_innodb.cc.
Remove storage/innobase/*/Makefile.am. The whole compilation is driven by
storage/innobase/Makefile.am and storage/innobase/plug.in.
plug.in: Declare InnoDB as a dynamic plugin.
ha_innodb.h: Remove the declarations of many global variables. The variables
are no longer directly referenced outside of storage/innobase.
trx_t: Add the field trx->duplicates.
trx_create(): Initialize the fields trx->active_trans and trx->duplicates.
innobase_query_is_update(): Remove. Consult trx->duplicates instead.
Revision r1488:
Make InnoDB pluggable. That is, merge the modifications from MySQL WL#2936
and adapt some things.
Note that ha_innodb.cc depends on mysql_tmpfile() being declared in
<mysql/plugin.h>. Until the function is declared there, you can
uncomment the buggy definition of mysql_tmpfile in ha_innodb.cc.
Remove storage/innobase/*/Makefile.am. The whole compilation is driven by
storage/innobase/Makefile.am and storage/innobase/plug.in.
plug.in: Declare InnoDB as a dynamic plugin.
ha_innodb.h: Remove the declarations of many global variables. The variables
are no longer directly referenced outside of storage/innobase.
trx_t: Add the field trx->duplicates.
trx_create(): Initialize the fields trx->active_trans and trx->duplicates.
innobase_query_is_update(): Remove. Consult trx->duplicates instead.
Revision r1488:
Make InnoDB pluggable. That is, merge the modifications from MySQL WL#2936
and adapt some things.
Note that ha_innodb.cc depends on mysql_tmpfile() being declared in
<mysql/plugin.h>. Until the function is declared there, you can
uncomment the buggy definition of mysql_tmpfile in ha_innodb.cc.
Remove storage/innobase/*/Makefile.am. The whole compilation is driven by
storage/innobase/Makefile.am and storage/innobase/plug.in.
plug.in: Declare InnoDB as a dynamic plugin.
ha_innodb.h: Remove the declarations of many global variables. The variables
are no longer directly referenced outside of storage/innobase.
trx_t: Add the field trx->duplicates.
trx_create(): Initialize the fields trx->active_trans and trx->duplicates.
innobase_query_is_update(): Remove. Consult trx->duplicates instead.
Revision r1488:
Make InnoDB pluggable. That is, merge the modifications from MySQL WL#2936
and adapt some things.
Note that ha_innodb.cc depends on mysql_tmpfile() being declared in
<mysql/plugin.h>. Until the function is declared there, you can
uncomment the buggy definition of mysql_tmpfile in ha_innodb.cc.
Remove storage/innobase/*/Makefile.am. The whole compilation is driven by
storage/innobase/Makefile.am and storage/innobase/plug.in.
plug.in: Declare InnoDB as a dynamic plugin.
ha_innodb.h: Remove the declarations of many global variables. The variables
are no longer directly referenced outside of storage/innobase.
trx_t: Add the field trx->duplicates.
trx_create(): Initialize the fields trx->active_trans and trx->duplicates.
innobase_query_is_update(): Remove. Consult trx->duplicates instead.
Revision r1488:
Make InnoDB pluggable. That is, merge the modifications from MySQL WL#2936
and adapt some things.
Note that ha_innodb.cc depends on mysql_tmpfile() being declared in
<mysql/plugin.h>. Until the function is declared there, you can
uncomment the buggy definition of mysql_tmpfile in ha_innodb.cc.
Remove storage/innobase/*/Makefile.am. The whole compilation is driven by
storage/innobase/Makefile.am and storage/innobase/plug.in.
plug.in: Declare InnoDB as a dynamic plugin.
ha_innodb.h: Remove the declarations of many global variables. The variables
are no longer directly referenced outside of storage/innobase.
trx_t: Add the field trx->duplicates.
trx_create(): Initialize the fields trx->active_trans and trx->duplicates.
innobase_query_is_update(): Remove. Consult trx->duplicates instead.
Revision r1488:
Make InnoDB pluggable. That is, merge the modifications from MySQL WL#2936
and adapt some things.
Note that ha_innodb.cc depends on mysql_tmpfile() being declared in
<mysql/plugin.h>. Until the function is declared there, you can
uncomment the buggy definition of mysql_tmpfile in ha_innodb.cc.
Remove storage/innobase/*/Makefile.am. The whole compilation is driven by
storage/innobase/Makefile.am and storage/innobase/plug.in.
plug.in: Declare InnoDB as a dynamic plugin.
ha_innodb.h: Remove the declarations of many global variables. The variables
are no longer directly referenced outside of storage/innobase.
trx_t: Add the field trx->duplicates.
trx_create(): Initialize the fields trx->active_trans and trx->duplicates.
innobase_query_is_update(): Remove. Consult trx->duplicates instead.
Revision r1488:
Make InnoDB pluggable. That is, merge the modifications from MySQL WL#2936
and adapt some things.
Note that ha_innodb.cc depends on mysql_tmpfile() being declared in
<mysql/plugin.h>. Until the function is declared there, you can
uncomment the buggy definition of mysql_tmpfile in ha_innodb.cc.
Remove storage/innobase/*/Makefile.am. The whole compilation is driven by
storage/innobase/Makefile.am and storage/innobase/plug.in.
plug.in: Declare InnoDB as a dynamic plugin.
ha_innodb.h: Remove the declarations of many global variables. The variables
are no longer directly referenced outside of storage/innobase.
trx_t: Add the field trx->duplicates.
trx_create(): Initialize the fields trx->active_trans and trx->duplicates.
innobase_query_is_update(): Remove. Consult trx->duplicates instead.
Revision r1488:
Make InnoDB pluggable. That is, merge the modifications from MySQL WL#2936
and adapt some things.
Note that ha_innodb.cc depends on mysql_tmpfile() being declared in
<mysql/plugin.h>. Until the function is declared there, you can
uncomment the buggy definition of mysql_tmpfile in ha_innodb.cc.
Remove storage/innobase/*/Makefile.am. The whole compilation is driven by
storage/innobase/Makefile.am and storage/innobase/plug.in.
plug.in: Declare InnoDB as a dynamic plugin.
ha_innodb.h: Remove the declarations of many global variables. The variables
are no longer directly referenced outside of storage/innobase.
trx_t: Add the field trx->duplicates.
trx_create(): Initialize the fields trx->active_trans and trx->duplicates.
innobase_query_is_update(): Remove. Consult trx->duplicates instead.
Revision r1488:
Make InnoDB pluggable. That is, merge the modifications from MySQL WL#2936
and adapt some things.
Note that ha_innodb.cc depends on mysql_tmpfile() being declared in
<mysql/plugin.h>. Until the function is declared there, you can
uncomment the buggy definition of mysql_tmpfile in ha_innodb.cc.
Remove storage/innobase/*/Makefile.am. The whole compilation is driven by
storage/innobase/Makefile.am and storage/innobase/plug.in.
plug.in: Declare InnoDB as a dynamic plugin.
ha_innodb.h: Remove the declarations of many global variables. The variables
are no longer directly referenced outside of storage/innobase.
trx_t: Add the field trx->duplicates.
trx_create(): Initialize the fields trx->active_trans and trx->duplicates.
innobase_query_is_update(): Remove. Consult trx->duplicates instead.
Revision r1488:
Make InnoDB pluggable. That is, merge the modifications from MySQL WL#2936
and adapt some things.
Note that ha_innodb.cc depends on mysql_tmpfile() being declared in
<mysql/plugin.h>. Until the function is declared there, you can
uncomment the buggy definition of mysql_tmpfile in ha_innodb.cc.
Remove storage/innobase/*/Makefile.am. The whole compilation is driven by
storage/innobase/Makefile.am and storage/innobase/plug.in.
plug.in: Declare InnoDB as a dynamic plugin.
ha_innodb.h: Remove the declarations of many global variables. The variables
are no longer directly referenced outside of storage/innobase.
trx_t: Add the field trx->duplicates.
trx_create(): Initialize the fields trx->active_trans and trx->duplicates.
innobase_query_is_update(): Remove. Consult trx->duplicates instead.
Revision r1488:
Make InnoDB pluggable. That is, merge the modifications from MySQL WL#2936
and adapt some things.
Note that ha_innodb.cc depends on mysql_tmpfile() being declared in
<mysql/plugin.h>. Until the function is declared there, you can
uncomment the buggy definition of mysql_tmpfile in ha_innodb.cc.
Remove storage/innobase/*/Makefile.am. The whole compilation is driven by
storage/innobase/Makefile.am and storage/innobase/plug.in.
plug.in: Declare InnoDB as a dynamic plugin.
ha_innodb.h: Remove the declarations of many global variables. The variables
are no longer directly referenced outside of storage/innobase.
trx_t: Add the field trx->duplicates.
trx_create(): Initialize the fields trx->active_trans and trx->duplicates.
innobase_query_is_update(): Remove. Consult trx->duplicates instead.
Revision r1488:
Make InnoDB pluggable. That is, merge the modifications from MySQL WL#2936
and adapt some things.
Note that ha_innodb.cc depends on mysql_tmpfile() being declared in
<mysql/plugin.h>. Until the function is declared there, you can
uncomment the buggy definition of mysql_tmpfile in ha_innodb.cc.
Remove storage/innobase/*/Makefile.am. The whole compilation is driven by
storage/innobase/Makefile.am and storage/innobase/plug.in.
plug.in: Declare InnoDB as a dynamic plugin.
ha_innodb.h: Remove the declarations of many global variables. The variables
are no longer directly referenced outside of storage/innobase.
trx_t: Add the field trx->duplicates.
trx_create(): Initialize the fields trx->active_trans and trx->duplicates.
innobase_query_is_update(): Remove. Consult trx->duplicates instead.
Revision r1488:
Make InnoDB pluggable. That is, merge the modifications from MySQL WL#2936
and adapt some things.
Note that ha_innodb.cc depends on mysql_tmpfile() being declared in
<mysql/plugin.h>. Until the function is declared there, you can
uncomment the buggy definition of mysql_tmpfile in ha_innodb.cc.
Remove storage/innobase/*/Makefile.am. The whole compilation is driven by
storage/innobase/Makefile.am and storage/innobase/plug.in.
plug.in: Declare InnoDB as a dynamic plugin.
ha_innodb.h: Remove the declarations of many global variables. The variables
are no longer directly referenced outside of storage/innobase.
trx_t: Add the field trx->duplicates.
trx_create(): Initialize the fields trx->active_trans and trx->duplicates.
innobase_query_is_update(): Remove. Consult trx->duplicates instead.
Revision r1488:
Make InnoDB pluggable. That is, merge the modifications from MySQL WL#2936
and adapt some things.
Note that ha_innodb.cc depends on mysql_tmpfile() being declared in
<mysql/plugin.h>. Until the function is declared there, you can
uncomment the buggy definition of mysql_tmpfile in ha_innodb.cc.
Remove storage/innobase/*/Makefile.am. The whole compilation is driven by
storage/innobase/Makefile.am and storage/innobase/plug.in.
plug.in: Declare InnoDB as a dynamic plugin.
ha_innodb.h: Remove the declarations of many global variables. The variables
are no longer directly referenced outside of storage/innobase.
trx_t: Add the field trx->duplicates.
trx_create(): Initialize the fields trx->active_trans and trx->duplicates.
innobase_query_is_update(): Remove. Consult trx->duplicates instead.
Revision r1488:
Make InnoDB pluggable. That is, merge the modifications from MySQL WL#2936
and adapt some things.
Note that ha_innodb.cc depends on mysql_tmpfile() being declared in
<mysql/plugin.h>. Until the function is declared there, you can
uncomment the buggy definition of mysql_tmpfile in ha_innodb.cc.
Remove storage/innobase/*/Makefile.am. The whole compilation is driven by
storage/innobase/Makefile.am and storage/innobase/plug.in.
plug.in: Declare InnoDB as a dynamic plugin.
ha_innodb.h: Remove the declarations of many global variables. The variables
are no longer directly referenced outside of storage/innobase.
trx_t: Add the field trx->duplicates.
trx_create(): Initialize the fields trx->active_trans and trx->duplicates.
innobase_query_is_update(): Remove. Consult trx->duplicates instead.
Revision r1488:
Make InnoDB pluggable. That is, merge the modifications from MySQL WL#2936
and adapt some things.
Note that ha_innodb.cc depends on mysql_tmpfile() being declared in
<mysql/plugin.h>. Until the function is declared there, you can
uncomment the buggy definition of mysql_tmpfile in ha_innodb.cc.
Remove storage/innobase/*/Makefile.am. The whole compilation is driven by
storage/innobase/Makefile.am and storage/innobase/plug.in.
plug.in: Declare InnoDB as a dynamic plugin.
ha_innodb.h: Remove the declarations of many global variables. The variables
are no longer directly referenced outside of storage/innobase.
trx_t: Add the field trx->duplicates.
trx_create(): Initialize the fields trx->active_trans and trx->duplicates.
innobase_query_is_update(): Remove. Consult trx->duplicates instead.
Revision r1488:
Make InnoDB pluggable. That is, merge the modifications from MySQL WL#2936
and adapt some things.
Note that ha_innodb.cc depends on mysql_tmpfile() being declared in
<mysql/plugin.h>. Until the function is declared there, you can
uncomment the buggy definition of mysql_tmpfile in ha_innodb.cc.
Remove storage/innobase/*/Makefile.am. The whole compilation is driven by
storage/innobase/Makefile.am and storage/innobase/plug.in.
plug.in: Declare InnoDB as a dynamic plugin.
ha_innodb.h: Remove the declarations of many global variables. The variables
are no longer directly referenced outside of storage/innobase.
trx_t: Add the field trx->duplicates.
trx_create(): Initialize the fields trx->active_trans and trx->duplicates.
innobase_query_is_update(): Remove. Consult trx->duplicates instead.
Revision r1488:
Make InnoDB pluggable. That is, merge the modifications from MySQL WL#2936
and adapt some things.
Note that ha_innodb.cc depends on mysql_tmpfile() being declared in
<mysql/plugin.h>. Until the function is declared there, you can
uncomment the buggy definition of mysql_tmpfile in ha_innodb.cc.
Remove storage/innobase/*/Makefile.am. The whole compilation is driven by
storage/innobase/Makefile.am and storage/innobase/plug.in.
plug.in: Declare InnoDB as a dynamic plugin.
ha_innodb.h: Remove the declarations of many global variables. The variables
are no longer directly referenced outside of storage/innobase.
trx_t: Add the field trx->duplicates.
trx_create(): Initialize the fields trx->active_trans and trx->duplicates.
innobase_query_is_update(): Remove. Consult trx->duplicates instead.
Revision r1488:
Make InnoDB pluggable. That is, merge the modifications from MySQL WL#2936
and adapt some things.
Note that ha_innodb.cc depends on mysql_tmpfile() being declared in
<mysql/plugin.h>. Until the function is declared there, you can
uncomment the buggy definition of mysql_tmpfile in ha_innodb.cc.
Remove storage/innobase/*/Makefile.am. The whole compilation is driven by
storage/innobase/Makefile.am and storage/innobase/plug.in.
plug.in: Declare InnoDB as a dynamic plugin.
ha_innodb.h: Remove the declarations of many global variables. The variables
are no longer directly referenced outside of storage/innobase.
trx_t: Add the field trx->duplicates.
trx_create(): Initialize the fields trx->active_trans and trx->duplicates.
innobase_query_is_update(): Remove. Consult trx->duplicates instead.
Revision r1488:
Make InnoDB pluggable. That is, merge the modifications from MySQL WL#2936
and adapt some things.
Note that ha_innodb.cc depends on mysql_tmpfile() being declared in
<mysql/plugin.h>. Until the function is declared there, you can
uncomment the buggy definition of mysql_tmpfile in ha_innodb.cc.
Remove storage/innobase/*/Makefile.am. The whole compilation is driven by
storage/innobase/Makefile.am and storage/innobase/plug.in.
plug.in: Declare InnoDB as a dynamic plugin.
ha_innodb.h: Remove the declarations of many global variables. The variables
are no longer directly referenced outside of storage/innobase.
trx_t: Add the field trx->duplicates.
trx_create(): Initialize the fields trx->active_trans and trx->duplicates.
innobase_query_is_update(): Remove. Consult trx->duplicates instead.
Revision r1488:
Make InnoDB pluggable. That is, merge the modifications from MySQL WL#2936
and adapt some things.
Note that ha_innodb.cc depends on mysql_tmpfile() being declared in
<mysql/plugin.h>. Until the function is declared there, you can
uncomment the buggy definition of mysql_tmpfile in ha_innodb.cc.
Remove storage/innobase/*/Makefile.am. The whole compilation is driven by
storage/innobase/Makefile.am and storage/innobase/plug.in.
plug.in: Declare InnoDB as a dynamic plugin.
ha_innodb.h: Remove the declarations of many global variables. The variables
are no longer directly referenced outside of storage/innobase.
trx_t: Add the field trx->duplicates.
trx_create(): Initialize the fields trx->active_trans and trx->duplicates.
innobase_query_is_update(): Remove. Consult trx->duplicates instead.
Revision r1488:
Make InnoDB pluggable. That is, merge the modifications from MySQL WL#2936
and adapt some things.
Note that ha_innodb.cc depends on mysql_tmpfile() being declared in
<mysql/plugin.h>. Until the function is declared there, you can
uncomment the buggy definition of mysql_tmpfile in ha_innodb.cc.
Remove storage/innobase/*/Makefile.am. The whole compilation is driven by
storage/innobase/Makefile.am and storage/innobase/plug.in.
plug.in: Declare InnoDB as a dynamic plugin.
ha_innodb.h: Remove the declarations of many global variables. The variables
are no longer directly referenced outside of storage/innobase.
trx_t: Add the field trx->duplicates.
trx_create(): Initialize the fields trx->active_trans and trx->duplicates.
innobase_query_is_update(): Remove. Consult trx->duplicates instead.
Revision r1488:
Make InnoDB pluggable. That is, merge the modifications from MySQL WL#2936
and adapt some things.
Note that ha_innodb.cc depends on mysql_tmpfile() being declared in
<mysql/plugin.h>. Until the function is declared there, you can
uncomment the buggy definition of mysql_tmpfile in ha_innodb.cc.
Remove storage/innobase/*/Makefile.am. The whole compilation is driven by
storage/innobase/Makefile.am and storage/innobase/plug.in.
plug.in: Declare InnoDB as a dynamic plugin.
ha_innodb.h: Remove the declarations of many global variables. The variables
are no longer directly referenced outside of storage/innobase.
trx_t: Add the field trx->duplicates.
trx_create(): Initialize the fields trx->active_trans and trx->duplicates.
innobase_query_is_update(): Remove. Consult trx->duplicates instead.
Revision r1488:
Make InnoDB pluggable. That is, merge the modifications from MySQL WL#2936
and adapt some things.
Note that ha_innodb.cc depends on mysql_tmpfile() being declared in
<mysql/plugin.h>. Until the function is declared there, you can
uncomment the buggy definition of mysql_tmpfile in ha_innodb.cc.
Remove storage/innobase/*/Makefile.am. The whole compilation is driven by
storage/innobase/Makefile.am and storage/innobase/plug.in.
plug.in: Declare InnoDB as a dynamic plugin.
ha_innodb.h: Remove the declarations of many global variables. The variables
are no longer directly referenced outside of storage/innobase.
trx_t: Add the field trx->duplicates.
trx_create(): Initialize the fields trx->active_trans and trx->duplicates.
innobase_query_is_update(): Remove. Consult trx->duplicates instead.
storage/innobase/handler/ha_innodb.cc:
Fixes after merging InnoDB snapshots.
Revision r1422:
Fix for Bug#21101 - returns wrong error message when table column
defs exceed the max row size.
The fix returns a more appropriate error message. Add a test case to
innodb.test and expected output to innodb.result.
Revision r1423:
Fix for Bug#18828. Return DB_TOO_MANY_CONCURRENT_TRXS when we run out
of UNDO slots in the rollback segment. This is a partial fix since the
MySQL error code requested to properly report the error condition back
to the client has not yet materialized. Currently we have #ifdef'd the
error code translation in ha_innodb.cc. This will have to be changed
as and when MySQl add the new requested code or an equivalent code
that we can then use.
Given the above, currently we will get the old behaviour, not the "fixed"
and intended behaviour.
Revision r1425:
Fixed a missing function decoration that slipped into r1422.
Revision r1434:
Fix typo.
Revision r1442:
Potential fix for Bug#25645:
"Move innobase_release_stat_resources(trx) outside the 'if' in
ha_innobase::external_lock(). That would add more safety that whatever
MySQL does at a query end, there would be no risk of a hang on the btr
search latch."
Also call innobase_release_temporary_latches() in the beginning of
ha_innobase::close().
Approved by: Heikki
Revision r1453:
Bugfix: only call innobase_release_temporary_latches() in case of current_thd
is not NULL, otherwise we get NULL pointer dereferencing.
Approved by: Heikki
Revision r1474:
Fix typo in comment: the exact prototype is in
include/data0type.ic, not in data/data0type.ic
Revision r1482:
Fix Bug#25078 by always letting the replication thread on the slave
server to enter InnoDB. This can be made further customizable by the
user if we introduce a new config parameter. This will wait until
config parameters can be easily added.
Approved by: Marko
Revision r1488:
Make InnoDB pluggable. That is, merge the modifications from MySQL WL#2936
and adapt some things.
Note that ha_innodb.cc depends on mysql_tmpfile() being declared in
<mysql/plugin.h>. Until the function is declared there, you can
uncomment the buggy definition of mysql_tmpfile in ha_innodb.cc.
Remove storage/innobase/*/Makefile.am. The whole compilation is driven by
storage/innobase/Makefile.am and storage/innobase/plug.in.
plug.in: Declare InnoDB as a dynamic plugin.
ha_innodb.h: Remove the declarations of many global variables. The variables
are no longer directly referenced outside of storage/innobase.
trx_t: Add the field trx->duplicates.
trx_create(): Initialize the fields trx->active_trans and trx->duplicates.
innobase_query_is_update(): Remove. Consult trx->duplicates instead.
Revision r1489:
thd_to_trx(), check_trx_exists(): Remove the handlerton parameter. It is a
singleton object whose address is stored into innodb_hton_ptr.
Revision r1492:
Convert innobase_buffer_pool_size and innobase_log_file_size types from
longlong to long long because MYSQL_SYSVAR_LONGLONG marco expects long long
type.
Also change
((ulint)innobase_buffer_pool_size) / 1024
to
(ulint)(innobase_buffer_pool_size / 1024)
and remove comment which is no longer true.
Provided that innobase_buffer_pool_size is always 64bits these statements
are equivalent if ulint is 64 bit (well it will screw up if
innobase_buffer_pool_size is negative). And if ulint is 32 bit the later
variant gives a little more chance that the value will fit.
Approved by: Heikki
Revision r1493:
ha_innodb.cc: Remove the declarations of some global InnoDB variables
whose name starts with srv_. These variables are declared in the header
files that are covered by #include directives in ha_innodb.cc.
Revision r1495:
Introduce the function reset_template() for resetting some fields of
row_prebuilt_t; currently prebuilt->read_just_key and
prebuilt->keep_other_fields_on_keyread.
Revision r1496:
ha_innobase::extra(): Replace references to prebuilt->trx with
thd_to_trx(ha_thd()), in order to avoid potential memory corruption.
Revision r1501:
Fix Bug#21293: Consider transactions that had edited non-transactional
tables heavier than ones that had not. This helps killing the "right"
transaction in case of a deadlock.
Approved by: Heikki
Revision r1513:
Split ut_a(a && b [&& c...]); into separate ut_a(a); ut_a(b); [ut_a(c); ...].
This makes it possible to see which expression was false by looking at the
error message.
Approved by: Marko
Revision r1527:
Cleanup in ha_innodb.cc:
thd_is_replication_slave_thread(), thd_has_edited_nontrans_tables():
Remove blank line between the function comment and the function
definition. There should be exactly one line between the return
type and the function comment, and this line should be one of
'', 'static', 'UNIV_INLINE', and 'extern "C"'.
Revision r1538:
Do not return error in ha_innobase::info if srv_force_recovery >= 4. This is to allow for
normal processing of the query by MySQL instead of generating an error.
Reviewed by: Heikki
Revision r1551:
ha_innobase::innobase_read_and_init_auto_inc(): Remember and restore
prebuilt->sql_stat_start. In an ALTER TABLE statement in the innodb_gis
test, an ut_ad() assertion failed, because no IX lock had been acquired
on the table, because prebuilt->sql_stat_start was inadvertently reset
to FALSE, by this function. This function was called via
ha_innobase::info() and mysql_prepare_alter_table().
storage/innobase/plug.in:
Fixes after merging InnoDB snapshots.
Revision r1488:
Make InnoDB pluggable. That is, merge the modifications from MySQL WL#2936
and adapt some things.
Note that ha_innodb.cc depends on mysql_tmpfile() being declared in
<mysql/plugin.h>. Until the function is declared there, you can
uncomment the buggy definition of mysql_tmpfile in ha_innodb.cc.
Remove storage/innobase/*/Makefile.am. The whole compilation is driven by
storage/innobase/Makefile.am and storage/innobase/plug.in.
plug.in: Declare InnoDB as a dynamic plugin.
ha_innodb.h: Remove the declarations of many global variables. The variables
are no longer directly referenced outside of storage/innobase.
trx_t: Add the field trx->duplicates.
trx_create(): Initialize the fields trx->active_trans and trx->duplicates.
innobase_query_is_update(): Remove. Consult trx->duplicates instead.
storage/innobase/handler/ha_innodb.h:
Fixes after merging InnoDB snapshots.
Revision r1488:
Make InnoDB pluggable. That is, merge the modifications from MySQL WL#2936
and adapt some things.
Note that ha_innodb.cc depends on mysql_tmpfile() being declared in
<mysql/plugin.h>. Until the function is declared there, you can
uncomment the buggy definition of mysql_tmpfile in ha_innodb.cc.
Remove storage/innobase/*/Makefile.am. The whole compilation is driven by
storage/innobase/Makefile.am and storage/innobase/plug.in.
plug.in: Declare InnoDB as a dynamic plugin.
ha_innodb.h: Remove the declarations of many global variables. The variables
are no longer directly referenced outside of storage/innobase.
trx_t: Add the field trx->duplicates.
trx_create(): Initialize the fields trx->active_trans and trx->duplicates.
innobase_query_is_update(): Remove. Consult trx->duplicates instead.
Part 1:
Do not perform index search for a plus-word with truncation operator
in case there are other plus-words in expression.
Specifically this optimization was enforced for expression like
"+word1 +word2*", but wasn't enforced for expression like
"+word1 word2*".
mysql-test/r/fulltext.result:
A test case for BUG#29445.
mysql-test/t/fulltext.test:
A test case for BUG#29445.
storage/myisam/ft_boolean_search.c:
Do not perform index search for a plus-word with truncation operator
in case there are other plus-words in expression.
Specifically this optimization was enforced for expression like
"+word1 +word2*", but wasn't enforced for expression like
"+word1 word2*".
Problem: we don't take into account the length of the data written
to the temporary data file during update on a CSV table.
Fix: properly calculate the data file length during update.
mysql-test/r/csv.result:
Fix for bug #29652: csv.test failure: two changes conflict after merge
- test result adjusted.
storage/csv/ha_tina.cc:
Fix for bug #29652: csv.test failure: two changes conflict after merge
- adjust local_saved_data_file_length in case of update as well.
storage/csv/ha_tina.h:
Fix for bug #29652: csv.test failure: two changes conflict after merge
- adjust local_saved_data_file_length in case of update as well.
into sita.local:/Users/tsmith/m/bk/maint/51
mysql-test/suite/rpl/r/rpl_row_tabledefs_2myisam.result:
Auto merged
mysql-test/suite/rpl/r/rpl_row_tabledefs_3innodb.result:
Auto merged
into whalegate.ndb.mysql.com:/home/tomas/mysql-5.1-new-maint
mysql-test/suite/rpl/r/rpl_row_tabledefs_2myisam.result:
Auto merged
mysql-test/suite/rpl/r/rpl_row_tabledefs_3innodb.result:
Auto merged
sql/ha_ndbcluster.cc:
Auto merged
sql/log_event.cc:
manual merge
into sita.local:/Users/tsmith/m/bk/maint/51
This merge requires a post-merge fix to remove rpl_udf from
suite/rpl/t/disabled.def.
mysql-test/lib/mtr_report.pl:
Auto merged
mysql-test/r/show_check.result:
Auto merged
mysql-test/suite/ndb/r/ndb_dd_basic.result:
Auto merged
mysql-test/suite/ndb/r/ndb_dd_ddl.result:
Auto merged
mysql-test/suite/ndb/r/ndb_gis.result:
Auto merged
mysql-test/suite/ndb/r/ndb_row_format.result:
Auto merged
mysql-test/suite/ndb/r/ndb_single_user.result:
Auto merged
mysql-test/suite/ndb/t/ndb_single_user.test:
Auto merged
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/r/rpl_incident.result:
Auto merged
mysql-test/suite/rpl/r/rpl_row_tabledefs_2myisam.result:
Auto merged
mysql-test/suite/rpl/r/rpl_row_tabledefs_3innodb.result:
Auto merged
mysql-test/suite/rpl/r/rpl_sp.result:
Auto merged
mysql-test/suite/rpl_ndb/r/rpl_ndb_extraCol.result:
Auto merged
sql/field.cc:
Auto merged
sql/field.h:
Auto merged
sql/log.cc:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/sql_class.cc:
Auto merged
sql/sql_class.h:
Auto merged
sql/sql_show.cc:
Auto merged
storage/csv/ha_tina.cc:
Auto merged
storage/innobase/handler/ha_innodb.cc:
Auto merged
mysql-test/r/csv.result:
Manual merge
mysql-test/t/csv.test:
Manual merge
mysql-test/t/disabled.def:
Manual merge
into anubis.xiphis.org:/usr/home/antony/work/mysql-5.1-engines.merge
include/my_base.h:
Auto merged
mysql-test/lib/mtr_report.pl:
Auto merged
mysql-test/r/events_bugs.result:
Auto merged
mysql-test/r/rpl_sp.result:
Auto merged
mysql-test/r/show_check.result:
Auto merged
mysql-test/r/sp.result:
Auto merged
mysql-test/t/disabled.def:
Auto merged
mysql-test/t/ndb_single_user.test:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/share/errmsg.txt:
Auto merged
sql/sql_partition.cc:
Auto merged
into labbari.dsl.inet.fi:/home/my/bk/mysql-5.1-marvel
BitKeeper/etc/ignore:
auto-union
libmysql/libmysql.c:
Auto merged
mysql-test/r/innodb_mysql.result:
Auto merged
mysql-test/include/mix1.inc:
Manual merge from 5.0
storage/innobase/handler/ha_innodb.cc:
Manual merge from 5.0
storage/ndb/test/ndbapi/testDict.cpp:
Added test for Bug#29501. Tested on both code without patch and code with patch. DN fails on code w/o and passed for code w/. Also includes new helper functions runWaitStarted and DropDDObjects. Along with these helper function I have included a test for DropDDObjects. I did find a case where lgman fails on the restarting DN with corrupt fs error. I will file a new bug report and test case for that.
storage/ndb/test/run-test/daily-basic-tests.txt:
Added new tests for bug29501
hangs 100% cpu
Fulltext parser may fall into infinite loop when it gets illegal
multibyte sequence (or a sequence that doesn't have mapping to unicode).
Affects 5.1 only.
mysql-test/r/fulltext.result:
A test case for BUG#29464.
mysql-test/t/fulltext.test:
A test case for BUG#29464.
storage/myisam/ft_parser.c:
ctype() may return negative value, which was stored in unsigned
variable.
Also ctype() may return negative length for correct multibyte
sequence that doesn't have a mapping to unicode. These characters
are skipped correctly with this patch.
Problem: we don't adjust share->rows_recorded and local_saved_data_file_length
deleting rows from a CSV table, so following table check may fail.
Fix: properly adjust those values.
mysql-test/r/csv.result:
Fix for bug #29411: deleting from a csv table leads to the table corruption
- test result.
mysql-test/t/csv.test:
Fix for bug #29411: deleting from a csv table leads to the table corruption
- test case.
storage/csv/ha_tina.cc:
Fix for bug #29411: deleting from a csv table leads to the table corruption
- decrement share->rows_recorded in the ha_tina::delete_row().
- set share->rows_recorded and local_saved_data_file_length to 0 in the
ha_tina::delete_all_rows().
- adjust local_saved_data_file_length after cleaning up in the
ha_tina::rnd_end().
Add more accessors to MySQL internals in mysql/plugin.h, for storage
engine plugins.
Add some accessors specific to the InnoDB storage engine, to allow
InnoDB to be compiled as a plugin (without MYSQL_SERVER). InnoDB
has additional requirements, due to its foreign key support, etc.
include/m_string.h:
Add structure tag to LEX_STRING definition, so that it can be referred
to by forward declarations. Allow struct st_mysql_lex_string to be
defined here, or in mysql/plugin.h.
include/my_global.h:
Define INNODB_COMPATIBILITY_HOOKS unconditionally; it brackets
some definitions needed for the InnoDB storage engine plugin
which do not belong in our general plugin interface.
include/mysql/plugin.h:
Additional accessors for MySQL internals:
- Full definition of MYSQL_LEX_STRING (identical to LEX_STRING from
m_string.h)
- Full definition of MYSQL_XID (binary compatible with XID from
handler.h)
- mysql_tmpfile(), creates a temporary file in mysqld's tmpdir
- thd_killed(), to check killed state of connection
- thd_alloc() and similar allocation functions
- thd_get_xid(), to get XID of connection's transaction
- mysql_query_cache_invalidate4, to invalidate a table's query cache entries
sql/handler.h:
Use MYSQL_XIDDATASIZE definition from mysql/plugin.h, to avoid redundant
definitions
sql/log.cc:
Add definitions for two InnoDB compatibility hooks:
- mysql_bin_log_file(), to get log filename
- mysql_bin_log_file_pos, to get position in file
These are defined only if INNODB_COMPATIBILITY_HOOKS is defined;
they are needed by the InnoDB plugin, but aren't part of the general
plugin interface. They are declared in ha_innodb.h for InnoDB's
use.
sql/mysql_priv.h:
Expose some server internals when INNODB_COMPATIBILITY_HOOKS is
defined, so that InnoDB can be built as a plugin when MYSQL_SERVER
is not defined.
Move make_lex_string inside THD class.
sql/sql_cache.cc:
Add definiton of mysql_query_cache_invalidate4(), a part of the
plugin API (mysql/plugin.h).
sql/sql_class.cc:
Add definitions for several accessor functions which form part
of the plugin API (mysql/plugin.h):
- mysql_tmpfile()
- thd_alloc() and friends
- thd_make_lex_string()
- thd_get_xid()
Add definitons for accessor functions which InnoDB requires,
but which are not part of the plugin interface:
- thd_charset()
- thd_query()
- thd_slave_thread()
- thd_non_transactional_update()
- thd_binlog_format()
Move definition of make_lex_string() from sql_show.cc into THD class
sql/sql_class.h:
Remove LEX_STRING_make(), and move make_lex_string() from sql_show.cc inside THD
class.
sql/sql_parse.cc:
Use thd->make_lex_string() instead of thd->LEX_STRING_make()
sql/sql_show.cc:
Move make_lex_string() inside THD class
storage/innobase/handler/ha_innodb.cc:
Call thd_make_lex_string() instead of make_lex_string().
into maint1.mysql.com:/data/localhome/tsmith/bk/maint/51
client/mysqldump.c:
Auto merged
mysql-test/lib/mtr_cases.pl:
Auto merged
mysql-test/lib/mtr_report.pl:
Auto merged
mysql-test/r/mysqldump.result:
Auto merged
mysql-test/suite/binlog/r/binlog_multi_engine.result:
Auto merged
mysql-test/suite/binlog/t/binlog_multi_engine.test:
Auto merged
mysql-test/suite/ndb/r/ndb_read_multi_range.result:
Auto merged
mysql-test/suite/ndb/r/ndb_sp.result:
Auto merged
mysql-test/suite/ndb/r/ndb_trigger.result:
Auto merged
mysql-test/suite/ndb/r/ps_7ndb.result:
Auto merged
mysql-test/suite/ndb/t/loaddata_autocom_ndb.test:
Auto merged
mysql-test/suite/ndb/t/ndb_alter_table.test:
Auto merged
mysql-test/suite/ndb/t/ndb_alter_table2.test:
Auto merged
mysql-test/suite/ndb/t/ndb_alter_table3.test:
Auto merged
mysql-test/suite/ndb/t/ndb_autodiscover.test:
Auto merged
mysql-test/suite/ndb/t/ndb_autodiscover2.test:
Auto merged
mysql-test/suite/ndb/t/ndb_autodiscover3.test:
Auto merged
mysql-test/suite/ndb/t/ndb_basic.test:
Auto merged
mysql-test/suite/ndb/t/ndb_binlog_ddl_multi.test:
Auto merged
mysql-test/suite/ndb/t/ndb_binlog_log_bin.test:
Auto merged
mysql-test/suite/ndb/t/ndb_binlog_multi.test:
Auto merged
mysql-test/suite/ndb/t/ndb_bitfield.test:
Auto merged
mysql-test/suite/ndb/t/ndb_blob.test:
Auto merged
mysql-test/suite/ndb/t/ndb_blob_partition.test:
Auto merged
mysql-test/suite/ndb/t/ndb_cache.test:
Auto merged
mysql-test/suite/ndb/t/ndb_cache2.test:
Auto merged
mysql-test/suite/ndb/t/ndb_cache_multi.test:
Auto merged
mysql-test/suite/ndb/t/ndb_cache_multi2.test:
Auto merged
mysql-test/suite/ndb/t/ndb_charset.test:
Auto merged
mysql-test/suite/ndb/t/ndb_condition_pushdown.test:
Auto merged
mysql-test/suite/ndb/t/ndb_config.test:
Auto merged
mysql-test/suite/ndb/t/ndb_config2.test:
Auto merged
mysql-test/suite/ndb/t/ndb_cursor.test:
Auto merged
mysql-test/suite/ndb/t/ndb_database.test:
Auto merged
mysql-test/suite/ndb/t/ndb_dd_alter.test:
Auto merged
mysql-test/suite/ndb/t/ndb_dd_backuprestore.test:
Auto merged
mysql-test/suite/ndb/t/ndb_dd_basic.test:
Auto merged
mysql-test/suite/ndb/t/ndb_dd_ddl.test:
Auto merged
mysql-test/suite/ndb/t/ndb_dd_disk2memory.test:
Auto merged
mysql-test/suite/ndb/t/ndb_dd_dump.test:
Auto merged
mysql-test/suite/ndb/t/ndb_dd_sql_features.test:
Auto merged
mysql-test/suite/ndb/t/ndb_gis.test:
Auto merged
mysql-test/suite/ndb/t/ndb_index.test:
Auto merged
mysql-test/suite/ndb/t/ndb_index_ordered.test:
Auto merged
mysql-test/suite/ndb/t/ndb_index_unique.test:
Auto merged
mysql-test/suite/ndb/t/ndb_insert.test:
Auto merged
mysql-test/suite/ndb/t/ndb_limit.test:
Auto merged
mysql-test/suite/ndb/t/ndb_loaddatalocal.test:
Auto merged
mysql-test/suite/ndb/t/ndb_lock.test:
Auto merged
mysql-test/suite/ndb/t/ndb_minmax.test:
Auto merged
mysql-test/suite/ndb/t/ndb_multi.test:
Auto merged
mysql-test/suite/ndb/t/ndb_partition_error.test:
Auto merged
mysql-test/suite/ndb/t/ndb_partition_key.test:
Auto merged
mysql-test/suite/ndb/t/ndb_partition_list.test:
Auto merged
mysql-test/suite/ndb/t/ndb_partition_range.test:
Auto merged
mysql-test/suite/ndb/t/ndb_read_multi_range.test:
Auto merged
mysql-test/suite/ndb/t/ndb_rename.test:
Auto merged
mysql-test/suite/ndb/t/ndb_replace.test:
Auto merged
mysql-test/suite/ndb/t/ndb_restore.test:
Auto merged
mysql-test/suite/ndb/t/ndb_restore_partition.test:
Auto merged
mysql-test/suite/ndb/t/ndb_restore_print.test:
Auto merged
mysql-test/suite/ndb/t/ndb_row_format.test:
Auto merged
mysql-test/suite/ndb/t/ndb_single_user.test:
Auto merged
mysql-test/suite/ndb/t/ndb_sp.test:
Auto merged
mysql-test/suite/ndb/t/ndb_subquery.test:
Auto merged
mysql-test/suite/ndb/t/ndb_temporary.test:
Auto merged
mysql-test/suite/ndb/t/ndb_transaction.test:
Auto merged
mysql-test/suite/ndb/t/ndb_trigger.test:
Auto merged
mysql-test/suite/ndb/t/ndb_truncate.test:
Auto merged
mysql-test/suite/ndb/t/ndb_types.test:
Auto merged
mysql-test/suite/ndb/t/ndb_update.test:
Auto merged
mysql-test/suite/ndb/t/ndb_view.test:
Auto merged
mysql-test/suite/ndb/t/ndbapi.test:
Auto merged
mysql-test/suite/ndb/t/ps_7ndb.test:
Auto merged
mysql-test/suite/ndb/t/strict_autoinc_5ndb.test:
Auto merged
mysql-test/suite/rpl/r/rpl_events.result:
Auto merged
mysql-test/suite/rpl/r/rpl_replicate_do.result:
Auto merged
mysql-test/suite/rpl/r/rpl_row_UUID.result:
Auto merged
mysql-test/suite/rpl/r/rpl_sp.result:
Auto merged
mysql-test/suite/rpl/r/rpl_switch_stm_row_mixed.result:
Auto merged
mysql-test/suite/rpl/r/rpl_trigger.result:
Auto merged
mysql-test/suite/rpl/r/rpl_view.result:
Auto merged
mysql-test/suite/rpl_ndb/r/rpl_ndb_UUID.result:
Auto merged
mysql-test/suite/rpl_ndb/r/rpl_ndb_dd_advance.result:
Auto merged
mysql-test/suite/rpl_ndb/r/rpl_ndb_stm_innodb.result:
Auto merged
mysql-test/suite/rpl_ndb/t/rpl_ndb_commit_afterflush.test:
Auto merged
mysql-test/suite/rpl_ndb/t/rpl_ndb_dd_advance.test:
Auto merged
mysql-test/suite/rpl_ndb/t/rpl_ndb_innodb_trans.test:
Auto merged
mysql-test/suite/rpl_ndb/t/rpl_ndb_stm_innodb-master.opt:
Auto merged
mysql-test/suite/rpl_ndb/t/rpl_ndb_stm_innodb.test:
Auto merged
mysql-test/t/sp.test:
Auto merged
sql/Makefile.am:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/sql_class.h:
Auto merged
mysql-test/t/disabled.def:
manual merge
(Will need to follow up with moving a few test cases around post-merge)
make free 64 bit (as it represents free bytes, not free extents as originally designed)
storage/ndb/src/ndbapi/NdbDictionaryImpl.hpp:
make free 64 bit (as it represents free bytes, not free extents as originally designed)
leads to the table corruption
New Field::store() method implemented to explicitly set thd->count_cuted_fields
before value storing, instead of (incorrectly) setting it in the CSV storage engine.
Thread row counter now properly incremented during check and repair in the CSV engine.
include/mysql/plugin.h:
Complementary fix for bug #29353: inserting a negative value to a csv table
leads to the table corruption
- thd_inc_row_count() function prototype added, which allows a storage
engine to increment thread row counter.
mysql-test/r/csv.result:
Complementary fix for bug #29353: inserting a negative value to a csv table
leads to the table corruption
- result adjusted.
sql/field.cc:
Complementary fix for bug #29353: inserting a negative value to a csv table
leads to the table corruption
- Field::store(const char *to, uint length, CHARSET_INFO *cs,
enum_check_fields check_level)
method introduced in order to explicitly set count_cuted_fields before
a ::store call, then reset it back after.
sql/field.h:
Complementary fix for bug #29353: inserting a negative value to a csv table
leads to the table corruption
- Field::store(const char *to, uint length, CHARSET_INFO *cs,
enum_check_fields check_level)
method introduced in order to explicitly set count_cuted_fields before
a ::store call, then reset it back after.
sql/mysql_priv.h:
Complementary fix for bug #29353: inserting a negative value to a csv table
leads to the table corruption
- enum enum_check_fields moved from sql/sql_class.h to sql/mysql_priv.h
as it's used now in the field.h
sql/sql_class.cc:
Complementary fix for bug #29353: inserting a negative value to a csv table
leads to the table corruption
- implementation of the new thd_inc_row_count() function which increments
thread row counter.
sql/sql_class.h:
Complementary fix for bug #29353: inserting a negative value to a csv table
leads to the table corruption
- enum enum_check_fields moved from sql/sql_class.h to sql/mysql_priv.h
as it's used now in the field.h
storage/csv/ha_tina.cc:
Complementary fix for bug #29353: inserting a negative value to a csv table
leads to the table corruption
- removed #define MYSQL_SERVER 1 - "a storage engine should not need
internals of the server"
- removed thd->count_cuted_fields= CHECK_FIELD_WARN as we are not allowed to
access internals of THD.
- used new Field::store() method to explicitly set thd->count_cuted_fields to
CHECK_FIELD_WARN
- thd_inc_row_count() calls added to ha_tina::repair() and ha_tina::check()
to get proper row count values.
handle undofile/logfile groups that were created while node was node
storage/ndb/src/kernel/blocks/dblqh/DblqhMain.cpp:
Make sure that START_RECREQ is run on lgman/tsman even during initial node restart
storage/ndb/src/kernel/blocks/lgman.cpp:
Set state to LG_STARTING during node/system restart
storage/ndb/src/kernel/blocks/lgman.hpp:
add new state
into perch.ndb.mysql.com:/home/jonas/src/mysql-5.1-new-ndb
storage/ndb/src/kernel/blocks/dbtc/DbtcMain.cpp:
Auto merged
storage/ndb/test/ndbapi/testNodeRestart.cpp:
merge
storage/ndb/test/run-test/daily-basic-tests.txt:
merge
into perch.ndb.mysql.com:/home/jonas/src/51-telco-gca
storage/ndb/src/kernel/blocks/dbtc/DbtcMain.cpp:
Auto merged
storage/ndb/test/ndbapi/testNodeRestart.cpp:
merge
storage/ndb/test/run-test/daily-basic-tests.txt:
merge
into mysql.com:/nfsdisk1/lars/MERGE/mysql-5.1-merge
mysql-test/t/disabled.def:
Auto merged
sql/item_sum.cc:
Auto merged
sql/sql_base.cc:
Auto merged
sql/sql_yacc.yy:
Auto merged
include/my_base.h:
Manual merge main->rpl 5.1
mysql-test/t/innodb.test:
Manual merge main->rpl 5.1
into anubis.xiphis.org:/usr/home/antony/work/mysql-5.1-merge
include/my_base.h:
Auto merged
mysql-test/r/events_bugs.result:
Auto merged
sql/ha_partition.cc:
Auto merged
sql/sql_insert.cc:
Auto merged
into olga.mysql.com:/home/igor/dev-opt/mysql-5.1-opt
mysql-test/r/binary.result:
Auto merged
mysql-test/r/ctype_collate.result:
Auto merged
mysql-test/r/ctype_utf8.result:
Auto merged
mysql-test/t/binary.test:
Auto merged
mysql-test/t/create.test:
Auto merged
mysql-test/t/ctype_utf8.test:
Auto merged
sql/field_conv.cc:
Auto merged
sql/item.cc:
Auto merged
sql/item_subselect.cc:
Auto merged
sql/item_sum.cc:
Auto merged
sql/item_sum.h:
Auto merged
sql/sql_class.h:
Auto merged
sql/sql_insert.cc:
Auto merged
sql/sql_select.cc:
Auto merged
sql-common/client.c:
Auto merged
sql/sql_select.h:
Auto merged
sql/table.cc:
Auto merged
storage/myisam/mi_open.c:
Auto merged
strings/ctype-simple.c:
Auto merged
mysql-test/r/create.result:
Manual merge.
mysql-test/r/subselect.result:
Manual merge.
mysql-test/r/type_enum.result:
Manual merge.
mysql-test/t/type_enum.test:
Manual merge.
mysql-test/include/mix1.inc:
Manual merge.
mysql-test/r/innodb_mysql.result:
Manual merge.
mysql-test/t/subselect.test:
Manual merge.
sql/sql_parse.cc:
Manual merge.
storage/myisam/mi_key.c:
Manual merge.
sql/ha_partition.cc:
Post-merge fixes.
The new function HA_EXTRA_INSERT_WITH_UPDATE needs to be handled in
ha_partition::extra().
storage/federated/ha_federated.cc:
Post-merge fixes.
Removed leftover characters.
Added a missing brace.
Fixed and improved parenthesis handling in ha_federated::append_stmt_insert().
Moved code from HA_EXTRA_RESET to ha_federated::reset().
storage/federated/ha_federated.h:
Post-merge fixes.
Changed byte to uchar.
Added declaration for ha_federated::reset().
into mysql.com:/home/svoj/devel/mysql/BUG29250/mysql-5.1-engines
mysql-test/t/archive.test:
Auto merged
mysql-test/r/archive.result:
Use local.
storage/archive/ha_archive.cc:
Manual merge.
into poseidon.mysql.com:/home/tomas/mysql-5.1-new-rpl
mysql-test/r/rpl_ndb_stm_innodb.result:
Auto merged
mysql-test/t/rpl_ndb_stm_innodb.test:
Auto merged
storage/ndb/src/kernel/blocks/dbdict/Dbdict.cpp:
Auto merged
storage/ndb/test/run-test/daily-basic-tests.txt:
Auto merged
Problem: we believe a number cannot start with '-' ['+'] sign reading rows.
Fix: let field->store() check given values.
mysql-test/r/csv.result:
Fix for bug #29353: inserting a negative value to a csv table leads to the table corruption
- test result.
mysql-test/t/csv.test:
Fix for bug #29353: inserting a negative value to a csv table leads to the table corruption
- test case.
storage/csv/ha_tina.cc:
Fix for bug #29353: inserting a negative value to a csv table leads to the table corruption
- code optimization: removed unnecessary file_buff->get_value() calls.
- let field->store() check given value correctness.
into perch.ndb.mysql.com:/home/jonas/src/mysql-5.1-new-ndb
storage/ndb/src/kernel/blocks/dbdih/Dbdih.hpp:
Auto merged
storage/ndb/src/kernel/blocks/pgman.cpp:
Auto merged
storage/ndb/src/kernel/blocks/ERROR_codes.txt:
merge
storage/ndb/src/kernel/blocks/dbdih/DbdihMain.cpp:
merge