Files
golib/nutsdb/errors.go
nabbar c4b5f11efc Rework ioutils/gzipreader/fileprogress
Package ioutils:
- remove file progress from ioutils and rework it to package
  file/progress

Package file/progress:
- simplify call / use of file progress
- optimize code
- use atomic to function progress
- isolation part of code
- make interface more compatible with *os/File / io interface

Package archive/gzipreader
- create package to expose a io.reader interface from a no gzipped io.reader
- add interface GZipReader to expose metrics like rate of compression

Package archive:
- apply following change
- add minor internal change into errors files

Package artifact:
- apply following change
- add minor internal change into errors files

Package aws:
- apply following change
- removing minio server from repo

Package mail:
- apply following change
- add minor internal change into errors files

Package nutsdb:
- apply following change
- add minor internal change into errors files

Package static:
- apply following change

Other:
- bump dependencies
- ci/cd : add a wget command to dl minio server for testing
- add aws/minio to gitignore
2023-08-22 19:42:46 +02:00

165 lines
5.5 KiB
Go

//go:build !386 && !arm && !mips && !mipsle
// +build !386,!arm,!mips,!mipsle
/***********************************************************************************************************************
*
* MIT License
*
* Copyright (c) 2021 Nicolas JUHEL
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in all
* copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
* SOFTWARE.
*
*
**********************************************************************************************************************/
package nutsdb
import (
"fmt"
liberr "github.com/nabbar/golib/errors"
)
const pkgName = "golib/nutsdb"
const (
ErrorParamEmpty liberr.CodeError = iota + liberr.MinPkgNutsDB
ErrorParamMissing
ErrorParamMismatching
ErrorParamInvalid
ErrorParamInvalidNumber
ErrorValidateConfig
ErrorValidateNutsDB
ErrorClusterInit
ErrorFileTemp
ErrorFolderCheck
ErrorFolderCreate
ErrorFolderCopy
ErrorFolderDelete
ErrorFolderExtract
ErrorFolderArchive
ErrorFolderCompress
ErrorDatabaseClosed
ErrorDatabaseKeyInvalid
ErrorDatabaseBackup
ErrorDatabaseSnapshot
ErrorTransactionInit
ErrorTransactionClosed
ErrorTransactionCommit
ErrorTransactionPutKey
ErrorCommandInvalid
ErrorCommandUnmarshal
ErrorCommandMarshal
ErrorCommandResultUnmarshal
ErrorCommandResultMarshal
ErrorLogEntryAdd
ErrorClientCommandInvalid
ErrorClientCommandParamsBadNumber
ErrorClientCommandParamsMismatching
ErrorClientCommandCall
ErrorClientCommandCommit
ErrorClientCommandResponseInvalid
)
func init() {
if liberr.ExistInMapMessage(ErrorParamEmpty) {
panic(fmt.Errorf("error code collision %s", pkgName))
}
liberr.RegisterIdFctMessage(ErrorParamEmpty, getMessage)
}
func getMessage(code liberr.CodeError) (message string) {
switch code {
case liberr.UnknownError:
return liberr.NullMessage
case ErrorParamEmpty:
return "at least one given parameter is empty"
case ErrorParamMissing:
return "at least one given parameter is missing"
case ErrorParamMismatching:
return "at least one given parameter does not match the awaiting type"
case ErrorParamInvalid:
return "at least one given parameter is invalid"
case ErrorParamInvalidNumber:
return "the number of parameters is not matching the awaiting number"
case ErrorValidateConfig:
return "config seems to be invalid"
case ErrorValidateNutsDB:
return "database config seems to be invalid"
case ErrorClusterInit:
return "cannot start or join cluster"
case ErrorFileTemp:
return "error while trying to create new temp file"
case ErrorFolderCheck:
return "error while trying to check or stat folder"
case ErrorFolderCreate:
return "error while trying to create folder"
case ErrorFolderCopy:
return "error while trying to copy folder"
case ErrorFolderArchive:
return "error while trying to archive folder"
case ErrorFolderCompress:
return "error while trying to compress folder"
case ErrorFolderExtract:
return "error while trying to extract snapshot archive"
case ErrorDatabaseClosed:
return "database is closed"
case ErrorDatabaseKeyInvalid:
return "database key seems to be invalid"
case ErrorDatabaseBackup:
return "error occured while trying to backup database folder"
case ErrorDatabaseSnapshot:
return "error occured while trying to backup database to cluster members"
case ErrorTransactionInit:
return "cannot initialize new transaction from database"
case ErrorTransactionClosed:
return "transaction is closed"
case ErrorTransactionCommit:
return "cannot commit transaction writable into database"
case ErrorTransactionPutKey:
return "cannot send Put command into database transaction"
case ErrorCommandInvalid:
return "given query is not a valid DB command"
case ErrorCommandUnmarshal:
return "cannot unmarshall DB command"
case ErrorCommandMarshal:
return "cannot marshall DB command"
case ErrorCommandResultUnmarshal:
return "cannot unmarshall DB command result"
case ErrorCommandResultMarshal:
return "cannot marshall DB command result"
case ErrorLogEntryAdd:
return "cannot add key/value to database"
case ErrorClientCommandInvalid:
return "invalid command"
case ErrorClientCommandParamsBadNumber:
return "invalid number of parameters for client command"
case ErrorClientCommandParamsMismatching:
return "invalid type of parameter for client command"
case ErrorClientCommandCall:
return "error occured while running client command"
case ErrorClientCommandCommit:
return "error occured while commit client command"
case ErrorClientCommandResponseInvalid:
return "response of requested client command seems to be invalid"
}
return liberr.NullMessage
}