~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to tests/t/microsecond.test

  • Committer: Andrew Hutchings
  • Date: 2010-09-08 19:03:09 UTC
  • mfrom: (1750 staging)
  • mto: (1750.1.1 build)
  • mto: This revision was merged to the branch mainline in revision 1751.
  • Revision ID: andrew@linuxjedi.co.uk-20100908190309-mya1nu7xvo1fpvk8
Merge trunk into branch

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 1064 
 
19
--error ER_PARSE_ERROR 
20
20
# Wrong parameter count...but unfortunately produces 1064 Syntax Error due to limitations of 
21
21
# the SQL parser, which considers MICROSECOND a keyword before being a function symbol
22
22
SELECT MICROSECOND();
23
 
--error 1064
 
23
--error ER_PARSE_ERROR
24
24
# Wrong parameter count...but unfortunately produces 1064 Syntax Error due to limitations of 
25
25
# the SQL parser, which considers MICROSECOND a keyword before being a function symbol
26
26
SELECT MICROSECOND(1, 0);
30
30
# produce an error, not a NULL or anything
31
31
# else...
32
32
#
33
 
--error 1686
 
33
--error ER_INVALID_DATETIME_VALUE
34
34
SELECT MICROSECOND("xxx");
35
35
 
36
36
39
39
# The following are all bad dates, with no possibility of interpreting
40
40
# the values as TIME-only components.
41
41
#
42
 
--error 1686
 
42
--error ER_INVALID_DATETIME_VALUE
43
43
SELECT MICROSECOND("0000-00-00"); # No 0000-00-00 dates!...
44
 
--error 1686
 
44
--error ER_INVALID_DATETIME_VALUE
45
45
SELECT MICROSECOND("0000-01-01"); # No zero year parts
46
 
--error 1686
 
46
--error ER_INVALID_DATETIME_VALUE
47
47
SELECT MICROSECOND("0001-00-01"); # No zero month parts
48
 
--error 1686
 
48
--error ER_INVALID_DATETIME_VALUE
49
49
SELECT MICROSECOND("0001-01-00"); # No zero day parts
50
 
--error 1686
 
50
--error ER_INVALID_DATETIME_VALUE
51
51
SELECT MICROSECOND("2000-02-30"); # No Feb 30th!
52
 
--error 1686
 
52
--error ER_INVALID_DATETIME_VALUE
53
53
SELECT MICROSECOND("1900-02-29"); # Not a leap MICROSECOND since not divisible evenly by 400...
54
 
--error 1686
 
54
--error ER_INVALID_DATETIME_VALUE
55
55
SELECT MICROSECOND('1976-15-15'); # No 15th month!
56
 
--error 1686
 
56
--error ER_INVALID_DATETIME_VALUE
57
57
SELECT MICROSECOND('23:59:70'); # No 70th second!
58
 
--error 1686
 
58
--error ER_INVALID_DATETIME_VALUE
59
59
SELECT MICROSECOND('23:70:59'); # No 70th minute!
60
 
--error 1686
 
60
--error ER_INVALID_DATETIME_VALUE
61
61
SELECT MICROSECOND('26:00:00'); # No 26th hour!
62
 
--error 1686
 
62
--error ER_INVALID_DATETIME_VALUE
63
63
SELECT MICROSECOND('26:00:00.9999999'); # Microseconds are 6 places, not 7
64
64
 
65
65
# A good date, which cannot be interpreted as a TIME component.  Should return 0.