Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Allow the journal_size_limit to be larger than 2147483647 bytes. (CVS 6449) |
---|---|
Downloads: | Tarball | ZIP archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: |
81931259611ef10de731ea0e38cee92e |
User & Date: | drh 2009-04-04 16:02:32.000 |
Context
2009-04-05
| ||
12:22 | Additional code to make sure and to assert that memory allocations have 8-byte alignment. Ticket #3777. (CVS 6450) (check-in: 208382e032 user: drh tags: trunk) | |
2009-04-04
| ||
16:02 | Allow the journal_size_limit to be larger than 2147483647 bytes. (CVS 6449) (check-in: 8193125961 user: drh tags: trunk) | |
15:53 | Allow the journal_mode for in-memory databases to be either OFF or MEMORY, not just MEMORY. (CVS 6448) (check-in: 11c77f4c2c user: drh tags: trunk) | |
Changes
Changes to src/pragma.c.
1 2 3 4 5 6 7 8 9 10 11 12 13 | /* ** 2003 April 6 ** ** The author disclaims copyright to this source code. In place of ** a legal notice, here is a blessing: ** ** May you do good and not evil. ** May you find forgiveness for yourself and forgive others. ** May you share freely, never taking more than you give. ** ************************************************************************* ** This file contains code used to implement the PRAGMA command. ** | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | /* ** 2003 April 6 ** ** The author disclaims copyright to this source code. In place of ** a legal notice, here is a blessing: ** ** May you do good and not evil. ** May you find forgiveness for yourself and forgive others. ** May you share freely, never taking more than you give. ** ************************************************************************* ** This file contains code used to implement the PRAGMA command. ** ** $Id: pragma.c,v 1.206 2009/04/04 16:02:32 drh Exp $ */ #include "sqliteInt.h" /* Ignore this whole file if pragmas are disabled */ #if !defined(SQLITE_OMIT_PRAGMA) && !defined(SQLITE_OMIT_PARSER) |
︙ | ︙ | |||
140 141 142 143 144 145 146 | return SQLITE_OK; } #endif /* SQLITE_PAGER_PRAGMAS */ /* ** Generate code to return a single integer value. */ | | > > > > | | 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 | return SQLITE_OK; } #endif /* SQLITE_PAGER_PRAGMAS */ /* ** Generate code to return a single integer value. */ static void returnSingleInt(Parse *pParse, const char *zLabel, i64 value){ Vdbe *v = sqlite3GetVdbe(pParse); int mem = ++pParse->nMem; i64 *pI64 = sqlite3DbMallocRaw(pParse->db, sizeof(value)); if( pI64 ){ memcpy(pI64, &value, sizeof(value)); } sqlite3VdbeAddOp4(v, OP_Int64, 0, mem, 0, (char*)pI64, P4_INT64); if( pParse->explain==0 ){ sqlite3VdbeSetNumCols(v, 1); sqlite3VdbeSetColName(v, 0, COLNAME_NAME, zLabel, SQLITE_STATIC); } sqlite3VdbeAddOp2(v, OP_ResultRow, mem, 1); } |
︙ | ︙ | |||
527 528 529 530 531 532 533 | ** ** Get or set the size limit on rollback journal files. */ if( sqlite3StrICmp(zLeft,"journal_size_limit")==0 ){ Pager *pPager = sqlite3BtreePager(pDb->pBt); i64 iLimit = -2; if( zRight ){ | | | < | < < | | 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 | ** ** Get or set the size limit on rollback journal files. */ if( sqlite3StrICmp(zLeft,"journal_size_limit")==0 ){ Pager *pPager = sqlite3BtreePager(pDb->pBt); i64 iLimit = -2; if( zRight ){ sqlite3Atoi64(zRight, &iLimit); if( iLimit<-1 ) iLimit = -1; } iLimit = sqlite3PagerJournalSizeLimit(pPager, iLimit); returnSingleInt(pParse, "journal_size_limit", iLimit); }else #endif /* SQLITE_OMIT_PAGER_PRAGMAS */ /* ** PRAGMA [database.]auto_vacuum ** PRAGMA [database.]auto_vacuum=N |
︙ | ︙ |
Changes to test/jrnlmode.test.
1 2 3 4 5 6 7 8 9 10 11 12 13 | # 2008 April 17 # # The author disclaims copyright to this source code. In place of # a legal notice, here is a blessing: # # May you do good and not evil. # May you find forgiveness for yourself and forgive others. # May you share freely, never taking more than you give. # #*********************************************************************** # This file implements regression tests for SQLite library. The focus # of these tests is the journal mode pragma. # | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | # 2008 April 17 # # The author disclaims copyright to this source code. In place of # a legal notice, here is a blessing: # # May you do good and not evil. # May you find forgiveness for yourself and forgive others. # May you share freely, never taking more than you give. # #*********************************************************************** # This file implements regression tests for SQLite library. The focus # of these tests is the journal mode pragma. # # $Id: jrnlmode.test,v 1.13 2009/04/04 16:02:32 drh Exp $ set testdir [file dirname $argv0] source $testdir/tester.tcl ifcapable {!pager_pragmas} { finish_test return |
︙ | ︙ | |||
306 307 308 309 310 311 312 | } {-1} do_test jrnlmode-5.3 { execsql { ATTACH 'test2.db' AS aux; PRAGMA aux.journal_size_limit; } } {-1} | | > > > | 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 | } {-1} do_test jrnlmode-5.3 { execsql { ATTACH 'test2.db' AS aux; PRAGMA aux.journal_size_limit; } } {-1} do_test jrnlmode-5.4.1 { execsql { PRAGMA aux.journal_size_limit = 999999999999 } } {999999999999} do_test jrnlmode-5.4.2 { execsql { PRAGMA aux.journal_size_limit = 10240 } } {10240} do_test jrnlmode-5.5 { execsql { PRAGMA main.journal_size_limit = 20480 } } {20480} do_test jrnlmode-5.6 { execsql { PRAGMA journal_size_limit } |
︙ | ︙ | |||
480 481 482 483 484 485 486 | do_test jrnlmode-6.8 { file exists test.db-journal } {0} } } finish_test | < | 483 484 485 486 487 488 489 | do_test jrnlmode-6.8 { file exists test.db-journal } {0} } } finish_test |