mirror of
https://github.com/sqlite/sqlite.git
synced 2025-08-05 15:55:57 +03:00
Add the SQLITE_CONFIG_MEMDB_MAXSIZE configuration option for configuring
the default maximum size of an in-memory database created using sqlite3_deserialize(). This is necessary to make the interface reasonably testable. FossilOrigin-Name: cb72ee0478ce98c48aae059fd5de4e36caf2b8c953e08fcb799bfd119ad46b73
This commit is contained in:
11
src/memdb.c
11
src/memdb.c
@@ -42,11 +42,6 @@ struct MemFile {
|
||||
int eLock; /* Most recent lock against this file */
|
||||
};
|
||||
|
||||
/* The default maximum size of an in-memory database */
|
||||
#ifndef SQLITE_MEMDB_DEFAULT_MAXSIZE
|
||||
# define SQLITE_MEMDB_DEFAULT_MAXSIZE 1073741824
|
||||
#endif
|
||||
|
||||
/*
|
||||
** Methods for MemFile
|
||||
*/
|
||||
@@ -346,7 +341,7 @@ static int memdbOpen(
|
||||
assert( pOutFlags!=0 ); /* True because flags==SQLITE_OPEN_MAIN_DB */
|
||||
*pOutFlags = flags | SQLITE_OPEN_MEMORY;
|
||||
p->base.pMethods = &memdb_io_methods;
|
||||
p->szMax = SQLITE_MEMDB_DEFAULT_MAXSIZE;
|
||||
p->szMax = sqlite3GlobalConfig.mxMemdbSize;
|
||||
return SQLITE_OK;
|
||||
}
|
||||
|
||||
@@ -598,8 +593,8 @@ int sqlite3_deserialize(
|
||||
p->sz = szDb;
|
||||
p->szAlloc = szBuf;
|
||||
p->szMax = szBuf;
|
||||
if( p->szMax<SQLITE_MEMDB_DEFAULT_MAXSIZE ){
|
||||
p->szMax = SQLITE_MEMDB_DEFAULT_MAXSIZE;
|
||||
if( p->szMax<sqlite3GlobalConfig.mxMemdbSize ){
|
||||
p->szMax = sqlite3GlobalConfig.mxMemdbSize;
|
||||
}
|
||||
p->mFlags = mFlags;
|
||||
rc = SQLITE_OK;
|
||||
|
Reference in New Issue
Block a user