driver_mysql

package
v0.32.1 Latest Latest
Warning

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

Go to latest
Published: Aug 10, 2026 License: Apache-2.0 Imports: 17 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type MySQLDriver

type MySQLDriver struct {
	// contains filtered or unexported fields
}

func (*MySQLDriver) Connect

func (db *MySQLDriver) Connect() error

func (*MySQLDriver) DeleteCommand added in v0.29.0

func (db *MySQLDriver) DeleteCommand(command *model.Command) error

func (*MySQLDriver) DeleteConversation added in v0.29.0

func (db *MySQLDriver) DeleteConversation(conv *model.Conversation) error

func (*MySQLDriver) DeleteEventSink added in v0.28.0

func (db *MySQLDriver) DeleteEventSink(sink *model.EventSink) error

func (*MySQLDriver) DeleteGroup

func (db *MySQLDriver) DeleteGroup(group *model.Group) error

func (*MySQLDriver) DeleteMCPServer added in v0.29.0

func (db *MySQLDriver) DeleteMCPServer(server *model.MCPServer) error

func (*MySQLDriver) DeletePoolDefinition added in v0.28.0

func (db *MySQLDriver) DeletePoolDefinition(pool *model.PoolDefinition) error

func (*MySQLDriver) DeleteResponse added in v0.23.0

func (db *MySQLDriver) DeleteResponse(response *model.Response) error

func (*MySQLDriver) DeleteRole

func (db *MySQLDriver) DeleteRole(role *model.Role) error

func (*MySQLDriver) DeleteScript added in v0.23.0

func (db *MySQLDriver) DeleteScript(script *model.Script) error

func (*MySQLDriver) DeleteSkill added in v0.23.0

func (db *MySQLDriver) DeleteSkill(skill *model.Skill) error

func (*MySQLDriver) DeleteSpace

func (db *MySQLDriver) DeleteSpace(space *model.Space) error

func (*MySQLDriver) DeleteStackDefinition added in v0.24.0

func (db *MySQLDriver) DeleteStackDefinition(def *model.StackDefinition) error

func (*MySQLDriver) DeleteTemplate

func (db *MySQLDriver) DeleteTemplate(template *model.Template) error

func (*MySQLDriver) DeleteTemplateVar

func (db *MySQLDriver) DeleteTemplateVar(templateVar *model.TemplateVar) error

func (*MySQLDriver) DeleteToken

func (db *MySQLDriver) DeleteToken(token *model.Token) error

func (*MySQLDriver) DeleteTombstonedConversationsBefore added in v0.29.0

func (db *MySQLDriver) DeleteTombstonedConversationsBefore(before time.Time) error

DeleteTombstonedConversationsBefore is the reaper: it hard-deletes only tombstoned conversations whose UpdatedAt predates the cutoff. updated_at stores the HLC as a BIGINT; hlc.FromTime yields the comparable threshold.

func (*MySQLDriver) DeleteUser

func (db *MySQLDriver) DeleteUser(user *model.User) error

func (*MySQLDriver) DeleteVolume

func (db *MySQLDriver) DeleteVolume(volume *model.Volume) error

func (*MySQLDriver) GetAuditLogs

func (db *MySQLDriver) GetAuditLogs(filter *model.AuditLogFilter, offset int, limit int) ([]*model.AuditLogEntry, int, error)

func (*MySQLDriver) GetAuditLogsForExport added in v0.24.0

func (db *MySQLDriver) GetAuditLogsForExport(filter *model.AuditLogFilter) ([]*model.AuditLogEntry, error)

func (*MySQLDriver) GetCfgValue

func (db *MySQLDriver) GetCfgValue(name string) (*model.CfgValue, error)

func (*MySQLDriver) GetCfgValues

func (db *MySQLDriver) GetCfgValues() ([]*model.CfgValue, error)

func (*MySQLDriver) GetCommand added in v0.29.0

func (db *MySQLDriver) GetCommand(id string) (*model.Command, error)

func (*MySQLDriver) GetCommands added in v0.29.0

func (db *MySQLDriver) GetCommands() ([]*model.Command, error)

func (*MySQLDriver) GetCommandsByName added in v0.29.0

func (db *MySQLDriver) GetCommandsByName(name string) ([]*model.Command, error)

func (*MySQLDriver) GetCommandsByNameAndUser added in v0.29.0

func (db *MySQLDriver) GetCommandsByNameAndUser(name string, userId string) ([]*model.Command, error)

func (*MySQLDriver) GetConversation added in v0.29.0

