Documentation ¶
Overview ¶
Package version is used to track incompatible schema changes within the staging tables. This package does not assume that breaking changes are necessarily linear.
In the future, new versions could trigger a lease acquisition and an automated migration. For the moment, we'll print a list of PR numbers that will contain information about the breaking change.
To introduce a new version, add an entry to the tail of the Versions array, create a PR, and then update the entry with the new PR number.
Index ¶
Constants ¶
This section is empty.
Variables ¶
var Set = wire.NewSet(ProvideChecker)
Set is used by Wire.
var Versions = []Version{
{"Add versions table", 400},
{"Support single-level schema namespaces", 389},
{"Track applied in staging table", 572},
{"Migrate resolved_timestamps to checkpoints", 828},
}
Versions contains breaking changes to the Replicator metadata tables.
Functions ¶
This section is empty.
Types ¶
type Checker ¶
type Checker struct { Memo types.Memo StagingPool *types.StagingPool }
Checker ensures that a set of version entries exists in the memo table so that we can provide useful messages to users on how to perform Replicator metadata schema fixups.
func ProvideChecker ¶
func ProvideChecker(db *types.StagingPool, memo types.Memo) *Checker
ProvideChecker is called by Wire.
type Version ¶
type Version struct { Info string // A short string for human consumption. PR int // The pull request number which introduces the incompatible change. }
A Version describes a breaking change in the Replicator metadata tables.
func (*Version) String ¶
String is for debugging use only. Use Version.Warning for a user-friendly message.