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
8b7521eb
Commit
8b7521eb
authored
Sep 11, 2002
by
monty@mashka.mysql.fi
Browse files
Options
Browse Files
Download
Plain Diff
Merge with 3.23.53
parents
fa4e07bf
75a39efa
Changes
10
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
62 additions
and
10 deletions
+62
-10
Docs/manual.texi
Docs/manual.texi
+3
-0
innobase/btr/btr0cur.c
innobase/btr/btr0cur.c
+25
-0
innobase/os/os0file.c
innobase/os/os0file.c
+1
-1
innobase/os/os0sync.c
innobase/os/os0sync.c
+6
-0
innobase/srv/srv0srv.c
innobase/srv/srv0srv.c
+11
-2
innobase/sync/sync0arr.c
innobase/sync/sync0arr.c
+1
-1
innobase/trx/trx0undo.c
innobase/trx/trx0undo.c
+4
-3
sql/ha_innodb.cc
sql/ha_innodb.cc
+8
-1
sql/ha_innodb.h
sql/ha_innodb.h
+1
-0
sql/mysqld.cc
sql/mysqld.cc
+2
-2
No files found.
Docs/manual.texi
View file @
8b7521eb
...
@@ -51289,6 +51289,9 @@ Linux-x86 binaries.
...
@@ -51289,6 +51289,9 @@ Linux-x86 binaries.
@itemize @bullet
@itemize @bullet
@item
@item
Fixed buffer overflow problem if someone specified a too long datadir
parameter to mysqld
@item
Add missing @code{<row>} tags for @code{mysqldump} XML output.
Add missing @code{<row>} tags for @code{mysqldump} XML output.
@item
@item
Fixed problem with @code{crash-me} and @code{gcc} 3.0.4.
Fixed problem with @code{crash-me} and @code{gcc} 3.0.4.
innobase/btr/btr0cur.c
View file @
8b7521eb
...
@@ -302,6 +302,9 @@ btr_cur_search_to_nth_level(
...
@@ -302,6 +302,9 @@ btr_cur_search_to_nth_level(
rw_lock_s_unlock
(
&
btr_search_latch
);
rw_lock_s_unlock
(
&
btr_search_latch
);
}
}
/* Store the position of the tree latch we push to mtr so that we
know how to release it when we have latched leaf node(s) */
savepoint
=
mtr_set_savepoint
(
mtr
);
savepoint
=
mtr_set_savepoint
(
mtr
);
tree
=
index
->
tree
;
tree
=
index
->
tree
;
...
@@ -506,12 +509,18 @@ btr_cur_open_at_index_side(
...
@@ -506,12 +509,18 @@ btr_cur_open_at_index_side(
ulint
root_height
=
0
;
/* remove warning */
ulint
root_height
=
0
;
/* remove warning */
rec_t
*
node_ptr
;
rec_t
*
node_ptr
;
ulint
estimate
;
ulint
estimate
;
ulint
savepoint
;
estimate
=
latch_mode
&
BTR_ESTIMATE
;
estimate
=
latch_mode
&
BTR_ESTIMATE
;
latch_mode
=
latch_mode
&
~
BTR_ESTIMATE
;
latch_mode
=
latch_mode
&
~
BTR_ESTIMATE
;
tree
=
index
->
tree
;
tree
=
index
->
tree
;
/* Store the position of the tree latch we push to mtr so that we
know how to release it when we have latched the leaf node */
savepoint
=
mtr_set_savepoint
(
mtr
);
if
(
latch_mode
==
BTR_MODIFY_TREE
)
{
if
(
latch_mode
==
BTR_MODIFY_TREE
)
{
mtr_x_lock
(
dict_tree_get_lock
(
tree
),
mtr
);
mtr_x_lock
(
dict_tree_get_lock
(
tree
),
mtr
);
}
else
{
}
else
{
...
@@ -544,6 +553,22 @@ btr_cur_open_at_index_side(
...
@@ -544,6 +553,22 @@ btr_cur_open_at_index_side(
if
(
height
==
0
)
{
if
(
height
==
0
)
{
btr_cur_latch_leaves
(
tree
,
page
,
space
,
page_no
,
btr_cur_latch_leaves
(
tree
,
page
,
space
,
page_no
,
latch_mode
,
cursor
,
mtr
);
latch_mode
,
cursor
,
mtr
);
/* In versions <= 3.23.52 we had forgotten to
release the tree latch here. If in an index scan
we had to scan far to find a record visible to the
current transaction, that could starve others
waiting for the tree latch. */
if
((
latch_mode
!=
BTR_MODIFY_TREE
)
&&
(
latch_mode
!=
BTR_CONT_MODIFY_TREE
))
{
/* Release the tree s-latch */
mtr_release_s_latch_at_savepoint
(
mtr
,
savepoint
,
dict_tree_get_lock
(
tree
));
}
}
}
if
(
from_left
)
{
if
(
from_left
)
{
...
...
innobase/os/os0file.c
View file @
8b7521eb
...
@@ -2278,7 +2278,7 @@ consecutive_loop:
...
@@ -2278,7 +2278,7 @@ consecutive_loop:
ut_print_timestamp
(
stderr
);
ut_print_timestamp
(
stderr
);
fprintf
(
stderr
,
fprintf
(
stderr
,
" InnoDB: ERROR: The page to be written seems corrupt!
\n
"
);
" InnoDB: ERROR: The page to be written seems corrupt!
\n
"
);
page_print
(
combined_buf
+
len2
);
buf_
page_print
(
combined_buf
+
len2
);
fprintf
(
stderr
,
fprintf
(
stderr
,
"InnoDB: ERROR: The page to be written seems corrupt!
\n
"
);
"InnoDB: ERROR: The page to be written seems corrupt!
\n
"
);
}
}
...
...
innobase/os/os0sync.c
View file @
8b7521eb
...
@@ -49,6 +49,12 @@ os_event_create(
...
@@ -49,6 +49,12 @@ os_event_create(
TRUE
,
/* Manual reset */
TRUE
,
/* Manual reset */
FALSE
,
/* Initial state nonsignaled */
FALSE
,
/* Initial state nonsignaled */
name
);
name
);
if
(
!
event
)
{
fprintf
(
stderr
,
"InnoDB: Could not create a Windows event semaphore; Windows error %lu
\n
"
,
(
ulint
)
GetLastError
());
}
ut_a
(
event
);
ut_a
(
event
);
return
(
event
);
return
(
event
);
...
...
innobase/srv/srv0srv.c
View file @
8b7521eb
...
@@ -2825,7 +2825,11 @@ background_loop:
...
@@ -2825,7 +2825,11 @@ background_loop:
srv_main_thread_op_info
=
(
char
*
)
"purging"
;
srv_main_thread_op_info
=
(
char
*
)
"purging"
;
n_pages_purged
=
trx_purge
();
if
(
srv_fast_shutdown
&&
srv_shutdown_state
>
0
)
{
n_pages_purged
=
0
;
}
else
{
n_pages_purged
=
trx_purge
();
}
srv_main_thread_op_info
=
(
char
*
)
"reserving kernel mutex"
;
srv_main_thread_op_info
=
(
char
*
)
"reserving kernel mutex"
;
...
@@ -2837,7 +2841,12 @@ background_loop:
...
@@ -2837,7 +2841,12 @@ background_loop:
mutex_exit
(
&
kernel_mutex
);
mutex_exit
(
&
kernel_mutex
);
srv_main_thread_op_info
=
(
char
*
)
"doing insert buffer merge"
;
srv_main_thread_op_info
=
(
char
*
)
"doing insert buffer merge"
;
n_bytes_merged
=
ibuf_contract_for_n_pages
(
TRUE
,
20
);
if
(
srv_fast_shutdown
&&
srv_shutdown_state
>
0
)
{
n_bytes_merged
=
0
;
}
else
{
n_bytes_merged
=
ibuf_contract_for_n_pages
(
TRUE
,
20
);
}
srv_main_thread_op_info
=
(
char
*
)
"reserving kernel mutex"
;
srv_main_thread_op_info
=
(
char
*
)
"reserving kernel mutex"
;
...
...
innobase/sync/sync0arr.c
View file @
8b7521eb
...
@@ -924,7 +924,7 @@ sync_array_print_long_waits(void)
...
@@ -924,7 +924,7 @@ sync_array_print_long_waits(void)
}
}
if
(
cell
->
wait_object
!=
NULL
if
(
cell
->
wait_object
!=
NULL
&&
difftime
(
time
(
NULL
),
cell
->
reservation_time
)
>
42
0
)
{
&&
difftime
(
time
(
NULL
),
cell
->
reservation_time
)
>
60
0
)
{
fprintf
(
stderr
,
fprintf
(
stderr
,
"InnoDB: Error: semaphore wait has lasted > 600 seconds
\n
"
"InnoDB: Error: semaphore wait has lasted > 600 seconds
\n
"
...
...
innobase/trx/trx0undo.c
View file @
8b7521eb
...
@@ -401,6 +401,10 @@ trx_undo_seg_create(
...
@@ -401,6 +401,10 @@ trx_undo_seg_create(
slot_no
=
trx_rsegf_undo_find_free
(
rseg_hdr
,
mtr
);
slot_no
=
trx_rsegf_undo_find_free
(
rseg_hdr
,
mtr
);
if
(
slot_no
==
ULINT_UNDEFINED
)
{
if
(
slot_no
==
ULINT_UNDEFINED
)
{
ut_print_timestamp
(
stderr
);
fprintf
(
stderr
,
"InnoDB: Warning: cannot find a free slot for an undo log. Do you have too
\n
"
"InnoDB: many active transactions running concurrently?"
);
return
(
NULL
);
return
(
NULL
);
}
}
...
@@ -1532,9 +1536,6 @@ trx_undo_assign_undo(
...
@@ -1532,9 +1536,6 @@ trx_undo_assign_undo(
mutex_exit
(
&
(
rseg
->
mutex
));
mutex_exit
(
&
(
rseg
->
mutex
));
mtr_commit
(
&
mtr
);
mtr_commit
(
&
mtr
);
fprintf
(
stderr
,
"InnoDB: no undo log slots free
\n
"
);
ut_a
(
0
);
return
(
NULL
);
return
(
NULL
);
}
}
}
}
...
...
sql/ha_innodb.cc
View file @
8b7521eb
...
@@ -101,11 +101,18 @@ char* innobase_unix_file_flush_method = NULL;
...
@@ -101,11 +101,18 @@ char* innobase_unix_file_flush_method = NULL;
/* Below we have boolean-valued start-up parameters, and their default
/* Below we have boolean-valued start-up parameters, and their default
values */
values */
uint
innobase_flush_log_at_trx_commit
=
0
;
my_bool
innobase_log_archive
=
FALSE
;
my_bool
innobase_log_archive
=
FALSE
;
my_bool
innobase_use_native_aio
=
FALSE
;
my_bool
innobase_use_native_aio
=
FALSE
;
my_bool
innobase_fast_shutdown
=
TRUE
;
my_bool
innobase_fast_shutdown
=
TRUE
;
/* innodb_flush_log_at_trx_commit can now have 3 values:
0 : write to the log file once per second and flush it to disk;
1 : write to the log file at each commit and flush it to disk;
2 : write to the log file at each commit, but flush to disk only once per
second */
uint
innobase_flush_log_at_trx_commit
=
0
;
/*
/*
Set default InnoDB data file size to 10 MB and let it be
Set default InnoDB data file size to 10 MB and let it be
auto-extending. Thus users can use InnoDB without having to
auto-extending. Thus users can use InnoDB without having to
...
...
sql/ha_innodb.h
View file @
8b7521eb
...
@@ -182,6 +182,7 @@ extern long innobase_force_recovery, innobase_thread_concurrency;
...
@@ -182,6 +182,7 @@ extern long innobase_force_recovery, innobase_thread_concurrency;
extern
char
*
innobase_data_home_dir
,
*
innobase_data_file_path
;
extern
char
*
innobase_data_home_dir
,
*
innobase_data_file_path
;
extern
char
*
innobase_log_group_home_dir
,
*
innobase_log_arch_dir
;
extern
char
*
innobase_log_group_home_dir
,
*
innobase_log_arch_dir
;
extern
char
*
innobase_unix_file_flush_method
;
extern
char
*
innobase_unix_file_flush_method
;
extern
long
innobase_flush_log_at_trx_commit
;
/* The following variables have to be my_bool for SHOW VARIABLES to work */
/* The following variables have to be my_bool for SHOW VARIABLES to work */
extern
my_bool
innobase_log_archive
,
extern
my_bool
innobase_log_archive
,
innobase_use_native_aio
,
innobase_fast_shutdown
;
innobase_use_native_aio
,
innobase_fast_shutdown
;
...
...
sql/mysqld.cc
View file @
8b7521eb
...
@@ -3036,10 +3036,10 @@ struct my_option my_long_options[] =
...
@@ -3036,10 +3036,10 @@ struct my_option my_long_options[] =
"Set to 1 if you want to have logs archived"
,
0
,
0
,
0
,
GET_LONG
,
OPT_ARG
,
"Set to 1 if you want to have logs archived"
,
0
,
0
,
0
,
GET_LONG
,
OPT_ARG
,
0
,
0
,
0
,
0
,
0
,
0
},
0
,
0
,
0
,
0
,
0
,
0
},
{
"innodb_flush_log_at_trx_commit"
,
OPT_INNODB_FLUSH_LOG_AT_TRX_COMMIT
,
{
"innodb_flush_log_at_trx_commit"
,
OPT_INNODB_FLUSH_LOG_AT_TRX_COMMIT
,
"Set to 0
if you don't want to flush logs
"
,
"Set to 0
(write and flush once per second), 1 (write and flush at each commit) or 2 (write at commit, flush once per second)
"
,
(
gptr
*
)
&
innobase_flush_log_at_trx_commit
,
(
gptr
*
)
&
innobase_flush_log_at_trx_commit
,
(
gptr
*
)
&
innobase_flush_log_at_trx_commit
,
(
gptr
*
)
&
innobase_flush_log_at_trx_commit
,
0
,
GET_INT
,
OPT_ARG
,
0
,
0
,
2
,
0
,
0
,
0
},
0
,
GET_
U
INT
,
OPT_ARG
,
0
,
0
,
2
,
0
,
0
,
0
},
{
"innodb_flush_method"
,
OPT_INNODB_FLUSH_METHOD
,
{
"innodb_flush_method"
,
OPT_INNODB_FLUSH_METHOD
,
"With which method to flush data"
,
(
gptr
*
)
&
innobase_unix_file_flush_method
,
"With which method to flush data"
,
(
gptr
*
)
&
innobase_unix_file_flush_method
,
(
gptr
*
)
&
innobase_unix_file_flush_method
,
0
,
GET_STR
,
REQUIRED_ARG
,
0
,
0
,
0
,
(
gptr
*
)
&
innobase_unix_file_flush_method
,
0
,
GET_STR
,
REQUIRED_ARG
,
0
,
0
,
0
,
...
...
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