Russian Qt Forum
Ноябрь 23, 2024, 15:18
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
Базы данных
>
Не доходят NOTIFY от базы PostgreSQL на линуксе
Страниц:
1
[
2
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: Не доходят NOTIFY от базы PostgreSQL на линуксе (Прочитано 11360 раз)
Odyssey
Гость
Re: Не доходят NOTIFY от базы PostgreSQL на линуксе
«
Ответ #15 :
Октябрь 03, 2012, 13:41 »
Решаю эту же проблему.
Я изменяю таблицу запросами внутри программы.
Попробовал засунуть выполнение запроса внутрь транзакции - ничего не вышло.
Записан
andrew.k
Гость
Re: Не доходят NOTIFY от базы PostgreSQL на линуксе
«
Ответ #16 :
Октябрь 03, 2012, 20:51 »
По идее нотифай в собственную сессию приходить не должен.
Это описано в
документации
(последний абзац).
Поэтому не пойму, что за проблему вы решаете и зачем?
А вот откуда приходят два лишних нотифая, мне не ясно.
Записан
MetalKrot
Гость
Re: Не доходят NOTIFY от базы PostgreSQL на линуксе
«
Ответ #17 :
Октябрь 09, 2012, 10:01 »
После долгих колупаний кода мы нашли одно интересное решение. Решение найдено пальцем в небо. В итоге нужно будет пересобрать драйвейра под БД.
Открываем проект драйверов. Находим файл qsql_psql.cpp. В методе subscribeToNotificationImplementation находим создание сокета:
d->sn = new QSocketNotifier(socket, QSocketNotifier::Read);
На винде это работает отлично, а вот на линуксе - не работает. Зато если поменять второй параметр в конструкторе на QSocketNotifier::Write, то на линуксе всё работает нормально, а на винде не работает.
Мы долго пытались понять что к чему, но ответа не нашли. Да и времени свободного нету.
Теорию насчет транзакций ещё не добрался проверить, но кажется мне, что не прокатит она..
Записан
Страниц:
1
[
2
]
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Qt
-----------------------------
=> Вопросы новичков
=> Уроки и статьи
=> Установка, сборка, отладка, тестирование
=> Общие вопросы
=> Пользовательский интерфейс (GUI)
=> Qt Quick
=> Model-View (MV)
=> Базы данных
=> Работа с сетью
=> Многопоточное программирование, процессы
=> Мультимедиа
=> 2D и 3D графика
=> OpenGL
=> Печать
=> Интернационализация, локализация
=> QSS
=> XML
=> Qt Script, QtWebKit
=> ActiveX
=> Qt Embedded
=> Дополнительные компоненты
=> Кладовая готовых решений
=> Вклад сообщества в Qt
=> Qt-инструментарий
-----------------------------
Программирование
-----------------------------
=> Общий
=> С/C++
=> Python
=> Алгоритмы
=> Базы данных
=> Разработка игр
-----------------------------
Компиляторы и платформы
-----------------------------
=> Linux
=> Windows
=> Mac OS X
=> Компиляторы
===> Visual C++
-----------------------------
Разное
-----------------------------
=> Новости
===> Новости Qt сообщества
===> Новости IT сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...