On Fri, 03 Sep 2004 17:17:24 +0300, Dmytro Bogovych <[EMAIL PROTECTED]> wrote:

On Fri, 03 Sep 2004 17:07:36 +0300, Dmytro Bogovych <[EMAIL PROTECTED]> wrote:

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.
I've built simple sqlite3.exe replacement using shell.c as main file with debugging info turned on.
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/

Reply via email to