mirror of
git://xwords.git.sourceforge.net/gitroot/xwords/xwords
synced 2025-01-20 22:26:54 +01:00
fix GetStoredMessages to also return messages without connnames,
i.e. messages to a device rather than to a game.
This commit is contained in:
parent
cd2b83c9c5
commit
de125eb9a6
1 changed files with 15 additions and 10 deletions
|
@ -996,11 +996,13 @@ DBMgr::storedMessagesImpl( string test, vector<DBMgr::MsgInfo>& msgs )
|
||||||
#ifdef HAVE_STIME
|
#ifdef HAVE_STIME
|
||||||
" AND stime IS NULL "
|
" AND stime IS NULL "
|
||||||
#endif
|
#endif
|
||||||
" AND connname IN (SELECT connname FROM " GAMES_TABLE
|
" AND connname IS NULL "
|
||||||
|
" OR connname IN (SELECT connname FROM " GAMES_TABLE
|
||||||
" WHERE NOT " GAMES_TABLE ".dead)"
|
" WHERE NOT " GAMES_TABLE ".dead)"
|
||||||
" ORDER BY id",
|
" ORDER BY id",
|
||||||
test.c_str() );
|
test.c_str() );
|
||||||
|
|
||||||
|
logf( XW_LOGINFO, "%s: query: %s", __func__, query.c_str() );
|
||||||
PGresult* result = PQexec( getThreadConn(), query.c_str() );
|
PGresult* result = PQexec( getThreadConn(), query.c_str() );
|
||||||
|
|
||||||
int nTuples = PQntuples( result );
|
int nTuples = PQntuples( result );
|
||||||
|
@ -1117,11 +1119,8 @@ DBMgr::getCountWhere( const char* table, string& test )
|
||||||
|
|
||||||
bool DBMgr::hasNoMessages( DevIDRelay devid )
|
bool DBMgr::hasNoMessages( DevIDRelay devid )
|
||||||
{
|
{
|
||||||
bool result;
|
MutexLock ml( &m_haveNoMessagesMutex );
|
||||||
{
|
bool result = m_haveNoMessages.find(devid) != m_haveNoMessages.end();
|
||||||
MutexLock ml( &m_haveNoMessagesMutex );
|
|
||||||
result = m_haveNoMessages.find(devid) != m_haveNoMessages.end();
|
|
||||||
}
|
|
||||||
logf( XW_LOGINFO, "%s(devid=%d)=>%d", __func__, devid, result );
|
logf( XW_LOGINFO, "%s(devid=%d)=>%d", __func__, devid, result );
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
@ -1129,15 +1128,21 @@ bool DBMgr::hasNoMessages( DevIDRelay devid )
|
||||||
void DBMgr::setHasNoMessages( DevIDRelay devid )
|
void DBMgr::setHasNoMessages( DevIDRelay devid )
|
||||||
{
|
{
|
||||||
logf( XW_LOGINFO, "%s(devid=%d)", __func__, devid );
|
logf( XW_LOGINFO, "%s(devid=%d)", __func__, devid );
|
||||||
MutexLock ml( &m_haveNoMessagesMutex );
|
{
|
||||||
m_haveNoMessages.insert( devid );
|
MutexLock ml( &m_haveNoMessagesMutex );
|
||||||
|
m_haveNoMessages.insert( devid );
|
||||||
|
}
|
||||||
|
assert( hasNoMessages( devid ) );
|
||||||
}
|
}
|
||||||
|
|
||||||
void DBMgr::clearHasNoMessages( DevIDRelay devid )
|
void DBMgr::clearHasNoMessages( DevIDRelay devid )
|
||||||
{
|
{
|
||||||
logf( XW_LOGINFO, "%s(devid=%d)", __func__, devid );
|
logf( XW_LOGINFO, "%s(devid=%d)", __func__, devid );
|
||||||
MutexLock ml( &m_haveNoMessagesMutex );
|
{
|
||||||
m_haveNoMessages.erase( devid );
|
MutexLock ml( &m_haveNoMessagesMutex );
|
||||||
|
m_haveNoMessages.erase( devid );
|
||||||
|
}
|
||||||
|
assert( !hasNoMessages( devid ) );
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
|
Loading…
Reference in a new issue