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
1c25f0ce
Commit
1c25f0ce
authored
Aug 29, 2006
by
unknown
Browse files
Options
Browse Files
Download
Plain Diff
Merge desktop.sanja.is.com.ua:/home/bell/mysql/bk/mysql-maria
into desktop.sanja.is.com.ua:/home/bell/mysql/bk/work-maria
parents
582c3f45
87aa4ae2
Changes
5
Show whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
27 additions
and
26 deletions
+27
-26
storage/maria/checkpoint.c
storage/maria/checkpoint.c
+4
-4
storage/maria/least_recently_dirtied.c
storage/maria/least_recently_dirtied.c
+12
-2
storage/maria/ma_check.c
storage/maria/ma_check.c
+9
-8
storage/maria/ma_ft_parser.c
storage/maria/ma_ft_parser.c
+1
-1
storage/maria/recovery.c
storage/maria/recovery.c
+1
-11
No files found.
storage/maria/checkpoint.c
View file @
1c25f0ce
...
@@ -46,7 +46,8 @@ CHECKPOINT_LEVEL synchronous_checkpoint_in_progress= NONE;
...
@@ -46,7 +46,8 @@ CHECKPOINT_LEVEL synchronous_checkpoint_in_progress= NONE;
/*
/*
Used by MySQL client threads requesting a checkpoint (like "ALTER MARIA
Used by MySQL client threads requesting a checkpoint (like "ALTER MARIA
ENGINE DO CHECKPOINT"), and probably by maria_panic().
ENGINE DO CHECKPOINT"), and probably by maria_panic(), and at the end of the
UNDO recovery phase.
*/
*/
my_bool
execute_synchronous_checkpoint
(
CHECKPOINT_LEVEL
level
)
my_bool
execute_synchronous_checkpoint
(
CHECKPOINT_LEVEL
level
)
{
{
...
@@ -342,8 +343,6 @@ log_write_record(...)
...
@@ -342,8 +343,6 @@ log_write_record(...)
(requestor does not wait for completion, and does not even later check the
(requestor does not wait for completion, and does not even later check the
result).
result).
In real life it will be called by log_write_record().
In real life it will be called by log_write_record().
which explicitely wants to do checkpoint (ALTER ENGINE CHECKPOINT
checkpoint_level).
*/
*/
void
request_asynchronous_checkpoint
(
CHECKPOINT_LEVEL
level
);
void
request_asynchronous_checkpoint
(
CHECKPOINT_LEVEL
level
);
{
{
...
@@ -359,7 +358,8 @@ void request_asynchronous_checkpoint(CHECKPOINT_LEVEL level);
...
@@ -359,7 +358,8 @@ void request_asynchronous_checkpoint(CHECKPOINT_LEVEL level);
MAX_LOG_BYTES_WRITTEN_BETWEEN_CHECKPOINTS is passed), so it may not be a
MAX_LOG_BYTES_WRITTEN_BETWEEN_CHECKPOINTS is passed), so it may not be a
good idea for each of them to broadcast a cond to wake up the background
good idea for each of them to broadcast a cond to wake up the background
checkpoint thread. We just don't broacast a cond, the checkpoint thread
checkpoint thread. We just don't broacast a cond, the checkpoint thread
will notice our request in max a few seconds.
(see least_recently_dirtied.c) will notice our request in max a few
seconds.
*/
*/
checkpoint_request
=
level
;
/* post request */
checkpoint_request
=
level
;
/* post request */
}
}
...
...
storage/maria/least_recently_dirtied.c
View file @
1c25f0ce
...
@@ -181,7 +181,15 @@ flush_one_group_from_LRD()
...
@@ -181,7 +181,15 @@ flush_one_group_from_LRD()
*/
*/
}
}
/* flushes all page from LRD up to approximately rec_lsn>=max_lsn */
/*
Flushes all page from LRD up to approximately rec_lsn>=max_lsn.
This is approximate because we flush groups, and because the LRD list may
not be exactly sorted by rec_lsn (because for a big row, all pages of the
row are inserted into the LRD with rec_lsn being the LSN of the REDO for the
first page, so if there are concurrent insertions, the last page of the big
row may have a smaller rec_lsn than the previous pages inserted by
concurrent inserters).
*/
int
flush_all_LRD_to_lsn
(
LSN
max_lsn
)
int
flush_all_LRD_to_lsn
(
LSN
max_lsn
)
{
{
lock
(
global_LRD_mutex
);
lock
(
global_LRD_mutex
);
...
@@ -191,7 +199,9 @@ int flush_all_LRD_to_lsn(LSN max_lsn)
...
@@ -191,7 +199,9 @@ int flush_all_LRD_to_lsn(LSN max_lsn)
{
{
if
(
flush_one_group_from_LRD
())
/* will unlock LRD mutex */
if
(
flush_one_group_from_LRD
())
/* will unlock LRD mutex */
return
1
;
return
1
;
/* scheduler may preempt us here so that we don't take full CPU */
/*
The scheduler may preempt us here as we released the mutex; this is good.
*/
lock
(
global_LRD_mutex
);
lock
(
global_LRD_mutex
);
}
}
unlock
(
global_LRD_mutex
);
unlock
(
global_LRD_mutex
);
...
...
storage/maria/ma_check.c
View file @
1c25f0ce
...
@@ -460,8 +460,8 @@ int maria_chk_key(HA_CHECK *param, register MARIA_HA *info)
...
@@ -460,8 +460,8 @@ int maria_chk_key(HA_CHECK *param, register MARIA_HA *info)
auto_increment
=
ma_retrieve_auto_increment
(
info
,
info
->
rec_buff
);
auto_increment
=
ma_retrieve_auto_increment
(
info
,
info
->
rec_buff
);
if
(
auto_increment
>
info
->
s
->
state
.
auto_increment
)
if
(
auto_increment
>
info
->
s
->
state
.
auto_increment
)
{
{
_ma_check_print_warning
(
param
,
_ma_check_print_warning
(
param
,
"Auto-increment value: %s is smaller "
"Auto-increment value: %s is smaller
than max used value: %s"
,
"
than max used value: %s"
,
llstr
(
info
->
s
->
state
.
auto_increment
,
buff2
),
llstr
(
info
->
s
->
state
.
auto_increment
,
buff2
),
llstr
(
auto_increment
,
buff
));
llstr
(
auto_increment
,
buff
));
}
}
...
@@ -481,8 +481,8 @@ int maria_chk_key(HA_CHECK *param, register MARIA_HA *info)
...
@@ -481,8 +481,8 @@ int maria_chk_key(HA_CHECK *param, register MARIA_HA *info)
{
{
/* Don't count this as a real warning, as mariachk can't correct it */
/* Don't count this as a real warning, as mariachk can't correct it */
uint
save
=
param
->
warning_printed
;
uint
save
=
param
->
warning_printed
;
_ma_check_print_warning
(
param
,
_ma_check_print_warning
(
param
,
"Found row where the auto_increment "
"Found row where the auto_increment
column has the value 0"
);
"
column has the value 0"
);
param
->
warning_printed
=
save
;
param
->
warning_printed
=
save
;
}
}
maria_extra
(
info
,
HA_EXTRA_NO_KEYREAD
,
0
);
maria_extra
(
info
,
HA_EXTRA_NO_KEYREAD
,
0
);
...
@@ -1165,7 +1165,8 @@ int maria_chk_data_link(HA_CHECK *param, MARIA_HA *info,int extend)
...
@@ -1165,7 +1165,8 @@ int maria_chk_data_link(HA_CHECK *param, MARIA_HA *info,int extend)
SEARCH_SAME
,
info
->
s
->
state
.
key_root
[
key
]);
SEARCH_SAME
,
info
->
s
->
state
.
key_root
[
key
]);
if
(
search_result
)
if
(
search_result
)
{
{
_ma_check_print_error
(
param
,
"Record at: %10s Can't find key for index: %2d"
,
_ma_check_print_error
(
param
,
"Record at: %10s "
"Can't find key for index: %2d"
,
llstr
(
start_recpos
,
llbuff
),
key
+
1
);
llstr
(
start_recpos
,
llbuff
),
key
+
1
);
if
(
error
++
>
MAXERR
||
!
(
param
->
testflag
&
T_VERBOSE
))
if
(
error
++
>
MAXERR
||
!
(
param
->
testflag
&
T_VERBOSE
))
goto
err2
;
goto
err2
;
...
...
storage/maria/ma_ft_parser.c
View file @
1c25f0ce
...
@@ -204,8 +204,8 @@ byte maria_ft_simple_get_word(CHARSET_INFO *cs, byte **start, const byte *end,
...
@@ -204,8 +204,8 @@ byte maria_ft_simple_get_word(CHARSET_INFO *cs, byte **start, const byte *end,
FT_WORD
*
word
,
my_bool
skip_stopwords
)
FT_WORD
*
word
,
my_bool
skip_stopwords
)
{
{
byte
*
doc
=
*
start
;
byte
*
doc
=
*
start
;
int
ctype
;
uint
mwc
,
length
,
mbl
;
uint
mwc
,
length
,
mbl
;
int
ctype
;
DBUG_ENTER
(
"maria_ft_simple_get_word"
);
DBUG_ENTER
(
"maria_ft_simple_get_word"
);
do
do
...
...
storage/maria/recovery.c
View file @
1c25f0ce
...
@@ -221,10 +221,6 @@ int recovery()
...
@@ -221,10 +221,6 @@ int recovery()
/*
/*
mark that checkpoint requests are now allowed.
mark that checkpoint requests are now allowed.
*/
*/
/*
when all rollback threads have terminated, somebody should print "rollback
finished" to the error log.
*/
}
}
pthread_handler_decl
rollback_background_thread
()
pthread_handler_decl
rollback_background_thread
()
...
@@ -248,13 +244,7 @@ pthread_handler_decl rollback_background_thread()
...
@@ -248,13 +244,7 @@ pthread_handler_decl rollback_background_thread()
{
{
/*
/*
All rollback threads are done. Print "rollback finished" to the error
All rollback threads are done. Print "rollback finished" to the error
log. The UNDO phase has the reputation of being a slow operation
log and take a full checkpoint.
(slower than the REDO phase), so taking a checkpoint at the end of it is
intelligent, but as this UNDO phase generates REDOs and CLR_ENDs, if it
did a lot of work then the "automatic checkpoint when much has been
written to the log" will do it; and if the UNDO phase didn't do a lot of
work, no need for a checkpoint. If we change our mind and want to force
a checkpoint at the end of the UNDO phase, simply call it here.
*/
*/
}
}
unlock_mutex
(
rollback_threads
);
unlock_mutex
(
rollback_threads
);
...
...
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