On Thu, Aug 6, 2020 at 06:10:52PM -0400, Bruce Momjian wrote: > On Thu, Aug 6, 2020 at 02:30:55PM +0100, Robin Abbi wrote: > > PostgreSQL went as far as release 10 without procedures. > > Some third party resources written before 11 loosely conflate procedures > > with > > functions. > > Some third party resources written before 11 accurately state PostgreSQL has > > functions but not procedures. > > Referring to the PostgreSQL docs for 11 on, procedures have been added. > > > > For someone like me, coming to the subject without much of a hinterland > > other > > than googling around, it seemed clear that there was a motivating case that > > caused Procedures to be added to PostgreSQL, but I was not sufficiently > > familiar with the domain to be able to readily intuit what it might have > > been. > > > > For example, Procedures say they have no return value, yet Functions can > > return > > void. Not the same I agree, but I wouldn't be aware in which circumstances > > it > > mattered. > > > > For me, perhaps the most useful thing would have been a small example > > highlighting the essential thing(s) that procedures can do that functions > > could > > not. > > Agreed, this doc area needs help.
I developed the attached patach for this. Is this sufficient? -- Bruce Momjian <br...@momjian.us> https://momjian.us EnterpriseDB https://enterprisedb.com The usefulness of a cup is in its emptiness, Bruce Lee
diff --git a/doc/src/sgml/xfunc.sgml b/doc/src/sgml/xfunc.sgml index 6de464c654..0b52feffe5 100644 --- a/doc/src/sgml/xfunc.sgml +++ b/doc/src/sgml/xfunc.sgml @@ -83,7 +83,8 @@ <para> A procedure is a database object similar to a function. The difference is that a procedure does not return a value, so there is no return type - declaration. While a function is called as part of a query or DML + declaration. Procedures can also begin and commit transactions. + While a function is called as part of a query or DML command, a procedure is called explicitly using the <xref linkend="sql-call"/> statement. </para>