Обсуждение: [HACKERS] RENAME RULE doesn't work with partitioned tables
Just noticed that RangeVarCallbackForRenameRule() was not updated to handle partitioned tables, causing the following bug: create table parted_table (a int) partition by list (a); create table part partition of parted_table for values in (1); create rule parted_table_insert as on insert to parted_table do instead insert into part values (new.*); alter rule parted_table_insert on parted_table rename to parted_table_insert_redirect; -- ERROR: "parted_table" is not a table or view Attached fixes this and adds a test. Added to open items list. Thanks, Amit -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers
Вложения
On Tue, Apr 11, 2017 at 5:54 AM, Amit Langote <Langote_Amit_f8@lab.ntt.co.jp> wrote: > Just noticed that RangeVarCallbackForRenameRule() was not updated to > handle partitioned tables, causing the following bug: > > create table parted_table (a int) partition by list (a); > create table part partition of parted_table for values in (1); > create rule parted_table_insert as on insert to parted_table > do instead insert into part values (new.*); > alter rule parted_table_insert on parted_table > rename to parted_table_insert_redirect; > -- ERROR: "parted_table" is not a table or view > > Attached fixes this and adds a test. Added to open items list. Committed. -- Robert Haas EnterpriseDB: http://www.enterprisedb.com The Enterprise PostgreSQL Company
On 2017/04/12 2:20, Robert Haas wrote: > On Tue, Apr 11, 2017 at 5:54 AM, Amit Langote > <Langote_Amit_f8@lab.ntt.co.jp> wrote: >> Just noticed that RangeVarCallbackForRenameRule() was not updated to >> handle partitioned tables, causing the following bug: >> >> create table parted_table (a int) partition by list (a); >> create table part partition of parted_table for values in (1); >> create rule parted_table_insert as on insert to parted_table >> do instead insert into part values (new.*); >> alter rule parted_table_insert on parted_table >> rename to parted_table_insert_redirect; >> -- ERROR: "parted_table" is not a table or view >> >> Attached fixes this and adds a test. Added to open items list. > > Committed. Thanks. Regards, Amit