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