InfiniSQL
v0.1.2-alpha
Massive Scale Transaction Processing
|
API for creating stored procedures. Pg objects also inherit from this class, because they perform the same types of transactional activities as a stored procedure. More...
#include <stdint.h>
#include <boost/unordered_map.hpp>
#include <vector>
#include <string>
#include <msgpack.hpp>
Go to the source code of this file.
Classes | |
struct | uuRecord_s |
universally unique Record More... | |
struct | returnRow_s |
row and metadata for being returned to client from SELECT or stored proc More... | |
struct | fieldtypename_s |
name and type of field More... | |
union | fieldInput_u |
contents of a field (other than CHARX or VARCHAR) More... | |
struct | fieldValue_s |
field contents More... | |
struct | procedureResponse_s |
orphan? More... | |
class | ApiInterface |
Stored procedure API. More... | |
struct | ApiInterface::results_s |
results from SQL query More... | |
Macros | |
#define | STATUS_OK 0 |
#define | STATUS_NOTOK 1 |
#define | APISTATUS_OK 0 |
#define | APISTATUS_NOTOK 1 |
#define | APISTATUS_NULLCONSTRAINT 2 |
#define | APISTATUS_PENDING 3 |
#define | APISTATUS_FIELD 4 |
#define | APISTATUS_STATE 5 |
#define | APISTATUS_UNIQUECONSTRAINT 6 |
#define | APISTATUS_FOUND 7 |
#define | APISTATUS_DEADLOCK 8 |
#define | APISTATUS_LOCK 9 |
Typedefs | |
typedef union fieldInput_u | fieldInput_s |
contents of a field (other than CHARX or VARCHAR) More... | |
typedef void(ApiInterface::* | apifPtr )(int64_t, void *) |
typedef ApiInterface *(* | spclasscreate )(class TransactionAgent *, class ApiInterface *, void *) |
typedef void(* | spclassdestroy )(ApiInterface *) |
typedef ApiInterface * | create_t () |
typedef void | destroy_t (ApiInterface *) |
Functions | |
size_t | hash_value (uuRecord_s const &) |
bool | operator== (uuRecord_s const &, uuRecord_s const &) |
API for creating stored procedures. Pg objects also inherit from this class, because they perform the same types of transactional activities as a stored procedure.
Definition in file infinisql.h.
#define APISTATUS_DEADLOCK 8 |
Definition at line 56 of file infinisql.h.
Referenced by Transaction::deadlockAbort().
#define APISTATUS_FIELD 4 |
Definition at line 52 of file infinisql.h.
Referenced by ApiInterface::insertRow(), and Transaction::updateRow().
#define APISTATUS_FOUND 7 |
Definition at line 55 of file infinisql.h.
#define APISTATUS_LOCK 9 |
Definition at line 57 of file infinisql.h.
Referenced by Transaction::continueSqlPredicate(), and Pg::errorStatus().
#define APISTATUS_NOTOK 1 |
Definition at line 49 of file infinisql.h.
Referenced by Statement::branchtotype(), Transaction::continueCommitTransaction(), Transaction::continueDeleteRow(), Transaction::continueReplaceRow(), ApiInterface::deleteRow(), Pg::errorStatus(), ApiInterface::insertRow(), ApiInterface::selectRows(), and Transaction::updateRow().
#define APISTATUS_NULLCONSTRAINT 2 |
Definition at line 50 of file infinisql.h.
Referenced by Statement::branchtotype(), ApiInterface::insertRow(), and Transaction::replace().
#define APISTATUS_OK 0 |
Definition at line 48 of file infinisql.h.
Referenced by Transaction::continueCommitTransaction(), Transaction::continueDeleteRow(), Transaction::continueInsertRow(), Transaction::continueSelectRows(), Transaction::continueUpdateRow(), and Transaction::rollback().
#define APISTATUS_PENDING 3 |
Definition at line 51 of file infinisql.h.
Referenced by Statement::branchtotype(), ApiInterface::commit(), Statement::continueUpdate(), ApiInterface::fetchRows(), ApiInterface::insertRow(), ApiInterface::replaceRow(), ApiInterface::revert(), ApiInterface::rollback(), Transaction::select(), and ApiInterface::unlock().
#define APISTATUS_STATE 5 |
Definition at line 53 of file infinisql.h.
#define APISTATUS_UNIQUECONSTRAINT 6 |
Definition at line 54 of file infinisql.h.
Referenced by Transaction::continueInsertRow(), Transaction::continueSqlInsert(), Transaction::continueSqlReplace(), Transaction::continueSqlUpdate(), Transaction::continueUpdateRow(), and Pg::errorStatus().
#define STATUS_NOTOK 1 |
Definition at line 46 of file infinisql.h.
Referenced by Statement::branchtotype(), TransactionAgent::changepassword(), TransactionAgent::compile(), Pg::continuePgFunc(), Transaction::continueSqlInsert(), Transaction::continueSqlPredicate(), Transaction::continueSqlReplace(), Transaction::continueSqlUpdate(), TransactionAgent::createdomain(), TransactionAgent::createuser(), TransactionAgent::deletedomain(), Table::deleterow(), TransactionAgent::deleteuser(), TransactionAgent::login(), UserSchemaMgr::operationLogin(), TransactionAgent::schemaBoilerplate(), and Table::updaterow().
#define STATUS_OK 0 |
Definition at line 45 of file infinisql.h.
Referenced by Applier::ackedApply(), TransactionAgent::changepassword(), TransactionAgent::compile(), Transaction::continueDeleteRow(), Pg::continueLogin(), Pg::continuePgFunc(), Transaction::continueReplaceRow(), Transaction::continueSqlDelete(), Transaction::continueUpdateRow(), TransactionAgent::createdomain(), TransactionAgent::createuser(), TransactionAgent::deletedomain(), Table::deleterow(), TransactionAgent::deleteuser(), TransactionAgent::login(), TransactionAgent::logout(), TransactionAgent::newprocedure(), UserSchemaMgr::operationLogin(), TransactionAgent::ping(), TransactionAgent::schemaBoilerplate(), Statement::startQuery(), and Table::updaterow().
typedef void(ApiInterface::* apifPtr)(int64_t, void *) |
Definition at line 235 of file infinisql.h.
typedef ApiInterface* create_t() |
Definition at line 750 of file infinisql.h.
typedef void destroy_t(ApiInterface *) |
Definition at line 751 of file infinisql.h.
typedef union fieldInput_u fieldInput_s |
contents of a field (other than CHARX or VARCHAR)
typedef ApiInterface*(* spclasscreate)(class TransactionAgent *, class ApiInterface *, void *) |
Definition at line 745 of file infinisql.h.
typedef void(* spclassdestroy)(ApiInterface *) |
Definition at line 747 of file infinisql.h.
enum cmd_e |
type of SQL command
Enumerator | |
---|---|
CMD_NONE | |
CMD_SELECT | |
CMD_INSERT | |
CMD_UPDATE | |
CMD_DELETE | |
CMD_BEGIN | |
CMD_COMMIT | |
CMD_ROLLBACK | |
CMD_SET | |
CMD_STOREDPROCEDURE |
Definition at line 63 of file infinisql.h.
enum fieldtype_e |
type of field
Enumerator | |
---|---|
NOFIELDTYPE | |
INT | |
UINT | |
BOOL | |
FLOAT | |
CHAR | |
CHARX | |
VARCHAR |
Definition at line 170 of file infinisql.h.
enum locktype_e |
possible lock states
Enumerator | |
---|---|
NOTFOUNDLOCK | |
NOLOCK | |
READLOCK | |
WRITELOCK | |
PENDINGLOCK | |
INDEXLOCK | |
INDEXPENDINGLOCK | |
PENDINGTOWRITELOCK | |
PENDINGTOREADLOCK | |
PENDINGTONOLOCK | |
PENDINGTOINDEXLOCK | |
PENDINGTOINDEXNOLOCK |
Definition at line 94 of file infinisql.h.
enum operatortypes_e |
types of SQL operators
Definition at line 114 of file infinisql.h.
size_t hash_value | ( | uuRecord_s const & | ) |
Definition at line 841 of file api.cc.
References uuRecord_s::engineid, uuRecord_s::rowid, and uuRecord_s::tableid.
bool operator== | ( | uuRecord_s const & | , |
uuRecord_s const & | |||
) |
Definition at line 851 of file api.cc.
References uuRecord_s::engineid, uuRecord_s::rowid, and uuRecord_s::tableid.