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
ba7035ab
Commit
ba7035ab
authored
Sep 01, 2006
by
msvensson@neptunus.(none)
Browse files
Options
Browse Files
Download
Plain Diff
Merge bk-internal:/home/bk/mysql-5.1-new-maint
into neptunus.(none):/home/msvensson/mysql/mysql-5.1-new-maint
parents
ebf482c4
906d1777
Changes
9
Hide whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
111 additions
and
98 deletions
+111
-98
.bzrignore
.bzrignore
+1
-0
mysql-test/Makefile.am
mysql-test/Makefile.am
+5
-1
mysql-test/lib/mtr_cases.pl
mysql-test/lib/mtr_cases.pl
+0
-8
mysql-test/lib/mtr_misc.pl
mysql-test/lib/mtr_misc.pl
+2
-0
mysql-test/mysql-test-run.pl
mysql-test/mysql-test-run.pl
+20
-7
mysql-test/r/auto_increment.result
mysql-test/r/auto_increment.result
+0
-46
mysql-test/r/innodb_mysql.result
mysql-test/r/innodb_mysql.result
+46
-0
mysql-test/t/auto_increment.test
mysql-test/t/auto_increment.test
+0
-36
mysql-test/t/innodb_mysql.test
mysql-test/t/innodb_mysql.test
+37
-0
No files found.
.bzrignore
View file @
ba7035ab
...
...
@@ -692,6 +692,7 @@ mysql-test/*.ds?
mysql-test/*.vcproj
mysql-test/gmon.out
mysql-test/install_test_db
mysql-test/mtr
mysql-test/mysql-test-run
mysql-test/mysql-test-run.log
mysql-test/mysql_test_run_new
...
...
mysql-test/Makefile.am
View file @
ba7035ab
...
...
@@ -24,7 +24,7 @@ benchdir_root= $(prefix)
testdir
=
$(benchdir_root)
/mysql-test
EXTRA_SCRIPTS
=
mysql-test-run.sh install_test_db.sh valgrind.supp
$(PRESCRIPTS)
EXTRA_DIST
=
$(EXTRA_SCRIPTS)
GENSCRIPTS
=
mysql-test-run install_test_db
GENSCRIPTS
=
mysql-test-run install_test_db
mtr
PRESCRIPTS
=
mysql-test-run.pl
test_SCRIPTS
=
$(GENSCRIPTS)
$(PRESCRIPTS)
test_DATA
=
std_data/client-key.pem std_data/client-cert.pem
\
...
...
@@ -113,6 +113,10 @@ install-data-local:
uninstall-local
:
@
RM@
-f
-r
$(DESTDIR)$(testdir)
# mtr - a shortcut for executing mysql-test-run.pl
mtr
:
$(RM)
-f
mtr
$(LN_S)
mysql-test-run.pl mtr
SUFFIXES
=
.sh
...
...
mysql-test/lib/mtr_cases.pl
View file @
ba7035ab
...
...
@@ -469,14 +469,6 @@ sub collect_one_test_case($$$$$$$) {
{
mtr_options_from_test_file
(
$tinfo
,"
$testdir
/
${tname}
.test
");
if
(
!
$tinfo
->
{'
innodb_test
'}
)
{
# mtr_verbose("Adding '--skip-innodb' to $tinfo->{'name'}");
# FIXME activate the --skip-innodb only when running with
# selected test cases
# push(@{$tinfo->{'master_opt'}}, "--skip-innodb");
}
if
(
$tinfo
->
{'
big_test
'}
and
!
$::opt_big_test
)
{
$tinfo
->
{'
skip
'}
=
1
;
...
...
mysql-test/lib/mtr_misc.pl
View file @
ba7035ab
...
...
@@ -139,6 +139,8 @@ sub mtr_copy_dir($$) {
my
$from_dir
=
shift
;
my
$to_dir
=
shift
;
# mtr_verbose("Copying from $from_dir to $to_dir");
mkpath
("
$to_dir
");
opendir
(
DIR
,
"
$from_dir
")
or
mtr_error
("
Can't find
$from_dir
$!
");
...
...
mysql-test/mysql-test-run.pl
View file @
ba7035ab
...
...
@@ -258,6 +258,7 @@ our $opt_result_ext;
our
$opt_skip
;
our
$opt_skip_rpl
;
our
$use_slaves
;
our
$use_innodb
;
our
$opt_skip_test
;
our
$opt_skip_im
;
...
...
@@ -357,6 +358,7 @@ sub run_benchmarks ($);
sub
initialize_servers
();
sub
mysql_install_db
();
sub
install_db
($$);
sub
copy_install_db
($$);
sub
run_testcase
($);
sub
run_testcase_stop_servers
($$$);
sub
run_testcase_start_servers
($);
...
...
@@ -427,6 +429,7 @@ sub main () {
$need_ndbcluster
||=
$test
->
{
ndb_test
};
$need_im
||=
$test
->
{
component_id
}
eq
'
im
';
$use_slaves
||=
$test
->
{
slave_num
};
$use_innodb
||=
$test
->
{'
innodb_test
'};
}
$opt_skip_ndbcluster
=
$opt_skip_ndbcluster_slave
=
1
unless
$need_ndbcluster
;
...
...
@@ -2235,9 +2238,10 @@ sub initialize_servers () {
sub
mysql_install_db
()
{
# FIXME not exactly true I think, needs improvements
install_db
('
master
',
$master
->
[
0
]
->
{'
path_myddir
'});
install_db
('
master
',
$master
->
[
1
]
->
{'
path_myddir
'});
# FIXME check if testcase really is using second master
copy_install_db
('
master
',
$master
->
[
1
]
->
{'
path_myddir
'});
if
(
$use_slaves
)
{
...
...
@@ -2251,10 +2255,8 @@ sub mysql_install_db () {
im_prepare_env
(
$instance_manager
);
}
my
$cluster_started_ok
=
1
;
# Assume it can be started
if
(
ndbcluster_start_install
(
$clusters
->
[
0
])
||
$use_slaves
&&
ndbcluster_start_install
(
$clusters
->
[
1
]))
{
...
...
@@ -2262,7 +2264,6 @@ sub mysql_install_db () {
$cluster_started_ok
=
0
;
}
foreach
my
$cluster
(
@
{
$clusters
})
{
...
...
@@ -2302,6 +2303,18 @@ sub mysql_install_db () {
}
sub
copy_install_db
($$)
{
my
$type
=
shift
;
my
$data_dir
=
shift
;
mtr_report
("
Installing
\
u
$type
Database
");
# Just copy the installed db from first master
mtr_copy_dir
(
$master
->
[
0
]
->
{'
path_myddir
'},
$data_dir
);
}
sub
install_db
($$)
{
my
$type
=
shift
;
my
$data_dir
=
shift
;
...
...
@@ -2456,7 +2469,7 @@ sub im_prepare_data_dir($) {
foreach
my
$instance
(
@
{
$instance_manager
->
{'
instances
'}})
{
install_db
(
copy_
install_db
(
'
im_mysqld_
'
.
$instance
->
{'
server_id
'},
$instance
->
{'
path_datadir
'});
}
...
...
@@ -2890,7 +2903,7 @@ sub mysqld_arguments ($$$$$) {
mtr_add_arg
(
$args
,
"
%s--datadir=%s
",
$prefix
,
$master
->
[
$idx
]
->
{'
path_myddir
'});
if
(
$idx
>
0
)
if
(
$idx
>
0
or
!
$use_innodb
)
{
mtr_add_arg
(
$args
,
"
%s--skip-innodb
",
$prefix
);
}
...
...
mysql-test/r/auto_increment.result
View file @
ba7035ab
...
...
@@ -446,52 +446,6 @@ INSERT INTO t1 VALUES(1, 1);
ALTER TABLE t1 CHANGE t1 t1 INT(10) auto_increment;
ERROR 23000: ALTER TABLE causes auto_increment resequencing, resulting in duplicate entry '1' for key 'PRIMARY'
DROP TABLE t1;
CREATE TABLE `t2` (
`k` int(11) NOT NULL auto_increment,
`a` int(11) default NULL,
`c` int(11) default NULL,
PRIMARY KEY (`k`),
UNIQUE KEY `idx_1` (`a`)
) ENGINE=InnoDB;
insert into t2 ( a ) values ( 6 ) on duplicate key update c =
ifnull( c,
0 ) + 1;
insert into t2 ( a ) values ( 7 ) on duplicate key update c =
ifnull( c,
0 ) + 1;
select last_insert_id();
last_insert_id()
2
select * from t2;
k a c
1 6 NULL
2 7 NULL
insert into t2 ( a ) values ( 6 ) on duplicate key update c =
ifnull( c,
0 ) + 1;
select last_insert_id();
last_insert_id()
1
select * from t2;
k a c
1 6 1
2 7 NULL
insert ignore into t2 values (null,6,1),(10,8,1);
select last_insert_id();
last_insert_id()
1
insert ignore into t2 values (null,6,1),(null,8,1),(null,15,1),(null,20,1);
select last_insert_id();
last_insert_id()
11
select * from t2;
k a c
1 6 1
2 7 NULL
10 8 1
11 15 1
12 20 1
drop table t2;
create table t1 (a int primary key auto_increment, b int, c int, d timestamp default current_timestamp, unique(b),unique(c));
insert into t1 values(null,1,1,now());
insert into t1 values(null,0,0,null);
...
...
mysql-test/r/innodb_mysql.result
View file @
ba7035ab
...
...
@@ -367,3 +367,49 @@ Warnings:
Warning 1071 Specified key was too long; max key length is 765 bytes
insert into t1 values('aaa');
drop table t1;
CREATE TABLE `t2` (
`k` int(11) NOT NULL auto_increment,
`a` int(11) default NULL,
`c` int(11) default NULL,
PRIMARY KEY (`k`),
UNIQUE KEY `idx_1` (`a`)
) ENGINE=InnoDB;
insert into t2 ( a ) values ( 6 ) on duplicate key update c =
ifnull( c,
0 ) + 1;
insert into t2 ( a ) values ( 7 ) on duplicate key update c =
ifnull( c,
0 ) + 1;
select last_insert_id();
last_insert_id()
2
select * from t2;
k a c
1 6 NULL
2 7 NULL
insert into t2 ( a ) values ( 6 ) on duplicate key update c =
ifnull( c,
0 ) + 1;
select last_insert_id();
last_insert_id()
1
select * from t2;
k a c
1 6 1
2 7 NULL
insert ignore into t2 values (null,6,1),(10,8,1);
select last_insert_id();
last_insert_id()
1
insert ignore into t2 values (null,6,1),(null,8,1),(null,15,1),(null,20,1);
select last_insert_id();
last_insert_id()
11
select * from t2;
k a c
1 6 1
2 7 NULL
10 8 1
11 15 1
12 20 1
drop table t2;
mysql-test/t/auto_increment.test
View file @
ba7035ab
...
...
@@ -304,42 +304,6 @@ INSERT INTO t1 VALUES(1, 1);
ALTER
TABLE
t1
CHANGE
t1
t1
INT
(
10
)
auto_increment
;
DROP
TABLE
t1
;
# Fix for BUG#19243 "wrong LAST_INSERT_ID() after ON DUPLICATE KEY
# UPDATE": now LAST_INSERT_ID() will return the id of the updated
# row.
CREATE
TABLE
`t2`
(
`k`
int
(
11
)
NOT
NULL
auto_increment
,
`a`
int
(
11
)
default
NULL
,
`c`
int
(
11
)
default
NULL
,
PRIMARY
KEY
(
`k`
),
UNIQUE
KEY
`idx_1`
(
`a`
)
)
ENGINE
=
InnoDB
;
insert
into
t2
(
a
)
values
(
6
)
on
duplicate
key
update
c
=
ifnull
(
c
,
0
)
+
1
;
insert
into
t2
(
a
)
values
(
7
)
on
duplicate
key
update
c
=
ifnull
(
c
,
0
)
+
1
;
select
last_insert_id
();
select
*
from
t2
;
insert
into
t2
(
a
)
values
(
6
)
on
duplicate
key
update
c
=
ifnull
(
c
,
0
)
+
1
;
select
last_insert_id
();
select
*
from
t2
;
# Test of LAST_INSERT_ID() when autogenerated will fail:
# last_insert_id() should not change
insert
ignore
into
t2
values
(
null
,
6
,
1
),(
10
,
8
,
1
);
select
last_insert_id
();
# First and second autogenerated will fail, last_insert_id() should
# point to third
insert
ignore
into
t2
values
(
null
,
6
,
1
),(
null
,
8
,
1
),(
null
,
15
,
1
),(
null
,
20
,
1
);
select
last_insert_id
();
select
*
from
t2
;
drop
table
t2
;
# Test of REPLACE when it does INSERT+DELETE and not UPDATE:
# see if it sets LAST_INSERT_ID() ok
create
table
t1
(
a
int
primary
key
auto_increment
,
b
int
,
c
int
,
d
timestamp
default
current_timestamp
,
unique
(
b
),
unique
(
c
));
...
...
mysql-test/t/innodb_mysql.test
View file @
ba7035ab
...
...
@@ -320,3 +320,40 @@ create table t1(f1 varchar(800) binary not null, key(f1)) engine = innodb
character
set
utf8
collate
utf8_general_ci
;
insert
into
t1
values
(
'aaa'
);
drop
table
t1
;
# Fix for BUG#19243 "wrong LAST_INSERT_ID() after ON DUPLICATE KEY
# UPDATE": now LAST_INSERT_ID() will return the id of the updated
# row.
CREATE
TABLE
`t2`
(
`k`
int
(
11
)
NOT
NULL
auto_increment
,
`a`
int
(
11
)
default
NULL
,
`c`
int
(
11
)
default
NULL
,
PRIMARY
KEY
(
`k`
),
UNIQUE
KEY
`idx_1`
(
`a`
)
)
ENGINE
=
InnoDB
;
insert
into
t2
(
a
)
values
(
6
)
on
duplicate
key
update
c
=
ifnull
(
c
,
0
)
+
1
;
insert
into
t2
(
a
)
values
(
7
)
on
duplicate
key
update
c
=
ifnull
(
c
,
0
)
+
1
;
select
last_insert_id
();
select
*
from
t2
;
insert
into
t2
(
a
)
values
(
6
)
on
duplicate
key
update
c
=
ifnull
(
c
,
0
)
+
1
;
select
last_insert_id
();
select
*
from
t2
;
# Test of LAST_INSERT_ID() when autogenerated will fail:
# last_insert_id() should not change
insert
ignore
into
t2
values
(
null
,
6
,
1
),(
10
,
8
,
1
);
select
last_insert_id
();
# First and second autogenerated will fail, last_insert_id() should
# point to third
insert
ignore
into
t2
values
(
null
,
6
,
1
),(
null
,
8
,
1
),(
null
,
15
,
1
),(
null
,
20
,
1
);
select
last_insert_id
();
select
*
from
t2
;
drop
table
t2
;
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