| Index: third_party/sqlite/src/test/rowid.test | 
| diff --git a/third_party/sqlite/src/test/rowid.test b/third_party/sqlite/src/test/rowid.test | 
| index 4a9404defb526a09ad784e0d9a13897db57729b6..b00b5287fdf1673ab5d3f6b90fb5bea61eee2d0d 100644 | 
| --- a/third_party/sqlite/src/test/rowid.test | 
| +++ b/third_party/sqlite/src/test/rowid.test | 
| @@ -12,7 +12,9 @@ | 
| # focus of this file is testing the magic ROWID column that is | 
| # found on all tables. | 
| # | 
| -# $Id: rowid.test,v 1.21 2009/06/26 15:14:55 drh Exp $ | 
| +# EVIDENCE-OF: R-36924-43758 By default, every row in SQLite has a | 
| +# special column, usually called the "rowid", that uniquely identifies | 
| +# that row within the table. | 
|  | 
| set testdir [file dirname $argv0] | 
| source $testdir/tester.tcl | 
| @@ -657,7 +659,7 @@ do_test rowid-11.4 { | 
| # Test the automatic generation of rowids when the table already contains | 
| # a rowid with the maximum value. | 
| # | 
| -# Once the the maximum rowid is taken, rowids are normally chosen at | 
| +# Once the maximum rowid is taken, rowids are normally chosen at | 
| # random.  By by reseting the random number generator, we can cause | 
| # the rowid guessing loop to collide with prior rowids, and test the | 
| # loop out to its limit of 100 iterations.  After 100 collisions, the | 
| @@ -677,9 +679,9 @@ do_test rowid-12.2 { | 
| save_prng_state | 
| execsql { | 
| INSERT INTO t7 VALUES(NULL,'b'); | 
| -    SELECT x, y FROM t7; | 
| +    SELECT x, y FROM t7 ORDER BY x; | 
| } | 
| -} {1 b 9223372036854775807 a} | 
| +} {/\d+ b 9223372036854775807 a/} | 
| execsql {INSERT INTO t7 VALUES(2,'y');} | 
| for {set i 1} {$i<100} {incr i} { | 
| do_test rowid-12.3.$i { | 
| @@ -699,5 +701,19 @@ do_test rowid-12.4 { | 
| } | 
| } {1 {database or disk is full}} | 
|  | 
| +# INSERTs that happen inside of nested function calls are recorded | 
| +# by last_insert_rowid. | 
| +# | 
| +proc rowid_addrow_func {n} { | 
| +  db eval {INSERT INTO t13(rowid,x) VALUES($n,$n*$n)} | 
| +  return [db last_insert_rowid] | 
| +} | 
| +db function addrow rowid_addrow_func | 
| +do_execsql_test rowid-13.1 { | 
| +  CREATE TABLE t13(x); | 
| +  INSERT INTO t13(rowid,x) VALUES(1234,5); | 
| +  SELECT rowid, x, addrow(rowid+1000), '|' FROM t13 LIMIT 3; | 
| +  SELECT last_insert_rowid(); | 
| +} {1234 5 2234 | 2234 4990756 3234 | 3234 10458756 4234 | 4234} | 
|  | 
| finish_test | 
|  |