diff options
| author | Bruce Momjian | 2009-02-05 15:25:49 +0000 |
|---|---|---|
| committer | Bruce Momjian | 2009-02-05 15:25:49 +0000 |
| commit | 8c78f8e65c2f68e946f145770cf24a49ac88c891 (patch) | |
| tree | c420d25be1a8dbbca7ea27187e096bc9f12fdb65 /src/pl | |
| parent | 78cbd498263122fe731a6dd1f31c906042fa2127 (diff) | |
Add PL/PgSQL FOUND and GET DIAGNOSTICS support for RETURN QUERY
statement
Pavel Stehule
Diffstat (limited to 'src/pl')
| -rw-r--r-- | src/pl/plpgsql/src/pl_exec.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/pl/plpgsql/src/pl_exec.c b/src/pl/plpgsql/src/pl_exec.c index 69fea921537..4e5388f6249 100644 --- a/src/pl/plpgsql/src/pl_exec.c +++ b/src/pl/plpgsql/src/pl_exec.c @@ -8,7 +8,7 @@ * * * IDENTIFICATION - * $PostgreSQL: pgsql/src/pl/plpgsql/src/pl_exec.c,v 1.231 2009/01/21 11:13:14 heikki Exp $ + * $PostgreSQL: pgsql/src/pl/plpgsql/src/pl_exec.c,v 1.232 2009/02/05 15:25:49 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -2286,6 +2286,7 @@ exec_stmt_return_query(PLpgSQL_execstate *estate, PLpgSQL_stmt_return_query *stmt) { Portal portal; + uint32 processed = 0; if (!estate->retisset) ereport(ERROR, @@ -2327,6 +2328,7 @@ exec_stmt_return_query(PLpgSQL_execstate *estate, HeapTuple tuple = SPI_tuptable->vals[i]; tuplestore_puttuple(estate->tuple_store, tuple); + processed++; } MemoryContextSwitchTo(old_cxt); @@ -2336,6 +2338,9 @@ exec_stmt_return_query(PLpgSQL_execstate *estate, SPI_freetuptable(SPI_tuptable); SPI_cursor_close(portal); + estate->eval_processed = processed; + exec_set_found(estate, processed != 0); + return PLPGSQL_RC_OK; } |
