Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Make the last_insert_rowid method in the TCL interface work with 64-bit rowids. (CVS 3283) |
---|---|
Downloads: | Tarball | ZIP archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: |
d50c37975de7639627422cbed40eb03a |
User & Date: | drh 2006-06-21 19:30:34.000 |
Context
2006-06-22
| ||
09:53 | Test the handling of errors in virtual table methods. (CVS 3284) (check-in: 51b729d9d9 user: danielk1977 tags: trunk) | |
2006-06-21
| ||
19:30 | Make the last_insert_rowid method in the TCL interface work with 64-bit rowids. (CVS 3283) (check-in: d50c37975d user: drh tags: trunk) | |
16:02 | Add the database name to the parameters passed to virtual table module xCreate and xConnect methods. (CVS 3282) (check-in: 2d2805785f user: danielk1977 tags: trunk) | |
Changes
Changes to src/tclsqlite.c.
1 2 3 4 5 6 7 8 9 10 11 12 13 | /* ** 2001 September 15 ** ** The author disclaims copyright to this source code. In place of ** a legal notice, here is a blessing: ** ** May you do good and not evil. ** May you find forgiveness for yourself and forgive others. ** May you share freely, never taking more than you give. ** ************************************************************************* ** A TCL Interface to SQLite ** | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | /* ** 2001 September 15 ** ** The author disclaims copyright to this source code. In place of ** a legal notice, here is a blessing: ** ** May you do good and not evil. ** May you find forgiveness for yourself and forgive others. ** May you share freely, never taking more than you give. ** ************************************************************************* ** A TCL Interface to SQLite ** ** $Id: tclsqlite.c,v 1.161 2006/06/21 19:30:34 drh Exp $ */ #ifndef NO_TCL /* Omit this whole file if TCL is unavailable */ #include "sqliteInt.h" #include "hash.h" #include "tcl.h" #include <stdlib.h> |
︙ | ︙ | |||
1614 1615 1616 1617 1618 1619 1620 | /* ** $db last_insert_rowid ** ** Return an integer which is the ROWID for the most recent insert. */ case DB_LAST_INSERT_ROWID: { Tcl_Obj *pResult; | | | | 1614 1615 1616 1617 1618 1619 1620 1621 1622 1623 1624 1625 1626 1627 1628 1629 1630 1631 1632 1633 1634 1635 | /* ** $db last_insert_rowid ** ** Return an integer which is the ROWID for the most recent insert. */ case DB_LAST_INSERT_ROWID: { Tcl_Obj *pResult; Tcl_WideInt rowid; if( objc!=2 ){ Tcl_WrongNumArgs(interp, 2, objv, ""); return TCL_ERROR; } rowid = sqlite3_last_insert_rowid(pDb->db); pResult = Tcl_GetObjResult(interp); Tcl_SetWideIntObj(pResult, rowid); break; } /* ** The DB_ONECOLUMN method is implemented together with DB_EVAL. */ |
︙ | ︙ |
Changes to test/lastinsert.test.
︙ | ︙ | |||
350 351 352 353 354 355 356 357 358 359 360 361 | CREATE TRIGGER after_t2 AFTER INSERT ON t2 BEGIN INSERT INTO t3 VALUES(new.x, new.y); END; INSERT INTO t2 VALUES(5000000000, 1); SELECT last_insert_rowid(); } } 5000000000 } ;# ifcapable (view && trigger) finish_test | > > > > > | 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 | CREATE TRIGGER after_t2 AFTER INSERT ON t2 BEGIN INSERT INTO t3 VALUES(new.x, new.y); END; INSERT INTO t2 VALUES(5000000000, 1); SELECT last_insert_rowid(); } } 5000000000 do_test lastinsert-9.1 { db eval {INSERT INTO t2 VALUES(123456789012345,0)} db last_insert_rowid } {123456789012345} } ;# ifcapable (view && trigger) finish_test |