Why not sub-selects in targetlists?
For some reason we currently support sub-SELECT expressions only
in WHERE and HAVING clauses, not in the target list of a SELECT.
Does anyone know why this is?
There are a number of places in the planner/optimizer that would need
to be fixed to make it happen, but the changes are utterly trivial
(calling certain transformation routines on the targetlist as well as
for WHERE and HAVING ... probably about a dozen lines total ...).
And a quick look at the executor doesn't show any reason why it would
have a problem, either. Is there something fundamental that I'm
missing? If not, why wasn't this done to begin with?
regards, tom lane
Tom Lane wrote:
For some reason we currently support sub-SELECT expressions only
in WHERE and HAVING clauses, not in the target list of a SELECT.
Does anyone know why this is?There are a number of places in the planner/optimizer that would need
to be fixed to make it happen, but the changes are utterly trivial
(calling certain transformation routines on the targetlist as well as
for WHERE and HAVING ... probably about a dozen lines total ...).
And a quick look at the executor doesn't show any reason why it would
have a problem, either. Is there something fundamental that I'm
missing? If not, why wasn't this done to begin with?
As usual, I just hadn't time to do more than it's done for
6.3.X -:) Subselects were not in my TODO list, I made base
implementation because of there were many requests for them.
BTW, please don't forget subselects in FROM.
Vadim
Vadim Mikheev <vadim@krs.ru> writes:
Tom Lane wrote:
For some reason we currently support sub-SELECT expressions only
in WHERE and HAVING clauses, not in the target list of a SELECT.
Does anyone know why this is?
As usual, I just hadn't time to do more than it's done for
6.3.X -:) Subselects were not in my TODO list, I made base
implementation because of there were many requests for them.
OK, I'll see about adding the missing transformations in the
planner. Shouldn't be hard.
BTW, please don't forget subselects in FROM.
That seems to be a considerably bigger task :-(
regards, tom lane
Import Notes
Reply to msg id not found: YourmessageofMon30Aug1999093950+080037C9E0E6.AFD53DBE@krs.ru | Resolved by subject fallback