mirror of
https://github.com/VCMP-SqMod/SqMod.git
synced 2024-11-08 08:47:17 +01:00
Added options to control the memory allocated for the query queue.
Fixed const-correctness in several methods of the SQLite connection.
This commit is contained in:
parent
1a312f7e7f
commit
41f5cfe663
@ -244,6 +244,15 @@ void Connection::CopyToDatabase(const Connection & db)
|
||||
TakeSnapshot(db.m_Handle);
|
||||
}
|
||||
|
||||
// ------------------------------------------------------------------------------------------------
|
||||
void Connection::ReserveQueue(Uint32 num)
|
||||
{
|
||||
// Validate the handle
|
||||
Validate();
|
||||
// Perform the requested operation
|
||||
m_Handle->mQueue.reserve(m_Handle->mQueue.size() + num);
|
||||
}
|
||||
|
||||
// ------------------------------------------------------------------------------------------------
|
||||
Int32 Connection::Flush(Uint32 num)
|
||||
{
|
||||
|
@ -488,20 +488,36 @@ public:
|
||||
}
|
||||
|
||||
/* --------------------------------------------------------------------------------------------
|
||||
* Remove all queries from the queue without executing them.
|
||||
* Reserve space upfront for the specified amount of queries in the query queue.
|
||||
*/
|
||||
void ClearQueue() const
|
||||
void ReserveQueue(Uint32 num);
|
||||
|
||||
/* --------------------------------------------------------------------------------------------
|
||||
* Release memory that is not occupied from the query queue.
|
||||
*/
|
||||
void CompactQueue()
|
||||
{
|
||||
// Validate the handle
|
||||
Validate();
|
||||
// Return the requested information
|
||||
// Perform the requested operation
|
||||
m_Handle->mQueue.shrink_to_fit();
|
||||
}
|
||||
|
||||
/* --------------------------------------------------------------------------------------------
|
||||
* Remove all queries from the queue without executing them.
|
||||
*/
|
||||
void ClearQueue()
|
||||
{
|
||||
// Validate the handle
|
||||
Validate();
|
||||
// Perform the requested operation
|
||||
m_Handle->mQueue.clear();
|
||||
}
|
||||
|
||||
/* --------------------------------------------------------------------------------------------
|
||||
* Remove the last query from the queue.
|
||||
*/
|
||||
void PopQueue() const
|
||||
void PopQueue()
|
||||
{
|
||||
// Validate the handle
|
||||
Validate();
|
||||
|
@ -217,6 +217,8 @@ void RegisterAPI(HSQUIRRELVM vm)
|
||||
.Overload< Int32 (Connection::*)(Int32) >(_SC("GetInfo"), &Connection::GetInfo)
|
||||
.Overload< Int32 (Connection::*)(Int32, bool) >(_SC("GetInfo"), &Connection::GetInfo)
|
||||
.Overload< Int32 (Connection::*)(Int32, bool, bool) >(_SC("GetInfo"), &Connection::GetInfo)
|
||||
.Func(_SC("ReserveQueue"), &Connection::ReserveQueue)
|
||||
.Func(_SC("CompactQueue"), &Connection::CompactQueue)
|
||||
.Func(_SC("ClearQueue"), &Connection::ClearQueue)
|
||||
.Func(_SC("PopQueue"), &Connection::PopQueue)
|
||||
.Overload< Int32 (Connection::*)(void) >(_SC("Flush"), &Connection::Flush)
|
||||
|
Loading…
Reference in New Issue
Block a user