| OLD | NEW |
| 1 # 2011 February 21 | 1 # 2011 February 21 |
| 2 # | 2 # |
| 3 # The author disclaims copyright to this source code. In place of | 3 # The author disclaims copyright to this source code. In place of |
| 4 # a legal notice, here is a blessing: | 4 # a legal notice, here is a blessing: |
| 5 # | 5 # |
| 6 # May you do good and not evil. | 6 # May you do good and not evil. |
| 7 # May you find forgiveness for yourself and forgive others. | 7 # May you find forgiveness for yourself and forgive others. |
| 8 # May you share freely, never taking more than you give. | 8 # May you share freely, never taking more than you give. |
| 9 # | 9 # |
| 10 #*********************************************************************** | 10 #*********************************************************************** |
| (...skipping 17 matching lines...) Expand all Loading... |
| 28 # * When control returns to B it will then abort | 28 # * When control returns to B it will then abort |
| 29 # | 29 # |
| 30 # The bug is that sqlite3ExpirePreparedStatements expires all statements. | 30 # The bug is that sqlite3ExpirePreparedStatements expires all statements. |
| 31 # Note that B was prepared after the schema change and hence is perfectly | 31 # Note that B was prepared after the schema change and hence is perfectly |
| 32 # valid and then is marked as expired while running. | 32 # valid and then is marked as expired while running. |
| 33 # | 33 # |
| 34 | 34 |
| 35 set testdir [file dirname $argv0] | 35 set testdir [file dirname $argv0] |
| 36 source $testdir/tester.tcl | 36 source $testdir/tester.tcl |
| 37 | 37 |
| 38 ifcapable !compound { |
| 39 finish_test |
| 40 return |
| 41 } |
| 42 |
| 38 unset -nocomplain ::STMT | 43 unset -nocomplain ::STMT |
| 39 proc runsql {} { | 44 proc runsql {} { |
| 40 db eval {CREATE TABLE IF NOT EXISTS t4(q)} | 45 db eval {CREATE TABLE IF NOT EXISTS t4(q)} |
| 41 sqlite3_step $::STMT | 46 sqlite3_step $::STMT |
| 42 set rc [sqlite3_column_int $::STMT 0] | 47 set rc [sqlite3_column_int $::STMT 0] |
| 43 sqlite3_reset $::STMT | 48 sqlite3_reset $::STMT |
| 44 return $rc | 49 return $rc |
| 45 } | 50 } |
| 46 | 51 |
| 47 do_test tkt-b72787b1.1 { | 52 do_test tkt-b72787b1.1 { |
| (...skipping 20 matching lines...) Expand all Loading... |
| 68 SELECT CASE WHEN y=3 THEN y+100 WHEN y==4 THEN runsql()+200 | 73 SELECT CASE WHEN y=3 THEN y+100 WHEN y==4 THEN runsql()+200 |
| 69 ELSE 300+y END FROM t2 | 74 ELSE 300+y END FROM t2 |
| 70 UNION ALL | 75 UNION ALL |
| 71 SELECT * FROM t1; | 76 SELECT * FROM t1; |
| 72 } | 77 } |
| 73 } {103 202 305 306 1 2} | 78 } {103 202 305 306 1 2} |
| 74 | 79 |
| 75 sqlite3_finalize $::STMT | 80 sqlite3_finalize $::STMT |
| 76 | 81 |
| 77 finish_test | 82 finish_test |
| OLD | NEW |