functions to save a result set under another name, and retrieve it later

git-svn-id: http://svn.berlios.de/svnroot/repos/sems/trunk@1338 8eb893ce-cfd4-0310-b710-fb5ebe64c474
sayer/1.4-spce2.6
Stefan Sayer 17 years ago
parent 8423ec1a64
commit 218df51eff

@ -56,6 +56,8 @@ DSMAction* SCMysqlModule::getAction(const string& from_str) {
DEF_CMD("mysql.getResult", SCMyGetResultAction);
DEF_CMD("mysql.getClientVersion", SCMyGetClientVersion);
DEF_CMD("mysql.resolveQueryParams", SCMyResolveQueryParams);
DEF_CMD("mysql.saveResult", SCMySaveResultAction);
DEF_CMD("mysql.useResult", SCMyUseResultAction);
return NULL;
}
@ -289,7 +291,6 @@ EXEC_ACTION_START(SCMyQueryAction) {
CONST_ACTION_2P(SCMyQueryGetResultAction, ',', true);
EXEC_ACTION_START(SCMyQueryGetResultAction) {
DBG("par1='%s', par2='%s'\n", par1.c_str(), par2.c_str());
mysqlpp::Connection* conn =
getMyDSMSessionConnection(sc_sess);
if (NULL == conn)
@ -410,3 +411,11 @@ MATCH_CONDITION_START(MyConnectedCondition) {
return conn->connected();
} MATCH_CONDITION_END;
EXEC_ACTION_START(SCMySaveResultAction) {
sc_sess->avar[resolveVars(arg, sess, sc_sess, event_params)] = sc_sess->avar[MY_AKEY_RESULT];
} EXEC_ACTION_END;
EXEC_ACTION_START(SCMyUseResultAction) {
sc_sess->avar[MY_AKEY_RESULT] = sc_sess->avar[resolveVars(arg, sess, sc_sess, event_params)];
} EXEC_ACTION_END;

@ -85,6 +85,8 @@ DEF_ACTION_1P(SCMyGetClientVersion);
DEF_ACTION_1P(SCMyResolveQueryParams);
DEF_SCCondition(MyHasResultCondition);
DEF_SCCondition(MyConnectedCondition);
DEF_ACTION_1P(SCMySaveResultAction);
DEF_ACTION_1P(SCMyUseResultAction);

@ -79,7 +79,11 @@ Actions:
-- gets client version into $db.client_version
mysql.getClientVersion()
-- save result into another name
mysql.saveResult(string name)
-- user saved result
mysql.userResult(string name)
Conditions
==========
@ -107,6 +111,7 @@ to the session:
|
Result | avar["db.res"]
|
Result | avar[parameter] on mysql.saveResult
Note: Due to the implementation of MySQL++, the complete result set has
to be copied one more time internally, if mysql.query() is used. So if

Loading…
Cancel
Save