code: func (alloc *allocator) Rebase(tableID, requiredBase int64, allocIDs bool) error {
  	if tableID == 0 {
  		return errInvalidTableID.GenWithStack("Invalid tableID")
  	}
  
  	alloc.mu.Lock()
  	defer alloc.mu.Unlock()
  
  	if alloc.isUnsigned {
  		return alloc.rebase4Unsigned(tableID, uint64(requiredBase), allocIDs)
  	}
  	return alloc.rebase4Signed(tableID, requiredBase, allocIDs)
  }
docs: // Rebase implements autoid.Allocator Rebase interface.
  // The requiredBase is the minimum base value after Rebase.
  // The real base may be greater than the required base.