Обсуждение: Using readline for frequently used queries

Поиск
Список
Период
Сортировка

Using readline for frequently used queries

От
Tim Landscheidt
Дата:
Hi,

depending on the database, I use some "dashboard queries"
rather frequently. To ease executing them, I've put:

| $include /etc/inputrc

| $if psql
| "\e[24~": "\fSELECT * FROM DashboardQuery;\n"
| $endif

in my ~/.inputrc ("\e[24~" is [F12]).

  Obviously, this only works if a) the current line and
b) the query buffer are empty. Before I try and err: Has
anyone put some thought in how to reliably do that? My first
impulse would be C-a, C-k, "\r", C-j, but this doesn't solve
the problem if psql is in "quote mode" (e. g. the previous
line contained an opening "'" or '"').

TIA,
Tim

Re: Using readline for frequently used queries

От
Tim Landscheidt
Дата:
I wrote:

> depending on the database, I use some "dashboard queries"
> rather frequently. To ease executing them, I've put:

> | $include /etc/inputrc

> | $if psql
> | "\e[24~": "\fSELECT * FROM DashboardQuery;\n"
> | $endif

> in my ~/.inputrc ("\e[24~" is [F12]).

>   Obviously, this only works if a) the current line and
> b) the query buffer are empty. Before I try and err: Has
> anyone put some thought in how to reliably do that? My first
> impulse would be C-a, C-k, "\r", C-j, but this doesn't solve
> the problem if psql is in "quote mode" (e. g. the previous
> line contained an opening "'" or '"').

I found that C-c (SIGINT) makes a clean sweep but it doesn't
work as a readline macro as it gets handled by psql. So I
opted for:

| "\e[24~": "\C-a\C-k\\r\n\fSELECT * FROM DashboardQuery;\n"

which works well enough except for "quote mode".

Tim