Commit d08cd430 authored by mmakela's avatar mmakela

branches/innodb+: Merge revisions 6853:6897 from branches/zip:

Skip r6860, which was merged from branches/innodb+ to branches/zip,
and r6857, which is only applicable to branches/zip.
  ------------------------------------------------------------------------
  r6858 | mmakela | 2010-03-23 14:09:24 +0200 (Tue, 23 Mar 2010) | 1 line
  Changed paths:
     M /branches/zip/handler/ha_innodb.cc

  branches/zip: innodb_read_ahead_threshold: Add missing space to help string.
  ------------------------------------------------------------------------
  r6861 | vdimov | 2010-03-23 19:31:02 +0200 (Tue, 23 Mar 2010) | 36 lines
  Changed paths:
     M /branches/zip/trx/trx0i_s.c

  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:100: 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  > >     ^
  ------------------------------------------------------------------------
  r6864 | mmakela | 2010-03-24 14:05:53 +0200 (Wed, 24 Mar 2010) | 1 line
  Changed paths:
     M /branches/zip/include/data0type.ic

  branches/zip: dtype_new_store_for_order_and_null_size(): Add ut_ad() on mtype.
  ------------------------------------------------------------------------
  r6868 | mmakela | 2010-03-25 13:03:08 +0200 (Thu, 25 Mar 2010) | 1 line
  Changed paths:
     M /branches/zip/page/page0page.c

  branches/zip: page_validate(): Check the buf[] bounds.
  ------------------------------------------------------------------------
  r6871 | vdimov | 2010-03-25 16:39:44 +0200 (Thu, 25 Mar 2010) | 4 lines
  Changed paths:
     M /branches/zip/ChangeLog

  branches/zip:

  Whitespace fixup to be consistent with the rest of the file.
  ------------------------------------------------------------------------
  r6872 | vdimov | 2010-03-25 17:03:17 +0200 (Thu, 25 Mar 2010) | 4 lines
  Changed paths:
     M /branches/zip/ChangeLog

  branches/zip:

  Fix ChangeLog - write only the bug title in bugs.mysql.com-related entires.
  ------------------------------------------------------------------------
  r6873 | vdimov | 2010-03-25 17:06:56 +0200 (Thu, 25 Mar 2010) | 4 lines
  Changed paths:
     M /branches/zip/ChangeLog

  branches/zip:

  Use Bug#N instead of Bug #N to be consistent with the rest of the fil.
  ------------------------------------------------------------------------
  r6874 | vdimov | 2010-03-25 17:17:52 +0200 (Thu, 25 Mar 2010) | 4 lines
  Changed paths:
     M /branches/zip/ChangeLog

  branches/zip:

  Wrap ChangeLog at 78th column
  ------------------------------------------------------------------------
  r6875 | vdimov | 2010-03-25 18:18:15 +0200 (Thu, 25 Mar 2010) | 4 lines
  Changed paths:
     M /branches/zip/ChangeLog

  branches/zip:

  Wrap line at 78 column in ChangeLog.
  ------------------------------------------------------------------------
  r6891 | vdimov | 2010-03-26 16:19:01 +0200 (Fri, 26 Mar 2010) | 5 lines
  Changed paths:
     M /branches/innodb+/buf/buf0buddy.c
     M /branches/innodb+/include/btr0btr.ic
     M /branches/innodb+/include/buf0buf.ic
     M /branches/innodb+/include/handler0alter.h
     M /branches/innodb+/include/mtr0mtr.ic
     M /branches/innodb+/include/pars0pars.h
     M /branches/innodb+/include/row0merge.h
     M /branches/innodb+/include/row0row.h
     M /branches/innodb+/include/row0sel.h
     M /branches/innodb+/include/row0types.h
     M /branches/innodb+/include/sync0rw.h
     M /branches/innodb+/include/ut0lst.h
     M /branches/innodb+/include/ut0ut.h
     M /branches/innodb+/os/os0thread.c
     M /branches/innodb+/pars/pars0pars.c
     M /branches/innodb+/plug.in
     M /branches/innodb+/row/row0purge.c
     M /branches/innodb+/row/row0row.c
     M /branches/innodb+/row/row0uins.c
     M /branches/innodb+/trx/trx0rec.c
     M /branches/innodb+/ut/ut0ut.c
     M /branches/innodb+_persistent_stats/buf/buf0buddy.c
     M /branches/innodb+_persistent_stats/include/btr0btr.ic
     M /branches/innodb+_persistent_stats/include/buf0buf.ic
     M /branches/innodb+_persistent_stats/include/handler0alter.h
     M /branches/innodb+_persistent_stats/include/mtr0mtr.ic
     M /branches/innodb+_persistent_stats/include/row0merge.h
     M /branches/innodb+_persistent_stats/include/row0row.h
     M /branches/innodb+_persistent_stats/include/row0sel.h
     M /branches/innodb+_persistent_stats/include/row0types.h
     M /branches/innodb+_persistent_stats/include/sync0rw.h
     M /branches/innodb+_persistent_stats/os/os0thread.c
     M /branches/innodb+_persistent_stats/plug.in
     M /branches/innodb+_persistent_stats/row/row0purge.c
     M /branches/innodb+_persistent_stats/row/row0row.c
     M /branches/innodb+_persistent_stats/row/row0uins.c
     M /branches/innodb+_persistent_stats/trx/trx0rec.c
     M /branches/performance_schema/buf/buf0buddy.c
     M /branches/performance_schema/buf/buf0flu.c
     M /branches/performance_schema/compile-innodb-debug
     M /branches/performance_schema/include/btr0btr.ic
     M /branches/performance_schema/include/buf0buf.ic
     M /branches/performance_schema/include/dict0boot.ic
     M /branches/performance_schema/include/dict0dict.h
     M /branches/performance_schema/include/os0file.ic
     M /branches/performance_schema/include/os0thread.h
     M /branches/performance_schema/include/row0sel.h
     M /branches/performance_schema/include/trx0purge.h
     M /branches/performance_schema/include/trx0sys.ic
     M /branches/performance_schema/include/ut0wqueue.h
     M /branches/performance_schema/lock/lock0iter.c
     M /branches/performance_schema/mem/mem0pool.c
     M /branches/performance_schema/os/os0thread.c
     M /branches/performance_schema/page/page0zip.c
     M /branches/performance_schema/que/que0que.c
     M /branches/performance_schema/read/read0read.c
     M /branches/performance_schema/row/row0purge.c
     M /branches/performance_schema/row/row0row.c
     M /branches/performance_schema/row/row0vers.c
     M /branches/performance_schema/sync/sync0arr.c
     M /branches/performance_schema/thr/thr0loc.c
     M /branches/performance_schema/trx/trx0rec.c
     M /branches/performance_schema/trx/trx0roll.c
     M /branches/performance_schema/trx/trx0undo.c
     M /branches/performance_schema/ut/ut0wqueue.c
     M /branches/perfschema/btr/btr0sea.c
     M /branches/perfschema/buf/buf0buddy.c
     M /branches/perfschema/buf/buf0flu.c
     M /branches/perfschema/compile-innodb-debug
     M /branches/perfschema/ha/hash0hash.c
     M /branches/perfschema/include/buf0buf.ic
     M /branches/perfschema/include/buf0flu.ic
     M /branches/perfschema/include/dict0boot.ic
     M /branches/perfschema/include/os0thread.h
     M /branches/perfschema/include/sync0rw.h
     M /branches/perfschema/include/sync0rw.ic
     M /branches/perfschema/include/sync0sync.ic
     M /branches/perfschema/mem/mem0pool.c
     M /branches/perfschema/os/os0thread.c
     M /branches/perfschema/page/page0zip.c
     M /branches/perfschema/que/que0que.c
     M /branches/perfschema/read/read0read.c
     M /branches/perfschema/row/row0purge.c
     M /branches/perfschema/row/row0vers.c
     M /branches/perfschema/sync/sync0arr.c
     M /branches/perfschema/sync/sync0rw.c
     M /branches/perfschema/thr/thr0loc.c
     M /branches/perfschema/trx/trx0purge.c
     M /branches/perfschema/trx/trx0rec.c
     M /branches/perfschema/trx/trx0roll.c
     M /branches/perfschema/trx/trx0undo.c
     M /branches/perfschema/ut/ut0wqueue.c
     M /branches/zip/buf/buf0buddy.c
     M /branches/zip/buf/buf0flu.c
     M /branches/zip/buf/buf0rea.c
     M /branches/zip/fil/fil0fil.c
     M /branches/zip/include/btr0btr.ic
     M /branches/zip/include/buf0buf.ic
     M /branches/zip/include/buf0flu.h
     M /branches/zip/include/data0type.ic
     M /branches/zip/include/mtr0mtr.ic
     M /branches/zip/include/row0sel.h
     M /branches/zip/include/sync0rw.h
     M /branches/zip/plug.in
     M /branches/zip/row/row0row.c
     M /branches/zip/trx/trx0i_s.c
     M /branches/zip/trx/trx0rec.c
     M /branches/zip/trx/trx0sys.c

  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
  ------------------------------------------------------------------------
  r6897 | mmakela | 2010-03-29 11:36:19 +0300 (Mon, 29 Mar 2010) | 3 lines
  Changed paths:
     M /branches/zip/handler/ha_innodb.cc

  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.
  ------------------------------------------------------------------------
