On 2021-01-05 10:56, Masahiko Sawada wrote:
BTW according to the documentation, the options of DECLARE statement
(BINARY, INSENSITIVE, SCROLL, and NO SCROLL) are order-sensitive.

DECLARE name [ BINARY ] [ INSENSITIVE ] [ [ NO ] SCROLL ]
     CURSOR [ { WITH | WITHOUT } HOLD ] FOR query

But I realized that these options are actually order-insensitive. For
instance, we can declare a cursor like:

=# declare abc scroll binary cursor for select * from pg_class;
DECLARE CURSOR

The both parser code and documentation has been unchanged from 2003.
Is it a documentation bug?

According to the SQL standard, the ordering of the cursor properties is fixed. Even if the PostgreSQL parser offers more flexibility, I think we should continue to encourage writing the clauses in the standard order.


Reply via email to