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

Reply via email to