Определение контекста вызова UDF ф-ции
Добавлено: 15 фев 2006, 23:56
При реализации UDF (getvalue), многократно вытаскивающей из BLOB поля какие-то значения, например: ,
в которой сначала производится ресурсоемкий разбор всего поля (парсинг XML), а затем быстрое получение значения, получается неэффективное повторение первоначального разбора поля...
Может ли каким нибудь образом UDF определить, что в качестве параметра в нее передано то же значение BLOB, что и для предыдущего вызова? Тогда в UDF можно было бы не вызывать разбор содержимого многократно. Если нет, то заложено ли что-нибудь подобное в будущих версиях сервера?
Код: Выделить всё
select getvalue(BLOB_FIELD,'param1') P1, getvalue(BLOB_FIELD,'param2') P2, getvalue(BLOB_FIELD,'param3') P3 from ...
в которой сначала производится ресурсоемкий разбор всего поля (парсинг XML), а затем быстрое получение значения, получается неэффективное повторение первоначального разбора поля...
Может ли каким нибудь образом UDF определить, что в качестве параметра в нее передано то же значение BLOB, что и для предыдущего вызова? Тогда в UDF можно было бы не вызывать разбор содержимого многократно. Если нет, то заложено ли что-нибудь подобное в будущих версиях сервера?