|
3 | 3 | * procedural language
|
4 | 4 | *
|
5 | 5 | * IDENTIFICATION
|
6 |
| - * $PostgreSQL: pgsql/src/pl/plpgsql/src/pl_exec.c,v 1.95 2004/02/03 17:34:04 tgl Exp $ |
| 6 | + * $PostgreSQL: pgsql/src/pl/plpgsql/src/pl_exec.c,v 1.96 2004/02/24 01:44:33 tgl Exp $ |
7 | 7 | *
|
8 | 8 | * This software is copyrighted by Jan Wieck - Hamburg.
|
9 | 9 | *
|
@@ -262,10 +262,18 @@ plpgsql_exec_function(PLpgSQL_function * func, FunctionCallInfo fcinfo)
|
262 | 262 | HeapTupletup;
|
263 | 263 | TupleDesctupdesc;
|
264 | 264 |
|
265 |
| -Assert(slot!=NULL&& !fcinfo->argnull[i]); |
266 |
| -tup=slot->val; |
267 |
| -tupdesc=slot->ttc_tupleDescriptor; |
268 |
| -exec_move_row(&estate,NULL,row,tup,tupdesc); |
| 265 | +if (!fcinfo->argnull[i]) |
| 266 | +{ |
| 267 | +Assert(slot!=NULL); |
| 268 | +tup=slot->val; |
| 269 | +tupdesc=slot->ttc_tupleDescriptor; |
| 270 | +exec_move_row(&estate,NULL,row,tup,tupdesc); |
| 271 | +} |
| 272 | +else |
| 273 | +{ |
| 274 | +/* If arg is null, treat it as an empty row */ |
| 275 | +exec_move_row(&estate,NULL,row,NULL,NULL); |
| 276 | +} |
269 | 277 | }
|
270 | 278 | break;
|
271 | 279 |
|
|