diff options
| author | Torben Dannhauer <torben@dannhauer.info> | 2012-01-24 21:27:36 +0100 |
|---|---|---|
| committer | Qt by Nokia <qt-info@nokia.com> | 2012-02-01 16:25:15 +0100 |
| commit | 5caa75f6654d1475dcd2d118e240b683a617d735 (patch) | |
| tree | 5350ab826c5e361395cc0536dcc0b50f21d76e66 /src/sql/drivers/psql/qsql_psql.cpp | |
| parent | 84f4b8149974fbc9f7c43c3a83f3ac76d7dfab15 (diff) | |
SQL driver implementation to signal notification sources
Implements the new notification signal in all QSql drivers which use notifcation.
In qt5 only ibase and psql have a notification implementation.
PSQL differentiates correctly between 'SelfSource' and 'OtherSource' whereas
ibase only signals 'UnknownSource' as a default implementation.
Change-Id: Ifcaa139b7a980ed852cf817b3f93284609360ca7
Reviewed-by: Torben Dannhauer <torben@dannhauer.info>
Reviewed-by: Yunqiao Yin <charles.yin@nokia.com>
Diffstat (limited to 'src/sql/drivers/psql/qsql_psql.cpp')
| -rw-r--r-- | src/sql/drivers/psql/qsql_psql.cpp | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/sql/drivers/psql/qsql_psql.cpp b/src/sql/drivers/psql/qsql_psql.cpp index 8985184e139..e3533581baf 100644 --- a/src/sql/drivers/psql/qsql_psql.cpp +++ b/src/sql/drivers/psql/qsql_psql.cpp @@ -1370,8 +1370,13 @@ void QPSQLDriver::_q_handleNotification(int) PGnotify *notify = 0; while((notify = PQnotifies(d->connection)) != 0) { QString name(QLatin1String(notify->relname)); - if (d->seid.contains(name)) + if (d->seid.contains(name)) { emit notification(name); + if (notify->be_pid == PQbackendPID(d->connection)) + emit notification(name, QSqlDriver::SelfSource); + else + emit notification(name, QSqlDriver::OtherSource); + } else qWarning("QPSQLDriver: received notification for '%s' which isn't subscribed to.", qPrintable(name)); |
