mirror of
https://github.com/MariaDB/server.git
synced 2025-01-29 10:14:19 +01:00
select.result, select.test:
Added a test case for bug #11745. sql_select.cc: Fixed bug # 11745. Added support of where clause for queries with FROM DUAL. sql_yacc.yy: Fixed bug # 11745. Added optional where clause for queries with FROM DUAL. sql/sql_yacc.yy: Fixed bug # 11745. Added optional where clause for queries with FROM DUAL. sql/sql_select.cc: Fixed bug # 11745. Added support of where clause for queries with FROM DUAL. mysql-test/t/select.test: Added a test case for bug #11745. mysql-test/r/select.result: Added a test case for bug #11745.
This commit is contained in:
parent
89519b677e
commit
6a88fa48ae
4 changed files with 36 additions and 2 deletions
|
@ -2582,3 +2582,19 @@ a
|
|||
254
|
||||
255
|
||||
drop table t2;
|
||||
CREATE TABLE t1 (a int, b int, c int);
|
||||
INSERT INTO t1
|
||||
SELECT 50, 3, 3 FROM DUAL
|
||||
WHERE NOT EXISTS
|
||||
(SELECT * FROM t1 WHERE a = 50 AND b = 3);
|
||||
SELECT * FROM t1;
|
||||
a b c
|
||||
50 3 3
|
||||
INSERT INTO t1
|
||||
SELECT 50, 3, 3 FROM DUAL
|
||||
WHERE NOT EXISTS
|
||||
(SELECT * FROM t1 WHERE a = 50 AND b = 3);
|
||||
SELECT * FROM t1;
|
||||
a b c
|
||||
50 3 3
|
||||
DROP TABLE t1;
|
||||
|
|
|
@ -2138,3 +2138,21 @@ insert into t2 values (0), (254), (255);
|
|||
explain select * from t2 where a > -1;
|
||||
select * from t2 where a > -1;
|
||||
drop table t2;
|
||||
|
||||
#
|
||||
# Bug #11745: SELECT ... FROM DUAL with WHERE condition
|
||||
#
|
||||
|
||||
CREATE TABLE t1 (a int, b int, c int);
|
||||
INSERT INTO t1
|
||||
SELECT 50, 3, 3 FROM DUAL
|
||||
WHERE NOT EXISTS
|
||||
(SELECT * FROM t1 WHERE a = 50 AND b = 3);
|
||||
SELECT * FROM t1;
|
||||
INSERT INTO t1
|
||||
SELECT 50, 3, 3 FROM DUAL
|
||||
WHERE NOT EXISTS
|
||||
(SELECT * FROM t1 WHERE a = 50 AND b = 3);
|
||||
SELECT * FROM t1;
|
||||
|
||||
DROP TABLE t1;
|
||||
|
|
|
@ -1072,7 +1072,7 @@ JOIN::exec()
|
|||
else
|
||||
{
|
||||
result->send_fields(fields_list,1);
|
||||
if (!having || having->val_int())
|
||||
if (cond_value != Item::COND_FALSE && (!having || having->val_int()))
|
||||
{
|
||||
if (do_send_rows && (procedure ? (procedure->send_row(fields_list) ||
|
||||
procedure->end_of_records())
|
||||
|
|
|
@ -2459,7 +2459,7 @@ select_into:
|
|||
select_from:
|
||||
FROM join_table_list where_clause group_clause having_clause
|
||||
opt_order_clause opt_limit_clause procedure_clause
|
||||
| FROM DUAL_SYM opt_limit_clause
|
||||
| FROM DUAL_SYM where_clause opt_limit_clause
|
||||
/* oracle compatibility: oracle always requires FROM clause,
|
||||
and DUAL is system table without fields.
|
||||
Is "SELECT 1 FROM DUAL" any better than "SELECT 1" ?
|
||||
|
|
Loading…
Add table
Reference in a new issue