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
dc5e1444
Commit
dc5e1444
authored
Jun 17, 2005
by
mskold@mysql.com
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Fix for bug#10936: Cluster engine shows wrong key value for duplicate key error
parent
152adbaf
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
25 additions
and
15 deletions
+25
-15
mysql-test/r/ndb_insert.result
mysql-test/r/ndb_insert.result
+9
-7
mysql-test/t/ndb_insert.test
mysql-test/t/ndb_insert.test
+9
-6
sql/ha_ndbcluster.cc
sql/ha_ndbcluster.cc
+7
-2
No files found.
mysql-test/r/ndb_insert.result
View file @
dc5e1444
...
...
@@ -416,10 +416,12 @@ INSERT INTO t1 VALUES
SELECT COUNT(*) FROM t1;
COUNT(*)
2000
INSERT INTO t1 VALUES (1,1,1);
ERROR 23000: Duplicate entry '1' for key 1
INSERT INTO t1 VALUES
(1,1,1),(2,2,2),(3,3,3),(4,4,4),(5,5,5),
(6,6,6),(7,7,7),(8,8,8),(9,9,9),(10,10,10);
ERROR 23000:
Duplicate entry '10' for key 1
ERROR 23000:
Can't write; duplicate key in table 't1'
select count(*) from t1;
count(*)
2000
...
...
@@ -437,7 +439,7 @@ begin;
INSERT INTO t1 VALUES
(1,1,1),(2,2,2),(3,3,3),(4,4,4),(5,5,5),
(6,6,6),(7,7,7),(8,8,8),(9,9,9),(10,10,10);
ERROR 23000:
Duplicate entry '10' for key 1
ERROR 23000:
Can't write; duplicate key in table 't1'
commit;
ERROR HY000: Got error 4350 'Transaction already aborted' from ndbcluster
select * from t1 where pk1=1;
...
...
@@ -456,7 +458,7 @@ begin;
INSERT INTO t1 VALUES
(1,1,1),(2,2,2),(3,3,3),(4,4,4),(5,5,5),
(6,6,6),(7,7,7),(8,8,8),(9,9,9),(10,10,10);
ERROR 23000:
Duplicate entry '10' for key 1
ERROR 23000:
Can't write; duplicate key in table 't1'
rollback;
select * from t1 where pk1=1;
pk1 b c
...
...
@@ -474,7 +476,7 @@ begin;
INSERT INTO t1 VALUES
(1,1,1),(2,2,2),(3,3,3),(4,4,4),(5,5,5),
(6,6,6),(7,7,7),(8,8,8),(9,9,9),(10,10,10);
ERROR 23000:
Duplicate entry '10' for key 1
ERROR 23000:
Can't write; duplicate key in table 't1'
SELECT * FROM t1 WHERE pk1=10;
ERROR HY000: Got error 4350 'Transaction already aborted' from ndbcluster
rollback;
...
...
@@ -494,7 +496,7 @@ begin;
INSERT INTO t1 VALUES
(1,1,1),(2,2,2),(3,3,3),(4,4,4),(5,5,5),
(6,6,6),(7,7,7),(8,8,8),(9,9,9),(10,10,10);
ERROR 23000:
Duplicate entry '10' for key 1
ERROR 23000:
Can't write; duplicate key in table 't1'
SELECT * FROM t1 WHERE pk1=10;
ERROR HY000: Got error 4350 'Transaction already aborted' from ndbcluster
SELECT * FROM t1 WHERE pk1=10;
...
...
@@ -517,7 +519,7 @@ begin;
INSERT INTO t1 VALUES
(1,1,1),(2,2,2),(3,3,3),(4,4,4),(5,5,5),
(6,6,6),(7,7,7),(8,8,8),(9,9,9),(10,10,10);
ERROR 23000:
Duplicate entry '10' for key 1
ERROR 23000:
Can't write; duplicate key in table 't1'
INSERT INTO t1 values (4000, 40, 44);
ERROR HY000: Got error 4350 'Transaction already aborted' from ndbcluster
rollback;
...
...
@@ -534,7 +536,7 @@ select count(*) from t1;
count(*)
2000
insert into t1 select * from t1 where b < 10 order by pk1;
ERROR 23000:
Duplicate entry '9' for key 1
ERROR 23000:
Can't write; duplicate key in table 't1'
DELETE FROM t1 WHERE pk1=2;
begin;
INSERT IGNORE INTO t1 VALUES(1,2,3),(2,3,4);
...
...
mysql-test/t/ndb_insert.test
View file @
dc5e1444
...
...
@@ -434,6 +434,9 @@ SELECT COUNT(*) FROM t1;
# Insert duplicate rows
#
--
error
1062
INSERT
INTO
t1
VALUES
(
1
,
1
,
1
);
--
error
1022
INSERT
INTO
t1
VALUES
(
1
,
1
,
1
),(
2
,
2
,
2
),(
3
,
3
,
3
),(
4
,
4
,
4
),(
5
,
5
,
5
),
(
6
,
6
,
6
),(
7
,
7
,
7
),(
8
,
8
,
8
),(
9
,
9
,
9
),(
10
,
10
,
10
);
...
...
@@ -457,7 +460,7 @@ rollback;
#
begin
;
--
error
10
6
2
--
error
10
2
2
INSERT
INTO
t1
VALUES
(
1
,
1
,
1
),(
2
,
2
,
2
),(
3
,
3
,
3
),(
4
,
4
,
4
),(
5
,
5
,
5
),
(
6
,
6
,
6
),(
7
,
7
,
7
),(
8
,
8
,
8
),(
9
,
9
,
9
),(
10
,
10
,
10
);
...
...
@@ -477,7 +480,7 @@ select count(*) from t1;
#
begin
;
--
error
10
6
2
--
error
10
2
2
INSERT
INTO
t1
VALUES
(
1
,
1
,
1
),(
2
,
2
,
2
),(
3
,
3
,
3
),(
4
,
4
,
4
),(
5
,
5
,
5
),
(
6
,
6
,
6
),(
7
,
7
,
7
),(
8
,
8
,
8
),(
9
,
9
,
9
),(
10
,
10
,
10
);
...
...
@@ -496,7 +499,7 @@ select count(*) from t1;
#
begin
;
--
error
10
6
2
--
error
10
2
2
INSERT
INTO
t1
VALUES
(
1
,
1
,
1
),(
2
,
2
,
2
),(
3
,
3
,
3
),(
4
,
4
,
4
),(
5
,
5
,
5
),
(
6
,
6
,
6
),(
7
,
7
,
7
),(
8
,
8
,
8
),(
9
,
9
,
9
),(
10
,
10
,
10
);
...
...
@@ -517,7 +520,7 @@ select count(*) from t1;
#
begin
;
--
error
10
6
2
--
error
10
2
2
INSERT
INTO
t1
VALUES
(
1
,
1
,
1
),(
2
,
2
,
2
),(
3
,
3
,
3
),(
4
,
4
,
4
),(
5
,
5
,
5
),
(
6
,
6
,
6
),(
7
,
7
,
7
),(
8
,
8
,
8
),(
9
,
9
,
9
),(
10
,
10
,
10
);
...
...
@@ -543,7 +546,7 @@ select count(*) from t1;
#
begin
;
--
error
10
6
2
--
error
10
2
2
INSERT
INTO
t1
VALUES
(
1
,
1
,
1
),(
2
,
2
,
2
),(
3
,
3
,
3
),(
4
,
4
,
4
),(
5
,
5
,
5
),
(
6
,
6
,
6
),(
7
,
7
,
7
),(
8
,
8
,
8
),(
9
,
9
,
9
),(
10
,
10
,
10
);
...
...
@@ -562,7 +565,7 @@ select count(*) from t1;
# Insert duplicate rows using "insert .. select"
#
--
error
10
6
2
--
error
10
2
2
insert
into
t1
select
*
from
t1
where
b
<
10
order
by
pk1
;
DELETE
FROM
t1
WHERE
pk1
=
2
;
...
...
sql/ha_ndbcluster.cc
View file @
dc5e1444
...
...
@@ -435,8 +435,13 @@ int ha_ndbcluster::ndb_err(NdbConnection *trans)
DBUG_PRINT
(
"info"
,
(
"transformed ndbcluster error %d to mysql error %d"
,
err
.
code
,
res
));
if
(
res
==
HA_ERR_FOUND_DUPP_KEY
)
m_dupkey
=
table
->
primary_key
;
{
if
(
m_rows_to_insert
==
1
)
m_dupkey
=
table
->
primary_key
;
else
// We are batching inserts, offending key is not available
m_dupkey
=
(
uint
)
-
1
;
}
DBUG_RETURN
(
res
);
}
...
...
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