Re: Proposal : REINDEX xxx VERBOSE - Mailing list pgsql-hackers

From Sawada Masahiko
Subject Re: Proposal : REINDEX xxx VERBOSE
Date
Msg-id CAD21AoCpMEgXVzB7fJEdoJFUKsEavPJMOrgT5rzCMMActhcDLA@mail.gmail.com
Whole thread Raw
In response to Re: Proposal : REINDEX xxx VERBOSE  (Jim Nasby <Jim.Nasby@BlueTreble.com>)
Responses Re: Proposal : REINDEX xxx VERBOSE
List pgsql-hackers
On Fri, Mar 6, 2015 at 11:07 AM, Jim Nasby <Jim.Nasby@bluetreble.com> wrote:
> On 3/2/15 10:58 AM, Sawada Masahiko wrote:
>>
>> On Wed, Feb 25, 2015 at 4:58 PM, Jim Nasby <Jim.Nasby@bluetreble.com>
>> wrote:
>>>
>>> On 2/24/15 8:28 AM, Sawada Masahiko wrote:
>>>>>
>>>>>
>>>>> According to the above discussion, VACUUM and REINDEX should have
>>>>> trailing options. Tom seems (to me) suggesting that SQL-style
>>>>> (bare word preceded by WITH) options and Jim suggesting '()'
>>>>> style options? (Anyway VACUUM gets the*third additional*  option
>>>>> sytle, but it is the different discussion from this)
>>>
>>>
>>>
>>> Well, almost everything does a trailing WITH. We need to either stick
>>> with
>>> that for consistency, or add leading () as an option to those WITH
>>> commands.
>>>
>>> Does anyone know why those are WITH? Is it ANSI?
>>>
>>> As a refresher, current commands are:
>>>
>>>   VACUUM (ANALYZE, VERBOSE) table1 (col1);
>>>   REINDEX INDEX index1 FORCE;
>>>   COPY table1 FROM 'file.txt' WITH (FORMAT csv);
>>>   CREATE MATERIALIZED VIEW mv1 WITH (storageparam, ...) AS qry WITH DATA;
>>>   CREATE EXTENSION ext1 WITH SCHEMA s1 VERSION v1 FROM over;
>>>   CREATE ROLE role WITH LOGIN;
>>>   GRANT .... WITH GRANT OPTION;
>>>   CREATE VIEW v1 AS qry WITH CASCADED CHECK OPTION;
>>>   ALTER DATABASE db1 WITH CONNECTION LIMIT 50;
>>>   DECLARE c1 INSENSITIVE SCROLL CURSOR WITH HOLD;
>
>
> BTW, I'm fine with Tom's bare-word with WITH idea. That seems to be the most
> consistent with everything else. Is there a problem with doing that? I know
> getting syntax is one of the hard parts of new features, but it seems like
> we reached consensus here...

Attached is latest version patch based on Tom's idea as follows.
REINDEX { INDEX | ... } name WITH ( options [, ...] )

>
>> We have discussed about this option including FORCE option, but I
>> think there are not user who want to use both FORCE and VERBOSE option
>> at same time.
>
>
> I find that very hard to believe... I would expect a primary use case for
> VERBOSE to be "I ran REINDEX, but it doesn't seem to have done anything...
> what's going on?" and that's exactly when you might want to use FORCE.
>

In currently code, nothing happens even if FORCE option is specified.
This option completely exist for backward compatibility.
But this patch add new syntax including FORCE option for now.

Todo
- tab completion
- reindexdb command

Regards,

-------
Sawada Masahiko

Attachment

pgsql-hackers by date:

Previous
From: Peter Geoghegan
Date:
Subject: Re: Using 128-bit integers for sum, avg and statistics aggregates
Next
From: Stephen Frost
Date:
Subject: Re: Proposal: knowing detail of config files via SQL