Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
PL/PHP и XML
|
|||
|---|---|---|---|
|
#18+
В ходе работы с PostgreSQL наткнулся на интересную ошибку. Имеется таблица: CREATE TABLE table ( id bigserial NOT NULL, xdata xml ) т.е. предполагаем таблицу, в которой храним XML. Так же имеется функция написанная на PL/PHP (https://projects.commandprompt.com/public/plphp/) которая выполняет преобразование одного XML в другой: CREATE FUNCTION convert_xml(text) RETURNS text AS $BODY // ... return $newxml; $BODY$ LANGUAGE 'plphp' VOLATILE COST 100; Теперь два запроса: 1) SELECT convert_xml(xdata::text) FROM table 2) SELECT xml(convert_xml(xdata::text)) FROM table Первый запрос PostgreSQL отрабатывает нормально, а на втором в валится в глухую. В логе появляется: LOG: server process (PID 11606) was terminated by signal 11 LOG: terminating any other active server processes WARNING: terminating connection because of crash of another server process DETAIL: The postmaster has commanded this server process to roll back the current transaction and exit, because another server process exited abnormally and possibly corrupted shared memory. HINT: In a moment you should be able to reconnect to the database and repeat your command. LOG: all server processes terminated; reinitializing LOG: database system was interrupted; last known up at 2008-09-17 14:51:26 MSD LOG: database system was not properly shut down; automatic recovery in progress LOG: record with zero length at 2/74F2B7D0 LOG: redo is not required LOG: autovacuum launcher started LOG: database system is ready to accept connections Почему именно XML и PL/PHP: XML - используется: 1) возможность сделать XPath 2) В базе хранится в более сжатом виде (на практике в два раза меньше, чем просто текст) PL/PHP - используется: 1) имеется встроенные XML, DOM 2) как показала практика: plPerl с use XML::* работает намного дольше (потому что там каждый раз выполняется eval, plPHP видимо компилируется в какой-то свой байт-код) У кого-нить есть идеи? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.09.2008, 13:02 |
|
||
|
|

start [/forum/topic.php?fid=53&msg=35544133&tid=2004045]: |
0ms |
get settings: |
7ms |
get forum list: |
14ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
30ms |
get topic data: |
7ms |
get forum data: |
5ms |
get page messages: |
25ms |
get tp. blocked users: |
1ms |
| others: | 226ms |
| total: | 319ms |

| 0 / 0 |
