Extend the timestamp_manager component to:
- Provide a central timestamp management system for all other components.
- Get_stable: returns current stable timestamp
- Get_oldest: returns current oldest timestamp
- Get_next_ts: returns a valid commit timestamp (latest timestamp) for insert / updating / deleting values.
- When the timestamp manager is enabled, update the oldest and stable timestamps every X seconds based on configuration.
The timestamps will be on 64 bits. The first 32 bits will represent the epoch time in seconds and the last 32 bits will be an increment for uniqueness.
Introduction of new configuration parameters:
- min_operation_per_transaction : Minimum of operations to be done within one transaction
- max_operation_per_transaction: Maximum of operation to be done within on transaction
- Those are useful to generate a random number of operations to be executed within one transaction.
- enable_timestamp: To enable/disable the timestamp manager. If the timestamp manager is disabled, the stable and oldest timestamps are not updated every X seconds
- oldest_lag: It is the time window between the stable and oldest timestamps
- stable_lag: It is the time window between the latest and stable timestamps.