From 7c61c09af7cb34bdebf611eae8c80368ab360eaa Mon Sep 17 00:00:00 2001 From: Lunny Xiao Date: Thu, 28 Jan 2021 11:03:43 +0800 Subject: [PATCH] Revert "Automatically convert datetime to int64 (#1715)" This reverts commit 8284e5defa48331f157bff08b1b3c6f53104291d. --- integrations/session_find_test.go | 23 ----------------------- session_convert.go | 24 +----------------------- 2 files changed, 1 insertion(+), 46 deletions(-) diff --git a/integrations/session_find_test.go b/integrations/session_find_test.go index 0c25a1e9..c3e99183 100644 --- a/integrations/session_find_test.go +++ b/integrations/session_find_test.go @@ -962,26 +962,3 @@ func TestDistinctAndCols(t *testing.T) { assert.EqualValues(t, 1, len(names)) assert.EqualValues(t, "test", names[0]) } - -func TestDateTimeInt64(t *testing.T) { - type DateTimeInt64 struct { - Id int64 - TimeStamp int64 `xorm:"datetime"` - } - - assert.NoError(t, PrepareEngine()) - assertSync(t, new(DateTimeInt64)) - - ts := time.Now().Unix() - cnt, err := testEngine.Insert(&DateTimeInt64{ - TimeStamp: ts, - }) - assert.NoError(t, err) - assert.EqualValues(t, 1, cnt) - - var dts []DateTimeInt64 - err = testEngine.Find(&dts) - assert.NoError(t, err) - assert.EqualValues(t, 1, len(dts)) - assert.EqualValues(t, ts, dts[0].TimeStamp) -} diff --git a/session_convert.go b/session_convert.go index 4a4dd8be..a6839947 100644 --- a/session_convert.go +++ b/session_convert.go @@ -168,29 +168,7 @@ func (session *Session) bytes2Value(col *schemas.Column, fieldValue *reflect.Val } else if strings.EqualFold(sdata, "false") { x = 0 } else { - if col.SQLType.Name == schemas.DateTime { - if len(sdata) == 20 { - t, err := time.Parse("2006-01-02T15:04:05Z", sdata) - if err != nil { - return fmt.Errorf("arg %v as int: %s", key, err.Error()) - } - x = t.Unix() - } else if len(sdata) == 19 { - var parseFormat = "2006-01-02 15:04:05" - if sdata[10] == 'T' { - parseFormat = "2006-01-02T15:04:05" - } - t, err := time.Parse(parseFormat, sdata) - if err != nil { - return fmt.Errorf("arg %v as int: %s", key, err.Error()) - } - x = t.Unix() - } else { - x, err = strconv.ParseInt(sdata, 10, 64) - } - } else { - x, err = strconv.ParseInt(sdata, 10, 64) - } + x, err = strconv.ParseInt(sdata, 10, 64) } if err != nil { return fmt.Errorf("arg %v as int: %s", key, err.Error())