Skip site navigation (1) Skip section navigation (2)

Re: Recursive query syntax ambiguity

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Martijn van Oosterhout <kleptog(at)svana(dot)org>
Cc: Gregory Stark <stark(at)enterprisedb(dot)com>, PostgreSQL Development <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Recursive query syntax ambiguity
Date: 2007-01-26 21:15:46
Message-ID: 29102.1169846146@sss.pgh.pa.us (view raw or flat)
Thread:
Lists: pgsql-hackers
Martijn van Oosterhout <kleptog(at)svana(dot)org> writes:
> Er, CYCLE isn't a binary operator, and users can't make binary
> operators that are words, so I'm not sure of the problem here.

Well, the problem typically is not being able to tell whether an
operator is supposed to be infix or postfix; hence keywords that can
terminate arbitrary expressions usually have to be reserved words.
However, now that I look at the syntax I think Greg may be misreading
it.  I see

<search or cycle clause> ::=
	  <search clause>
	| <cycle clause>
	| <search clause> <cycle clause>

<search clause> ::=
	SEARCH <recursive search order> SET <sequence column>

<recursive search order> ::=
	  DEPTH FIRST BY <sort specification list>
	| BREADTH FIRST BY <sort specification list>

<sequence column> ::= <column name>

<cycle clause> ::=
	  CYCLE <cycle column list> SET <cycle mark column> TO <cycle
	  mark value> DEFAULT <non-cycle mark value> USING <path column>

<cycle column list> ::= <cycle column> [ {<comma><cycle column>}...]

<cycle column> ::= <column name>

<cycle mark column> ::= <column name>

<path column> ::= <column name>

<cycle mark value> ::= <value expression>

<non-cycle mark value> ::= <value expression>

and so CYCLE would come *after* "SET <sequence column>" not before it.
It looks to me like we'd have to promote SET to fully reserved status,
but that probably isn't going to surprise anyone.  DEFAULT and USING
already are fully reserved.  I don't see anything else here that looks
like it should need to be reserved.

			regards, tom lane

In response to

Responses

pgsql-hackers by date

Next:From: Simon RiggsDate: 2007-01-26 21:17:37
Subject: Re: Proposal: Snapshot cloning
Previous:From: Jim NasbyDate: 2007-01-26 21:14:55
Subject: Re: No ~ operator for box, point

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group