Re: Composite types for updatable views - Mailing list pgsql-hackers

From DINESH NAIR
Subject Re: Composite types for updatable views
Date
Msg-id PN4P287MB4381C64F2E171B2FAF8A28409C56A@PN4P287MB4381.INDP287.PROD.OUTLOOK.COM
Whole thread Raw
In response to Composite types for updatable views  (Malthe <mborch@gmail.com>)
List pgsql-hackers

Hi , 
        Yes, i  agree with the statement below , a column is updatable if it is a simple reference to an updatable column of the underlying base relation . View updatability for composite types (being derived construct) will pose challenges

Possible temporary work around is:



        Caution: This email was sent from an external source. Please verify the sender’s identity before clicking links or opening attachments.
While simple views are automatically updatable [1], this does not extend to composite types; that is, if a view constructs a composite type for one or more columns, this column then is not updatable:

> A column is updatable if it is a simple reference to an updatable column of the underlying base relation

It would seem simple enough to support composite types if the view column is constructed using row expression in which each field is "a simple reference to an updatable column".

As a practical example, this could enable geometric types being exposed at the view layer, but supported in an underlying table by primitive types.



Thanks 

Dinesh Nair



From: Malthe <mborch@gmail.com>
Sent: Wednesday, July 16, 2025 5:36 PM
To: Postgres hackers <pgsql-hackers@lists.postgresql.org>
Subject: Composite types for updatable views
 
You don't often get email from mborch@gmail.com. Learn why this is important
Caution: This email was sent from an external source. Please verify the sender’s identity before clicking links or opening attachments.
While simple views are automatically updatable [1], this does not extend to composite types; that is, if a view constructs a composite type for one or more columns, this column then is not updatable:

> A column is updatable if it is a simple reference to an updatable column of the underlying base relation

It would seem simple enough to support composite types if the view column is constructed using row expression in which each field is "a simple reference to an updatable column".

As a practical example, this could enable geometric types being exposed at the view layer, but supported in an underlying table by primitive types.

pgsql-hackers by date:

Previous
From: Andres Freund
Date:
Subject: Re: index prefetching
Next
From: Andres Freund
Date:
Subject: Re: index prefetching