func (db *MySQLDriver) GetConversation(userId string, id string) (*model.Conversation, error)

func (*MySQLDriver) GetConversations added in v0.29.0

func (db *MySQLDriver) GetConversations() ([]*model.Conversation, error)

func (*MySQLDriver) GetConversationsByUser added in v0.29.0

func (db *MySQLDriver) GetConversationsByUser(userId string) ([]*model.Conversation, error)

func (*MySQLDriver) GetEventSink added in v0.28.0

func (db *MySQLDriver) GetEventSink(id string) (*model.EventSink, error)

func (*MySQLDriver) GetEventSinks added in v0.28.0

func (db *MySQLDriver) GetEventSinks() ([]*model.EventSink, error)

func (*MySQLDriver) GetGroup

func (db *MySQLDriver) GetGroup(id string) (*model.Group, error)

func (*MySQLDriver) GetGroups

func (db *MySQLDriver) GetGroups() ([]*model.Group, error)

func (*MySQLDriver) GetMCPServer added in v0.29.0

func (db *MySQLDriver) GetMCPServer(id string) (*model.MCPServer, error)

func (*MySQLDriver) GetMCPServers added in v0.29.0

func (db *MySQLDriver) GetMCPServers() ([]*model.MCPServer, error)

func (*MySQLDriver) GetMCPServersByUser added in v0.29.0

func (db *MySQLDriver) GetMCPServersByUser(userId string) ([]*model.MCPServer, error)

func (*MySQLDriver) GetPoolDefinition added in v0.28.0

func (db *MySQLDriver) GetPoolDefinition(id string) (*model.PoolDefinition, error)

func (*MySQLDriver) GetPoolDefinitionByName added in v0.28.0

func (db *MySQLDriver) GetPoolDefinitionByName(userId, name string) (*model.PoolDefinition, error)

func (*MySQLDriver) GetPoolDefinitions added in v0.28.0

func (db *MySQLDriver) GetPoolDefinitions() ([]*model.PoolDefinition, error)

func (*MySQLDriver) GetPoolDefinitionsByUser added in v0.28.0

func (db *MySQLDriver) GetPoolDefinitionsByUser(userId string) ([]*model.PoolDefinition, error)

GetPoolDefinitionsByUser returns the live pools owned by a user. Uses the leading column of the created_user_name unique index, so no separate index is required.

func (*MySQLDriver) GetResponse added in v0.23.0

func (db *MySQLDriver) GetResponse(id string) (*model.Response, error)

func (*MySQLDriver) GetResponses added in v0.23.0

func (db *MySQLDriver) GetResponses() ([]*model.Response, error)

func (*MySQLDriver) GetResponsesByStatus added in v0.23.0

func (db *MySQLDriver) GetResponsesByStatus(status model.ResponseStatus) ([]*model.Response, error)

func (*MySQLDriver) GetResponsesByUser added in v0.23.0

func (db *MySQLDriver) GetResponsesByUser(userId string) ([]*model.Response, error)

func (*MySQLDriver) GetRole

func (db *MySQLDriver) GetRole(id string) (*model.Role, error)

func (*MySQLDriver) GetRoles

func (db *MySQLDriver) GetRoles() ([]*model.Role, error)

func (*MySQLDriver) GetScript added in v0.23.0

func (db *MySQLDriver) GetScript(id string) (*model.Script, error)

func (*MySQLDriver) GetScriptByName added in v0.23.0

func (db *MySQLDriver) GetScriptByName(name string) (*model.Script, error)

func (*MySQLDriver) GetScriptByNameAndUser added in v0.23.0

func (db *MySQLDriver) GetScriptByNameAndUser(name string, userId string) (*model.Script, error)

GetScriptByNameAndUser gets a script by name for a specific user If userId is empty, it searches for global scripts This supports the user script override functionality

func (*MySQLDriver) GetScripts added in v0.23.0

func (db *MySQLDriver) GetScripts() ([]*model.Script, error)

func (*MySQLDriver) GetScriptsByName added in v0.23.0

func (db *MySQLDriver) GetScriptsByName(name string) ([]*model.Script, error)

GetScriptsByName returns all scripts matching a name (for zone-specific overrides)

func (*MySQLDriver) GetScriptsByNameAndUser added in v0.23.0

func (db *MySQLDriver) GetScriptsByNameAndUser(name string, userId string) ([]*model.Script, error)

GetScriptsByNameAndUser returns all scripts matching a name and user_id (for zone-specific overrides)

func (*MySQLDriver) GetSkill added in v0.23.0

