diff options
author | Satya B <satya.bn@sun.com> | 2009-10-08 14:43:16 +0530 |
---|---|---|
committer | Satya B <satya.bn@sun.com> | 2009-10-08 14:43:16 +0530 |
commit | d88861948d6ce2d11c3ea2ff4b86ca56c4fdd0b2 (patch) | |
tree | 2e058a9a4cecbc578dc30319edbde80ec7d0102c /storage | |
parent | 9226c847f5ac5424b50da07623e6e75a60725bc0 (diff) | |
download | mariadb-git-d88861948d6ce2d11c3ea2ff4b86ca56c4fdd0b2.tar.gz |
Applying InnoDB Plugin 1.0.5 snapshot , part 1
From revision r5537 to r5636
r5527 is already applied before
Detailed revision comments:
For HotBackup builds we don't want to hide the symbols.
r5537 | vasil | 2009-07-21 04:31:26 -0500 (Tue, 21 Jul 2009) | 5 lines
branches/zip:
Fixups in ChangeLog: sort filenames alphabetically and wrap to 78 chars per
line.
r5539 | vasil | 2009-07-21 05:28:27 -0500 (Tue, 21 Jul 2009) | 4 lines
branches/zip:
Add a test program to check whether the PAUSE instruction is available.
r5625 | vasil | 2009-08-04 00:52:48 -0500 (Tue, 04 Aug 2009) | 32 lines
branches/zip: Merge 5518:5622 from branches/5.1, resolving conflict in r5622
(after resolving the conflict Makefile.am was not changed so I have made
a dummy change so I can commit and thus record that branches/5.1 has been
merged in branches/zip up to 5622):
------------------------------------------------------------------------
r5622 | vasil | 2009-08-03 15:27:00 +0300 (Mon, 03 Aug 2009) | 20 lines
Changed paths:
M /branches/5.1/Makefile.am
branches/5.1:
Merge a change from MySQL:
------------------------------------------------------------
revno: 2988
committer: Satya B <satya.bn@sun.com>
branch nick: mysql-5.1-bugteam
timestamp: Wed 2009-07-01 11:06:05 +0530
message:
Fix build failure after applying Innodb snapshot 5.1-ss5282
After applying Innodb snapshot 5.1-ss5282, build was broken
because of missing header file.
Adding the header file to Makefile.am after informing the
innodb developers.
modified:
storage/innobase/Makefile.am
------------------------------------------------------------------------
r5626 | vasil | 2009-08-04 00:53:31 -0500 (Tue, 04 Aug 2009) | 4 lines
branches/zip:
Revert the dummy change from c5625.
r5629 | marko | 2009-08-04 06:42:44 -0500 (Tue, 04 Aug 2009) | 1 line
branches/zip: mysql-test: Pass MTR's internal checks.
r5635 | marko | 2009-08-05 06:06:55 -0500 (Wed, 05 Aug 2009) | 2 lines
branches/zip: Replace <number> with NUMBER in some comments,
to avoid problems with Doxygen XML output.
r5636 | marko | 2009-08-05 07:27:30 -0500 (Wed, 05 Aug 2009) | 2 lines
branches/zip: lock_rec_validate_page(): Add the parameter zip_size.
This should help track down Mantis Issue #289.
Diffstat (limited to 'storage')
-rw-r--r-- | storage/innodb_plugin/ChangeLog | 22 | ||||
-rw-r--r-- | storage/innodb_plugin/dict/dict0crea.c | 2 | ||||
-rw-r--r-- | storage/innodb_plugin/include/dict0crea.h | 2 | ||||
-rw-r--r-- | storage/innodb_plugin/lock/lock0lock.c | 14 | ||||
-rw-r--r-- | storage/innodb_plugin/mysql-test/innodb_bug34300.test | 2 | ||||
-rw-r--r-- | storage/innodb_plugin/row/row0mysql.c | 2 | ||||
-rw-r--r-- | storage/innodb_plugin/ut/ut0auxconf_pause.c | 32 |
7 files changed, 59 insertions, 17 deletions
diff --git a/storage/innodb_plugin/ChangeLog b/storage/innodb_plugin/ChangeLog index 2b04c06f0e8..593a9fa3418 100644 --- a/storage/innodb_plugin/ChangeLog +++ b/storage/innodb_plugin/ChangeLog @@ -1,7 +1,6 @@ 2009-07-20 The InnoDB Team - * buf/buf0rea.c, handler/ha_innodb.cc, include/srv0srv.h, - srv/srv0srv.c: + * handler/ha_innodb.cc, buf/buf0rea.c, include/srv0srv.h, srv/srv0srv.c Change the read ahead parameter name to innodb_read_ahead_threshold. Change the meaning of this parameter to signify the number of pages that must be sequentially accessed for InnoDB to trigger a readahead @@ -16,8 +15,8 @@ * include/univ.i: Support inlining of functions and prefetch with Sun Studio. - These changes are based on contribution from Sun Microsystems Inc. - under a BSD license. + These changes are based on contribution from + Sun Microsystems Inc. under a BSD license. 2009-07-14 The InnoDB Team @@ -40,9 +39,9 @@ 2009-07-08 The InnoDB Team - * buf/buf0flu.c, handler/ha_innodb.cc, include/buf0flu.h, - include/log0log.h, include/log0log.ic, include/srv0srv.h, - srv/srv0srv.c: + * srv/srv0srv.c, buf/buf0flu.c, handler/ha_innodb.cc, + include/srv0srv.h, include/log0log.ic, include/buf0flu.h, + include/log0log.h: Implement the adaptive flushing of dirty pages, which uses a heuristics based flushing rate of dirty pages to avoid IO bursts at checkpoint. Expose new configure knob @@ -51,8 +50,8 @@ 2009-07-07 The InnoDB Team - * handler/ha_innodb.cc, include/srv0srv.h, log/log0log.c, - srv/srv0srv.c: + * srv/srv0srv.c, handler/ha_innodb.cc, log/log0log.c, + include/srv0srv.h: Implement IO capacity tuning. Expose new configure knob innodb_io_capacity to control the master threads IO rate. The ibuf merge is also changed from synchronous to asynchronous. @@ -89,12 +88,13 @@ * handler/handler0alter.cc: Start the user transaction prebuilt->trx if it was not started - before adding or dropping an index. Without this fix, the + before adding or dropping an index. Without this fix, the table could be locked outside an active transaction. 2009-06-25 The InnoDB Team - * handler/ha_innodb.cc, mysql-test/innodb_bug42101.test, + * handler/ha_innodb.cc, + mysql-test/innodb_bug42101.test, mysql-test/innodb_bug42101.result, mysql-test/innodb_bug42101-nonzero.test, mysql-test/innodb_bug42101-nonzero.result: diff --git a/storage/innodb_plugin/dict/dict0crea.c b/storage/innodb_plugin/dict/dict0crea.c index 7bad4d2057e..96a9bd8152e 100644 --- a/storage/innodb_plugin/dict/dict0crea.c +++ b/storage/innodb_plugin/dict/dict0crea.c @@ -1379,7 +1379,7 @@ dict_create_add_foreign_field_to_dictionary( Add a single foreign key definition to the data dictionary tables in the database. We also generate names to constraints that were not named by the user. A generated constraint has a name of the format -databasename/tablename_ibfk_<number>, where the numbers start from 1, and +databasename/tablename_ibfk_NUMBER, where the numbers start from 1, and are given locally for this table, that is, the number is not global, as in the old format constraints < 4.0.18 it used to be. @return error code or DB_SUCCESS */ diff --git a/storage/innodb_plugin/include/dict0crea.h b/storage/innodb_plugin/include/dict0crea.h index 3107d771d88..cce1246b789 100644 --- a/storage/innodb_plugin/include/dict0crea.h +++ b/storage/innodb_plugin/include/dict0crea.h @@ -110,7 +110,7 @@ dict_create_or_check_foreign_constraint_tables(void); Adds foreign key definitions to data dictionary tables in the database. We look at table->foreign_list, and also generate names to constraints that were not named by the user. A generated constraint has a name of the format -databasename/tablename_ibfk_<number>, where the numbers start from 1, and are +databasename/tablename_ibfk_NUMBER, where the numbers start from 1, and are given locally for this table, that is, the number is not global, as in the old format constraints < 4.0.18 it used to be. @return error code or DB_SUCCESS */ diff --git a/storage/innodb_plugin/lock/lock0lock.c b/storage/innodb_plugin/lock/lock0lock.c index fcd8d268331..23c2ff4740f 100644 --- a/storage/innodb_plugin/lock/lock0lock.c +++ b/storage/innodb_plugin/lock/lock0lock.c @@ -360,6 +360,8 @@ ibool lock_rec_validate_page( /*===================*/ ulint space, /*!< in: space id */ + ulint zip_size,/*!< in: compressed page size in bytes + or 0 for uncompressed pages */ ulint page_no);/*!< in: page number */ /* Define the following in order to enable lock_rec_validate_page() checks. */ @@ -2622,6 +2624,7 @@ lock_move_reorganize_page( #ifdef UNIV_DEBUG_LOCK_VALIDATE ut_ad(lock_rec_validate_page(buf_block_get_space(block), + buf_block_get_zip_size(block), buf_block_get_page_no(block))); #endif } @@ -2711,8 +2714,10 @@ lock_move_rec_list_end( #ifdef UNIV_DEBUG_LOCK_VALIDATE ut_ad(lock_rec_validate_page(buf_block_get_space(block), + buf_block_get_zip_size(block), buf_block_get_page_no(block))); ut_ad(lock_rec_validate_page(buf_block_get_space(new_block), + buf_block_get_zip_size(block), buf_block_get_page_no(new_block))); #endif } @@ -2822,6 +2827,7 @@ lock_move_rec_list_start( #ifdef UNIV_DEBUG_LOCK_VALIDATE ut_ad(lock_rec_validate_page(buf_block_get_space(block), + buf_block_get_zip_size(block), buf_block_get_page_no(block))); #endif } @@ -4684,6 +4690,8 @@ ibool lock_rec_validate_page( /*===================*/ ulint space, /*!< in: space id */ + ulint zip_size,/*!< in: compressed page size in bytes + or 0 for uncompressed pages */ ulint page_no)/*!< in: page number */ { dict_index_t* index; @@ -4694,7 +4702,6 @@ lock_rec_validate_page( ulint nth_lock = 0; ulint nth_bit = 0; ulint i; - ulint zip_size; mtr_t mtr; mem_heap_t* heap = NULL; ulint offsets_[REC_OFFS_NORMAL_SIZE]; @@ -4705,7 +4712,6 @@ lock_rec_validate_page( mtr_start(&mtr); - zip_size = fil_space_get_zip_size(space); ut_ad(zip_size != ULINT_UNDEFINED); block = buf_page_get(space, zip_size, page_no, RW_X_LATCH, &mtr); buf_block_dbg_add_level(block, SYNC_NO_ORDER_CHECK); @@ -4840,7 +4846,9 @@ lock_validate(void) lock_mutex_exit_kernel(); - lock_rec_validate_page(space, page_no); + lock_rec_validate_page(space, + fil_space_get_zip_size(space), + page_no); lock_mutex_enter_kernel(); diff --git a/storage/innodb_plugin/mysql-test/innodb_bug34300.test b/storage/innodb_plugin/mysql-test/innodb_bug34300.test index 114bcf98c25..68c385fd72a 100644 --- a/storage/innodb_plugin/mysql-test/innodb_bug34300.test +++ b/storage/innodb_plugin/mysql-test/innodb_bug34300.test @@ -9,6 +9,7 @@ -- disable_result_log # set packet size and reconnect +let $max_packet=`select @@global.max_allowed_packet`; SET @@global.max_allowed_packet=16777216; --connect (newconn, localhost, root,,) @@ -30,3 +31,4 @@ ALTER TABLE bug34300 ADD COLUMN (f10 INT); SELECT f4, f8 FROM bug34300; DROP TABLE bug34300; +EVAL SET @@global.max_allowed_packet=$max_packet; diff --git a/storage/innodb_plugin/row/row0mysql.c b/storage/innodb_plugin/row/row0mysql.c index b345bb59624..f7701a701ce 100644 --- a/storage/innodb_plugin/row/row0mysql.c +++ b/storage/innodb_plugin/row/row0mysql.c @@ -3590,7 +3590,7 @@ row_delete_constraint( if ((err == DB_SUCCESS) && !strchr(id, '/')) { /* Old format < 4.0.18 constraints have constraint ids - <number>_<number>. We only try deleting them if the + NUMBER_NUMBER. We only try deleting them if the constraint name does not contain a '/' character, otherwise deleting a new format constraint named 'foo/bar' from database 'baz' would remove constraint 'bar' from database diff --git a/storage/innodb_plugin/ut/ut0auxconf_pause.c b/storage/innodb_plugin/ut/ut0auxconf_pause.c index 54d63bdd9bc..227fc2b204e 100644 --- a/storage/innodb_plugin/ut/ut0auxconf_pause.c +++ b/storage/innodb_plugin/ut/ut0auxconf_pause.c @@ -30,3 +30,35 @@ main(int argc, char** argv) return(0); } +/***************************************************************************** + +Copyright (c) 2009, 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 +Foundation; version 2 of the License. + +This program is distributed in the hope that it will be useful, but WITHOUT +ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. + +You should have received a copy of the GNU General Public License along with +this program; if not, write to the Free Software Foundation, Inc., 59 Temple +Place, Suite 330, Boston, MA 02111-1307 USA + +*****************************************************************************/ + +/***************************************************************************** +If this program compiles and can be run and returns 0, then the pause +instruction is available. + +Created Jul 21, 2009 Vasil Dimov +*****************************************************************************/ + +int +main(int argc, char** argv) +{ + __asm__ __volatile__ ("pause"); + + return(0); +} |