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
1d229939
Commit
1d229939
authored
Mar 20, 2009
by
marko
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
branches/zip: recv_scan_log_recs(): Remove a compile-time constant parameter.
parent
1370fe0a
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
20 additions
and
29 deletions
+20
-29
ChangeLog
ChangeLog
+1
-1
include/log0recv.h
include/log0recv.h
+6
-10
log/log0log.c
log/log0log.c
+1
-2
log/log0recv.c
log/log0recv.c
+12
-16
No files found.
ChangeLog
View file @
1d229939
...
@@ -2,7 +2,7 @@
...
@@ -2,7 +2,7 @@
* buf/buf0buf.c, include/log0recv.h, log/log0recv.c:
* buf/buf0buf.c, include/log0recv.h, log/log0recv.c:
Remove the compile-time constant parameters of
Remove the compile-time constant parameters of
recv_recover_page() and recv_sys_init().
recv_recover_page()
, recv_scan_log_recs(),
and recv_sys_init().
2009-03-20 The InnoDB Team
2009-03-20 The InnoDB Team
...
...
include/log0recv.h
View file @
1d229939
...
@@ -135,8 +135,10 @@ void
...
@@ -135,8 +135,10 @@ void
recv_recovery_from_checkpoint_finish
(
void
);
recv_recovery_from_checkpoint_finish
(
void
);
/*======================================*/
/*======================================*/
/***********************************************************
/***********************************************************
Scans log from a buffer and stores new log data to the parsing buffer. Parses
Scans log from a buffer and stores new log data to the parsing buffer.
and hashes the log records if new data found. */
Parses and hashes the log records if new data found. Unless
UNIV_HOTBACKUP is defined, this function will apply log records
automatically when the hash table becomes full. */
UNIV_INTERN
UNIV_INTERN
ibool
ibool
recv_scan_log_recs
(
recv_scan_log_recs
(
...
@@ -144,20 +146,14 @@ recv_scan_log_recs(
...
@@ -144,20 +146,14 @@ recv_scan_log_recs(
/* out: TRUE if limit_lsn has been
/* out: TRUE if limit_lsn has been
reached, or not able to scan any more
reached, or not able to scan any more
in this log group */
in this log group */
ibool
apply_automatically
,
/* in: TRUE if we want this
function to apply log records
automatically when the hash table
becomes full; in the hot backup tool
the tool does the applying, not this
function */
ulint
available_memory
,
/* in: we let the hash table of recs
ulint
available_memory
,
/* in: we let the hash table of recs
to grow to this size, at the maximum */
to grow to this size, at the maximum */
ibool
store_to_hash
,
/* in: TRUE if the records should be
ibool
store_to_hash
,
/* in: TRUE if the records should be
stored to the hash table; this is set
stored to the hash table; this is set
to FALSE if just debug checking is
to FALSE if just debug checking is
needed */
needed */
byte
*
buf
,
/* in: buffer containing a log segment
const
byte
*
buf
,
/* in: buffer containing a log
or garbage */
segment
or garbage */
ulint
len
,
/* in: buffer length */
ulint
len
,
/* in: buffer length */
ib_uint64_t
start_lsn
,
/* in: buffer start lsn */
ib_uint64_t
start_lsn
,
/* in: buffer start lsn */
ib_uint64_t
*
contiguous_lsn
,
/* in/out: it is known that all log
ib_uint64_t
*
contiguous_lsn
,
/* in/out: it is known that all log
...
...
log/log0log.c
View file @
1d229939
...
@@ -3220,8 +3220,7 @@ log_check_log_recs(
...
@@ -3220,8 +3220,7 @@ log_check_log_recs(
ut_memcpy
(
scan_buf
,
start
,
end
-
start
);
ut_memcpy
(
scan_buf
,
start
,
end
-
start
);
recv_scan_log_recs
(
TRUE
,
recv_scan_log_recs
((
buf_pool
->
curr_size
(
buf_pool
->
curr_size
-
recv_n_pool_free_frames
)
*
UNIV_PAGE_SIZE
,
-
recv_n_pool_free_frames
)
*
UNIV_PAGE_SIZE
,
FALSE
,
scan_buf
,
end
-
start
,
FALSE
,
scan_buf
,
end
-
start
,
ut_uint64_align_down
(
buf_start_lsn
,
ut_uint64_align_down
(
buf_start_lsn
,
...
...
log/log0recv.c
View file @
1d229939
...
@@ -2237,8 +2237,10 @@ recv_sys_justify_left_parsing_buf(void)
...
@@ -2237,8 +2237,10 @@ recv_sys_justify_left_parsing_buf(void)
}
}
/***********************************************************
/***********************************************************
Scans log from a buffer and stores new log data to the parsing buffer. Parses
Scans log from a buffer and stores new log data to the parsing buffer.
and hashes the log records if new data found. */
Parses and hashes the log records if new data found. Unless
UNIV_HOTBACKUP is defined, this function will apply log records
automatically when the hash table becomes full. */
UNIV_INTERN
UNIV_INTERN
ibool
ibool
recv_scan_log_recs
(
recv_scan_log_recs
(
...
@@ -2246,20 +2248,14 @@ recv_scan_log_recs(
...
@@ -2246,20 +2248,14 @@ recv_scan_log_recs(
/* out: TRUE if limit_lsn has been
/* out: TRUE if limit_lsn has been
reached, or not able to scan any more
reached, or not able to scan any more
in this log group */
in this log group */
ibool
apply_automatically
,
/* in: TRUE if we want this
function to apply log records
automatically when the hash table
becomes full; in the hot backup tool
the tool does the applying, not this
function */
ulint
available_memory
,
/* in: we let the hash table of recs
ulint
available_memory
,
/* in: we let the hash table of recs
to grow to this size, at the maximum */
to grow to this size, at the maximum */
ibool
store_to_hash
,
/* in: TRUE if the records should be
ibool
store_to_hash
,
/* in: TRUE if the records should be
stored to the hash table; this is set
stored to the hash table; this is set
to FALSE if just debug checking is
to FALSE if just debug checking is
needed */
needed */
byte
*
buf
,
/* in: buffer containing a log segment
const
byte
*
buf
,
/* in: buffer containing a log
or garbage */
segment
or garbage */
ulint
len
,
/* in: buffer length */
ulint
len
,
/* in: buffer length */
ib_uint64_t
start_lsn
,
/* in: buffer start lsn */
ib_uint64_t
start_lsn
,
/* in: buffer start lsn */
ib_uint64_t
*
contiguous_lsn
,
/* in/out: it is known that all log
ib_uint64_t
*
contiguous_lsn
,
/* in/out: it is known that all log
...
@@ -2268,7 +2264,7 @@ recv_scan_log_recs(
...
@@ -2268,7 +2264,7 @@ recv_scan_log_recs(
ib_uint64_t
*
group_scanned_lsn
)
/* out: scanning succeeded up to
ib_uint64_t
*
group_scanned_lsn
)
/* out: scanning succeeded up to
this lsn */
this lsn */
{
{
byte
*
log_block
;
const
byte
*
log_block
;
ulint
no
;
ulint
no
;
ib_uint64_t
scanned_lsn
;
ib_uint64_t
scanned_lsn
;
ibool
finished
;
ibool
finished
;
...
@@ -2278,7 +2274,6 @@ recv_scan_log_recs(
...
@@ -2278,7 +2274,6 @@ recv_scan_log_recs(
ut_ad
(
start_lsn
%
OS_FILE_LOG_BLOCK_SIZE
==
0
);
ut_ad
(
start_lsn
%
OS_FILE_LOG_BLOCK_SIZE
==
0
);
ut_ad
(
len
%
OS_FILE_LOG_BLOCK_SIZE
==
0
);
ut_ad
(
len
%
OS_FILE_LOG_BLOCK_SIZE
==
0
);
ut_ad
(
len
>
0
);
ut_ad
(
len
>
0
);
ut_a
(
apply_automatically
<=
TRUE
);
ut_a
(
store_to_hash
<=
TRUE
);
ut_a
(
store_to_hash
<=
TRUE
);
finished
=
FALSE
;
finished
=
FALSE
;
...
@@ -2441,9 +2436,9 @@ recv_scan_log_recs(
...
@@ -2441,9 +2436,9 @@ recv_scan_log_recs(
recv_parse_log_recs
(
store_to_hash
);
recv_parse_log_recs
(
store_to_hash
);
#ifndef UNIV_HOTBACKUP
if
(
store_to_hash
&&
mem_heap_get_size
(
recv_sys
->
heap
)
if
(
store_to_hash
&&
mem_heap_get_size
(
recv_sys
->
heap
)
>
available_memory
>
available_memory
)
{
&&
apply_automatically
)
{
/* Hash table of log records has grown too big:
/* Hash table of log records has grown too big:
empty it; FALSE means no ibuf operations
empty it; FALSE means no ibuf operations
...
@@ -2453,6 +2448,7 @@ recv_scan_log_recs(
...
@@ -2453,6 +2448,7 @@ recv_scan_log_recs(
recv_apply_hashed_log_recs
(
FALSE
);
recv_apply_hashed_log_recs
(
FALSE
);
}
}
#endif
/* !UNIV_HOTBACKUP */
if
(
recv_sys
->
recovered_offset
>
RECV_PARSING_BUF_SIZE
/
4
)
{
if
(
recv_sys
->
recovered_offset
>
RECV_PARSING_BUF_SIZE
/
4
)
{
/* Move parsing buffer data to the buffer start */
/* Move parsing buffer data to the buffer start */
...
@@ -2493,7 +2489,7 @@ recv_group_scan_log_recs(
...
@@ -2493,7 +2489,7 @@ recv_group_scan_log_recs(
group
,
start_lsn
,
end_lsn
);
group
,
start_lsn
,
end_lsn
);
finished
=
recv_scan_log_recs
(
finished
=
recv_scan_log_recs
(
TRUE
,
(
buf_pool
->
curr_size
-
recv_n_pool_free_frames
)
(
buf_pool
->
curr_size
-
recv_n_pool_free_frames
)
*
UNIV_PAGE_SIZE
,
TRUE
,
log_sys
->
buf
,
RECV_SCAN_SIZE
,
*
UNIV_PAGE_SIZE
,
TRUE
,
log_sys
->
buf
,
RECV_SCAN_SIZE
,
start_lsn
,
contiguous_lsn
,
group_scanned_lsn
);
start_lsn
,
contiguous_lsn
,
group_scanned_lsn
);
start_lsn
=
end_lsn
;
start_lsn
=
end_lsn
;
...
@@ -3316,7 +3312,7 @@ ask_again:
...
@@ -3316,7 +3312,7 @@ ask_again:
read_offset
%
UNIV_PAGE_SIZE
,
len
,
buf
,
NULL
);
read_offset
%
UNIV_PAGE_SIZE
,
len
,
buf
,
NULL
);
ret
=
recv_scan_log_recs
(
ret
=
recv_scan_log_recs
(
TRUE
,
(
buf_pool
->
n_frames
-
recv_n_pool_free_frames
)
(
buf_pool
->
n_frames
-
recv_n_pool_free_frames
)
*
UNIV_PAGE_SIZE
,
TRUE
,
buf
,
len
,
start_lsn
,
*
UNIV_PAGE_SIZE
,
TRUE
,
buf
,
len
,
start_lsn
,
&
dummy_lsn
,
&
scanned_lsn
);
&
dummy_lsn
,
&
scanned_lsn
);
...
...
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