Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var ( ErrAutoincReadFailed = terror.ClassAutoid.New(mysql.ErrAutoincReadFailed, mysql.MySQLErrName[mysql.ErrAutoincReadFailed]) ErrWrongAutoKey = terror.ClassAutoid.New(mysql.ErrWrongAutoKey, mysql.MySQLErrName[mysql.ErrWrongAutoKey]) )
Error instances.
Functions ¶
Types ¶
type Allocator ¶
type Allocator interface { // Alloc allocs N consecutive autoID for table with tableID, returning (min, max] of the allocated autoID batch. // It gets a batch of autoIDs at a time. So it does not need to access storage for each call. // The consecutive feature is used to insert multiple rows in a statement. Alloc(tableID int64, n uint64) (int64, int64, error) // Rebase rebases the autoID base for table with tableID and the new base value. // If allocIDs is true, it will allocate some IDs and save to the cache. // If allocIDs is false, it will not allocate IDs. Rebase(tableID, newBase int64, allocIDs bool) error // Base return the current base of Allocator. Base() int64 // End is only used for test. End() int64 // NextGlobalAutoID returns the next global autoID. NextGlobalAutoID(tableID int64) (int64, error) }
Allocator is an auto increment id generator. Just keep id unique actually.
Click to show internal directories.
Click to hide internal directories.