postgres.git / summary / log / commit / refs

commit    43ea23a346cd32d5ae2ca1d465db6f3beb65bf13
Author:   Robert Haas <rhaas@postgresql.org>
Date:     Mon Jun 13 12:28:41 2011 +0000
First released in: 9.2.0, 9.1.0

    More foreign table documentation improvements.
    
    Shigeru Hanada, with some additional wordsmithing by me


doc/src/sgml/ddl.sgml | 9 +++++---- doc/src/sgml/fdwhandler.sgml | 11 +++++++++++ 2 files changed, 16 insertions(+), 4 deletions(-) diff --git a/doc/src/sgml/ddl.sgml b/doc/src/sgml/ddl.sgml index 9709dd613ff..09d7a24a25c 100644 --- a/doc/src/sgml/ddl.sgml +++ b/doc/src/sgml/ddl.sgml @@ -3021,10 +3021,11 @@ ANALYZE measurement; <firstterm>foreign data wrapper</firstterm>. A foreign data wrapper is a library that can communicate with an external data source, hiding the details of connecting to the data source and fetching data from it. There - are several foreign data wrappers available, which can for example read - plain data files residing on the server, or connect to another PostgreSQL - instance. If none of the existing foreign data wrappers suit your needs, - you can write your own; see <xref linkend="fdwhandler">. + is a foreign data wrapper available as a <file>contrib</file> module, + which can read plain data files residing on the server. Other kind of + foreign data wrappers might be found as third party products. If none of + the existing foreign data wrappers suit your needs, you can write your + own; see <xref linkend="fdwhandler">. </para> <para> diff --git a/doc/src/sgml/fdwhandler.sgml b/doc/src/sgml/fdwhandler.sgml index fc07f129b79..c8ae861852a 100644 --- a/doc/src/sgml/fdwhandler.sgml +++ b/doc/src/sgml/fdwhandler.sgml @@ -179,6 +179,17 @@ IterateForeignScan (ForeignScanState *node); are not needed, you should insert nulls in those column positions. </para> + <para> + Note that <productname>PostgreSQL</productname>'s executor doesn't care + whether the rows returned violate the <literal>NOT NULL</literal> + constraints which were defined on the foreign table columns - but the + planner does care, and may optimize queries incorrectly if + <literal>NULL</> values are present in a column declared not to contain + them. If a <literal>NULL</> value is encountered when the user has + declared that none should be present, it may be appropriate to raise an + error (just as you would need to do in the case of a data type mismatch). + </para> + <para> <programlisting> void [parent: 13000b44d606]