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

Reply via email to