From: | Thomas Munro <thomas(dot)munro(at)enterprisedb(dot)com> |
---|---|
To: | Michael Paquier <michael(dot)paquier(at)gmail(dot)com> |
Cc: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Kyotaro HORIGUCHI <horiguchi(dot)kyotaro(at)lab(dot)ntt(dot)co(dot)jp>, Alvaro Herrera <alvherre(at)2ndquadrant(dot)com>, Jeff Janes <jeff(dot)janes(at)gmail(dot)com>, PostgreSQL mailing lists <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: Making tab-complete.c easier to maintain |
Date: | 2015-12-29 21:26:35 |
Message-ID: | CAEepm=34Ba7rDa-mASkxmaD87aW21juALF58B6MRwKc54JYFmA@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On Wed, Dec 30, 2015 at 3:14 AM, Michael Paquier
<michael(dot)paquier(at)gmail(dot)com> wrote:
> On Sun, Dec 20, 2015 at 8:08 AM, Michael Paquier
> <michael(dot)paquier(at)gmail(dot)com> wrote:
>> On Sun, Dec 20, 2015 at 6:24 AM, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:
>>> 2. I believe that a very large fraction of the TailMatches() rules really
>>> ought to be Matches(), ie, they should not consider matches that don't
>>> start at the start of the line. And there's another bunch that could
>>> be Matches() if the author hadn't been unaccountably lazy about checking
>>> all words of the expected command. If we converted as much as we could
>>> that way, it would make psql_completion faster because many inapplicable
>>> rules could be discarded after a single integer comparison on
>>> previous_words_count, and it would greatly reduce the risk of inapplicable
>>> matches. We can't do that for rules meant to apply to DML statements,
>>> since they can be buried in WITH, EXPLAIN, etc ... but an awful lot of
>>> the DDL rules could be changed.
>
> Yep, clearly. We may gain a bit of performance by matching directly
> with an equal number of words using Matches instead of a lower bound
> with TailMatches. I have looked at this thing and hacked a patch as
> attached.
I see that you changed INSERT and DELETE (but not UPDATE) to use
MatchesN rather than TailMatchesN. Shouldn't these stay with
TailMatchesN for the reason Tom gave above?
--
Thomas Munro
http://www.enterprisedb.com
From | Date | Subject | |
---|---|---|---|
Next Message | Tom Lane | 2015-12-29 21:47:51 | Re: Avoid endless futile table locks in vacuuming. |
Previous Message | Jeff Janes | 2015-12-29 20:55:20 | Re: Avoid endless futile table locks in vacuuming. |