Details
- 
    
Bug
 - 
    Status: Closed (View Workflow)
 - 
    
Minor
 - 
    Resolution: Fixed
 - 
    10.0.3, 5.5.32, 5.3.12
 - 
    None
 - 
    None
 
Description
					DROP TABLE IF EXISTS t1,t2; CREATE TABLE t1 (t0 TIME);  | 
		
					INSERT INTO t1 VALUES ('10:10:10');  | 
		
					CREATE TABLE t2 AS SELECT MAX(t0)+1 FROM t1; SELECT * FROM t2; SHOW COLUMNS FROM t2;  | 
		
produces this output in MariaDB-5.5 and MariaDB-10.0:
					+-------------+
			 | 
		
					| MAX(t0)+1   |
			 | 
		
					+-------------+
			 | 
		
					| 36610000001 |
			 | 
		
					+-------------+
			 | 
		
					+-----------+---------------+------+-----+---------+-------+
			 | 
		
					| Field     | Type          | Null | Key | Default | Extra |
			 | 
		
					+-----------+---------------+------+-----+---------+-------+
			 | 
		
					| MAX(t0)+1 | decimal(11,0) | YES  |     | NULL    |       |
			 | 
		
					+-----------+---------------+------+-----+---------+-------+
			 | 
		
36610000001 is a wrong value. The expected value is 101011.
DECIMAL(11,0) is a wrong type. The expected type is INT(9).
Note, MariaDB-5.3 returns 11 instead of 36610000001, which is also wrong.
Similar problem is observed with a DATETIME column.
This script:
					CREATE TABLE t1 (t0 DATETIME);  | 
		
					INSERT INTO t1 VALUES ('2001-01-01 10:10:10');  | 
		
					CREATE TABLE t2 AS SELECT MAX(t0)+1 FROM t1;  | 
		
					SELECT * FROM t2;  | 
		
					SHOW COLUMNS FROM t2;  | 
		
produces this output:
					+-------------------+
			 | 
		
					| MAX(t0)+1         |
			 | 
		
					+-------------------+
			 | 
		
					| 71923630210000001 |
			 | 
		
					+-------------------+
			 | 
		
					+-----------+---------------+------+-----+---------+-------+
			 | 
		
					| Field     | Type          | Null | Key | Default | Extra |
			 | 
		
					+-----------+---------------+------+-----+---------+-------+
			 | 
		
					| MAX(t0)+1 | decimal(20,0) | YES  |     | NULL    |       |
			 | 
		
					+-----------+---------------+------+-----+---------+-------+
			 |