Search Postgresql Archives

SQL function inlining

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



I'm having trouble figuring out when (if) the planner inlines sql functions (I'm running 7.4). I was assuming that pure sql functions are kind of like views with parameters, but I can't seem to see any cases where functions that select from a table get inlined. For instance:

create function login_count (integer) returns bigint
  language sql stable as
  'select count(*) from logins where user_id = $1;';

# explain select user_id, login_count(user_id) from users;
                          QUERY PLAN
--------------------------------------------------------------
Seq Scan on users  (cost=0.00..15418.36 rows=480189 width=4)

I'd hoped this would turn into a join on the logins and users tables, but no joy. Are there any circumstances (in 7.4) where such functions get inlined?

Thanks.

- John Burger
  MITRE


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]
  Powered by Linux