Rockbox

  • Status Closed
  • Percent Complete
    100%
  • Task Type Patches
  • Category Plugins
  • Assigned To No-one
  • Operating System All players
  • Severity Low
  • Priority Very Low
  • Reported Version Daily build (which?)
  • Due in Version Undecided
  • Due Date Undecided
  • Votes
  • Private
Attached to Project: Rockbox
Opened by nicolas_p - 2008-04-06
Last edited by BigBambi - 2010-06-06

FS#8852 - Add SQLite to the pluginlib

SQLite is a fast and lightweight SQL database engine library.
See http://www.sqlite.org for more information.

This patch makes it available to use in a plugin and provides a usage example.

Additionally to the patch, the actual library is required. You need to download the amalgamation, available at http://www.sqlite.org/sqlite-amalgamation-3_5_7.zip It is not included for obvious size reasons.
Extract both sqlite3.c and sqlite3.h to apps/plugins/lib/ and add the following line to the top of sqlite3.c :
#include sqlite3_aux.h
(this file contains everything necessary to make the library compile in the rockbox environment)

The binary size is still very high, we need to strip some features off to make it smaller.

For testing, an SQLite version of the Northwind database is available at http://www.mail-archive.com/sqlite-users@sqlite.org/msg22708.html

This is mainly an experiment. I have no intention of adding it to the core or use it to replace the current Database. However, it might open interesting possibilities for plugins.

Thanks to Frank Gevaerts for helping me with this :)

The task blocks this from closing
ID Project Summary Priority Severity Assigned To Progress
9071 Rockbox  FS#9071 - Display sheets of OpenStreetMap,org Open Street Map  Very Low Low
0%
Closed by  BigBambi
2010-06-06 11:31
Reason for closing:  Later
Additional comments about closing:   Warning: Undefined array key "typography" in /home/rockbox/flyspray/plugins/dokuwiki/inc/parserutils.php on line 371 Warning: Undefined array key "camelcase" in /home/rockbox/flyspray/plugins/dokuwiki/inc/parserutils.php on line 407

Added to http://www.rockbox.org/wi ki/UsefulPatches

This version has rockboxSync and rockboxDelete implemented in the VFS, which makes it work much better (the previous version wouldn’t write the second column to the actual DB file). It will also link on coldfire targets.

For those of you thinking (like me) of trying to replace tagcache with SQLite here’s some size comparisons base on m68k compilation:

Full SQLite compile: sqlite3.o = 476708 bytes
Every optional feature omitted SQLite compile: sqlite3.o = 280664 bytes

tagcache.o: 35880 bytes

These numbers are from SQLite 3.5.9 and the latest SVN of Rockbox. I know object file size != final linked size but it’s useful for comparison.

I’m thinking of working on a rockbox version of mnemosyne (mnemosyne-project.sourceforge.net) and a nice database API like this would help a lot.

Loading...

Available keyboard shortcuts

Tasklist

Task Details

Task Editing