"Evans, Mark (Tandem)" <[EMAIL PROTECTED]> wrote: > Hi all, > > I have been lurking on the message board and am in awe of the collective > wisdom. > > I'm just getting my feet wet learning the internals of SQLite, drinking > from the proverbial firehose. I am using cygwin 1.90 as my learning > platform and I have built SQLite 3.5.0. I ran 'make test' (quick.test > suite) and it reports some test failures as follows: > > 41 errors out of 28604 tests > Failures on these tests: autoinc-6.1 bind-3.1 cast-3.1 cast-3.2 cast-3.4 > cast-3.5 cast-3.6 cast-3.8 cast-3.11 cast-3.12 cast-3.14 cast-3.15 > cast-3.16 cast-3.18 cast-3.21 cast-3.22 cast-3.24 expr-1.102 expr-1.106 > func-18.14 func-18.16 func-18.17 func-18.31 lastinsert-8.1 > lastinsert-9.1 misc1-9.1 misc2-4.1 misc2-4.2 misc2-4.4 misc2-4.5 > misc2-4.6 misc3-3.6 misc3-3.7 misc3-3.8 misc3-3.9 misc3-3.10 misc3-3.11 > misc5-2.2 shared-1.11.9 shared-2.11.9 types-2.1.8 > > Should I be surprised by these failures? > > Taking the first one that failed, autoinc-6.1, it reported: > > autoinc-6.1... > Expected: [9223372036854775807] > Got: [-1] > > The corresonding test code is: > > ifcapable {!rowid32} { > do_test autoinc-6.1 { > execsql { > CREATE TABLE t6(v INTEGER PRIMARY KEY AUTOINCREMENT, w); > INSERT INTO t6 VALUES(9223372036854775807,1); > SELECT seq FROM main.sqlite_sequence WHERE name='t6'; > } > } 9223372036854775807 > } > > So the SELECT clause returns -1 instead of the expected > 0x7FFFFFFFFFFFFFFF (MAXLONGLONG), or in other words MAXLONGLONG + 1. > Should the value returned by SELECT seq ... be the the key value (rowid) > of the last insert, or, is seq supposed to represent the next rowid > (autoincrement of last key)? >
41 failures out of 28604 isn't bad. That's a 0.1% failure rate. If these are the only problems you are having, your build is probably OK. If you want to go for 100% pass, the first place I would look is what version of TCL you are linking against to build the test harness. You want a later version of 8.4 or any version of 8.5. I'll bet you have 8.3, which won't work here. The other thing you might try to do is *not* use cygwin but instead use mingw. Of course, the easiest option by far is to use a Linux box or a Mac. :-) -- D. Richard Hipp <[EMAIL PROTECTED]> ----------------------------------------------------------------------------- To unsubscribe, send email to [EMAIL PROTECTED] -----------------------------------------------------------------------------