Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
M
MariaDB
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
nexedi
MariaDB
Commits
eb3ba6ba
Commit
eb3ba6ba
authored
May 20, 2010
by
hery.ramilison@oracle.com
Committed by
MySQL Build Team
May 20, 2010
Browse files
Options
Browse Files
Download
Plain Diff
Merge from mysql-5.1.47-release
parents
67aa8919
eb992f4a
Changes
3
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
21 additions
and
13 deletions
+21
-13
storage/innodb_plugin/ChangeLog
storage/innodb_plugin/ChangeLog
+6
-0
storage/innodb_plugin/btr/btr0btr.c
storage/innodb_plugin/btr/btr0btr.c
+9
-1
storage/innodb_plugin/buf/buf0buf.c
storage/innodb_plugin/buf/buf0buf.c
+6
-12
No files found.
storage/innodb_plugin/ChangeLog
View file @
eb3ba6ba
2010-05-03 The InnoDB Team
* buf0buf.c:
Fix Bug#53248 compressed tables page checksum mismatch after
re-enabling innodb_checksums
2010-04-28 The InnoDB Team
2010-04-28 The InnoDB Team
* log/log0recv.h, log/log0recv.c:
* log/log0recv.h, log/log0recv.c:
...
...
storage/innodb_plugin/btr/btr0btr.c
View file @
eb3ba6ba
...
@@ -1999,9 +1999,13 @@ btr_page_split_and_insert(
...
@@ -1999,9 +1999,13 @@ btr_page_split_and_insert(
split_rec
=
NULL
;
split_rec
=
NULL
;
goto
insert_empty
;
goto
insert_empty
;
}
}
}
else
if
(
UNIV_UNLIKELY
(
insert_left
))
{
first_rec
=
page_rec_get_next
(
page_get_infimum_rec
(
page
));
move_limit
=
page_rec_get_next
(
btr_cur_get_rec
(
cursor
));
}
else
{
}
else
{
insert_empty:
insert_empty:
ut_ad
(
!
split_rec
);
ut_ad
(
!
split_rec
);
ut_ad
(
!
insert_left
);
buf
=
mem_alloc
(
rec_get_converted_size
(
cursor
->
index
,
buf
=
mem_alloc
(
rec_get_converted_size
(
cursor
->
index
,
tuple
,
n_ext
));
tuple
,
n_ext
));
...
@@ -2025,7 +2029,11 @@ btr_page_split_and_insert(
...
@@ -2025,7 +2029,11 @@ btr_page_split_and_insert(
&&
btr_page_insert_fits
(
cursor
,
split_rec
,
&&
btr_page_insert_fits
(
cursor
,
split_rec
,
offsets
,
tuple
,
n_ext
,
heap
);
offsets
,
tuple
,
n_ext
,
heap
);
}
else
{
}
else
{
if
(
!
insert_left
)
{
mem_free
(
buf
);
mem_free
(
buf
);
buf
=
NULL
;
}
insert_will_fit
=
!
new_page_zip
insert_will_fit
=
!
new_page_zip
&&
btr_page_insert_fits
(
cursor
,
NULL
,
&&
btr_page_insert_fits
(
cursor
,
NULL
,
NULL
,
tuple
,
n_ext
,
heap
);
NULL
,
tuple
,
n_ext
,
heap
);
...
...
storage/innodb_plugin/buf/buf0buf.c
View file @
eb3ba6ba
...
@@ -1821,13 +1821,13 @@ buf_zip_decompress(
...
@@ -1821,13 +1821,13 @@ buf_zip_decompress(
ibool
check
)
/*!< in: TRUE=verify the page checksum */
ibool
check
)
/*!< in: TRUE=verify the page checksum */
{
{
const
byte
*
frame
=
block
->
page
.
zip
.
data
;
const
byte
*
frame
=
block
->
page
.
zip
.
data
;
ulint
stamp_checksum
=
mach_read_from_4
(
frame
+
FIL_PAGE_SPACE_OR_CHKSUM
);
ut_ad
(
buf_block_get_zip_size
(
block
));
ut_ad
(
buf_block_get_zip_size
(
block
));
ut_a
(
buf_block_get_space
(
block
)
!=
0
);
ut_a
(
buf_block_get_space
(
block
)
!=
0
);
if
(
UNIV_LIKELY
(
check
))
{
if
(
UNIV_LIKELY
(
check
&&
stamp_checksum
!=
BUF_NO_CHECKSUM_MAGIC
))
{
ulint
stamp_checksum
=
mach_read_from_4
(
frame
+
FIL_PAGE_SPACE_OR_CHKSUM
);
ulint
calc_checksum
=
page_zip_calc_checksum
(
ulint
calc_checksum
=
page_zip_calc_checksum
(
frame
,
page_zip_get_size
(
&
block
->
page
.
zip
));
frame
,
page_zip_get_size
(
&
block
->
page
.
zip
));
...
@@ -2251,8 +2251,9 @@ buf_page_get_gen(
...
@@ -2251,8 +2251,9 @@ buf_page_get_gen(
/* Decompress the page and apply buffered operations
/* Decompress the page and apply buffered operations
while not holding buf_pool_mutex or block->mutex. */
while not holding buf_pool_mutex or block->mutex. */
success
=
buf_zip_decompress
(
block
,
srv_use_checksums
);
success
=
buf_zip_decompress
(
block
,
srv_use_checksums
);
ut_a
(
success
);
if
(
UNIV_LIKELY
(
success
&&
!
recv_no_ibuf_operations
))
{
if
(
UNIV_LIKELY
(
!
recv_no_ibuf_operations
))
{
ibuf_merge_or_delete_for_page
(
block
,
space
,
offset
,
ibuf_merge_or_delete_for_page
(
block
,
space
,
offset
,
zip_size
,
TRUE
);
zip_size
,
TRUE
);
}
}
...
@@ -2265,13 +2266,6 @@ buf_page_get_gen(
...
@@ -2265,13 +2266,6 @@ buf_page_get_gen(
mutex_exit
(
&
block
->
mutex
);
mutex_exit
(
&
block
->
mutex
);
buf_pool
->
n_pend_unzip
--
;
buf_pool
->
n_pend_unzip
--
;
rw_lock_x_unlock
(
&
block
->
lock
);
rw_lock_x_unlock
(
&
block
->
lock
);
if
(
UNIV_UNLIKELY
(
!
success
))
{
buf_pool_mutex_exit
();
return
(
NULL
);
}
break
;
break
;
case
BUF_BLOCK_ZIP_FREE
:
case
BUF_BLOCK_ZIP_FREE
:
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment