diff options
author | jloup <jean-loup.jamet@trainline.com> | 2018-02-14 14:19:09 +0100 |
---|---|---|
committer | jloup <jean-loup.jamet@trainline.com> | 2018-02-14 14:19:09 +0100 |
commit | 7a9e5112eaaea58d55f181d3e5296e4ff839921c (patch) | |
tree | 968ed193f42a1fad759cc89ad2f8ad5b0091291e /db/errors.go | |
download | Front-7a9e5112eaaea58d55f181d3e5296e4ff839921c.tar.gz Front-7a9e5112eaaea58d55f181d3e5296e4ff839921c.tar.zst Front-7a9e5112eaaea58d55f181d3e5296e4ff839921c.zip |
initial commit
Diffstat (limited to 'db/errors.go')
-rw-r--r-- | db/errors.go | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/db/errors.go b/db/errors.go new file mode 100644 index 0000000..ed5f371 --- /dev/null +++ b/db/errors.go | |||
@@ -0,0 +1,23 @@ | |||
1 | package db | ||
2 | |||
3 | import ( | ||
4 | "strings" | ||
5 | |||
6 | "github.com/go-pg/pg" | ||
7 | ) | ||
8 | |||
9 | func PGCode(err error) string { | ||
10 | if _, ok := err.(pg.Error); !ok { | ||
11 | return "" | ||
12 | } | ||
13 | |||
14 | return err.(pg.Error).Field('C') | ||
15 | } | ||
16 | |||
17 | func IsDup(err error) bool { | ||
18 | return PGCode(err) == "23505" | ||
19 | } | ||
20 | |||
21 | func IsSQLError(err error) bool { | ||
22 | return strings.HasPrefix(err.Error(), "ERROR #") | ||
23 | } | ||