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
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
mariadb
Commits
77805812
Commit
77805812
authored
Dec 21, 2001
by
monty@hundin.mysql.fi
Browse files
Options
Browse Files
Download
Plain Diff
merge with 3.23.47
parents
55a2ab6e
05a3c0e8
Changes
3
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
53 additions
and
5 deletions
+53
-5
Docs/manual.texi
Docs/manual.texi
+6
-0
innobase/log/log0recv.c
innobase/log/log0recv.c
+30
-3
innobase/row/row0ins.c
innobase/row/row0ins.c
+17
-2
No files found.
Docs/manual.texi
View file @
77805812
...
...
@@ -48099,6 +48099,12 @@ not yet 100% confident in this code.
@appendixsubsec Changes in release 3.23.47
@itemize @bullet
@item
InnoDB now supports @code{NULL} in keys.
@item
Fixed shutdown problem on HPUX. (Introduced in 3.23.46)
@item
Added 'DO expression' command.
@item
Fixed core-dump bug in replication when using SELECT RELEASE_LOCK();
@item
Added new statement DO expression,[expression].
innobase/log/log0recv.c
View file @
77805812
...
...
@@ -564,8 +564,15 @@ recv_parse_or_apply_log_rec_body(
}
else
if
(
type
<=
MLOG_WRITE_STRING
)
{
new_ptr
=
mlog_parse_string
(
ptr
,
end_ptr
,
page
);
}
else
{
new_ptr
=
NULL
;
/* Eliminate compiler warning */
ut_error
;
new_ptr
=
NULL
;
fprintf
(
stderr
,
"InnoDB: WARNING: the log file may have been corrupt and it
\n
"
"InnoDB: is possible that the log scan did not proceed
\n
"
"InnoDB: far enough in recovery. Please run CHECK TABLE
\n
"
"InnoDB: on your InnoDB tables to check that they are ok!
\n
"
"InnoDB: Corrupt log record type %lu
\n
"
,
(
ulint
)
type
);
}
ut_ad
(
!
page
||
new_ptr
);
...
...
@@ -1316,9 +1323,29 @@ recv_parse_log_rec(
new_ptr
=
mlog_parse_initial_log_record
(
ptr
,
end_ptr
,
type
,
space
,
page_no
);
/* If the operating system writes to the log complete 512-byte
blocks, we should not get the warnings below in recovery.
A warning means that the header and the trailer appeared ok
in a 512-byte block, but in the middle there was something wrong.
TODO: (1) add similar warnings in the case there is an incompletely
written log record which does not extend to the boundary of a
512-byte block. (2) Add a checksum to a log block. */
if
(
!
new_ptr
)
{
return
(
0
);
}
/* Check that space id and page_no are sensible */
if
(
!
new_ptr
||
*
space
!=
0
||
*
page_no
>
0x8FFFFFFF
)
{
if
(
*
space
!=
0
||
*
page_no
>
0x8FFFFFFF
)
{
fprintf
(
stderr
,
"InnoDB: WARNING: the log file may have been corrupt and it
\n
"
"InnoDB: is possible that the log scan did not proceed
\n
"
"InnoDB: far enough in recovery. Please run CHECK TABLE
\n
"
"InnoDB: on your InnoDB tables to check that they are ok!
\n
"
"InnoDB: Corrupt log record type %lu, space id %lu, page no %lu
\n
"
,
(
ulint
)(
*
type
),
*
space
,
*
page_no
);
return
(
0
);
}
...
...
innobase/row/row0ins.c
View file @
77805812
...
...
@@ -319,6 +319,7 @@ row_ins_dupl_error_with_rec(
ulint
matched_fields
;
ulint
matched_bytes
;
ulint
n_unique
;
ulint
i
;
n_unique
=
dict_index_get_n_unique
(
index
);
...
...
@@ -332,6 +333,20 @@ row_ins_dupl_error_with_rec(
return
(
FALSE
);
}
/* In a unique secondary index we allow equal key values if they
contain SQL NULLs */
if
(
!
(
index
->
type
&
DICT_CLUSTERED
))
{
for
(
i
=
0
;
i
<
n_unique
;
i
++
)
{
if
(
UNIV_SQL_NULL
==
dfield_get_len
(
dtuple_get_nth_field
(
entry
,
i
)))
{
return
(
FALSE
);
}
}
}
if
(
!
rec_get_deleted_flag
(
rec
))
{
return
(
TRUE
);
...
...
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