Re: SYSTEM_USER reserved word implementation - Mailing list pgsql-hackers

From Drouvot, Bertrand
Subject Re: SYSTEM_USER reserved word implementation
Date
Msg-id e7972fb0-2a29-45d6-b036-52f96b93afe9@gmail.com
Whole thread Raw
In response to Re: SYSTEM_USER reserved word implementation  (Michael Paquier <michael@paquier.xyz>)
Responses Re: SYSTEM_USER reserved word implementation
List pgsql-hackers
Hi,

On 9/8/22 3:17 AM, Michael Paquier wrote:
> On Wed, Sep 07, 2022 at 08:48:43AM -0700, Jacob Champion wrote:
> 
>> We could pass the bare auth_method index, or update the documentation
>> for auth_method to state that it's guaranteed to be zero if authn_id is
>> NULL (and then enforce that).
>>
>>>          case SVFOP_CURRENT_USER:
>>>          case SVFOP_USER:
>>>          case SVFOP_SESSION_USER:
>>> +       case SVFOP_SYSTEM_USER:
>>>          case SVFOP_CURRENT_CATALOG:
>>>          case SVFOP_CURRENT_SCHEMA:
>>>              svf->type = NAMEOID;
>>
>> Should this be moved to use TEXTOID instead?
> 
> Yeah, it should.  There is actually a second and much deeper issue
> here, in the shape of a collation problem.  See the assertion failure
> in exprSetCollation(), because we expect SQLValueFunction nodes to
> return a name or a non-collatable type.  However, for this case, we'd
> require a text to get rid of the 63-character limit, and that's
> a collatable type.  This reminds me of the recent thread to work on
> getting rid of this limit for the name type..

Please find attached V4 taking care of Jacob's previous comments.

As far the assertion failure mentioned by Michael when moving the 
SVFOP_SYSTEM_USER from NAMEOID to TEXTOID: V4 is assuming that it is 
safe to force the collation to C_COLLATION_OID for SQLValueFunction 
having a TEXT type, but I would be happy to also hear your thoughts 
about it.

Regards,

-- 
Bertrand Drouvot
PostgreSQL Contributors Team
RDS Open Source Databases
Amazon Web Services: https://aws.amazon.com
Attachment

pgsql-hackers by date:

Previous
From: "Drouvot, Bertrand"
Date:
Subject: Re: pg_stat_have_stats() returns true for dropped indexes (or for index creation transaction rolled back)
Next
From: Bharath Rupireddy
Date:
Subject: Avoid memory leaks during base backups