pg.ddx.io  pgsql-hackers@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: David Fetter <david@fetter.org>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: Robert Haas <robertmhaas@gmail.com>
Cc: Thomas Munro <thomas.munro@enterprisedb.com>
Cc: Jeff Janes <jeff.janes@gmail.com>
Cc: Alvaro Herrera <alvherre@2ndquadrant.com>
Cc: Pg Hackers <pgsql-hackers@postgresql.org>
Subject: Re: Making tab-complete.c easier to maintain
Date: Thu, 22 Oct 2015 15:14:25 -0700
Message-ID: <20151022221425.GB22539@fetter.org> (raw)
In-Reply-To: <51382.1445549813@sss.pgh.pa.us>
References: <17081.1441374043@sss.pgh.pa.us>
	<CAEepm=0QKjnVVq9ueBXP5yntNFwtFZhFzLPEOpCA-PPoh0NieQ@mail.gmail.com>
	<20150907135605.GP2912@alvherre.pgsql>
	<CAEepm=3q9oBsd65F3AMTKw9-Rs+E+SDV3HpGV5yLj7ySetj7Yw@mail.gmail.com>
	<CAEepm=1=Hdt9TCM3BRiVE6NCnXHyDDki+YVPhfZ02_=niU=8cA@mail.gmail.com>
	<CAMkU=1yt=Ed7+K4sUisdUkt-wDhGnxdkDqs_43uJvhJYFA56gQ@mail.gmail.com>
	<CAEepm=1ns0rbo+xun_j6_PwDT6zmEPuNggy=Vaie-3peF2C44Q@mail.gmail.com>
	<CAEepm=2X08QRoJD3Bu4em-w=c=Q7SCCHM404jK-ercR4H1xtkw@mail.gmail.com>
	<CA+TgmoYow9qMFJ8hJipmd7K9=_xeUtAVVarQJGY401_nTnopeQ@mail.gmail.com>
	<51382.1445549813@sss.pgh.pa.us>
List-Unsubscribe: <mailto:majordomo@postgresql.org?body=unsub%20pgsql-hackers>

On Thu, Oct 22, 2015 at 02:36:53PM -0700, Tom Lane wrote:
> Robert Haas <robertmhaas@gmail.com> writes:
> > On Wed, Oct 21, 2015 at 8:54 PM, Thomas Munro
> > <thomas.munro@enterprisedb.com> wrote:
> >> (Apologies for sending so many versions.  tab-complete.c keeps moving
> >> and I want to keep a version that applies on top of master out there,
> >> for anyone interested in looking at this.  As long as no one objects
> >> and there is interest in the patch, I'll keep doing that.)
> 
> > I don't want to rain on the parade since other people seem to like
> > this, but I'm sort of unimpressed by this.  Yes, it removes >1000
> > lines of code, and that's not nothing.  But it's all mechanical code,
> > so, not to be dismissive, but who really cares?  Is it really worth
> > replacing the existing notation that we all know with a new one that
> > we have to learn?  I'm not violently opposed if someone else wants to
> > commit this, but I'm unexcited about it.
> 
> What I would like is to find a way to auto-generate basically this entire
> file from gram.y.

I've been hoping we could use a principled approach for years.  My
fondest hope along that line would also involve catalog access, so it
could correctly tab-complete user-defined things, but I have the
impression that the catalog access variant is "much later" even if
autogeneration from gram.y is merely "soon."  I'd love to be wrong
about that.

> That would imply going over to something at least
> somewhat parser-based, instead of the current way that is more or less
> totally ad-hoc.  That would be a very good thing though, because the
> current way gives wrong answers not-infrequently, even discounting cases
> that it's simply not been taught about.

Indeed.

> I have no very good idea how to do that, though.  Bison does have a
> notion of which symbols are possible as the next symbol at any given
> parse point, but it doesn't really make that accessible.  There's a lack
> of cooperation on the readline side too: we'd need to be able to see the
> whole query buffer not just the current line.

This may be on point:

http://stackoverflow.com/questions/161495/is-there-a-nice-way-of-handling-multi-line-input-with-gnu-...

I suspect we might have to stop pretending to support alternatives to
libreadline if we went that direction, not that that would necessarily
be a bad idea.

Cheers,
David.
-- 
David Fetter <david@fetter.org> http://fetter.org/
Phone: +1 415 235 3778  AIM: dfetter666  Yahoo!: dfetter
Skype: davidfetter      XMPP: david.fetter@gmail.com

Remember to vote!
Consider donating to Postgres: http://www.postgresql.org/about/donate


-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers



view thread (86+ messages)  latest in thread

Message-ID: <20151022221425.GB22539@fetter.org>
Permalink:  ../20151022221425.GB22539@fetter.org/
Also on:    postgresql.org/message-id/20151022221425.GB22539@fetter.org

 · 

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-hackers@postgresql.org
  Cc: david@fetter.org, tgl@sss.pgh.pa.us, robertmhaas@gmail.com, thomas.munro@enterprisedb.com, jeff.janes@gmail.com, alvherre@2ndquadrant.com
  Subject: Re: Making tab-complete.c easier to maintain
  In-Reply-To: <20151022221425.GB22539@fetter.org>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox