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
87c70a59
Commit
87c70a59
authored
Apr 01, 2006
by
unknown
Browse files
Options
Browse Files
Download
Plain Diff
Merge aivanov@bk-internal.mysql.com:/home/bk/mysql-5.0
into mysql.com:/home/alexi/innodb/mysql-5.0-merged
parents
085aa5c9
f6ffb77c
Changes
2
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
16 additions
and
8 deletions
+16
-8
innobase/btr/btr0sea.c
innobase/btr/btr0sea.c
+8
-6
sql/ha_innodb.cc
sql/ha_innodb.cc
+8
-2
No files found.
innobase/btr/btr0sea.c
View file @
87c70a59
...
@@ -59,9 +59,6 @@ before hash index building is started */
...
@@ -59,9 +59,6 @@ before hash index building is started */
#define BTR_SEARCH_BUILD_LIMIT 100
#define BTR_SEARCH_BUILD_LIMIT 100
/* How many cells to check before temporarily releasing btr_search_latch */
#define BTR_CHUNK_SIZE 10000
/************************************************************************
/************************************************************************
Builds a hash index on a page with the given parameters. If the page already
Builds a hash index on a page with the given parameters. If the page already
has a hash index with different parameters, the old hash index is removed.
has a hash index with different parameters, the old hash index is removed.
...
@@ -1607,6 +1604,11 @@ btr_search_validate(void)
...
@@ -1607,6 +1604,11 @@ btr_search_validate(void)
mem_heap_t
*
heap
=
NULL
;
mem_heap_t
*
heap
=
NULL
;
ulint
offsets_
[
REC_OFFS_NORMAL_SIZE
];
ulint
offsets_
[
REC_OFFS_NORMAL_SIZE
];
ulint
*
offsets
=
offsets_
;
ulint
*
offsets
=
offsets_
;
/* How many cells to check before temporarily releasing
btr_search_latch. */
ulint
chunk_size
=
10000
;
*
offsets_
=
(
sizeof
offsets_
)
/
sizeof
*
offsets_
;
*
offsets_
=
(
sizeof
offsets_
)
/
sizeof
*
offsets_
;
rw_lock_x_lock
(
&
btr_search_latch
);
rw_lock_x_lock
(
&
btr_search_latch
);
...
@@ -1616,7 +1618,7 @@ btr_search_validate(void)
...
@@ -1616,7 +1618,7 @@ btr_search_validate(void)
for
(
i
=
0
;
i
<
cell_count
;
i
++
)
{
for
(
i
=
0
;
i
<
cell_count
;
i
++
)
{
/* We release btr_search_latch every once in a while to
/* We release btr_search_latch every once in a while to
give other queries a chance to run. */
give other queries a chance to run. */
if
((
i
!=
0
)
&&
((
i
%
BTR_CHUNK_SIZE
)
==
0
))
{
if
((
i
!=
0
)
&&
((
i
%
chunk_size
)
==
0
))
{
rw_lock_x_unlock
(
&
btr_search_latch
);
rw_lock_x_unlock
(
&
btr_search_latch
);
os_thread_yield
();
os_thread_yield
();
rw_lock_x_lock
(
&
btr_search_latch
);
rw_lock_x_lock
(
&
btr_search_latch
);
...
@@ -1675,8 +1677,8 @@ btr_search_validate(void)
...
@@ -1675,8 +1677,8 @@ btr_search_validate(void)
}
}
}
}
for
(
i
=
0
;
i
<
cell_count
;
i
+=
BTR_CHUNK_SIZE
)
{
for
(
i
=
0
;
i
<
cell_count
;
i
+=
chunk_size
)
{
ulint
end_index
=
ut_min
(
i
+
BTR_CHUNK_SIZE
-
1
,
cell_count
-
1
);
ulint
end_index
=
ut_min
(
i
+
chunk_size
-
1
,
cell_count
-
1
);
/* We release btr_search_latch every once in a while to
/* We release btr_search_latch every once in a while to
give other queries a chance to run. */
give other queries a chance to run. */
...
...
sql/ha_innodb.cc
View file @
87c70a59
...
@@ -989,7 +989,6 @@ innobase_query_caching_of_table_permitted(
...
@@ -989,7 +989,6 @@ innobase_query_caching_of_table_permitted(
mutex_enter_noninline
(
&
kernel_mutex
);
mutex_enter_noninline
(
&
kernel_mutex
);
trx_print
(
stderr
,
trx
,
1024
);
trx_print
(
stderr
,
trx
,
1024
);
mutex_exit_noninline
(
&
kernel_mutex
);
mutex_exit_noninline
(
&
kernel_mutex
);
ut_error
;
}
}
innobase_release_stat_resources
(
trx
);
innobase_release_stat_resources
(
trx
);
...
@@ -3833,6 +3832,13 @@ ha_innobase::unlock_row(void)
...
@@ -3833,6 +3832,13 @@ ha_innobase::unlock_row(void)
ut_error
;
ut_error
;
}
}
/* Consistent read does not take any locks, thus there is
nothing to unlock. */
if
(
prebuilt
->
select_lock_type
==
LOCK_NONE
)
{
DBUG_VOID_RETURN
;
}
if
(
srv_locks_unsafe_for_binlog
)
{
if
(
srv_locks_unsafe_for_binlog
)
{
row_unlock_for_mysql
(
prebuilt
,
FALSE
);
row_unlock_for_mysql
(
prebuilt
,
FALSE
);
}
}
...
...
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