mysql_fdw icon indicating copy to clipboard operation
mysql_fdw copied to clipboard

Support Direct modification

Open MinhLA1410 opened this issue 2 years ago • 0 comments

Currently, we already Support Direct modification postgres_fdw for mysql_fdw. I would like to contribute them into repository and community. If you have interest? I will create pull request for share this feature.

Summary modification:

  • Add 5 foreign routines mysqlPlanDirectModify mysqlBeginDirectModify mysqlIterateDirectModify mysqlEndDirectModify mysqlExplainDirectModify

Reference testcase of postgres_fdw.sql in postgres_fdw:

EXPLAIN (verbose, costs off)
UPDATE ft2 SET c2 = c2 + 300, c3 = c3 || '_update3' WHERE c1 % 10 = 3;              -- can be pushed down
                                                                QUERY PLAN                                                                
------------------------------------------------------------------------------------------------------------------------------------------
 Update on public.ft2
   ->  Foreign Update on public.ft2
         remote query: UPDATE `mysql_fdw_post`.`T 1` SET `c2` = (`c2` + 300), `c3` = CONCAT(`c3` , '_update3') WHERE (((`C 1` % 10) = 3))
(3 rows)


EXPLAIN (verbose, costs off)
DELETE FROM ft2 USING ft1 WHERE ft1.c1 = ft2.c2 AND ft1.c1 % 10 = 2;                -- can be pushed down
                                                                             QUERY PLAN                                                                              
---------------------------------------------------------------------------------------------------------------------------------------------------------------------
 Delete on public.ft2
   ->  Foreign Delete
         remote query: DELETE FROM  r1 USING `mysql_fdw_post`.`T 1` r1 INNER JOIN `mysql_fdw_post`.`T 1` r2 WHERE ((r1.`c2` = r2.`C 1`)) AND (((r2.`C 1` % 10) = 2))
(3 rows)

MinhLA1410 avatar Mar 29 '22 10:03 MinhLA1410