From: | Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com> |
---|---|
To: | jian he <jian(dot)universality(at)gmail(dot)com> |
Cc: | Dmitry Dolgov <9erthalion6(at)gmail(dot)com>, Laurenz Albe <laurenz(dot)albe(at)cybertec(dot)at>, Erik Rijkers <er(at)xs4all(dot)nl>, Michael Paquier <michael(at)paquier(dot)xyz>, Amit Kapila <amit(dot)kapila16(at)gmail(dot)com>, DUVAL REMI <REMI(dot)DUVAL(at)cheops(dot)fr>, PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org> |
Subject: | Re: Re: proposal: schema variables |
Date: | 2024-12-29 08:42:11 |
Message-ID: | CAFj8pRAaoPCc=n_TPpWdOvzEdc96xfJZR8W7PphMLxLbGxAq-Q@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers pgsql-performance |
Hi
ne 29. 12. 2024 v 3:49 odesílatel jian he <jian(dot)universality(at)gmail(dot)com>
napsal:
> On Sun, Dec 29, 2024 at 5:50 AM Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com>
> wrote:
> >
> > Hi
> >
> >
> >> ------------------<<>>>---------------
> >> + else
> >> + {
> >> + /* the last field of list can be star too */
> >> + Assert(IsA(field2, A_Star));
> >> +
> >> + /*
> >> + * In this case, the field1 should be variable name. But
> >> + * direct unboxing of composite session variables is not
> >> + * supported now, and then we don't need to try lookup
> >> + * related variable.
> >> + *
> >> + * Unboxing is supported by syntax (var).*
> >> + */
> >> + return InvalidOid;
> >> + }
> >> I don't fully understand the above comments,
> >
> >
> > The parser allows only two syntaxes - identifier.identifier or
> identifier.star. Second
> > syntax is not supported by session variables, and then I didn't try to
> search for the variable.
> > Some users can be confused by similar syntaxes identifier.* and
> (identifier).* Only
> > second syntax is composite unboxing, and only second syntax is supported
> for
> > session variables.
> >
> > Maybe the note about unboxing is messy there?
> >
> >> add
> >> `elog(INFO, "%s:%d called", __FILE__, __LINE__); ` within the ELSE
> branch.
> >> Then I found out the ELSE branch doesn't have coverage tests.
> >
> >
> > I don't understand this comment? I don't use elog(INFO anywhere
> >
> >
>
> sorry for confusion, i mean,
> i added " elog(INFO", the regress test is still successful,
> therefore it means the above ELSE branch code doesn't have coverage tests.
>
yes, force this case can be little bit tricky
a) the variable should not be shadowed,
or session_variables_ambiguity_warning should be on
b) the transformColumnRef should be executed and the star symbol should be
in the list - it is possible for aggregate functions
SELECT count(v.*) FROM foo
I wrote requested regress tests
Regards
Pavel
From | Date | Subject | |
---|---|---|---|
Next Message | David Rowley | 2024-12-29 11:15:18 | Re: Query regarding pg_prewarm extension |
Previous Message | Jim Nasby | 2024-12-29 07:24:47 | Re: Add the ability to limit the amount of memory that can be allocated to backends. |
From | Date | Subject | |
---|---|---|---|
Next Message | Pavel Stehule | 2025-01-02 06:46:06 | Re: Re: proposal: schema variables |
Previous Message | Pavel Stehule | 2024-12-29 06:24:55 | Re: Re: proposal: schema variables |