Tom Lane wrote:

David Fetter <[EMAIL PROTECTED]> writes:
How about:
<target2> := {row|record|variable|'[ROW](' comma separated list of scalar vars 
')'}
instead, where the ROW is optional?

If we're going to do this at all (which I'm still agin), I think the ROW
keyword is important to minimize ambiguity.  If you are allowed to start
a statement with just "(x, ..." then there will be way too many
situations where the parser gets confused by slightly bad input,
resulting in way-off-base syntax error reports.  Or worse, no syntax
error, but a function that does something else than you expected.

I know that ROW is optional in the bit of SQL syntax that this proposal
is based on, but that's only because the SQL spec says we have to, not
because it's a good idea.



I see no virtue in this either. It strikes me as just more syntactic sugar, and unless I am misreading or out of date it would be another incompatibility with Oracle. I don't mind doing that, but I think it should be for a better reason than that it accords with someone's taste in syntactic style. I'd be somewhat more persuaded if Oracle did this. I also agree with Tom's comments about requiring ROW. As I observed regarding another syntax proposal, terseness is not always good, and redundancy is not always bad.

cheers

andrew

---------------------------(end of broadcast)---------------------------
TIP 3: Have you checked our extensive FAQ?

              http://www.postgresql.org/docs/faq

Reply via email to