From a280f4db8a2646c33870897a93c5d2d2f7e66a42 Mon Sep 17 00:00:00 2001 From: Jack Christensen Date: Thu, 3 Feb 2022 20:19:52 -0600 Subject: [PATCH] Float4 and Float8 implement Int64 Scanner and Valuer --- pgtype/float4.go | 9 +++++++++ pgtype/float8.go | 9 +++++++++ 2 files changed, 18 insertions(+) diff --git a/pgtype/float4.go b/pgtype/float4.go index db9b2215..fd5f4523 100644 --- a/pgtype/float4.go +++ b/pgtype/float4.go @@ -25,6 +25,15 @@ func (f Float4) Float64Value() (Float8, error) { return Float8{Float: float64(f.Float), Valid: f.Valid}, nil } +func (f *Float4) ScanInt64(n Int8) error { + *f = Float4{Float: float32(n.Int), Valid: n.Valid} + return nil +} + +func (f Float4) Int64Value() (Int8, error) { + return Int8{Int: int64(f.Float), Valid: f.Valid}, nil +} + // Scan implements the database/sql Scanner interface. func (f *Float4) Scan(src interface{}) error { if src == nil { diff --git a/pgtype/float8.go b/pgtype/float8.go index 96dcb0f3..54b1796c 100644 --- a/pgtype/float8.go +++ b/pgtype/float8.go @@ -33,6 +33,15 @@ func (f Float8) Float64Value() (Float8, error) { return f, nil } +func (f *Float8) ScanInt64(n Int8) error { + *f = Float8{Float: float64(n.Int), Valid: n.Valid} + return nil +} + +func (f Float8) Int64Value() (Int8, error) { + return Int8{Int: int64(f.Float), Valid: f.Valid}, nil +} + // Scan implements the database/sql Scanner interface. func (f *Float8) Scan(src interface{}) error { if src == nil {