// // errors.go // Copyright (C) 2023 tiglog // // Distributed under terms of the MIT license. // package sqldb import ( "fmt" ) // A non-fatal error, when a select query returns columns that do not exist // as fields in the struct it is being mapped to // TODO: discuss wether this needs an error. encoding/json silently ignores missing fields type NoFieldInTypeError struct { TypeName string MissingColNames []string } func (err *NoFieldInTypeError) Error() string { return fmt.Sprintf("sqldb: no fields %+v in type %s", err.MissingColNames, err.TypeName) } // returns true if the error is non-fatal (ie, we shouldn't immediately return) func NonFatalError(err error) bool { switch err.(type) { case *NoFieldInTypeError: return true default: return false } }