diff options
author | drh <drh@noemail.net> | 2013-04-22 23:59:06 +0000 |
---|---|---|
committer | drh <drh@noemail.net> | 2013-04-22 23:59:06 +0000 |
commit | 16fb176814bd2b8fe46f7ed0e50a0b3d33db89a0 (patch) | |
tree | 95791389bfc2d16f158af35b89e36fd39b23cc53 /src/main.c | |
parent | 8bc8bfcb05ab15cac3c84b137b572350beb4de65 (diff) | |
parent | da8caa0b2da85ebaf75fce1b19f5d645246f3eba (diff) | |
download | sqlite-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.c | 14 |
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 |