From 7cc16819f7b1f0cad4285f2a83158e44dc68a890 Mon Sep 17 00:00:00 2001 From: Nathan Coad Date: Wed, 25 Sep 2024 13:12:18 +1000 Subject: [PATCH] also handle float64 --- db/db.go | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/db/db.go b/db/db.go index a674241..0615500 100644 --- a/db/db.go +++ b/db/db.go @@ -100,6 +100,14 @@ func ConvertToSQLParams(input interface{}, output interface{}) { outputField.Set(reflect.ValueOf(sql.NullInt64{Int64: inputField.Int(), Valid: true})) } + case reflect.TypeOf(sql.NullFloat64{}): + // Handle sql.NullFloat64 + if inputField.Float() == 0 { + outputField.Set(reflect.ValueOf(sql.NullFloat64{Valid: false})) + } else { + outputField.Set(reflect.ValueOf(sql.NullFloat64{Float64: inputField.Float(), Valid: true})) + } + case reflect.TypeOf(""): // Handle normal string fields if inputField.Kind() == reflect.Ptr && inputField.IsNil() { @@ -112,6 +120,10 @@ func ConvertToSQLParams(input interface{}, output interface{}) { // Handle normal int64 fields outputField.SetInt(inputField.Int()) + case reflect.TypeOf(float64(0)): + // Handle normal float64 fields + outputField.SetFloat(inputField.Float()) + } } }