Tom Lane wrote:
I added code to inline_function to stop inlining if a parameter
expression to be substituted multiple times has cost greater than
10*cpu_operator_cost (which roughly means that it contains more than
10 operators or functions).  This seems to cut off the problem nicely,
at least for this example.  The factor of 10 is a bit of a magic number
but it seems reasonable.


That did it (on fresh copy of cvs):


regression=# explain analyze select concat_ws('~','01','02','03','04','05','06','07','08','09','10','11','12','13','14','15','16','17','18','19','20','21','22','23','24','25','26','27','28','29','30','31');
QUERY PLAN
----------------------------------------------------------------------------------
Result (cost=0.00..0.11 rows=1 width=0) (actual time=2.37..2.37 rows=1 loops=1)
Total runtime: 2.66 msec
(2 rows)


Thanks Tom!

Joe


---------------------------(end of broadcast)--------------------------- TIP 5: Have you checked our extensive FAQ?

http://www.postgresql.org/docs/faqs/FAQ.html

Reply via email to