Commit d8886194 authored by Satya B's avatar Satya B

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.
parent 9226c847
...@@ -9,6 +9,7 @@ ...@@ -9,6 +9,7 @@
-- disable_result_log -- disable_result_log
# set packet size and reconnect # set packet size and reconnect
let $max_packet=`select @@global.max_allowed_packet`;
SET @@global.max_allowed_packet=16777216; SET @@global.max_allowed_packet=16777216;
--connect (newconn, localhost, root,,) --connect (newconn, localhost, root,,)
......
2009-07-20 The InnoDB Team 2009-07-20 The InnoDB Team
* buf/buf0rea.c, handler/ha_innodb.cc, include/srv0srv.h, * handler/ha_innodb.cc, buf/buf0rea.c, include/srv0srv.h, srv/srv0srv.c
srv/srv0srv.c:
Change the read ahead parameter name to innodb_read_ahead_threshold. Change the read ahead parameter name to innodb_read_ahead_threshold.
Change the meaning of this parameter to signify the number of pages Change the meaning of this parameter to signify the number of pages
that must be sequentially accessed for InnoDB to trigger a readahead that must be sequentially accessed for InnoDB to trigger a readahead
...@@ -16,8 +15,8 @@ ...@@ -16,8 +15,8 @@
* include/univ.i: * include/univ.i:
Support inlining of functions and prefetch with Sun Studio. Support inlining of functions and prefetch with Sun Studio.
These changes are based on contribution from Sun Microsystems Inc. These changes are based on contribution from
under a BSD license. Sun Microsystems Inc. under a BSD license.
2009-07-14 The InnoDB Team 2009-07-14 The InnoDB Team
...@@ -40,9 +39,9 @@ ...@@ -40,9 +39,9 @@
2009-07-08 The InnoDB Team 2009-07-08 The InnoDB Team
* buf/buf0flu.c, handler/ha_innodb.cc, include/buf0flu.h, * srv/srv0srv.c, buf/buf0flu.c, handler/ha_innodb.cc,
include/log0log.h, include/log0log.ic, include/srv0srv.h, include/srv0srv.h, include/log0log.ic, include/buf0flu.h,
srv/srv0srv.c: include/log0log.h:
Implement the adaptive flushing of dirty pages, which uses Implement the adaptive flushing of dirty pages, which uses
a heuristics based flushing rate of dirty pages to avoid IO a heuristics based flushing rate of dirty pages to avoid IO
bursts at checkpoint. Expose new configure knob bursts at checkpoint. Expose new configure knob
...@@ -51,8 +50,8 @@ ...@@ -51,8 +50,8 @@
2009-07-07 The InnoDB Team 2009-07-07 The InnoDB Team
* handler/ha_innodb.cc, include/srv0srv.h, log/log0log.c, * srv/srv0srv.c, handler/ha_innodb.cc, log/log0log.c,
srv/srv0srv.c: include/srv0srv.h:
Implement IO capacity tuning. Expose new configure knob Implement IO capacity tuning. Expose new configure knob
innodb_io_capacity to control the master threads IO rate. The innodb_io_capacity to control the master threads IO rate. The
ibuf merge is also changed from synchronous to asynchronous. ibuf merge is also changed from synchronous to asynchronous.
...@@ -94,7 +93,8 @@ ...@@ -94,7 +93,8 @@
2009-06-25 The InnoDB Team 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.result,
mysql-test/innodb_bug42101-nonzero.test, mysql-test/innodb_bug42101-nonzero.test,
mysql-test/innodb_bug42101-nonzero.result: mysql-test/innodb_bug42101-nonzero.result:
......
...@@ -1379,7 +1379,7 @@ dict_create_add_foreign_field_to_dictionary( ...@@ -1379,7 +1379,7 @@ dict_create_add_foreign_field_to_dictionary(
Add a single foreign key definition to the data dictionary tables in the 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 database. We also generate names to constraints that were not named by the
user. A generated constraint has a name of the format 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 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. the old format constraints < 4.0.18 it used to be.
@return error code or DB_SUCCESS */ @return error code or DB_SUCCESS */
......
...@@ -110,7 +110,7 @@ dict_create_or_check_foreign_constraint_tables(void); ...@@ -110,7 +110,7 @@ dict_create_or_check_foreign_constraint_tables(void);
Adds foreign key definitions to data dictionary tables in the database. We 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 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 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 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. old format constraints < 4.0.18 it used to be.
@return error code or DB_SUCCESS */ @return error code or DB_SUCCESS */
......
...@@ -360,6 +360,8 @@ ibool ...@@ -360,6 +360,8 @@ ibool
lock_rec_validate_page( lock_rec_validate_page(
/*===================*/ /*===================*/
ulint space, /*!< in: space id */ 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 */ ulint page_no);/*!< in: page number */
/* Define the following in order to enable lock_rec_validate_page() checks. */ /* Define the following in order to enable lock_rec_validate_page() checks. */
...@@ -2622,6 +2624,7 @@ lock_move_reorganize_page( ...@@ -2622,6 +2624,7 @@ lock_move_reorganize_page(
#ifdef UNIV_DEBUG_LOCK_VALIDATE #ifdef UNIV_DEBUG_LOCK_VALIDATE
ut_ad(lock_rec_validate_page(buf_block_get_space(block), ut_ad(lock_rec_validate_page(buf_block_get_space(block),
buf_block_get_zip_size(block),
buf_block_get_page_no(block))); buf_block_get_page_no(block)));
#endif #endif
} }
...@@ -2711,8 +2714,10 @@ lock_move_rec_list_end( ...@@ -2711,8 +2714,10 @@ lock_move_rec_list_end(
#ifdef UNIV_DEBUG_LOCK_VALIDATE #ifdef UNIV_DEBUG_LOCK_VALIDATE
ut_ad(lock_rec_validate_page(buf_block_get_space(block), ut_ad(lock_rec_validate_page(buf_block_get_space(block),
buf_block_get_zip_size(block),
buf_block_get_page_no(block))); buf_block_get_page_no(block)));
ut_ad(lock_rec_validate_page(buf_block_get_space(new_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))); buf_block_get_page_no(new_block)));
#endif #endif
} }
...@@ -2822,6 +2827,7 @@ lock_move_rec_list_start( ...@@ -2822,6 +2827,7 @@ lock_move_rec_list_start(
#ifdef UNIV_DEBUG_LOCK_VALIDATE #ifdef UNIV_DEBUG_LOCK_VALIDATE
ut_ad(lock_rec_validate_page(buf_block_get_space(block), ut_ad(lock_rec_validate_page(buf_block_get_space(block),
buf_block_get_zip_size(block),
buf_block_get_page_no(block))); buf_block_get_page_no(block)));
#endif #endif
} }
...@@ -4684,6 +4690,8 @@ ibool ...@@ -4684,6 +4690,8 @@ ibool
lock_rec_validate_page( lock_rec_validate_page(
/*===================*/ /*===================*/
ulint space, /*!< in: space id */ 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 */ ulint page_no)/*!< in: page number */
{ {
dict_index_t* index; dict_index_t* index;
...@@ -4694,7 +4702,6 @@ lock_rec_validate_page( ...@@ -4694,7 +4702,6 @@ lock_rec_validate_page(
ulint nth_lock = 0; ulint nth_lock = 0;
ulint nth_bit = 0; ulint nth_bit = 0;
ulint i; ulint i;
ulint zip_size;
mtr_t mtr; mtr_t mtr;
mem_heap_t* heap = NULL; mem_heap_t* heap = NULL;
ulint offsets_[REC_OFFS_NORMAL_SIZE]; ulint offsets_[REC_OFFS_NORMAL_SIZE];
...@@ -4705,7 +4712,6 @@ lock_rec_validate_page( ...@@ -4705,7 +4712,6 @@ lock_rec_validate_page(
mtr_start(&mtr); mtr_start(&mtr);
zip_size = fil_space_get_zip_size(space);
ut_ad(zip_size != ULINT_UNDEFINED); ut_ad(zip_size != ULINT_UNDEFINED);
block = buf_page_get(space, zip_size, page_no, RW_X_LATCH, &mtr); block = buf_page_get(space, zip_size, page_no, RW_X_LATCH, &mtr);
buf_block_dbg_add_level(block, SYNC_NO_ORDER_CHECK); buf_block_dbg_add_level(block, SYNC_NO_ORDER_CHECK);
...@@ -4840,7 +4846,9 @@ lock_validate(void) ...@@ -4840,7 +4846,9 @@ lock_validate(void)
lock_mutex_exit_kernel(); 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(); lock_mutex_enter_kernel();
......
...@@ -9,6 +9,7 @@ ...@@ -9,6 +9,7 @@
-- disable_result_log -- disable_result_log
# set packet size and reconnect # set packet size and reconnect
let $max_packet=`select @@global.max_allowed_packet`;
SET @@global.max_allowed_packet=16777216; SET @@global.max_allowed_packet=16777216;
--connect (newconn, localhost, root,,) --connect (newconn, localhost, root,,)
...@@ -30,3 +31,4 @@ ALTER TABLE bug34300 ADD COLUMN (f10 INT); ...@@ -30,3 +31,4 @@ ALTER TABLE bug34300 ADD COLUMN (f10 INT);
SELECT f4, f8 FROM bug34300; SELECT f4, f8 FROM bug34300;
DROP TABLE bug34300; DROP TABLE bug34300;
EVAL SET @@global.max_allowed_packet=$max_packet;
...@@ -3590,7 +3590,7 @@ row_delete_constraint( ...@@ -3590,7 +3590,7 @@ row_delete_constraint(
if ((err == DB_SUCCESS) && !strchr(id, '/')) { if ((err == DB_SUCCESS) && !strchr(id, '/')) {
/* Old format < 4.0.18 constraints have constraint ids /* 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 constraint name does not contain a '/' character, otherwise
deleting a new format constraint named 'foo/bar' from deleting a new format constraint named 'foo/bar' from
database 'baz' would remove constraint 'bar' from database database 'baz' would remove constraint 'bar' from database
......
...@@ -30,3 +30,35 @@ main(int argc, char** argv) ...@@ -30,3 +30,35 @@ main(int argc, char** argv)
return(0); 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);
}
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