"Serge Buzadzhy" ...

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

    Блобы - это совсем отдельная пестня, так что к ним нужен
свой подход :)

>>     Почему не ограничить кол-во кешированных блобов ?
>Память экономить? За счет возможного повторного перечитывания из базы.

    Да. Если кто-то намеренно их перечитывает - он в состоянии
скешировать сам только то, что ему нужно

>Ну не знаю, насколько это востребовано.

    Я тоже :)

>>     Почему не вынести ClearBlobCache в public ?
>Исходя из того что никто меня об этом за все годы не попросил, я так
>думаю что не так уж это и критично.

    Они даже не знают - как сильно оно им на самом деле нужно :)

>>Ссылки на блоб-стримы в буфере записи пострадают ?
>Да.
>
>>Это легко исправить, даже не трогая эти ссылки
>Вот этого не понял. Я понимаю, что можно пробежаться по кэшу датасета и
>зачистить все ссылы, но ты предлагаешь что-то другое... Держать в
>отдельном списке  список уже невалидных ссылок, что ли? :)  Или что-то
>другое?

    Другое - ссылка на TIBlobStream вполне может оставаться, но буфер
стрима можно спокойно удалять, есс-но помечая стрим как 'непрочитанный'
блоб. Имхо, логика TIBlobStream'а сильно не усложнится

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


Ответить