Thread

Commits

  1. Un-break whole-row Vars referencing domain-over-composite types.

  1. BUG #17515: Change in behaviour of a composite type within a domain

    The Post Office <noreply@postgresql.org> — 2022-06-09T20:42:22Z

    The following bug has been logged on the website:
    
    Bug reference:      17515
    Logged by:          Dan Kubb
    Email address:      dan.kubb@gmail.com
    PostgreSQL version: 14.3
    Operating system:   All
    Description:        
    
    I noticed a regression in 13.7 and 14.3 in the behaviour of composite types
    within a domain. Here is a simplified reproduction:
    
    BEGIN;
    
    -- Create composite type
    CREATE TYPE my_composite_type AS (
      col1 boolean,
      col2 boolean
    );
    
    -- Create domain wrapping the composite type
    CREATE DOMAIN my_domain AS my_composite_type NOT NULL;
    
    -- Create function to test composite type
    CREATE FUNCTION test_my_composite_type()
    RETURNS my_composite_type
    LANGUAGE sql
    AS $$
      SELECT (true, true)
    $$;
    
    -- Create function to test domain
    CREATE FUNCTION test_my_domain()
    RETURNS my_domain
    LANGUAGE sql
    AS $$
      SELECT (true, true)
    $$;
    
    -- Works on 13.6/14.2 and 13.7/14.3
    SELECT test_my_composite_type FROM test_my_composite_type();
    
    -- Works on 13.6/14.2, but pg 13.7/14.3 this returns the error:
    -- ERROR:  type my_domain is not composite
    SELECT test_my_domain FROM test_my_domain();
    
    ROLLBACK;
    
    -- 
    
    Dan Kubb
    
    
  2. Re: BUG #17515: Change in behaviour of a composite type within a domain

    Tom Lane <tgl@sss.pgh.pa.us> — 2022-06-10T13:51:27Z

    PG Bug reporting form <noreply@postgresql.org> writes:
    > I noticed a regression in 13.7 and 14.3 in the behaviour of composite types
    > within a domain. Here is a simplified reproduction:
    
    Argh, looks like I broke this in ec62cb0aa.  Will fix, thanks for
    the report!
    
    			regards, tom lane