Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности

Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
26.03.2007, 13:05
|
|||
|---|---|---|---|
|
|||
Триггер. Что я делаю не так? |
|||
|
#18+
С Постгри работаю недавно. Помогите, плиз, с триггером. Вроде бы все правильно написано, но не срабатывает. И запись, обрабатываемую, не вставляет, хотя определен как AFTER INSERT. Может я просто по незнанию какому, что называется - "гляжу в книгу - вижу фигу"? Может нельзя в Постгри в триггере одной таблицы делать вставку в другую таблицу? есть две таблицы: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. и Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. первой таблице создаю триггер Код: plaintext 1. 2. 3. 4. 5. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. в итоге запись с полем sip_method = 'ACK' вообще не появляется в таблице acc и в таблицу cdr ничего не вставляется. А вот запись с полем sip_method = 'BYE' в acc появляется. Но как проверить? С типом вставляемых полей роде бы никаких конфликтов. Вообще, любая работа по другим таблицам (SELECT, INSERT, etc.) в ветке обработки условия sip_method = 'ACK' приводит к отмене вставки этой записи в таблицу acc даже если эти таблицы ВСЕ позволяют public . Что не так? Ткните носом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
26.03.2007, 13:09
|
|||
|---|---|---|---|
|
|||
Триггер. Что я делаю не так? |
|||
|
#18+
сорри Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
26.03.2007, 13:31
|
|||
|---|---|---|---|
|
|||
Триггер. Что я делаю не так? |
|||
|
#18+
Выполните запросы вручную, откуда берутся значения первичного ключа ? Все ли ограничения выполняются ? Похоже срабатывает какой-то exception, и вся транзакция откатывается. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
26.03.2007, 14:50
|
|||
|---|---|---|---|
|
|||
Триггер. Что я делаю не так? |
|||
|
#18+
да вручную я все это делал оформил работу с другими таблицами отдельной функцией и передавал ей call_id все проходило успешно при вызове вручную с консоли но вызов той функции из триггерной функции (передавая ей NEW.sip_callid) заканчивался крахом Тут видимо какая-то тонкость работы с полями вставляемой записи внутри триггерной функции. Кстати там у меня небольшая ошибка, Код: plaintext вот лог сеанса Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. Явно видно, что после селекта транзакция откатилась. НО ПОЧЕМУ? Смущают эти алиасы полей ($1 $2 $3), которые используются с совершенно разными полями вставляемой записи. Где-то я недопонимаю работу Постгри... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
26.03.2007, 16:11
|
|||
|---|---|---|---|
|
|||
Триггер. Что я делаю не так? |
|||
|
#18+
все, в какой-то мере разобрался включил на сервере более подробный лог и обнаружил отсутствие прав на генератор (sequence) для сериального поля в таблице cdr . Осталось непонятным почему даже при закомментированном инсерте, только при селекте по другой таблице транзакция все равно откатывалась, но уже все работает. Отнесу пока сие "божественное воскрешение" к разряду "ЧУДО". :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
29.03.2007, 10:16
|
|||
|---|---|---|---|
|
|||
Триггер. Что я делаю не так? |
|||
|
#18+
Код: plaintext Код: plaintext 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=53&mobile=1&tid=2005567]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
55ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
53ms |
get tp. blocked users: |
2ms |
| others: | 263ms |
| total: | 419ms |

| 0 / 0 |
