Hi All, I would like to know is there a way to test Amalgamation compilation build like Test Harnesses?
Since I am currently adopting specific vfs for the build, I do want to test the correctness of my porting to SQLite3. On Thu, Sep 7, 2017 at 9:42 AM, Jacky Lam <[email protected]> wrote: > Hi All, > The reason I consider to use VACUUM is that: > when I insert 10k and delete 10k records for a number of times, the db > file size keeps constant in each iteration. > On the other hand, if I terminate the program manually and start the > iteration again, the db file size increase once in the first iteration. > Then it keeps file size constant afterwards. > For example, > 1. when no manual termination of program, the file size keeps constant > 100kB > 2. when I terminate the program and start the iteration again, the file > size changes to 200kB in the first iteration. > 3. After the first iteration, the file size keeps at 200kB in later > iterations. > > Does anyone can advise me that which parts I am missing for the > Amalgamation compilation of USING *** OTHER VFS ***? > > On Sat, Sep 2, 2017 at 5:55 PM, Jacky Lam <[email protected]> wrote: > >> Thanks for the answer. I have a clear picture now. >> I would also like to know for Android SQLite case; >> does the default value for auto vacuum is OFF. >> Is it the same default compiling config with sqlite.c source code? >> In other words, does it need to do vacuum manually? >> >> >> >> 從我的 Samsung Galaxy 智能手機發送。 >> >> -------- 原始訊息 -------- >> 由: David Raymond <[email protected]> >> 日期: 17/9/2 上午2:43 (GMT+08:00) >> 收件人: SQLite mailing list <[email protected]> >> 主題: Re: [sqlite] Amalgamation compilation with SQLITE_THREADSAFE=0 >> >> Other notes in addition to the previous responses. >> >> File size will never go down without some sort of vacuum operation. >> Basically since you can only truncate files, and not snip out sections in >> the middle. If you delete from the front of a large file, in order to >> shrink it you'd have to re-write the entire file from that point to the >> end. So instead of doing that it just recycles pages when possible, and >> only expands the file when it runs out of free space and needs more. >> >> Here's the blurb on autovacuum: http://www.sqlite.org/pragma.h >> tml#pragma_auto_vacuum >> >> INCREMENTAL mode will allow you free up unused pages when you explicitly >> tell it to, FULL mode will do it automatically. >> >> Autovacuum does not do the extra nifty steps that a regular vacuum does. >> From the above linked blurb: >> >> "When the auto-vacuum mode is 1 or "full", the freelist pages are moved >> to the end of the database file and the database file is truncated to >> remove the freelist pages at every transaction commit. Note, however, that >> auto-vacuum only truncates the freelist pages from the file. Auto-vacuum >> does not defragment the database nor repack individual database pages the >> way that the VACUUM command does. In fact, because it moves pages around >> within the file, auto-vacuum can actually make fragmentation worse." >> >> A full fledged vacuum (http://www.sqlite.org/lang_vacuum.html) will >> re-write the entire file (twice actually) and do extra things, for example >> re-ordering all of the records of a table so that they're all nicely packed >> together in a continguous section, already in primary key order, and no >> longer semi-randomly scattered throughout. >> >> -----Original Message----- >> From: sqlite-users [mailto:[email protected]] >> On Behalf Of Jacky Lam >> Sent: Friday, September 01, 2017 12:42 PM >> To: SQLite mailing list >> Subject: Re: [sqlite] Amalgamation compilation with SQLITE_THREADSAFE=0 >> >> Hi All, >> While using my own implemented file system, the db file size will only >> expand and not prune even remove record from the db. >> Could anyone advise me that what I am missing in order to pruning the db >> size when removing a number of records? >> Jacky >> >> _______________________________________________ >> sqlite-users mailing list >> [email protected] >> http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users >> > > _______________________________________________ sqlite-users mailing list [email protected] http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users

