On Thu, Sep 23, 2021 at 10:33 PM Tomas Vondra <tomas.von...@enterprisedb.com> wrote: > > Hi, > > I finally had time to take a closer look at the patch again, so here's > some review comments. The thread is moving fast, so chances are some of > the comments are obsolete or were already raised in the past. > > ...
> 10) WHERE expression vs. data type > > Seem ATExecAlterColumnType might need some changes, because changing a > data type for column referenced by the expression triggers this: > > test=# alter table t alter COLUMN c type text; > ERROR: unexpected object depending on column: publication of > table t in publication p > > I reproduced this same error message using the following steps. [postgres@CentOS7-x64 ~]$ psql -d test_pub psql (15devel) Type "help" for help. test_pub=# create table t1(a text primary key); CREATE TABLE test_pub=# create publication p1 for table t1 where (a = '123'); CREATE PUBLICATION test_pub=# \d+ t1 Table "public.t1" Column | Type | Collation | Nullable | Default | Storage | Compression | Stats target | Description --------+------+-----------+----------+---------+----------+-------------+------ --------+------------- a | text | | not null | | extended | | | Indexes: "t1_pkey" PRIMARY KEY, btree (a) Publications: "p1" WHERE (a = '123'::text) Access method: heap test_pub=# alter table t1 alter column a type varchar; 2022-01-10 08:39:52.106 AEDT [2066] ERROR: unexpected object depending on column: publication of table t1 in publication p1 2022-01-10 08:39:52.106 AEDT [2066] STATEMENT: alter table t1 alter column a type varchar; ERROR: unexpected object depending on column: publication of table t1 in publication p1 test_pub=# ~~ But the message looks OK. What exactly was your expectation for this review comment? ------ Kind Regards, Peter Smith. Fujitsu Australia.