|
1 | 1 | /**********************************************************************
|
2 | 2 | * plpython.c - python as a procedural language for PostgreSQL
|
3 | 3 | *
|
4 |
| - *$PostgreSQL: pgsql/src/pl/plpython/plpython.c,v 1.142 2010/04/30 19:15:45 tgl Exp $ |
| 4 | + *$PostgreSQL: pgsql/src/pl/plpython/plpython.c,v 1.143 2010/05/01 17:04:38 tgl Exp $ |
5 | 5 | *
|
6 | 6 | *********************************************************************
|
7 | 7 | */
|
@@ -541,12 +541,15 @@ plpython_inline_handler(PG_FUNCTION_ARGS)
|
541 | 541 | }
|
542 | 542 | PG_CATCH();
|
543 | 543 | {
|
| 544 | +PLy_procedure_delete(proc); |
544 | 545 | PLy_curr_procedure=save_curr_proc;
|
545 | 546 | PyErr_Clear();
|
546 | 547 | PG_RE_THROW();
|
547 | 548 | }
|
548 | 549 | PG_END_TRY();
|
549 | 550 |
|
| 551 | +PLy_procedure_delete(proc); |
| 552 | + |
550 | 553 | /* Pop the error context stack */
|
551 | 554 | error_context_stack=plerrcontext.previous;
|
552 | 555 |
|
@@ -1664,6 +1667,7 @@ PLy_procedure_delete(PLyProcedure *proc)
|
1664 | 1667 | }
|
1665 | 1668 | if (proc->argnames)
|
1666 | 1669 | PLy_free(proc->argnames);
|
| 1670 | +PLy_free(proc); |
1667 | 1671 | }
|
1668 | 1672 |
|
1669 | 1673 | /*
|
|