On Thu, Jun 28, 2012 at 3:22 PM, Stephan Beal <sgb...@googlemail.com> wrote:
> A follow-up: > > i've got it linking now, but i am seeing different behaviour between > autoincrement fields and sqliteX_last_insert_rowid(). v4 doesn't allow the > following SQL: > Autoincrement isn't working yet. I discovered that too, when I tried the Fossil port. I started to work on it yesterday, but keep getting sidetracked. Note that SQLite4 does not have a rowid (at last not always) so the whole concept of autoincrement will need to be revisited. I don't think the old SQLite3 way of doing autoincrement makes sense any more. Not good sense anyhow. We (the community) needs to talk more about what ought to be done here. > > and when i hard-code a row ID into my test SQL it's last_insert_rowid() is > returning <=0 (i don't yet know which - an assertion was triggered for that > condition). > > i haven't yet narrowed down the problem, but wanted to point it out. If > it's a known problem, let me know and i'll stop digging. > > My SQL: > > stephan@tiny:~/cvs/fossil/cpdo$ echo '.dump' | sqlite4 4.db > PRAGMA foreign_keys=OFF; > BEGIN TRANSACTION; > CREATE TABLE t(vInt INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,vDbl DOUBLE > DEFAULT NULL,vStr VARCHAR(64) DEFAULT NULL,vTs CHAR(20) DEFAULT > CURRENT_TIMESTAMP); > COMMIT; > > that same code works "as expected" in v3. > > Just some arbitrary test output which might or might not be of interest... > > stephan@tiny:~/cvs/fossil/cpdo$ ./certify -d 'sqlite3:3.db' > certify.cpp:605:main(): Testing against DSN [sqlite3:3.db]... > certify.cpp:465:test_driver(): Starting tests against [sqlite3:3.db]... > certify.cpp:323:run_select(): Done looping: row count=11 > certify.cpp:436:test_step_each(): step_each() appears to work. 11 row(s) > step()'d. > certify.cpp:445:test_step_each(): step_each(reference) appears to work. 11 > row(s) step()'d. > vInt vDbl vStr vTs > 1 1132.37 Hi, world #1 2012-06-28 19:21:23 > 2 2264.74 Hi, world #2 2012-06-28 19:21:23 > 3 3397.11 Hi, world #3 2012-06-28 19:21:23 > 4 4529.48 Hi, world #4 2012-06-28 19:21:24 > 5 42.24 bound by name 2012-06-28 19:21:24 > 6 42.24 bound by name 2012-06-28 19:21:24 > 7 42.24 NULL 2012-06-28 19:21:24 > 8 42.24 bound by name 2012-06-28 19:21:24 > 1971 12.08 Hi again from chainer::bind(). 2012-06-28 19:21:24 > 1972 11.21 Hi from chainer::bind(). 2012-06-28 19:21:24 > 1975 11.21 read back string: 2012-06-28 19:21:24 > certify.cpp:456:test_step_each(): step_each(const reference) appears to > work. > certify.cpp:479:test_driver(): Qualified identifier: [foo] > certify.cpp:631:main(): Done! rc=0 > > stephan@tiny:~/cvs/fossil/cpdo$ ./certify -d 'sqlite4:4.db' > certify.cpp:605:main(): Testing against DSN [sqlite4:4.db]... > certify.cpp:465:test_driver(): Starting tests against [sqlite4:4.db]... > certify.cpp:610:main(): DB EXCEPTION: code=19: t.vInt may not be NULL > certify.cpp:631:main(): Done! rc=1 > > > -- > ----- stephan beal > http://wanderinghorse.net/home/stephan/ > http://gplus.to/sgbeal > _______________________________________________ > sqlite-users mailing list > sqlite-users@sqlite.org > http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users > -- D. Richard Hipp d...@sqlite.org _______________________________________________ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users