Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Difference From 39c5e80dbf94ac30 To efc7e8c99a86e9d9
2021-10-29
| ||
16:19 | Reorder a test add earlier today to OP_Transaction for easier testing. (check-in: 8ba73b3cad user: drh tags: trunk) | |
14:04 | Merge the latest trunk enhancements into the reuse-schema branch. (check-in: 7623132efe user: drh tags: reuse-schema) | |
13:10 | Allow "VACUUM INTO" to change the page_size of a database even if the original database is in WAL mode. Enhancement suggested by forum post 033f2c9d1f. (check-in: efc7e8c99a user: drh tags: trunk) | |
12:29 | Add pragmas "multiplex_enabled", "multiplex_chunksize", and "multiplex_filecount" to the multiplexer implementation. (check-in: 39c5e80dbf user: drh tags: trunk) | |
09:59 | Fix the OP_Transaction opcode so that if an error other than SQLITE_SCHEMA occurs first, the original error is not overwritten by SQLITE_SCHEMA. dbsqlfuzz 85bf7e262017c6c7bddb03ff6d8541511985d36c. (check-in: 5374226df4 user: drh tags: trunk) | |
Changes to src/vacuum.c.
︙ | ︙ | |||
246 247 248 249 250 251 252 | rc = execSql(db, pzErrMsg, "BEGIN"); if( rc!=SQLITE_OK ) goto end_of_vacuum; rc = sqlite3BtreeBeginTrans(pMain, pOut==0 ? 2 : 0, 0); if( rc!=SQLITE_OK ) goto end_of_vacuum; /* Do not attempt to change the page size for a WAL database */ if( sqlite3PagerGetJournalMode(sqlite3BtreePager(pMain)) | | > > | 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 | rc = execSql(db, pzErrMsg, "BEGIN"); if( rc!=SQLITE_OK ) goto end_of_vacuum; rc = sqlite3BtreeBeginTrans(pMain, pOut==0 ? 2 : 0, 0); if( rc!=SQLITE_OK ) goto end_of_vacuum; /* Do not attempt to change the page size for a WAL database */ if( sqlite3PagerGetJournalMode(sqlite3BtreePager(pMain)) ==PAGER_JOURNALMODE_WAL && pOut==0 ){ db->nextPagesize = 0; } if( sqlite3BtreeSetPageSize(pTemp, sqlite3BtreeGetPageSize(pMain), nRes, 0) || (!isMemDb && sqlite3BtreeSetPageSize(pTemp, db->nextPagesize, nRes, 0)) || NEVER(db->mallocFailed) ){ |
︙ | ︙ |
Changes to test/vacuum-into.test.
︙ | ︙ | |||
95 96 97 98 99 100 101 102 103 | } sqlite3 db2 test.db2 do_test vacuum-into-510 { db2 eval {SELECT name FROM sqlite_master ORDER BY 1} } {t1 t1b t2} db2 close db close finish_test | > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 | } sqlite3 db2 test.db2 do_test vacuum-into-510 { db2 eval {SELECT name FROM sqlite_master ORDER BY 1} } {t1 t1b t2} db2 close db close # Change the page-size on a VACUUM INTO even if the original # database is in WAL mode. # forcedelete test.db forcedelete test.db2 do_test vacuum-into-600 { sqlite3 db test.db db eval { PRAGMA page_size=4096; PRAGMA journal_mode=WAL; CREATE TABLE t1(a); INSERT INTO t1 VALUES(19); CREATE INDEX t1a ON t1(a); PRAGMA integrity_check; } } {wal ok} do_execsql_test vacuum-into-610 { PRAGMA page_size; } {4096} do_execsql_test vacuum-into-620 { PRAGMA page_size=1024; VACUUM INTO 'test.db2'; } {} do_test vacuum-into-630 { sqlite3 db test.db2 db eval { PRAGMA page_size; PRAGMA integrity_check; } } {1024 ok} finish_test |