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 2010-03-18 The InnoDB Team
* CMakeLists.txt: * CMakeLists.txt:
Fix Bug #52102 InnoDB Plugin shows performance drop comparing to Fix Bug#52102 InnoDB Plugin shows performance drop compared to
builtin InnoDB (Windows only). InnoDB (Windows)
Disable Windows atomics by default.
2010-03-18 The InnoDB Team 2010-03-18 The InnoDB Team
* buf0buf.ic: * buf0buf.ic:
When comparing the time of the first access to a block against When comparing the time of the first access to a block against
innodb_old_blocks_time, use 32-bit arithmetics. The comparison innodb_old_blocks_time, use 32-bit arithmetics. The comparison was
was incorrect on 64-bit systems. incorrect on 64-bit systems.
2010-03-11 The InnoDB Team 2010-03-11 The InnoDB Team
...@@ -22,26 +21,26 @@ ...@@ -22,26 +21,26 @@
2010-03-10 The InnoDB Team 2010-03-10 The InnoDB Team
* trx/trx0sys.c: * 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 2010-03-10 The InnoDB Team
* handler/ha_innodb.cc, mysql-test/innodb_bug21704.result, * handler/ha_innodb.cc, mysql-test/innodb_bug21704.result,
mysql-test/innodb_bug47621.result, mysql-test/innodb_bug47621.test: mysql-test/innodb_bug47621.result, mysql-test/innodb_bug47621.test:
Fix Bug #47621 MySQL and InnoDB data dictionaries will become Fix Bug#47621 MySQL and InnoDB data dictionaries will become out of
out of sync when renaming columns sync when renaming columns
2010-03-10 The InnoDB Team 2010-03-10 The InnoDB Team
* handler/ha_innodb.cc: * 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 with concurrent DDL
2010-03-10 The InnoDB Team 2010-03-10 The InnoDB Team
* handler/ha_innodb.cc, handler/handler0alter.cc, * handler/ha_innodb.cc, handler/handler0alter.cc,
mysql-test/innodb_bug51378.result, mysql-test/innodb_bug51378.test: 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 of bound MySQL primary_key
2010-03-10 The InnoDB Team 2010-03-10 The InnoDB Team
...@@ -71,13 +70,13 @@ ...@@ -71,13 +70,13 @@
2010-02-11 The InnoDB Team 2010-02-11 The InnoDB Team
* include/mem0mem.h, include/mem0mem.ic, mem/mem0mem.c: * 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 recovery tens of times
2010-02-09 The InnoDB Team 2010-02-09 The InnoDB Team
* buf/buf0buf.c: * 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 page into buffer pool
2010-02-09 The InnoDB Team 2010-02-09 The InnoDB Team
...@@ -152,7 +151,7 @@ ...@@ -152,7 +151,7 @@
2010-01-12 The InnoDB Team 2010-01-12 The InnoDB Team
* handler/ha_innodb.cc, handler/ha_innodb.h: * 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 innodb_force_recovery option
2010-01-12 The InnoDB Team 2010-01-12 The InnoDB Team
...@@ -265,8 +264,8 @@ ...@@ -265,8 +264,8 @@
sync/sync0arr.c, sync/sync0sync.c, thr/thr0loc.c, trx/trx0i_s.c, 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, trx/trx0purge.c, trx/trx0rseg.c, trx/trx0sys.c, trx/trx0undo.c,
usr/usr0sess.c, ut/ut0mem.c: usr/usr0sess.c, ut/ut0mem.c:
Fix Bug #45992 innodb memory not freed after shutdown Fix Bug#45992 innodb memory not freed after shutdown
Fix Bug #46656 InnoDB plugin: memory leaks (Valgrind) Fix Bug#46656 InnoDB plugin: memory leaks (Valgrind)
2009-10-29 The InnoDB Team 2009-10-29 The InnoDB Team
...@@ -608,7 +607,7 @@ ...@@ -608,7 +607,7 @@
* dict/dict0dict.c: * dict/dict0dict.c:
When an index column cannot be found in the table during index When an index column cannot be found in the table during index
creation, display additional diagnostic before an assertion failure. 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. but it helps understand the reason of the crash.
2009-06-17 The InnoDB Team 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 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 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 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 the terms of the GNU General Public License as published by the Free Software
......
...@@ -9016,7 +9016,7 @@ innodb_mutex_show_status( ...@@ -9016,7 +9016,7 @@ innodb_mutex_show_status(
for (lock = UT_LIST_GET_FIRST(rw_lock_list); lock != NULL; for (lock = UT_LIST_GET_FIRST(rw_lock_list); lock != NULL;
lock = UT_LIST_GET_NEXT(list, lock)) { lock = UT_LIST_GET_NEXT(list, lock)) {
if (lock->count_os_wait) { if (lock->count_os_wait == 0) {
continue; continue;
} }
...@@ -10920,7 +10920,7 @@ static MYSQL_SYSVAR_STR(change_buffering, innobase_change_buffering, ...@@ -10920,7 +10920,7 @@ static MYSQL_SYSVAR_STR(change_buffering, innobase_change_buffering,
static MYSQL_SYSVAR_ULONG(read_ahead_threshold, srv_read_ahead_threshold, static MYSQL_SYSVAR_ULONG(read_ahead_threshold, srv_read_ahead_threshold,
PLUGIN_VAR_RQCMDARG, 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.", "trigger a readahead.",
NULL, NULL, 56, 0, 64, 0); 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 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 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 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 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( ...@@ -285,6 +285,10 @@ dtype_new_store_for_order_and_null_size(
#endif #endif
ulint len; ulint len;
ut_ad(type);
ut_ad(type->mtype >= DATA_VARCHAR);
ut_ad(type->mtype <= DATA_MYSQL);
buf[0] = (byte)(type->mtype & 0xFFUL); buf[0] = (byte)(type->mtype & 0xFFUL);
if (type->prtype & DATA_BINARY_TYPE) { if (type->prtype & DATA_BINARY_TYPE) {
......
...@@ -2414,8 +2414,13 @@ page_validate( ...@@ -2414,8 +2414,13 @@ page_validate(
} }
offs = page_offset(rec_get_start(rec, offsets)); 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])) { if (UNIV_UNLIKELY(buf[offs + i])) {
/* No other record may overlap this */ /* No other record may overlap this */
...@@ -2523,8 +2528,13 @@ n_owned_zero: ...@@ -2523,8 +2528,13 @@ n_owned_zero:
count++; count++;
offs = page_offset(rec_get_start(rec, offsets)); 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])) { if (UNIV_UNLIKELY(buf[offs + i])) {
fputs("InnoDB: Record overlaps another" fputs("InnoDB: Record overlaps another"
......
...@@ -28,11 +28,18 @@ table cache" for later retrieval. ...@@ -28,11 +28,18 @@ table cache" for later retrieval.
Created July 17, 2007 Vasil Dimov 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/plugin.h>
#include "mysql_addons.h" #include "mysql_addons.h"
#include "univ.i"
#include "buf0buf.h" #include "buf0buf.h"
#include "dict0dict.h" #include "dict0dict.h"
#include "ha0storage.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