триггер -> выполнение сценария php

dimonskif
Дата: 18.05.2012 23:41:09
Всем привет! Собственно, интересует вопрос такого плана: можно ли триггером из БД вызывать выполнение скрипта php?
Вроде бы как нашел что-то похожее - ibase_set_event_handler(), ibase_free_event_handler(), ibase_wait_event(), но до конца разобраться не могу как работать с ними.
kdv
Дата: 19.05.2012 00:00:55
dimonskif
можно ли триггером из БД вызывать выполнение скрипта php?

нет, нельзя. опиши задачу подробнее.
dimonskif
Дата: 19.05.2012 10:29:01
В общем, система поддержки пользователей - много вопросов, много ответов. Все это хранится в БД Firebird взаимодействие с БД через php и есть система полтотекстового поиска, так вот как раз для добавления и обновления поискового индекса и нужно, чтобы по событию внесения изменений в таблицу, срабатывал сценарий, который обновляет индекс.
Di_LIne
Дата: 19.05.2012 12:35:28
dimonskif
есть система полтотекстового поиска, так вот как раз для добавления и обновления поискового индекса и нужно, чтобы по событию внесения изменений в таблицу, срабатывал сценарий, который обновляет индекс.

Чего-то масло перемасленное... Или полная путаница в терминах и в голове.
Многое зависит от того, как сделана "система полтотекстового поиска".
Если это левосторонне "произведение", то оно наваято без учета возможностей FB.
FB ПлоХоПлюньку выполнять не будет.
Заменяй на обработку в тригерах и/или пиши DLL-ку.
dimonskif
Дата: 19.05.2012 15:20:48
Di_LIne
Чего-то масло перемасленное... Или полная путаница в терминах и в голове.

Может совсем немного.
Поиск реализован при помощи Apache Solr. Сейчас для импорта данных использую delta import, но хотелось бы, чтоб индекс Solr обновился "на лету". А если Delphi приложение написать? IBEvent по-идее сможет реагировать на события?
kdv
Дата: 19.05.2012 21:48:11
если база часто обновляется, то использование event-ов засношает php и этот самый Solr. Я бы сделал обновление по расписанию, пусть даже и раз в 5 минут.
Dimitry Sibiryakov
Дата: 19.05.2012 21:51:33

kdv
если база часто обновляется, то использование event-ов засношает php и этот самый Solr.

Ну, это смотря как делать. Если со всей дури, то можно много чего сломать.

Posted via ActualForum NNTP Server 1.5

dimonskif
Дата: 19.05.2012 23:28:30
kdv
если база часто обновляется, то использование event-ов засношает php и этот самый Solr. Я бы сделал обновление по расписанию, пусть даже и раз в 5 минут.

Обновление примерно 10000-15000 записей в сутки. Solr точно не загнется, думаю и php выдержит. А обновляется у меня он и так по расписанию каждые 30 минут, но это требует больше времени, чем поодиночное внесение изменений в поисковый индекс.
kdv
Дата: 19.05.2012 23:43:12
dimonskif
это требует больше времени, чем поодиночное внесение изменений в поисковый индекс.

не верю. обычно пакетные обновления всегда быстрее штучных. Т.е. внести изменения 10 строк быстрее чем 10 раз внести изменения по 1 строке.
Впрочем, хозяин-барин. Вот только насчет прикручивания events к php, мне кажется что это невозможно. смысл евентов в том, что приложение подписывается на них и ждет их прихода, синхронно или асинхронно. Я не в курсе php, но по-моему оно архитектурно на такое не расчитано.
Возможно, лучше было бы из триггера вызывать udf, которая бы добавляла новую строку в "индекс". Но это, разумеется, приведет к замедлению insert/update, в которых будет срабатывать такой триггер.
dimonskif
Дата: 20.05.2012 00:46:06
kdv, просто сам по себе Solr обновляя индекс добавляет в него новые записи, но если что-то изменялось, изменения обходятся стороной. А по update было бы самое оно. буду смотреть что там в IBEvent