]> granicus.if.org Git - postgresql/commitdiff
Remove remaining references to version-0 calling convention in docs.
authorHeikki Linnakangas <heikki.linnakangas@iki.fi>
Wed, 2 May 2018 14:51:11 +0000 (17:51 +0300)
committerHeikki Linnakangas <heikki.linnakangas@iki.fi>
Wed, 2 May 2018 14:51:32 +0000 (17:51 +0300)
Support for version-0 calling convention was removed in PostgreSQL v10.
Change the SPI example to use version 1 convention, so that it actually
works.

Author: John Naylor
Discussion: https://www.postgresql.org/message-id/CAJVSVGVydmhLBdm80Rw3G8Oq5TnA7eCxUv065yoZfNfLbF1tzA@mail.gmail.com

doc/src/sgml/plhandler.sgml
doc/src/sgml/spi.sgml

index 57a2a05ed279b6ac11cca969fa5beb6c09ab732b..91a8d9a5badae34c046659aed9ffd90effd7e17a 100644 (file)
@@ -11,9 +11,8 @@
    <para>
     All calls to functions that are written in a language other than
     the current <quote>version 1</quote> interface for compiled
-    languages (this includes functions in user-defined procedural languages,
-    functions written in SQL, and functions using the version 0 compiled
-    language interface) go through a <firstterm>call handler</firstterm>
+    languages (this includes functions in user-defined procedural languages
+    and functions written in SQL) go through a <firstterm>call handler</firstterm>
     function for the specific language.  It is the responsibility of
     the call handler to execute the function in a meaningful way, such
     as by interpreting the supplied source text.  This chapter outlines
index 9ce1270d37606f6f7c00c45cdb30d300e62b4e9b..0110d02e5a65299128e97a8c74537cb597540475 100644 (file)
@@ -4355,17 +4355,19 @@ INSERT INTO a SELECT * FROM a;
 PG_MODULE_MAGIC;
 #endif
 
-int64 execq(text *sql, int cnt);
+PG_FUNCTION_INFO_V1(execq);
 
-int64
-execq(text *sql, int cnt)
+Datum
+execq(PG_FUNCTION_ARGS)
 {
     char *command;
+    int cnt;
     int ret;
     uint64 proc;
 
     /* Convert given text object to a C string */
-    command = text_to_cstring(sql);
+    command = text_to_cstring(PG_GETARG_TEXT_PP(1));
+    cnt = PG_GETARG_INT32(2);
 
     SPI_connect();
 
@@ -4398,16 +4400,10 @@ execq(text *sql, int cnt)
     SPI_finish();
     pfree(command);
 
-    return (proc);
+    PG_RETURN_INT64(proc);
 }
 </programlisting>
 
-  <para>
-   (This function uses call convention version 0, to make the example
-   easier to understand.  In real applications you should use the new
-   version 1 interface.)
-  </para>
-
   <para>
    This is how you declare the function after having compiled it into
    a shared library (details are in <xref linkend="dfunc">.):