postgres.git / summary / log / commit / refs

commit    f66912b0a0387aab5f5bbcd9d56ab92200395d2e
Author:   Heikki Linnakangas <heikki.linnakangas@iki.fi>
Date:     Wed May 02 14:51:11 2018 +0000

    Remove remaining references to version-0 calling convention in docs.
    
    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 | 5 ++--- doc/src/sgml/spi.sgml | 18 +++++++----------- 2 files changed, 9 insertions(+), 14 deletions(-) diff --git a/doc/src/sgml/plhandler.sgml b/doc/src/sgml/plhandler.sgml index 363f84b9f34..4f8c4d040a0 100644 --- a/doc/src/sgml/plhandler.sgml +++ b/doc/src/sgml/plhandler.sgml @@ -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 diff --git a/doc/src/sgml/spi.sgml b/doc/src/sgml/spi.sgml index 0bac3423224..12602758645 100644 --- a/doc/src/sgml/spi.sgml +++ b/doc/src/sgml/spi.sgml @@ -4583,17 +4583,19 @@ INSERT INTO a SELECT * FROM a; PG_MODULE_MAGIC; -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(); @@ -4626,16 +4628,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"/>.): [parent: 445e31bdc749]