snowcrash+sqlite <[EMAIL PROTECTED]> wrote:
> whittling down the last few testsuite errors,
>
> % ./testfixture ../sqlite-3.3.8/test/conflict.test
>
>
> the tests that FAIL, all have config param "t0 == 0", where,
>
>
> i _think_ that's the "what" in this error.
>
> now, the "why" ...
>
> ideas?
>
Recompile testfixture with debugging (-g) turned on. Then modify
the conflict.test script as follows:
*** conflict.test 17 Jan 2006 09:35:02 -0000 1.27
--- conflict.test 3 Jan 2007 12:29:28 -0000
***************
*** 309,314 ****
--- 309,315 ----
if {$conf1!=""} {set conf1 "ON CONFLICT $conf1"}
execsql {pragma temp_store=file}
set ::sqlite_opentemp_count 0
+ if {i==2} btree_breakpoint
set r0 [catch {execsql [subst {
DROP TABLE t1;
CREATE TABLE t1(a,b,c, UNIQUE(a) $conf1);
Bring up your debugger (gdb?) and set a breakpoint on the C
routine "btree_breakpoint". Run the conflict.test script. The
script will stop just before running test 6.2. Then set a breakpoint
on the function sqlite3pager_opentemp. Continue until this second
breakpoing is hit. Now single-step through sqlite3pager_opentemp
and figure out why the sqlite3_opentemp_count variable is not
being incremented. If it is being incremented, figure out why
this variable is somehow different from the sqlite3_opentemp_count
variable found in test1.c. Might be some kind of strange linker
problem....
--
D. Richard Hipp <[EMAIL PROTECTED]>
-----------------------------------------------------------------------------
To unsubscribe, send email to [EMAIL PROTECTED]
-----------------------------------------------------------------------------