From 07debec8d5b6957b736ad07cfb7dc081d38fe024 Mon Sep 17 00:00:00 2001 From: Matt Baer Date: Fri, 27 Mar 2020 11:48:20 -0400 Subject: [PATCH] Add new err func to wflib and sqlite builds --- database-lib.go | 4 ++++ database-sqlite.go | 12 +++++++++++- 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/database-lib.go b/database-lib.go index b6b4be2..8b28577 100644 --- a/database-lib.go +++ b/database-lib.go @@ -22,3 +22,7 @@ func (db *datastore) isDuplicateKeyErr(err error) bool { func (db *datastore) isIgnorableError(err error) bool { return false } + +func (db *datastore) isHighLoadError(err error) bool { + return false +} diff --git a/database-sqlite.go b/database-sqlite.go index bd77e6a..10e701e 100644 --- a/database-sqlite.go +++ b/database-sqlite.go @@ -1,7 +1,7 @@ // +build sqlite,!wflib /* - * Copyright © 2019 A Bunch Tell LLC. + * Copyright © 2019-2020 A Bunch Tell LLC. * * This file is part of WriteFreely. * @@ -60,3 +60,13 @@ func (db *datastore) isIgnorableError(err error) bool { return false } + +func (db *datastore) isHighLoadError(err error) bool { + if db.driverName == driverMySQL { + if mysqlErr, ok := err.(*mysql.MySQLError); ok { + return mysqlErr.Number == mySQLErrMaxUserConns || mysqlErr.Number == mySQLErrTooManyConns + } + } + + return false +}