Re: [PATCH][Documination] Add optional USING keyword before opclass name in INSERT statemet - Mailing list pgsql-hackers

From Tom Lane
Subject Re: [PATCH][Documination] Add optional USING keyword before opclass name in INSERT statemet
Date
Msg-id 26587.1464271556@sss.pgh.pa.us
Whole thread Raw
In response to Re: [PATCH][Documination] Add optional USING keyword before opclass name in INSERT statemet  (Nikolay Shaplov <n.shaplov@postgrespro.ru>)
Responses Re: [PATCH][Documination] Add optional USING keyword before opclass name in INSERT statemet  (Nikolay Shaplov <n.shaplov@postgrespro.ru>)
List pgsql-hackers
Nikolay Shaplov <n.shaplov@postgrespro.ru> writes:
> В письме от 24 мая 2016 12:47:20 пользователь Tom Lane написал:
>> I think we should seriously consider fixing this code/docs discrepancy
>> by making the code match the docs, not vice versa.  That is, let's just
>> remove the USING alternative here entirely.

> I have two arguments for not removing USING there. 

> 1. Backward compatibility. Are you sure, that nobody ever wrote a code using 
> this "USING" keyword? I would say it is unlikely, but will not be sure 100%.

I would say the same.  However, we make incompatible changes in every
major release, and many of them are way harder to deal with than this.

> 2. I think expression with USING in it is more human readable:
> CREATE INDEX (xxx op_yyy);
> is less sensible then 
> CREATE INDEX (xxx USING op_yyy);

Yes.  If we were working in a green field, it would have been better to
make USING (or some other reserved word) required, not optional, there.
That would have been better for readability and would have avoided some
syntactic headaches, such as the need to parenthesize the expressions in
expression indexes.  However, we're about 18 years too late to make that
decision.  Opclass with no introductory keyword is the entrenched standard
at this point, and we're never going to be able to remove it.
        regards, tom lane



pgsql-hackers by date:

Previous
From: "David G. Johnston"
Date:
Subject: Re: [PATCH][Documination] Add optional USING keyword before opclass name in INSERT statemet
Next
From: Andreas Seltenreich
Date:
Subject: Re: ORDER/GROUP BY expression not found in targetlist