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