Friday August 25 2023 11:13, from Stas Mishchenkov -> Nil A:
NA>> Пример, надо тебе написать софт, который сразу может прыгать на NA>> 10ое сообщение из JAM базы. После пуржинья, предположим, это NA>> сообщение стало 5ым. Линеный поиск сообщения по всей базе не NA>> предлагать O(n). SM> Что ты знаешь о lastread?
Знаю, что он несколько опционален, но многие пуржилки, после того, как все номера сообщений переделают, то они и переправляют старый ластрид на новый. Да, верно, ластрид не съедет. А если мне надо просто, уметь показывать 10ое сообщение, не по порядку, а номер 10, и чтобы я мог его найти за O(1) даже после пуржинья.
Кстати, пример с ластридем показателен. Пуржилка должна обладать знаниями о ластридерах как формат файла. А если ещё какой-то опциональный индекс рядом хранить? Надо учить все пуржилки на свете править этот какой-нибудь индекс файл? А если пуржить с BaseMsgNum, и с дырками в середине, то получается совместимость с любым софтом, которы ещё какие-то индексы к базе хранит с боку, и _ничего_ не съедет.
Best Regards, Nil --- GoldED+/LNX 1.1.5 * Origin: Linux 2.6.32-042stab145.3 (2:5015/46)