Re: [PATCH] Add additional extended protocol commands to psql: \parse and \bind

From: Michael Paquier <michael(at)paquier(dot)xyz>
To: Anthonin Bonnefoy <anthonin(dot)bonnefoy(at)datadoghq(dot)com>
Cc: Alexander Lakhin <exclusion(at)gmail(dot)com>, Jelte Fennema-Nio <postgres(at)jeltef(dot)nl>, Peter Eisentraut <peter(at)eisentraut(dot)org>, Tomas Vondra <tomas(dot)vondra(at)enterprisedb(dot)com>, vignesh C <vignesh21(at)gmail(dot)com>, PostgreSQL Hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: [PATCH] Add additional extended protocol commands to psql: \parse and \bind
Date: 2024-09-18 09:08:54
Message-ID: ZuqYpuT-1qgt4-1N@paquier.xyz
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Wed, Sep 18, 2024 at 09:42:43AM +0200, Anthonin Bonnefoy wrote:
> Looking at the failure, it seems like the issue was already present
> with \bind, though there was no assertion failure: repeatedly calling
> \bind would allocate new stmtName/bind_params and leak them at the
> start of exec_command_bind.

Indeed. That's a bad idea to do that in the client. We'd better
back-patch that.

> I've joined a patch to clean the psql extended state at the start of
> every extended protocol backslash command, freeing the allocated
> variables and resetting the send_mode. Another possible approach would
> be to return an error when there's already an existing state instead
> of overwriting it.

I'll double-check all that tomorrow, but you have looks like it is
going in the right direction.
--
Michael

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message shveta malik 2024-09-18 09:19:00 Re: Introduce XID age and inactive timeout based replication slot invalidation
Previous Message Michael Paquier 2024-09-18 09:06:50 Re: Separate HEAP WAL replay logic into its own file