From 7a9e5112eaaea58d55f181d3e5296e4ff839921c Mon Sep 17 00:00:00 2001 From: jloup Date: Wed, 14 Feb 2018 14:19:09 +0100 Subject: initial commit --- db/errors.go | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 db/errors.go (limited to 'db/errors.go') 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 @@ +package db + +import ( + "strings" + + "github.com/go-pg/pg" +) + +func PGCode(err error) string { + if _, ok := err.(pg.Error); !ok { + return "" + } + + return err.(pg.Error).Field('C') +} + +func IsDup(err error) bool { + return PGCode(err) == "23505" +} + +func IsSQLError(err error) bool { + return strings.HasPrefix(err.Error(), "ERROR #") +} -- cgit v1.2.3