TODO item: add \# which lists line numbers, and allows command execution

From: "Sibte Abbas" <sibtay(at)gmail(dot)com>
To: pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: TODO item: add \# which lists line numbers, and allows command execution
Date: 2007-09-08 19:24:36
Message-ID: bd6a35510709081224n39944b6bs87a52b2abb79b788@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Hi all,

Realizing that the mentioned TODO item discussed at
http://archives.postgresql.org/pgsql-hackers/2006-12/msg00255.php<http://archives.postgresql.org/pgsql-hackers/2006-12/msg00255.php>can
be useful for myself and others as well, I would like to go ahead and
implement it.

Synopsis:
======

Sticking to the syntax and semantics which Joshua already mentioned in the
thread:

\#: displays the command history. Like \s but prefixes the lines with line
numbers

\# <line_no>: executes the command(if any) executed at the line specified by
line_no

Display the history contents:
=================

Well the answer to this pretty much lies in the \s (without any filename)
implementation. However \s simply writes the contents of the history to the
TTY while \# would prefix all the history lines with their respective line
numbers.

Because of this difference, we'll have to employ a more flexible approach
rather than simply using the write_history() function.

A solution to this is to use history_list() function to get a list of
HIST_ENTRY structures and simply display them as per our needs i.e. to
prefix each line with incrementing numbers in our case.

Execute a line based on line number:
======================

For this we can simply use the history_get(int offset) function of the gnu
history api to return a HIST_ENTRY structure corresponding to the given
offset.

The returned HIST_ENTRY can then be used to access the command that was
executed at that specific line number.

Comments are welcomed.

regards,
--
Sibte Abbas

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Gregory Stark 2007-09-08 19:34:00 Re: Just-in-time Background Writer Patch+Test Results
Previous Message Tom Lane 2007-09-08 19:22:22 Re: Just-in-time Background Writer Patch+Test Results