postgresql/src/backend
Etsuro Fujita d50d172e51 postgres_fdw: Perform the (FINAL, NULL) upperrel operations remotely.
The upper-planner pathification allows FDWs to arrange to push down
different types of upper-stage operations to the remote side.  This
commit teaches postgres_fdw to do it for the (FINAL, NULL) upperrel,
which is responsible for doing LockRows, LIMIT, and/or ModifyTable.
This provides the ability for postgres_fdw to handle SELECT commands
so that it 1) skips the LockRows step (if any) (note that this is
safe since it performs early locking) and 2) pushes down the LIMIT
and/or OFFSET restrictions (if any) to the remote side.  This doesn't
handle the INSERT/UPDATE/DELETE cases.

Author: Etsuro Fujita
Reviewed-By: Antonin Houska and Jeff Janes
Discussion: https://postgr.es/m/87pnz1aby9.fsf@news-spur.riddles.org.uk
2019-04-02 20:30:45 +09:00
..
access Add wal_recycle and wal_init_zero GUCs. 2019-04-02 14:37:14 +13:00
bootstrap tableam: relation creation, VACUUM FULL/CLUSTER, SET TABLESPACE. 2019-03-28 20:01:43 -07:00
catalog Improve documentation about our XML functionality. 2019-04-01 16:20:22 -04:00
commands tableam: Add table_finish_bulk_insert(). 2019-04-01 14:41:42 -07:00
executor tableam: bitmap table scan. 2019-03-31 18:37:57 -07:00
foreign Update copyright for 2019 2019-01-02 12:44:25 -05:00
jit Renaming for new subscripting mechanism 2019-02-01 12:50:32 -03:00
lib Further code review for new integerset code. 2019-03-25 12:23:48 -04:00
libpq Add DNS SRV support for LDAP server discovery. 2019-03-21 15:28:17 +13:00
main Replace @postgresql.org with @lists.postgresql.org for mailinglists 2019-01-19 19:06:35 +01:00
nodes Generated columns 2019-03-30 08:15:57 +01:00
optimizer postgres_fdw: Perform the (FINAL, NULL) upperrel operations remotely. 2019-04-02 20:30:45 +09:00
parser Catch syntax error in generated column definition 2019-04-01 10:46:37 +02:00
partitioning Speed up planning when partitions can be pruned at plan time. 2019-03-30 18:58:55 -04:00
po Translation updates 2018-06-25 12:37:18 +02:00
port Add shared_memory_type GUC. 2019-02-03 12:47:26 +01:00
postmaster Add macro to cast away volatile without allowing changes to underlying type 2019-03-25 09:37:03 +01:00
regex Collations with nondeterministic comparison 2019-03-22 12:12:43 +01:00
replication Generated columns 2019-03-30 08:15:57 +01:00
rewrite Perform RLS subquery checks as the right user when going via a view. 2019-04-02 08:13:59 +01:00
snowball Update copyright for 2019 2019-01-02 12:44:25 -05:00
statistics Fix thinko in allocation call during MVC list deserialization 2019-04-01 14:16:27 +09:00
storage Add basic infrastructure for 64 bit transaction IDs. 2019-03-28 18:12:20 +13:00
tcop REINDEX CONCURRENTLY 2019-03-29 08:26:33 +01:00
tsearch Move hash_any prototype from access/hash.h to utils/hashutils.h 2019-03-11 13:17:50 -03:00
utils Add wal_recycle and wal_init_zero GUCs. 2019-04-02 14:37:14 +13:00
.gitignore Add .gitignore entries for AIX-specific intermediate build artifacts. 2015-07-08 20:44:22 -04:00
Makefile Get rid of jsonpath_gram.h and jsonpath_scanner.h 2019-03-20 11:13:34 +03:00
common.mk Remove PARTIAL_LINKING build mode. 2018-03-30 17:33:04 -07:00
nls.mk Translation updates 2018-06-25 12:37:18 +02:00