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

From Sawada Masahiko
Subject Re: Proposal : REINDEX xxx VERBOSE
Date
Msg-id CAD21AoBjqoiANGkxt7ovb-7qoaPzf7UwmhobdprNvu=uibPbXg@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 Tue, Mar 10, 2015 at 5:05 PM, Jim Nasby <Jim.Nasby@bluetreble.com> wrote:
> On 3/9/15 9:43 PM, Sawada Masahiko wrote:
>>
>> 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 [, ...] )
>
>
> Are the parenthesis necessary? No other WITH option requires them, other
> than create table/matview (COPY doesn't actually require them).
>

I was imagining EXPLAIN syntax.
Is there some possibility of supporting multiple options for REINDEX
command in future?
If there is, syntax will be as follows, REINDEX { INDEX | ... } name
WITH VERBOSE, XXX, XXX;
I thought style with parenthesis is better than above style.

>>>> 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.
>
>
> I forgot that. There's no reason to support it with the new stuff then.
>
> --
> Jim Nasby, Data Architect, Blue Treble Consulting
> Data in Trouble? Get it in Treble! http://BlueTreble.com

Regards,

-------
Sawada Masahiko



pgsql-hackers by date:

Previous
From: Heikki Linnakangas
Date:
Subject: Re: pg_rewind in contrib
Next
From: Etsuro Fujita
Date:
Subject: Re: EvalPlanQual behaves oddly for FDW queries involving system columns