postsql

package
v0.0.0-...-75aca4d Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 1, 2021 License: Apache-2.0, Apache-2.0 Imports: 12 Imported by: 0

Documentation

Index

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 Transaction interface {
	Commit() dberr.Error
	RollbackUnlessCommitted()
}

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
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL