@@ -374,9 +374,9 @@ func (t timeTest) genQuery(dbtype string, mode timeMode) string {
374
374
inner = `"%s"`
375
375
}
376
376
if len (dbtype ) >= 9 && dbtype [:9 ] == "TIMESTAMP" {
377
- return `SELECT TIMESTAMPADD(SECOND ,0,CAST (` + inner + ` AS DATETIME` + dbtype [9 :] + `))`
377
+ return `SELECT timestampadd(second ,0,cast (` + inner + ` as DATETIME` + dbtype [9 :] + `))`
378
378
}
379
- return `SELECT CAST (` + inner + ` AS ` + dbtype + `)`
379
+ return `SELECT cast (` + inner + ` as ` + dbtype + `)`
380
380
}
381
381
382
382
func (t timeTest ) run (dbt * DBTest , dbtype , tlayout string , mode timeMode ) {
@@ -524,16 +524,23 @@ func TestDateTime(t *testing.T) {
524
524
var withFrac , allowsZero bool
525
525
var rows * sql.Rows
526
526
var err error
527
- rows , err = dbt .db .Query (`SELECT CAST ("00:00:00.1" AS TIME(1)) = "00:00:00.1"` )
527
+ rows , err = dbt .db .Query (`SELECT cast ("00:00:00.1" as TIME(1)) = "00:00:00.1"` )
528
528
if err == nil {
529
529
rows .Scan (& withFrac )
530
530
rows .Close ()
531
531
}
532
- rows , err = dbt .db .Query (`SELECT CAST ("0000-00-00" AS DATE) = "0000-00-00"` )
532
+ rows , err = dbt .db .Query (`SELECT cast ("0000-00-00" as DATE) = "0000-00-00"` )
533
533
if err == nil {
534
534
rows .Scan (& allowsZero )
535
535
rows .Close ()
536
536
}
537
+ // Fix for TravisCI with its "special" MySQL version
538
+ var datetimeAutofracs bool
539
+ rows , err = dbt .db .Query (`SELECT length(concat('',cast(? as DATETIME))) != 19` , "2011-11-20 21:27:37" )
540
+ if err == nil {
541
+ rows .Scan (& datetimeAutofracs )
542
+ rows .Close ()
543
+ }
537
544
for _ , setups := range testcases {
538
545
if t := setups .dbtype ; ! withFrac && t [len (t )- 1 :] == ")" {
539
546
// skip fractional second tests if unsupported by server
@@ -554,6 +561,9 @@ func TestDateTime(t *testing.T) {
554
561
// skip disallowed 0000-00-00 date
555
562
continue
556
563
}
564
+ if datetimeAutofracs && setups .dbtype == "DATETIME" && setup .t != t0 {
565
+ continue
566
+ }
557
567
setup .run (dbt , setups .dbtype , setups .tlayout , textString )
558
568
setup .run (dbt , setups .dbtype , setups .tlayout , binaryString )
559
569
if allowBinTime {
0 commit comments