From 45327ef3c0f093fc227682f79158632afc09e6d1 Mon Sep 17 00:00:00 2001 From: eilers Date: Sun, 29 Aug 2004 12:48:43 +0000 Subject: Fixed some quirks.. --- (limited to 'libopie2/opiepim/backend/otodoaccesssql.cpp') diff --git a/libopie2/opiepim/backend/otodoaccesssql.cpp b/libopie2/opiepim/backend/otodoaccesssql.cpp index 6f65c48..12a8bea 100644 --- a/libopie2/opiepim/backend/otodoaccesssql.cpp +++ b/libopie2/opiepim/backend/otodoaccesssql.cpp @@ -457,6 +457,8 @@ OPimTodo OPimTodoAccessBackendSQL::find(int uid ) const{ return todo( m_driver->query(&query) ); } + +// Remember: uid is already in the list of uids, called ints ! OPimTodo OPimTodoAccessBackendSQL::find( int uid, const QArray& ints, uint cur, Frontend::CacheDirection dir ) const{ uint CACHE = readAhead(); @@ -468,7 +470,7 @@ OPimTodo OPimTodoAccessBackendSQL::find( int uid, const QArray& ints, // we try to cache CACHE items switch( dir ) { /* forward */ - case 0: // FIXME: Not a good style to use magic numbers here (eilers) + case Frontend::Forward: for (uint i = cur; i < ints.count() && size < CACHE; i++ ) { odebug << "size " << size << " " << ints[i] << "" << oendl; search[size] = ints[i]; @@ -476,21 +478,24 @@ OPimTodo OPimTodoAccessBackendSQL::find( int uid, const QArray& ints, } break; /* reverse */ - case 1: // FIXME: Not a good style to use magic numbers here (eilers) + case Frontend::Reverse: for (uint i = cur; i != 0 && size < CACHE; i-- ) { search[size] = ints[i]; size++; } break; } + search.resize( size ); FindQuery query( search ); OSQLResult res = m_driver->query( &query ); if ( res.state() != OSQLResult::Success ) return to; - return todo( res ); + todo( res ); //FIXME: Don't like polymorphism here. It makes the code hard to read here..(eilers) + return cacheFind( uid ); } + void OPimTodoAccessBackendSQL::clear() { ClearQuery cle; OSQLResult res = m_driver->query( &cle ); -- cgit v0.9.0.2