agentm / project-m36

Project: M36 Relational Algebra Engine
The Unlicense
876 stars 47 forks source link

implement postgresql foreign data wrapper client #158

Open agentm opened 6 years ago

agentm commented 6 years ago

At the end of @diogob 's Toronto presentation, an audience member asked how one might use Project:M36 with another database. @diogob suggested that it would be possible to implement a postgresql FDW interface to Project:M36, perhaps through Project:M36's websocket server.

I'm not sure how useful such an FDW might be, but it would certainly be an interesting exploratory project.

I have considered an SQL interface to Project:M36 in the past (dis-affectionately named "SQLegacy"), but it would be a painful, self-defeating, shoe-horning effort because one of the points of this project is to point out the flaws in SQL. Therefore, running SQL queries for Project:M36 to interpret would likely be lossy- even when merely considering SQL's bag of tuples vs. Project:M36's set of tuples assumption.

zanzix commented 6 years ago

ooh, are there slides/video of the presentation?

EDIT:Oh, found it!

agentm commented 6 years ago

Indeed- it's linked in our README and worth watching. The audio cuts out a few times, but it returns for the important parts. The audience asked some interesting questions as well.

theobat commented 6 years ago

That would be a very very important feature considering -for example- the state of GIS tools in haskell (as opposed to PostGIS in postgres). Or perhaps we could adapt postgis to projectM36 ? but I doubt it, it seems very tied to the SQL language and its flaws.

agentm commented 6 years ago

Indeed, a port of PostGIS would likely be a rewrite. This ticket is mostly a placeholder for brainstorming in case someone wants to pick this up. I don't have any immediate plans to jump on this.