Doc: fix confusion about LEAKPROOF in syntax summaries.
authorTom Lane
Wed, 23 Jun 2021 18:27:13 +0000 (14:27 -0400)
committerTom Lane
Wed, 23 Jun 2021 18:27:13 +0000 (14:27 -0400)
The syntax summaries for CREATE FUNCTION and allied commands
made it look like LEAKPROOF is an alternative to
IMMUTABLE/STABLE/VOLATILE, when of course it is an orthogonal
option.  Improve that.

Per gripe from aazamrafeeque0.  Thanks to David Johnston for
suggestions.

Discussion: https://postgr.es/m/162444349581.694.5818572718530259025@wrigleys.postgresql.org

doc/src/sgml/ref/alter_function.sgml
doc/src/sgml/ref/alter_routine.sgml
doc/src/sgml/ref/create_function.sgml

index 54e61e7d788584e95a1b4a1519239458d50c0ff6..0ee756a94d9265680e5c2cdf1a235fd3bd82f7aa 100644 (file)
@@ -35,7 +35,8 @@ ALTER FUNCTION name [ ( [ [ 
 where action is one of:
 
     CALLED ON NULL INPUT | RETURNS NULL ON NULL INPUT | STRICT
-    IMMUTABLE | STABLE | VOLATILE | [ NOT ] LEAKPROOF
+    IMMUTABLE | STABLE | VOLATILE
+    [ NOT ] LEAKPROOF
     [ EXTERNAL ] SECURITY INVOKER | [ EXTERNAL ] SECURITY DEFINER
     PARALLEL { UNSAFE | RESTRICTED | SAFE }
     COST execution_cost
index aab4a497938f6a2494b07c2b1a27e026c7a51fce..d6c9dea2ebc77af87b963ce35c84d8d0687966c9 100644 (file)
@@ -34,7 +34,8 @@ ALTER ROUTINE name [ ( [ [ 
 
 where action is one of:
 
-    IMMUTABLE | STABLE | VOLATILE | [ NOT ] LEAKPROOF
+    IMMUTABLE | STABLE | VOLATILE
+    [ NOT ] LEAKPROOF
     [ EXTERNAL ] SECURITY INVOKER | [ EXTERNAL ] SECURITY DEFINER
     PARALLEL { UNSAFE | RESTRICTED | SAFE }
     COST execution_cost
index 180e5f5c1f56079eccdfd6c97a00642cf0569b7a..7e6d52c7dcf36a1dc59b84e9c6909715e244eb89 100644 (file)
@@ -28,9 +28,10 @@ CREATE [ OR REPLACE ] FUNCTION
   { LANGUAGE lang_name
     | TRANSFORM { FOR TYPE type_name } [, ... ]
     | WINDOW
-    | IMMUTABLE | STABLE | VOLATILE | [ NOT ] LEAKPROOF
-    | CALLED ON NULL INPUT | RETURNS NULL ON NULL INPUT | STRICT
-    | [ EXTERNAL ] SECURITY INVOKER | [ EXTERNAL ] SECURITY DEFINER
+    | { IMMUTABLE | STABLE | VOLATILE }
+    | [ NOT ] LEAKPROOF
+    | { CALLED ON NULL INPUT | RETURNS NULL ON NULL INPUT | STRICT }
+    | { [ EXTERNAL ] SECURITY INVOKER | [ EXTERNAL ] SECURITY DEFINER }
     | PARALLEL { UNSAFE | RESTRICTED | SAFE }
     | COST execution_cost
     | ROWS result_rows