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
b3b72c63
Commit
b3b72c63
authored
Dec 02, 2005
by
serg@serg.mylan
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Bug#13012: REPAIR/BACKUP/RESTORE TABLE cause "packet out of order" in SP.
Mark them properly as result-returning statements
parent
3595c81b
Changes
5
Show whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
115 additions
and
3 deletions
+115
-3
mysql-test/r/sp-error.result
mysql-test/r/sp-error.result
+33
-0
mysql-test/r/sp.result
mysql-test/r/sp.result
+20
-2
mysql-test/t/sp-error.test
mysql-test/t/sp-error.test
+38
-1
mysql-test/t/sp.test
mysql-test/t/sp.test
+21
-0
sql/sp_head.cc
sql/sp_head.cc
+3
-0
No files found.
mysql-test/r/sp-error.result
View file @
b3b72c63
...
...
@@ -981,6 +981,8 @@ END |
drop table t1|
drop function bug_13627_f|
drop function if exists bug12329;
Warnings:
Note 1305 FUNCTION bug12329 does not exist
create table t1 as select 1 a;
create table t2 as select 1 a;
create function bug12329() returns int return (select a from t1);
...
...
@@ -1055,3 +1057,34 @@ Db Name Type Definer Modified Created Security_type Comment
mysqltest2 p1 PROCEDURE root@localhost 0000-00-00 00:00:00 0000-00-00 00:00:00 DEFINER
drop database mysqltest2;
use test;
DROP FUNCTION IF EXISTS bug13012|
CREATE FUNCTION bug13012() RETURNS INT
BEGIN
REPAIR TABLE t1;
RETURN 1;
END|
ERROR 0A000: Not allowed to return a result set from a function
CREATE FUNCTION bug13012() RETURNS INT
BEGIN
BACKUP TABLE t1 TO '/tmp';
RETURN 1;
END|
ERROR 0A000: Not allowed to return a result set from a function
CREATE FUNCTION bug13012() RETURNS INT
BEGIN
RESTORE TABLE t1 FROM '/tmp';
RETURN 1;
END|
ERROR 0A000: Not allowed to return a result set from a function
create table t1 (a int)|
CREATE PROCEDURE bug13012_1() REPAIR TABLE t1|
CREATE FUNCTION bug13012_2() RETURNS INT
BEGIN
CALL bug13012_1();
RETURN 1;
END|
SELECT bug13012_2()|
ERROR 0A000: Not allowed to return a result set from a function
drop table t1|
drop procedure bug13012_1|
drop function bug13012_2|
mysql-test/r/sp.result
View file @
b3b72c63
...
...
@@ -4100,8 +4100,6 @@ x
4711
drop procedure bug14376|
drop procedure if exists p1|
Warnings:
Note 1305 PROCEDURE p1 does not exist
drop table if exists t1|
create table t1 (a varchar(255))|
insert into t1 (a) values ("a - table column")|
...
...
@@ -4153,4 +4151,24 @@ A local variable in a nested compound statement takes precedence over table colu
a - local variable in a nested compound statement
A local variable in a nested compound statement takes precedence over table column in cursors
a - local variable in a nested compound statement
drop procedure p1|
drop procedure if exists bug13012|
create procedure bug13012()
BEGIN
REPAIR TABLE t1;
BACKUP TABLE t1 to '../tmp';
DROP TABLE t1;
RESTORE TABLE t1 FROM '../tmp';
END|
call bug13012()|
Table Op Msg_type Msg_text
test.t1 repair status OK
Table Op Msg_type Msg_text
test.t1 backup status OK
Table Op Msg_type Msg_text
test.t1 restore status OK
drop procedure bug13012|
select * from t1|
a
a - table column
drop table t1,t2;
mysql-test/t/sp-error.test
View file @
b3b72c63
...
...
@@ -1410,7 +1410,6 @@ delimiter ;|
# BUG#12329: "Bogus error msg when executing PS with stored procedure after
# SP was re-created". See also test for related bug#13399 in trigger.test
--
disable_warnings
drop
function
if
exists
bug12329
;
--
enable_warnings
create
table
t1
as
select
1
a
;
...
...
@@ -1518,6 +1517,44 @@ show procedure status;
drop
database
mysqltest2
;
use
test
;
#
# Bug#13012 "SP: REPAIR/BACKUP/RESTORE TABLE crashes the server"
#
delimiter
|
;
--
disable_warnings
DROP
FUNCTION
IF
EXISTS
bug13012
|
--
enable_warnings
--
error
ER_SP_NO_RETSET
CREATE
FUNCTION
bug13012
()
RETURNS
INT
BEGIN
REPAIR
TABLE
t1
;
RETURN
1
;
END
|
--
error
ER_SP_NO_RETSET
CREATE
FUNCTION
bug13012
()
RETURNS
INT
BEGIN
BACKUP
TABLE
t1
TO
'/tmp'
;
RETURN
1
;
END
|
--
error
ER_SP_NO_RETSET
CREATE
FUNCTION
bug13012
()
RETURNS
INT
BEGIN
RESTORE
TABLE
t1
FROM
'/tmp'
;
RETURN
1
;
END
|
create
table
t1
(
a
int
)
|
CREATE
PROCEDURE
bug13012_1
()
REPAIR
TABLE
t1
|
CREATE
FUNCTION
bug13012_2
()
RETURNS
INT
BEGIN
CALL
bug13012_1
();
RETURN
1
;
END
|
--
error
ER_SP_NO_RETSET
SELECT
bug13012_2
()
|
drop
table
t1
|
drop
procedure
bug13012_1
|
drop
function
bug13012_2
|
delimiter
;
|
# BUG#NNNN: New bug synopsis
#
...
...
mysql-test/t/sp.test
View file @
b3b72c63
...
...
@@ -4908,8 +4908,10 @@ drop procedure bug14376|
# variable declarations. In MySQL 5.0 it's vice versa.
#
--
disable_warnings
drop
procedure
if
exists
p1
|
drop
table
if
exists
t1
|
--
enable_warnings
create
table
t1
(
a
varchar
(
255
))
|
insert
into
t1
(
a
)
values
(
"a - table column"
)
|
create
procedure
p1
(
a
varchar
(
255
))
...
...
@@ -4944,6 +4946,25 @@ begin
end
;
end
|
call
p1
(
"a - stored procedure parameter"
)
|
drop
procedure
p1
|
#
# Bug#13012 "SP: REPAIR/BACKUP/RESTORE TABLE crashes the server"
#
--
disable_warnings
drop
procedure
if
exists
bug13012
|
--
enable_warnings
create
procedure
bug13012
()
BEGIN
REPAIR
TABLE
t1
;
BACKUP
TABLE
t1
to
'../tmp'
;
DROP
TABLE
t1
;
RESTORE
TABLE
t1
FROM
'../tmp'
;
END
|
--
replace_result
": 7"
": X"
": 17"
": X"
$MYSQL_TEST_DIR
MYSQL_TEST_DIR
call
bug13012
()
|
drop
procedure
bug13012
|
select
*
from
t1
|
#
# BUG#NNNN: New bug synopsis
...
...
sql/sp_head.cc
View file @
b3b72c63
...
...
@@ -107,6 +107,9 @@ sp_get_flags_for_command(LEX *lex)
case
SQLCOM_SHOW_WARNS
:
case
SQLCOM_SHOW_PROC_CODE
:
case
SQLCOM_SHOW_FUNC_CODE
:
case
SQLCOM_REPAIR
:
case
SQLCOM_BACKUP_TABLE
:
case
SQLCOM_RESTORE_TABLE
:
flags
=
sp_head
::
MULTI_RESULTS
;
break
;
/*
...
...
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