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

Reply via email to