mirror of
https://github.com/MariaDB/server.git
synced 2025-08-08 11:22:35 +03:00
Automerge
This commit is contained in:
@@ -128,3 +128,13 @@ SELECT sum(f3) FROM t1 where f2='2007-07-01 00:00:00' group by f2;
|
|||||||
sum(f3)
|
sum(f3)
|
||||||
3
|
3
|
||||||
drop table t1;
|
drop table t1;
|
||||||
|
#
|
||||||
|
# Bug #44792: valgrind warning when casting from time to time
|
||||||
|
#
|
||||||
|
CREATE TABLE t1 (c TIME);
|
||||||
|
INSERT INTO t1 VALUES ('0:00:00');
|
||||||
|
SELECT CAST(c AS TIME) FROM t1;
|
||||||
|
CAST(c AS TIME)
|
||||||
|
00:00:00
|
||||||
|
DROP TABLE t1;
|
||||||
|
End of 5.0 tests
|
||||||
|
@@ -1574,4 +1574,17 @@ SHOW FIELDS FROM t2;
|
|||||||
Field Type Null Key Default Extra
|
Field Type Null Key Default Extra
|
||||||
d double(9,6) YES NULL
|
d double(9,6) YES NULL
|
||||||
DROP TABLE t1, t2;
|
DROP TABLE t1, t2;
|
||||||
|
CREATE TABLE t1(a INT);
|
||||||
|
EXPLAIN EXTENDED
|
||||||
|
SELECT a FROM t1
|
||||||
|
UNION
|
||||||
|
SELECT a FROM t1
|
||||||
|
ORDER BY a;
|
||||||
|
id select_type table type possible_keys key key_len ref rows filtered Extra
|
||||||
|
1 PRIMARY t1 system NULL NULL NULL NULL 0 0.00 const row not found
|
||||||
|
2 UNION t1 system NULL NULL NULL NULL 0 0.00 const row not found
|
||||||
|
NULL UNION RESULT <union1,2> ALL NULL NULL NULL NULL NULL NULL Using filesort
|
||||||
|
Warnings:
|
||||||
|
Note 1003 select '0' AS `a` from `test`.`t1` union select '0' AS `a` from `test`.`t1` order by `a`
|
||||||
|
DROP TABLE t1;
|
||||||
End of 5.0 tests
|
End of 5.0 tests
|
||||||
|
@@ -77,3 +77,16 @@ insert into t1 values('2007-07-02', 1);
|
|||||||
insert into t1 values('2007-07-02', 2);
|
insert into t1 values('2007-07-02', 2);
|
||||||
SELECT sum(f3) FROM t1 where f2='2007-07-01 00:00:00' group by f2;
|
SELECT sum(f3) FROM t1 where f2='2007-07-01 00:00:00' group by f2;
|
||||||
drop table t1;
|
drop table t1;
|
||||||
|
|
||||||
|
|
||||||
|
--echo #
|
||||||
|
--echo # Bug #44792: valgrind warning when casting from time to time
|
||||||
|
--echo #
|
||||||
|
|
||||||
|
CREATE TABLE t1 (c TIME);
|
||||||
|
INSERT INTO t1 VALUES ('0:00:00');
|
||||||
|
SELECT CAST(c AS TIME) FROM t1;
|
||||||
|
DROP TABLE t1;
|
||||||
|
|
||||||
|
|
||||||
|
--echo End of 5.0 tests
|
||||||
|
@@ -1089,4 +1089,16 @@ CREATE TABLE t2 AS SELECT d FROM t1 UNION SELECT d FROM t1;
|
|||||||
SHOW FIELDS FROM t2;
|
SHOW FIELDS FROM t2;
|
||||||
DROP TABLE t1, t2;
|
DROP TABLE t1, t2;
|
||||||
|
|
||||||
|
#
|
||||||
|
# Bug#43612 crash with explain extended, union, order by
|
||||||
|
#
|
||||||
|
CREATE TABLE t1(a INT);
|
||||||
|
EXPLAIN EXTENDED
|
||||||
|
SELECT a FROM t1
|
||||||
|
UNION
|
||||||
|
SELECT a FROM t1
|
||||||
|
ORDER BY a;
|
||||||
|
DROP TABLE t1;
|
||||||
|
|
||||||
|
|
||||||
--echo End of 5.0 tests
|
--echo End of 5.0 tests
|
||||||
|
@@ -5307,7 +5307,7 @@ bool Field_time::get_time(MYSQL_TIME *ltime)
|
|||||||
ltime->neg= 1;
|
ltime->neg= 1;
|
||||||
tmp=-tmp;
|
tmp=-tmp;
|
||||||
}
|
}
|
||||||
ltime->day= 0;
|
ltime->year= ltime->month= ltime->day= 0;
|
||||||
ltime->hour= (int) (tmp/10000);
|
ltime->hour= (int) (tmp/10000);
|
||||||
tmp-=ltime->hour*10000;
|
tmp-=ltime->hour*10000;
|
||||||
ltime->minute= (int) tmp/100;
|
ltime->minute= (int) tmp/100;
|
||||||
|
@@ -653,10 +653,22 @@ bool st_select_lex_unit::cleanup()
|
|||||||
join->tables= 0;
|
join->tables= 0;
|
||||||
}
|
}
|
||||||
error|= fake_select_lex->cleanup();
|
error|= fake_select_lex->cleanup();
|
||||||
if (fake_select_lex->order_list.elements)
|
/*
|
||||||
|
There are two cases when we should clean order items:
|
||||||
|
1. UNION with SELECTs which all enclosed into braces
|
||||||
|
in this case global_parameters == fake_select_lex
|
||||||
|
2. UNION where last SELECT is not enclosed into braces
|
||||||
|
in this case global_parameters == 'last select'
|
||||||
|
So we should use global_parameters->order_list for
|
||||||
|
proper order list clean up.
|
||||||
|
Note: global_parameters and fake_select_lex are always
|
||||||
|
initialized for UNION
|
||||||
|
*/
|
||||||
|
DBUG_ASSERT(global_parameters);
|
||||||
|
if (global_parameters->order_list.elements)
|
||||||
{
|
{
|
||||||
ORDER *ord;
|
ORDER *ord;
|
||||||
for (ord= (ORDER*)fake_select_lex->order_list.first; ord; ord= ord->next)
|
for (ord= (ORDER*)global_parameters->order_list.first; ord; ord= ord->next)
|
||||||
(*ord->item)->cleanup();
|
(*ord->item)->cleanup();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user