]> granicus.if.org Git - postgresql/commitdiff
Doc: explain dollar quoting in the intro part of the pl/pgsql chapter.
authorTom Lane <tgl@sss.pgh.pa.us>
Mon, 17 Jul 2017 20:43:03 +0000 (16:43 -0400)
committerTom Lane <tgl@sss.pgh.pa.us>
Mon, 17 Jul 2017 20:43:23 +0000 (16:43 -0400)
We're throwing people into the guts of the syntax with not much context;
let's back up one step and point out that this goes inside a literal in
a CREATE FUNCTION command.  Per suggestion from Kurt Kartaltepe.

Discussion: https://postgr.es/m/CACawnnyWAmH+au8nfZhLiFfWKjXy4d0kY+eZWfcxPRnjVfaa_Q@mail.gmail.com

doc/src/sgml/plpgsql.sgml

index d3272e12096e6c0c7825e255ceda8b0e4c45b0a7..eb1e786200352c05710d6530854e12c0f378163f 100644 (file)
  <sect1 id="plpgsql-structure">
   <title>Structure of <application>PL/pgSQL</application></title>
 
+  <para>
+   Functions written in <application>PL/pgSQL</application> are defined
+   to the server by executing <xref linkend="sql-createfunction"> commands.
+   Such a command would normally look like, say,
+<programlisting>
+CREATE FUNCTION somefunc(integer, text) RETURNS integer
+AS '<replaceable>function body text</>'
+LANGUAGE plpgsql;
+</programlisting>
+   The function body is simply a string literal so far as <command>CREATE
+   FUNCTION</> is concerned.  It is often helpful to use dollar quoting
+   (see <xref linkend="sql-syntax-dollar-quoting">) to write the function
+   body, rather than the normal single quote syntax.  Without dollar quoting,
+   any single quotes or backslashes in the function body must be escaped by
+   doubling them.  Almost all the examples in this chapter use dollar-quoted
+   literals for their function bodies.
+  </para>
+
   <para>
    <application>PL/pgSQL</application> is a block-structured language.
-   The complete text of a function definition must be a
+   The complete text of a function body must be a
    <firstterm>block</>. A block is defined as:
 
 <synopsis>