author | zecke <zecke> | 2002-10-13 19:05:24 (UTC) |
---|---|---|
committer | zecke <zecke> | 2002-10-13 19:05:24 (UTC) |
commit | 34c1199becdb2f9b0447553e66c85d8f6770558f (patch) (side-by-side diff) | |
tree | 36c3bf20b6f07e643f4caef793356261f9982bd6 /libopie/pim/otodoaccesssql.cpp | |
parent | a469689def798954c0f571a00cc52e87d6b008ce (diff) | |
download | opie-34c1199becdb2f9b0447553e66c85d8f6770558f.zip opie-34c1199becdb2f9b0447553e66c85d8f6770558f.tar.gz opie-34c1199becdb2f9b0447553e66c85d8f6770558f.tar.bz2 |
Add a vCal Resource
Play a bit with cahce sizes
The idea is to have the current page
and the prior page cached... still looking how to do that
Diffstat (limited to 'libopie/pim/otodoaccesssql.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r-- | libopie/pim/otodoaccesssql.cpp | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/libopie/pim/otodoaccesssql.cpp b/libopie/pim/otodoaccesssql.cpp index ea8b3c9..9ef6b7c 100644 --- a/libopie/pim/otodoaccesssql.cpp +++ b/libopie/pim/otodoaccesssql.cpp @@ -257,84 +257,85 @@ OTodoAccessBackendSQL::~OTodoAccessBackendSQL(){ bool OTodoAccessBackendSQL::load(){ if (!m_driver->open() ) return false; CreateQuery creat; OSQLResult res = m_driver->query(&creat ); m_dirty = true; return true; } bool OTodoAccessBackendSQL::reload(){ return load(); } bool OTodoAccessBackendSQL::save(){ return m_driver->close(); } QArray<int> OTodoAccessBackendSQL::allRecords()const { if (m_dirty ) update(); return m_uids; } QArray<int> OTodoAccessBackendSQL::queryByExample( const OTodo& , int ){ QArray<int> ints(0); return ints; } OTodo OTodoAccessBackendSQL::find(int uid ) const{ FindQuery query( uid ); return todo( m_driver->query(&query) ); } +#define CACHE 32 OTodo OTodoAccessBackendSQL::find( int uid, const QArray<int>& ints, uint cur, Frontend::CacheDirection dir ) const{ qWarning("searching for %d", uid ); - QArray<int> search( 8 ); + QArray<int> search( CACHE ); uint size =0; OTodo to; - // we try to cache 8 items + // we try to cache CACHE items switch( dir ) { /* forward */ case 0: - for (uint i = cur; i < ints.count() && size < 8; i++ ) { + for (uint i = cur; i < ints.count() && size < CACHE; i++ ) { qWarning("size %d %d", size, ints[i] ); search[size] = ints[i]; size++; } break; /* reverse */ case 1: - for (uint i = cur; i != 0 && size < 8; i-- ) { + 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 ); } void OTodoAccessBackendSQL::clear() { ClearQuery cle; OSQLResult res = m_driver->query( &cle ); CreateQuery qu; res = m_driver->query(&qu); } bool OTodoAccessBackendSQL::add( const OTodo& t) { InsertQuery ins( t ); OSQLResult res = m_driver->query( &ins ); if ( res.state() == OSQLResult::Failure ) return false; int c = m_uids.count(); m_uids.resize( c+1 ); m_uids[c] = t.uid(); return true; } bool OTodoAccessBackendSQL::remove( int uid ) { |