> Твоя мысль - это либо:
>
> а) Считывать блоб в память сервера целиком при каждом фетче его ID,
> чтобы подсчитать длину в символах

Дим, дык мне же (при текущей архитектуре) по-любому прийдется
протаскивать блоб с сервера на клиента.

> б) Изменить ODS, чтобы для блоба хранилась еще и его длина в символах.
> Причем как ее обновлять автоматически, если put_segment() попал на
> разрыв мультибайтового символа, я понятия не имею...

Онвог вопрос, Дим.

Во первых, я не представляю как можно умудриться начать читать блоб не
закрыв его запись. То есть сервер может вычислять длину при вызове
close_blob.

Но даже если таки можно начать читать блоб до его закрытия, или не
читать, а запрашивать параметры блоба, то можно возвращать количество
целых символов. Либо посылать нахер.

Если put_segment поместил часть мультибайтного символа - то значит при
следующем "путе" нужно продолжить с необработанного хвоста предыдущего
"пута".

Проблема точно не такая сложная. У меня из провайдера можно тащить
UCS2 по одному байту. А можно запихивать UCS2 по одному байту.

Коваленко Дмитрий.

Ответить