]> git.lizzy.rs Git - micro.git/blob - tools/semver/sql.go
Add semver code to tools directory
[micro.git] / tools / semver / sql.go
1 package semver
2
3 import (
4         "database/sql/driver"
5         "fmt"
6 )
7
8 // Scan implements the database/sql.Scanner interface.
9 func (v *Version) Scan(src interface{}) (err error) {
10         var str string
11         switch src := src.(type) {
12         case string:
13                 str = src
14         case []byte:
15                 str = string(src)
16         default:
17                 return fmt.Errorf("Version.Scan: cannot convert %T to string.", src)
18         }
19
20         if t, err := Parse(str); err == nil {
21                 *v = t
22         }
23
24         return
25 }
26
27 // Value implements the database/sql/driver.Valuer interface.
28 func (v Version) Value() (driver.Value, error) {
29         return v.String(), nil
30 }