2001-09-28 07:05:54 +02:00
|
|
|
drop table if exists t1;
|
|
|
|
CREATE TABLE t1 (
|
|
|
|
visitor_id int(10) unsigned DEFAULT '0' NOT NULL,
|
|
|
|
group_id int(10) unsigned DEFAULT '0' NOT NULL,
|
|
|
|
hits int(10) unsigned DEFAULT '0' NOT NULL,
|
|
|
|
sessions int(10) unsigned DEFAULT '0' NOT NULL,
|
bug#10466: Datatype "timestamp" displays "YYYYMMDDHHMMSS" irrespective of display sizes.
- Print warning that says display width is not supported for datatype TIMESTAMP, if user tries to create a TIMESTAMP column with display width.
- Use display width for TIMESTAMP only in type_timestamp test to make sure warning is displayed correctly.
mysql-test/include/ps_create.inc:
Reove all uses of display width in for TIMESTAMP columns, except in the type_timestamp test.
mysql-test/r/alias.result:
Reove all uses of display width in for TIMESTAMP columns, except in the type_timestamp test.
mysql-test/r/func_date_add.result:
Reove all uses of display width in for TIMESTAMP columns, except in the type_timestamp test.
mysql-test/r/func_str.result:
Reove all uses of display width in for TIMESTAMP columns, except in the type_timestamp test.
mysql-test/r/func_time.result:
Reove all uses of display width in for TIMESTAMP columns, except in the type_timestamp test.
mysql-test/r/group_by.result:
Reove all uses of display width in for TIMESTAMP columns, except in the type_timestamp test.
mysql-test/r/innodb.result:
Reove all uses of display width in for TIMESTAMP columns, except in the type_timestamp test.
mysql-test/r/ps.result:
Reove all uses of display width in for TIMESTAMP columns, except in the type_timestamp test.
mysql-test/r/ps_1general.result:
Reove all uses of display width in for TIMESTAMP columns, except in the type_timestamp test.
mysql-test/r/ps_2myisam.result:
Reove all uses of display width in for TIMESTAMP columns, except in the type_timestamp test.
mysql-test/r/ps_3innodb.result:
Reove all uses of display width in for TIMESTAMP columns, except in the type_timestamp test.
mysql-test/r/ps_4heap.result:
Reove all uses of display width in for TIMESTAMP columns, except in the type_timestamp test.
mysql-test/r/ps_5merge.result:
Reove all uses of display width in for TIMESTAMP columns, except in the type_timestamp test.
mysql-test/r/ps_6bdb.result:
Reove all uses of display width in for TIMESTAMP columns, except in the type_timestamp test.
mysql-test/r/ps_7ndb.result:
Reove all uses of display width in for TIMESTAMP columns, except in the type_timestamp test.
mysql-test/r/select.result:
Reove all uses of display width in for TIMESTAMP columns, except in the type_timestamp test.
mysql-test/r/type_timestamp.result:
When display width is used for a TIMESTAMP column a warning is printed that the display width will be ignored.
mysql-test/r/update.result:
Reove all uses of display width in for TIMESTAMP columns, except in the type_timestamp test.
mysql-test/t/alias.test:
Reove all uses of display width in for TIMESTAMP columns, except in the type_timestamp test.
mysql-test/t/func_date_add.test:
Reove all uses of display width in for TIMESTAMP columns, except in the type_timestamp test.
mysql-test/t/func_str.test:
Reove all uses of display width in for TIMESTAMP columns, except in the type_timestamp test.
mysql-test/t/func_time.test:
Reove all uses of display width in for TIMESTAMP columns, except in the type_timestamp test.
mysql-test/t/group_by.test:
Reove all uses of display width in for TIMESTAMP columns, except in the type_timestamp test.
mysql-test/t/innodb.test:
Reove all uses of display width in for TIMESTAMP columns, except in the type_timestamp test.
mysql-test/t/ps.test:
Reove all uses of display width in for TIMESTAMP columns, except in the type_timestamp test.
mysql-test/t/ps_4heap.test:
Reove all uses of display width in for TIMESTAMP columns, except in the type_timestamp test.
mysql-test/t/ps_5merge.test:
Reove all uses of display width in for TIMESTAMP columns, except in the type_timestamp test.
mysql-test/t/select.test:
Reove all uses of display width in for TIMESTAMP columns, except in the type_timestamp test.
mysql-test/t/update.test:
Reove all uses of display width in for TIMESTAMP columns, except in the type_timestamp test.
sql/share/errmsg.txt:
Correct swedish error message
sql/sql_parse.cc:
Print warning if datatype is TIMESTAMP and display width is used.
2005-06-20 12:09:00 +02:00
|
|
|
ts timestamp,
|
2001-09-28 07:05:54 +02:00
|
|
|
PRIMARY KEY (visitor_id,group_id)
|
2003-12-10 05:31:42 +01:00
|
|
|
)/*! engine=MyISAM */;
|
2001-09-28 07:05:54 +02:00
|
|
|
INSERT INTO t1 VALUES (465931136,7,2,2,20000318160952);
|
|
|
|
INSERT INTO t1 VALUES (173865424,2,2,2,20000318233615);
|
|
|
|
INSERT INTO t1 VALUES (173865424,8,2,2,20000318233615);
|
|
|
|
INSERT INTO t1 VALUES (173865424,39,2,2,20000318233615);
|
|
|
|
INSERT INTO t1 VALUES (173865424,7,2,2,20000318233615);
|
|
|
|
INSERT INTO t1 VALUES (173865424,3,2,2,20000318233615);
|
|
|
|
INSERT INTO t1 VALUES (173865424,6,2,2,20000318233615);
|
|
|
|
INSERT INTO t1 VALUES (173865424,60,2,2,20000318233615);
|
|
|
|
INSERT INTO t1 VALUES (173865424,1502,2,2,20000318233615);
|
|
|
|
INSERT INTO t1 VALUES (48985536,2,2,2,20000319013932);
|
|
|
|
INSERT INTO t1 VALUES (48985536,8,2,2,20000319013932);
|
|
|
|
INSERT INTO t1 VALUES (48985536,39,2,2,20000319013932);
|
|
|
|
INSERT INTO t1 VALUES (48985536,7,2,2,20000319013932);
|
|
|
|
INSERT INTO t1 VALUES (465931136,3,2,2,20000318160951);
|
|
|
|
INSERT INTO t1 VALUES (465931136,119,1,1,20000318160953);
|
|
|
|
INSERT INTO t1 VALUES (465931136,2,1,1,20000318160950);
|
|
|
|
INSERT INTO t1 VALUES (465931136,8,1,1,20000318160950);
|
|
|
|
INSERT INTO t1 VALUES (465931136,39,1,1,20000318160950);
|
|
|
|
INSERT INTO t1 VALUES (1092858576,14,1,1,20000319013445);
|
|
|
|
INSERT INTO t1 VALUES (357917728,3,2,2,20000319145026);
|
|
|
|
INSERT INTO t1 VALUES (357917728,7,2,2,20000319145027);
|
|
|
|
select visitor_id,max(ts) as mts from t1 group by visitor_id
|
|
|
|
having mts < DATE_SUB(NOW(),INTERVAL 3 MONTH);
|
2000-12-28 02:56:38 +01:00
|
|
|
visitor_id mts
|
2002-12-14 16:43:01 +01:00
|
|
|
48985536 2000-03-19 01:39:32
|
|
|
|
173865424 2000-03-18 23:36:15
|
|
|
|
357917728 2000-03-19 14:50:27
|
|
|
|
465931136 2000-03-18 16:09:53
|
|
|
|
1092858576 2000-03-19 01:34:45
|
2001-09-28 07:05:54 +02:00
|
|
|
select visitor_id,max(ts) as mts from t1 group by visitor_id
|
|
|
|
having DATE_ADD(mts,INTERVAL 3 MONTH) < NOW();
|
2000-12-28 02:56:38 +01:00
|
|
|
visitor_id mts
|
2002-12-14 16:43:01 +01:00
|
|
|
48985536 2000-03-19 01:39:32
|
|
|
|
173865424 2000-03-18 23:36:15
|
|
|
|
357917728 2000-03-19 14:50:27
|
|
|
|
465931136 2000-03-18 16:09:53
|
|
|
|
1092858576 2000-03-19 01:34:45
|
2001-09-28 07:05:54 +02:00
|
|
|
drop table t1;
|
2005-08-03 00:28:09 +02:00
|
|
|
set sql_mode='traditional';
|
|
|
|
create table t1 (d date);
|
|
|
|
insert into t1 (d) select date_sub('2000-01-01', INTERVAL 2001 YEAR);
|
|
|
|
ERROR 22008: Datetime function: datetime field overflow
|
|
|
|
insert into t1 (d) select date_add('2000-01-01',interval 8000 year);
|
|
|
|
ERROR 22008: Datetime function: datetime field overflow
|
|
|
|
insert into t1 values (date_add(NULL, INTERVAL 1 DAY));
|
|
|
|
insert into t1 values (date_add('2000-01-04', INTERVAL NULL DAY));
|
|
|
|
set sql_mode='';
|
|
|
|
insert into t1 (d) select date_sub('2000-01-01', INTERVAL 2001 YEAR);
|
|
|
|
Warnings:
|
2005-08-15 23:19:56 +02:00
|
|
|
Warning 1441 Datetime function: datetime field overflow
|
2005-08-03 00:28:09 +02:00
|
|
|
insert into t1 (d) select date_add('2000-01-01',interval 8000 year);
|
|
|
|
Warnings:
|
2005-08-15 23:19:56 +02:00
|
|
|
Warning 1441 Datetime function: datetime field overflow
|
2005-08-03 00:28:09 +02:00
|
|
|
insert into t1 values (date_add(NULL, INTERVAL 1 DAY));
|
|
|
|
insert into t1 values (date_add('2000-01-04', INTERVAL NULL DAY));
|
|
|
|
select * from t1;
|
|
|
|
d
|
|
|
|
NULL
|
|
|
|
NULL
|
|
|
|
NULL
|
|
|
|
NULL
|
|
|
|
NULL
|
|
|
|
NULL
|
|
|
|
drop table t1;
|
2006-10-02 12:37:01 +02:00
|
|
|
End of 4.1 tests
|
|
|
|
SELECT CAST('2006-09-26' AS DATE) + INTERVAL 1 DAY;
|
|
|
|
CAST('2006-09-26' AS DATE) + INTERVAL 1 DAY
|
|
|
|
2006-09-27
|
|
|
|
SELECT CAST('2006-09-26' AS DATE) + INTERVAL 1 MONTH;
|
|
|
|
CAST('2006-09-26' AS DATE) + INTERVAL 1 MONTH
|
|
|
|
2006-10-26
|
|
|
|
SELECT CAST('2006-09-26' AS DATE) + INTERVAL 1 YEAR;
|
|
|
|
CAST('2006-09-26' AS DATE) + INTERVAL 1 YEAR
|
|
|
|
2007-09-26
|
|
|
|
SELECT CAST('2006-09-26' AS DATE) + INTERVAL 1 WEEK;
|
|
|
|
CAST('2006-09-26' AS DATE) + INTERVAL 1 WEEK
|
|
|
|
2006-10-03
|
2007-05-29 22:33:12 +02:00
|
|
|
create table t1 (a int, b varchar(10));
|
|
|
|
insert into t1 values (1, '2001-01-01'),(2, '2002-02-02');
|
|
|
|
select '2007-01-01' + interval a day from t1;
|
|
|
|
'2007-01-01' + interval a day
|
|
|
|
2007-01-02
|
|
|
|
2007-01-03
|
|
|
|
select b + interval a day from t1;
|
|
|
|
b + interval a day
|
|
|
|
2001-01-02
|
|
|
|
2002-02-04
|
|
|
|
drop table t1;
|
2006-10-02 12:37:01 +02:00
|
|
|
End of 5.0 tests
|