Hi Igor, Of course I am ready to donate code.
You have to know that GitHub is source code repo and package repo for build for Go lang. I see that .NET client is deep inside Apache Ignite source code structure. It's not very comfortable for Go lang developers. It's best practice when each Go lang library/project has own GitHub repo. What do you think to create Apache Ignite "organization" in GitHub and consolidate all source code. Here is example of CockroachDB project: https://github.com/cockroachdb Thanks, Aleksandr On 17 May 2018 at 17:21, Igor Sapego <isap...@apache.org> wrote: > By the way, Alexandr, > > Do you want to donate your client to Apache Ignite, so we > are going to include it in our release, or would you prefer > keep it separate? > > > Best Regards, > Igor > > On Thu, May 10, 2018 at 1:09 PM, Igor Sapego <isap...@apache.org> wrote: > > > Aleksandr, > > I'm currently working on the improvement of the doc, so please, > > feel free to participate with review and proposals here - [1]. > > > > [1] -https://issues.apache.org/jira/browse/IGNITE-8039 > > > > Best Regards, > > Igor > > > > On Tue, May 8, 2018 at 3:47 PM, Aleksandr Sokolovskii <amso...@gmail.com > > > > wrote: > > > >> Hi Alexey, > >> > >> I spent some time and fully implemented OP_QUERY_SQL and > >> OP_QUERY_SQL_CURSOR_GET_PAGE including unit tests. > >> The OP_QUERY_SQL returns value as complex object (code=103) wrapped by > >> array (code=27). > >> But it’s not the end of the story. ))) > >> Complex object is marshalled in different way than described in > >> documentation. > >> > >> Example how to unmarshall complex object of several formats: > >> https://github.com/amsokol/ignite-go-client/blob/master/bina > >> ry/v1/types.go#L969 > >> > >> Unit test for OP_QUERY_SQL: > >> https://github.com/amsokol/ignite-go-client/blob/master/bina > >> ry/v1/client-sql-and-scan-queries_test.go#L9 > >> > >> Unit test for OP_QUERY_SQL_CURSOR_GET_PAGE: > >> https://github.com/amsokol/ignite-go-client/blob/master/bina > >> ry/v1/client-sql-and-scan-queries_test.go#L80 > >> > >> Thanks, > >> Aleksandr > >> > >> From: Alexey Kosenchuk > >> Sent: 25 апреля 2018 г. 16:33 > >> To: dev@ignite.apache.org > >> Subject: Re: Apache Ignite 2.4+ Go language client > >> > >> No problem with OP_QUERY_SQL_FIELDS. > >> I mean OP_QUERY_SQL. > >> But I overlooked "OP_QUERY_SQL - Done without unit test. Need help to > >> develop unit test." > >> Sorry. I remove my question so far))) > >> > >> Thanks, > >> -Alexey > >> > >> 25.04.2018 15:40, Aleksandr Sokolovskii пишет: > >> > Hi Alexey, > >> > > >> >> Seems an important missed part is complex objects support. > >> >> And it's the most difficult part. > >> > Yes, you are absolutely right. > >> > Complex object and binary types are not supported by my client now. > >> > That’s why I’m here. > >> > I plan to come back to this subject in the beginning of May. > >> > I very much count on the community help. > >> > > >> >> Also, do you have a working example for SQL Query which first inserts > >> >> cache entries and then selects them and successfully get the same > >> values > >> >> which were inserted ? > >> > Yes, it works fine. > >> > This one: > >> > https://github.com/amsokol/ignite-go-client/blob/master/bina > >> ry/v1/client-sql-and-scan-queries_test.go#L89 > >> > It’s OP_QUERY_SQL_FIELDS operation unit test. > >> > It you are familiar with Go it’s easy to run in debug mode. > >> > > >> > If you explain me your problem I can try to help you. > >> > There some mistakes in binary protocol documentation. > >> > So I spent a lot of time in Apache Ignite server source code analyzing > >> ))) > >> > > >> > Thanks, > >> > Aleksandr > >> > > >> > From: Alexey Kosenchuk > >> > Sent: 25 апреля 2018 г. 12:05 > >> > To: dev@ignite.apache.org > >> > Subject: Re: Apache Ignite 2.4+ Go language client > >> > > >> > Hi Aleksandr, > >> > > >> > Seems an important missed part is complex objects support. > >> > And it's the most difficult part. > >> > Actually, it is not possible to implement it correctly basing on the > >> > current protocol spec only. > >> > If you decide to support it, you should either wait for an updated > spec > >> > or ask for help. > >> > > >> > The issues against the current protocol spec are summarized in > >> > IGNITE-8039 [1] and IGNITE-8212 [2]. One more jira with the issues > >> > against the rest of the spec will be submitted soon. > >> > If you see more issues, please feel free to added them as comments to > >> > that jiras. > >> > > >> > Also, do you have a working example for SQL Query which first inserts > >> > cache entries and then selects them and successfully get the same > values > >> > which were inserted ? > >> > > >> > Thanks, > >> > -Alexey > >> > > >> > [1] https://issues.apache.org/jira/browse/IGNITE-8039 > >> > [2] https://issues.apache.org/jira/browse/IGNITE-8212 > >> > > >> > 25.04.2018 0:11, Aleksandr Sokolovskii пишет: > >> >> ...forgot OP_RESOURCE_CLOSE that is implemented also. > >> >> > >> >> Thanks, > >> >> Aleksandr > >> >> > >> >> Thanks, > >> >> Aleksandr > >> >> > >> >> On 25 April 2018 at 00:06, Aleksandr Sokolovskii <amso...@gmail.com> > >> wrote: > >> >> > >> >>> Hello All, > >> >>> > >> >>> Besides the SQL driver I implemented the following operations also: > >> >>> OP_CACHE_GET_NAMES > >> >>> OP_CACHE_CREATE_WITH_NAME > >> >>> OP_CACHE_GET_OR_CREATE_WITH_NAME > >> >>> OP_CACHE_CREATE_WITH_CONFIGURATION > >> >>> OP_CACHE_GET_OR_CREATE_WITH_CONFIGURATION > >> >>> OP_CACHE_GET_CONFIGURATION > >> >>> OP_CACHE_DESTROY > >> >>> OP_CACHE_GET > >> >>> OP_CACHE_PUT > >> >>> OP_CACHE_PUT_IF_ABSENT > >> >>> OP_CACHE_GET_ALL > >> >>> OP_CACHE_PUT_ALL > >> >>> OP_CACHE_GET_AND_PUT > >> >>> OP_CACHE_GET_AND_REPLACE > >> >>> OP_CACHE_GET_AND_REMOVE > >> >>> OP_CACHE_GET_AND_PUT_IF_ABSENT > >> >>> OP_CACHE_REPLACE > >> >>> OP_CACHE_REPLACE_IF_EQUALS > >> >>> OP_CACHE_CONTAINS_KEY > >> >>> OP_CACHE_CONTAINS_KEYS > >> >>> OP_CACHE_CLEAR > >> >>> OP_CACHE_CLEAR_KEY > >> >>> OP_CACHE_CLEAR_KEYS > >> >>> OP_CACHE_REMOVE_KEY > >> >>> OP_CACHE_REMOVE_IF_EQUALS > >> >>> OP_CACHE_REMOVE_KEYS > >> >>> OP_CACHE_REMOVE_ALL > >> >>> OP_CACHE_GET_SIZE > >> >>> OP_QUERY_SQL > >> >>> OP_QUERY_SQL_CURSOR_GET_PAGE > >> >>> OP_QUERY_SQL_FIELDS > >> >>> OP_QUERY_SQL_FIELDS_CURSOR_GET_PAGE > >> >>> > >> >>> Look at the Client interface here: > >> >>> https://github.com/amsokol/ignite-go-client/blob/master/ > >> >>> binary/v1/client.go > >> >>> > >> >>> But not all Apache Ignite types are supported now. > >> >>> See README in https://github.com/amsokol/ignite-go-client for > >> details. > >> >>> > >> >>> Thanks, > >> >>> Aleksandr > >> >>> > >> >>> > >> >>> > >> >>> Thanks, > >> >>> Aleksandr > >> >>> > >> >>> On 24 April 2018 at 13:16, Igor Sapego <isap...@apache.org> wrote: > >> >>> > >> >>>> Aleksandr, > >> >>>> > >> >>>> Great job! Do you have any plans on adding new features to > >> >>>> your client? > >> >>>> > >> >>>> Pavel, > >> >>>> > >> >>>> There are also CacheGet and CachePut [1] operations, as > >> >>>> far as I can see. > >> >>>> > >> >>>> [1] - > >> >>>> https://github.com/amsokol/ignite-go-client/blob/master/bina > >> >>>> ry/v1/client.go#L120 > >> >>>> > >> >>>> Best Regards, > >> >>>> Igor > >> >>>> > >> >>>> On Tue, Apr 24, 2018 at 10:14 AM, Dmitriy Setrakyan < > >> >>>> dsetrak...@apache.org> > >> >>>> wrote: > >> >>>> > >> >>>>> Any chance we can add key-value support as well? > >> >>>>> > >> >>>>> On Tue, Apr 24, 2018, 2:48 PM Pavel Tupitsyn < > ptupit...@apache.org> > >> >>>> wrote: > >> >>>>> > >> >>>>>> Hi Aleksandr, > >> >>>>>> > >> >>>>>> This is awesome, thank you! > >> >>>>>> > >> >>>>>> However, let's make it clear that this client supports SQL only, > >> >>>>>> and none of the other Thin Client protocol features. > >> >>>>>> > >> >>>>>> Pavel > >> >>>>>> > >> >>>>>> On Mon, Apr 23, 2018 at 10:41 PM, Aleksandr Sokolovskii < > >> >>>>> amso...@gmail.com > >> >>>>>>> > >> >>>>>> wrote: > >> >>>>>> > >> >>>>>>> Hi Oleg, > >> >>>>>>> > >> >>>>>>> Thanks for your answer. > >> >>>>>>> > >> >>>>>>>> Community is currently working on formal test specification. > >> >>>>>>> Great. Waiting for this one. > >> >>>>>>> > >> >>>>>>>> As far as NodeJS please note that it is already being developed > >> by > >> >>>>>>> community at the moment [1]. > >> >>>>>>> Cool. I stop my initiatives. > >> >>>>>>> > >> >>>>>>> Thanks, > >> >>>>>>> Aleksandr > >> >>>>>>> > >> >>>>>>> From: Vladimir Ozerov > >> >>>>>>> Sent: 23 апреля 2018 г. 22:35 > >> >>>>>>> To: dev@ignite.apache.org > >> >>>>>>> Subject: Re: Apache Ignite 2.4+ Go language client > >> >>>>>>> > >> >>>>>>> Hi Alexander, > >> >>>>>>> > >> >>>>>>> Awesome thing! Please note that before accepting the client we > >> need > >> >>>> to > >> >>>>>> make > >> >>>>>>> sure it is operational. Community is currently working on formal > >> >>>> test > >> >>>>>>> specification. I hope it will be ready soon. > >> >>>>>>> > >> >>>>>>> As far as NodeJS please note that it is already being developed > by > >> >>>>>>> community at the moment [1]. We hope to have it in Apache Ignite > >> >>>> 2.6. > >> >>>>>>> > >> >>>>>>> [1] > >> >>>>>>> https://issues.apache.org/jira/browse/IGNITE-7777 > >> >>>>>>> > >> >>>>>>> пн, 23 апр. 2018 г. в 22:24, Aleksandr Sokolovskii < > >> >>>> amso...@gmail.com > >> >>>>>> : > >> >>>>>>> > >> >>>>>>>> Hi All, > >> >>>>>>>> > >> >>>>>>>> I hope you are well. > >> >>>>>>>> > >> >>>>>>>> I released Apache Ignite 2.4+ Go language client: > >> >>>>>>>> https://github.com/apache-ignite/go-client > >> >>>>>>>> > >> >>>>>>>> I updated link here: > >> >>>>>>>> https://github.com/golang/go/wiki/SQLDrivers > >> >>>>>>>> > >> >>>>>>>> Is it possible to add link to my repo to this page?: > >> >>>>>>>> https://apacheignite.readme.io/docs/binary-client-protocol > >> >>>>>>>> or this page: > >> >>>>>>>> https://apacheignite-net.readme.io/docs/thin-client > >> >>>>>>>> Golang is much more easy to understand than Java or С#. > >> >>>>>>>> It’s very easy to pull, build and run test for my library. > >> >>>>>>>> I believe it helps another guys to write more thin clients. > >> >>>>>>>> > >> >>>>>>>> P.S.: I started developing Node.js client also. > >> >>>>>>>> > >> >>>>>>>> Thanks, > >> >>>>>>>> Aleksandr > >> >>>>>>>> > >> >>>>>>>> > >> >>>>>>> > >> >>>>>>> > >> >>>>>> > >> >>>>> > >> >>>> > >> >>> > >> >>> > >> >> > >> > > >> > > >> > >> > > >