mongo_fdw icon indicating copy to clipboard operation
mongo_fdw copied to clipboard

[Feature Support] Support GROUP BY, HAVING, LIMIT, Aggregate Functions and other features

Open khieuvm opened this issue 2 years ago • 1 comments

Currently, we have already improved mongo_fdw to support a lot of features:

  • Support GROUP BY, HAVING
  • Support LIMIT
  • Support JSON arrow operator
  • Support pushdown Aggregate functions
  • Support pushdown more type OpExpr
  • Support pushdown NullTest
  • Support pushdown ScalarArrayOpExpr
  • Support JsonB type

To support these features, we change the design of mongo_fdw and all these features were implemented following the new design (do not use hashtable anymore to support more types of the target which can be the column, operator expression, or aggregate function). With the new design, we have implemented GetForeignUpperPaths routine to support GROUP BY, HAVING and LIMIT. Additionally, we also have big changes in other routines and have a new way to build a BSON query document.

I would like to contribute them to your repository and community if you have an interest? I will create a pull request to share this feature.

khieuvm avatar Mar 29 '22 04:03 khieuvm

On Tue, Mar 29, 2022 at 9:45 AM Vu Manh Khieu @.***> wrote:

Currently, we have already improved mongo_fdw to support a lot of features:

  • Support GROUP BY, HAVING
  • Support LIMIT
  • Support JSON arrow operator
  • Support pushdown Aggregate functions
  • Support pushdown more type OpExpr
  • Support pushdown NullTest
  • Support pushdown ScalarArrayOpExpr
  • Support JsonB type

To support these features, we change the design of mongo_fdw and all these features were implemented following the new design (do not use hashtable anymore to support more types of the target which can be the column, operator expression, or aggregate function). With the new design, we have implemented GetForeignUpperPaths routine to support GROUP BY, HAVING and LIMIT. Additionally, we also have big changes in other routines and have a new way to build a BSON query document.

I would like to contribute them to your repository and community if you have an interest? I will create a pull request to share this feature.

Thank you, Khieu, for showing up an interest in contributing to the mongo_fdw, it's really helpful.

However, we are already working on the Aggregate Push down feature, which will push down the GROUP BY + HAVING queries to the MongoDB side. The work is almost done and in the review/testing stage.

Other features are all welcome. However, it would be good if we go one-by-one with them. So that it will be easy to review and test thoroughly.

As you said that you have changed the design, it would be good if we discuss that first and need to agree upon those design changes as we don't want anything to break. Once this design gets in we can work further on the rest of the features.

Vaibhav Dalvi (vaibhavdalvi93) from EDB is actively working on this. So feel free to contact him and/or me to proceed further on these.

Thanks, looking forward to the collaborative work to make the mongo_fdw feature reach and robust.

— Reply to this email directly, view it on GitHub https://github.com/EnterpriseDB/mongo_fdw/issues/158, or unsubscribe https://github.com/notifications/unsubscribe-auth/APOVKLNZAEHVKRGPIYR3VR3VCJ7WVANCNFSM5R5DOXZA . You are receiving this because you are subscribed to this thread.Message ID: @.***>

-- Jeevan Chalke

Senior Staff SDE, Database Architect and Manager,Product Development

edbpostgres.com

jeevanchalke avatar Mar 29 '22 05:03 jeevanchalke