|
1 | 1 | /**********************************************************************
|
2 | 2 | * plperl.c - perl as a procedural language for PostgreSQL
|
3 | 3 | *
|
4 |
| - * $PostgreSQL: pgsql/src/pl/plperl/plperl.c,v 1.173 2010/03/18 19:02:46 petere Exp $ |
| 4 | + * $PostgreSQL: pgsql/src/pl/plperl/plperl.c,v 1.174 2010/04/18 19:16:06 tgl Exp $ |
5 | 5 | *
|
6 | 6 | **********************************************************************/
|
7 | 7 |
|
@@ -1153,19 +1153,20 @@ plperl_inline_handler(PG_FUNCTION_ARGS)
|
1153 | 1153 | }
|
1154 | 1154 | PG_CATCH();
|
1155 | 1155 | {
|
1156 |
| -current_call_data=save_call_data; |
1157 |
| -restore_context(oldcontext); |
1158 | 1156 | if (desc.reference)
|
1159 | 1157 | SvREFCNT_dec(desc.reference);
|
| 1158 | +current_call_data=save_call_data; |
| 1159 | +restore_context(oldcontext); |
1160 | 1160 | PG_RE_THROW();
|
1161 | 1161 | }
|
1162 | 1162 | PG_END_TRY();
|
1163 | 1163 |
|
1164 |
| -current_call_data=save_call_data; |
1165 |
| -restore_context(oldcontext); |
1166 | 1164 | if (desc.reference)
|
1167 | 1165 | SvREFCNT_dec(desc.reference);
|
1168 | 1166 |
|
| 1167 | +current_call_data=save_call_data; |
| 1168 | +restore_context(oldcontext); |
| 1169 | + |
1169 | 1170 | error_context_stack=pl_error_context.previous;
|
1170 | 1171 |
|
1171 | 1172 | PG_RETURN_VOID();
|
|