Russian Qt Forum
Сентябрь 30, 2024, 12:29 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: 1 [2]   Вниз
  Печать  
Автор Тема: Не доходят NOTIFY от базы PostgreSQL на линуксе  (Прочитано 11253 раз)
Odyssey
Гость
« Ответ #15 : Октябрь 03, 2012, 13:41 »

Решаю эту же проблему.
Я изменяю таблицу запросами внутри программы.
Попробовал засунуть выполнение запроса внутрь транзакции - ничего не вышло.
Записан
andrew.k
Гость
« Ответ #16 : Октябрь 03, 2012, 20:51 »

По идее нотифай в собственную сессию приходить не должен.
Это описано в документации (последний абзац).
Поэтому не пойму, что за проблему вы решаете и зачем?

А вот откуда приходят два лишних нотифая, мне не ясно.
Записан
MetalKrot
Гость
« Ответ #17 : Октябрь 09, 2012, 10:01 »

После долгих колупаний кода мы нашли одно интересное решение. Решение найдено пальцем в небо. В итоге нужно будет пересобрать драйвейра под БД.
Открываем проект драйверов. Находим файл qsql_psql.cpp. В методе subscribeToNotificationImplementation находим создание сокета:
d->sn = new QSocketNotifier(socket, QSocketNotifier::Read);
На винде это работает отлично, а вот на линуксе - не работает. Зато если поменять второй параметр в конструкторе на QSocketNotifier::Write, то на линуксе всё работает нормально, а на винде не работает.
Мы долго пытались понять что к чему, но ответа не нашли. Да и времени свободного нету.

Теорию насчет транзакций ещё не добрался проверить, но кажется мне, что не прокатит она..
Записан
Страниц: 1 [2]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.047 секунд. Запросов: 21.