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
51f4ccfa
Commit
51f4ccfa
authored
Aug 27, 2009
by
Sergey Glukhov
Browse files
Options
Browse Files
Download
Plain Diff
5.0-bugteam->5.1-bugteam merge
parents
1759f9ec
367c14b8
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
20 additions
and
6 deletions
+20
-6
mysql-test/r/analyse.result
mysql-test/r/analyse.result
+6
-3
mysql-test/r/subselect.result
mysql-test/r/subselect.result
+1
-1
mysql-test/t/analyse.test
mysql-test/t/analyse.test
+10
-0
mysql-test/t/subselect.test
mysql-test/t/subselect.test
+1
-1
sql/sql_yacc.yy
sql/sql_yacc.yy
+2
-1
No files found.
mysql-test/r/analyse.result
View file @
51f4ccfa
...
...
@@ -28,9 +28,7 @@ test.t1.bool N Y 1 1 0 0 1.0000 NULL ENUM('N','Y') NOT NULL
test.t1.d 2002-03-03 2002-03-05 10 10 0 0 10.0000 NULL ENUM('2002-03-03','2002-03-04','2002-03-05') NOT NULL
drop table t1,t2;
EXPLAIN SELECT 1 FROM (SELECT 1) a PROCEDURE ANALYSE();
id select_type table type possible_keys key key_len ref rows Extra
1 PRIMARY <derived2> system NULL NULL NULL NULL 1
2 DERIVED NULL NULL NULL NULL NULL NULL NULL No tables used
ERROR HY000: Incorrect usage of PROCEDURE and subquery
create table t1 (a int not null);
create table t2 select * from t1 where 0=1 procedure analyse();
show create table t2;
...
...
@@ -153,4 +151,9 @@ select f3 from t1 procedure analyse(1, 1);
Field_name Min_value Max_value Min_length Max_length Empties_or_zeros Nulls Avg_value_or_avg_length Std Optimal_fieldtype
test.t1.f3 5.99999 9.55555 7 7 0 0 7.77777 1.77778 FLOAT(6,5) NOT NULL
drop table t1;
CREATE TABLE t1(a INT,b INT,c INT,d INT,e INT,f INT,g INT,h INT,i INT,j INT,k INT);
INSERT INTO t1 VALUES ();
SELECT * FROM (SELECT * FROM t1) d PROCEDURE ANALYSE();
ERROR HY000: Incorrect usage of PROCEDURE and subquery
DROP TABLE t1;
End of 4.1 tests
mysql-test/r/subselect.result
View file @
51f4ccfa
...
...
@@ -75,7 +75,7 @@ SELECT 1 FROM (SELECT 1 as a) b WHERE 1 IN (SELECT (SELECT a));
select (SELECT 1 FROM (SELECT 1) a PROCEDURE ANALYSE(1));
ERROR HY000: Incorrect usage of PROCEDURE and subquery
SELECT 1 FROM (SELECT 1) a PROCEDURE ANALYSE((SELECT 1));
ERROR HY000: Incorrect
parameters to procedure 'ANALYSE'
ERROR HY000: Incorrect
usage of PROCEDURE and subquery
SELECT (SELECT 1) as a FROM (SELECT 1) b WHERE (SELECT a) IS NULL;
ERROR 42S22: Unknown column 'a' in 'field list'
SELECT (SELECT 1) as a FROM (SELECT 1) b WHERE (SELECT a) IS NOT NULL;
...
...
mysql-test/t/analyse.test
View file @
51f4ccfa
...
...
@@ -14,6 +14,7 @@ create table t2 select * from t1 procedure analyse();
select
*
from
t2
;
drop
table
t1
,
t2
;
--
error
ER_WRONG_USAGE
EXPLAIN
SELECT
1
FROM
(
SELECT
1
)
a
PROCEDURE
ANALYSE
();
#
...
...
@@ -102,4 +103,13 @@ select f2 from t1 procedure analyse(1, 1);
select
f3
from
t1
procedure
analyse
(
1
,
1
);
drop
table
t1
;
#
# Bug#46184 Crash, SELECT ... FROM derived table procedure analyze
#
CREATE
TABLE
t1
(
a
INT
,
b
INT
,
c
INT
,
d
INT
,
e
INT
,
f
INT
,
g
INT
,
h
INT
,
i
INT
,
j
INT
,
k
INT
);
INSERT
INTO
t1
VALUES
();
--
error
ER_WRONG_USAGE
SELECT
*
FROM
(
SELECT
*
FROM
t1
)
d
PROCEDURE
ANALYSE
();
DROP
TABLE
t1
;
--
echo
End
of
4.1
tests
mysql-test/t/subselect.test
View file @
51f4ccfa
...
...
@@ -30,7 +30,7 @@ SELECT 1 IN (SELECT 1);
SELECT
1
FROM
(
SELECT
1
as
a
)
b
WHERE
1
IN
(
SELECT
(
SELECT
a
));
--
error
ER_WRONG_USAGE
select
(
SELECT
1
FROM
(
SELECT
1
)
a
PROCEDURE
ANALYSE
(
1
));
--
error
ER_WRONG_
PARAMETERS_TO_PROCEDUR
E
--
error
ER_WRONG_
USAG
E
SELECT
1
FROM
(
SELECT
1
)
a
PROCEDURE
ANALYSE
((
SELECT
1
));
--
error
ER_BAD_FIELD_ERROR
SELECT
(
SELECT
1
)
as
a
FROM
(
SELECT
1
)
b
WHERE
(
SELECT
a
)
IS
NULL
;
...
...
sql/sql_yacc.yy
View file @
51f4ccfa
...
...
@@ -9075,7 +9075,8 @@ procedure_clause:
MYSQL_YYABORT;
}
if (&lex->select_lex != lex->current_select)
if (&lex->select_lex != lex->current_select ||
lex->select_lex.get_table_list()->derived)
{
my_error(ER_WRONG_USAGE, MYF(0), "PROCEDURE", "subquery");
MYSQL_YYABORT;
...
...
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