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
e40fe386
Commit
e40fe386
authored
Apr 01, 2009
by
Bernt M. Johnsen
Browse files
Options
Browse Files
Download
Plain Diff
Bug 43355 merged from 5.1 gca
parents
622b0867
b63460a9
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
77 additions
and
54 deletions
+77
-54
mysql-test/r/ps_1general.result
mysql-test/r/ps_1general.result
+4
-4
mysql-test/r/sp.result
mysql-test/r/sp.result
+2
-2
mysql-test/t/ps_1general.test
mysql-test/t/ps_1general.test
+47
-36
mysql-test/t/sp.test
mysql-test/t/sp.test
+24
-12
No files found.
mysql-test/r/ps_1general.result
View file @
e40fe386
...
@@ -400,16 +400,16 @@ prepare stmt3 from ' lock tables t1 read ' ;
...
@@ -400,16 +400,16 @@ prepare stmt3 from ' lock tables t1 read ' ;
ERROR HY000: This command is not supported in the prepared statement protocol yet
ERROR HY000: This command is not supported in the prepared statement protocol yet
prepare stmt3 from ' unlock tables ' ;
prepare stmt3 from ' unlock tables ' ;
ERROR HY000: This command is not supported in the prepared statement protocol yet
ERROR HY000: This command is not supported in the prepared statement protocol yet
prepare stmt1 from ' load data infile ''data.txt''
prepare stmt1 from ' load data infile ''
<MYSQLTEST_VARDIR>/tmp/
data.txt''
into table t1 fields terminated by ''\t'' ';
into table t1 fields terminated by ''\t'' ';
ERROR HY000: This command is not supported in the prepared statement protocol yet
ERROR HY000: This command is not supported in the prepared statement protocol yet
prepare stmt1 from ' select * into outfile ''data.txt'' from t1 ';
prepare stmt1 from ' select * into outfile ''
<MYSQLTEST_VARDIR>/tmp/
data.txt'' from t1 ';
execute stmt1 ;
execute stmt1 ;
prepare stmt1 from ' optimize table t1 ' ;
prepare stmt1 from ' optimize table t1 ' ;
prepare stmt1 from ' analyze table t1 ' ;
prepare stmt1 from ' analyze table t1 ' ;
prepare stmt1 from ' checksum table t1 ' ;
prepare stmt1 from ' checksum table t1 ' ;
prepare stmt1 from ' repair table t1 ' ;
prepare stmt1 from ' repair table t1 ' ;
prepare stmt1 from ' restore table t1 from ''data.txt'' ' ;
prepare stmt1 from ' restore table t1 from ''
<MYSQLTEST_VARDIR>/tmp/
data.txt'' ' ;
ERROR HY000: This command is not supported in the prepared statement protocol yet
ERROR HY000: This command is not supported in the prepared statement protocol yet
prepare stmt1 from ' handler t1 open ';
prepare stmt1 from ' handler t1 open ';
ERROR HY000: This command is not supported in the prepared statement protocol yet
ERROR HY000: This command is not supported in the prepared statement protocol yet
...
...
mysql-test/r/sp.result
View file @
e40fe386
...
@@ -4342,9 +4342,9 @@ drop procedure if exists bug13012|
...
@@ -4342,9 +4342,9 @@ drop procedure if exists bug13012|
create procedure bug13012()
create procedure bug13012()
BEGIN
BEGIN
REPAIR TABLE t1;
REPAIR TABLE t1;
BACKUP TABLE t1 to '
../../tmp
';
BACKUP TABLE t1 to '
<MYSQLTEST_VARDIR>/tmp/
';
DROP TABLE t1;
DROP TABLE t1;
RESTORE TABLE t1 FROM '
../../tmp
';
RESTORE TABLE t1 FROM '
<MYSQLTEST_VARDIR>/tmp/
';
END|
END|
call bug13012()|
call bug13012()|
Table Op Msg_type Msg_text
Table Op Msg_type Msg_text
...
...
mysql-test/t/ps_1general.test
View file @
e40fe386
...
@@ -70,71 +70,71 @@ prepare stmt1 from ' select 1 as my_col ' ;
...
@@ -70,71 +70,71 @@ prepare stmt1 from ' select 1 as my_col ' ;
# prepare with parameter
# prepare with parameter
prepare
stmt1
from
' select ? as my_col '
;
prepare
stmt1
from
' select ? as my_col '
;
# prepare must fail (incomplete statements/wrong syntax)
# prepare must fail (incomplete statements/wrong syntax)
--
error
1064
--
error
ER_PARSE_ERROR
prepare
;
prepare
;
--
error
1064
--
error
ER_PARSE_ERROR
prepare
stmt1
;
prepare
stmt1
;
--
error
1064
--
error
ER_PARSE_ERROR
prepare
stmt1
from
;
prepare
stmt1
from
;
--
error
1064
--
error
ER_PARSE_ERROR
prepare_garbage
stmt1
from
' select 1 '
;
prepare_garbage
stmt1
from
' select 1 '
;
--
error
1064
--
error
ER_PARSE_ERROR
prepare
stmt1
from_garbage
' select 1 '
;
prepare
stmt1
from_garbage
' select 1 '
;
--
error
1064
--
error
ER_PARSE_ERROR
prepare
stmt1
from
' select_garbage 1 '
;
prepare
stmt1
from
' select_garbage 1 '
;
--
error
1064
--
error
ER_PARSE_ERROR
prepare
from
' select 1 '
;
prepare
from
' select 1 '
;
--
error
1064
--
error
ER_PARSE_ERROR
prepare
stmt1
' select 1 '
;
prepare
stmt1
' select 1 '
;
--
error
1064
--
error
ER_PARSE_ERROR
prepare
?
from
' select ? as my_col '
;
prepare
?
from
' select ? as my_col '
;
# statement in variable
# statement in variable
set
@
arg00
=
'select 1 as my_col'
;
set
@
arg00
=
'select 1 as my_col'
;
prepare
stmt1
from
@
arg00
;
prepare
stmt1
from
@
arg00
;
# prepare must fail (query variable is empty)
# prepare must fail (query variable is empty)
set
@
arg00
=
''
;
set
@
arg00
=
''
;
--
error
1065
--
error
ER_EMPTY_QUERY
prepare
stmt1
from
@
arg00
;
prepare
stmt1
from
@
arg00
;
set
@
arg00
=
NULL
;
set
@
arg00
=
NULL
;
# prepare must fail (query variable is NULL)
# prepare must fail (query variable is NULL)
--
error
1064
--
error
ER_PARSE_ERROR
prepare
stmt1
from
@
arg01
;
prepare
stmt1
from
@
arg01
;
prepare
stmt1
from
' select * from t1 where a <= 2 '
;
prepare
stmt1
from
' select * from t1 where a <= 2 '
;
# prepare must fail (column x does not exist)
# prepare must fail (column x does not exist)
--
error
1054
--
error
ER_BAD_FIELD_ERROR
prepare
stmt1
from
' select * from t1 where x <= 2 '
;
prepare
stmt1
from
' select * from t1 where x <= 2 '
;
# cases derived from client_test.c: test_null()
# cases derived from client_test.c: test_null()
# prepare must fail (column x does not exist)
# prepare must fail (column x does not exist)
--
error
1054
--
error
ER_BAD_FIELD_ERROR
prepare
stmt1
from
' insert into t1(a,x) values(?,?) '
;
prepare
stmt1
from
' insert into t1(a,x) values(?,?) '
;
--
error
1054
--
error
ER_BAD_FIELD_ERROR
prepare
stmt1
from
' insert into t1(x,a) values(?,?) '
;
prepare
stmt1
from
' insert into t1(x,a) values(?,?) '
;
--
disable_warnings
--
disable_warnings
drop
table
if
exists
not_exist
;
drop
table
if
exists
not_exist
;
--
enable_warnings
--
enable_warnings
# prepare must fail (table does not exist)
# prepare must fail (table does not exist)
--
error
1146
--
error
ER_NO_SUCH_TABLE
prepare
stmt1
from
' select * from not_exist where a <= 2 '
;
prepare
stmt1
from
' select * from not_exist where a <= 2 '
;
# case derived from client_test.c: test_prepare_syntax()
# case derived from client_test.c: test_prepare_syntax()
# prepare must fail (incomplete statement)
# prepare must fail (incomplete statement)
--
error
1064
--
error
ER_PARSE_ERROR
prepare
stmt1
from
' insert into t1 values(? '
;
prepare
stmt1
from
' insert into t1 values(? '
;
--
error
1064
--
error
ER_PARSE_ERROR
prepare
stmt1
from
' select a, b from t1
prepare
stmt1
from
' select a, b from t1
where a=? and where '
;
where a=? and where '
;
################ EXECUTE ################
################ EXECUTE ################
# execute must fail (statement never_prepared never prepared)
# execute must fail (statement never_prepared never prepared)
--
error
1243
--
error
ER_UNKNOWN_STMT_HANDLER
execute
never_prepared
;
execute
never_prepared
;
# execute must fail (prepare stmt1 just failed,
# execute must fail (prepare stmt1 just failed,
# but there was a successful prepare of stmt1 before)
# but there was a successful prepare of stmt1 before)
prepare
stmt1
from
' select * from t1 where a <= 2 '
;
prepare
stmt1
from
' select * from t1 where a <= 2 '
;
--
error
1146
--
error
ER_NO_SUCH_TABLE
prepare
stmt1
from
' select * from not_exist where a <= 2 '
;
prepare
stmt1
from
' select * from not_exist where a <= 2 '
;
--
error
1243
--
error
ER_UNKNOWN_STMT_HANDLER
execute
stmt1
;
execute
stmt1
;
# drop the table between prepare and execute
# drop the table between prepare and execute
...
@@ -149,7 +149,7 @@ prepare stmt2 from ' select * from t5 ' ;
...
@@ -149,7 +149,7 @@ prepare stmt2 from ' select * from t5 ' ;
execute
stmt2
;
execute
stmt2
;
drop
table
t5
;
drop
table
t5
;
# execute must fail (table was dropped after prepare)
# execute must fail (table was dropped after prepare)
--
error
1146
--
error
ER_NO_SUCH_TABLE
execute
stmt2
;
execute
stmt2
;
# cases derived from client_test.c: test_select_prepare()
# cases derived from client_test.c: test_select_prepare()
# 1. drop + create table (same column names/types/order)
# 1. drop + create table (same column names/types/order)
...
@@ -230,24 +230,24 @@ set @arg01='two' ;
...
@@ -230,24 +230,24 @@ set @arg01='two' ;
prepare
stmt1
from
' select * from t1 where a <= ? '
;
prepare
stmt1
from
' select * from t1 where a <= ? '
;
execute
stmt1
using
@
arg00
;
execute
stmt1
using
@
arg00
;
# execute must fail (too small number of parameters)
# execute must fail (too small number of parameters)
--
error
1210
--
error
ER_WRONG_ARGUMENTS
execute
stmt1
;
execute
stmt1
;
# execute must fail (too big number of parameters)
# execute must fail (too big number of parameters)
--
error
1210
--
error
ER_WRONG_ARGUMENTS
execute
stmt1
using
@
arg00
,
@
arg01
;
execute
stmt1
using
@
arg00
,
@
arg01
;
# execute must fail (parameter is not set)
# execute must fail (parameter is not set)
execute
stmt1
using
@
not_set
;
execute
stmt1
using
@
not_set
;
################ DEALLOCATE ################
################ DEALLOCATE ################
# deallocate must fail (the statement 'never_prepared' was never prepared)
# deallocate must fail (the statement 'never_prepared' was never prepared)
--
error
1243
--
error
ER_UNKNOWN_STMT_HANDLER
deallocate
prepare
never_prepared
;
deallocate
prepare
never_prepared
;
# deallocate must fail (prepare stmt1 just failed,
# deallocate must fail (prepare stmt1 just failed,
# but there was a successful prepare before)
# but there was a successful prepare before)
prepare
stmt1
from
' select * from t1 where a <= 2 '
;
prepare
stmt1
from
' select * from t1 where a <= 2 '
;
--
error
1146
--
error
ER_NO_SUCH_TABLE
prepare
stmt1
from
' select * from not_exist where a <= 2 '
;
prepare
stmt1
from
' select * from not_exist where a <= 2 '
;
--
error
1243
--
error
ER_UNKNOWN_STMT_HANDLER
deallocate
prepare
stmt1
;
deallocate
prepare
stmt1
;
create
table
t5
create
table
t5
(
(
...
@@ -345,7 +345,7 @@ drop table if exists t5;
...
@@ -345,7 +345,7 @@ drop table if exists t5;
prepare
stmt1
from
' drop table if exists t5 '
;
prepare
stmt1
from
' drop table if exists t5 '
;
execute
stmt1
;
execute
stmt1
;
prepare
stmt1
from
' drop table t5 '
;
prepare
stmt1
from
' drop table t5 '
;
--
error
1051
--
error
ER_BAD_TABLE_ERROR
execute
stmt1
;
execute
stmt1
;
## SELECT @@version
## SELECT @@version
...
@@ -432,7 +432,7 @@ drop database mysqltest ;
...
@@ -432,7 +432,7 @@ drop database mysqltest ;
prepare
stmt3
from
' describe t2 '
;
prepare
stmt3
from
' describe t2 '
;
execute
stmt3
;
execute
stmt3
;
drop
table
t2
;
drop
table
t2
;
--
error
1146
--
error
ER_NO_SUCH_TABLE
execute
stmt3
;
execute
stmt3
;
## lock/unlock
## lock/unlock
--
error
ER_UNSUPPORTED_PS
--
error
ER_UNSUPPORTED_PS
...
@@ -440,18 +440,29 @@ prepare stmt3 from ' lock tables t1 read ' ;
...
@@ -440,18 +440,29 @@ prepare stmt3 from ' lock tables t1 read ' ;
--
error
ER_UNSUPPORTED_PS
--
error
ER_UNSUPPORTED_PS
prepare
stmt3
from
' unlock tables '
;
prepare
stmt3
from
' unlock tables '
;
## Load/Unload table contents
## Load/Unload table contents
--
let
$datafile
=
$MYSQLTEST_VARDIR
/
tmp
/
data
.
txt
--
error
0
,
1
--
remove_file
$datafile
--
replace_result
$MYSQLTEST_VARDIR
<
MYSQLTEST_VARDIR
>
--
error
ER_UNSUPPORTED_PS
--
error
ER_UNSUPPORTED_PS
prepare
stmt1
from
' load data infile ''data.txt''
eval
prepare
stmt1
from
' load data infile ''$datafile''
into table t1 fields terminated by ''\t'' '
;
into table t1 fields terminated by ''\t'' '
;
prepare
stmt1
from
' select * into outfile ''data.txt'' from t1 '
;
--
replace_result
$MYSQLTEST_VARDIR
<
MYSQLTEST_VARDIR
>
execute
stmt1
;
eval
prepare
stmt1
from
' select * into outfile ''$datafile'' from t1 '
;
execute
stmt1
;
##
##
prepare
stmt1
from
' optimize table t1 '
;
prepare
stmt1
from
' optimize table t1 '
;
prepare
stmt1
from
' analyze table t1 '
;
prepare
stmt1
from
' analyze table t1 '
;
prepare
stmt1
from
' checksum table t1 '
;
prepare
stmt1
from
' checksum table t1 '
;
prepare
stmt1
from
' repair table t1 '
;
prepare
stmt1
from
' repair table t1 '
;
--
replace_result
$MYSQLTEST_VARDIR
<
MYSQLTEST_VARDIR
>
--
error
ER_UNSUPPORTED_PS
--
error
ER_UNSUPPORTED_PS
prepare
stmt1
from
' restore table t1 from ''data.txt'' '
;
eval
prepare
stmt1
from
' restore table t1 from ''$datafile'' '
;
--
remove_file
$datafile
## handler
## handler
--
error
ER_UNSUPPORTED_PS
--
error
ER_UNSUPPORTED_PS
prepare
stmt1
from
' handler t1 open '
;
prepare
stmt1
from
' handler t1 open '
;
...
@@ -566,7 +577,7 @@ drop table if exists new_t2;
...
@@ -566,7 +577,7 @@ drop table if exists new_t2;
--
enable_warnings
--
enable_warnings
prepare
stmt3
from
' rename table t2 to new_t2 '
;
prepare
stmt3
from
' rename table t2 to new_t2 '
;
execute
stmt3
;
execute
stmt3
;
--
error
1050
--
error
ER_TABLE_EXISTS_ERROR
execute
stmt3
;
execute
stmt3
;
rename
table
new_t2
to
t2
;
rename
table
new_t2
to
t2
;
drop
table
t2
;
drop
table
t2
;
...
@@ -577,13 +588,13 @@ create table t5 (a int) ;
...
@@ -577,13 +588,13 @@ create table t5 (a int) ;
# rename must fail, t7 does not exist
# rename must fail, t7 does not exist
# Clean up the filename here because embedded server reports whole path
# Clean up the filename here because embedded server reports whole path
--
replace_result
$MYSQLTEST_VARDIR
.
mysqld
.
1
/
data
/
''
t7
.
frm
t7
--
replace_result
$MYSQLTEST_VARDIR
.
mysqld
.
1
/
data
/
''
t7
.
frm
t7
--
error
1017
--
error
ER_FILE_NOT_FOUND
execute
stmt1
;
execute
stmt1
;
create
table
t7
(
a
int
)
;
create
table
t7
(
a
int
)
;
# rename, t5 -> t6 and t7 -> t8
# rename, t5 -> t6 and t7 -> t8
execute
stmt1
;
execute
stmt1
;
# rename must fail, t5 and t7 does not exist t6 and t8 already exist
# rename must fail, t5 and t7 does not exist t6 and t8 already exist
--
error
1050
--
error
ER_TABLE_EXISTS_ERROR
execute
stmt1
;
execute
stmt1
;
rename
table
t6
to
t5
,
t8
to
t7
;
rename
table
t6
to
t5
,
t8
to
t7
;
# rename, t5 -> t6 and t7 -> t8
# rename, t5 -> t6 and t7 -> t8
...
...
mysql-test/t/sp.test
View file @
e40fe386
...
@@ -1272,7 +1272,7 @@ select *, f8() from v1|
...
@@ -1272,7 +1272,7 @@ select *, f8() from v1|
# Let us test what will happen if function is missing
# Let us test what will happen if function is missing
drop
function
f1
|
drop
function
f1
|
--
error
1356
--
error
ER_VIEW_INVALID
select
*
from
v1
|
select
*
from
v1
|
# And what will happen if we have recursion which involves
# And what will happen if we have recursion which involves
...
@@ -1311,9 +1311,9 @@ select f0()|
...
@@ -1311,9 +1311,9 @@ select f0()|
select
*
from
v0
|
select
*
from
v0
|
select
*
,
f0
()
from
v0
,
(
select
123
)
as
d1
|
select
*
,
f0
()
from
v0
,
(
select
123
)
as
d1
|
# But these should not !
# But these should not !
--
error
1100
--
error
ER_TABLE_NOT_LOCKED
select
id
,
f3
()
from
t1
|
select
id
,
f3
()
from
t1
|
--
error
1100
--
error
ER_TABLE_NOT_LOCKED
select
f4
()
|
select
f4
()
|
unlock
tables
|
unlock
tables
|
...
@@ -1323,9 +1323,9 @@ lock tables v2 read, mysql.proc read|
...
@@ -1323,9 +1323,9 @@ lock tables v2 read, mysql.proc read|
select
*
from
v2
|
select
*
from
v2
|
select
*
from
v1
|
select
*
from
v1
|
# These should not work as we have too little instances of tables locked
# These should not work as we have too little instances of tables locked
--
error
1100
--
error
ER_TABLE_NOT_LOCKED
select
*
from
v1
,
t1
|
select
*
from
v1
,
t1
|
--
error
1100
--
error
ER_TABLE_NOT_LOCKED
select
f4
()
|
select
f4
()
|
unlock
tables
|
unlock
tables
|
...
@@ -5255,19 +5255,31 @@ drop procedure bug5967|
...
@@ -5255,19 +5255,31 @@ drop procedure bug5967|
#
#
# Bug#13012 "SP: REPAIR/BACKUP/RESTORE TABLE crashes the server"
# Bug#13012 "SP: REPAIR/BACKUP/RESTORE TABLE crashes the server"
#
#
--let $backupdir = $MYSQLTEST_VARDIR/tmp/
--error 0,1
--remove_file $backupdir/t1.frm
--error 0,1
--remove_file $backupdir/t1.MYD
--disable_warnings
--disable_warnings
drop procedure if exists bug13012|
drop procedure if exists bug13012|
# Disable warnings also for BACKUP/RESTORE: they are deprecated.
# Disable warnings also for BACKUP/RESTORE: they are deprecated.
create procedure bug13012()
--replace_result $MYSQLTEST_VARDIR <MYSQLTEST_VARDIR>
BEGIN
eval create procedure bug13012()
REPAIR TABLE t1;
BEGIN
BACKUP TABLE t1 to '../../tmp';
REPAIR TABLE t1;
DROP TABLE t1;
BACKUP TABLE t1 to '$backupdir';
RESTORE TABLE t1 FROM '../../tmp';
DROP TABLE t1;
END|
RESTORE TABLE t1 FROM '$backupdir';
END|
call bug13012()|
call bug13012()|
--enable_warnings
--enable_warnings
--remove_file $backupdir/t1.frm
--remove_file $backupdir/t1.MYD
drop procedure bug13012|
drop procedure bug13012|
create view v1 as select * from t1|
create view v1 as select * from t1|
create procedure bug13012()
create procedure bug13012()
BEGIN
BEGIN
...
...
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