dict_table_check_for_dup_indexes(): Add the flag tmp_ok. If !tmp_ok,
check that no index name starts with TEMP_INDEX_PREFIX.
ha_innobase::add_index(), ha_innobase::prepare_drop_index(),
ha_innobase::final_drop_index(): Call dict_table_check_for_dup_indexes().
------------------------------------------------------------------------
r6921 | mmakela | 2010-03-31 14:33:04 +0300 (Wed, 31 Mar 2010) | 2 lines
Changed paths:
M /branches/5.1/mysql-test/innodb_bug51920.result
M /branches/5.1/mysql-test/innodb_bug51920.test
branches/5.1: innodb_bug51920.test: Make the test quicker and more
deterministic. Suggested by Vasil Dimov.
------------------------------------------------------------------------
Add debug assertions to track down Bug #52360.
hash_table_t::magic_n: Add HASH_TABLE_MAGIC_N checks, which were fully absent.
ut_hash_ulint(): Assert table_size > 0 before division.
that have been modified after 2010-01-01 according to svn.
for f in $(svn log -v -r{2010-01-01}:HEAD |grep "^ M " |cut -b 16- |sort -u) ; do sed -i "" -E 's/(Copyright \(c\) [0-9]{4},) [0-9]{4}, (.*Innobase Oy.+All Rights Reserved)/\1 2010, \2/' $f ; done
Merge joerg@mysql.com-20100322150231-vdq0afbqtmbs6phy from BZR,
Including univ.i before mysql/plugin.h is needed to avoid this
compiler error:
o This is how gcc puts it:
o > > ccache /usr/local/gcc-4.3.2/bin/gcc -static-libgcc -DHAVE_CONFIG_H -I. -I../../include -I../../include -I../../include -I../../regex -I./include -I../../sql -I. -I../../zlib -g -O3 -march=i686 -DUNIV_LINUX -MT libinnobase_a-trx0i_s.o -MD -MP -MF .deps/libinnobase_a-trx0i_s.Tpo -c -o libinnobase_a-trx0i_s.o `test -f 'trx/trx0i_s.c' || echo './'`trx/trx0i_s.c
o > > In file included from ./include/univ.i:114,
o > > from trx/trx0i_s.c:36:
o > > ../../include/my_pthread.h:628: error: expected ')' before '*' token
o > > In file included from ../../include/my_pthread.h:732,
o > > from ./include/univ.i:114,
o > > from trx/trx0i_s.c:36:
o > > ../../include/mysql/psi/mysql_thread.h💯 error: expected specifier-qualifier-list before 'pthread_rwlock_t'
o > > ../../include/mysql/psi/mysql_thread.h:116: error: expected specifier-qualifier-list before 'pthread_rwlock_t'
o > > ../../include/mysql/psi/mysql_thread.h: In function 'inline_mysql_rwlock_init':
o > > ../../include/mysql/psi/mysql_thread.h:711: error: 'mysql_rwlock_t' has no member named 'm_psi'
o > > ../../include/mysql/psi/mysql_thread.h:716: error: 'mysql_rwlock_t' has no member named 'm_rwlock'
o > > .... ((continued))
o
o Intel's icc gives slightly clearer messages:
o > > icc -static-intel -static-libgcc -DHAVE_CONFIG_H -I. -I../../include -I../../include -I../../include -I../../regex -I./include -I../../sql -I. -I../../zlib -O3 -g -unroll2 -ip -mp -restrict -no-ftz -no-prefetch -DUNIV_LINUX -MT libinnobase_a-trx0i_s.o -MD -MP -MF .deps/libinnobase_a-trx0i_s.Tpo -c -o libinnobase_a-trx0i_s.o `test -f 'trx/trx0i_s.c' || echo './'`trx/trx0i_s.c
o > > ../../include/my_pthread.h(628): error: identifier "pthread_rwlock_t" is undefined
o > > extern int rw_pr_init(rw_pr_lock_t *);
o > > ^
o > >
o > > ../../include/mysql/psi/mysql_thread.h(100): error: identifier "pthread_rwlock_t" is undefined
o > > rw_lock_t m_rwlock;
o > > ^
o > >
o > > ../../include/mysql/psi/mysql_thread.h(116): error: identifier "pthread_rwlock_t" is undefined
o > > rw_pr_lock_t m_prlock;
o > > ^
HAVE_IB_PAUSE_INSTRUCTION in CMakeLists.txt.
The rename was done as r5871, but CMakeLists.txt was
forgotten. Also, add INNODB_RW_LOCKS_USE_ATOMICS to
CMake.
buf_block_t::check_index_page_at_flush: Note that this field is not
protected by any mutex. Make it a separate field, not a bitfield that
could share the machine word with other fields.
buf_block_t::lock_hash_val: Note that this field is protected by
buf_block_t::lock (or during block creation, by buf_pool_mutex and
buf_block_t::mutex).
buf_block_get_lock_hash_val(): Assert that block->lock is held by the
current thread.
Issue #465, rb://267 approved by Inaam Rana
------------------------------------------------------------------------
r6774 | calvin | 2010-03-03 23:56:10 +0200 (Wed, 03 Mar 2010) | 2 lines
Changed paths:
M /branches/5.1/trx/trx0sys.c
branches/5.1: fix bug#51653: outdated reference to set-variable
Non functional change.
------------------------------------------------------------------------
r6780 | vasil | 2010-03-08 19:13:20 +0200 (Mon, 08 Mar 2010) | 4 lines
Changed paths:
M /branches/5.1/plug.in
branches/5.1:
Whitespace fixup.
------------------------------------------------------------------------
r6783 | jyang | 2010-03-09 17:54:14 +0200 (Tue, 09 Mar 2010) | 9 lines
Changed paths:
M /branches/5.1/handler/ha_innodb.cc
M /branches/5.1/mysql-test/innodb_bug21704.result
A /branches/5.1/mysql-test/innodb_bug47621.result
A /branches/5.1/mysql-test/innodb_bug47621.test
branches/5.1: Fix bug #47621 "MySQL and InnoDB data dictionaries
will become out of sync when renaming columns". MySQL does not
provide new column name information to storage engine to
update the system table. To avoid column name mismatch, we shall
just request a table copy for now.
rb://246 approved by Marko.
------------------------------------------------------------------------
r6785 | vasil | 2010-03-10 09:04:38 +0200 (Wed, 10 Mar 2010) | 11 lines
Changed paths:
M /branches/5.1/mysql-test/innodb_bug38231.test
branches/5.1:
Add the missing --reap statements in innodb_bug38231.test. Probably MySQL
enforced the presence of those recently and the test started failing like:
main.innodb_bug38231 [ fail ]
Test ended at 2010-03-10 08:48:32
CURRENT_TEST: main.innodb_bug38231
mysqltest: At line 49: Cannot run query on connection between send and reap
------------------------------------------------------------------------
r6788 | vasil | 2010-03-10 10:53:21 +0200 (Wed, 10 Mar 2010) | 8 lines
Changed paths:
M /branches/5.1/mysql-test/innodb_bug38231.test
branches/5.1:
In innodb_bug38231.test: replace the fragile sleep 0.2 that depends on timing
with a more robust condition which waits for the TRUNCATE and LOCK commands
to appear in information_schema.processlist. This could also break if there
are other sessions executing the same SQL commands, but there are none during
the execution of the mysql test.
------------------------------------------------------------------------
with concurrent ddl". Null terminate the name string returned
from innobase_convert_identifier() call when reporting DB_DUPLICATE_KEY
error in create_table_def().
rb://266 approved by Marko
unique index cannot be upgrade to primary index even if there
is no primary index already defined. Also fix possible corruption
when initialize "ref_length" value in case there is a mismatch
between MySQL and InnoDB primary key. Fix bug #51378: "Init
'ref_length' to correct value, in case an out of bound MySQL
primary_key".
rb://262 approved by Marko.
TODO: We might also consider removing recv_max_parsed_page_no, because
it does not make much sense with *.ibd files.
recv_report_corrupt_log(), recv_scan_log_recs(): Abort when a
corrupted log record has been found, unless innodb_force_recovery has
been set.
This fixes Issue #464.
rb://265 approved by Heikki Tuuri
This should fix Mantis Issue #461.
innodb.test, innodb.result, innodb-index.test, innodb-index.result:
Adjust the test result and mention that the introduced restriction
has been reported as MySQL Bug #51451.
innobase_check_index_keys(): Add a parameter for the InnoDB table and
check that no duplicate index name is added. Report errors by
my_error() instead of sql_print_error().
rb://260 approved by Sunny Bains
The merge sort can use up to 48KiB of buffers when merging blocks.
That can cause a stack overflow, especially on 64-bit systems when not
building with inlined functions. This was reported as Issue #462.
row_merge_dup_report(): Allocate buf and offsets from a heap.
row_merge_heap_create(): Allocate space for buf[3] too. Fix bogus
sizeof arithmetics that happened to work, because
sizeof(ulint)==sizeof(void*).
row_merge_blocks(), row_merge_blocks_copy(): Allocate buf[3] from heap.
row_merge_insert_index_tuples(): Allocate buf from graph_heap.
rb://258 approved and tested by Sunny Bains
that have been modified after 2010-01-01 according to svn.
for f in $(svn log -v -r{2010-01-01}:HEAD |grep "^ M " |cut -b 16- |sort -u) ; do sed -i "" -E 's/(Copyright \(c\) [0-9]{4},) [0-9]{4}, (.*Innobase Oy.+All Rights Reserved)/\1 2010, \2/' $f ; done