> Стартует первая транзакция и обновляет запись. Версия пишется в память.
> Стартует вторая транзакция делает селект. Как обычно.

    А если она делает апдейт ? А если она в другом процессе классика ?

> Первая транзакция коммитится. При этом запись из файла переносится
> в память, а из памяти пишется на диск.
> и т.д.

    Какого файла ? Выше ничего про это нет



> Количество версии обычно должно быть намного меньше чем обычных
> записей в БД.

    Откуда такое предположение ?

> Поэтому для аналоги свипа достаточно будет обработать
> этот временный файл небольших размеров.

    Нет, ибо см. ниже

> > Сборка мусора удаляет не только старые
> > версии записей, она также удаляет ненужные блобы и ключи индексов
>
> С индексами конечно есть проблема. Сейчас версии тоже вставляются в индекс.
> Если их не вставлять то надо как решить проблему выборки незакоммиченных
> версий.

    Вот реши для начала, и потом поговорим :)

-- 
Хорсун Влад


Reply via email to