Commit 7cbe57c
committed
Offer triggers on foreign tables.
This covers all the SQL-standard trigger types supported for regular
tables; it does not cover constraint triggers. The approach for
acquiring the old row mirrors that for view INSTEAD OF triggers. For
AFTER ROW triggers, we spool the foreign tuples to a tuplestore.
This changes the FDW API contract; when deciding which columns to
populate in the slot returned from data modification callbacks, writable
FDWs will need to check for AFTER ROW triggers in addition to checking
for a RETURNING clause.
In support of the feature addition, refactor the TriggerFlags bits and
the assembly of old tuples in ModifyTable.
Ronan Dunklau, reviewed by KaiGai Kohei; some additional hacking by me.1 parent 6115480 commit 7cbe57c
File tree
14 files changed
+1145
-202
lines changed- contrib/postgres_fdw
- expected
- sql
- doc/src/sgml
- ref
- src
- backend
- commands
- executor
- rewrite
- include/commands
- test/regress
- expected
- sql
14 files changed
+1145
-202
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
110 | 110 | | |
111 | 111 | | |
112 | 112 | | |
| 113 | + | |
113 | 114 | | |
114 | 115 | | |
115 | 116 | | |
| |||
875 | 876 | | |
876 | 877 | | |
877 | 878 | | |
878 | | - | |
879 | | - | |
880 | | - | |
881 | | - | |
882 | | - | |
| 879 | + | |
| 880 | + | |
| 881 | + | |
883 | 882 | | |
884 | 883 | | |
885 | 884 | | |
| |||
919 | 918 | | |
920 | 919 | | |
921 | 920 | | |
922 | | - | |
923 | | - | |
924 | | - | |
925 | | - | |
926 | | - | |
| 921 | + | |
| 922 | + | |
| 923 | + | |
927 | 924 | | |
928 | 925 | | |
929 | 926 | | |
| |||
943 | 940 | | |
944 | 941 | | |
945 | 942 | | |
946 | | - | |
947 | | - | |
948 | | - | |
949 | | - | |
950 | | - | |
| 943 | + | |
| 944 | + | |
| 945 | + | |
951 | 946 | | |
952 | 947 | | |
953 | 948 | | |
954 | | - | |
| 949 | + | |
955 | 950 | | |
956 | 951 | | |
957 | 952 | | |
958 | 953 | | |
| 954 | + | |
959 | 955 | | |
960 | 956 | | |
961 | 957 | | |
962 | | - | |
| 958 | + | |
963 | 959 | | |
964 | | - | |
965 | | - | |
966 | | - | |
967 | | - | |
968 | | - | |
969 | | - | |
| 960 | + | |
| 961 | + | |
| 962 | + | |
| 963 | + | |
| 964 | + | |
| 965 | + | |
970 | 966 | | |
971 | | - | |
972 | | - | |
973 | | - | |
| 967 | + | |
| 968 | + | |
| 969 | + | |
| 970 | + | |
| 971 | + | |
| 972 | + | |
| 973 | + | |
| 974 | + | |
| 975 | + | |
| 976 | + | |
| 977 | + | |
| 978 | + | |
| 979 | + | |
| 980 | + | |
| 981 | + | |
| 982 | + | |
| 983 | + | |
| 984 | + | |
974 | 985 | | |
975 | 986 | | |
976 | 987 | | |
| |||
0 commit comments