Re: psql: Add command to use extended query protocol

Поиск
Список
Период
Сортировка
От Jehan-Guillaume de Rorthais
Тема Re: psql: Add command to use extended query protocol
Дата
Msg-id 20221102172435.4e8afb2d@karst
обсуждение исходный текст
Ответ на Re: psql: Add command to use extended query protocol  ("Daniel Verite" <daniel@manitou-mail.org>)
Список pgsql-hackers
On Wed, 02 Nov 2022 16:04:02 +0100
"Daniel Verite" <daniel@manitou-mail.org> wrote:

>     Jehan-Guillaume de Rorthais wrote:
> 
> > As I wrote in my TCE review, would it be possible to use psql vars to set
> > some named parameters for the prepared query? This would looks like:
> > 
> >  \set p1 foo
> >  \set p2 bar
> >  SELECT :'p1', :'p2' \gp  
> 
> As I understand the feature, variables would be passed like this:
> 
> \set var1 'foo bar'
> \set var2 'baz''qux'
> 
> select $1, $2 \gp :var1 :var2
> 
>  ?column? | ?column? 
> ----------+----------
>  foo bar  | baz'qux
> 
> It appears to work fine with the current patch.

Indeed, nice.

> This is consistent with the fact that PQexecParams passes $N
> parameters ouf of the SQL query (versus injecting them in the text of
> the query)

I was not thinking about injecting them in the texte of the query, this
would not be using the extended protocol anymore, or maybe with no parameter,
but there's no point.

What I was thinking about is psql replacing the variables from the query text
with the $N notation before sending it using PQprepare.

> which is also why no quoting is needed.

Indeed, the quotes were not needed in my example.

Thanks,



В списке pgsql-hackers по дате отправления:

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: spinlock support on loongarch64
Следующее
От: Tom Lane
Дата:
Сообщение: Re: Segfault on logical replication to partitioned table with foreign children