On Fri, 03 Sep 2004 17:07:36 +0300, Dmytro Bogovych <[EMAIL PROTECTED]> wrote:I've built simple sqlite3.exe replacement using shell.c as main file with debugging info turned on.
On Fri, 03 Sep 2004 09:12:31 -0400, D. Richard Hipp <[EMAIL PROTECTED]> wrote:
Unable to reproduce. I put a breakpoint on sqlite3pager_opentemp() and did lots of UPDATEs in the style shown, but no temporary file was ever opened.
The compiler was VC++ 6.0 SP6
There is a log:
SQLite version 3.0.6 Enter ".help" for instructions sqlite> create table ITEMS(number INTEGER); sqlite> insert into ITEMS(number) values(1); sqlite> insert into ITEMS(number) values(2); sqlite> insert into ITEMS(number) values(3); sqlite> insert into ITEMS(number) values(4); sqlite> begin; sqlite> update ITEMS set number=number+1 where number>2; -- here I've got breakpoint triggering in sqlite3pager_opentemp. sqlite> commit; sqlite> select * from ITEMS; 1 2 4 5 sqlite>
And here is another log without transactions:
SQLite version 3.0.6 Enter ".help" for instructions sqlite> create table ITEMS(number INTEGER); sqlite> insert into ITEMS(number) values(1); sqlite> insert into ITEMS(number) values(2); sqlite> insert into ITEMS(number) values(3); sqlite> insert into ITEMS(number) values(4); sqlite> update ITEMS set number=number+1 where number>2; sqlite> select * from ITEMS; 1 2 4 5 sqlite>
No temp files. As I can see this behaviour is caused by my attempts to use transactions. Is it expected behaviour?
I feel it would be nice to have callbacks for operating with temporary files to be able to provide something like in-memory temporary files.
-- Using Opera's revolutionary e-mail client: http://www.opera.com/m2/