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 Pennequin - 2008-04-06
Last edited by Alex Parker - 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  Alex Parker
2010-06-06 11:31
Reason for closing:  Later
Additional comments about closing:  

Added to http://www.rockbox.org/wiki/Us efulPatches

Nicolas Pennequin commented on 2008-04-06 15:21

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.

Dan Everton commented on 2008-06-04 10:52

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.

Joseph Garvin commented on 2008-09-14 14:40

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