Re: Bug fix for psql's meta-command \ev - Mailing list pgsql-hackers

From Kyotaro Horiguchi
Subject Re: Bug fix for psql's meta-command \ev
Date
Msg-id 20230915.151750.1163612305682721014.horikyota.ntt@gmail.com
Whole thread Raw
In response to Bug fix for psql's meta-command \ev  (Ryoga Yoshida <bt23yoshidar@oss.nttdata.com>)
Responses Re: Bug fix for psql's meta-command \ev
List pgsql-hackers
At Fri, 15 Sep 2023 11:37:46 +0900, Ryoga Yoshida <bt23yoshidar@oss.nttdata.com> wrote in 
> I think this is a bug in psql's \ev meta-command. Even when \ev fails,
> it should not leave the garbage string in psql's query buffer and the
> following query should be completed successfully.

Good catch! I agree to this.

> This problem can be resolved by resetting the query buffer on
> error. You can see the attached source code. After that, it will
> result in output like the following:

While exec_command_ef_ev() currently preserves the existing content of
the query buffer in case of certain failures, This behavior doesn't
seem to be particularly significant, especially given that both \ef
and \ev are intended to overwrite the query buffer on success.

We have the option to fix get_create_object_cmd() and ensure
exec_command_ef_ev() retains the existing content of the query buffer
on failure. However, this approach seems like overly cumbersome. So
I'm +1 to this approach.

A comment might be necessary to clarify that we need to wipe out the
query buffer because it could be overwritten with an incomplete query
string due to certain failures.

regards.

-- 
Kyotaro Horiguchi
NTT Open Source Software Center



pgsql-hackers by date:

Previous
From: Amit Kapila
Date:
Subject: Re: [PoC] pg_upgrade: allow to upgrade publisher node
Next
From: "Lepikhov Andrei"
Date:
Subject: Re: RFC: Logging plan of the running query