# SQLite3Plugin
[Plugins]

Code to transmit SQLite3 commands across the network. More...

## Classes

class | RakNet::SQLite3PluginResultInterface
| Handles results of calls to SQLite3Plugin::_sqlite3_exec() Results from calling SQLite3Plugin::_sqlite3_exec() are handled in this callback. You should implement the callback, and let the plugin know about it via SQLite3Plugin::AddResultHandler() Be sure to call SQLite3Plugin::RemoveResultHandler() or SQLite3Plugin::ClearResultHandlers() if you delete the callback. More...
class | RakNet::SQLite3PluginResultInterface_Printf
class | RakNet::SQLite3ClientPlugin
struct | SQLite3Row
struct | SQLite3Table
class | RakNet::SQLite3ServerPlugin
| Exec SQLLite commands over the network. More...

## Defines

#define | SQLite3_STATEMENT_EXECUTE_THREADED
| Control if SQLite3 statements execute in a thread.

## Functions

virtual void | RakNet::SQLite3PluginResultInterface::_sqlite3_exec (RakNet::RakString inputStatement, unsigned int queryId, RakNet::RakString dbIdentifier, const SQLite3Table &table, RakNet::RakString errorMsg)=0
virtual void | RakNet::SQLite3PluginResultInterface::OnUnknownDBIdentifier (RakNet::RakString inputStatement, unsigned int queryId, RakNet::RakString dbIdentifier)=0

## Detailed Description

Code to transmit SQLite3 commands across the network.

## Define Documentation

#define SQLite3_STATEMENT_EXECUTE_THREADED

Control if SQLite3 statements execute in a thread.

sqlite3_exec is blocking and will therefore block other operations in the same program
If defined, sqlite3_exec executes in a thread so that doesn't happen
If the only thing this system is doing is running SQLite, then you'll get marginally better performance by commenting it out.

## Function Documentation

virtual void RakNet::SQLite3PluginResultInterface::_sqlite3_exec | ( | RakNet::RakString | inputStatement,
|  | unsigned int | queryId,
|  | RakNet::RakString | dbIdentifier,
|  | const SQLite3Table & | table,
|  | RakNet::RakString | errorMsg |
| ) |  |  | `[pure virtual, inherited]`

Query executed, possibly returning data or an error message

Parameters:

  `[out]` | inputStatement | Passed to SQLite3Plugin::_sqlite3_exec
  `[out]` | queryId | Returned from SQLite3Plugin::_sqlite3_exec
  `[out]` | dbIdentifier | Passed to SQLite3Plugin::_sqlite3_exec
  `[out]` | table | Result of call to _sqlite3_exec, should that statement return a result
  `[out]` | errorMsg | If _sqlite3_exec failed, then the error message is here, and table will be empty

virtual void RakNet::SQLite3PluginResultInterface::OnUnknownDBIdentifier | ( | RakNet::RakString | inputStatement,
|  | unsigned int | queryId,
|  | RakNet::RakString | dbIdentifier |
| ) |  |  | `[pure virtual, inherited]`

dbIdentifier is unknown on the remote system

Parameters:

  `[out]` | inputStatement | Passed to SQLite3Plugin::_sqlite3_exec
  `[out]` | queryId | Returned from SQLite3Plugin::_sqlite3_exec
  `[out]` | dbIdentifier | Passed to SQLite3Plugin::_sqlite3_exec