SQLite

Check-in [f88dfac383]
Login

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:Rather than document goofy behavior, it seems better to make the behavior less goofy. (Was: Updates to the sqlite3_last_insert_rowid() documentation - to make it clear that the function does not work for virtual tables.)
Downloads: Tarball | ZIP archive
Timelines: family | ancestors | mistake
Files: files | file ages | folders
SHA1: f88dfac383fca8283a0a969d71601f68b0f69e5c
User & Date: drh 2011-05-13 17:11:56.391
Original Comment: Updates to the sqlite3_last_insert_rowid() documentation - to make it clear that the function does not work for virtual tables.
Context
2011-05-13
17:11
Rather than document goofy behavior, it seems better to make the behavior less goofy. (Was: Updates to the sqlite3_last_insert_rowid() documentation - to make it clear that the function does not work for virtual tables.) (Closed-Leaf check-in: f88dfac383 user: drh tags: mistake)
17:11
Also add fts3_term.c to main.mk. (check-in: 966f2d2c1f user: drh tags: trunk)
Changes
Unified Diff Ignore Whitespace Patch
Changes to src/sqlite.h.in.
1543
1544
1545
1546
1547
1548
1549
1550

1551
1552









1553
1554
1555
1556
1557
1558
1559
** integer key called the [ROWID | "rowid"]. ^The rowid is always available
** as an undeclared column named ROWID, OID, or _ROWID_ as long as those
** names are not also used by explicitly declared columns. ^If
** the table has a column of type [INTEGER PRIMARY KEY] then that column
** is another alias for the rowid.
**
** ^This routine returns the [rowid] of the most recent
** successful [INSERT] into the database from the [database connection]

** in the first argument.  ^If no successful [INSERT]s
** have ever occurred on that database connection, zero is returned.









**
** ^(If an [INSERT] occurs within a trigger, then the [rowid] of the inserted
** row is returned by this routine as long as the trigger is running.
** But once the trigger terminates, the value returned by this routine
** reverts to the last value inserted before the trigger fired.)^
**
** ^An [INSERT] that fails due to a constraint violation is not a







|
>


>
>
>
>
>
>
>
>
>







1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
** integer key called the [ROWID | "rowid"]. ^The rowid is always available
** as an undeclared column named ROWID, OID, or _ROWID_ as long as those
** names are not also used by explicitly declared columns. ^If
** the table has a column of type [INTEGER PRIMARY KEY] then that column
** is another alias for the rowid.
**
** ^This routine returns the [rowid] of the most recent
** successful [INSERT] into a real table
** of the database from the [database connection]
** in the first argument.  ^If no successful [INSERT]s
** have ever occurred on that database connection, zero is returned.
**
** This routine does not report on the rowids for INSERTs into
** [virtual tables].  Some virtual tables, such as [FTS3] and [RTREE]
** implement INSERT by recursively inserting content into 
** so-called "shadow tables".  If an insert into a virtual table does
** result in an insert into a shadow table, then sqlite3_last_insert_rowid()
** will report the rowid inserted into the shadow table, which is
** probably unrelated to the rowid of the row inserted into the
** virtual table.
**
** ^(If an [INSERT] occurs within a trigger, then the [rowid] of the inserted
** row is returned by this routine as long as the trigger is running.
** But once the trigger terminates, the value returned by this routine
** reverts to the last value inserted before the trigger fired.)^
**
** ^An [INSERT] that fails due to a constraint violation is not a