Documentation
¶
Index ¶
- Constants
- Variables
- func GetDBShardIDFromDomainID(domainID string, numDBShards int) int
- func GetDBShardIDFromDomainIDAndTasklist(domainID, tasklistName string, numDBShards int) int
- func GetDBShardIDFromHistoryShardID(historyShardID int, numDBShards int) int
- func GetDBShardIDFromTreeID(treeID serialization.UUID, numDBShards int) int
- type ActivityInfoMapsFilter
- type ActivityInfoMapsRow
- type AdminDB
- type BufferedEventsFilter
- type BufferedEventsRow
- type ChildExecutionInfoMapsFilter
- type ChildExecutionInfoMapsRow
- type CrossClusterTasksFilter
- type CrossClusterTasksRow
- type CurrentExecutionsFilter
- type CurrentExecutionsRow
- type DB
- type DomainFilter
- type DomainMetadataRow
- type DomainRow
- type ErrorChecker
- type EventsFilter
- type EventsRow
- type ExecutionsFilter
- type ExecutionsRow
- type HistoryNodeFilter
- type HistoryNodeRow
- type HistoryTreeFilter
- type HistoryTreeRow
- type OrphanTasksFilter
- type Plugin
- type QueueMetadataRow
- type QueueRow
- type ReplicationTaskDLQFilter
- type ReplicationTaskDLQRow
- type ReplicationTasksDLQFilter
- type ReplicationTasksFilter
- type ReplicationTasksRow
- type RequestCancelInfoMapsFilter
- type RequestCancelInfoMapsRow
- type ShardsFilter
- type ShardsRow
- type SignalInfoMapsFilter
- type SignalInfoMapsRow
- type SignalsRequestedSetsFilter
- type SignalsRequestedSetsRow
- type TaskKeyRow
- type TaskListsFilter
- type TaskListsRow
- type TaskListsRowWithTTL
- type TasksFilter
- type TasksRow
- type TasksRowWithTTL
- type TimerInfoMapsFilter
- type TimerInfoMapsRow
- type TimerTasksFilter
- type TimerTasksRow
- type TransferTasksFilter
- type TransferTasksRow
- type Tx
- type VisibilityFilter
- type VisibilityRow
Constants ¶
const ( // this means the query need to execute in one shard but the shard should be fixed/static, e.g. for domain, queue storage are single shard DbDefaultShard = 0 // this is should never being used in sharded SQL driver. It is used in admin/schema operation in singleton driver, which ignores all the shardID parameter DbShardUndefined = -1 // this means the query needs to execute in all dbShards in sharded SQL driver (currently not supported) DbAllShards = -2 )
This section defines the special dbShardID, they must all below 0
Variables ¶
var ( // ErrTTLNotSupported indicates the sql plugin does not support ttl ErrTTLNotSupported = errors.New("plugin implementation does not support ttl") )
Functions ¶
func GetDBShardIDFromDomainID ¶ added in v0.24.0
GetDBShardIDFromDomainID maps domainID to a DBShardID
func GetDBShardIDFromDomainIDAndTasklist ¶ added in v0.24.0
GetDBShardIDFromDomainIDAndTasklist maps <domainID, tasklistName> to a DBShardID
func GetDBShardIDFromHistoryShardID ¶ added in v0.24.0
GetDBShardIDFromHistoryShardID maps historyShardID to a DBShardID
func GetDBShardIDFromTreeID ¶ added in v0.24.0
func GetDBShardIDFromTreeID(treeID serialization.UUID, numDBShards int) int
GetDBShardIDFromTreeID maps treeID to a DBShardID
Types ¶
type ActivityInfoMapsFilter ¶
type ActivityInfoMapsFilter struct { ShardID int64 DomainID serialization.UUID WorkflowID string RunID serialization.UUID ScheduleIDs []int64 }
ActivityInfoMapsFilter contains the column names within activity_info_maps table that can be used to filter results through a WHERE clause
type ActivityInfoMapsRow ¶
type ActivityInfoMapsRow struct { ShardID int64 DomainID serialization.UUID WorkflowID string RunID serialization.UUID ScheduleID int64 Data []byte DataEncoding string LastHeartbeatDetails []byte LastHeartbeatUpdatedTime time.Time }
ActivityInfoMapsRow represents a row in activity_info_maps table
type AdminDB ¶
type AdminDB interface { PluginName() string Close() error // contains filtered or unexported methods }
AdminDB defines the API for admin SQL operations for CLI and testing suites
type BufferedEventsFilter ¶
type BufferedEventsFilter struct { ShardID int DomainID serialization.UUID WorkflowID string RunID serialization.UUID }
BufferedEventsFilter contains the column names within buffered_events table that can be used to filter results through a WHERE clause
type BufferedEventsRow ¶
type BufferedEventsRow struct { ShardID int DomainID serialization.UUID WorkflowID string RunID serialization.UUID Data []byte DataEncoding string }
BufferedEventsRow represents a row in buffered_events table
type ChildExecutionInfoMapsFilter ¶
type ChildExecutionInfoMapsFilter struct { ShardID int64 DomainID serialization.UUID WorkflowID string RunID serialization.UUID InitiatedIDs []int64 }
ChildExecutionInfoMapsFilter contains the column names within child_execution_info_maps table that can be used to filter results through a WHERE clause
type ChildExecutionInfoMapsRow ¶
type ChildExecutionInfoMapsRow struct { ShardID int64 DomainID serialization.UUID WorkflowID string RunID serialization.UUID InitiatedID int64 Data []byte DataEncoding string }
ChildExecutionInfoMapsRow represents a row in child_execution_info_maps table
type CrossClusterTasksFilter ¶ added in v0.22.0
type CrossClusterTasksFilter struct { TargetCluster string ShardID int TaskID int64 MinTaskID int64 MaxTaskID int64 PageSize int }
CrossClusterTasksFilter contains the column names within cross_cluster_tasks table that can be used to filter results through a WHERE clause
type CrossClusterTasksRow ¶ added in v0.22.0
type CrossClusterTasksRow struct { TargetCluster string ShardID int TaskID int64 Data []byte DataEncoding string }
CrossClusterTasksRow represents a row in cross_cluster_tasks table
type CurrentExecutionsFilter ¶
type CurrentExecutionsFilter struct { ShardID int64 DomainID serialization.UUID WorkflowID string RunID serialization.UUID }
CurrentExecutionsFilter contains the column names within current_executions table that can be used to filter results through a WHERE clause
type CurrentExecutionsRow ¶
type CurrentExecutionsRow struct { ShardID int64 DomainID serialization.UUID WorkflowID string RunID serialization.UUID CreateRequestID string State int CloseStatus int LastWriteVersion int64 StartVersion int64 }
CurrentExecutionsRow represents a row in current_executions table
type DB ¶
type DB interface { ErrorChecker GetTotalNumDBShards() int BeginTx(ctx context.Context, dbShardID int) (Tx, error) PluginName() string Close() error // contains filtered or unexported methods }
DB defines the API for regular SQL operations of a Cadence server
type DomainFilter ¶
type DomainFilter struct { ID *serialization.UUID Name *string GreaterThanID *serialization.UUID PageSize *int }
DomainFilter contains the column names within domain table that can be used to filter results through a WHERE clause. When ID is not nil, it will be used for WHERE condition. If ID is nil and Name is non-nil, Name will be used for WHERE condition. When both ID and Name are nil, no WHERE clause will be used
type DomainMetadataRow ¶
type DomainMetadataRow struct {
NotificationVersion int64
}
DomainMetadataRow represents a row in domain_metadata table
type DomainRow ¶
type DomainRow struct { ID serialization.UUID Name string Data []byte DataEncoding string IsGlobal bool }
DomainRow represents a row in domain table
type ErrorChecker ¶ added in v0.21.2
type EventsFilter ¶
type EventsFilter struct { DomainID serialization.UUID WorkflowID string RunID serialization.UUID FirstEventID *int64 NextEventID *int64 PageSize *int }
EventsFilter contains the column names within events table that can be used to filter results through a WHERE clause
type EventsRow ¶
type EventsRow struct { DomainID serialization.UUID WorkflowID string RunID serialization.UUID FirstEventID int64 BatchVersion int64 RangeID int64 TxID int64 Data []byte DataEncoding string }
EventsRow represents a row in events table
type ExecutionsFilter ¶
type ExecutionsFilter struct { ShardID int DomainID serialization.UUID WorkflowID string RunID serialization.UUID Size int }
ExecutionsFilter contains the column names within executions table that can be used to filter results through a WHERE clause To get single row, it requires ShardID, DomainID, WorkflowID, RunID To get a list of rows, it requires ShardID, Size. The WorkflowID and RunID are optional for listing rows. They work as the start boundary for pagination.
type ExecutionsRow ¶
type ExecutionsRow struct { ShardID int DomainID serialization.UUID WorkflowID string RunID serialization.UUID NextEventID int64 LastWriteVersion int64 Data []byte DataEncoding string VersionHistories []byte VersionHistoriesEncoding string }
ExecutionsRow represents a row in executions table
type HistoryNodeFilter ¶
type HistoryNodeFilter struct { ShardID int TreeID serialization.UUID BranchID serialization.UUID // Inclusive MinNodeID *int64 // Exclusive MaxNodeID *int64 PageSize int }
HistoryNodeFilter contains the column names within history_node table that can be used to filter results through a WHERE clause
type HistoryNodeRow ¶
type HistoryNodeRow struct { ShardID int TreeID serialization.UUID BranchID serialization.UUID NodeID int64 // use pointer so that it's easier to multiple by -1 TxnID *int64 Data []byte DataEncoding string }
HistoryNodeRow represents a row in history_node table
type HistoryTreeFilter ¶
type HistoryTreeFilter struct { ShardID int TreeID serialization.UUID BranchID *serialization.UUID PageSize *int }
HistoryTreeFilter contains the column names within history_tree table that can be used to filter results through a WHERE clause
type HistoryTreeRow ¶
type HistoryTreeRow struct { ShardID int TreeID serialization.UUID BranchID serialization.UUID Data []byte DataEncoding string }
HistoryTreeRow represents a row in history_tree table
type OrphanTasksFilter ¶ added in v0.21.0
type OrphanTasksFilter struct {
Limit *int
}
OrphanTasksFilter contains the parameters controlling orphan deletion
type Plugin ¶
type Plugin interface { CreateDB(cfg *config.SQL) (DB, error) CreateAdminDB(cfg *config.SQL) (AdminDB, error) }
Plugin defines the interface for any SQL database that needs to implement
type QueueMetadataRow ¶
type QueueMetadataRow struct { QueueType persistence.QueueType Data []byte }
QueueMetadataRow represents a row in queue_metadata table
type QueueRow ¶
type QueueRow struct { QueueType persistence.QueueType MessageID int64 MessagePayload []byte }
QueueRow represents a row in queue table
type ReplicationTaskDLQFilter ¶ added in v0.14.0
ReplicationTaskDLQFilter contains the column names within replication_tasks_dlq table that can be used to filter results through a WHERE clause
type ReplicationTaskDLQRow ¶
type ReplicationTaskDLQRow struct { SourceClusterName string ShardID int TaskID int64 Data []byte DataEncoding string }
ReplicationTaskDLQRow represents a row in replication_tasks_dlq table
type ReplicationTasksDLQFilter ¶
type ReplicationTasksDLQFilter struct { ReplicationTasksFilter SourceClusterName string }
ReplicationTasksDLQFilter contains the column names within replication_tasks_dlq table that can be used to filter results through a WHERE clause
type ReplicationTasksFilter ¶
type ReplicationTasksFilter struct { ShardID int TaskID int64 InclusiveEndTaskID int64 MinTaskID int64 MaxTaskID int64 PageSize int }
ReplicationTasksFilter contains the column names within replication_tasks table that can be used to filter results through a WHERE clause
type ReplicationTasksRow ¶
ReplicationTasksRow represents a row in replication_tasks table
type RequestCancelInfoMapsFilter ¶
type RequestCancelInfoMapsFilter struct { ShardID int64 DomainID serialization.UUID WorkflowID string RunID serialization.UUID InitiatedIDs []int64 }
RequestCancelInfoMapsFilter contains the column names within request_cancel_info_maps table that can be used to filter results through a WHERE clause
type RequestCancelInfoMapsRow ¶
type RequestCancelInfoMapsRow struct { ShardID int64 DomainID serialization.UUID WorkflowID string RunID serialization.UUID InitiatedID int64 Data []byte DataEncoding string }
RequestCancelInfoMapsRow represents a row in request_cancel_info_maps table
type ShardsFilter ¶
type ShardsFilter struct {
ShardID int64
}
ShardsFilter contains the column names within shards table that can be used to filter results through a WHERE clause
type SignalInfoMapsFilter ¶
type SignalInfoMapsFilter struct { ShardID int64 DomainID serialization.UUID WorkflowID string RunID serialization.UUID InitiatedIDs []int64 }
SignalInfoMapsFilter contains the column names within signal_info_maps table that can be used to filter results through a WHERE clause
type SignalInfoMapsRow ¶
type SignalInfoMapsRow struct { ShardID int64 DomainID serialization.UUID WorkflowID string RunID serialization.UUID InitiatedID int64 Data []byte DataEncoding string }
SignalInfoMapsRow represents a row in signal_info_maps table
type SignalsRequestedSetsFilter ¶
type SignalsRequestedSetsFilter struct { ShardID int64 DomainID serialization.UUID WorkflowID string RunID serialization.UUID SignalIDs []string }
SignalsRequestedSetsFilter contains the column names within signals_requested_sets table that can be used to filter results through a WHERE clause
type SignalsRequestedSetsRow ¶
type SignalsRequestedSetsRow struct { ShardID int64 DomainID serialization.UUID WorkflowID string RunID serialization.UUID SignalID string }
SignalsRequestedSetsRow represents a row in signals_requested_sets table
type TaskKeyRow ¶ added in v0.21.0
type TaskKeyRow struct { DomainID serialization.UUID TaskListName string TaskType int64 TaskID int64 }
TaskKeyRow represents a result row giving task keys
type TaskListsFilter ¶
type TaskListsFilter struct { ShardID int // this is DBShardID, not historyShardID (TODO: maybe rename it for clarification) DomainID *serialization.UUID Name *string TaskType *int64 DomainIDGreaterThan *serialization.UUID NameGreaterThan *string TaskTypeGreaterThan *int64 RangeID *int64 PageSize *int }
TaskListsFilter contains the column names within task_lists table that can be used to filter results through a WHERE clause
type TaskListsRow ¶
type TaskListsRow struct { ShardID int // this is DBShardID, not historyShardID (TODO: maybe rename it for clarification) DomainID serialization.UUID Name string TaskType int64 RangeID int64 Data []byte DataEncoding string }
TaskListsRow represents a row in task_lists table
type TaskListsRowWithTTL ¶ added in v0.17.0
type TaskListsRowWithTTL struct { TaskListsRow TaskListsRow TTL time.Duration }
TaskListsRowWithTTL represents a row in task_lists table with a ttl
type TasksFilter ¶
type TasksFilter struct { ShardID int // this is DBShardID, not historyShardID (TODO: maybe rename it for clarification) DomainID serialization.UUID TaskListName string TaskType int64 TaskID *int64 MinTaskID *int64 MaxTaskID *int64 TaskIDLessThanEquals *int64 Limit *int PageSize *int }
TasksFilter contains the column names within tasks table that can be used to filter results through a WHERE clause
type TasksRow ¶
type TasksRow struct { ShardID int // this is DBShardID, not historyShardID (TODO: maybe rename it for clarification) DomainID serialization.UUID TaskType int64 TaskID int64 TaskListName string Data []byte DataEncoding string }
TasksRow represents a row in tasks table
type TasksRowWithTTL ¶ added in v0.17.0
type TasksRowWithTTL struct { TasksRow TasksRow // TTL is optional because InsertIntoTasksWithTTL operates over a slice of TasksRowWithTTL. // Some items in the slice may have a TTL while others do not. It is the responsibility // of the plugin implementation to handle items with TTL set and items with TTL not set. TTL *time.Duration }
TasksRowWithTTL represents a row in tasks table with a ttl
type TimerInfoMapsFilter ¶
type TimerInfoMapsFilter struct { ShardID int64 DomainID serialization.UUID WorkflowID string RunID serialization.UUID TimerIDs []string }
TimerInfoMapsFilter contains the column names within timer_info_maps table that can be used to filter results through a WHERE clause
type TimerInfoMapsRow ¶
type TimerInfoMapsRow struct { ShardID int64 DomainID serialization.UUID WorkflowID string RunID serialization.UUID TimerID string Data []byte DataEncoding string }
TimerInfoMapsRow represents a row in timer_info_maps table
type TimerTasksFilter ¶
type TimerTasksFilter struct { ShardID int TaskID int64 VisibilityTimestamp time.Time MinVisibilityTimestamp time.Time MaxVisibilityTimestamp time.Time PageSize int }
TimerTasksFilter contains the column names within timer_tasks table that can be used to filter results through a WHERE clause
type TimerTasksRow ¶
type TimerTasksRow struct { ShardID int VisibilityTimestamp time.Time TaskID int64 Data []byte DataEncoding string }
TimerTasksRow represents a row in timer_tasks table
type TransferTasksFilter ¶
type TransferTasksFilter struct { ShardID int TaskID int64 MinTaskID int64 MaxTaskID int64 PageSize int }
TransferTasksFilter contains the column names within transfer_tasks table that can be used to filter results through a WHERE clause
type TransferTasksRow ¶
TransferTasksRow represents a row in transfer_tasks table
type Tx ¶
type Tx interface { ErrorChecker Commit() error Rollback() error // contains filtered or unexported methods }
Tx defines the API for a SQL transaction
type VisibilityFilter ¶
type VisibilityFilter struct { DomainID string Closed bool RunID *string WorkflowID *string WorkflowTypeName *string CloseStatus *int32 MinStartTime *time.Time MaxStartTime *time.Time PageSize *int }
VisibilityFilter contains the column names within executions_visibility table that can be used to filter results through a WHERE clause
type VisibilityRow ¶
type VisibilityRow struct { DomainID string RunID string WorkflowTypeName string WorkflowID string StartTime time.Time ExecutionTime time.Time CloseStatus *int32 CloseTime *time.Time HistoryLength *int64 Memo []byte Encoding string IsCron bool NumClusters int16 UpdateTime time.Time ShardID int16 }
VisibilityRow represents a row in executions_visibility table