aboutsummaryrefslogtreecommitdiff
path: root/src/main.c
diff options
context:
space:
mode:
authordrh <drh@noemail.net>2013-04-22 23:59:06 +0000
committerdrh <drh@noemail.net>2013-04-22 23:59:06 +0000
commit16fb176814bd2b8fe46f7ed0e50a0b3d33db89a0 (patch)
tree95791389bfc2d16f158af35b89e36fd39b23cc53 /src/main.c
parent8bc8bfcb05ab15cac3c84b137b572350beb4de65 (diff)
parentda8caa0b2da85ebaf75fce1b19f5d645246f3eba (diff)
downloadsqlite-16fb176814bd2b8fe46f7ed0e50a0b3d33db89a0.tar.gz
sqlite-16fb176814bd2b8fe46f7ed0e50a0b3d33db89a0.zip
Merge the latest trunk changes into the sessions branch.
FossilOrigin-Name: 6994826c0784280f2e9728dfa4185848846d03df
Diffstat (limited to 'src/main.c')
-rw-r--r--src/main.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/main.c b/src/main.c
index 7d04b8984..c2fb1ee2e 100644
--- a/src/main.c
+++ b/src/main.c
@@ -496,6 +496,19 @@ int sqlite3_config(int op, ...){
}
#endif
+ case SQLITE_CONFIG_MMAP_SIZE: {
+ sqlite3_int64 szMmap = va_arg(ap, sqlite3_int64);
+ sqlite3_int64 mxMmap = va_arg(ap, sqlite3_int64);
+ if( mxMmap<0 || mxMmap>SQLITE_MAX_MMAP_SIZE ){
+ mxMmap = SQLITE_MAX_MMAP_SIZE;
+ }
+ sqlite3GlobalConfig.mxMmap = mxMmap;
+ if( szMmap<0 ) szMmap = SQLITE_DEFAULT_MMAP_SIZE;
+ if( szMmap>mxMmap) szMmap = mxMmap;
+ sqlite3GlobalConfig.szMmap = szMmap;
+ break;
+ }
+
default: {
rc = SQLITE_ERROR;
break;
@@ -2337,6 +2350,7 @@ static int openDatabase(
memcpy(db->aLimit, aHardLimit, sizeof(db->aLimit));
db->autoCommit = 1;
db->nextAutovac = -1;
+ db->szMmap = sqlite3GlobalConfig.szMmap;
db->nextPagesize = 0;
db->flags |= SQLITE_ShortColNames | SQLITE_AutoIndex | SQLITE_EnableTrigger
#if SQLITE_DEFAULT_FILE_FORMAT<4