"Tony Fenleish" <[EMAIL PROTECTED]> wrote: > You meantion avoid using sqlite3_get_table. I've been using sqlite 2.8.15 > and have postponed upgrading just because "it's been working". Are there > better memory handling and speed improvements for embedded devices in sqlite > 3, or are most of the improvements for machines with lots of ram and large > processors? >
SQLite version 3 contains a number of enhancements designed specifically for embedded devices with limited memory. The database files for version 3 are about 33% smaller. Version 3 uses less stack and heap space. And the code footprint is about the same size. When malloc() fails in version 3.3.x, just just get an SQLITE_NOMEM error for that one function call. When malloc() fails in version 2, you get the SQLITE_NOMEM forever more. SQLite version 3 supports AUTOVACUUM. There are probably other embedded-device specific enhancments in version 3, but those are the ones that jump to mind. -- D. Richard Hipp <[EMAIL PROTECTED]>