Chris Gamache <[EMAIL PROTECTED]> writes:
> It runs "widget" on 10000 records. The damage would be negligible if it could
> run on the 100... 

So do the function calculation outside the UNION/ORDER BY.

SELECT name, address, city, state, zip, widget(name, address, city, state,
zip)
FROM
((SELECT * FROM eastern_usa 
  ORDER BY state, city, zip, name 
  LIMIT 5000
 UNION ALL
  SELECT * FROM western_usa 
  ORDER BY state, city, zip, name 
  LIMIT 5000)
 ORDER BY 4, 3, 5, 1 LIMIT 100 OFFSET 0) ss;

You might have to fool with the parenthesization a little to get it
to parse ...

                        regards, tom lane

---------------------------(end of broadcast)---------------------------
TIP 4: Don't 'kill -9' the postmaster

Reply via email to