Being a Google Summer of Code’16 student, this is my first milestone report blog. Hope you’ll find it detailed enough!
Task 1: Review current whole database implementation including database schema hosted as XML.
- Understand all three parts of Core DB:
- CoreDB- hosts all albums, items, search data…
- ThumbsDB – host image Thumbnails.
- FaceDB – host image histogram for face recognition.
- Analyzing the ‘databaseserver’ code in core (which rely on DBUS. Actions are ongoing to minimize DBUS dependency, to improve digiKam stability for non Linux systems).
- Understand how common code fragments work for both MySQL/SQLite (DB settings extracted from config file and later functions accordingly).
- Understanding how SQL queries are being used in the source and implemented.
- Thorough reading of dbconfig.xml.cmake.in file to understand how database schema is set up. (Create table/indexes/triggers statements for both SQLite/MySQL).
- Understanding database version update through schemaupdater files (of all 3 DB).
I faced many doubts while reading the source code, plus several concept related queries. But all of them were resolved with Mentors’ help and guidance throughout.