* exec_stmt_rollback * * Abort the transaction. */
| 4913 | * Abort the transaction. |
| 4914 | */ |
| 4915 | static int |
| 4916 | exec_stmt_rollback(PLpgSQL_execstate *estate, PLpgSQL_stmt_rollback *stmt) |
| 4917 | { |
| 4918 | if (stmt->chain) |
| 4919 | SPI_rollback_and_chain(); |
| 4920 | else |
| 4921 | SPI_rollback(); |
| 4922 | |
| 4923 | /* |
| 4924 | * We need to build new simple-expression infrastructure, since the old |
| 4925 | * data structures are gone. |
| 4926 | */ |
| 4927 | estate->simple_eval_estate = NULL; |
| 4928 | estate->simple_eval_resowner = NULL; |
| 4929 | plpgsql_create_econtext(estate); |
| 4930 | |
| 4931 | return PLPGSQL_RC_OK; |
| 4932 | } |
| 4933 | |
| 4934 | /* ---------- |
| 4935 | * exec_assign_expr Put an expression's result into a variable. |
no test coverage detected