diff options
| author | Shulhan <ms@kilabit.info> | 2021-03-01 13:15:34 +0700 |
|---|---|---|
| committer | Shulhan <ms@kilabit.info> | 2021-03-01 13:15:38 +0700 |
| commit | 95b1982ffe0ca2e5b5316d7d2a591565d05ef368 (patch) | |
| tree | 368faa372d7efa7539e50223c2ab1ac16baf9a4f /lib/math | |
| parent | 4726f8cbc2e3023ab8e0c7cc0f7c858767dedb83 (diff) | |
| download | pakakeh.go-95b1982ffe0ca2e5b5316d7d2a591565d05ef368.tar.xz | |
big: add method that implement sql/driver.Valuer for type Rat
The Rat.Value() return the value as []byte.
Diffstat (limited to 'lib/math')
| -rw-r--r-- | lib/math/big/rat.go | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/lib/math/big/rat.go b/lib/math/big/rat.go index abef7d2c..2c4a66c9 100644 --- a/lib/math/big/rat.go +++ b/lib/math/big/rat.go @@ -6,6 +6,7 @@ package big import ( "bytes" + "database/sql/driver" "fmt" "log" "math/big" @@ -451,6 +452,20 @@ func (r *Rat) UnmarshalJSON(in []byte) (err error) { } // +// Value return the []byte value for database/sql, as defined in +// sql/driver.Valuer. +// +func (r *Rat) Value() (driver.Value, error) { + var s string + if r == nil { + s = "0" + } else { + s = r.String() + } + return []byte(s), nil +} + +// // toRat convert any type to Rat or nil if type is unknown. // If in is not nil, it will be set to out. // |
