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/ > binary/v1/types.go#L969 > > Unit test for OP_QUERY_SQL: > https://github.com/amsokol/ignite-go-client/blob/master/ > binary/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/ > binary/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/ > binary/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 > >>>>>>>> > >>>>>>>> > >>>>>>> > >>>>>>> > >>>>>> > >>>>> > >>>> > >>> > >>> > >> > > > > > >