Horsun Vlad пишет:
"Serge Buzadzhy" ...
Но всё равно - управлять этим кешированием невозможно и
это есть очень плохо.
И как бы ты хотел управлять? :) Отключать-включать возможность
повторного доступа?
Почему нет ? Сейчас реализован самый плохой метод, который
нужен самому небольшому кол-ву приложений (imho конечно).
Ну вроде все на самом деле достаточно последовательно. Вычитали из
базы в память - держим до закрытия датасета. Тот же подход, что и для
других полей.
Блобы - это совсем отдельная пестня, так что к ним нужен
свой подход :)
Ну так он и так слегка свой. :) Никто за телом не обратился - тело не
читаем.
Почему не ограничить кол-во кешированных блобов ?
Память экономить? За счет возможного повторного перечитывания из базы.
Да. Если кто-то намеренно их перечитывает - он в состоянии
скешировать сам только то, что ему нужно
Хрен его знает. Смотрел я, например, в код DOA. Они тож о такой экономии
памяти не заботятся.
Почему не вынести ClearBlobCache в public ?
Исходя из того что никто меня об этом за все годы не попросил, я так
думаю что не так уж это и критично.
Они даже не знают - как сильно оно им на самом деле нужно :)
Мы вам дадим то что вам нужно, хотя вы этого не знаете, и не заметите
что мы вам это дадим! :)
Другое - ссылка на TIBlobStream вполне может оставаться, но буфер
стрима можно спокойно удалять, есс-но помечая стрим как 'непрочитанный'
блоб. Имхо, логика TIBlobStream'а сильно не усложнится
Да. Это легко. Можно еще буфер по жаланию предварительно вообще на винт
сбросить. Чтоб уж точно за ним потом не обращаться к серваку.