- 09 Sep, 2007 1 commit
-
-
sunny authored
retry of autoinc read semantics. We always reread the table's autoinc counter after attempting to initialize it i.e., we want to guarantee that a read of autoinc valus that is returned to the caller is always covered by the AUTOINC locking mechanism.
-
- 08 Sep, 2007 1 commit
-
-
sunny authored
Bug# 30907: We don't rely on *first_value to be 0 when checking whether get_auto_increment() has been invoked for the first time in a multi-row INSERT. We instead use trx_t::n_autoinc_rows. Initialize trx::n_autoinc_rows inside ha_innobase::start_stmt() too. Bug# 30888: While adding code for the low level read of the AUTOINC value from the index, the case for MEDIUM ints which are 3 bytes was missed triggering an assertion.
-
- 07 Sep, 2007 2 commits
-
-
marko authored
Use UNIV_MEM_ASSERT_W() instead of UNIV_MEM_ASSERT_RW(). The memory area need not be initialized. This mistake was made in r1815.
-
sunny authored
ChangeSet@1.2536.50.1 2007-08-02 12:45:56-07:00 igor@mysql.com Fixed bug#28404. This patch adds cost estimation for the queries with ORDER BY / GROUP BY and LIMIT. If there was a ref/range access to the table whose rows were required to be ordered in the result set the optimizer always employed this access though a scan by a different index that was compatible with the required order could be cheaper to produce the first L rows of the result set. Now for such queries the optimizer makes a choice between the cheapest ref/range accesses not compatible with the given order and index scans compatible with it. innodb.result: Adjusted results for test cases affected fy the fix for bug #28404.
-
- 06 Sep, 2007 2 commits
-
-
sunny authored
when building a previous version of the row. This bug is triggered when running queries via InnoDB's internal SQL parser; when InnoDB's optimizer selects a secondary index for the plan.
-
marko authored
UNIV_MEM_ASSERT_RW(): New macro, to check that the contents of a memory area is defined. UNIV_MEM_ASSERT_W(): New macro, to check that a memory area is writable. UNIV_MEM_ASSERT_AND_FREE(): New macro, to check that the memory is writable before declaring it free (unwritable). This replaces UNIV_MEM_FREE() in many places. mem_init_buf(): Check that the memory is writable, and declare it undefined. mem_erase_buf(): Check that the memory is writable, and declare it freed.
-
- 05 Sep, 2007 1 commit
-
-
marko authored
trx->n_mysql_tables_in_use only after row_lock_table_for_mysql() returns DB_SUCCESS. A timeout on LOCK TABLES would lead to an inconsistent state, which would cause trx_free() to print a warning. This was later reported as Bug #31444.
-
- 03 Sep, 2007 1 commit
-
-
marko authored
-
- 01 Sep, 2007 2 commits
- 31 Aug, 2007 1 commit
-
-
marko authored
ha_prototypes.h. Enclose the definitions in ha_prototypes.h in #ifndef UNIV_HOTBACKUP.
-
- 30 Aug, 2007 6 commits
-
-
marko authored
row_drop_table_for_mysql(): Do not mention innodb_force_recovery when newraw is set.
-
marko authored
ChangeSet@1.2536.10.2 2007-07-25 10:44:45+02:00 jperkin@mysql.com Fix for bug#29641 - $CC on Open Server is set to contain arguments 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. plug.in: Remove AC_PROG_* macros
-
marko authored
row_drop_table_for_mysql().
-
sunny authored
on IM with Heikki.
-
sunny authored
The variable used in the tests below was introduced in r1735.
-
sunny authored
the InnoDB storage byte order, which is big-endian.
-
- 23 Aug, 2007 4 commits
-
-
marko authored
debug assertions.
-
marko authored
-
sunny authored
holding the AUTOINC mutex and if initialization is required then we initialize using our normal procedure. This change is related to Bug#27950.
-
sunny authored
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.
-
- 22 Aug, 2007 5 commits
-
-
marko authored
been adjusted in r1719, or r1264 in branches/zip.
-
marko authored
The code was related to replication and group commit, and it was unreachable already as of MySQL 5.0. Approved by Heikki
-
marko authored
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.
-
marko authored
in #ifdef UNIV_HOTBACKUP, to match the function declaration.
-
marko authored
mysql_master_log_pos, repl_wait_binlog_name, repl_wait_binlog_pos. Approved by Heikki.
-
- 20 Aug, 2007 1 commit
-
-
sunny authored
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).
-
- 15 Aug, 2007 3 commits
-
-
marko authored
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().
-
marko authored
ha_innodb.cc. This cleanup was made possible as of r1550: Merge changes from MySQL AB: ChangeSet@2007-05-10 12:59:39+03:00, monty@mysql.com WL#3817: Simplify string / memory area types and make things more consistent (first part) The following type conversions was done: - Changed byte to uchar ...
-
marko authored
that was inadvertently added in r832.
-
- 14 Aug, 2007 1 commit
-
-
vasil authored
-
- 01 Aug, 2007 1 commit
-
-
marko authored
in lock0lock.c and lock0lock.h identical. The typo was incorrectly fixed in r1623.
-
- 31 Jul, 2007 5 commits
-
-
marko authored
was added by someone at MySQL.
-
marko authored
-
marko authored
ChangeSet@1.1810.3176.1 2007-07-20 14:17:15+03:00 gkodinov@magare.gmz Bug #29644: alter table hangs if records locked in share mode by long running transaction On Windows opened files can't be deleted. There was a special upgraded lock mode (TL_WRITE instead of TL_WRITE_ALLOW_READ) in ALTER TABLE to make sure nobody has the table opened when deleting the old table in ALTER TABLE. This special mode was causing ALTER TABLE to hang waiting on a lock inside InnoDB. This special lock is no longer necessary as the server is closing the tables it needs to delete in ALTER TABLE. Fixed by removing the special lock. Note that this also reverses the fix for bug 17264 that deals with another consequence of this special lock mode being used. ha_innodb.cc@1.202.46.1 2007-07-20 14:17:14+03:00 gkodinov@magare.gmz Bug #29644: reverse the (now excessive) fix for bug 17264 (but leave the test case).
-
marko authored
-
marko authored
ChangeSet@1.2567, 2007-07-27 14:44:31+05:00, svoj@june.mysql.com +3 -0 Merge mysql.com:/home/svoj/devel/mysql/BUG29957/mysql-5.0-engines into mysql.com:/home/svoj/devel/mysql/BUG29957/mysql-5.1-engines MERGE: 1.1810.2871.44 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
-
- 30 Jul, 2007 1 commit
-
-
marko authored
-
- 24 Jul, 2007 2 commits
-
-
vasil authored
* Use standard while-loop instead of the seq command
-
sunny authored
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.
-