Hi,
Hi, I'm having some issues with last_insert_rowid starting with 3.17 Basically it seems to be returning the row inserted by a trigger, instead of the explicitly inserted row. As far as I understand, this contradicts the last_insert_rowid() documentation. I wrote a small test case to demonstrate the issue: chouquette@nibbler cat /tmp/test.sql CREATE TABLE IF NOT EXISTS Foo( id_foo INTEGER PRIMARY KEY AUTOINCREMENT, bar TEXT ); CREATE VIRTUAL TABLE IF NOT EXISTS FooFts USING FTS4(bar); CREATE TRIGGER IF NOT EXISTS insert_fts AFTER INSERT ON Foo WHEN new.bar IS NOT NULL BEGIN INSERT INTO FooFts(rowid, bar) VALUES(new.id_foo, new.bar); END; BEGIN; INSERT INTO Foo(id_foo) VALUES(NULL); SELECT last_insert_rowid(); INSERT INTO Foo(id_foo) VALUES(NULL); SELECT last_insert_rowid(); COMMIT; SELECT last_insert_rowid(); BEGIN; INSERT INTO Foo(id_foo, bar) VALUES(NULL, "otter"); COMMIT; SELECT last_insert_rowid(); SELECT * FROM sqlite_sequence; chouquette@nibbler ./sqlite3 --version 3.16.2 2017-01-06 16:32:41 a65a62893ca8319e89e48b8a38cf8a59c69a8209 chouquette@nibbler ./sqlite3 < /tmp/test.sql 1 2 2 3 Foo|3 chouquette@nibbler ~/dev/prefix/bin/sqlite3 --version 3.17.0 2017-02-13 16:02:40 ada05cfa86ad7f5645450ac7a2a21c9aa6e57d2c chouquette@nibbler ~/dev/prefix/bin/sqlite3 < /tmp/test.sql 1 2 2 1 Foo|3 Has the behavior changed without being documented (or did I miss the change?), or is this indeed a bug? Thanks a lot in advance, Regards, -- Hugo Beauzée-Luyssen h...@beauzee.fr _______________________________________________ sqlite-users mailing list sqlite-users@mailinglists.sqlite.org http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users