tony2001
TeaM PHPClub
аналоги файловых функций для LOBов
Господа, я тут заморочился написанием патча, который добавит сабж в экстеншен oci8 (не факт, что его примут на "ура", но всё же...).
Есть некоторые вопросы, на которые не могу ответить сам:
1) должна ли функция $LOB->getLength() КАЖДЫЙ РАЗ обращаться к базе и спрашивать размер, если мы его уже знаем (собственно, он хранится у нас в дескрипторе).
т.е. должен ли я быть параноиком и считать, что размер может измениться в любой момент?
естественно, от этого будет зависеть быстродействие $LOB->feof(), $LOB->read(), $LOB->seek() etc.
имхо поведение функции должно быть таким же, как и у аналога.
но нигде не могу найти четкого ответа: как ведет себя fseek в этом случае?
2) какие еще будут предложения, кроме следующих методов объекта LOB:
eof(), seek(), read(), tell(), rewind(), truncate() (или erase()?), write(), getlength(), trim() и пары функций для работы с буфферингом (пока не разбирался в них).
замечания/предложения?
Господа, я тут заморочился написанием патча, который добавит сабж в экстеншен oci8 (не факт, что его примут на "ура", но всё же...).
Есть некоторые вопросы, на которые не могу ответить сам:
1) должна ли функция $LOB->getLength() КАЖДЫЙ РАЗ обращаться к базе и спрашивать размер, если мы его уже знаем (собственно, он хранится у нас в дескрипторе).
т.е. должен ли я быть параноиком и считать, что размер может измениться в любой момент?
естественно, от этого будет зависеть быстродействие $LOB->feof(), $LOB->read(), $LOB->seek() etc.
имхо поведение функции должно быть таким же, как и у аналога.
но нигде не могу найти четкого ответа: как ведет себя fseek в этом случае?
2) какие еще будут предложения, кроме следующих методов объекта LOB:
eof(), seek(), read(), tell(), rewind(), truncate() (или erase()?), write(), getlength(), trim() и пары функций для работы с буфферингом (пока не разбирался в них).
замечания/предложения?