func (db *MySQLDriver) GetSkill(id string) (*model.Skill, error)

func (*MySQLDriver) GetSkills added in v0.23.0

func (db *MySQLDriver) GetSkills() ([]*model.Skill, error)

func (*MySQLDriver) GetSkillsByName added in v0.23.0

func (db *MySQLDriver) GetSkillsByName(name string) ([]*model.Skill, error)

func (*MySQLDriver) GetSkillsByNameAndUser added in v0.23.0

func (db *MySQLDriver) GetSkillsByNameAndUser(name string, userId string) ([]*model.Skill, error)

func (*MySQLDriver) GetSpace

func (db *MySQLDriver) GetSpace(id string) (*model.Space, error)

func (*MySQLDriver) GetSpaceByName

func (db *MySQLDriver) GetSpaceByName(userId string, spaceName string) (*model.Space, error)

func (*MySQLDriver) GetSpaceUsageSample added in v0.24.0

func (db *MySQLDriver) GetSpaceUsageSample(id string) (*model.SpaceUsageSample, error)

func (*MySQLDriver) GetSpaceUsageSamples added in v0.24.0

func (db *MySQLDriver) GetSpaceUsageSamples(spaceId string, bucketKind string, from time.Time, to time.Time) ([]*model.SpaceUsageSample, error)

func (*MySQLDriver) GetSpaces

func (db *MySQLDriver) GetSpaces() ([]*model.Space, error)

func (*MySQLDriver) GetSpacesByTemplateId

func (db *MySQLDriver) GetSpacesByTemplateId(templateId string) ([]*model.Space, error)

func (*MySQLDriver) GetSpacesForUser

func (db *MySQLDriver) GetSpacesForUser(userId string) ([]*model.Space, error)

func (*MySQLDriver) GetStackDefinition added in v0.24.0

func (db *MySQLDriver) GetStackDefinition(id string) (*model.StackDefinition, error)

func (*MySQLDriver) GetStackDefinitionByName added in v0.24.0

func (db *MySQLDriver) GetStackDefinitionByName(name string, userId string) (*model.StackDefinition, error)

func (*MySQLDriver) GetStackDefinitions added in v0.24.0

func (db *MySQLDriver) GetStackDefinitions() ([]*model.StackDefinition, error)

func (*MySQLDriver) GetStackDefinitionsByUserId added in v0.24.0

func (db *MySQLDriver) GetStackDefinitionsByUserId(userId string) ([]*model.StackDefinition, error)

func (*MySQLDriver) GetStaleConversations added in v0.29.0

func (db *MySQLDriver) GetStaleConversations(before time.Time) ([]*model.Conversation, error)

func (*MySQLDriver) GetTemplate

func (db *MySQLDriver) GetTemplate(id string) (*model.Template, error)

func (*MySQLDriver) GetTemplateByName added in v0.23.0

func (db *MySQLDriver) GetTemplateByName(name string) (*model.Template, error)

func (*MySQLDriver) GetTemplateVar

func (db *MySQLDriver) GetTemplateVar(id string) (*model.TemplateVar, error)

func (*MySQLDriver) GetTemplateVarByName added in v0.23.0

func (db *MySQLDriver) GetTemplateVarByName(name string) (*model.TemplateVar, error)

func (*MySQLDriver) GetTemplateVars

func (db *MySQLDriver) GetTemplateVars() ([]*model.TemplateVar, error)

func (*MySQLDriver) GetTemplates

func (db *MySQLDriver) GetTemplates() ([]*model.Template, error)

func (*MySQLDriver) GetToken

func (db *MySQLDriver) GetToken(id string) (*model.Token, error)

func (*MySQLDriver) GetTokens

func (db *MySQLDriver) GetTokens() ([]*model.Token, error)

func (*MySQLDriver) GetTokensForUser

func (db *MySQLDriver) GetTokensForUser(userId string) ([]*model.Token, error)

func (*MySQLDriver) GetUser

func (db *MySQLDriver) GetUser(id string) (*model.User, error)

func (*MySQLDriver) GetUserByEmail

func (db *MySQLDriver) GetUserByEmail(email string) (*model.User, error)

func (*MySQLDriver) GetUserByProviderUID added in v0.23.7

func (db *MySQLDriver) GetUserByProviderUID(providerID, providerUID string) (*model.User, error)

func (*MySQLDriver) GetUserByUsername

func (db *MySQLDriver) GetUserByUsername(name string) (*model.User, error)

func (*MySQLDriver) GetUsers

