plpgsql RAISE statement was careless about the possibility of a NULL
authorTom Lane
Fri, 28 Apr 2000 00:12:44 +0000 (00:12 +0000)
committerTom Lane
Fri, 28 Apr 2000 00:12:44 +0000 (00:12 +0000)
field value being displayed; produced coredump instead of the expected
 display.

src/pl/plpgsql/src/pl_exec.c

index d9acac49474288e991bbfe23fb1cb149fb46e68b..a2565a43637b331db760ece4c95d749faa324de6 100644 (file)
@@ -3,7 +3,7 @@
  *           procedural language
  *
  * IDENTIFICATION
- *   $Header: /cvsroot/pgsql/src/pl/plpgsql/src/pl_exec.c,v 1.20 2000/04/12 17:17:19 momjian Exp $
+ *   $Header: /cvsroot/pgsql/src/pl/plpgsql/src/pl_exec.c,v 1.21 2000/04/28 00:12:44 tgl Exp $
  *
  *   This software is copyrighted by Jan Wieck - Hamburg.
  *
@@ -1587,6 +1587,8 @@ exec_stmt_raise(PLpgSQL_execstate * estate, PLpgSQL_stmt_raise * stmt)
                        if (fno == SPI_ERROR_NOATTRIBUTE)
                            elog(ERROR, "record %s has no field %s", rec->refname, recfield->fieldname);
                        extval = SPI_getvalue(rec->tup, rec->tupdesc, fno);
+                       if (extval == NULL)
+                           extval = "";
                    }
                    plpgsql_dstring_append(&ds, extval);
                    break;