Throw a more on-point error for publications depending on columns.
Same as 42b041243, except that the trouble case is a publication WHERE clause that depends on a column. Again reported by Alexander Lakhin. Back-patch to v15 where we added publication WHERE clauses. Discussion: https://postgr.es/m/548a47bc-87ae-b3df-c6a2-60b9966f808b@gmail.com
This commit is contained in:
parent
d45597f72f
commit
91e7115b17
@ -46,6 +46,7 @@
|
||||
#include "catalog/pg_opclass.h"
|
||||
#include "catalog/pg_policy.h"
|
||||
#include "catalog/pg_proc.h"
|
||||
#include "catalog/pg_publication_rel.h"
|
||||
#include "catalog/pg_rewrite.h"
|
||||
#include "catalog/pg_statistic_ext.h"
|
||||
#include "catalog/pg_tablespace.h"
|
||||
@ -14227,6 +14228,21 @@ RememberAllDependentForRebuilding(AlteredTableInfo *tab, AlterTableType subtype,
|
||||
RememberStatisticsForRebuilding(foundObject.objectId, tab);
|
||||
break;
|
||||
|
||||
case PublicationRelRelationId:
|
||||
|
||||
/*
|
||||
* Column reference in a PUBLICATION ... FOR TABLE ... WHERE
|
||||
* clause. Same issues as above. FIXME someday.
|
||||
*/
|
||||
if (subtype == AT_AlterColumnType)
|
||||
ereport(ERROR,
|
||||
(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
|
||||
errmsg("cannot alter type of a column used by a publication WHERE clause"),
|
||||
errdetail("%s depends on column \"%s\"",
|
||||
getObjectDescription(&foundObject, false),
|
||||
colName)));
|
||||
break;
|
||||
|
||||
default:
|
||||
|
||||
/*
|
||||
|
Loading…
x
Reference in New Issue
Block a user