Thread

  1. Re: RFC: Adding \history [options] [filename] to psql (Snippets and Shared Queries)

    Kirk Wolak <wolakk@gmail.com> — 2023-06-26T03:26:38Z

    On Tue, Jun 13, 2023 at 1:59 AM Gurjeet Singh <gurjeet@singh.im> wrote:
    
    > On Mon, Jun 5, 2023 at 8:58 AM Kirk Wolak <wolakk@gmail.com> wrote:
    > >
    > > Everyone,
    > >   After recently deep diving on some readline features and optimizing my
    > bash environment to have a static set of "snippets" that I can always
    > find...
    > >
    > >   it takes just a couple of history API calls to add some interesting
    > features for those  that want them.  The result of adding 3-4 such commands
    > (all under \history, and with compatible flags):
    > >
    > > - Saving your current history without exiting (currently doable as \s
    > :HISTFILE)
    > > - Reloading your history file (so you can easily share something across
    > sessions) w/o exiting.
    > > - Stack Loading of specific history (like a shared snippets library, and
    > a personal snippets library) [clearing your history, then loading them in a
    > custom order]
    > >
    > >   The upside is really about clearly identifying and sharing permanent
    > snippets, while having that list be editable externally.  Again, bringing
    > teams online who don't always know the PG way of doing things (Waits,
    > Locks, Space, High CPU queries, Running Queries).
    > >
    > >   My intention is to leverage the way PSQL keeps the Comment above the
    > SQL with the SQL.
    > > Then I can step backwards searching for "context" markers (Ctrl-R) or
    > > -- <CONTEXT> [F8] {history-search-backward}
    > >
    > >   To rip through my snippets
    > >
    > > Kirk...
    > > PS: I could do all of this under \s [options] [filename] it's just less
    > clear...
    >
    > Understandably, there doesn't seem to be a lot of enthusiasm for this.
    > If you could show others a sample/demo session of what the UI and UX
    > would look like, maybe others can chime in with either their opinion
    > of the behaviour, or perhaps a better/different way of achieving that.
    >
    > Gurjeet,
      I agree.  I've decided to do an implementation, and then explain its
    usage.  There are 2-3 different use cases.
    Like pasting a huge script of one liners into \e  and then executing them.
    But not wanting them in your history.
    \s -c  -- Clear the history
    \s -r :HISTFILE
    
      The magic I want for snippets is (inside .psqlrc):
    \s -r snippets.sql
    and then let the normal histfile load.
    or use
    \s -r :HISTFILE and force it to  load.
    
      Then the hard examples and the invocation will make more sense.
    
    Thanks for the feedback!
    
    
    
    
    > Best regards,
    > Gurjeet
    > http://Gurje.et
    >