Commit 18d38d48 authored by Marko Mäkelä's avatar Marko Mäkelä

Merge mysql-5.1-innodb to mysql-5.5-innodb.

parents 2c0e21ac 88a7d55f
...@@ -1071,7 +1071,7 @@ btr_cur_ins_lock_and_undo( ...@@ -1071,7 +1071,7 @@ btr_cur_ins_lock_and_undo(
not zero, the parameters index and thr not zero, the parameters index and thr
should be specified */ should be specified */
btr_cur_t* cursor, /*!< in: cursor on page after which to insert */ btr_cur_t* cursor, /*!< in: cursor on page after which to insert */
const dtuple_t* entry, /*!< in: entry to insert */ dtuple_t* entry, /*!< in/out: entry to insert */
que_thr_t* thr, /*!< in: query thread or NULL */ que_thr_t* thr, /*!< in: query thread or NULL */
mtr_t* mtr, /*!< in/out: mini-transaction */ mtr_t* mtr, /*!< in/out: mini-transaction */
ibool* inherit)/*!< out: TRUE if the inserted new record maybe ibool* inherit)/*!< out: TRUE if the inserted new record maybe
...@@ -4073,7 +4073,7 @@ Stores the fields in big_rec_vec to the tablespace and puts pointers to ...@@ -4073,7 +4073,7 @@ Stores the fields in big_rec_vec to the tablespace and puts pointers to
them in rec. The extern flags in rec will have to be set beforehand. them in rec. The extern flags in rec will have to be set beforehand.
The fields are stored on pages allocated from leaf node The fields are stored on pages allocated from leaf node
file segment of the index tree. file segment of the index tree.
@return DB_SUCCESS or error */ @return DB_SUCCESS or DB_OUT_OF_FILE_SPACE */
UNIV_INTERN UNIV_INTERN
ulint ulint
btr_store_big_rec_extern_fields( btr_store_big_rec_extern_fields(
......
...@@ -828,7 +828,7 @@ dict_truncate_index_tree( ...@@ -828,7 +828,7 @@ dict_truncate_index_tree(
appropriate field in the SYS_INDEXES record: this mini-transaction appropriate field in the SYS_INDEXES record: this mini-transaction
marks the B-tree totally truncated */ marks the B-tree totally truncated */
btr_page_get(space, zip_size, root_page_no, RW_X_LATCH, mtr); btr_block_get(space, zip_size, root_page_no, RW_X_LATCH, mtr);
btr_free_root(space, zip_size, root_page_no, mtr); btr_free_root(space, zip_size, root_page_no, mtr);
create: create:
......
...@@ -105,26 +105,35 @@ btr_root_get( ...@@ -105,26 +105,35 @@ btr_root_get(
Gets a buffer page and declares its latching order level. */ Gets a buffer page and declares its latching order level. */
UNIV_INLINE UNIV_INLINE
buf_block_t* buf_block_t*
btr_block_get( btr_block_get_func(
/*==========*/ /*===============*/
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 mode, /*!< in: latch mode */
mtr_t* mtr); /*!< in: mtr */
/**************************************************************//**
Gets a buffer page and declares its latching order level. */
UNIV_INLINE
page_t*
btr_page_get(
/*=========*/
ulint space, /*!< in: space id */ ulint space, /*!< in: space id */
ulint zip_size, /*!< in: compressed page size in bytes ulint zip_size, /*!< in: compressed page size in bytes
or 0 for uncompressed pages */ or 0 for uncompressed pages */
ulint page_no, /*!< in: page number */ ulint page_no, /*!< in: page number */
ulint mode, /*!< in: latch mode */ ulint mode, /*!< in: latch mode */
mtr_t* mtr); /*!< in: mtr */ const char* file, /*!< in: file name */
ulint line, /*!< in: line where called */
mtr_t* mtr) /*!< in/out: mtr */
__attribute__((nonnull));
/** Gets a buffer page and declares its latching order level.
@param space tablespace identifier
@param zip_size compressed page size in bytes or 0 for uncompressed pages
@param page_no page number
@param mode latch mode
@param mtr mini-transaction handle
@return the block descriptor */
# define btr_block_get(space,zip_size,page_no,mode,mtr) \
btr_block_get_func(space,zip_size,page_no,mode,__FILE__,__LINE__,mtr)
/** Gets a buffer page and declares its latching order level.
@param space tablespace identifier
@param zip_size compressed page size in bytes or 0 for uncompressed pages
@param page_no page number
@param mode latch mode
@param mtr mini-transaction handle
@return the uncompressed page frame */
# define btr_page_get(space,zip_size,page_no,mode,mtr) \
buf_block_get_frame(btr_block_get(space,zip_size,page_no,mode,mtr))
#endif /* !UNIV_HOTBACKUP */ #endif /* !UNIV_HOTBACKUP */
/**************************************************************//** /**************************************************************//**
Gets the index id field of a page. Gets the index id field of a page.
......
...@@ -39,18 +39,21 @@ Created 6/2/1994 Heikki Tuuri ...@@ -39,18 +39,21 @@ Created 6/2/1994 Heikki Tuuri
Gets a buffer page and declares its latching order level. */ Gets a buffer page and declares its latching order level. */
UNIV_INLINE UNIV_INLINE
buf_block_t* buf_block_t*
btr_block_get( btr_block_get_func(
/*==========*/ /*===============*/
ulint space, /*!< in: space id */ ulint space, /*!< in: space id */
ulint zip_size, /*!< in: compressed page size in bytes ulint zip_size, /*!< in: compressed page size in bytes
or 0 for uncompressed pages */ or 0 for uncompressed pages */
ulint page_no, /*!< in: page number */ ulint page_no, /*!< in: page number */
ulint mode, /*!< in: latch mode */ ulint mode, /*!< in: latch mode */
mtr_t* mtr) /*!< in: mtr */ const char* file, /*!< in: file name */
ulint line, /*!< in: line where called */
mtr_t* mtr) /*!< in/out: mtr */
{ {
buf_block_t* block; buf_block_t* block;
block = buf_page_get(space, zip_size, page_no, mode, mtr); block = buf_page_get_gen(space, zip_size, page_no, mode,
NULL, BUF_GET, file, line, mtr);
if (mode != RW_NO_LATCH) { if (mode != RW_NO_LATCH) {
...@@ -60,23 +63,6 @@ btr_block_get( ...@@ -60,23 +63,6 @@ btr_block_get(
return(block); return(block);
} }
/**************************************************************//**
Gets a buffer page and declares its latching order level. */
UNIV_INLINE
page_t*
btr_page_get(
/*=========*/
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 mode, /*!< in: latch mode */
mtr_t* mtr) /*!< in: mtr */
{
return(buf_block_get_frame(btr_block_get(space, zip_size, page_no,
mode, mtr)));
}
/**************************************************************//** /**************************************************************//**
Sets the index id field of a page. */ Sets the index id field of a page. */
UNIV_INLINE UNIV_INLINE
......
...@@ -508,7 +508,7 @@ Stores the fields in big_rec_vec to the tablespace and puts pointers to ...@@ -508,7 +508,7 @@ Stores the fields in big_rec_vec to the tablespace and puts pointers to
them in rec. The extern flags in rec will have to be set beforehand. them in rec. The extern flags in rec will have to be set beforehand.
The fields are stored on pages allocated from leaf node The fields are stored on pages allocated from leaf node
file segment of the index tree. file segment of the index tree.
@return DB_SUCCESS or error */ @return DB_SUCCESS or DB_OUT_OF_FILE_SPACE */
UNIV_INTERN UNIV_INTERN
ulint ulint
btr_store_big_rec_extern_fields( btr_store_big_rec_extern_fields(
......
...@@ -84,7 +84,7 @@ ulint ...@@ -84,7 +84,7 @@ ulint
row_ins_index_entry( row_ins_index_entry(
/*================*/ /*================*/
dict_index_t* index, /*!< in: index */ dict_index_t* index, /*!< in: index */
dtuple_t* entry, /*!< in: index entry to insert */ dtuple_t* entry, /*!< in/out: index entry to insert */
ulint n_ext, /*!< in: number of externally stored columns */ ulint n_ext, /*!< in: number of externally stored columns */
ibool foreign,/*!< in: TRUE=check foreign key constraints */ ibool foreign,/*!< in: TRUE=check foreign key constraints */
que_thr_t* thr); /*!< in: query thread */ que_thr_t* thr); /*!< in: query thread */
......
...@@ -126,8 +126,8 @@ UNIV_INTERN ...@@ -126,8 +126,8 @@ UNIV_INTERN
void void
row_upd_index_entry_sys_field( row_upd_index_entry_sys_field(
/*==========================*/ /*==========================*/
const dtuple_t* entry, /*!< in: index entry, where the memory buffers dtuple_t* entry, /*!< in/out: index entry, where the memory
for sys fields are already allocated: buffers for sys fields are already allocated:
the function just copies the new values to the function just copies the new values to
them */ them */
dict_index_t* index, /*!< in: clustered index */ dict_index_t* index, /*!< in: clustered index */
......
...@@ -1768,7 +1768,7 @@ ulint ...@@ -1768,7 +1768,7 @@ ulint
row_ins_duplicate_error_in_clust( row_ins_duplicate_error_in_clust(
/*=============================*/ /*=============================*/
btr_cur_t* cursor, /*!< in: B-tree cursor */ btr_cur_t* cursor, /*!< in: B-tree cursor */
dtuple_t* entry, /*!< in: entry to insert */ const dtuple_t* entry, /*!< in: entry to insert */
que_thr_t* thr, /*!< in: query thread */ que_thr_t* thr, /*!< in: query thread */
mtr_t* mtr) /*!< in: mtr */ mtr_t* mtr) /*!< in: mtr */
{ {
...@@ -1964,7 +1964,7 @@ row_ins_index_entry_low( ...@@ -1964,7 +1964,7 @@ row_ins_index_entry_low(
depending on whether we wish optimistic or depending on whether we wish optimistic or
pessimistic descent down the index tree */ pessimistic descent down the index tree */
dict_index_t* index, /*!< in: index */ dict_index_t* index, /*!< in: index */
dtuple_t* entry, /*!< in: index entry to insert */ dtuple_t* entry, /*!< in/out: index entry to insert */
ulint n_ext, /*!< in: number of externally stored columns */ ulint n_ext, /*!< in: number of externally stored columns */
que_thr_t* thr) /*!< in: query thread */ que_thr_t* thr) /*!< in: query thread */
{ {
...@@ -2150,7 +2150,7 @@ ulint ...@@ -2150,7 +2150,7 @@ ulint
row_ins_index_entry( row_ins_index_entry(
/*================*/ /*================*/
dict_index_t* index, /*!< in: index */ dict_index_t* index, /*!< in: index */
dtuple_t* entry, /*!< in: index entry to insert */ dtuple_t* entry, /*!< in/out: index entry to insert */
ulint n_ext, /*!< in: number of externally stored columns */ ulint n_ext, /*!< in: number of externally stored columns */
ibool foreign,/*!< in: TRUE=check foreign key constraints */ ibool foreign,/*!< in: TRUE=check foreign key constraints */
que_thr_t* thr) /*!< in: query thread */ que_thr_t* thr) /*!< in: query thread */
......
...@@ -371,8 +371,8 @@ UNIV_INTERN ...@@ -371,8 +371,8 @@ UNIV_INTERN
void void
row_upd_index_entry_sys_field( row_upd_index_entry_sys_field(
/*==========================*/ /*==========================*/
const dtuple_t* entry, /*!< in: index entry, where the memory buffers dtuple_t* entry, /*!< in/out: index entry, where the memory
for sys fields are already allocated: buffers for sys fields are already allocated:
the function just copies the new values to the function just copies the new values to
them */ them */
dict_index_t* index, /*!< in: clustered index */ dict_index_t* index, /*!< in: clustered index */
...@@ -1615,12 +1615,12 @@ static ...@@ -1615,12 +1615,12 @@ static
ulint ulint
row_upd_clust_rec_by_insert( row_upd_clust_rec_by_insert(
/*========================*/ /*========================*/
upd_node_t* node, /*!< in: row update node */ upd_node_t* node, /*!< in/out: row update node */
dict_index_t* index, /*!< in: clustered index of the record */ dict_index_t* index, /*!< in: clustered index of the record */
que_thr_t* thr, /*!< in: query thread */ que_thr_t* thr, /*!< in: query thread */
ibool referenced,/*!< in: TRUE if index may be referenced in ibool referenced,/*!< in: TRUE if index may be referenced in
a foreign key constraint */ a foreign key constraint */
mtr_t* mtr) /*!< in: mtr; gets committed here */ mtr_t* mtr) /*!< in/out: mtr; gets committed here */
{ {
mem_heap_t* heap = NULL; mem_heap_t* heap = NULL;
btr_pcur_t* pcur; btr_pcur_t* pcur;
......
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