MXS-2481 Handle sqlite3 oom error
This commit is contained in:
@ -189,7 +189,23 @@ ClustrixMonitor* ClustrixMonitor::create(const string& name, const string& modul
|
|||||||
|
|
||||||
sqlite3* pDb = open_or_create_db(path);
|
sqlite3* pDb = open_or_create_db(path);
|
||||||
|
|
||||||
return new ClustrixMonitor(name, module, pDb);
|
ClustrixMonitor* pThis = nullptr;
|
||||||
|
|
||||||
|
if (pDb)
|
||||||
|
{
|
||||||
|
// Even if the creation/opening of the sqlite3 database fails, we will still
|
||||||
|
// get a valid database handle.
|
||||||
|
pThis = new ClustrixMonitor(name, module, pDb);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
// The handle will be null, *only* if the opening fails due to a memory
|
||||||
|
// allocation error.
|
||||||
|
MXS_ALERT("sqlite3 memory allocation failed, the Clustrix monitor "
|
||||||
|
"cannot continue.");
|
||||||
|
}
|
||||||
|
|
||||||
|
return pThis;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool ClustrixMonitor::configure(const MXS_CONFIG_PARAMETER* pParams)
|
bool ClustrixMonitor::configure(const MXS_CONFIG_PARAMETER* pParams)
|
||||||
|
|||||||
Reference in New Issue
Block a user