On 2016/01/28 15:20, Rushabh Lathia wrote:
On Thu, Jan 28, 2016 at 11:33 AM, Etsuro Fujita
<fujita.ets...@lab.ntt.co.jp <mailto:fujita.ets...@lab.ntt.co.jp>> wrote:

    On 2016/01/27 21:23, Rushabh Lathia wrote:

        If I understood correctly, above documentation means, that if
        FDW have
        DMLPushdown APIs that is enough. But in reality thats not the
        case, we
        need  ExecForeignInsert, ExecForeignUpdate, or ExecForeignDelete
        in case
        DML is not pushable.

        And here fact is DMLPushdown APIs are optional for FDW, so that
        if FDW
        don't have DMLPushdown APIs they can still very well perform the DML
        operations using ExecForeignInsert, ExecForeignUpdate, or
        ExecForeignDelete.

    I agree with you.  I guess I was wrong. sorry.

        So documentation should be like:

        If the IsForeignRelUpdatable pointer is set to NULL, foreign
        tables are
        assumed to be insertable, updatable, or deletable if the FDW
        provides
        ExecForeignInsert, ExecForeignUpdate, or ExecForeignDelete
        respectively,

        If FDW provides DMLPushdown APIs and the DML are pushable to the
        foreign
        server, then FDW still needs ExecForeignInsert,
        ExecForeignUpdate, or
        ExecForeignDelete for the non-pushable DML operation.

        What's your opinion ?

    I agree that we should add this to the documentation, too.

    BTW, if I understand correctly, I think we should also modify
    relation_is_updatabale() accordingly.  Am I right?

Yep, we need to modify relation_is_updatable().

OK, will do.

Best regards,
Etsuro Fujita




--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

Reply via email to