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
ebc8ba0b
Commit
ebc8ba0b
authored
Oct 11, 2010
by
karen.langford@oracle.com
Committed by
Karen Langford
Oct 11, 2010
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Fix bug #57345
parent
34c61d04
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
31 additions
and
3 deletions
+31
-3
storage/innobase/row/row0sel.c
storage/innobase/row/row0sel.c
+13
-1
storage/innodb_plugin/ChangeLog
storage/innodb_plugin/ChangeLog
+5
-1
storage/innodb_plugin/row/row0sel.c
storage/innodb_plugin/row/row0sel.c
+13
-1
No files found.
storage/innobase/row/row0sel.c
View file @
ebc8ba0b
...
...
@@ -3259,6 +3259,7 @@ row_search_for_mysql(
mem_heap_t
*
heap
=
NULL
;
ulint
offsets_
[
REC_OFFS_NORMAL_SIZE
];
ulint
*
offsets
=
offsets_
;
ibool
table_lock_waited
=
FALSE
;
*
offsets_
=
(
sizeof
offsets_
)
/
sizeof
*
offsets_
;
...
...
@@ -3622,13 +3623,15 @@ row_search_for_mysql(
trx_assign_read_view
(
trx
);
prebuilt
->
sql_stat_start
=
FALSE
;
}
else
{
wait_table_again:
err
=
lock_table
(
0
,
index
->
table
,
prebuilt
->
select_lock_type
==
LOCK_S
?
LOCK_IS
:
LOCK_IX
,
thr
);
if
(
err
!=
DB_SUCCESS
)
{
goto
lock_wait_or_error
;
table_lock_waited
=
TRUE
;
goto
lock_table_wait
;
}
prebuilt
->
sql_stat_start
=
FALSE
;
}
...
...
@@ -4408,6 +4411,7 @@ row_search_for_mysql(
btr_pcur_store_position
(
pcur
,
&
mtr
);
lock_table_wait:
mtr_commit
(
&
mtr
);
mtr_has_extra_clust_latch
=
FALSE
;
...
...
@@ -4425,6 +4429,14 @@ row_search_for_mysql(
thr
->
lock_state
=
QUE_THR_LOCK_NOLOCK
;
mtr_start
(
&
mtr
);
/* Table lock waited, go try to obtain table lock
again */
if
(
table_lock_waited
)
{
table_lock_waited
=
FALSE
;
goto
wait_table_again
;
}
sel_restore_position_for_mysql
(
&
same_user_rec
,
BTR_SEARCH_LEAF
,
pcur
,
moves_up
,
&
mtr
);
...
...
storage/innodb_plugin/ChangeLog
View file @
ebc8ba0b
2010-10-11 The InnoDB Team
* row/row0sel.c
Fix Bug #57345 btr_pcur_store_position abort for load with
concurrent lock/unlock tables
2010-10-06 The InnoDB Team
* row/row0mysql.c, innodb_bug57255.result, innodb_bug57255.test
Fix Bug #Cascade Delete results in "Got error -1 from storage engine"
...
...
@@ -40,7 +45,6 @@
* handler/ha_innodb.cc
Fix Bug #55382 Assignment with SELECT expressions takes unexpected
S locks in READ COMMITTED
>>>>>>> MERGE-SOURCE
2010-07-27 The InnoDB Team
...
...
storage/innodb_plugin/row/row0sel.c
View file @
ebc8ba0b
...
...
@@ -3356,6 +3356,7 @@ row_search_for_mysql(
mem_heap_t
*
heap
=
NULL
;
ulint
offsets_
[
REC_OFFS_NORMAL_SIZE
];
ulint
*
offsets
=
offsets_
;
ibool
table_lock_waited
=
FALSE
;
rec_offs_init
(
offsets_
);
...
...
@@ -3742,13 +3743,15 @@ row_search_for_mysql(
trx_assign_read_view
(
trx
);
prebuilt
->
sql_stat_start
=
FALSE
;
}
else
{
wait_table_again:
err
=
lock_table
(
0
,
index
->
table
,
prebuilt
->
select_lock_type
==
LOCK_S
?
LOCK_IS
:
LOCK_IX
,
thr
);
if
(
err
!=
DB_SUCCESS
)
{
goto
lock_wait_or_error
;
table_lock_waited
=
TRUE
;
goto
lock_table_wait
;
}
prebuilt
->
sql_stat_start
=
FALSE
;
}
...
...
@@ -4559,6 +4562,7 @@ row_search_for_mysql(
btr_pcur_store_position
(
pcur
,
&
mtr
);
lock_table_wait:
mtr_commit
(
&
mtr
);
mtr_has_extra_clust_latch
=
FALSE
;
...
...
@@ -4576,6 +4580,14 @@ row_search_for_mysql(
thr
->
lock_state
=
QUE_THR_LOCK_NOLOCK
;
mtr_start
(
&
mtr
);
/* Table lock waited, go try to obtain table lock
again */
if
(
table_lock_waited
)
{
table_lock_waited
=
FALSE
;
goto
wait_table_again
;
}
sel_restore_position_for_mysql
(
&
same_user_rec
,
BTR_SEARCH_LEAF
,
pcur
,
moves_up
,
&
mtr
);
...
...
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