Segfault-Inc / Multicorn

Data Access Library
https://multicorn.org/
PostgreSQL License
700 stars 145 forks source link

WIP: Support PostgreSQL 14 #272

Open df7cb opened 2 years ago

df7cb commented 2 years ago

There are issues that need resolving, see the last commit message.

galuszkak commented 2 years ago

Hi @df7cb,

I've got last week permissions to merge in this repository, and will review it today/tomorrow.

I've merged CI/CD and Windows build yesterday. It still has some small issues, that I need to fix there, and then will look into Your PR.

ShaheedHaque commented 2 years ago

@df7cb I'd like to try to help you get this unblocked. Looking first at the issue with multicornBeginForeignScan, am I right in thinking the problem is that you need to have access to the PlannerInfo *root to address this FIXME?

extractRestrictions(NULL, /* FIXME: set this properly. Parameter is used on PG14+ only, we can use NULL on older versions */

Assuming that is correct, I see this clue from the PG14 docs on BeginForeignScan:

Information about the table to scan is accessible through the ForeignScanState node (in particular, from the underlying ForeignScan plan node, which contains any FDW-private information provided by GetForeignPlan)

So, although multicornBeginForeignScan does not have an argument for the PlannerInfo, it might be possible to pass one down via the multicornGetForeignPlan using the fscan->fdw_private mechanism.

(I'm not familiar with the List logic used by serializePlanState to set up the fdw_private stuff, so I'll pause here to see if this is heading in the direction you want before going further).

df7cb commented 2 years ago

@ShaheedHaque: I have no plans to work on this. If you are interested in getting it fixed, please don't hesitate do jump ahead.

ShaheedHaque commented 2 years ago

OK. I did chase things down a bit, and it seems that there is no way for the PlannerInfo to be serialised into the List (by [copyObject](https://doxygen.postgresql.org/nodes_8h.html#a7a94d766e81e5266639fb091a912590c)), so that idea won't work. Somehow then, the use of root in extractRestriction would need to be sidestepped. That needs a much deeper level of understanding than I have at this time.

denishpatel commented 2 years ago

@df7cb @ShaheedHaque I'm facing same issue to build it with pg14. anyone of you got success building package with pg14?

ShaheedHaque commented 2 years ago

Sadly no.

On Tue, 22 Mar 2022, 12:53 Denish Patel, @.***> wrote:

@df7cb https://github.com/df7cb @ShaheedHaque https://github.com/ShaheedHaque I'm facing same issue to build it with pg14. anyone of you got success building package with pg14?

— Reply to this email directly, view it on GitHub https://github.com/Segfault-Inc/Multicorn/pull/272#issuecomment-1075138822, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABFHWKORKD5CWMSQEX4SK33VBG7GPANCNFSM5IYM3HQA . You are receiving this because you were mentioned.Message ID: @.***>