Re: [HACKERS] subquery syntax broken
От | Vadim B. Mikheev |
---|---|
Тема | Re: [HACKERS] subquery syntax broken |
Дата | |
Msg-id | 34D685E9.D719AFF2@sable.krasnoyarsk.su обсуждение исходный текст |
Ответ на | Re: [HACKERS] subquery syntax broken (Bruce Momjian <maillist@candle.pha.pa.us>) |
Ответы |
Re: [HACKERS] subquery syntax broken
|
Список | pgsql-hackers |
Bruce Momjian wrote: > > > vac=> select * from x where y = (select max(y) from x); > > ERROR: parser: parse error at or near "select" > > vac=> select * from x where y <> (select max(y) from x); > > ERROR: parser: parse error at or near "select" > > Sorry I missed that most obvious option. Here is the patch. I will > apply it today. It doesn't work for =, >, etc: vac=> select * from x where y = (select max(y) from x); ERROR: parser: parse error at or near "select" but work for others: vac=> select * from x where y @ (select max(y) from x); ERROR: There is no operator '@' for types 'int4' and 'int4' You will either have to retype this query using an explicit cast, or you will have to define the operator using CREATE OPERATOR Also: > + | a_expr Op '(' SubSelect ')' > + { > + SubLink *n = makeNode(SubLink); > + n->lefthand = lcons($1, NULL); > + n->oper = lcons($2,NIL); > + n->useor = false; > + n->subLinkType = ALL_SUBLINK; ^^^^^^^^^^^ should be EXPR_SUBLINK > + n->subselect = $4; > + $$ = (Node *)n; > + } Vadim
В списке pgsql-hackers по дате отправления: