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
4cab1109
Commit
4cab1109
authored
Aug 30, 2007
by
malff/marcsql@weblab.(none)
Browse files
Options
Browse Files
Download
Plain Diff
Merge malff@bk-internal.mysql.com:/home/bk/mysql-5.1-runtime
into weblab.(none):/home/marcsql/TREE/mysql-5.1-rt50-merge
parents
2482c597
37d48bfe
Changes
3
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
55 additions
and
1 deletion
+55
-1
mysql-test/r/insert_update.result
mysql-test/r/insert_update.result
+19
-0
mysql-test/t/insert_update.test
mysql-test/t/insert_update.test
+35
-0
sql/sql_insert.cc
sql/sql_insert.cc
+1
-1
No files found.
mysql-test/r/insert_update.result
View file @
4cab1109
...
...
@@ -407,3 +407,22 @@ select if( @stamp1 = @stamp2, "correct", "wrong");
if( @stamp1 = @stamp2, "correct", "wrong")
correct
drop table t1;
connection: default
set low_priority_updates=1;
drop table if exists t1;
create table t1 (a int, b int, unique key t1$a (a));
lock table t1 read;
connection: update
set low_priority_updates=1;
show variables like 'low_priority_updates';
Variable_name Value
low_priority_updates ON
insert into t1 values (1, 2) ON DUPLICATE KEY UPDATE b = 2;;
connection: select
select * from t1;
a b
connection: default
select * from t1;
a b
drop table t1;
set low_priority_updates=default;
mysql-test/t/insert_update.test
View file @
4cab1109
...
...
@@ -306,3 +306,38 @@ insert into t1(f1) values(1) on duplicate key update f1=1;
select
@
stamp2
:=
f2
from
t1
;
select
if
(
@
stamp1
=
@
stamp2
,
"correct"
,
"wrong"
);
drop
table
t1
;
#
# Bug#28587 SELECT is blocked by INSERT waiting on read lock, even with low_priority_updates
#
--
echo
connection
:
default
set
low_priority_updates
=
1
;
--
disable_warnings
drop
table
if
exists
t1
;
--
enable_warnings
create
table
t1
(
a
int
,
b
int
,
unique
key
t1
$a
(
a
));
lock
table
t1
read
;
connect
(
update
,
localhost
,
root
,,);
connection
update
;
--
echo
connection
:
update
set
low_priority_updates
=
1
;
show
variables
like
'low_priority_updates'
;
let
$ID
=
`select connection_id()`
;
--
send
insert
into
t1
values
(
1
,
2
)
ON
DUPLICATE
KEY
UPDATE
b
=
2
;
connection
default
;
# we must wait till the insert opens and locks the table
let
$wait_condition
=
select
count
(
*
)
=
1
from
information_schema
.
processlist
where
state
=
"Locked"
and
id
=
$ID
;
--
source
include
/
wait_condition
.
inc
connect
(
select
,
localhost
,
root
,,);
--
echo
connection
:
select
select
*
from
t1
;
connection
default
;
--
echo
connection
:
default
select
*
from
t1
;
connection
default
;
disconnect
update
;
disconnect
select
;
drop
table
t1
;
set
low_priority_updates
=
default
;
sql/sql_insert.cc
View file @
4cab1109
...
...
@@ -397,7 +397,7 @@ void upgrade_lock_type(THD *thd, thr_lock_type *lock_type,
if
(
duplic
==
DUP_UPDATE
||
duplic
==
DUP_REPLACE
&&
*
lock_type
==
TL_WRITE_CONCURRENT_INSERT
)
{
*
lock_type
=
TL_WRITE
;
*
lock_type
=
TL_WRITE
_DEFAULT
;
return
;
}
...
...
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