mirror of
https://github.com/MariaDB/server.git
synced 2025-08-01 03:47:19 +03:00
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.
This commit is contained in:
@ -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,,)
|
||||||
|
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
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 @@
|
|||||||
|
|
||||||
* 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 @@
|
|||||||
|
|
||||||
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 @@
|
|||||||
|
|
||||||
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.
|
||||||
@ -89,12 +88,13 @@
|
|||||||
|
|
||||||
* handler/handler0alter.cc:
|
* handler/handler0alter.cc:
|
||||||
Start the user transaction prebuilt->trx if it was not started
|
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.
|
table could be locked outside an active transaction.
|
||||||
|
|
||||||
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(
|
|||||||
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);
|
|||||||
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
|
|||||||
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(
|
|||||||
|
|
||||||
#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(
|
|||||||
|
|
||||||
#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(
|
|||||||
|
|
||||||
#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
|
|||||||
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(
|
|||||||
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(
|
|||||||
|
|
||||||
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)
|
|||||||
|
|
||||||
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 @@
|
|||||||
-- 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);
|
|||||||
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(
|
|||||||
|
|
||||||
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)
|
|||||||
|
|
||||||
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);
|
||||||
|
}
|
||||||
|
Reference in New Issue
Block a user