Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Fix some problems in RBU test cases. Also update RBU source code to better handle the trivial case where an RBU update is applied to a database zero pages in size. |
---|---|
Downloads: | Tarball | ZIP archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA3-256: |
7676b39bc120ae23da0c6a14452eb99a |
User & Date: | dan 2017-08-03 15:43:55.425 |
Context
2017-08-04
| ||
08:24 | Add SQLITE_API qualifiers to public API functions in header file sqlite3rbu.h. (check-in: e11e6eb1d9 user: dan tags: trunk) | |
2017-08-03
| ||
15:50 | Add SQLITE_API qualifiers to public API functions in header file sqlite3rbu.h. (check-in: d8637badf6 user: dan tags: sqlite3rbu.h-fix) | |
15:43 | Fix some problems in RBU test cases. Also update RBU source code to better handle the trivial case where an RBU update is applied to a database zero pages in size. (check-in: 7676b39bc1 user: dan tags: trunk) | |
00:29 | Optimization to the comparison opcodes in the byte-code engine. (check-in: 654935c773 user: drh tags: trunk) | |
Changes
Changes to ext/rbu/rbu10.test.
︙ | ︙ | |||
110 111 112 113 114 115 116 | do_test 3.1 { list [catch { apply_rbu { CREATE TABLE data_xt(a, xt, rbu_rowid, rbu_control); INSERT INTO data_xt VALUES('a', 'b', 1, 0); } } msg] $msg | | | 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 | do_test 3.1 { list [catch { apply_rbu { CREATE TABLE data_xt(a, xt, rbu_rowid, rbu_control); INSERT INTO data_xt VALUES('a', 'b', 1, 0); } } msg] $msg } {1 {SQLITE_ERROR - SQL logic error}} } #-------------------------------------------------------------------- # Test that it is not possible to violate a NOT NULL constraint by # applying an RBU update. # do_execsql_test 4.1 { |
︙ | ︙ |
Changes to ext/rbu/rbufault.test.
︙ | ︙ | |||
121 122 123 124 125 126 127 | 2 ioerr-* { {0 SQLITE_DONE} {1 {SQLITE_IOERR - disk I/O error}} {1 SQLITE_IOERR} {1 SQLITE_IOERR_WRITE} {1 SQLITE_IOERR_READ} {1 SQLITE_IOERR_FSYNC} | | | 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 | 2 ioerr-* { {0 SQLITE_DONE} {1 {SQLITE_IOERR - disk I/O error}} {1 SQLITE_IOERR} {1 SQLITE_IOERR_WRITE} {1 SQLITE_IOERR_READ} {1 SQLITE_IOERR_FSYNC} {1 {SQLITE_ERROR - SQL logic error}} {1 {SQLITE_ERROR - unable to open database: rbu.db}} {1 {SQLITE_IOERR - unable to open database: rbu.db}} } 3 shmerr-* { {0 SQLITE_DONE} {1 {SQLITE_IOERR - disk I/O error}} |
︙ | ︙ |
Changes to ext/rbu/rbufault3.test.
︙ | ︙ | |||
27 28 29 30 31 32 33 | {1 {SQLITE_IOERR - disk I/O error}} {1 SQLITE_IOERR} {1 SQLITE_IOERR_WRITE} {1 SQLITE_IOERR_FSYNC} {1 SQLITE_IOERR_READ} {1 {SQLITE_IOERR - unable to open database: test.db2}} {1 {SQLITE_ERROR - unable to open database: test.db2}} | | | 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 | {1 {SQLITE_IOERR - disk I/O error}} {1 SQLITE_IOERR} {1 SQLITE_IOERR_WRITE} {1 SQLITE_IOERR_FSYNC} {1 SQLITE_IOERR_READ} {1 {SQLITE_IOERR - unable to open database: test.db2}} {1 {SQLITE_ERROR - unable to open database: test.db2}} {1 {SQLITE_ERROR - SQL logic error}} } cantopen* { {1 {SQLITE_CANTOPEN - unable to open database: test.db2}} {1 {SQLITE_CANTOPEN - unable to open database: test.db2}} {1 {SQLITE_CANTOPEN - unable to open database file}} {1 SQLITE_CANTOPEN} |
︙ | ︙ |
Changes to ext/rbu/rbufts.test.
︙ | ︙ | |||
115 116 117 118 119 120 121 | } do_test 3.2 { list [catch { apply_rbu_update test.db { CREATE TABLE data_ft(x, rbu_rowid, rbu_control); INSERT INTO data_ft VALUES(NULL, 2, 1); } } msg] $msg] | | | | 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 | } do_test 3.2 { list [catch { apply_rbu_update test.db { CREATE TABLE data_ft(x, rbu_rowid, rbu_control); INSERT INTO data_ft VALUES(NULL, 2, 1); } } msg] $msg] } {1 {SQLITE_ERROR - SQL logic error]}} do_test 3.3 { list [catch { apply_rbu_update test.db { CREATE TABLE data_ft(x, rbu_rowid, rbu_control); INSERT INTO data_ft VALUES('7 8 9', 1, 'x'); } } msg] $msg] } {1 {SQLITE_ERROR - SQL logic error]}} finish_test |
Changes to ext/rbu/sqlite3rbu.c.
︙ | ︙ | |||
4606 4607 4608 4609 4610 4611 4612 | */ if( rc==SQLITE_OK && flags==SQLITE_ACCESS_EXISTS ){ rbu_file *pDb = rbuFindMaindb(pRbuVfs, zPath); if( pDb && pDb->pRbu && pDb->pRbu->eStage==RBU_STAGE_OAL ){ if( *pResOut ){ rc = SQLITE_CANTOPEN; }else{ | > > | | 4606 4607 4608 4609 4610 4611 4612 4613 4614 4615 4616 4617 4618 4619 4620 4621 4622 | */ if( rc==SQLITE_OK && flags==SQLITE_ACCESS_EXISTS ){ rbu_file *pDb = rbuFindMaindb(pRbuVfs, zPath); if( pDb && pDb->pRbu && pDb->pRbu->eStage==RBU_STAGE_OAL ){ if( *pResOut ){ rc = SQLITE_CANTOPEN; }else{ sqlite3_int64 sz = 0; rc = rbuVfsFileSize(&pDb->base, &sz); *pResOut = (sz>0); } } } return rc; } |
︙ | ︙ |