func (db *MySQLDriver) GetUsers() ([]*model.User, error)

func (*MySQLDriver) GetVolume

func (db *MySQLDriver) GetVolume(id string) (*model.Volume, error)

func (*MySQLDriver) GetVolumeByName added in v0.23.0

func (db *MySQLDriver) GetVolumeByName(name string) (*model.Volume, error)

func (*MySQLDriver) GetVolumes

func (db *MySQLDriver) GetVolumes() ([]*model.Volume, error)

func (*MySQLDriver) HasAuditLog

func (db *MySQLDriver) HasAuditLog() bool

func (*MySQLDriver) HasUsers

func (db *MySQLDriver) HasUsers() (bool, error)

func (*MySQLDriver) SaveAuditLog

func (db *MySQLDriver) SaveAuditLog(auditLog *model.AuditLogEntry) error

func (*MySQLDriver) SaveCfgValue

func (db *MySQLDriver) SaveCfgValue(cfgValue *model.CfgValue) error

func (*MySQLDriver) SaveCommand added in v0.29.0

func (db *MySQLDriver) SaveCommand(command *model.Command, updateFields []string) error

func (*MySQLDriver) SaveConversation added in v0.29.0

func (db *MySQLDriver) SaveConversation(conv *model.Conversation) error

SaveConversation upserts a conversation by its primary key.

This is an atomic single-statement INSERT ... ON DUPLICATE KEY UPDATE rather than the read-then-write (EXISTS check inside a transaction + INSERT/UPDATE on a pooled connection) used by SaveCommand. That older pattern self-deadlocks here: the transaction's SELECT takes an InnoDB gap lock on the (non-existent) row, then the INSERT runs on a DIFFERENT pooled connection and blocks waiting for that gap lock — which is only released when the transaction commits, which can't happen until the INSERT returns. The chat UI fires persist() many times per turn, so overlapping saves of the same conversation are frequent and the deadlock triggers constantly. The upsert has no separate locking SELECT, so it can't deadlock; concurrent saves serialize on the row lock instead.

created_at and user_id are set on insert and never changed thereafter (a conversation's creation time and owner are immutable).

func (*MySQLDriver) SaveEventSink added in v0.28.0

func (db *MySQLDriver) SaveEventSink(sink *model.EventSink, updateFields []string) error

func (*MySQLDriver) SaveGroup

func (db *MySQLDriver) SaveGroup(group *model.Group) error

func (*MySQLDriver) SaveMCPServer added in v0.29.0

func (db *MySQLDriver) SaveMCPServer(server *model.MCPServer, updateFields []string) error

func (*MySQLDriver) SavePoolDefinition added in v0.28.0

func (db *MySQLDriver) SavePoolDefinition(pool *model.PoolDefinition, updateFields []string) error

func (*MySQLDriver) SaveResponse added in v0.23.0

func (db *MySQLDriver) SaveResponse(response *model.Response) error

func (*MySQLDriver) SaveRole

func (db *MySQLDriver) SaveRole(role *model.Role) error

func (*MySQLDriver) SaveScript added in v0.23.0

func (db *MySQLDriver) SaveScript(script *model.Script, updateFields []string) error

func (*MySQLDriver) SaveSkill added in v0.23.0

func (db *MySQLDriver) SaveSkill(skill *model.Skill, updateFields []string) error

func (*MySQLDriver) SaveSpace

func (db *MySQLDriver) SaveSpace(space *model.Space, updateFields []string) error

func (*MySQLDriver) SaveSpaceUsageSample added in v0.24.0

func (db *MySQLDriver) SaveSpaceUsageSample(sample *model.SpaceUsageSample) error

func (*MySQLDriver) SaveStackDefinition added in v0.24.0

func (db *MySQLDriver) SaveStackDefinition(def *model.StackDefinition, updateFields []string) error

func (*MySQLDriver) SaveTemplate

func (db *MySQLDriver) SaveTemplate(template *model.Template, updateFields []string) error

func (*MySQLDriver) SaveTemplateVar

func (db *MySQLDriver) SaveTemplateVar(templateVar *model.TemplateVar) error

func (*MySQLDriver) SaveToken

func (db *MySQLDriver) SaveToken(token *model.Token) error

func (*MySQLDriver) SaveUser

func (db *MySQLDriver) SaveUser(user *model.User, updateFields []string) error

func (*MySQLDriver) SaveVolume

func (db *MySQLDriver) SaveVolume(volume *model.Volume, updateFields []string) error

Jump to

Keyboard shortcuts

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