diff options
author | Alexandre Garand <alexandre.garand@fretlink.com> | 2019-08-09 15:59:15 +0200 |
---|---|---|
committer | Alexandre Garand <alexandre.garand@fretlink.com> | 2019-08-09 16:39:21 +0200 |
commit | 863486a6b71ed0e562a3965bed56465d007b1418 (patch) | |
tree | e93f6a687695af86d54237ec9f575d4ef104222d /vendor/github.com/satori/go.uuid/sql.go | |
parent | 49c1c7b4dc69ffb9ab52330e6dc52ccdd6351087 (diff) | |
download | terraform-provider-statuscake-863486a6b71ed0e562a3965bed56465d007b1418.tar.gz terraform-provider-statuscake-863486a6b71ed0e562a3965bed56465d007b1418.tar.zst terraform-provider-statuscake-863486a6b71ed0e562a3965bed56465d007b1418.zip |
update vendor and go.modadd_contact_groups
Diffstat (limited to 'vendor/github.com/satori/go.uuid/sql.go')
-rw-r--r-- | vendor/github.com/satori/go.uuid/sql.go | 78 |
1 files changed, 78 insertions, 0 deletions
diff --git a/vendor/github.com/satori/go.uuid/sql.go b/vendor/github.com/satori/go.uuid/sql.go new file mode 100644 index 0000000..56759d3 --- /dev/null +++ b/vendor/github.com/satori/go.uuid/sql.go | |||
@@ -0,0 +1,78 @@ | |||
1 | // Copyright (C) 2013-2018 by Maxim Bublis <b@codemonkey.ru> | ||
2 | // | ||
3 | // Permission is hereby granted, free of charge, to any person obtaining | ||
4 | // a copy of this software and associated documentation files (the | ||
5 | // "Software"), to deal in the Software without restriction, including | ||
6 | // without limitation the rights to use, copy, modify, merge, publish, | ||
7 | // distribute, sublicense, and/or sell copies of the Software, and to | ||
8 | // permit persons to whom the Software is furnished to do so, subject to | ||
9 | // the following conditions: | ||
10 | // | ||
11 | // The above copyright notice and this permission notice shall be | ||
12 | // included in all copies or substantial portions of the Software. | ||
13 | // | ||
14 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, | ||
15 | // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF | ||
16 | // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND | ||
17 | // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE | ||
18 | // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION | ||
19 | // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION | ||
20 | // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. | ||
21 | |||
22 | package uuid | ||
23 | |||
24 | import ( | ||
25 | "database/sql/driver" | ||
26 | "fmt" | ||
27 | ) | ||
28 | |||
29 | // Value implements the driver.Valuer interface. | ||
30 | func (u UUID) Value() (driver.Value, error) { | ||
31 | return u.String(), nil | ||
32 | } | ||
33 | |||
34 | // Scan implements the sql.Scanner interface. | ||
35 | // A 16-byte slice is handled by UnmarshalBinary, while | ||
36 | // a longer byte slice or a string is handled by UnmarshalText. | ||
37 | func (u *UUID) Scan(src interface{}) error { | ||
38 | switch src := src.(type) { | ||
39 | case []byte: | ||
40 | if len(src) == Size { | ||
41 | return u.UnmarshalBinary(src) | ||
42 | } | ||
43 | return u.UnmarshalText(src) | ||
44 | |||
45 | case string: | ||
46 | return u.UnmarshalText([]byte(src)) | ||
47 | } | ||
48 | |||
49 | return fmt.Errorf("uuid: cannot convert %T to UUID", src) | ||
50 | } | ||
51 | |||
52 | // NullUUID can be used with the standard sql package to represent a | ||
53 | // UUID value that can be NULL in the database | ||
54 | type NullUUID struct { | ||
55 | UUID UUID | ||
56 | Valid bool | ||
57 | } | ||
58 | |||
59 | // Value implements the driver.Valuer interface. | ||
60 | func (u NullUUID) Value() (driver.Value, error) { | ||
61 | if !u.Valid { | ||
62 | return nil, nil | ||
63 | } | ||
64 | // Delegate to UUID Value function | ||
65 | return u.UUID.Value() | ||
66 | } | ||
67 | |||
68 | // Scan implements the sql.Scanner interface. | ||
69 | func (u *NullUUID) Scan(src interface{}) error { | ||
70 | if src == nil { | ||
71 | u.UUID, u.Valid = Nil, false | ||
72 | return nil | ||
73 | } | ||
74 | |||
75 | // Delegate to UUID Scan function | ||
76 | u.Valid = true | ||
77 | return u.UUID.Scan(src) | ||
78 | } | ||