Thank you Stamatis and Walaa! I believe it's only been possible because of the great community around Calcite =)
And actually, Walaa was of much help when I was researching the idea. He talked with me a bit on the Coral slack and pointed me towards some good resources + shared experiences. Coral is one of the projects I took inspiration from, along with Dremio/Trino cited in the readme. On this topic -- could it make sense to form a Calcite "Special Interest Group" for GraphQL-on-Calcite, open to whoever is interested? It could be good to share ideas and try to prevent doing the same work/making mistakes that others have already learned from. For instance, I have designed the GraphQL layer I am building to be customizable/extendable via "Conventions" A "Convention" allows you to configure the naming of the API operators and to register which operations you support. This way, I can call my operations IE "_and", "_or", but someone else may want to call them "AND" and "OR" Or perhaps someone wants to support other binary operators/special operators that aren't part of the most common ones. Then they can extend the base operators and add their own. On Sun, Jan 23, 2022 at 10:53 PM Walaa Eldin Moustafa <wa.moust...@gmail.com> wrote: > Nice article indeed. In Coral [1], we have simplified this process to the > end user where those steps can be done through implementing a small number > of abstract methods, listed here [2]. > > [1] https://github.com/linkedin/coral > [2] > > https://github.com/linkedin/coral/blob/master/coral-common/src/main/java/com/linkedin/coral/common/ToRelConverter.java > > On Sun, Jan 23, 2022 at 12:59 PM Stamatis Zampetakis <zabe...@gmail.com> > wrote: > > > Thanks for sharing this Gavin, very nice article! > > > > On Sun, Jan 23, 2022 at 7:00 PM Gavin Ray <ray.gavi...@gmail.com> wrote: > > > > > I thought that someone else might find it useful, since there was no > > > existing guide covering building new frontends. > > > It looks best on Jetbrains Datalore, but you can also view it using the > > > ".ipynb" in the Github repo: > > > > > > https://datalore.jetbrains.com/view/notebook/JYTVfn90xYSmv6U5f2NIQR > > > > > > > > > https://github.com/GavinRay97/calcite-new-frontend-tutorial/blob/master/Calcite%20Frontend%20Guide.ipynb > > > > > >