|
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(); |
|