> Стартует первая транзакция и обновляет запись. Версия пишется в память.
> Стартует вторая транзакция делает селект. Как обычно.
А если она делает апдейт ? А если она в другом процессе классика ?
> Первая транзакция коммитится. При этом запись из файла переносится
> в память, а из памяти пишется на диск.
> и т.д.
Какого файла ? Выше ничего про это нет
> Количество версии обычно должно быть намного меньше чем обычных
> записей в БД.
Откуда такое предположение ?
> Поэтому для аналоги свипа достаточно будет обработать
> этот временный файл небольших размеров.
Нет, ибо см. ниже
> > Сборка мусора удаляет не только старые
> > версии записей, она также удаляет ненужные блобы и ключи индексов
>
> С индексами конечно есть проблема. Сейчас версии тоже вставляются в индекс.
> Если их не вставлять то надо как решить проблему выборки незакоммиченных
> версий.
Вот реши для начала, и потом поговорим :)
--
Хорсун Влад