featurebase/dax/errors.go
David Kagan dd90838deb
Cloud 1457 (#2347)
* added dupe check

* added dupe check for databases

* prevent dupe table names

* refactored table dupe search

* further refactoring

This commit, further refactoring of checking for duplicates are done with SQL commands
Also adjusted tests to confirm changes

* fixed linting errors

* moved the errors around to keep them consolidated in the dax package

also removed useless comment
2023-03-23 16:20:45 -04:00

131 lines
3.4 KiB
Go

package dax
import (
"fmt"
"github.com/featurebasedb/featurebase/v3/errors"
)
const (
ErrOrganizationIDDoesNotExist errors.Code = "OrganizationIDDoesNotExist"
ErrDatabaseIDExists errors.Code = "DatabaseIDExists"
ErrDatabaseIDDoesNotExist errors.Code = "DatabaseIDDoesNotExist"
ErrDatabaseNameDoesNotExist errors.Code = "DatabaseNameDoesNotExist"
ErrDatabaseNameExists errors.Code = "DatabaseNameExists"
ErrTableIDExists errors.Code = "TableIDExists"
ErrTableKeyExists errors.Code = "TableKeyExists"
ErrTableNameExists errors.Code = "TableNameExists"
ErrTableIDDoesNotExist errors.Code = "TableIDDoesNotExist"
ErrTableKeyDoesNotExist errors.Code = "TableKeyDoesNotExist"
ErrTableNameDoesNotExist errors.Code = "TableNameDoesNotExist"
ErrFieldExists errors.Code = "FieldExists"
ErrFieldDoesNotExist errors.Code = "FieldDoesNotExist"
ErrInvalidTransaction errors.Code = "InvalidTransaction"
ErrUnimplemented errors.Code = "Unimplemented"
)
// The following are helper functions for constructing coded errors containing
// relevant information about the specific error.
func NewErrOrganizationIDDoesNotExist(orgID OrganizationID) error {
return errors.New(
ErrOrganizationIDDoesNotExist,
fmt.Sprintf("Organization ID '%s' does not exist", orgID),
)
}
func NewErrDatabaseIDExists(qdbid QualifiedDatabaseID) error {
return errors.New(
ErrDatabaseIDExists,
fmt.Sprintf("database ID '%s' already exists", qdbid),
)
}
func NewErrDatabaseIDDoesNotExist(qdbid QualifiedDatabaseID) error {
return errors.New(
ErrDatabaseIDDoesNotExist,
fmt.Sprintf("database ID '%s' does not exist", qdbid),
)
}
func NewErrDatabaseNameDoesNotExist(dbName DatabaseName) error {
return errors.New(
ErrDatabaseNameDoesNotExist,
fmt.Sprintf("database name '%s' does not exist", dbName),
)
}
func NewErrDatabaseNameExists(dbName DatabaseName) error {
return errors.New(
ErrDatabaseNameExists,
fmt.Sprintf("database name %s already exists", dbName),
)
}
func NewErrTableIDDoesNotExist(qtid QualifiedTableID) error {
return errors.New(
ErrTableIDDoesNotExist,
fmt.Sprintf("table ID '%s' does not exist", qtid),
)
}
func NewErrTableKeyDoesNotExist(tkey TableKey) error {
return errors.New(
ErrTableKeyDoesNotExist,
fmt.Sprintf("table key '%s' does not exist", tkey),
)
}
func NewErrTableNameDoesNotExist(tableName TableName) error {
return errors.New(
ErrTableNameDoesNotExist,
fmt.Sprintf("table name '%s' does not exist", tableName),
)
}
func NewErrTableIDExists(qtid QualifiedTableID) error {
return errors.New(
ErrTableIDExists,
fmt.Sprintf("table ID '%s' already exists", qtid),
)
}
func NewErrTableKeyExists(tkey TableKey) error {
return errors.New(
ErrTableKeyExists,
fmt.Sprintf("table key '%s' already exists", tkey),
)
}
func NewErrTableNameExists(tableName TableName) error {
return errors.New(
ErrTableNameExists,
fmt.Sprintf("table name '%s' already exists", tableName),
)
}
func NewErrFieldDoesNotExist(fieldName FieldName) error {
return errors.New(
ErrFieldDoesNotExist,
fmt.Sprintf("field '%s' does not exist", fieldName),
)
}
func NewErrFieldExists(fieldName FieldName) error {
return errors.New(
ErrFieldExists,
fmt.Sprintf("field '%s' already exists", fieldName),
)
}
func NewErrInvalidTransaction(txType string) error {
return errors.New(
ErrInvalidTransaction,
fmt.Sprintf("tx is not expected type: '%s'", txType),
)
}