Version: 1.0 (using KDE KDE 3.5.2) Installed from: Unspecified Linux OS: Linux digikam stores its metadata in a sqlite3 database called digikam3.db That file can be parsed with the command line tool sqlite3 without any problems. However, importing into kexi results in a crash. (Tested on two different machines). Koffice-libs and kexi compiled with debug enabled. Please let me know if you need more infos.
Created attachment 15679 [details] metadata from digikam
Created attachment 15680 [details] backtrace of kexi
Pasting the backtrace: [KCrash handler] #6 0xb5f0b289 in KexiMigration::KexiMigrate::progressSupported () from /usr/lib/libkeximigrate.so.1 #7 0xb5f07217 in KexiMigration::ImportWizard::prepareImport () from /usr/lib/libkeximigrate.so.1 #8 0xb5f08f1a in KexiMigration::ImportWizard::import () from /usr/lib/libkeximigrate.so.1 #9 0xb5f09ed8 in KexiMigration::ImportWizard::next () from /usr/lib/libkeximigrate.so.1 #10 0xb74f647d in QWizard::qt_invoke () from /usr/qt/3/lib/libqt-mt.so.3 #11 0xb7aca5cb in KWizard::qt_invoke () from /usr/kde/3.5/lib/libkdeui.so.4 #12 0xb5f0875a in KexiMigration::ImportWizard::qt_invoke () from /usr/lib/libkeximigrate.so.1 #13 0xb716dc84 in QObject::activate_signal () from /usr/qt/3/lib/libqt-mt.so.3 #14 0xb716e41c in QObject::activate_signal () from /usr/qt/3/lib/libqt-mt.so.3 #15 0xb74d208c in QButton::clicked () from /usr/qt/3/lib/libqt-mt.so.3 #16 0xb7206321 in QButton::mouseReleaseEvent () from /usr/qt/3/lib/libqt-mt.so.3 #17 0xb71a7d5a in QWidget::event () from /usr/qt/3/lib/libqt-mt.so.3 #18 0xb7109abf in QApplication::internalNotify () from /usr/qt/3/lib/libqt-mt.so.3 #19 0xb7109e82 in QApplication::notify () from /usr/qt/3/lib/libqt-mt.so.3 #20 0xb783e9a5 in KApplication::notify () from /usr/kde/3.5/lib/libkdecore.so.4 #21 0xb70a2b23 in QETWidget::translateMouseEvent () from /usr/qt/3/lib/libqt-mt.so.3 #22 0xb70a1428 in QApplication::x11ProcessEvent () from /usr/qt/3/lib/libqt-mt.so.3 #23 0xb70b5275 in QEventLoop::processEvents () from /usr/qt/3/lib/libqt-mt.so.3 #24 0xb7120631 in QEventLoop::enterLoop () from /usr/qt/3/lib/libqt-mt.so.3 #25 0xb7108c5f in QApplication::enter_loop () from /usr/qt/3/lib/libqt-mt.so.3 #26 0xb7304072 in QDialog::exec () from /usr/qt/3/lib/libqt-mt.so.3 #27 0xb6a14fd3 in KexiMainWindowImpl::showProjectMigrationWizard () from /usr/lib/libkeximain.so.1 #28 0xb6a159c1 in KexiMainWindowImpl::openProject () from /usr/lib/libkeximain.so.1 #29 0xb6a162a6 in KexiMainWindowImpl::startup () from /usr/lib/libkeximain.so.1 #30 0xb765ac42 in kdemain () from /usr/lib/libkdeinit_kexi.so #31 0xb6a979e4 in kdeinitmain () from /usr/lib/kde3/kexi.so
Thanks, this report is in part a crash report and in part a wish.
Renamed to "can't import native sqlite3 databases" and set severity to "wish".
Kexi does not crash on a native SQLite file - a friendly error message jsut appears :)
Planned for 2.0+
I'm not so much for an import from sqlite3 to kexi format, but rather kexi gui to be able to work with sqlite3 files natively.
@Mathieu Yes, that's the ultimate plan
Founding possible at https://github.com/staniek/kexi/issues/4 (click Post a bounty on it)
See also a tutorial https://userbase.kde.org/Kexi/Tutorials/Importing_SQLite_database_into_Kexi
The tutorial is a "workaround". sqlite3 is well known, open, easy to use is IMO a must have for each DB application. @official Kexi devs: Could you please give an offical statement about if you would accept such a feauter or not.
A word from maintainer. SQLite is the most used db engine in the world and we do support it since 2004. At the time it was not easy/possible to work without metadata, now it is doable at least for people that know what they are doing, e.g. those that have existing database files and need to work with them without creating new ones. Importing will be always "catching the rabbit" challenge, therefore there is a mid-term ultimate plan: wish #380088 "Support opening native databases without importing" for Kexi 4. Especially importing within the same engine often seems to be overhead and can frustrate users. Our aim is perfect convenience not exiting e.g. in the world or spreadsheets. Extra: C++ developers would get a tool for working with existing databases via the KDb framework (https://community.kde.org/KDb) which is the pillar of Kexi.