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
>>>>>>>>>> 
>>>>>>>>> 
>>>>>>> 
>>>>> 
>>>> 
>>> 
>> 

Reply via email to