SQL Relay C++ API
|
Public Member Functions | |
sqlrconnection (const char *server, uint16_t port, const char *socket, const char *user, const char *password, int32_t retrytime, int32_t tries) | |
~sqlrconnection () | |
void | setConnectTimeout (int32_t timeoutsec, int32_t timeoutusec) |
void | setAuthenticationTimeout (int32_t timeoutsec, int32_t timeoutusec) |
void | setResponseTimeout (int32_t timeoutsec, int32_t timeoutusec) |
void | endSession () |
bool | suspendSession () |
uint16_t | getConnectionPort () |
const char * | getConnectionSocket () |
bool | resumeSession (uint16_t port, const char *socket) |
bool | ping () |
const char * | identify () |
const char * | dbVersion () |
const char * | dbHostName () |
const char * | dbIpAddress () |
const char * | serverVersion () |
const char * | clientVersion () |
const char * | bindFormat () |
bool | selectDatabase (const char *database) |
const char * | getCurrentDatabase () |
uint64_t | getLastInsertId () |
bool | autoCommitOn () |
bool | autoCommitOff () |
bool | begin () |
bool | commit () |
bool | rollback () |
const char * | errorMessage () |
int64_t | errorNumber () |
void | debugOn () |
void | debugOff () |
bool | getDebug () |
void | debugPrintFunction (int(*printfunction)(const char *,...)) |
void | setDebugFile (const char *filename) |
void | setClientInfo (const char *clientinfo) |
const char * | getClientInfo () const |
sqlrconnection::sqlrconnection | ( | const char * | server, |
uint16_t | port, | ||
const char * | socket, | ||
const char * | user, | ||
const char * | password, | ||
int32_t | retrytime, | ||
int32_t | tries | ||
) |
Initiates a connection to "server" on "port" or to the unix "socket" on the local machine and authenticates with "user" and "password". Failed connections will be retried for "tries" times, waiting "retrytime" seconds between each try. If "tries" is 0 then retries will continue forever. If "retrytime" is 0 then retries will be attempted on a default interval.
If the "socket" parameter is neither NULL nor "" then an attempt will be made to connect through it before attempting to connect to "server" on "port". If it is NULL or "" then no attempt will be made to connect through the socket.
sqlrconnection::~sqlrconnection | ( | ) |
Disconnects and ends the session if it hasn't been ended already.
bool sqlrconnection::autoCommitOff | ( | ) |
Instructs the database to wait for the client to tell it when to commit.
bool sqlrconnection::autoCommitOn | ( | ) |
Instructs the database to perform a commit after every successful query.
bool sqlrconnection::begin | ( | ) |
Begins a transaction. Returns true if the begin succeeded, false if it failed. If the database automatically begins a new transaction when a commit or rollback is issued then this doesn't do anything unless SQL Relay is faking transaction blocks.
const char* sqlrconnection::bindFormat | ( | ) |
Returns a string representing the format of the bind variables used in the db.
const char* sqlrconnection::clientVersion | ( | ) |
Returns the version of the sqlrelay client software.
bool sqlrconnection::commit | ( | ) |
Commits a transaction. Returns true if the commit succeeded, false if it failed.
const char* sqlrconnection::dbHostName | ( | ) |
Returns the host name of the database
const char* sqlrconnection::dbIpAddress | ( | ) |
Returns the ip address of the database
const char* sqlrconnection::dbVersion | ( | ) |
Returns the version of the database
void sqlrconnection::debugOff | ( | ) |
Turns debugging off.
void sqlrconnection::debugOn | ( | ) |
Causes verbose debugging information to be sent to standard output. Another way to do this is to start a query with "-- debug\n". Yet another way is to set the environment variable SQLR_CLIENT_DEBUG to "ON"
void sqlrconnection::debugPrintFunction | ( | int(*)(const char *,...) | printfunction | ) |
Allows you to replace the function used to print debug messages with your own function. The function is expected to take arguments like printf().
void sqlrconnection::endSession | ( | ) |
Ends the session.
const char* sqlrconnection::errorMessage | ( | ) |
If an operation failed and generated an error, the error message is available here. If there is no error then this method returns NULL.
int64_t sqlrconnection::errorNumber | ( | ) |
If an operation failed and generated an error, the error number is available here. If there is no error then this method returns 0.
const char* sqlrconnection::getClientInfo | ( | ) | const |
Returns the string that was set by setClientInfo().
uint16_t sqlrconnection::getConnectionPort | ( | ) |
Returns the inet port that the connection is communicating over. This parameter may be passed to another connection for use in the resumeSession() method. Note: The value this method returns is only valid after a call to suspendSession().
const char* sqlrconnection::getConnectionSocket | ( | ) |
Returns the unix socket that the connection is communicating over. This parameter may be passed to another connection for use in the resumeSession() method. Note: The value this method returns is only valid after a call to suspendSession().
const char* sqlrconnection::getCurrentDatabase | ( | ) |
Returns the database/schema that is currently in use.
bool sqlrconnection::getDebug | ( | ) |
Returns false if debugging is off and true if debugging is on.
uint64_t sqlrconnection::getLastInsertId | ( | ) |
Returns the value of the autoincrement column for the last insert
const char* sqlrconnection::identify | ( | ) |
Returns the type of database: oracle, postgresql, mysql, etc.
bool sqlrconnection::ping | ( | ) |
Returns true if the database is up and false if it's down.
bool sqlrconnection::resumeSession | ( | uint16_t | port, |
const char * | socket | ||
) |
Resumes a session previously left open using suspendSession(). Returns true on success and false on failure.
bool sqlrconnection::rollback | ( | ) |
Rolls back a transaction. Returns true if the rollback succeeded, false if it failed.
bool sqlrconnection::selectDatabase | ( | const char * | database | ) |
Sets the current database/schema to "database"
const char* sqlrconnection::serverVersion | ( | ) |
Returns the version of the sqlrelay server software.
void sqlrconnection::setAuthenticationTimeout | ( | int32_t | timeoutsec, |
int32_t | timeoutusec | ||
) |
Sets the authentication timeout in seconds and milliseconds. Setting either parameter to -1 disables the timeout. You can also set this timeout using the SQLR_CLIENT_AUTHENTICATION_TIMEOUT environment variable.
void sqlrconnection::setClientInfo | ( | const char * | clientinfo | ) |
Allows you to set a string that will be passed to the server and ultimately included in server-side logging along with queries that were run by this instance of the client.
void sqlrconnection::setConnectTimeout | ( | int32_t | timeoutsec, |
int32_t | timeoutusec | ||
) |
Sets the server connect timeout in seconds and milliseconds. Setting either parameter to -1 disables the timeout. You can also set this timeout using the SQLR_CLIENT_CONNECT_TIMEOUT environment variable.
void sqlrconnection::setDebugFile | ( | const char * | filename | ) |
Allows you to specify a file to write debug to. Setting "filename" to NULL or an empty string causes debug to be written to standard output (the default).
void sqlrconnection::setResponseTimeout | ( | int32_t | timeoutsec, |
int32_t | timeoutusec | ||
) |
Sets the response timeout (for queries, commits, rollbacks, pings, etc.) in seconds and milliseconds. Setting either parameter to -1 disables the timeout. You can also set this timeout using the SQLR_CLIENT_RESPONSE_TIMEOUT environment variable.
bool sqlrconnection::suspendSession | ( | ) |
Disconnects this connection from the current session but leaves the session open so that another connection can connect to it using resumeSession().