Hi Jeff,

(2019/02/21 6:19), Jeff Janes wrote:
On Wed, Jan 30, 2019 at 6:12 AM Etsuro Fujita
<fujita.ets...@lab.ntt.co.jp <mailto:fujita.ets...@lab.ntt.co.jp>> wrote:

    (2018/12/28 15:50), Etsuro Fujita wrote:
     > Attached is a new version of the
     > patch.

    Here is an updated version of the patch set.  Changes are:

    * In the previous version, LIMIT without OFFSET was not performed
    remotely as the costs was calculated the same as the costs of
    performing
    it locally.  (Actually, such LIMIT was performed remotely in a case in
    the postgres_fdw regression test, but that was due to a bug :(.)  I
    think we should prefer performing such LIMIT remotely as that avoids
    extra row fetches from the remote that performing it locally might
    cause, so I tweaked the costs estimated in
    estimate_path_cost_size(), to
    ensure that we'll prefer performing such LIMIT remotely.

With your tweaks, I'm still not seeing the ORDER-less LIMIT get pushed
down when using use_remote_estimate in a simple test case, either with
this set of patches, nor in the V4 set.  However, without
use_remote_estimate, the LIMIT is now getting pushed with these patches
when it does not in HEAD.

Good catch! I think the root cause of that is: when using use_remote_estimate, remote estimates obtained through remote EXPLAIN are rounded off to two decimal places, which I completely overlooked. Will fix. I think I can post a new version early next week.

See attached test case, to be run in new database named 'foo'.

Thanks for the review and the test case!

Best regards,
Etsuro Fujita


Reply via email to