Commit graph

2075 commits

Author SHA1 Message Date
vdimov
aff2d59043 Change the BZR property 2010-04-06 17:55:02 +00:00
vdimov
9af0bc75a7 Set some experimental properties 2010-04-06 17:48:35 +00:00
vdimov
750fc84b89 Set some experimental properties that could help with the merge into BZR. 2010-04-06 16:20:33 +00:00
mmakela
a9b806e470 branches/zip: Add debug checks to track down Issue #461.
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().
2010-04-06 12:11:46 +00:00
mmakela
7079eef220 branches/zip: Merge revisions 6921:6924 from branches/5.1:
------------------------------------------------------------------------
  r6924 | mmakela | 2010-03-31 15:28:25 +0300 (Wed, 31 Mar 2010) | 1 line
  Changed paths:
     M /branches/5.1/mysql-test/innodb_bug51920.test

  branches/5.1: innodb_bug51920.test: Fix a race condition.
  ------------------------------------------------------------------------
2010-03-31 11:30:56 +00:00
mmakela
e92a36c804 branches/zip: Merge revisions 6918:6921 from branches/5.1:
------------------------------------------------------------------------
  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.
  ------------------------------------------------------------------------
2010-03-31 10:54:30 +00:00
mmakela
6c682aff57 branches/zip: Fix a compilation error that sneaked in in r6919. 2010-03-31 07:49:08 +00:00
mmakela
5ccfae8284 branches/zip: Merge revisions 6788:6918 from branches/5.1:
------------------------------------------------------------------------
  r6822 | vasil | 2010-03-15 10:17:31 +0200 (Mon, 15 Mar 2010) | 12 lines
  Changed paths:
     M /branches/5.1/row/row0sel.c

  branches/5.1:

  Typecast to silence a compiler warning:

  row/row0sel.c: 4548
          C4244: '=' : conversion from 'float' to 'ib_ulonglong', possible loss of data
  row/row0sel.c: 4553
          C4244: '=' : conversion from 'double' to 'ib_ulonglong', possible loss of data

  Reported by:	Jonas Oreland <Jonas.Oreland@Sun.COM>
  Discussed with:	Sunny Bains <sunny.bains@oracle.com>
  ------------------------------------------------------------------------
  r6884 | vdimov | 2010-03-26 13:05:03 +0200 (Fri, 26 Mar 2010) | 6 lines
  Changed paths:
     M /branches/5.1/mysql-test/innodb_bug38231.test

  branches/5.1:

  Fix a non-determinism in innodb_bug38231.

  Reported by:	Sergey Vojtovich <svoj@Sun.COM>
  ------------------------------------------------------------------------
  r6911 | vdimov | 2010-03-30 11:39:02 +0300 (Tue, 30 Mar 2010) | 2 lines
  Changed paths:
     M /branches/5.1/handler/ha_innodb.cc

  branches/5.1: Whitespace fixup
  ------------------------------------------------------------------------
  r6912 | vdimov | 2010-03-30 12:18:46 +0300 (Tue, 30 Mar 2010) | 2 lines
  Changed paths:
     M /branches/5.1/handler/ha_innodb.cc

  branches/5.1: Whitespace fixup on line 354
  ------------------------------------------------------------------------
  r6918 | mmakela | 2010-03-31 11:14:51 +0300 (Wed, 31 Mar 2010) | 6 lines
  Changed paths:
     A /branches/5.1/mysql-test/innodb_bug51920.result
     A /branches/5.1/mysql-test/innodb_bug51920.test
     M /branches/5.1/srv/srv0srv.c

  branches/5.1: Obey KILL during a lock wait (Bug #51920).

  srv_suspend_mysql_thread(), srv_lock_timeout_and_monitor_thread():
  Check trx_is_interrupted() in addition to checking the lock wait timeout.

  rb://279 approved by Sunny Bains
  ------------------------------------------------------------------------
2010-03-31 07:34:22 +00:00
mmakela
5618685826 branches/zip: Merge c6899 from branches/innodb+:
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.
2010-03-29 09:54:57 +00:00
mmakela
387474acf2 branches/zip: innodb_mutex_show_status(): Fix a condition
that was accidentally negated in r6781, making SHOW ENGINE INNODB MUTEX STATUS
display only locks with no OS waits.
2010-03-29 07:36:19 +00:00
vdimov
c31479b5f2 Non-functional change: update copyright year to 2010 of the files
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
2010-03-26 14:19:01 +00:00
vdimov
af0f35b7e7 branches/zip:
Wrap line at 78 column in ChangeLog.
2010-03-25 16:18:15 +00:00
vdimov
8a81d602f3 branches/zip:
Wrap ChangeLog at 78th column
2010-03-25 15:17:52 +00:00
vdimov
8ca8d6c41a branches/zip:
Use Bug#N instead of Bug #N to be consistent with the rest of the fil.
2010-03-25 15:06:56 +00:00
vdimov
3b237e3fb5 branches/zip:
Fix ChangeLog - write only the bug title in bugs.mysql.com-related entires.
2010-03-25 15:03:17 +00:00
vdimov
f300cc3f1f branches/zip:
Whitespace fixup to be consistent with the rest of the file.
2010-03-25 14:39:44 +00:00
mmakela
3e06875130 branches/zip: page_validate(): Check the buf[] bounds. 2010-03-25 11:03:08 +00:00
mmakela
0dd60c1d3a branches/zip: dtype_new_store_for_order_and_null_size(): Add ut_ad() on mtype. 2010-03-24 12:05:53 +00:00
vdimov
b830a9400a branches/zip:
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  > >     ^
2010-03-23 17:31:02 +00:00
jyang
38d926a8d0 branches/zip: This is patch from Inaam that uses red-black tree
to speed up insertions into the flush_list and thus the recovery
process. The patch has been tested by Nokia.
2010-03-23 16:20:36 +00:00
mmakela
d2b4c4f532 branches/zip: innodb_read_ahead_threshold: Add missing space to help string. 2010-03-23 12:09:24 +00:00
mmakela
1005e06d8a branches/zip: innodb_change_buffering: Correct the documentation. 2010-03-23 12:07:53 +00:00
marko
1b6d888e1c branches/zip: mutex_own(), rw_lock_own(): Add attribute((warn_unused_result)). 2010-03-22 11:35:29 +00:00
calvin
44c36be6cb branches/zip: Fix Bug #52102 InnoDB Plugin shows performance drop
comparing to builtin InnoDB (Windows only).

Disable Windows atomics by default.

Approved by: Inaam
2010-03-18 22:32:23 +00:00
marko
9b12ed37b5 branches/zip: buf_page_peek_if_too_old(): Use 32-bit arithmetics
when comparing the age of access_time to buf_LRU_old_threshold_ms.
This fixes a bug on 64-bit systems.
2010-03-18 07:48:18 +00:00
calvin
28b2767ce0 branches/zip: rename IB_HAVE_PAUSE_INSTRUCTION to
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.
2010-03-17 15:16:38 +00:00
inaam
c974ddb53f branches/zip issue#463
Fixed compiler warning about uninitialized variable.

Non-functional change.
2010-03-11 21:15:17 +00:00
marko
232b3dce57 branches/zip: mtr_memo_contains(): Relax the assertion of r6800,
allowing mtr->state == MTR_COMMITTING.
2010-03-11 11:34:28 +00:00
marko
8766f62c90 branches/zip: Add ut_ad(mtr->state == MTR_ACTIVE) to various places. 2010-03-11 10:02:57 +00:00
jyang
ed1c90fac5 branches/zip: Once change in bug #47621 merges into zip branch,
zip only test innodb_bug44571 needs to be updated to reflect the
column name change would be successful be done in InnoDB as well.
2010-03-11 07:59:42 +00:00
marko
86018ed1a3 branches/zip: Fix and clarify the latching of some buf_block_t members.
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
2010-03-11 07:53:01 +00:00
marko
33ebfa0b01 branches/zip: Merge revisions 6669:6788 from branches/5.1:
------------------------------------------------------------------------
  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.
  ------------------------------------------------------------------------
2010-03-10 12:02:19 +00:00
marko
6d13c42c92 branches/zip: Copy tests from branches/5.1 that were lost in some merge. 2010-03-10 11:56:41 +00:00
marko
63b198756d branches/zip: Add ChangeLog entries for r6789, r6790. 2010-03-10 11:39:06 +00:00
jyang
191261da18 branches/zip: Fix bug #51356: "many valgrind errors in error messages
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
2010-03-10 11:09:41 +00:00
jyang
16b41a586d branches/zip: If a unique index is on a column prefix, such
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.
2010-03-10 09:18:18 +00:00
marko
6c7ddbe2ed branches/zip: recv_parse_log_rec(): Remove a bogus assertion about page_no.
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
2010-03-10 08:35:06 +00:00
vasil
48cf851d1e branches/zip:
Fix typo in comment
2010-03-10 07:16:50 +00:00
marko
0a044cbc5c branches/zip: fil0fil.c: Update comments on table->flags as of r6252. 2010-03-09 12:09:26 +00:00
marko
e391bf3847 branches/zip: Make SHOW ENGINE INNODB MUTEX display SUM(os_waits)
for block mutexes and blocks.

Designed by Michael and Marko. rb://188, Issue #358
2010-03-09 07:41:08 +00:00
marko
369570f66d branches/zip: Fix IMPORT TABLESPACE of compressed tables. Previously,
a wrong parameter was passed to buf_flush_init_for_writing().

fil_reset_too_high_lsns(): Set up page_zip and use it if needed.

rb://264, Issue #352
2010-03-08 12:35:42 +00:00
marko
339f752ec7 branches/zip: trx_undo_update_rec_get_update(): Silence a bogus GCC warning
about a possibly uninitialized variable.
2010-03-04 11:01:25 +00:00
marko
25939e31ef branches/zip: row_raw_format(): Silence a GCC 4.4.2 warning
of possibly uninitialized variable format_in_hex.
2010-03-03 13:31:54 +00:00
marko
9ea180a1c9 Document r6770. 2010-03-03 12:52:43 +00:00
marko
9319ba1ea5 branches/zip: Disallow duplicate index name when creating an index.
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
2010-03-03 10:52:55 +00:00
vasil
0ad5bf27f4 branches/zip:
Add a NOTE to the comment of btr_node_ptr_get_child_page_no()
to prevent mysterious bugs.
2010-03-02 16:20:48 +00:00
calvin
a7a8a8248f branches/zip: fix bug#51587
Non-functional change.
2010-03-01 16:16:10 +00:00
marko
90b496f687 branches/zip: Allocate the merge sort buffers from a heap, not stack.
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
2010-02-24 08:56:43 +00:00
marko
3075b9a0e9 branches/zip: row_fetch_store_uint4(): Remove unused function.
This was added to trunk in r435.
2010-02-22 06:57:23 +00:00
vasil
6c3ab906d5 Non-functional change: update copyright year to 2010 of the files
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
2010-02-20 16:45:41 +00:00