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:
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