Re: [sqlite] last_insert_rowid and FTS in 3.17
On Thu, Mar 16, 2017, at 03:25 AM, Keith Medcalf wrote: > > Head of trunk certainly fixes it ... > > SQLite version 3.18.0 2017-03-15 19:11:29 > Enter ".help" for usage hints. > Connected to a transient in-memory database. > Use ".open FILENAME" to reopen on a persistent database. > sqlite> select sqlite_source_id(); > 2017-03-15 19:11:29 > b1b1aa8b69aa80c83aec3380565f0b4ec0b6a6e033537becee098872da362e9a > sqlite> CREATE TABLE IF NOT EXISTS Foo( >...> id_foo INTEGER PRIMARY KEY AUTOINCREMENT, >...> bar TEXT >...> ); > sqlite> > sqlite> CREATE VIRTUAL TABLE IF NOT EXISTS FooFts >...> USING FTS4(bar); > sqlite> > sqlite> 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; > sqlite> > sqlite> > sqlite> BEGIN; > sqlite> INSERT INTO Foo(id_foo) VALUES(NULL); > sqlite> SELECT last_insert_rowid(); > 1 > sqlite> INSERT INTO Foo(id_foo) VALUES(NULL); > sqlite> SELECT last_insert_rowid(); > 2 > sqlite> COMMIT; > sqlite> SELECT last_insert_rowid(); > 2 > sqlite> > sqlite> BEGIN; > sqlite> INSERT INTO Foo(id_foo, bar) VALUES(NULL, "otter"); > sqlite> COMMIT; > sqlite> SELECT last_insert_rowid(); > 3 > sqlite> > sqlite> SELECT * FROM sqlite_sequence; > Foo|3 > sqlite> > sqlite> > > > -Original Message- > > From: sqlite-users [mailto:sqlite-users-boun...@mailinglists.sqlite.org] > > On Behalf Of Richard Hipp > > Sent: Wednesday, 15 March, 2017 18:01 > > To: SQLite mailing list > > Subject: Re: [sqlite] last_insert_rowid and FTS in 3.17 > > > > On 3/15/17, Hugo Beauzée-Luyssen <h...@beauzee.fr> wrote: > > > 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. > > > > Please try the latest pre-release snapshot at > > https://www.sqlite.org/download.html and let us know whether or not it > > fixes your problem. > > -- > > D. Richard Hipp > > d...@sqlite.org > > ___ Indeed it does fix it! Do you have a rough estimate on a 3.17.1 or 3.18 release? Thanks a lot, -- 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
Re: [sqlite] last_insert_rowid and FTS in 3.17
Head of trunk certainly fixes it ... SQLite version 3.18.0 2017-03-15 19:11:29 Enter ".help" for usage hints. Connected to a transient in-memory database. Use ".open FILENAME" to reopen on a persistent database. sqlite> select sqlite_source_id(); 2017-03-15 19:11:29 b1b1aa8b69aa80c83aec3380565f0b4ec0b6a6e033537becee098872da362e9a sqlite> CREATE TABLE IF NOT EXISTS Foo( ...> id_foo INTEGER PRIMARY KEY AUTOINCREMENT, ...> bar TEXT ...> ); sqlite> sqlite> CREATE VIRTUAL TABLE IF NOT EXISTS FooFts ...> USING FTS4(bar); sqlite> sqlite> 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; sqlite> sqlite> sqlite> BEGIN; sqlite> INSERT INTO Foo(id_foo) VALUES(NULL); sqlite> SELECT last_insert_rowid(); 1 sqlite> INSERT INTO Foo(id_foo) VALUES(NULL); sqlite> SELECT last_insert_rowid(); 2 sqlite> COMMIT; sqlite> SELECT last_insert_rowid(); 2 sqlite> sqlite> BEGIN; sqlite> INSERT INTO Foo(id_foo, bar) VALUES(NULL, "otter"); sqlite> COMMIT; sqlite> SELECT last_insert_rowid(); 3 sqlite> sqlite> SELECT * FROM sqlite_sequence; Foo|3 sqlite> sqlite> > -Original Message- > From: sqlite-users [mailto:sqlite-users-boun...@mailinglists.sqlite.org] > On Behalf Of Richard Hipp > Sent: Wednesday, 15 March, 2017 18:01 > To: SQLite mailing list > Subject: Re: [sqlite] last_insert_rowid and FTS in 3.17 > > On 3/15/17, Hugo Beauzée-Luyssen <h...@beauzee.fr> wrote: > > 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. > > Please try the latest pre-release snapshot at > https://www.sqlite.org/download.html and let us know whether or not it > fixes your problem. > -- > D. Richard Hipp > d...@sqlite.org > ___ > sqlite-users mailing list > sqlite-users@mailinglists.sqlite.org > http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users ___ sqlite-users mailing list sqlite-users@mailinglists.sqlite.org http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users
Re: [sqlite] last_insert_rowid and FTS in 3.17
On 3/15/17, Hugo Beauzée-Luyssenwrote: > 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. Please try the latest pre-release snapshot at https://www.sqlite.org/download.html and let us know whether or not it fixes your problem. -- D. Richard Hipp d...@sqlite.org ___ sqlite-users mailing list sqlite-users@mailinglists.sqlite.org http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users