Thread

Commits

  1. Allow a rule on partitioned table to be renamed.

  1. RENAME RULE doesn't work with partitioned tables

    Amit Langote <langote_amit_f8@lab.ntt.co.jp> — 2017-04-11T09:54:34Z

    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
    
  2. Re: RENAME RULE doesn't work with partitioned tables

    Robert Haas <robertmhaas@gmail.com> — 2017-04-11T17:20:06Z

    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
    
    
    
  3. Re: RENAME RULE doesn't work with partitioned tables

    Amit Langote <langote_amit_f8@lab.ntt.co.jp> — 2017-04-12T01:17:52Z

    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