Skip site navigation (1) Skip section navigation (2)

Re: Re [HACKERS]: Still not happy with psql's multiline history

From: "Sergey E(dot) Koposov" <math(at)sai(dot)msu(dot)ru>
To: Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us>
Cc: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, pgsql-patches(at)postgresql(dot)org
Subject: Re: Re [HACKERS]: Still not happy with psql's multiline history
Date: 2006-06-04 04:57:12
Message-ID: Pine.LNX.4.64.0606040848540.27473@lnfm1.sai.msu.ru (view raw or flat)
Thread:
Lists: pgsql-hackerspgsql-patches
On Sun, 4 Jun 2006, Bruce Momjian wrote:

> Sergey E. Koposov wrote:
>> Hello,
>>
>> I'm sending the patch fixing the \r bug:
>
> Funny, I just applied a simpler fix for the \r bug.  Please review it.
> Thanks.
>

It is simpler, because it behaves differently.
Your patch for the case:
wsdb=# select 
wsdb-# \r
Query buffer reset (cleared).

puts in the history two elements ("\r" and "select")

Mine puts only "\r", just because 
<quote>  \r             reset (clear) the query buffer</quote>
and I think that's reasonable, but I don't insist...


> I am confused by the \e bug.  I just tried 8.1.X and it seems to behave
> the same as CVS HEAD.  What exactly should it do?
>

It is not actually a bug, I think it's a Tom's habit. 
In 8.1.x if  you type for example  in the editor "select 1+" and exit from
it, the "select 1+" string will be already in the history. But in CVS HEAD
it will be saved internally, but it won't be shown in the history until the
user finishes the command with ';'. And there is really no need for
correcting that, I think.

Regards,
 	Sergey


> ---------------------------------------------------------------------------
>
>
>>
>> On Wed, 31 May 2006, Tom Lane wrote:
>>
>>> The example that seriously sucks is:
>>>
>>> regression=# select foo ...
>>> regression-# \r
>>> Query buffer reset (cleared).
>>> now control-P brings back:
>>> regression=# select foo ...
>>> \r
>>
>> In my fix the currently-written query is completely erased if \r is
>> invoked. I think that's the most logic behavior.
>> So, the example of work:
>>
>> wsdb=# select 1;
>>   ?column?
>> ----------
>>          1
>> (1 row)
>>
>> wsdb=# select
>> wsdb-# \r
>> Query buffer reset (cleared).
>> wsdb=#
>> Control-P now brings back:
>> wsdb=# \r
>>
>> Another Control-P brings back:
>> wsdb=# select 1;
>>
>>
>>> Also, \e is seriously broken: after you edit the text and exit the
>>> editor, the text is not reloaded into the visible display (although it
>>> does seem to still be "behind the scenes" somewhere).
>>
>> For that part, I currently do not see the possible fix, and I don't even
>> think that it should be fixed, because there with current multi-line
>> implementation there is no need for that.
>>
>> For example, when we do
>> wsdb=# select 1+
>> wsdb-#
>> And press Control-P , the string "select 1+" is not in the history, and
>> there is no need for that.
>>
>> And in the case of \e editing, if in the external editor we have typed
>> the incomplete query like "select 1+", the situation will be exactly the
>> same and for the same reason...
>>
>> So, I don't think, that this require fixing. In principal, probably it is
>> possible to fix that in a different way:
>> Suppose we executed the \e command and in the external editor we typed
>> "select 1 +". And after the exit from the editor, psql produce
>> wsdb=# select 1 +
>> (and put cursor in the end of the line).
>>
>> That can be reasonable (I'm not sure that it's possible to do that with
>> readline, but should be).
>> But I would consider that as a new feature (probably not very useful), not
>> as a bug fix.
>>
>> Regards,
>>  	Sergey
>>
>> *******************************************************************
>> Sergey E. Koposov
>> Max Planck Institute for Astronomy/Sternberg Astronomical Institute
>> Tel: +49-6221-528-349      Web: http://lnfm1.sai.msu.ru/~math
>> E-mail: math(at)sai(dot)msu(dot)ru
>
> Content-Description:
>
> [ Attachment, skipping... ]
>
> --
>  Bruce Momjian   http://candle.pha.pa.us
>  EnterpriseDB    http://www.enterprisedb.com
>
>  + If your life is a hard drive, Christ can be your backup. +
>

*******************************************************************
Sergey E. Koposov
Max Planck Institute for Astronomy/Sternberg Astronomical Institute
Tel: +49-6221-528-349
Web: http://lnfm1.sai.msu.ru/~math
E-mail: math(at)sai(dot)msu(dot)ru

In response to

Responses

pgsql-hackers by date

Next:From: Greg StarkDate: 2006-06-04 06:38:25
Subject: Re: More thoughts about planner's cost estimates
Previous:From: Bruce MomjianDate: 2006-06-04 04:45:55
Subject: Re: Re [HACKERS]: Still not happy with psql's multiline history behavior

pgsql-patches by date

Next:From: Bruce MomjianDate: 2006-06-05 03:55:29
Subject: Re: Re [HACKERS]: Still not happy with psql's multiline history behavior
Previous:From: Bruce MomjianDate: 2006-06-04 04:45:55
Subject: Re: Re [HACKERS]: Still not happy with psql's multiline history behavior

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group