parent 8610f05a
2010-03-18 The InnoDB Team
* CMakeLists.txt:
Fix Bug #52102 InnoDB Plugin shows performance drop comparing to
builtin InnoDB (Windows only).
Disable Windows atomics by default.
Fix Bug#52102 InnoDB Plugin shows performance drop compared to
InnoDB (Windows)
2010-03-18 The InnoDB Team
* buf0buf.ic:
When comparing the time of the first access to a block against
innodb_old_blocks_time, use 32-bit arithmetics. The comparison
was incorrect on 64-bit systems.
innodb_old_blocks_time, use 32-bit arithmetics. The comparison was
incorrect on 64-bit systems.
2010-03-11 The InnoDB Team
......@@ -22,26 +21,26 @@
2010-03-10 The InnoDB Team
* trx/trx0sys.c:
Fix Bug #51653 outdated reference to set-variable
Fix Bug#51653 outdated reference to set-variable
2010-03-10 The InnoDB Team
* handler/ha_innodb.cc, mysql-test/innodb_bug21704.result,
mysql-test/innodb_bug47621.result, mysql-test/innodb_bug47621.test:
Fix Bug #47621 MySQL and InnoDB data dictionaries will become
out of sync when renaming columns
Fix Bug#47621 MySQL and InnoDB data dictionaries will become out of
sync when renaming columns
2010-03-10 The InnoDB Team
* handler/ha_innodb.cc:
Fix Bug #51356 Many Valgrind errors in error messages
Fix Bug#51356 Many Valgrind errors in error messages
with concurrent DDL
2010-03-10 The InnoDB Team
* handler/ha_innodb.cc, handler/handler0alter.cc,
mysql-test/innodb_bug51378.result, mysql-test/innodb_bug51378.test:
Fix Bug #51378 Init 'ref_length' to correct value, in case an out
Fix Bug#51378 Init 'ref_length' to correct value, in case an out
of bound MySQL primary_key
2010-03-10 The InnoDB Team
......@@ -71,13 +70,13 @@
2010-02-11 The InnoDB Team
* include/mem0mem.h, include/mem0mem.ic, mem/mem0mem.c:
Fix Bug #49535 Available memory check slows down crash
Fix Bug#49535 Available memory check slows down crash
recovery tens of times
2010-02-09 The InnoDB Team
* buf/buf0buf.c:
Fix Bug #38901 InnoDB logs error repeatedly when trying to load
Fix Bug#38901 InnoDB logs error repeatedly when trying to load
page into buffer pool
2010-02-09 The InnoDB Team
......@@ -152,7 +151,7 @@
2010-01-12 The InnoDB Team
* handler/ha_innodb.cc, handler/ha_innodb.h:
Fix Bug #46193 crash when accessing tables after enabling
Fix Bug#46193 crash when accessing tables after enabling
innodb_force_recovery option
2010-01-12 The InnoDB Team
......@@ -265,8 +264,8 @@
sync/sync0arr.c, sync/sync0sync.c, thr/thr0loc.c, trx/trx0i_s.c,
trx/trx0purge.c, trx/trx0rseg.c, trx/trx0sys.c, trx/trx0undo.c,
usr/usr0sess.c, ut/ut0mem.c:
Fix Bug #45992 innodb memory not freed after shutdown
Fix Bug #46656 InnoDB plugin: memory leaks (Valgrind)
Fix Bug#45992 innodb memory not freed after shutdown
Fix Bug#46656 InnoDB plugin: memory leaks (Valgrind)
2009-10-29 The InnoDB Team
......@@ -608,7 +607,7 @@
* dict/dict0dict.c:
When an index column cannot be found in the table during index
creation, display additional diagnostic before an assertion failure.
This does NOT fix Bug #44571 InnoDB Plugin crashes on ADD INDEX,
This does NOT fix Bug#44571 InnoDB Plugin crashes on ADD INDEX,
but it helps understand the reason of the crash.
2009-06-17 The InnoDB Team
......
/*****************************************************************************
Copyright (c) 1995, 2009, Innobase Oy. All Rights Reserved.
Copyright (c) 1995, 2010, Innobase Oy. All Rights Reserved.
This program is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free Software
......
/*****************************************************************************
Copyright (c) 1995, 2009, Innobase Oy. All Rights Reserved.
Copyright (c) 1995, 2010, Innobase Oy. All Rights Reserved.
This program is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free Software
......
......@@ -9016,7 +9016,7 @@ innodb_mutex_show_status(
for (lock = UT_LIST_GET_FIRST(rw_lock_list); lock != NULL;
lock = UT_LIST_GET_NEXT(list, lock)) {
if (lock->count_os_wait) {
if (lock->count_os_wait == 0) {
continue;
}
......@@ -10920,7 +10920,7 @@ static MYSQL_SYSVAR_STR(change_buffering, innobase_change_buffering,
static MYSQL_SYSVAR_ULONG(read_ahead_threshold, srv_read_ahead_threshold,
PLUGIN_VAR_RQCMDARG,
"Number of pages that must be accessed sequentially for InnoDB to"
"Number of pages that must be accessed sequentially for InnoDB to "
"trigger a readahead.",
NULL, NULL, 56, 0, 64, 0);
......
/*****************************************************************************
Copyright (c) 1995, 2009, Innobase Oy. All Rights Reserved.
Copyright (c) 1995, 2010, Innobase Oy. All Rights Reserved.
This program is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free Software
......
/*****************************************************************************
Copyright (c) 1996, 2009, Innobase Oy. All Rights Reserved.
Copyright (c) 1996, 2010, Innobase Oy. All Rights Reserved.
This program is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free Software
......@@ -285,6 +285,10 @@ dtype_new_store_for_order_and_null_size(
#endif
ulint len;
ut_ad(type);
ut_ad(type->mtype >= DATA_VARCHAR);
ut_ad(type->mtype <= DATA_MYSQL);
buf[0] = (byte)(type->mtype & 0xFFUL);
if (type->prtype & DATA_BINARY_TYPE) {
......
......@@ -2414,8 +2414,13 @@ page_validate(
}
offs = page_offset(rec_get_start(rec, offsets));
i = rec_offs_size(offsets);
if (UNIV_UNLIKELY(offs + i >= UNIV_PAGE_SIZE)) {
fputs("InnoDB: record offset out of bounds\n", stderr);
goto func_exit;
}
for (i = rec_offs_size(offsets); i--; ) {
while (i--) {
if (UNIV_UNLIKELY(buf[offs + i])) {
/* No other record may overlap this */
......@@ -2523,8 +2528,13 @@ n_owned_zero:
count++;
offs = page_offset(rec_get_start(rec, offsets));
i = rec_offs_size(offsets);
if (UNIV_UNLIKELY(offs + i >= UNIV_PAGE_SIZE)) {
fputs("InnoDB: record offset out of bounds\n", stderr);
goto func_exit;
}
for (i = rec_offs_size(offsets); i--; ) {
while (i--) {
if (UNIV_UNLIKELY(buf[offs + i])) {
fputs("InnoDB: Record overlaps another"
......
......@@ -28,11 +28,18 @@ table cache" for later retrieval.
Created July 17, 2007 Vasil Dimov
*******************************************************/
/* Found during the build of 5.5.3 on Linux 2.4 and early 2.6 kernels:
The includes "univ.i" -> "my_global.h" cause a different path
to be taken further down with pthread functions and types,
so they must come first.
From the symptoms, this is related to bug#46587 in the MySQL bug DB.
*/
#include "univ.i"
#include <mysql/plugin.h>
#include "mysql_addons.h"
#include "univ.i"
#include "buf0buf.h"
#include "dict0dict.h"
#include "ha0storage.h"
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment