Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 5 additions & 4 deletions mods/bridge/internal/base.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@ import (
"context"
"database/sql"
"math"
"time"

"github.com/machbase/neo-client/api"
)
Expand Down Expand Up @@ -209,7 +208,7 @@ func scanTypeToDataType(sqlType string) api.DataType {
return api.DataTypeFloat64
case "string", "sql.NullString":
return api.DataTypeString
case "time.Time", "sql.NullTime":
case "time.Time", "sql.NullTime", "*time.Time":
return api.DataTypeDatetime
case "[]byte", "sql.RawBytes":
return api.DataTypeBinary
Expand Down Expand Up @@ -245,7 +244,7 @@ func (b *SqlBridgeBase) NewScanType(reflectType string, databaseTypeName string)
case "sql.NullString":
return new(string)
case "sql.NullTime":
return new(time.Time)
return new(sql.NullTime)
case "sql.RawBytes":
return new([]byte)
case "[]uint8":
Expand All @@ -259,7 +258,9 @@ func (b *SqlBridgeBase) NewScanType(reflectType string, databaseTypeName string)
case "string":
return new(string)
case "time.Time":
return new(time.Time)
return new(sql.NullTime)
case "*time.Time":
return new(sql.NullTime)
}
return nil
}
Expand Down
6 changes: 5 additions & 1 deletion mods/bridge/util_datum.go
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,11 @@ func ConvertToDatum(arr ...any) ([]*bridgerpc.Datum, error) {
case time.Time:
ret[i] = &bridgerpc.Datum{Value: &bridgerpc.Datum_VTime{VTime: v.UnixNano()}}
case *time.Time:
ret[i] = &bridgerpc.Datum{Value: &bridgerpc.Datum_VTime{VTime: v.UnixNano()}}
if v == nil {
ret[i] = &bridgerpc.Datum{Value: &bridgerpc.Datum_VNull{VNull: true}}
} else {
ret[i] = &bridgerpc.Datum{Value: &bridgerpc.Datum_VTime{VTime: v.UnixNano()}}
}
case *sql.NullBool:
if v.Valid {
ret[i] = &bridgerpc.Datum{Value: &bridgerpc.Datum_VBool{VBool: v.Bool}}
Expand Down
2 changes: 1 addition & 1 deletion mods/server/server.go
Original file line number Diff line number Diff line change
Expand Up @@ -1223,7 +1223,7 @@ func (s *Server) fetchResultBridge(handle string) (BridgeQueryRow, error) {
case *bridgerpc.Datum_VBool:
ret.Values = append(ret.Values, val.VBool)
case *bridgerpc.Datum_VTime:
t := time.UnixMilli(val.VTime)
t := time.Unix(0, val.VTime).In(time.Local).Format("2006-01-02 15:04:05")
ret.Values = append(ret.Values, t)
case *bridgerpc.Datum_VIp:
ret.Values = append(ret.Values, val.VIp)
Expand Down
Loading