John Keith Hohm wrote:

> select * from (
>   select * from (VALUES ('100'), ('JOHN')) as A (n)
>   where trim(trim(n), '0123456789') = ''
> ) as B where n::integer <> -1;

> I'm also interested in responses of the form "why not just do X?".

Why not just add an "OFFSET 0" in the subselect so that the optimizer
does not flatten the query?

 select * from (
   select * from (VALUES ('100'), ('JOHN')) as A (n)
   where trim(trim(n), '0123456789') = ''
 offset 0) as B where n::integer <> -1;


-- 
Alvaro Herrera                                http://www.CommandPrompt.com/
The PostgreSQL Company - Command Prompt, Inc.

-- 
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general

Reply via email to