InfiniSQL
v0.1.2-alpha
Massive Scale Transaction Processing
|
execute Transaction Agent actor More...
#include <TransactionAgent.h>
Public Member Functions | |
TransactionAgent (Topology::partitionAddress *myIdentityArg) | |
virtual | ~TransactionAgent () |
void | updateReplicas () |
update Topology of replicas More... | |
void | ping (builtincmds_e cmd) |
ping operation More... | |
void | login (builtincmds_e cmd) |
login More... | |
void | logout (builtincmds_e cmd) |
logout More... | |
void | changepassword (builtincmds_e cmd) |
change password More... | |
void | createdomain (builtincmds_e cmd) |
create domain More... | |
void | createuser (builtincmds_e cmd) |
create user More... | |
void | deleteuser (builtincmds_e cmd) |
delete user More... | |
void | deletedomain (builtincmds_e cmd) |
delete domain More... | |
void | createschema (builtincmds_e cmd) |
create schema More... | |
void | createtable (builtincmds_e cmd) |
create table More... | |
void | addcolumn (builtincmds_e cmd) |
add column More... | |
void | deleteindex (builtincmds_e cmd) |
delete index More... | |
void | deletetable (builtincmds_e cmd) |
delete table More... | |
void | deleteschema (builtincmds_e cmd) |
delete schema More... | |
void | loadprocedure (builtincmds_e cmd) |
load stored procedure More... | |
void | compile (builtincmds_e cmd) |
compile SQL statement More... | |
void | schemaBoilerplate (builtincmds_e cmd, int builtin) |
common code for many operations, such as login, create table, etc More... | |
void | TAcreateschema () |
continuation function for createschema More... | |
void | TAcreatetable () |
continuation for createtable More... | |
void | TAaddcolumn () |
continuation for addcolumn More... | |
void | TAdeleteindex () |
continuation for deleteindex More... | |
void | TAdeletetable () |
continuation for deletetable More... | |
void | TAdeleteschema () |
continuation for deleteschema More... | |
void | TAloadprocedure () |
continuation for loadprocedure More... | |
void | endOperation () |
delete Operation, remove from pendingOperations More... | |
void | endConnection () |
finish TCP connection on raw interface (not SQL interface) More... | |
int64_t | readSocket () |
read socket on raw interface More... | |
int64_t | getnexttransactionid () |
generate unique, constantly increasing Transaction identifier More... | |
int64_t | getnextapplierid () |
generate unique, constantly increasing Applier identifier More... | |
void | badMessageHandler () |
stub for Message variants that can't be handled otherwise More... | |
void | newprocedure (int64_t entrypoint) |
called by loadprocedure More... | |
void | newstatement () |
called by compile to compile SQL statement More... | |
void | handledispatch () |
for replica to apply transaction changes synchronously More... | |
template<typename T > | |
void | sendResponse (bool resending, int64_t resultCode, T response) |
send raw protocol TCP responses to builtins, ping, login, logout, etc. More... | |
Static Public Member Functions | |
template<typename T > | |
static void | usmReply (T actor, Topology::addressStruct &dest, class MessageUserSchema &msg) |
reply MessageUserSchema to UserSchemaMgr More... | |
execute Transaction Agent actor
myIdentityArg | how to identify this |
Definition at line 140 of file TransactionAgent.h.
TransactionAgent::TransactionAgent | ( | Topology::partitionAddress * | myIdentityArg) |
Definition at line 33 of file TransactionAgent.cc.
References MessageAckApply::ackapplyStruct, MessageAckDispatch::ackdispatchStruct, addcolumn(), Topology::partitionAddress::address, cfg_s::anonymousping, MessageAckApply::ackapply_s::applierid, Appliers, argsize, MessageUserSchema::argstring, badMessageHandler(), BUILTINADDCOLUMN, schemastruct::builtincmd, MessageUserSchema::userschema_s::builtincmd, BUILTINCREATESCHEMA, BUILTINCREATETABLE, BUILTINDELETEINDEX, BUILTINDELETESCHEMA, BUILTINDELETETABLE, cfgs, changepassword(), compile(), createdomain(), createschema(), createtable(), createuser(), MessageDeadlock::deadlockStruct, deletedomain(), deleteindex(), deleteschema(), deletetable(), deleteuser(), domainid, MessageUserSchema::userschema_s::domainid, domainidsToProcedures, domainidsToSchemata, domainName, endConnection(), Topology::partitionAddress::epollfd, epollfd, MessageSocket::socket_s::events, MessageUserSchema::userschema_s::fieldid, Mbox::getCount(), GETMSG, Mbox::getPtr(), handledispatch(), Operation::handleOperation(), Topology::partitionAddress::instance, MessageUserSchema::userschema_s::instance, instance, LISTENER_PG, LISTENER_RAW, MessageSocket::socket_s::listenertype, loadprocedure(), logfile, loggedInUsers, login(), logout(), Topology::partitionAddress::mbox, mboxes, Message::messageStruct, msgrcv, MSGRECEIVEBATCHSIZE, myIdentity, myTopology, newprocedure(), newstatement(), Message::nextmsg, NOCMD, Topology::addressStruct::nodeid, Mboxes::nodeid, NOTOKCMD, OKCMD, operation, operationid, MessageUserSchema::userschema_s::operationid, operationPtr, MessageAckApply::ackapply_s::partitionid, Message::message_s::payloadtype, PAYLOADUSERSCHEMA, pendingOperations, pendingOperationsIterator, Pg::pgclosesocket(), Pgs, ping(), readSocket(), responseData::resultCode, responseData::sbuf, Operation::schemaData, Mboxes::sendObBatch(), sendResponse(), MessageSocket::socket_s::socket, MessageSocket::socketStruct, sockfd, STARTCMD, schemastruct::state, MessageAckApply::ackapply_s::status, MessageAckApply::ackapply_s::subtransactionid, TAaddcolumn(), MessageUserSchema::userschema_s::tableid, TAcreateschema(), TAcreatetable(), TAdeleteindex(), TAdeleteschema(), TAdeletetable(), tainstance, tasengines, TASENGINESRESPONSECMD, Message::message_s::topic, TOPIC_ACKAPPLY, TOPIC_ACKDISPATCH, TOPIC_CHANGEPASSWORDFAIL, TOPIC_CHANGEPASSWORDOK, TOPIC_COMPILE, TOPIC_CREATEDOMAINFAIL, TOPIC_CREATEDOMAINOK, TOPIC_CREATEUSERFAIL, TOPIC_CREATEUSEROK, TOPIC_DEADLOCKABORT, TOPIC_DELETEDOMAINFAIL, TOPIC_DELETEDOMAINOK, TOPIC_DELETEUSERFAIL, TOPIC_DELETEUSEROK, TOPIC_DISPATCH, TOPIC_FIELDNAME, TOPIC_LOGINFAIL, TOPIC_LOGINOK, TOPIC_OPERATION, TOPIC_PROCEDURE1, TOPIC_PROCEDURE2, TOPIC_SCHEMAREPLY, TOPIC_SCHEMAREQUEST, TOPIC_SOCKET, TOPIC_SOCKETCONNECTED, TOPIC_TABLENAME, TOPIC_TOPOLOGY, TOPIC_TRANSACTION, MessageTransaction::transaction_s::transaction_pendingcmdid, MessageTransaction::transaction_s::transaction_tacmdentrypoint, MessageDeadlock::deadlock_s::transactionid, MessageTransaction::transaction_s::transactionid, MessageAckDispatch::ackdispatch_s::transactionid, Transactions, MessageTransaction::transactionStruct, Mboxes::update(), updateReplicas(), userid, MessageUserSchema::userschemaStruct, usm, USMRESPONSECMD, and waitingToSend.
|
virtual |
Definition at line 585 of file TransactionAgent.cc.
void TransactionAgent::addcolumn | ( | builtincmds_e | cmd) |
add column
cmd | continuation entry point |
Definition at line 1011 of file TransactionAgent.cc.
References Topology::partitionAddress::address, MessageUserSchema::argstring, BUILTINADDCOLUMN, MessageUserSchema::userschema_s::domainid, MessageUserSchema::userschema_s::fieldid, logfile, mboxes, Message::messageStruct, msgrcv, myIdentity, Message::message_s::payloadtype, PAYLOADUSERSCHEMA, responseVector, schemaBoilerplate(), STARTCMD, MessageUserSchema::userschema_s::tableid, TASENGINESRESPONSECMD, Mboxes::toAllOfType(), Message::message_s::topic, TOPIC_FIELDNAME, MessageUserSchema::userschemaStruct, and USMRESPONSECMD.
Referenced by TransactionAgent().
void TransactionAgent::badMessageHandler | ( | ) |
stub for Message variants that can't be handled otherwise
Definition at line 1373 of file TransactionAgent.cc.
References logfile.
Referenced by TransactionAgent().
void TransactionAgent::changepassword | ( | builtincmds_e | cmd) |
change password
cmd | continuation entry point |
Definition at line 713 of file TransactionAgent.cc.
References Topology::partitionAddress::address, args, argsize, domainid, endOperation(), Operation::getid(), instance, logfile, mboxes, Message::messageStruct, myIdentity, NOTOKCMD, OKCMD, operationid, operationPtr, PAYLOADUSERSCHEMA, sendResponse(), STARTCMD, STATUS_NOTOK, STATUS_OK, Message::message_s::topic, TOPIC_CHANGEPASSWORD, Mboxes::toUserSchemaMgr(), and userid.
Referenced by TransactionAgent().
void TransactionAgent::compile | ( | builtincmds_e | cmd) |
compile SQL statement
cmd | continuation entry point |
Definition at line 1311 of file TransactionAgent.cc.
References Topology::partitionAddress::address, args, argsize, MessageUserSchema::argstring, domainid, MessageUserSchema::userschema_s::domainid, domainidsToSchemata, mboxes, Message::messageStruct, msgpack2Vector(), myIdentity, Message::message_s::payloadtype, PAYLOADUSERSCHEMA, MessageUserSchema::procname, sendResponse(), Larxer::statementPtr, STATUS_NOTOK, STATUS_OK, Mboxes::toAllOfType(), Message::message_s::topic, TOPIC_COMPILE, and MessageUserSchema::userschemaStruct.
Referenced by TransactionAgent().
void TransactionAgent::createdomain | ( | builtincmds_e | cmd) |
create domain
cmd | continuation entry point |
Definition at line 757 of file TransactionAgent.cc.
References Topology::partitionAddress::address, args, argsize, domainid, endOperation(), Operation::getid(), instance, logfile, mboxes, Message::messageStruct, myIdentity, NOTOKCMD, OKCMD, operationid, operationPtr, PAYLOADUSERSCHEMA, sendResponse(), STARTCMD, STATUS_NOTOK, STATUS_OK, Message::message_s::topic, TOPIC_CREATEDOMAIN, Mboxes::toUserSchemaMgr(), and userid.
Referenced by TransactionAgent().
void TransactionAgent::createschema | ( | builtincmds_e | cmd) |
create schema
cmd | continuation entry point |
Definition at line 951 of file TransactionAgent.cc.
References BUILTINCREATESCHEMA, logfile, responseVector, schemaBoilerplate(), STARTCMD, TASENGINESRESPONSECMD, and USMRESPONSECMD.
Referenced by TransactionAgent().
void TransactionAgent::createtable | ( | builtincmds_e | cmd) |
create table
cmd | continuation entry point |
Definition at line 974 of file TransactionAgent.cc.
References Topology::partitionAddress::address, MessageUserSchema::argstring, BUILTINCREATETABLE, MessageUserSchema::userschema_s::domainid, logfile, mboxes, Message::messageStruct, msgrcv, myIdentity, Message::message_s::payloadtype, PAYLOADUSERSCHEMA, responseVector, schemaBoilerplate(), STARTCMD, MessageUserSchema::userschema_s::tableid, TASENGINESRESPONSECMD, Mboxes::toAllOfType(), Message::message_s::topic, TOPIC_TABLENAME, MessageUserSchema::userschemaStruct, and USMRESPONSECMD.
Referenced by TransactionAgent().
void TransactionAgent::createuser | ( | builtincmds_e | cmd) |
create user
cmd | continuation entry point |
Definition at line 808 of file TransactionAgent.cc.
References Topology::partitionAddress::address, args, argsize, domainid, endOperation(), Operation::getid(), instance, logfile, mboxes, Message::messageStruct, myIdentity, NOTOKCMD, OKCMD, operationid, operationPtr, PAYLOADUSERSCHEMA, sendResponse(), STARTCMD, STATUS_NOTOK, STATUS_OK, Message::message_s::topic, TOPIC_CREATEUSER, Mboxes::toUserSchemaMgr(), and userid.
Referenced by TransactionAgent().
void TransactionAgent::deletedomain | ( | builtincmds_e | cmd) |
delete domain
cmd | continuation entry point |
Definition at line 904 of file TransactionAgent.cc.
References Topology::partitionAddress::address, args, argsize, domainid, endOperation(), Operation::getid(), instance, logfile, mboxes, Message::messageStruct, myIdentity, NOTOKCMD, OKCMD, operationid, operationPtr, PAYLOADUSERSCHEMA, sendResponse(), STARTCMD, STATUS_NOTOK, STATUS_OK, Message::message_s::topic, TOPIC_DELETEDOMAIN, Mboxes::toUserSchemaMgr(), and userid.
Referenced by TransactionAgent().
void TransactionAgent::deleteindex | ( | builtincmds_e | cmd) |
delete index
cmd | continuation entry point |
Definition at line 1049 of file TransactionAgent.cc.
References BUILTINDELETEINDEX, logfile, responseVector, schemaBoilerplate(), STARTCMD, TASENGINESRESPONSECMD, and USMRESPONSECMD.
Referenced by TransactionAgent().
void TransactionAgent::deleteschema | ( | builtincmds_e | cmd) |
delete schema
cmd | continuation entry point |
Definition at line 1095 of file TransactionAgent.cc.
References BUILTINDELETESCHEMA, logfile, responseVector, schemaBoilerplate(), STARTCMD, TASENGINESRESPONSECMD, and USMRESPONSECMD.
Referenced by TransactionAgent().
void TransactionAgent::deletetable | ( | builtincmds_e | cmd) |
delete table
cmd | continuation entry point |
Definition at line 1072 of file TransactionAgent.cc.
References BUILTINDELETETABLE, logfile, responseVector, schemaBoilerplate(), STARTCMD, TASENGINESRESPONSECMD, and USMRESPONSECMD.
Referenced by TransactionAgent().
void TransactionAgent::deleteuser | ( | builtincmds_e | cmd) |
delete user
cmd | continuation entry point |
Definition at line 858 of file TransactionAgent.cc.
References Topology::partitionAddress::address, args, argsize, domainid, endOperation(), Operation::getid(), instance, logfile, mboxes, Message::messageStruct, myIdentity, NOTOKCMD, OKCMD, operationid, operationPtr, PAYLOADUSERSCHEMA, sendResponse(), STARTCMD, STATUS_NOTOK, STATUS_OK, Message::message_s::topic, TOPIC_DELETEUSER, Mboxes::toUserSchemaMgr(), and userid.
Referenced by TransactionAgent().
void TransactionAgent::endConnection | ( | ) |
finish TCP connection on raw interface (not SQL interface)
Definition at line 589 of file TransactionAgent.cc.
References epollfd, loggedInUsers, and sockfd.
Referenced by login(), logout(), sendResponse(), and TransactionAgent().
void TransactionAgent::endOperation | ( | ) |
delete Operation, remove from pendingOperations
Definition at line 1119 of file TransactionAgent.cc.
References operationid, and pendingOperations.
Referenced by changepassword(), createdomain(), createuser(), deletedomain(), deleteuser(), login(), and schemaBoilerplate().
int64_t TransactionAgent::getnextapplierid | ( | ) |
generate unique, constantly increasing Applier identifier
Definition at line 1368 of file TransactionAgent.cc.
References nextapplierid.
Referenced by Applier::Applier().
int64_t TransactionAgent::getnexttransactionid | ( | ) |
generate unique, constantly increasing Transaction identifier
Definition at line 1363 of file TransactionAgent.cc.
References nexttransactionid.
Referenced by Transaction::Transaction().
void TransactionAgent::handledispatch | ( | ) |
for replica to apply transaction changes synchronously
Definition at line 1558 of file TransactionAgent.cc.
References Topology::partitionAddress::address, BOOL, CHAR, CHARX, DELETE, MessageDispatch::dispatchStruct, domainid, MessageDispatch::dispatch_s::domainid, domainidsToSchemata, nonLockingIndexEntry_s::engineid, MessageApply::applyindex_s::entry, MessageApply::applyindex_s::fieldid, Table::fields, MessageApply::applyindex_s::fieldVal, MessageApply::applyindex_s::flags, FLOAT, getPartitionid(), INSERT, INT, mboxes, Message::messageStruct, msgrcv, myIdentity, myTopology, NONE, Topology::numpartitions, partitioncount, MessageApply::rows, MessageApply::setisaddflag(), Message::message_s::sourceAddr, MessageApply::applyindex_s::tableid, Schema::tables, Mboxes::toActor(), Mboxes::toPartition(), UINT, Table::unmakerow(), UPDATE, and VARCHAR.
Referenced by TransactionAgent().
void TransactionAgent::loadprocedure | ( | builtincmds_e | cmd) |
load stored procedure
cmd | continuation entry point |
Definition at line 1306 of file TransactionAgent.cc.
References newprocedure().
Referenced by TransactionAgent().
void TransactionAgent::login | ( | builtincmds_e | cmd) |
login
cmd | continuation entry point |
Definition at line 646 of file TransactionAgent.cc.
References Topology::partitionAddress::address, args, argsize, cfg_s::badloginmessages, cfgs, authInfo::domainid, MessageUserSchema::userschema_s::domainid, Operation::domainName, authInfo::domainName, endConnection(), endOperation(), Operation::getid(), instance, logfile, loggedInUsers, mboxes, Message::messageStruct, msgpack2Vector(), msgrcv, myIdentity, NOTOKCMD, OKCMD, operationid, operationPtr, PAYLOADUSERSCHEMA, pendingOperations, sendResponse(), Operation::setDomainName(), sockfd, STARTCMD, STATUS_NOTOK, STATUS_OK, Message::message_s::topic, TOPIC_LOGIN, Mboxes::toUserSchemaMgr(), authInfo::userid, MessageUserSchema::userschema_s::userid, and MessageUserSchema::userschemaStruct.
Referenced by TransactionAgent().
void TransactionAgent::logout | ( | builtincmds_e | cmd) |
logout
cmd | continuation entry point |
Definition at line 706 of file TransactionAgent.cc.
References endConnection(), sendResponse(), and STATUS_OK.
Referenced by TransactionAgent().
void TransactionAgent::newprocedure | ( | int64_t | entrypoint) |
called by loadprocedure
communicates back and forth with UserSchemaMgr and all TransactionAgents to load stored procedure
entrypoint | entry point |
Definition at line 1438 of file TransactionAgent.cc.
References Topology::partitionAddress::address, Topology::allActors, args, argsize, MessageUserSchema::argstring, domainid, MessageUserSchema::userschema_s::domainid, domainName, Topology::partitionAddress::instance, MessageUserSchema::userschema_s::intdata, mboxes, Message::messageStruct, msgpack2Vector(), msgrcv, myIdentity, myTopology, Topology::nodeid, MessageUserSchema::pathname, Message::message_s::payloadtype, PAYLOADUSERSCHEMA, procedures_s::procedurecreator, procedures_s::proceduredestroyer, MessageUserSchema::procname, MessageUserSchema::procs, sendResponse(), STATUS_OK, storedprocprefix, Mboxes::toActor(), Message::message_s::topic, TOPIC_PROCEDURE1, TOPIC_PROCEDURE2, and MessageUserSchema::userschemaStruct.
Referenced by loadprocedure(), and TransactionAgent().
void TransactionAgent::newstatement | ( | ) |
called by compile to compile SQL statement
Definition at line 1764 of file TransactionAgent.cc.
References MessageUserSchema::argstring, MessageUserSchema::userschema_s::domainid, domainidsToSchemata, msgrcv, MessageUserSchema::procname, Statement::resolveTableFields(), Larxer::statementPtr, statements, and MessageUserSchema::userschemaStruct.
Referenced by TransactionAgent().
void TransactionAgent::ping | ( | builtincmds_e | cmd) |
ping operation
sends an empty response–used for testing functionality
cmd | not used |
Definition at line 640 of file TransactionAgent.cc.
References sendResponse(), and STATUS_OK.
Referenced by TransactionAgent().
int64_t TransactionAgent::readSocket | ( | ) |
read socket on raw interface
Definition at line 596 of file TransactionAgent.cc.
References args, operation, PAYLOADSIZE, and sockfd.
Referenced by TransactionAgent().
void TransactionAgent::schemaBoilerplate | ( | builtincmds_e | cmd, |
int | builtin | ||
) |
common code for many operations, such as login, create table, etc
cmd | continuation entry point |
builtin | command to work on |
Definition at line 1201 of file TransactionAgent.cc.
References Topology::partitionAddress::address, args, MessageUserSchema::userschema_s::argsize, argsize, MessageUserSchema::argstring, BUILTIN_STATUS_OK, MessageUserSchema::userschema_s::builtincmd, domainid, MessageUserSchema::userschema_s::domainid, endOperation(), MessageUserSchema::userschema_s::fieldid, MessageUserSchema::userschema_s::fieldlen, MessageUserSchema::userschema_s::fieldtype, Operation::getid(), MessageUserSchema::userschema_s::indexid, MessageUserSchema::userschema_s::indextype, MessageUserSchema::userschema_s::instance, instance, logfile, mboxes, Message::messageStruct, msgrcv, schemastruct::msgwaits, myIdentity, MessageUserSchema::userschema_s::numfields, operationid, MessageUserSchema::userschema_s::operationid, operationPtr, Message::message_s::payloadtype, PAYLOADUSERSCHEMA, responseVector, Operation::schemaData, sendResponse(), Operation::setbuiltincmd(), MessageUserSchema::userschema_s::simple, STARTCMD, schemastruct::state, MessageUserSchema::userschema_s::status, STATUS_NOTOK, STATUS_OK, MessageUserSchema::userschema_s::tableid, MessageUserSchema::userschema_s::tableindexid, tasengines, TASENGINESRESPONSECMD, Mboxes::toAllOfType(), Message::message_s::topic, TOPIC_SCHEMAREQUEST, Mboxes::toUserSchemaMgr(), userid, MessageUserSchema::userschemaStruct, usm, and USMRESPONSECMD.
Referenced by addcolumn(), createschema(), createtable(), deleteindex(), deleteschema(), and deletetable().
|
inline |
send raw protocol TCP responses to builtins, ping, login, logout, etc.
resending | |
resultCode | |
response |
Definition at line 375 of file TransactionAgent.h.
References endConnection(), epollfd, makeSbuf(), payload, PAYLOADSIZE, responseData::responseVector, responseData::resultCode, responseData::sbuf, sockfd, and waitingToSend.
Referenced by changepassword(), compile(), createdomain(), createuser(), deletedomain(), deleteuser(), login(), logout(), newprocedure(), ping(), schemaBoilerplate(), ApiInterface::sendResponse(), and TransactionAgent().
void TransactionAgent::TAaddcolumn | ( | ) |
continuation for addcolumn
Definition at line 1151 of file TransactionAgent.cc.
References Table::addfield(), MessageUserSchema::argstring, BUILTIN_STATUS_OK, MessageUserSchema::userschema_s::domainid, domainidsToSchemata, MessageUserSchema::userschema_s::fieldid, MessageUserSchema::userschema_s::fieldlen, MessageUserSchema::userschema_s::fieldtype, MessageUserSchema::userschema_s::indextype, Message::messageStruct, msgrcv, Message::message_s::sourceAddr, status, MessageUserSchema::userschema_s::tableid, Schema::tables, MessageUserSchema::userschemaStruct, and usmReply().
Referenced by TransactionAgent().
void TransactionAgent::TAcreateschema | ( | ) |
continuation function for createschema
Definition at line 1126 of file TransactionAgent.cc.
References createSchema(), domainidsToProcedures, Message::messageStruct, msgrcv, Message::message_s::sourceAddr, and usmReply().
Referenced by TransactionAgent().
void TransactionAgent::TAcreatetable | ( | ) |
continuation for createtable
Definition at line 1137 of file TransactionAgent.cc.
References MessageUserSchema::userschema_s::domainid, domainidsToSchemata, Message::messageStruct, msgrcv, Message::message_s::sourceAddr, status, MessageUserSchema::userschema_s::tableid, MessageUserSchema::userschemaStruct, and usmReply().
Referenced by TransactionAgent().
void TransactionAgent::TAdeleteindex | ( | ) |
continuation for deleteindex
Definition at line 1171 of file TransactionAgent.cc.
References BUILTIN_STATUS_OK, Message::messageStruct, msgrcv, Message::message_s::sourceAddr, status, and usmReply().
Referenced by TransactionAgent().
void TransactionAgent::TAdeleteschema | ( | ) |
continuation for deleteschema
Definition at line 1191 of file TransactionAgent.cc.
References BUILTIN_STATUS_OK, Message::messageStruct, msgrcv, Message::message_s::sourceAddr, status, and usmReply().
Referenced by TransactionAgent().
void TransactionAgent::TAdeletetable | ( | ) |
continuation for deletetable
Definition at line 1181 of file TransactionAgent.cc.
References BUILTIN_STATUS_OK, Message::messageStruct, msgrcv, Message::message_s::sourceAddr, status, and usmReply().
Referenced by TransactionAgent().
void TransactionAgent::TAloadprocedure | ( | ) |
continuation for loadprocedure
void TransactionAgent::updateReplicas | ( | ) |
update Topology of replicas
Definition at line 1378 of file TransactionAgent.cc.
References Topology::addressStruct::actorid, Topology::partitionAddress::address, Topology::partitionAddress::instance, myIdentity, mymember, myreplica, myTopology, Topology::addressStruct::nodeid, Topology::numreplicas, replicaAddress, replicaAddresses, Topology::replicaMembers, and Topology::tas.
Referenced by TransactionAgent().
|
inlinestatic |
reply MessageUserSchema to UserSchemaMgr
for builtin functions, ping, login, createindex, and so on
actor | sending actor |
dest | UserSchemaMgr address |
msg | MessageUserSchema |
Definition at line 452 of file TransactionAgent.h.
References MessageUserSchema::userschema_s::domainid, Message::messageStruct, MessageUserSchema::userschema_s::operationid, Message::message_s::payloadtype, PAYLOADUSERSCHEMA, MessageUserSchema::userschema_s::status, MessageUserSchema::userschema_s::userid, and MessageUserSchema::userschemaStruct.
Referenced by Engine::addcolumn(), UserSchemaMgr::addcolumn(), UserSchemaMgr::changepassword(), UserSchemaMgr::createdomain(), Engine::createschema(), UserSchemaMgr::createschema(), Engine::createtable(), UserSchemaMgr::createtable(), UserSchemaMgr::createuser(), UserSchemaMgr::deletedomain(), Engine::deleteindex(), UserSchemaMgr::deleteindex(), Engine::deleteschema(), UserSchemaMgr::deleteschema(), Engine::deletetable(), UserSchemaMgr::deletetable(), UserSchemaMgr::deleteuser(), UserSchemaMgr::login(), TAaddcolumn(), TAcreateschema(), TAcreatetable(), TAdeleteindex(), TAdeleteschema(), and TAdeletetable().
boost::unordered_map<int64_t, class Applier *> TransactionAgent::Appliers |
Definition at line 487 of file TransactionAgent.h.
Referenced by Applier::ackedApply(), Applier::Applier(), and TransactionAgent().
char TransactionAgent::args[PAYLOADSIZE] |
Definition at line 475 of file TransactionAgent.h.
Referenced by changepassword(), compile(), createdomain(), createuser(), deletedomain(), deleteuser(), ApiInterface::deserialize2Vector(), login(), newprocedure(), readSocket(), and schemaBoilerplate().
int64_t TransactionAgent::argsize |
Definition at line 474 of file TransactionAgent.h.
Referenced by changepassword(), compile(), createdomain(), createuser(), deletedomain(), deleteuser(), ApiInterface::deserialize2Vector(), login(), newprocedure(), schemaBoilerplate(), and TransactionAgent().
std::string TransactionAgent::argstring |
Definition at line 476 of file TransactionAgent.h.
int TransactionAgent::batchSendCount |
Definition at line 492 of file TransactionAgent.h.
int64_t TransactionAgent::domainid |
Definition at line 155 of file TransactionAgent.h.
Referenced by changepassword(), compile(), createdomain(), createuser(), deletedomain(), deleteuser(), handledispatch(), newprocedure(), schemaBoilerplate(), and TransactionAgent().
boost::unordered_map<int64_t, domainProceduresMap> TransactionAgent::domainidsToProcedures |
Definition at line 485 of file TransactionAgent.h.
Referenced by Statement::branchtotype(), TAcreateschema(), and TransactionAgent().
REUSEMESSAGES domainidToSchemaMap TransactionAgent::domainidsToSchemata |
Definition at line 162 of file TransactionAgent.h.
Referenced by compile(), Pg::continueLogin(), handledispatch(), newstatement(), TAaddcolumn(), TAcreatetable(), Transaction::Transaction(), and TransactionAgent().
domainidToSchemaMap::iterator TransactionAgent::domainidsToSchemataIterator |
Definition at line 484 of file TransactionAgent.h.
std::string TransactionAgent::domainName |
Definition at line 481 of file TransactionAgent.h.
Referenced by newprocedure(), and TransactionAgent().
int TransactionAgent::epollfd |
Definition at line 469 of file TransactionAgent.h.
Referenced by endConnection(), sendResponse(), and TransactionAgent().
int64_t TransactionAgent::instance |
Definition at line 467 of file TransactionAgent.h.
Referenced by changepassword(), Transaction::checkLock(), Transaction::checkSqlLock(), createdomain(), createuser(), deletedomain(), deleteuser(), login(), schemaBoilerplate(), Transaction::sendTransaction(), and TransactionAgent().
socketAuthInfo TransactionAgent::loggedInUsers |
Definition at line 473 of file TransactionAgent.h.
Referenced by endConnection(), login(), and TransactionAgent().
class Mboxes TransactionAgent::mboxes |
Definition at line 465 of file TransactionAgent.h.
Referenced by Transaction::abortCmd(), addcolumn(), changepassword(), Transaction::checkLock(), Transaction::checkSqlLock(), Transaction::commit(), compile(), Transaction::continueCommitTransaction(), createdomain(), createtable(), createuser(), deletedomain(), deleteuser(), handledispatch(), login(), newprocedure(), Transaction::rollback(), schemaBoilerplate(), Transaction::sendTransaction(), and TransactionAgent().
class Message* TransactionAgent::msgrcv |
Definition at line 160 of file TransactionAgent.h.
Referenced by addcolumn(), Pg::cont(), createtable(), handledispatch(), login(), newprocedure(), newstatement(), schemaBoilerplate(), TAaddcolumn(), TAcreateschema(), TAcreatetable(), TAdeleteindex(), TAdeleteschema(), TAdeletetable(), and TransactionAgent().
Topology::partitionAddress TransactionAgent::myIdentity |
Definition at line 464 of file TransactionAgent.h.
Referenced by Transaction::abortCmd(), addcolumn(), changepassword(), Transaction::checkLock(), Transaction::checkSqlLock(), Transaction::commit(), compile(), Transaction::continueCommitTransaction(), createdomain(), createtable(), createuser(), deletedomain(), deleteuser(), handledispatch(), login(), newprocedure(), Pg::pgclosesocket(), Pg::rewritesocket(), Transaction::rollback(), schemaBoilerplate(), Transaction::sendTransaction(), TransactionAgent(), updateReplicas(), and Pg::writesocket().
class Mbox* TransactionAgent::mymboxPtr |
Definition at line 468 of file TransactionAgent.h.
size_t TransactionAgent::mymember |
Definition at line 495 of file TransactionAgent.h.
Referenced by updateReplicas().
size_t TransactionAgent::myreplica |
Definition at line 494 of file TransactionAgent.h.
Referenced by updateReplicas().
class Topology TransactionAgent::myTopology |
Definition at line 466 of file TransactionAgent.h.
Referenced by Transaction::commit(), Transaction::continueCommitTransaction(), handledispatch(), newprocedure(), TransactionAgent(), and updateReplicas().
int64_t TransactionAgent::nextapplierid |
Definition at line 491 of file TransactionAgent.h.
Referenced by getnextapplierid().
int64_t TransactionAgent::nexttransactionid |
Definition at line 490 of file TransactionAgent.h.
Referenced by getnexttransactionid().
std::string* TransactionAgent::operation |
Definition at line 472 of file TransactionAgent.h.
Referenced by readSocket(), and TransactionAgent().
int64_t TransactionAgent::operationid |
Definition at line 154 of file TransactionAgent.h.
Referenced by changepassword(), createdomain(), createuser(), deletedomain(), deleteuser(), endOperation(), login(), schemaBoilerplate(), and TransactionAgent().
int64_t TransactionAgent::operationidcounter |
Definition at line 480 of file TransactionAgent.h.
Referenced by Operation::Operation().
class Operation* TransactionAgent::operationPtr |
Definition at line 483 of file TransactionAgent.h.
Referenced by changepassword(), createdomain(), createuser(), deletedomain(), deleteuser(), login(), schemaBoilerplate(), and TransactionAgent().
char TransactionAgent::payload[PAYLOADSIZE] |
Definition at line 471 of file TransactionAgent.h.
Referenced by sendResponse().
operationMap TransactionAgent::pendingOperations |
Definition at line 478 of file TransactionAgent.h.
Referenced by endOperation(), Operation::handleOperation(), login(), Operation::Operation(), and TransactionAgent().
operationMap::iterator TransactionAgent::pendingOperationsIterator |
Definition at line 479 of file TransactionAgent.h.
Referenced by TransactionAgent().
boost::unordered_map<int, class Pg *> TransactionAgent::Pgs |
Definition at line 489 of file TransactionAgent.h.
Referenced by Operation::handleOperation(), Pg::Pg(), Pg::pgclosesocket(), and TransactionAgent().
Topology::addressStruct TransactionAgent::replicaAddress |
Definition at line 496 of file TransactionAgent.h.
Referenced by Transaction::commit(), and updateReplicas().
std::vector<Topology::addressStruct> TransactionAgent::replicaAddresses |
Definition at line 497 of file TransactionAgent.h.
Referenced by Transaction::commit(), and updateReplicas().
std::vector<std::string> TransactionAgent::responseVector |
Definition at line 482 of file TransactionAgent.h.
Referenced by addcolumn(), createschema(), createtable(), deleteindex(), deleteschema(), deletetable(), and schemaBoilerplate().
int TransactionAgent::sockfd |
Definition at line 470 of file TransactionAgent.h.
Referenced by endConnection(), login(), Operation::Operation(), readSocket(), sendResponse(), ApiInterface::sendResponse(), and TransactionAgent().
boost::unordered_map< int64_t, boost::unordered_map<std::string, class Statement> > TransactionAgent::statements |
Definition at line 502 of file TransactionAgent.h.
Referenced by ApiInterface::execStatement(), and newstatement().
int64_t TransactionAgent::status |
Definition at line 157 of file TransactionAgent.h.
Referenced by TAaddcolumn(), TAcreatetable(), TAdeleteindex(), TAdeleteschema(), and TAdeletetable().
int64_t TransactionAgent::tainstance |
Definition at line 158 of file TransactionAgent.h.
Referenced by TransactionAgent().
boost::unordered_map<int64_t, class Transaction *> TransactionAgent::Transactions |
Definition at line 486 of file TransactionAgent.h.
Referenced by Transaction::Transaction(), TransactionAgent(), and Transaction::~Transaction().
int64_t TransactionAgent::userid |
Definition at line 156 of file TransactionAgent.h.
Referenced by changepassword(), createdomain(), createuser(), deletedomain(), deleteuser(), schemaBoilerplate(), and TransactionAgent().
sendLaterMap TransactionAgent::waitingToSend |
Definition at line 477 of file TransactionAgent.h.
Referenced by sendResponse(), and TransactionAgent().