summaryrefslogtreecommitdiff
path: root/libopie2/opiepim/backend/odatebookaccessbackend_sql.cpp
Unidiff
Diffstat (limited to 'libopie2/opiepim/backend/odatebookaccessbackend_sql.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--libopie2/opiepim/backend/odatebookaccessbackend_sql.cpp11
1 files changed, 11 insertions, 0 deletions
diff --git a/libopie2/opiepim/backend/odatebookaccessbackend_sql.cpp b/libopie2/opiepim/backend/odatebookaccessbackend_sql.cpp
index e893b38..756f405 100644
--- a/libopie2/opiepim/backend/odatebookaccessbackend_sql.cpp
+++ b/libopie2/opiepim/backend/odatebookaccessbackend_sql.cpp
@@ -11,12 +11,15 @@
11 * ===================================================================== 11 * =====================================================================
12 * ===================================================================== 12 * =====================================================================
13 * Version: $Id$ 13 * Version: $Id$
14 * ===================================================================== 14 * =====================================================================
15 * History: 15 * History:
16 * $Log$ 16 * $Log$
17 * Revision 1.3 2003/12/22 11:41:39 eilers
18 * Fixing stupid bug, found by sourcode review..
19 *
17 * Revision 1.2 2003/12/22 10:19:26 eilers 20 * Revision 1.2 2003/12/22 10:19:26 eilers
18 * Finishing implementation of sql-backend for datebook. But I have to 21 * Finishing implementation of sql-backend for datebook. But I have to
19 * port the PIM datebook application to use it, before I could debug the 22 * port the PIM datebook application to use it, before I could debug the
20 * whole stuff. 23 * whole stuff.
21 * Thus, PIM-Database backend is finished, but highly experimental. And some 24 * Thus, PIM-Database backend is finished, but highly experimental. And some
22 * parts are still generic. For instance, the "queryByExample()" methods are 25 * parts are still generic. For instance, the "queryByExample()" methods are
@@ -203,12 +206,13 @@ OEvent ODateBookAccessBackend_SQL::find( int uid ) const{
203 // Last step: Put map into date event and return it 206 // Last step: Put map into date event and return it
204 OEvent retDate( dateEventMap ); 207 OEvent retDate( dateEventMap );
205 208
206 return retDate; 209 return retDate;
207} 210}
208 211
212// FIXME: Speed up update of uid's..
209bool ODateBookAccessBackend_SQL::add( const OEvent& ev ) 213bool ODateBookAccessBackend_SQL::add( const OEvent& ev )
210{ 214{
211 QMap<int,QString> eventMap = ev.toMap(); 215 QMap<int,QString> eventMap = ev.toMap();
212 216
213 QString qu = "insert into datebook VALUES( " + QString::number( ev.uid() ); 217 QString qu = "insert into datebook VALUES( " + QString::number( ev.uid() );
214 QMap<int, QString>::Iterator it; 218 QMap<int, QString>::Iterator it;
@@ -241,16 +245,20 @@ bool ODateBookAccessBackend_SQL::add( const OEvent& ev )
241 245
242 OSQLRawQuery raw( qu ); 246 OSQLRawQuery raw( qu );
243 OSQLResult res = m_driver->query( &raw ); 247 OSQLResult res = m_driver->query( &raw );
244 if ( res.state() != OSQLResult::Success ){ 248 if ( res.state() != OSQLResult::Success ){
245 return false; 249 return false;
246 } 250 }
251
252 // Update list of uid's
253 update();
247 254
248 return true; 255 return true;
249} 256}
250 257
258// FIXME: Speed up update of uid's..
251bool ODateBookAccessBackend_SQL::remove( int uid ) 259bool ODateBookAccessBackend_SQL::remove( int uid )
252{ 260{
253 QString qu = "DELETE from datebook where uid = " 261 QString qu = "DELETE from datebook where uid = "
254 + QString::number( uid ) + ";"; 262 + QString::number( uid ) + ";";
255 qu += "DELETE from custom_data where uid = " 263 qu += "DELETE from custom_data where uid = "
256 + QString::number( uid ) + ";"; 264 + QString::number( uid ) + ";";
@@ -258,12 +266,15 @@ bool ODateBookAccessBackend_SQL::remove( int uid )
258 OSQLRawQuery raw( qu ); 266 OSQLRawQuery raw( qu );
259 OSQLResult res = m_driver->query( &raw ); 267 OSQLResult res = m_driver->query( &raw );
260 if ( res.state() != OSQLResult::Success ){ 268 if ( res.state() != OSQLResult::Success ){
261 return false; 269 return false;
262 } 270 }
263 271
272 // Update list of uid's
273 update();
274
264 return true; 275 return true;
265} 276}
266 277
267bool ODateBookAccessBackend_SQL::replace( const OEvent& ev ) 278bool ODateBookAccessBackend_SQL::replace( const OEvent& ev )
268{ 279{
269 remove( ev.uid() ); 280 remove( ev.uid() );