In <421AB48C.4010604@samurai.com>, on 02/22/05 at 03:26 PM, Neil Conway <neilc@samurai.com> said:
>Is there a way to recall the previous command in psql? Obviously, "up
>arrow" or Ctrl-P using readline and the default readline bindings is
>close, but it recalls the previous _line_ of input. That is not at all
>the same thing in the case of a multiple line command, for example.
>If there is no way at present, I think there should be. Using "up arrow"
>is quite annoying when dealing with multiple line SQL statements.
>Two issues:
>- how to handle slash commands? Slash commands and SQL statements can be
>intermixed:
>neilc=# select 1 \timing
>Timing is off.
>neilc-# ;
> ?column?
>----------
> 1
>(1 row)
>So I'm not quite sure what the right behavior here is. We could always
>just ignore slash commands (the command would "recall the previous SQL
>statement") -- since few slash commands are multi-line, I don't think
>that would be too bad.
>- when a multiple-line command is recalled, how should it be presented
>in the psql input buffer? Perhaps we could strip newlines from recalled
>command text, so that the recalled command would fit on a single line.
>That would mean the recalled command would look somewhat different than
>how the user typed it, although of course the semantics of the query
>should be the same. Any better ideas?
>-Neil
How about a multi-line buffer that picks up everything from the last \g or
; to the next \g or ;
That would pick up everything, That could then be pushed into the input
buffer except for the last line containing the ; or \g The last line would
have to pushed in when the user pressed the return key.
--
-----------------------------------------------------------
lsunley@mb.sympatico.ca
-----------------------------------------------------------