Thanks for trying, Dmitry. This happens a lot in commercial open source (see Calcite’s Spark adapter, for instance) but once in a while you get lucky, and that makes it worthwhile.
Julian > On Sep 28, 2022, at 3:18 AM, Dmitry Sysolyatin <[email protected]> > wrote: > > Hello! > I had a long discussion with our company management where I tried to > convince them to publish those code as open source. But unfortunately the > answer was negative. > > Sorry > > > On Mon, Sep 12, 2022 at 8:22 AM André kouamé <[email protected]> > wrote: > >> +1 >> >> Le lun. 12 sept. 2022 à 00:36, Justin Swanhart <[email protected]> a >> écrit : >> >>> +1 >>> >>> On Sun, Sep 11, 2022 at 10:50 AM Gavin Ray <[email protected]> >> wrote: >>> >>>> Understandable, no worries =) >>>> >>>> On Sun, Sep 11, 2022 at 2:49 AM Dmitry Sysolyatin < >>> [email protected] >>>>> >>>> wrote: >>>> >>>>> unfortunately, I can't reveal the details of the implementation until >>> our >>>>> company has given the official right to make this project open source >>> :( >>>>> >>>>>> 10 сент. 2022 г., в 20:16, Gavin Ray <[email protected]> >>>> написал(а): >>>>>> >>>>>> Did you wind up using CrateDB's PG implementation? >>>>>> I found it was too tied to CrateDB specific stuff, not really >> usable >>>>>> without trying to rewrite a lot of it >>>>>> >>>>>> So instead I wrote a framework where you can implement an interface >>> for >>>>>> handling each >>>>>> PG wire message type and it does the rest (encoding/decoding, >>>> networking, >>>>>> etc) using Netty >>>>>> >>>>>> (I published it here, it's in Kotlin but I also have a Java >> version I >>>>> mean >>>>>> to publish this weekend) >>>>>> GavinRay97/PgProtoKt: A framework for building Postgres >> Wire-Protocol >>>>>> backends on the JVM, backed by Netty (github.com) >>>>>> <https://github.com/GavinRay97/PgProtoKt#example> >>>>>> >>>>>> >>>>>>> On Sat, Sep 10, 2022 at 12:10 PM Dmitry Sysolyatin < >>>>> [email protected]> >>>>>>> wrote: >>>>>>> >>>>>>> >>>>>>> Our first implementation is also used external PG. But there were >> 3 >>>>>>> problem with that: >>>>>>> 1. Need external pg setup like you said >>>>>>> 2. Need to synchronise external pg with list of your tables and >>>> columns >>>>>>> 3. Security, it is hard to do any security related things on top >> of >>>>>>> external Postgres pg_catalog table. For example, to show user only >>> his >>>>>>> tables, schemas and so on, so on >>>>>>> >>>>>>>>> 10 сент. 2022 г., в 18:58, Gavin Ray <[email protected]> >>>>> написал(а): >>>>>>>> >>>>>>>> I have a basic JVM framework for building PG wire protocol >>> services >>>>>>> that is >>>>>>>> integrated with Calcite >>>>>>>> But it does not support pg_catalog, more just passes queries >>> directly >>>>> to >>>>>>>> Calcite >>>>>>>> >>>>>>>> A hacky way to add support for pg_catalog is to use pg_fdw with a >>>> real >>>>>>>> Postgres DB so that it takes care of the metadata >>>>>>>> But this is not ideal and it requires having an external Postgres >>>> data >>>>> + >>>>>>>> some setup >>>>>>>> >>>>>>>>> On Sat, Sep 10, 2022 at 11:55 AM Gavin Ray < >> [email protected] >>>> >>>>>>> wrote: >>>>>>>>> >>>>>>>>> +1 >>>>>>>>> >>>>>>>>> On Sat, Sep 10, 2022 at 11:30 AM Dmitry Sysolyatin < >>>>>>>>> [email protected]> wrote: >>>>>>>>> >>>>>>>>>> Hello! >>>>>>>>>> >>>>>>>>>> I've been working on the integration calcite and PostgreSQL >> wire >>>>>>> protocol >>>>>>>>>> [1] to emulate Postgres server (Of course it includes emulating >>>>>>>>>> `pg_catalog` schema). It gives a user the ability to connect >> to a >>>>>>> calcite >>>>>>>>>> schema using PostgreSQL tools and libraries. >>>>>>>>>> >>>>>>>>>> Our team is thinking to open source code of this project. And >> at >>>>>>> first, we >>>>>>>>>> would like to know if anyone would be interested before doing >> any >>>>> next >>>>>>>>>> steps. >>>>>>>>>> >>>>>>>>>> If you would be interested in, just write +1 >>>>>>>>>> >>>>>>>>>> [1] https://www.postgresql.org/docs/current/protocol.html >>>>>>>>>> >>>>>>>>> >>>>>>> >>>>> >>>> >>> >>
