diff --git a/doc/src/sgml/ddl.sgml b/doc/src/sgml/ddl.sgml index 9709dd6..09d7a24 100644 *** a/doc/src/sgml/ddl.sgml --- b/doc/src/sgml/ddl.sgml *************** ANALYZE measurement; *** 3021,3030 **** foreign data wrapper. 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 . --- 3021,3031 ---- foreign data wrapper. 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 ! is a foreign data wrapper available as a contrib 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 . diff --git a/doc/src/sgml/fdwhandler.sgml b/doc/src/sgml/fdwhandler.sgml index fc07f12..f1318d7 100644 *** a/doc/src/sgml/fdwhandler.sgml --- b/doc/src/sgml/fdwhandler.sgml *************** IterateForeignScan (ForeignScanState *no *** 180,185 **** --- 180,193 ---- + Note that PostgreSQL's executor doesn't care + whether the rows returned violate the NOT NULL constraints which were + defined on the foreign table columns. If you want to make the FDW that + enforce NOT NULL constraints, you need to raise an error when a result + data fetched from the foreign source violates the constraint. + + + void ReScanForeignScan (ForeignScanState *node);