Re: [HACKERS] psql problem
От | Chris Bitmead |
---|---|
Тема | Re: [HACKERS] psql problem |
Дата | |
Msg-id | 38AB7C96.F0F1F37F@nimrod.itg.telecom.com.au обсуждение исходный текст |
Ответ на | Re: [HACKERS] psql problem (Bruce Momjian <pgman@candle.pha.pa.us>) |
Список | pgsql-hackers |
There are two issues. One is what happens when there is something in the buffer and I hit ^C. Intuitively I think I should get back to a "sane" state ready for a new query. I mean I start off typing a long query, then I change my mind I want ^C to get me a clear prompt. What used to happen is it says "CANCEL request sent". Then I think "ok I'll put in a different query". but that doesn't work. Maybe \r was the correct command but I never took the time to learn that. The other issue is what happens if I'm just at a prompt, I don't think it should exit on ^C. Basicly this is because I'm familiar with the way /bin/sh works and I wish psql had the same semantics. Tom Lane wrote: > > >> What? Are you saying that control-C doesn't do a \r (reset the > >> query buffer)? That's probably true, and I agree that it should... > > > Looks like it works fine: > > > test=> select * from pg_class, pg_proc; > > ^C > > Cancel request sent > > ERROR: Query was cancelled. > > test=> > > No, I think Chris was complaining about the behavior with an > incomplete query in the buffer. I can't show it with current > sources since psql is exiting on ^C, but 6.5 works like this: > > play=> foobar > play-> ^C > CANCEL request sent > <-- return typed here to get a prompt > play-> select 2+2; > ERROR: parser: parse error at or near "foobar" > play=> > > Notice the prompt correctly shows that I still have stuff in the > query buffer after ^C. I think Chris is saying that ^C should > flush the buffer like \r does ... and I agree. > > regards, tom lane
В списке pgsql-hackers по дате отправления: