PIM/MS Windows/SQLite Folder Indices: Difference between revisions
Appearance
< PIM | MS Windows
No edit summary |
No edit summary |
||
Line 3: | Line 3: | ||
Started: [[User:Jstaniek|jstaniek]] 11:35, 23 April 2008 (CEST) | Started: [[User:Jstaniek|jstaniek]] 11:35, 23 April 2008 (CEST) | ||
__TOC__ | __TOC__ | ||
==Introduction== | |||
*we call the new implementation '''SQLite mode''' for short | |||
*kmfolderindex_sqlite.cpp is created and edited as a copy of kmfolderindex.cpp; kmfolderindex.cpp is not compiled in SQLite mode | |||
*kmfolderindex.h is a common header for both kmfolderindex*.cpp implementations | |||
*kmailprivate links to sqlite library, and KMAIL_SQLITE_INDEX is defined to enable #ifdef'd code | |||
==KMFolderIndex== | ==KMFolderIndex== |
Revision as of 09:44, 23 April 2008
There are issues with locking index files for KMail folders and mmap()/munmap() operations on Windows. Therefore, SQLite-based indices are in development. This page presents detailed development notes for this task.
Started: jstaniek 11:35, 23 April 2008 (CEST)
Introduction
- we call the new implementation SQLite mode for short
- kmfolderindex_sqlite.cpp is created and edited as a copy of kmfolderindex.cpp; kmfolderindex.cpp is not compiled in SQLite mode
- kmfolderindex.h is a common header for both kmfolderindex*.cpp implementations
- kmailprivate links to sqlite library, and KMAIL_SQLITE_INDEX is defined to enable #ifdef'd code
KMFolderIndex
- 2008-04-23
- mIndexId unused - removed as well as serialIndexId()
- indexLocation(): added .db suffix to indicate the index is sqlite-based
- INDEX_VERSION is written and checked using 'PRAGMA user_version = <integer>' command [1]
- we do not use temporary filenames, e.g. in writeIndex(): SQLite takes care about safe storage
- updateIndex() no changes, we're changing implementation of KMMsgBase::syncIndexString() and writeIndex() instead
KMMsgBase
- 2008-04-23
- move syncIndexString() to KMFolderIndex, where we can impleemnt it for SQLite differently
Status of porting to SQLite
TOPIC | PORTED | TESTED | NOTES |
---|---|---|---|
KMFolderIndex:indexLocation() | yes | added .db suffix to indicate the index is sqlite-based |