postgresql/src/backend/commands
Alvaro Herrera cd073d8f70 Fix FK checks of TRUNCATE involving partitioned tables
When truncating a table that is referenced by foreign keys in
partitioned tables, the check to ensure the referencing table are also
truncated spuriously failed.  This is because it was relying on
relhastriggers as a proxy for the table having FKs, and that's wrong for
partitioned tables.  Fix it to consider such tables separately.  There
may be a better way ... but this code is pretty inefficient already.

Author: Álvaro Herrera <alvherre@alvh.no-ip.org>
Reviewed-by: Michael Paquiër <michael@paquier.xyz>
Discussion: https://postgr.es/m/20180711000624.zmeizicibxeehhsg@alvherre.pgsql
2018-07-12 12:09:08 -04:00
..
aggregatecmds.c Improve spelling of new FINALFUNC_MODIFY aggregate attribute. 2018-05-21 11:41:42 -04:00
alter.c Post-feature-freeze pgindent run. 2018-04-26 14:47:16 -04:00
amcmds.c Update copyright for 2018 2018-01-02 23:30:12 -05:00
analyze.c Rename VACOPT_NOWAIT to VACOPT_SKIP_LOCKED 2018-07-12 14:28:28 +09:00
async.c Update copyright for 2018 2018-01-02 23:30:12 -05:00
cluster.c Post-feature-freeze pgindent run. 2018-04-26 14:47:16 -04:00
collationcmds.c Merge catalog/pg_foo_fn.h headers back into pg_foo.h headers. 2018-04-08 14:35:29 -04:00
comment.c Update copyright for 2018 2018-01-02 23:30:12 -05:00
constraint.c Update copyright for 2018 2018-01-02 23:30:12 -05:00
conversioncmds.c Merge catalog/pg_foo_fn.h headers back into pg_foo.h headers. 2018-04-08 14:35:29 -04:00
copy.c Don't needlessly check the partition contraint twice 2018-06-11 17:12:16 -04:00
createas.c Update copyright for 2018 2018-01-02 23:30:12 -05:00
dbcommands.c Rename TransactionChain functions 2018-03-16 13:18:06 -04:00
define.c Update copyright for 2018 2018-01-02 23:30:12 -05:00
discard.c Rename TransactionChain functions 2018-03-16 13:18:06 -04:00
dropcmds.c Fix more wrong paths in header comments 2018-07-11 17:57:04 +03:00
event_trigger.c Post-feature-freeze pgindent run. 2018-04-26 14:47:16 -04:00
explain.c Clean up warnings from -Wimplicit-fallthrough. 2018-05-01 19:35:08 -04:00
extension.c Replace AclObjectKind with ObjectType 2018-01-19 14:01:15 -05:00
foreigncmds.c Replace AclObjectKind with ObjectType 2018-01-19 14:01:15 -05:00
functioncmds.c Add UtilityReturnsTuples() support for CALL 2018-07-09 13:58:08 +02:00
indexcmds.c pgindent run prior to branching 2018-06-30 12:25:49 -04:00
lockcmds.c Post-feature-freeze pgindent run. 2018-04-26 14:47:16 -04:00
Makefile Implement multivariate n-distinct coefficients 2017-03-24 14:06:10 -03:00
matview.c Indexes with INCLUDE columns and their support in B-tree 2018-04-07 23:00:39 +03:00
opclasscmds.c Support all SQL:2011 options for window frame clauses. 2018-02-07 00:06:56 -05:00
operatorcmds.c Merge catalog/pg_foo_fn.h headers back into pg_foo.h headers. 2018-04-08 14:35:29 -04:00
policy.c Post-feature-freeze pgindent run. 2018-04-26 14:47:16 -04:00
portalcmds.c Post-feature-freeze pgindent run. 2018-04-26 14:47:16 -04:00
prepare.c Revert MERGE patch 2018-04-12 11:22:56 +01:00
proclang.c Merge catalog/pg_foo_fn.h headers back into pg_foo.h headers. 2018-04-08 14:35:29 -04:00
publicationcmds.c Merge catalog/pg_foo_fn.h headers back into pg_foo.h headers. 2018-04-08 14:35:29 -04:00
schemacmds.c Replace AclObjectKind with ObjectType 2018-01-19 14:01:15 -05:00
seclabel.c Update copyright for 2018 2018-01-02 23:30:12 -05:00
sequence.c Combine options for RangeVarGetRelidExtended() into a flags argument. 2018-03-30 17:05:16 -07:00
statscmds.c Post-feature-freeze pgindent run. 2018-04-26 14:47:16 -04:00
subscriptioncmds.c Split the SetSubscriptionRelState function into two 2018-04-06 10:00:26 -04:00
tablecmds.c Fix FK checks of TRUNCATE involving partitioned tables 2018-07-12 12:09:08 -04:00
tablespace.c Refactor dir/file permissions 2018-04-07 17:45:39 -04:00
trigger.c Allow using the updated tuple while moving it to a different partition. 2018-07-12 12:51:39 +05:30
tsearchcmds.c Avoid unnecessary use of pg_strcasecmp for already-downcased identifiers. 2018-01-26 18:25:14 -05:00
typecmds.c Fix a couple minor typos 2018-04-20 19:04:54 -04:00
user.c Replace AclObjectKind with ObjectType 2018-01-19 14:01:15 -05:00
vacuum.c Rename VACOPT_NOWAIT to VACOPT_SKIP_LOCKED 2018-07-12 14:28:28 +09:00
vacuumlazy.c Further cleanup of client dependencies on src/include/catalog headers. 2018-04-09 14:39:58 -04:00
variable.c Update copyright for 2018 2018-01-02 23:30:12 -05:00
view.c Avoid unnecessary use of pg_strcasecmp for already-downcased identifiers. 2018-01-26 18:25:14 -05:00