23 #include <drizzled/session.h>
24 #include <drizzled/statement/release_savepoint.h>
25 #include <drizzled/transaction_services.h>
26 #include <drizzled/named_savepoint.h>
27 #include <drizzled/sql_lex.h>
28 #include <drizzled/session/transactions.h>
35 bool statement::ReleaseSavepoint::execute()
42 deque<NamedSavepoint> &savepoints= transaction().savepoints;
43 deque<NamedSavepoint>::iterator iter;
45 for (iter= savepoints.begin(); iter != savepoints.end(); ++iter)
48 const string &sv_name= sv.getName();
49 if (my_strnncoll(system_charset_info, (
unsigned char *) lex().ident.data(),
50 lex().ident.size(), (
unsigned char *) sv_name.c_str(), sv_name.size()) == 0)
53 if (iter != savepoints.end())
56 (void) TransactionServices::releaseSavepoint(session(), sv);
57 savepoints.erase(iter);
62 my_error(ER_SP_DOES_NOT_EXIST, MYF(0),
"SAVEPOINT", lex().ident.data());
void my_ok(ha_rows affected_rows=0, ha_rows found_rows_arg=0, uint64_t passed_id=0, const char *message=NULL)
TODO: Rename this file - func.h is stupid.