On Tue, Sep 9, 2014 at 10:39 AM, Dominique Devienne <ddevie...@gmail.com> wrote:
> On Tue, Sep 9, 2014 at 1:50 PM, Sebastien David <da...@asperasoft.com> > wrote: > > > I have a database with 10million of row in one table (file size is ~5GB) > > When I execute a query that should return half of this table, sqlite > fails > > because at some point there is no memory (this is normal) [...] > > > Why do you think it's normal? > Yes, he shouldn't be using sqlite3_get_table() as the interface is marked as deprecated. Sabastien should be using sqlite3_prepare() and sqlite3_step(). On the other hand, we should fix sqlite3_get_table() so that it works without integer overflow problems, which are unacceptable even in a "deprecated" interface. The problem will be doing that in a way that is testable on embedded systems.... > > Since your query has no SORTING or GROUPING, there's no reason for SQLite > to use an inordinate amount of memory beyond it's page cache, unless your > callback_cache_filter_check(record_id) function call does some > memory-expensive operation. > > That your application code runs out of memory if it stores those 5M rows, > sure, but I don't see why SQLite itself would use a lot of memory in that > case. What am I missing? --DD > _______________________________________________ > sqlite-users mailing list > sqlite-users@sqlite.org > http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users > -- D. Richard Hipp d...@sqlite.org _______________________________________________ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users