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
4b173024
Commit
4b173024
authored
Jul 13, 2006
by
evgen@moonbone.local
Browse files
Options
Browse Files
Download
Plain Diff
Merge moonbone.local:/work/16302-bug-4.1-opt-mysql
into moonbone.local:/work/tmp_merge-5.0-opt-mysql
parents
8394aec4
363d1456
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
71 additions
and
1 deletion
+71
-1
mysql-test/r/subselect.result
mysql-test/r/subselect.result
+34
-0
mysql-test/t/subselect.test
mysql-test/t/subselect.test
+30
-0
sql/item_subselect.cc
sql/item_subselect.cc
+2
-1
sql/sql_select.cc
sql/sql_select.cc
+5
-0
No files found.
mysql-test/r/subselect.result
View file @
4b173024
...
...
@@ -2854,6 +2854,40 @@ a
3
4
DROP TABLE t1,t2,t3;
purge master logs before (select adddate(current_timestamp(), interval -4 day));
CREATE TABLE t1 (f1 INT);
CREATE TABLE t2 (f2 INT);
INSERT INTO t1 VALUES (1);
SELECT * FROM t1 WHERE f1 > ALL (SELECT f2 FROM t2);
f1
1
SELECT * FROM t1 WHERE f1 > ALL (SELECT f2 FROM t2 WHERE 1=0);
f1
1
INSERT INTO t2 VALUES (1);
INSERT INTO t2 VALUES (2);
SELECT * FROM t1 WHERE f1 > ALL (SELECT f2 FROM t2 WHERE f2=0);
f1
1
DROP TABLE t1, t2;
select 1 from dual where 1 < any (select 2);
1
1
select 1 from dual where 1 < all (select 2);
1
1
select 1 from dual where 2 > any (select 1);
1
1
select 1 from dual where 2 > all (select 1);
1
1
select 1 from dual where 1 < any (select 2 from dual);
1
1
select 1 from dual where 1 < all (select 2 from dual where 1!=1);
1
1
create table t1 (df decimal(5,1));
insert into t1 values(1.1);
insert into t1 values(2.2);
...
...
mysql-test/t/subselect.test
View file @
4b173024
...
...
@@ -1821,6 +1821,36 @@ SELECT * FROM t1
DROP
TABLE
t1
,
t2
,
t3
;
#
# BUG #10308: purge log with subselect
#
purge
master
logs
before
(
select
adddate
(
current_timestamp
(),
interval
-
4
day
));
#
# Bug#18503: Queries with a quantified subquery returning empty set may
# return a wrong result.
#
CREATE
TABLE
t1
(
f1
INT
);
CREATE
TABLE
t2
(
f2
INT
);
INSERT
INTO
t1
VALUES
(
1
);
SELECT
*
FROM
t1
WHERE
f1
>
ALL
(
SELECT
f2
FROM
t2
);
SELECT
*
FROM
t1
WHERE
f1
>
ALL
(
SELECT
f2
FROM
t2
WHERE
1
=
0
);
INSERT
INTO
t2
VALUES
(
1
);
INSERT
INTO
t2
VALUES
(
2
);
SELECT
*
FROM
t1
WHERE
f1
>
ALL
(
SELECT
f2
FROM
t2
WHERE
f2
=
0
);
DROP
TABLE
t1
,
t2
;
#
# Bug#16302: Quantified subquery without any tables gives wrong results
#
select
1
from
dual
where
1
<
any
(
select
2
);
select
1
from
dual
where
1
<
all
(
select
2
);
select
1
from
dual
where
2
>
any
(
select
1
);
select
1
from
dual
where
2
>
all
(
select
1
);
select
1
from
dual
where
1
<
any
(
select
2
from
dual
);
select
1
from
dual
where
1
<
all
(
select
2
from
dual
where
1
!=
1
);
# End of 4.1 tests
#
...
...
sql/item_subselect.cc
View file @
4b173024
...
...
@@ -802,7 +802,8 @@ Item_in_subselect::single_value_transformer(JOIN *join,
if
(
!
select_lex
->
group_list
.
elements
&&
!
select_lex
->
having
&&
!
select_lex
->
with_sum_func
&&
!
(
select_lex
->
next_select
()))
!
(
select_lex
->
next_select
())
&&
select_lex
->
table_list
.
elements
)
{
Item_sum_hybrid
*
item
;
nesting_map
save_allow_sum_func
;
...
...
sql/sql_select.cc
View file @
4b173024
...
...
@@ -10608,8 +10608,13 @@ end_send_group(JOIN *join, JOIN_TAB *join_tab __attribute__((unused)),
{
if
(
!
join
->
first_record
)
{
List_iterator_fast
<
Item
>
it
(
*
join
->
fields
);
Item
*
item
;
/* No matching rows for group function */
join
->
clear
();
while
((
item
=
it
++
))
item
->
no_rows_in_result
();
}
if
(
join
->
having
&&
join
->
having
->
val_int
()
==
0
)
error
=
-
1
;
// Didn't satisfy having
...
...
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