From 9db3c6db3ec1aef1c26e74b2f51b4334b357d71c Mon Sep 17 00:00:00 2001 From: James Cor Date: Mon, 29 Dec 2025 15:47:54 -0800 Subject: [PATCH 1/2] parse date faster --- sql/types/datetime.go | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/sql/types/datetime.go b/sql/types/datetime.go index 2eb19dd84c..ee8d22b140 100644 --- a/sql/types/datetime.go +++ b/sql/types/datetime.go @@ -504,7 +504,7 @@ func (t datetimeType) SQLValue(ctx *sql.Context, v sql.Value, dest []byte) (sqlt } func appendDateFormat(dest []byte, t time.Time) []byte { - year := t.Year() + year, m, d := t.Date() if year == 0 { dest = append(dest, '0', '0', '0', '0') } else { @@ -512,14 +512,14 @@ func appendDateFormat(dest []byte, t time.Time) []byte { } dest = append(dest, '-') - month := int64(t.Month()) + month := int64(m) if month < 10 { dest = append(dest, '0') } dest = strconv.AppendInt(dest, month, 10) dest = append(dest, '-') - day := int64(t.Day()) + day := int64(d) if day < 10 { dest = append(dest, '0') } From 92bb1e119e2f370d1a6c29c53e4e84f608ef8b53 Mon Sep 17 00:00:00 2001 From: James Cor Date: Mon, 29 Dec 2025 16:15:17 -0800 Subject: [PATCH 2/2] hours too --- sql/types/datetime.go | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sql/types/datetime.go b/sql/types/datetime.go index ee8d22b140..114d410ea0 100644 --- a/sql/types/datetime.go +++ b/sql/types/datetime.go @@ -530,7 +530,8 @@ func appendDateFormat(dest []byte, t time.Time) []byte { func appendDatetimeFormat(dest []byte, t time.Time) []byte { dest = appendDateFormat(dest, t) dest = append(dest, ' ') - dest = appendTimeFormat(dest, int64(t.Hour()), int64(t.Minute()), int64(t.Second()), int64(t.Nanosecond()/1000)) + h, m, s := t.Clock() + dest = appendTimeFormat(dest, int64(h), int64(m), int64(s), int64(t.Nanosecond()/1000)) return dest }