Documentation ¶
Index ¶
- Constants
- func InitializeDatabase(connectionURL string, retries int, log logrus.FieldLogger) (*dbr.Connection, error)
- func WaitForDatabaseAccess(connString string, retryCount int, log logrus.FieldLogger) (*dbr.Connection, error)
- type Factory
- type ReadSession
- type Transaction
- type WriteSession
- type WriteSessionWithinTransaction
Constants ¶
View Source
const ( InstancesTableName = "instances" OperationTableName = "operations" OrchestrationTableName = "orchestrations" RuntimeStateTableName = "runtime_states" LMSTenantTableName = "lms_tenants" CreatedAtField = "created_at" )
View Source
const TableNotExistsError = "42P01"
View Source
const (
UniqueViolationErrorCode = "23505"
)
Variables ¶
This section is empty.
Functions ¶
func InitializeDatabase ¶
func InitializeDatabase(connectionURL string, retries int, log logrus.FieldLogger) (*dbr.Connection, error)
InitializeDatabase opens database connection and initializes schema if it does not exist
func WaitForDatabaseAccess ¶
func WaitForDatabaseAccess(connString string, retryCount int, log logrus.FieldLogger) (*dbr.Connection, error)
Types ¶
type Factory ¶
type Factory interface { NewReadSession() ReadSession NewWriteSession() WriteSession NewSessionWithinTransaction() (WriteSessionWithinTransaction, dberr.Error) }
func NewFactory ¶
func NewFactory(connection *dbr.Connection) Factory
type ReadSession ¶
type ReadSession interface { FindAllInstancesJoinedWithOperation(prct ...predicate.Predicate) ([]dbmodel.InstanceWithOperationDTO, dberr.Error) FindAllInstancesForRuntimes(runtimeIdList []string) ([]dbmodel.InstanceDTO, dberr.Error) FindAllInstancesForSubAccounts(subAccountslist []string) ([]dbmodel.InstanceDTO, dberr.Error) GetInstanceByID(instanceID string) (dbmodel.InstanceDTO, dberr.Error) GetLastOperation(instanceID string) (dbmodel.OperationDTO, dberr.Error) GetOperationByID(opID string) (dbmodel.OperationDTO, dberr.Error) GetNotFinishedOperationsByType(operationType dbmodel.OperationType) ([]dbmodel.OperationDTO, dberr.Error) GetOperationByTypeAndInstanceID(inID string, opType dbmodel.OperationType) (dbmodel.OperationDTO, dberr.Error) GetOperationsByTypeAndInstanceID(inID string, opType dbmodel.OperationType) ([]dbmodel.OperationDTO, dberr.Error) GetOperationsForIDs(opIdList []string) ([]dbmodel.OperationDTO, dberr.Error) ListOperations(filter dbmodel.OperationFilter) ([]dbmodel.OperationDTO, int, int, error) ListOperationsByType(operationType dbmodel.OperationType) ([]dbmodel.OperationDTO, dberr.Error) GetLMSTenant(name, region string) (dbmodel.LMSTenantDTO, dberr.Error) GetOperationStats() ([]dbmodel.OperationStatEntry, error) GetInstanceStats() ([]dbmodel.InstanceByGlobalAccountIDStatEntry, error) GetNumberOfInstancesForGlobalAccountID(globalAccountID string) (int, error) GetRuntimeStateByOperationID(operationID string) (dbmodel.RuntimeStateDTO, dberr.Error) ListRuntimeStateByRuntimeID(runtimeID string) ([]dbmodel.RuntimeStateDTO, dberr.Error) GetOrchestrationByID(oID string) (dbmodel.OrchestrationDTO, dberr.Error) ListOrchestrations(filter dbmodel.OrchestrationFilter) ([]dbmodel.OrchestrationDTO, int, int, error) ListInstances(filter dbmodel.InstanceFilter) ([]dbmodel.InstanceDTO, int, int, error) ListOperationsByOrchestrationID(orchestrationID string, filter dbmodel.OperationFilter) ([]dbmodel.OperationDTO, int, int, error) GetOperationStatsForOrchestration(orchestrationID string) ([]dbmodel.OperationStatEntry, error) }
type Transaction ¶
type WriteSession ¶
type WriteSession interface { InsertInstance(instance dbmodel.InstanceDTO) dberr.Error UpdateInstance(instance dbmodel.InstanceDTO) dberr.Error DeleteInstance(instanceID string) dberr.Error InsertOperation(dto dbmodel.OperationDTO) dberr.Error UpdateOperation(dto dbmodel.OperationDTO) dberr.Error InsertOrchestration(o dbmodel.OrchestrationDTO) dberr.Error UpdateOrchestration(o dbmodel.OrchestrationDTO) dberr.Error InsertRuntimeState(state dbmodel.RuntimeStateDTO) dberr.Error InsertLMSTenant(dto dbmodel.LMSTenantDTO) dberr.Error }
type WriteSessionWithinTransaction ¶
type WriteSessionWithinTransaction interface { WriteSession Transaction }
Click to show internal directories.
Click to hide internal directories.