Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Add another OOM test to this branch. |
---|---|
Downloads: | Tarball | ZIP archive |
Timelines: | family | ancestors | descendants | both | session-retry |
Files: | files | file ages | folders |
SHA1: |
49763fc3ae2fb6117b0443ea28661568 |
User & Date: | dan 2016-03-31 15:08:10.284 |
Context
2016-04-04
| ||
14:57 | Enhance sqlite3session_apply() and sqlite3session_apply_strm() so that conflicts are retried before the xConflict() callback is invoked, as long as the "apply" operation is making forward progress. (check-in: 42a2196684 user: drh tags: trunk) | |
2016-03-31
| ||
15:08 | Add another OOM test to this branch. (Closed-Leaf check-in: 49763fc3ae user: dan tags: session-retry) | |
10:50 | Add further tests for the code on this branch. Fix a problem in OOM handling. (check-in: 195f3340ee user: dan tags: session-retry) | |
Changes
Changes to ext/session/sessionfault2.test.
︙ | ︙ | |||
66 67 68 69 70 71 72 73 74 75 | } else { if { $res != "1 2 2 3 3 4 1 0 2 1 3 2" && $res != "1 1 2 2 3 3 1 1 2 2 3 3" } { error "data error!! $res" } } } finish_test | > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 | } else { if { $res != "1 2 2 3 3 4 1 0 2 1 3 2" && $res != "1 1 2 2 3 3 1 1 2 2 3 3" } { error "data error!! $res" } } } #------------------------------------------------------------------------- # OOM when applying a changeset for which one of the tables has a name # 99 bytes in size. This happens to cause an extra malloc in within the # sessions_strm permutation. # reset_db set nm [string repeat t 99] do_execsql_test 2.0.0 [string map "%TBL% $nm" { CREATE TABLE %TBL%(a PRIMARY KEY, b UNIQUE); }] faultsim_save_and_close faultsim_restore_and_reopen do_test 1.0.1 { set ::C [changeset_from_sql [string map "%TBL% $nm" { INSERT INTO %TBL% VALUES(1, 2); INSERT INTO %TBL% VALUES(3, 4); }]] set {} {} } {} proc xConflict args { return "OMIT" } do_faultsim_test 2 -faults oom-p* -prep { faultsim_restore_and_reopen } -body { sqlite3changeset_apply db $::C xConflict } -test { faultsim_test_result {0 {}} {1 SQLITE_NOMEM} faultsim_integrity_check } finish_test |