-rw-r--r-- | libopie2/opiepim/backend/odatebookaccessbackend_sql.cpp | 11 |
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 @@ -9,16 +9,19 @@ * License as published by the Free Software Foundation; either * version 2 of the License, or (at your option) any later version. * ===================================================================== * ===================================================================== * Version: $Id$ * ===================================================================== * History: * $Log$ + * Revision 1.3 2003/12/22 11:41:39 eilers + * Fixing stupid bug, found by sourcode review.. + * * Revision 1.2 2003/12/22 10:19:26 eilers * Finishing implementation of sql-backend for datebook. But I have to * port the PIM datebook application to use it, before I could debug the * whole stuff. * Thus, PIM-Database backend is finished, but highly experimental. And some * parts are still generic. For instance, the "queryByExample()" methods are * not (or not fully) implemented. Todo: custom-entries not stored. * The big show stopper: matchRegExp() (needed by OpieSearch) needs regular @@ -201,16 +204,17 @@ OEvent ODateBookAccessBackend_SQL::find( int uid ) const{ } // Last step: Put map into date event and return it OEvent retDate( dateEventMap ); return retDate; } +// FIXME: Speed up update of uid's.. bool ODateBookAccessBackend_SQL::add( const OEvent& ev ) { QMap<int,QString> eventMap = ev.toMap(); QString qu = "insert into datebook VALUES( " + QString::number( ev.uid() ); QMap<int, QString>::Iterator it; for ( it = ++m_fieldMap.begin(); it != m_fieldMap.end(); ++it ){ if ( !eventMap[it.key()].isEmpty() ) @@ -240,32 +244,39 @@ bool ODateBookAccessBackend_SQL::add( const OEvent& ev ) qWarning("add %s", qu.latin1() ); OSQLRawQuery raw( qu ); OSQLResult res = m_driver->query( &raw ); if ( res.state() != OSQLResult::Success ){ return false; } + // Update list of uid's + update(); + return true; } +// FIXME: Speed up update of uid's.. bool ODateBookAccessBackend_SQL::remove( int uid ) { QString qu = "DELETE from datebook where uid = " + QString::number( uid ) + ";"; qu += "DELETE from custom_data where uid = " + QString::number( uid ) + ";"; OSQLRawQuery raw( qu ); OSQLResult res = m_driver->query( &raw ); if ( res.state() != OSQLResult::Success ){ return false; } + // Update list of uid's + update(); + return true; } bool ODateBookAccessBackend_SQL::replace( const OEvent& ev ) { remove( ev.uid() ); return add( ev ); } |