| 2767 | } |
| 2768 | |
| 2769 | static const char *db_rollback_int(Lua L, int *rc) |
| 2770 | { |
| 2771 | SP sp = getsp(L); |
| 2772 | if (sp->clnt->ctrl_sqlengine != SQLENG_INTRANS_STATE && |
| 2773 | sp->clnt->ctrl_sqlengine != SQLENG_STRT_STATE) { |
| 2774 | sql_set_sqlengine_state(sp->clnt, __FILE__, __LINE__, SQLENG_WRONG_STATE); |
| 2775 | return no_transaction(); |
| 2776 | } |
| 2777 | reset_stmts(sp); |
| 2778 | sql_set_sqlengine_state(sp->clnt, __FILE__, __LINE__, SQLENG_FNSH_RBK_STATE); |
| 2779 | reqlog_set_event(sp->thd->logger, EV_SP); |
| 2780 | *rc = handle_sql_commitrollback(sp->thd, sp->clnt, TRANS_CLNTCOMM_NOREPLY); |
| 2781 | sp->clnt->ready_for_heartbeats = 1; |
| 2782 | if ((sp->in_parent_trans == 0) && sp->make_parent_trans) { |
| 2783 | int tmp; |
| 2784 | if (db_begin_int(L, &tmp) == 0) sp->in_parent_trans = 1; |
| 2785 | } |
| 2786 | sp->clnt->osql.tran_ops = 0; |
| 2787 | return NULL; |
| 2788 | } |
| 2789 | |
| 2790 | static const char *begin_parent(Lua L) |
| 2791 | { |
no test coverage detected