Добро пожаловать, Гость. Пожалуйста авторизуйтесь здесь.
FGHIGate на GaNJa NeTWoRK ST@Ti0N - Просмотр сообщения в эхоконференции RU.FIDONET.TODAY
Введите FGHI ссылку:


Присутствуют сообщения из эхоконференции RU.FIDONET.TODAY с датами от 09 Jul 13 15:35:00 до 18 Sep 24 11:02:13, всего сообщений: 47090
Ответить на сообщение К списку сообщений Предыдущее сообщение Следующее сообщение
= Сообщение: 36743 из 47090 =============================== RU.FIDONET.TODAY =
От   : Alexey Fayans                    2:5030/1997        24 Aug 23 21:26:52
Кому : Nil A                                               24 Aug 23 21:26:52
Тема : BaseMsgNum в JAM
FGHI : area://RU.FIDONET.TODAY?msgid=2:5030/1997@fidonet+64e7a66e
На   : area://RU.FIDONET.TODAY?msgid=2:5015/46+64e7602a
= Кодировка сообщения определена как: CP866 ==================================
Ответ: area://RU.FIDONET.TODAY?msgid=2:5015/46+64e83411
Ответ: area://RU.FIDONET.TODAY?msgid=2:460/5858+64e86461
==============================================================================
Hello Nil!

On Thu, 24 Aug 2023 at 16:40 +0300, you wrote to me:

AF>> Это проблемы кривого софта типа SmapiNNTPd, а не пуржилки.
NA> Пример, надо тебе написать софт, который сразу может прыгать на 10ое
NA> сообщение из JAM базы. После пуржинья, предположим, это сообщение
NA> стало 5ым. Линеный поиск сообщения по всей базе не предлагать O(n).

Такой софт должен импортировать сообщения в свою базу, предназначенную для таких специфичных действий. Либо строить какой-то свой индекс, например, msgid+from_address:number, чтобы после пуржинга можно было перестроить индекс и быстро находить актуальный номер нужного сообщения.

AF>> Упаковать JAM базу без сброса BaseMsgNum, наверное, возможно, но
AF>> это крайне тупо.
NA> Решение в том, что я хочу прыгнуть не на 10ое сообщение порядковое в
NA> базе, а именно 10ое.

Нельзя расчитывать на то, что у сообщения в базе (Jam, Squish) есть какой-то перманентный абсолютный номер. В теории, можно написать пуржилку, которая будет сохранять номера писем, оставляя дырки в индексе, но такая пуржилка никому, кроме держателей странного софта, не нужна, поэтому вряд ли кто-то будет это делать.

NA> После пуржинья, например, BaseMsgNum выставился в 5

После пуржинга он должен выставиться в 1 и больше никогда не меняться вообще.

AF>> Вообще, BaseMsgNum - это рудимент, нормальный софт его не
AF>> трогает.
NA> В спеке он есть. Нормальный софт всегда высчитывает номер сообщения
NA> прибавляя BaseMsgNum.

Всё верно, потому что если какой-то древний софт зачем-то меняет BaseMsgNum, то любой другой софт должен это учитывать. Но при пуржинге (а точнее при упаковке) оставлять BaseMsgNum отличным от 1 - как минимум странно.

В спеке указан только один юзкейс для этого - удалить первые N сообщений в базе, точнее, сделать их "недоступными". Это явно было придумано до того, как сделали soft delete. Сейчас в этом смысла нет.


... Music Station BBS | https://bbs.bsrealm.net | telnet://bbs.bsrealm.net
--- GoldED+/W32-MSVC 1.1.5-b20230214
* Origin: Music Station | https://ms.bsrealm.net (2:5030/1997)

К главной странице гейта
Powered by NoSFeRaTU`s FGHIGate
Открытие страницы: 0.415420 секунды