Fix incorrect wording about function failure time on unsafe ops - these
authorAndrew Dunstan
Mon, 24 Oct 2005 15:39:50 +0000 (15:39 +0000)
committerAndrew Dunstan
Mon, 24 Oct 2005 15:39:50 +0000 (15:39 +0000)
are now caught by the validator. And a small visit from the perl style police:
check the return value from open().

doc/src/sgml/plperl.sgml

index d6f42f294a5023ccf54c7c8134506db9402728f4..9b8b4ceda495828330c74d294d44f198816a33e3 100644 (file)
@@ -1,5 +1,5 @@
 
 
  
@@ -554,12 +554,16 @@ $$ LANGUAGE plperl;
    system operations are not allowed for security reasons:
 
 CREATE FUNCTION badfunc() RETURNS integer AS $$
-    open(TEMP, ">/tmp/badfile");
-    print TEMP "Gotcha!\n";
+    my $tmpfile = "/tmp/badfile";
+    open my $fh, '>', $tmpfile
+        or elog(ERROR, qq{Could not open the file "$tmpfile": $!});
+    print $fh "Testing writing to a file\n";
+    close $fh or elog(ERROR, qq{Could not close the file "$tmpfile": $!});
     return 1;
 $$ LANGUAGE plperl;
 
-   The creation of the function will succeed, but executing it will not.
+   The creation of this function will fail as its use of a forbidden
+   operation will be be caught by the validator.