KDb/TODOs

From KDE Community Wiki
< KDb
Revision as of 08:07, 23 June 2015 by Jstaniek (talk | contribs) (Jstaniek moved page Predicate/TODOs to KDb/TODOs)
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Making Predicate work with databases creates elsewhere without importing them

Introduction: KexiDB depends on kexi__* objects even when accessing native database features. Historically this was caused by limitations of SQLite and having simple support for multiple databases. The problem is however that there are existing databases and users expect to be able to use them with Kexi, and possible extend them with Kexi-specific features.

The Goal: Making Predicate work without importing

Ideas:

  • add to Connection: virtual bool drv_tableNames(QStringList& tablenames) = 0; (from KexiMigrate)
    • this iterates through the database schema
  • add to Connection: virtual bool drv_readTableSchema(QString& tableName, KexiDB::TableSchema& tableSchema) = 0; (from KexiMigrate)
    • this reads the native table schema and creates TableSchema object

Optional:

  • add to Connection: virtual bool drv_viewNames(QStringList& tablenames) = 0;
    • map it to SELECT queries in Kexi

SQLite Driver

Junior Jobs

Fix Krazy warnings

Fix Krazy checker's warnings. Especially:

  • add d-pointers - [dpointer] warning
  • move inline code from headers to .cpp - [inline] warning
  • fix typos

For other types of warnings ask the maintainer first - there are false positives!

Add unit tests

See Tests.

Marketing

Ideas: