|
For start, support AUTO_INCREMENT in a very basic way:
Maintain next_free_value number
- When opening the table, load it from the index
- Increase it whenever anybody reserves AUTO_INCREMENT values (regardless of whether they use them or not. InnoDB doesn't guarantee continutity, either)
- Also increase when writing a record: if (new_record.pk > next_free_value)
{ next_free_value= new_record.pk+1; }
next_free_value can be stored in TABLE_SHARE.
MyISAM supports auto_increment for columns that are not at key start. We will not support this.
InnoDB does some tricks related to binary logging. We will not do this.
|