~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to tests/t/dayofyear.test

  • Committer: Stewart Smith
  • Date: 2009-05-15 06:57:12 UTC
  • mto: (991.1.5 for-brian)
  • mto: This revision was merged to the branch mainline in revision 1022.
  • Revision ID: stewart@flamingspork.com-20090515065712-bmionylacjmexmmm
Make sql_mode=NO_AUTO_VALUE_ON_ZERO default for Drizzle.

Also fix DEFAULT keyword handling for auto-increment so that it defaults to
NULL and not 0 so that the following is valid and generates two auto-inc
values:

create table t1 (a int auto_increment primary key)
insert into t1 (a) values (default);
insert into t1 (a) values (default);

Important to note that 0 is no longer magic. So this gives you duplicate
primary key error:

insert into t1 (a) values(0);
insert into t1 (a) values(0);

as you've inserted the explicit value of 0 twice.

Show diffs side-by-side

added added

removed removed

Lines of Context:
16
16
# Test improper argument list 
17
17
#
18
18
# 1 arg is required.
19
 
--error ER_WRONG_PARAMCOUNT_TO_FUNCTION # Wrong parameter count...
 
19
--error 1582 # Wrong parameter count...
20
20
SELECT DAYOFYEAR();
21
 
--error ER_WRONG_PARAMCOUNT_TO_FUNCTION # Wrong parameter count...
 
21
--error 1582 # Wrong parameter count...
22
22
SELECT DAYOFYEAR(1, 0);
23
23
 
24
24
26
26
# produce an error, not a NULL or anything
27
27
# else...
28
28
#
29
 
--error ER_INVALID_DATETIME_VALUE
 
29
--error 1686
30
30
SELECT DAYOFYEAR("xxx");
31
31
 
32
32
# Indy, bad dates!
33
 
--error ER_INVALID_DATETIME_VALUE
 
33
--error 1686
34
34
SELECT DAYOFYEAR("0000-00-00"); # No 0000-00-00 dates!...
35
 
--error ER_INVALID_DATETIME_VALUE
 
35
--error 1686
36
36
SELECT DAYOFYEAR("0000-01-01"); # No zero year parts
37
 
--error ER_INVALID_DATETIME_VALUE
 
37
--error 1686
38
38
SELECT DAYOFYEAR("0001-00-01"); # No zero month parts
39
 
--error ER_INVALID_DATETIME_VALUE
 
39
--error 1686
40
40
SELECT DAYOFYEAR("0001-01-00"); # No zero day parts
41
 
--error ER_INVALID_DATETIME_VALUE
 
41
--error 1686
42
42
SELECT DAYOFYEAR("2000-02-30"); # No Feb 30th!
43
 
--error ER_INVALID_DATETIME_VALUE
 
43
--error 1686
44
44
SELECT DAYOFYEAR("1900-02-29"); # Not a leap DAYOFYEAR since not divisible evenly by 400...
45
 
--error ER_INVALID_DATETIME_VALUE
 
45
--error 1686
46
46
SELECT DAYOFYEAR('1976-15-15'); # No 15th month!
47
47
 
48
48
# A good date, which should output 1