Re: Schema variables - new implementation for Postgres 15 - Mailing list pgsql-hackers

From Dmitry Dolgov
Subject Re: Schema variables - new implementation for Postgres 15
Date
Msg-id 20221030180542.ps67eizaxyno7sd3@ddolgov.remote.csb
Whole thread Raw
In response to Re: Schema variables - new implementation for Postgres 15  (Pavel Stehule <pavel.stehule@gmail.com>)
Responses Re: Schema variables - new implementation for Postgres 15  (Pavel Stehule <pavel.stehule@gmail.com>)
List pgsql-hackers
> On Thu, Oct 13, 2022 at 07:41:32AM +0200, Pavel Stehule wrote:
>  rebased with simplified code related to usage of pfree function

Thanks for the patch, great work!

I've got a couple of questions, although I haven't fully finished reviewing yet
(so more to come):

* I'm curious about ALTER VARIABLE. Current implementation allows altering only
  the name, schema or the owner -- why not e.g. immutability?

* psql tab completion implementation mentions that CREATE VARIABLE could be
  used inside CREATE SCHEMA:

    /* CREATE VARIABLE --- is allowed inside CREATE SCHEMA, so use TailMatches */
    /* Complete CREATE VARIABLE <name> with AS */
    else if (TailMatches("IMMUTABLE"))

  Is that correct? It doesn't like it works, and from what I see it requires
  some modifications in transformCreateSchemaStmt and schema_stmt.

* psql describe mentions the following:

    /*
     * Most functions in this file are content to print an empty table when
     * there are no matching objects.  We intentionally deviate from that
     * here, but only in !quiet mode, for historical reasons.
     */

  I guess it's taken from listTables, and the extended versions says "because
  of the possibility that the user is confused about what the two pattern
  arguments mean". Are those historical reasons apply to variables as well?



pgsql-hackers by date:

Previous
From: Simon Riggs
Date:
Subject: Re: Code checks for App Devs, using new options for transaction behavior
Next
From: Pavel Stehule
Date:
Subject: Re: Schema variables - new implementation for Postgres 15