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
b6f56ed6
Commit
b6f56ed6
authored
Oct 02, 2006
by
kroki/tomash@moonlight.intranet
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Fix after manual merge: add tests from 5.0.
parent
8aa33bf4
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
134 additions
and
0 deletions
+134
-0
mysql-test/extra/rpl_tests/rpl_insert_id.test
mysql-test/extra/rpl_tests/rpl_insert_id.test
+129
-0
mysql-test/r/rpl_insert_id.result
mysql-test/r/rpl_insert_id.result
+5
-0
No files found.
mysql-test/extra/rpl_tests/rpl_insert_id.test
View file @
b6f56ed6
...
...
@@ -276,10 +276,139 @@ connection master;
drop
table
t1
;
sync_slave_with_master
;
#
# BUG#20339: stored procedure using LAST_INSERT_ID() does not
# replicate statement-based.
#
# There is another version of the test for bug#20339 above that is
# actually originates in 5.1, and this is the version that is merged
# from 5.0.
#
connection
master
;
--
disable_warnings
DROP
PROCEDURE
IF
EXISTS
p1
;
DROP
TABLE
IF
EXISTS
t1
,
t2
;
--
enable_warnings
# Reset result of LAST_INSERT_ID().
SELECT
LAST_INSERT_ID
(
0
);
CREATE
TABLE
t1
(
id
INT
NOT
NULL
DEFAULT
0
,
last_id
INT
,
PRIMARY
KEY
(
id
)
);
CREATE
TABLE
t2
(
id
INT
NOT
NULL
AUTO_INCREMENT
,
last_id
INT
,
PRIMARY
KEY
(
id
)
);
delimiter
|
;
CREATE
PROCEDURE
p1
()
BEGIN
INSERT
INTO
t2
(
last_id
)
VALUES
(
LAST_INSERT_ID
());
INSERT
INTO
t1
(
last_id
)
VALUES
(
LAST_INSERT_ID
());
END
|
delimiter
;
|
CALL
p1
();
SELECT
*
FROM
t1
;
SELECT
*
FROM
t2
;
sync_slave_with_master
;
SELECT
*
FROM
t1
;
SELECT
*
FROM
t2
;
connection
master
;
DROP
PROCEDURE
p1
;
DROP
TABLE
t1
,
t2
;
#
# BUG#21726: Incorrect result with multiple invocations of
# LAST_INSERT_ID
#
--
disable_warnings
DROP
PROCEDURE
IF
EXISTS
p1
;
DROP
FUNCTION
IF
EXISTS
f1
;
DROP
FUNCTION
IF
EXISTS
f2
;
DROP
TABLE
IF
EXISTS
t1
,
t2
;
--
enable_warnings
CREATE
TABLE
t1
(
i
INT
NOT
NULL
AUTO_INCREMENT
PRIMARY
KEY
,
j
INT
DEFAULT
0
);
CREATE
TABLE
t2
(
i
INT
);
delimiter
|
;
CREATE
PROCEDURE
p1
()
BEGIN
INSERT
INTO
t1
(
i
)
VALUES
(
NULL
);
INSERT
INTO
t2
(
i
)
VALUES
(
LAST_INSERT_ID
());
INSERT
INTO
t1
(
i
)
VALUES
(
NULL
),
(
NULL
);
INSERT
INTO
t2
(
i
)
VALUES
(
LAST_INSERT_ID
());
END
|
CREATE
FUNCTION
f1
()
RETURNS
INT
MODIFIES
SQL
DATA
BEGIN
INSERT
INTO
t1
(
i
)
VALUES
(
NULL
);
INSERT
INTO
t2
(
i
)
VALUES
(
LAST_INSERT_ID
());
INSERT
INTO
t1
(
i
)
VALUES
(
NULL
),
(
NULL
);
INSERT
INTO
t2
(
i
)
VALUES
(
LAST_INSERT_ID
());
RETURN
0
;
END
|
CREATE
FUNCTION
f2
()
RETURNS
INT
NOT
DETERMINISTIC
RETURN
LAST_INSERT_ID
()
|
delimiter
;
|
INSERT
INTO
t1
VALUES
(
NULL
,
-
1
);
CALL
p1
();
SELECT
f1
();
INSERT
INTO
t1
VALUES
(
NULL
,
f2
()),
(
NULL
,
LAST_INSERT_ID
()),
(
NULL
,
LAST_INSERT_ID
()),
(
NULL
,
f2
()),
(
NULL
,
f2
());
INSERT
INTO
t1
VALUES
(
NULL
,
f2
());
INSERT
INTO
t1
VALUES
(
NULL
,
LAST_INSERT_ID
()),
(
NULL
,
LAST_INSERT_ID
(
5
)),
(
NULL
,
@@
LAST_INSERT_ID
);
# Test replication of substitution "IS NULL" -> "= LAST_INSERT_ID".
INSERT
INTO
t1
VALUES
(
NULL
,
0
),
(
NULL
,
LAST_INSERT_ID
());
UPDATE
t1
SET
j
=
-
1
WHERE
i
IS
NULL
;
SELECT
*
FROM
t1
;
SELECT
*
FROM
t2
;
sync_slave_with_master
;
SELECT
*
FROM
t1
;
SELECT
*
FROM
t2
;
connection
master
;
DROP
PROCEDURE
p1
;
DROP
FUNCTION
f1
;
DROP
FUNCTION
f2
;
DROP
TABLE
t1
,
t2
;
sync_slave_with_master
;
--
echo
#
--
echo
# End of 5.0 tests
--
echo
#
# Tests in this file are tightly bound together. Recreate t2.
connection
master
;
create
table
t2
(
id
int
not
null
auto_increment
,
last_id
int
,
primary
key
(
id
)
);
# Test for BUG#20341 "stored function inserting into one
# auto_increment puts bad data in slave"
...
...
mysql-test/r/rpl_insert_id.result
View file @
b6f56ed6
...
...
@@ -395,6 +395,11 @@ DROP TABLE t1, t2;
#
# End of 5.0 tests
#
create table t2 (
id int not null auto_increment,
last_id int,
primary key (id)
);
truncate table t2;
create table t1 (id tinyint primary key);
create function insid() returns int
...
...
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