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
84aec2fa
Commit
84aec2fa
authored
Sep 07, 2004
by
magnus@neptunus.(none)
Browse files
Options
Browse Files
Download
Plain Diff
Merge msvensson@build.mysql.com:/home/bk/mysql-4.1
into neptunus.(none):/home/magnus/mysql/mysql-4.1
parents
2c86049d
8788f96e
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
85 additions
and
3 deletions
+85
-3
mysql-test/r/ndb_insert.result
mysql-test/r/ndb_insert.result
+12
-0
mysql-test/t/ndb_insert.test
mysql-test/t/ndb_insert.test
+29
-0
sql/ha_ndbcluster.cc
sql/ha_ndbcluster.cc
+44
-3
No files found.
mysql-test/r/ndb_insert.result
View file @
84aec2fa
...
...
@@ -416,4 +416,16 @@ INSERT INTO t1 VALUES
SELECT COUNT(*) FROM t1;
COUNT(*)
2000
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
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
commit;
insert into t1 select * from t1 where b < 10 order by pk1;
ERROR 23000: Duplicate entry '9' for key 1
DROP TABLE t1;
mysql-test/t/ndb_insert.test
View file @
84aec2fa
...
...
@@ -429,5 +429,34 @@ INSERT INTO t1 VALUES
SELECT
COUNT
(
*
)
FROM
t1
;
#
# Insert duplicate rows
#
--
error
1062
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
);
begin
;
#
# Insert duplicate rows, inside transaction
#
--
error
1062
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
);
commit
;
#
# Insert duplicate rows using "insert .. select"
#
--
error
1062
insert
into
t1
select
*
from
t1
where
b
<
10
order
by
pk1
;
DROP
TABLE
t1
;
sql/ha_ndbcluster.cc
View file @
84aec2fa
...
...
@@ -1111,12 +1111,12 @@ int ha_ndbcluster::set_bounds(NdbIndexScanOperation *op,
const
char
*
bounds
[]
=
{
"LE"
,
"LT"
,
"GE"
,
"GT"
,
"EQ"
};
DBUG_ASSERT
(
bound
>=
0
&&
bound
<=
4
);
DBUG_PRINT
(
"info"
,
(
"Set Bound%s on %s %s %s
%s
"
,
DBUG_PRINT
(
"info"
,
(
"Set Bound%s on %s %s %s"
,
bounds
[
bound
],
field
->
field_name
,
key_nullable
?
"NULLABLE"
:
""
,
key_null
?
"NULL"
:
""
));
DBUG_PRINT
(
"info"
,
(
"Total length %d
s
"
,
tot_len
));
DBUG_PRINT
(
"info"
,
(
"Total length %d"
,
tot_len
));
DBUG_DUMP
(
"key"
,
(
char
*
)
key_ptr
,
key_store_len
);
...
...
@@ -1143,6 +1143,44 @@ int ha_ndbcluster::set_bounds(NdbIndexScanOperation *op,
DBUG_RETURN
(
0
);
}
#ifndef DBUG_OFF
const
char
*
key_flag_strs
[]
=
{
"HA_READ_KEY_EXACT"
,
"HA_READ_KEY_OR_NEXT"
,
"HA_READ_KEY_OR_PREV"
,
"HA_READ_AFTER_KEY"
,
"HA_READ_BEFORE_KEY"
,
"HA_READ_PREFIX"
,
"HA_READ_PREFIX_LAST"
,
"HA_READ_PREFIX_LAST_OR_PREV"
,
"HA_READ_MBR_CONTAIN"
,
"HA_READ_MBR_INTERSECT"
,
"HA_READ_MBR_WITHIN"
,
"HA_READ_MBR_DISJOINT"
,
"HA_READ_MBR_EQUAL"
};
const
int
no_of_key_flags
=
sizeof
(
key_flag_strs
)
/
sizeof
(
char
*
);
void
print_key
(
const
key_range
*
key
,
const
char
*
info
)
{
if
(
key
)
{
const
char
*
str
=
key
->
flag
<
no_of_key_flags
?
key_flag_strs
[
key
->
flag
]
:
"Unknown flag"
;
DBUG_LOCK_FILE
;
fprintf
(
DBUG_FILE
,
"%s: %s, length=%d, key="
,
info
,
str
,
key
->
length
);
uint
i
;
for
(
i
=
0
;
i
<
key
->
length
-
1
;
i
++
)
fprintf
(
DBUG_FILE
,
"%0d "
,
key
->
key
[
i
]);
fprintf
(
DBUG_FILE
,
"
\n
"
);
DBUG_UNLOCK_FILE
;
}
return
;
}
#endif
/*
Start ordered index scan in NDB
...
...
@@ -1160,6 +1198,9 @@ int ha_ndbcluster::ordered_index_scan(const key_range *start_key,
DBUG_ENTER
(
"ordered_index_scan"
);
DBUG_PRINT
(
"enter"
,
(
"index: %u, sorted: %d"
,
active_index
,
sorted
));
DBUG_PRINT
(
"enter"
,
(
"Starting new ordered scan on %s"
,
m_tabname
));
DBUG_EXECUTE
(
"enter"
,
print_key
(
start_key
,
"start_key"
););
DBUG_EXECUTE
(
"enter"
,
print_key
(
end_key
,
"end_key"
););
index_name
=
get_index_name
(
active_index
);
if
(
!
(
op
=
trans
->
getNdbIndexScanOperation
((
NDBINDEX
*
)
...
...
@@ -2360,7 +2401,7 @@ int ha_ndbcluster::end_bulk_insert()
rows_inserted
,
bulk_insert_rows
));
bulk_insert_not_flushed
=
false
;
if
(
trans
->
execute
(
NoCommit
)
!=
0
)
error
=
ndb_err
(
trans
);
my_errno
=
error
=
ndb_err
(
trans
);
}
rows_inserted
=
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