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
43c393ff
Commit
43c393ff
authored
Sep 03, 2018
by
Monty
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
MDEV-16682 Assertion `(buff[7] & 7) == HEAD_PAGE' failed
Missed one file in last push...
parent
796d54df
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
13 additions
and
5 deletions
+13
-5
storage/maria/ma_blockrec.c
storage/maria/ma_blockrec.c
+13
-5
No files found.
storage/maria/ma_blockrec.c
View file @
43c393ff
...
@@ -53,10 +53,10 @@
...
@@ -53,10 +53,10 @@
Page header:
Page header:
LSN 7 bytes Log position for last page change
LSN 7 bytes Log position for last page change
PAGE_TYPE 1 uchar 1 for head / 2 for tail / 3 for blob
PAGE_TYPE 1 uchar
0 unalloced /
1 for head / 2 for tail / 3 for blob
DIR_COUNT 1 uchar Number of row/tail entries on page
DIR_COUNT 1 uchar Number of row/tail entries on page
FREE_DIR_LINK 1 uchar Pointer to first free director entry or 255 if no
FREE_DIR_LINK 1 uchar Pointer to first free director entry or 255 if no
empty space 2 bytes
E
mpty space on page
empty space 2 bytes
Bytes of e
mpty space on page
The most significant bit in PAGE_TYPE is set to 1 if the data on the page
The most significant bit in PAGE_TYPE is set to 1 if the data on the page
can be compacted to get more space. (PAGE_CAN_BE_COMPACTED)
can be compacted to get more space. (PAGE_CAN_BE_COMPACTED)
...
@@ -5122,11 +5122,19 @@ int _ma_read_block_record(MARIA_HA *info, uchar *record,
...
@@ -5122,11 +5122,19 @@ int _ma_read_block_record(MARIA_HA *info, uchar *record,
info
->
buff
,
share
->
page_type
,
info
->
buff
,
share
->
page_type
,
PAGECACHE_LOCK_LEFT_UNLOCKED
,
0
)))
PAGECACHE_LOCK_LEFT_UNLOCKED
,
0
)))
DBUG_RETURN
(
my_errno
);
DBUG_RETURN
(
my_errno
);
DBUG_ASSERT
((
buff
[
PAGE_TYPE_OFFSET
]
&
PAGE_TYPE_MASK
)
==
HEAD_PAGE
);
if
(
!
(
data
=
get_record_position
(
buff
,
block_size
,
offset
,
&
end_of_data
)))
/*
Unallocated page access can happen if this is an access to a page where
all rows where deleted as part of this statement.
*/
DBUG_ASSERT
((
buff
[
PAGE_TYPE_OFFSET
]
&
PAGE_TYPE_MASK
)
==
HEAD_PAGE
||
(
buff
[
PAGE_TYPE_OFFSET
]
&
PAGE_TYPE_MASK
)
==
UNALLOCATED_PAGE
);
if
(((
buff
[
PAGE_TYPE_OFFSET
]
&
PAGE_TYPE_MASK
)
==
UNALLOCATED_PAGE
)
||
!
(
data
=
get_record_position
(
buff
,
block_size
,
offset
,
&
end_of_data
)))
{
{
DBUG_ASSERT
(
!
maria_assert_if_crashed_table
);
DBUG_ASSERT
(
!
maria_assert_if_crashed_table
);
DBUG_PRINT
(
"
error
"
,
(
"Wrong directory entry in data block"
));
DBUG_PRINT
(
"
warning
"
,
(
"Wrong directory entry in data block"
));
my_errno
=
HA_ERR_RECORD_DELETED
;
/* File crashed */
my_errno
=
HA_ERR_RECORD_DELETED
;
/* File crashed */
DBUG_RETURN
(
HA_ERR_RECORD_DELETED
);
DBUG_RETURN
(
HA_ERR_RECORD_DELETED
);
}
}
...
...
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