The function pass_down_bound() is a recursive function. For SubqueryScanState we have to do something similar to ResultState i.e. call pass_down_bound() recursively on subqueryScanState->subplan.
Please add this to the next commitfest. On Wed, Apr 19, 2017 at 6:09 AM, Douglas Doole <dougdo...@gmail.com> wrote: > We've hit a case where pass_down_bound() isn't pushing the row count limit > from limit into sort. The issue is that we're getting a subquery scan node > between the limit and the sort. The subquery is only doing column projection > and has no quals or SRFs so it should be safe to push the limit into the > sort. > > The query that hit the problem can be simplified to: > > SELECT * FROM (SELECT A,B FROM T ORDER BY C) LIMIT 5 > > (Yeah, the query's a little screwy in that the ORDER BY should really be > outside the subselect, but it came from a query generator, so that's a > different conversation.) > > Proposed patch is attached. > > - Doug > Salesforce > > > -- > Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) > To make changes to your subscription: > http://www.postgresql.org/mailpref/pgsql-hackers > -- Best Wishes, Ashutosh Bapat EnterpriseDB Corporation The Postgres Database Company -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers