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
17a024b0
Commit
17a024b0
authored
Dec 02, 2005
by
unknown
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
8895218e
Changes
5
Hide 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 @
17a024b0
...
...
@@ -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 @
17a024b0
...
...
@@ -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 @
17a024b0
...
...
@@ -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 @
17a024b0
...
...
@@ -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 @
17a024b0
...
...
@@ -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