Apache Ignite 2.4+ Go language client

classic Classic list List threaded Threaded
21 messages Options
12
Reply | Threaded
Open this post in threaded view
|

Apache Ignite 2.4+ Go language client

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

Reply | Threaded
Open this post in threaded view
|

Re: Apache Ignite 2.4+ Go language client

Vladimir Ozerov
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 <[hidden email]>:

> 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
>
>
Reply | Threaded
Open this post in threaded view
|

RE: Apache Ignite 2.4+ Go language client

Aleksandr Sokolovskii
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: [hidden email]
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 <[hidden email]>:

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

Reply | Threaded
Open this post in threaded view
|

Re: Apache Ignite 2.4+ Go language client

Pavel Tupitsyn
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 <[hidden email]>
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: [hidden email]
> 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 <[hidden email]>:
>
> > 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
> >
> >
>
>
Reply | Threaded
Open this post in threaded view
|

Re: Apache Ignite 2.4+ Go language client

dsetrakyan
Any chance we can add key-value support as well?

On Tue, Apr 24, 2018, 2:48 PM Pavel Tupitsyn <[hidden email]> 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 <[hidden email]
> >
> 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: [hidden email]
> > 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 <[hidden email]>:
> >
> > > 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
> > >
> > >
> >
> >
>
Reply | Threaded
Open this post in threaded view
|

Re: Apache Ignite 2.4+ Go language client

Igor Sapego-2
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/binary/v1/client.go#L120

Best Regards,
Igor

On Tue, Apr 24, 2018 at 10:14 AM, Dmitriy Setrakyan <[hidden email]>
wrote:

> Any chance we can add key-value support as well?
>
> On Tue, Apr 24, 2018, 2:48 PM Pavel Tupitsyn <[hidden email]> 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 <
> [hidden email]
> > >
> > 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: [hidden email]
> > > 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 <[hidden email]
> >:
> > >
> > > > 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
> > > >
> > > >
> > >
> > >
> >
>
Reply | Threaded
Open this post in threaded view
|

Re: Apache Ignite 2.4+ Go language client

Aleksandr Sokolovskii
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 <[hidden email]> 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/
> binary/v1/client.go#L120
>
> Best Regards,
> Igor
>
> On Tue, Apr 24, 2018 at 10:14 AM, Dmitriy Setrakyan <[hidden email]
> >
> wrote:
>
> > Any chance we can add key-value support as well?
> >
> > On Tue, Apr 24, 2018, 2:48 PM Pavel Tupitsyn <[hidden email]>
> 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 <
> > [hidden email]
> > > >
> > > 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: [hidden email]
> > > > 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 <
> [hidden email]
> > >:
> > > >
> > > > > 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
> > > > >
> > > > >
> > > >
> > > >
> > >
> >
>
Reply | Threaded
Open this post in threaded view
|

Re: Apache Ignite 2.4+ Go language client

Aleksandr Sokolovskii
...forgot OP_RESOURCE_CLOSE that is implemented also.

Thanks,
Aleksandr

Thanks,
Aleksandr

On 25 April 2018 at 00:06, Aleksandr Sokolovskii <[hidden email]> 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 <[hidden email]> 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 <
>> [hidden email]>
>> wrote:
>>
>> > Any chance we can add key-value support as well?
>> >
>> > On Tue, Apr 24, 2018, 2:48 PM Pavel Tupitsyn <[hidden email]>
>> 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 <
>> > [hidden email]
>> > > >
>> > > 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: [hidden email]
>> > > > 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 <
>> [hidden email]
>> > >:
>> > > >
>> > > > > 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
>> > > > >
>> > > > >
>> > > >
>> > > >
>> > >
>> >
>>
>
>
Reply | Threaded
Open this post in threaded view
|

Re: Apache Ignite 2.4+ Go language client

Alexey Kosenchuk
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 <[hidden email]> 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 <[hidden email]> 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 <
>>> [hidden email]>
>>> wrote:
>>>
>>>> Any chance we can add key-value support as well?
>>>>
>>>> On Tue, Apr 24, 2018, 2:48 PM Pavel Tupitsyn <[hidden email]>
>>> 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 <
>>>> [hidden email]
>>>>>>
>>>>> 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: [hidden email]
>>>>>> 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 <
>>> [hidden email]
>>>>> :
>>>>>>
>>>>>>> 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
>>>>>>>
>>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>
>>>
>>
>>
>
Reply | Threaded
Open this post in threaded view
|

RE: Apache Ignite 2.4+ Go language client

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: [hidden email]
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 <[hidden email]> 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 <[hidden email]> 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 <
>>> [hidden email]>
>>> wrote:
>>>
>>>> Any chance we can add key-value support as well?
>>>>
>>>> On Tue, Apr 24, 2018, 2:48 PM Pavel Tupitsyn <[hidden email]>
>>> 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 <
>>>> [hidden email]
>>>>>>
>>>>> 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: [hidden email]
>>>>>> 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 <
>>> [hidden email]
>>>>> :
>>>>>>
>>>>>>> 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
>>>>>>>
>>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>
>>>
>>
>>
>

Reply | Threaded
Open this post in threaded view
|

Re: Apache Ignite 2.4+ Go language client

Alexey Kosenchuk
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: [hidden email]
> 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 <[hidden email]> 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 <[hidden email]> 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 <
>>>> [hidden email]>
>>>> wrote:
>>>>
>>>>> Any chance we can add key-value support as well?
>>>>>
>>>>> On Tue, Apr 24, 2018, 2:48 PM Pavel Tupitsyn <[hidden email]>
>>>> 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 <
>>>>> [hidden email]
>>>>>>>
>>>>>> 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: [hidden email]
>>>>>>> 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 <
>>>> [hidden email]
>>>>>> :
>>>>>>>
>>>>>>>> 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
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>
>>>>>
>>>>
>>>
>>>
>>
>
>
Reply | Threaded
Open this post in threaded view
|

RE: Apache Ignite 2.4+ Go language client

Aleksandr Sokolovskii
Yes, it’s really challenge to write unit test for OP_QUERY_SQL. )))

Thanks,
Aleksandr

From: Alexey Kosenchuk
Sent: 25 апреля 2018 г. 16:33
To: [hidden email]
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: [hidden email]
> 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 <[hidden email]> 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 <[hidden email]> 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 <
>>>> [hidden email]>
>>>> wrote:
>>>>
>>>>> Any chance we can add key-value support as well?
>>>>>
>>>>> On Tue, Apr 24, 2018, 2:48 PM Pavel Tupitsyn <[hidden email]>
>>>> 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 <
>>>>> [hidden email]
>>>>>>>
>>>>>> 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: [hidden email]
>>>>>>> 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 <
>>>> [hidden email]
>>>>>> :
>>>>>>>
>>>>>>>> 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
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>
>>>>>
>>>>
>>>
>>>
>>
>
>

Reply | Threaded
Open this post in threaded view
|

RE: Apache Ignite 2.4+ Go language client

Aleksandr Sokolovskii
Hi Alexey,

Do you have info about the following:
1) Is SSL\TLS supported for binary client protocol?
2) Are authentication and authorization supported for binary client protocol?

Thanks,
Aleksandr

From: Aleksandr Sokolovskii
Sent: 25 апреля 2018 г. 16:37
To: [hidden email]
Subject: RE: Apache Ignite 2.4+ Go language client

Yes, it’s really challenge to write unit test for OP_QUERY_SQL. )))

Thanks,
Aleksandr

From: Alexey Kosenchuk
Sent: 25 апреля 2018 г. 16:33
To: [hidden email]
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: [hidden email]
> 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 <[hidden email]> 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 <[hidden email]> 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 <
>>>> [hidden email]>
>>>> wrote:
>>>>
>>>>> Any chance we can add key-value support as well?
>>>>>
>>>>> On Tue, Apr 24, 2018, 2:48 PM Pavel Tupitsyn <[hidden email]>
>>>> 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 <
>>>>> [hidden email]
>>>>>>>
>>>>>> 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: [hidden email]
>>>>>>> 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 <
>>>> [hidden email]
>>>>>> :
>>>>>>>
>>>>>>>> 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
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>
>>>>>
>>>>
>>>
>>>
>>
>
>


Reply | Threaded
Open this post in threaded view
|

Re: Apache Ignite 2.4+ Go language client

Alexey Kosenchuk
Hi Aleksandr,

 > 1) Is SSL\TLS supported for binary client protocol?

It has no direct relation to the binary client protocol itself.
Just need to establish https connection.
But you need to setup Ignite to accept TLS (it's not trivial).
And generate certificates and keys.

Example of the Ignite cfg:
https://github.com/apache/ignite/blob/master/modules/platforms/cpp/odbc-test/config/queries-ssl.xml
Example of the SSL certificates and keys:
https://github.com/apache/ignite/tree/master/modules/platforms/cpp/odbc-test/config/ssl
Test for Java client:
https://github.com/apache/ignite/blob/master/modules/indexing/src/test/java/org/apache/ignite/client/SecurityTest.java#L57

 > 2) Are authentication and authorization supported for binary client
 > protocol?

Seems it's not documented yet.
But yes, it's supported since protocol version 1.1.0.

Handshake format:
[original handshake][username:String][password:String]

Example of implementation:
https://github.com/nobitlost/ignite/blob/master/modules/clients/nodejs/lib/internal/ClientSocket.js
method _handshakePayloadWriter()

In Ignite you need to switch authentication on by the flag
IgniteConfiguration.authenticationEnabled

Example of the Ignite cfg:
https://github.com/apache/ignite/blob/master/modules/platforms/cpp/odbc-test/config/queries-auth.xml

Default user (username/password) : ignite/ignite

Regards,
-Alexey

30.04.2018 17:49, Aleksandr Sokolovskii пишет:

> Hi Alexey,
>
> Do you have info about the following:
>
> 1) Is SSL\TLS supported for binary client protocol?
>
> 2) Are authentication and authorization supported for binary client
> protocol?
>
> Thanks,
>
> Aleksandr
>
> *From: *Aleksandr Sokolovskii <mailto:[hidden email]>
> *Sent: *25 апреля 2018 г. 16:37
> *To: *[hidden email] <mailto:[hidden email]>
> *Subject: *RE: Apache Ignite 2.4+ Go language client
>
> Yes, it’s really challenge to write unit test for OP_QUERY_SQL. )))
>
> Thanks,
> Aleksandr
>
> *From: *Alexey Kosenchuk <mailto:[hidden email]>
> *Sent: *25 апреля 2018 г. 16:33
> *To: *[hidden email] <mailto:[hidden email]>
> *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: [hidden email]
>
>  > 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 <[hidden email]>
> 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 <[hidden email]> 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 <
>
>  >>>> [hidden email]>
>
>  >>>> wrote:
>
>  >>>>
>
>  >>>>> Any chance we can add key-value support as well?
>
>  >>>>>
>
>  >>>>> On Tue, Apr 24, 2018, 2:48 PM Pavel Tupitsyn <[hidden email]>
>
>  >>>> 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 <
>
>  >>>>> [hidden email]
>
>  >>>>>>>
>
>  >>>>>> 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: [hidden email]
>
>  >>>>>>> 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 <
>
>  >>>> [hidden email]
>
>  >>>>>> :
>
>  >>>>>>>
>
>  >>>>>>>> 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
>
>  >>>>>>>>
>
>  >>>>>>>>
>
>  >>>>>>>
>
>  >>>>>>>
>
>  >>>>>>
>
>  >>>>>
>
>  >>>>
>
>  >>>
>
>  >>>
>
>  >>
>
>  >
>
>  >
>
Reply | Threaded
Open this post in threaded view
|

Re: Apache Ignite 2.4+ Go language client

Aleksandr Sokolovskii
Hi Alexey,

Thank you very much for detail answer.

Thanks,
Aleksandr

Thanks,
Aleksandr

On 30 April 2018 at 19:48, Alexey Kosenchuk <[hidden email]>
wrote:

> Hi Aleksandr,
>
> > 1) Is SSL\TLS supported for binary client protocol?
>
> It has no direct relation to the binary client protocol itself.
> Just need to establish https connection.
> But you need to setup Ignite to accept TLS (it's not trivial).
> And generate certificates and keys.
>
> Example of the Ignite cfg:
> https://github.com/apache/ignite/blob/master/modules/platfor
> ms/cpp/odbc-test/config/queries-ssl.xml
> Example of the SSL certificates and keys:
> https://github.com/apache/ignite/tree/master/modules/platfor
> ms/cpp/odbc-test/config/ssl
> Test for Java client:
> https://github.com/apache/ignite/blob/master/modules/indexin
> g/src/test/java/org/apache/ignite/client/SecurityTest.java#L57
>
> > 2) Are authentication and authorization supported for binary client
> > protocol?
>
> Seems it's not documented yet.
> But yes, it's supported since protocol version 1.1.0.
>
> Handshake format:
> [original handshake][username:String][password:String]
>
> Example of implementation:
> https://github.com/nobitlost/ignite/blob/master/modules/clie
> nts/nodejs/lib/internal/ClientSocket.js
> method _handshakePayloadWriter()
>
> In Ignite you need to switch authentication on by the flag
> IgniteConfiguration.authenticationEnabled
>
> Example of the Ignite cfg:
> https://github.com/apache/ignite/blob/master/modules/platfor
> ms/cpp/odbc-test/config/queries-auth.xml
>
> Default user (username/password) : ignite/ignite
>
> Regards,
> -Alexey
>
> 30.04.2018 17:49, Aleksandr Sokolovskii пишет:
>
>> Hi Alexey,
>>
>> Do you have info about the following:
>>
>> 1) Is SSL\TLS supported for binary client protocol?
>>
>> 2) Are authentication and authorization supported for binary client
>> protocol?
>>
>> Thanks,
>>
>> Aleksandr
>>
>> *From: *Aleksandr Sokolovskii <mailto:[hidden email]>
>> *Sent: *25 апреля 2018 г. 16:37
>> *To: *[hidden email] <mailto:[hidden email]>
>> *Subject: *RE: Apache Ignite 2.4+ Go language client
>>
>> Yes, it’s really challenge to write unit test for OP_QUERY_SQL. )))
>>
>> Thanks,
>> Aleksandr
>>
>> *From: *Alexey Kosenchuk <mailto:[hidden email]>
>> *Sent: *25 апреля 2018 г. 16:33
>> *To: *[hidden email] <mailto:[hidden email]>
>> *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: [hidden email]
>>
>>  > 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 <[hidden email]>
>> 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 <[hidden email]> 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 <
>>
>>  >>>> [hidden email]>
>>
>>  >>>> wrote:
>>
>>  >>>>
>>
>>  >>>>> Any chance we can add key-value support as well?
>>
>>  >>>>>
>>
>>  >>>>> On Tue, Apr 24, 2018, 2:48 PM Pavel Tupitsyn <[hidden email]
>> >
>>
>>  >>>> 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 <
>>
>>  >>>>> [hidden email]
>>
>>  >>>>>>>
>>
>>  >>>>>> 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: [hidden email]
>>
>>  >>>>>>> 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 <
>>
>>  >>>> [hidden email]
>>
>>  >>>>>> :
>>
>>  >>>>>>>
>>
>>  >>>>>>>> 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
>>
>>  >>>>>>>>
>>
>>  >>>>>>>>
>>
>>  >>>>>>>
>>
>>  >>>>>>>
>>
>>  >>>>>>
>>
>>  >>>>>
>>
>>  >>>>
>>
>>  >>>
>>
>>  >>>
>>
>>  >>
>>
>>  >
>>
>>  >
>>
>>
Reply | Threaded
Open this post in threaded view
|

RE: Apache Ignite 2.4+ Go language client

Aleksandr Sokolovskii
In reply to this post by Alexey Kosenchuk
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: [hidden email]
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: [hidden email]
> 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 <[hidden email]> 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 <[hidden email]> 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 <
>>>> [hidden email]>
>>>> wrote:
>>>>
>>>>> Any chance we can add key-value support as well?
>>>>>
>>>>> On Tue, Apr 24, 2018, 2:48 PM Pavel Tupitsyn <[hidden email]>
>>>> 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 <
>>>>> [hidden email]
>>>>>>>
>>>>>> 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: [hidden email]
>>>>>>> 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 <
>>>> [hidden email]
>>>>>> :
>>>>>>>
>>>>>>>> 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
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>
>>>>>
>>>>
>>>
>>>
>>
>
>

Reply | Threaded
Open this post in threaded view
|

Re: Apache Ignite 2.4+ Go language client

Igor Sapego-2
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 <[hidden email]>
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: [hidden email]
> 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: [hidden email]
> > 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 <[hidden email]>
> 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 <[hidden email]> 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 <
> >>>> [hidden email]>
> >>>> wrote:
> >>>>
> >>>>> Any chance we can add key-value support as well?
> >>>>>
> >>>>> On Tue, Apr 24, 2018, 2:48 PM Pavel Tupitsyn <[hidden email]>
> >>>> 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 <
> >>>>> [hidden email]
> >>>>>>>
> >>>>>> 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: [hidden email]
> >>>>>>> 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 <
> >>>> [hidden email]
> >>>>>> :
> >>>>>>>
> >>>>>>>> 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
> >>>>>>>>
> >>>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>
> >>>>>
> >>>>
> >>>
> >>>
> >>
> >
> >
>
>
Reply | Threaded
Open this post in threaded view
|

Re: Apache Ignite 2.4+ Go language client

Igor Sapego-2
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 <[hidden email]> 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 <[hidden email]>
> 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: [hidden email]
>> 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: [hidden email]
>> > 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 <[hidden email]>
>> 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 <[hidden email]> 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 <
>> >>>> [hidden email]>
>> >>>> wrote:
>> >>>>
>> >>>>> Any chance we can add key-value support as well?
>> >>>>>
>> >>>>> On Tue, Apr 24, 2018, 2:48 PM Pavel Tupitsyn <[hidden email]>
>> >>>> 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 <
>> >>>>> [hidden email]
>> >>>>>>>
>> >>>>>> 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: [hidden email]
>> >>>>>>> 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 <
>> >>>> [hidden email]
>> >>>>>> :
>> >>>>>>>
>> >>>>>>>> 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
>> >>>>>>>>
>> >>>>>>>>
>> >>>>>>>
>> >>>>>>>
>> >>>>>>
>> >>>>>
>> >>>>
>> >>>
>> >>>
>> >>
>> >
>> >
>>
>>
>
Reply | Threaded
Open this post in threaded view
|

Re: Apache Ignite 2.4+ Go language client

Aleksandr Sokolovskii
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 <[hidden email]> 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 <[hidden email]> 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 <[hidden email]
> >
> > 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: [hidden email]
> >> 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: [hidden email]
> >> > 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 <[hidden email]>
> >> 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 <[hidden email]> 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 <
> >> >>>> [hidden email]>
> >> >>>> wrote:
> >> >>>>
> >> >>>>> Any chance we can add key-value support as well?
> >> >>>>>
> >> >>>>> On Tue, Apr 24, 2018, 2:48 PM Pavel Tupitsyn <
> [hidden email]>
> >> >>>> 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 <
> >> >>>>> [hidden email]
> >> >>>>>>>
> >> >>>>>> 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: [hidden email]
> >> >>>>>>> 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 <
> >> >>>> [hidden email]
> >> >>>>>> :
> >> >>>>>>>
> >> >>>>>>>> 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
> >> >>>>>>>>
> >> >>>>>>>>
> >> >>>>>>>
> >> >>>>>>>
> >> >>>>>>
> >> >>>>>
> >> >>>>
> >> >>>
> >> >>>
> >> >>
> >> >
> >> >
> >>
> >>
> >
>
Reply | Threaded
Open this post in threaded view
|

Re: Apache Ignite 2.4+ Go language client

daradurvs
Hi, there is such GitHub profile:
https://github.com/apacheignite

But I don't know who manage that.

On Thu, May 17, 2018 at 9:22 PM, Aleksandr Sokolovskii
<[hidden email]> wrote:

> 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 <[hidden email]> 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 <[hidden email]> 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 <[hidden email]
>> >
>> > 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: [hidden email]
>> >> 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: [hidden email]
>> >> > 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 <[hidden email]>
>> >> 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 <[hidden email]> 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 <
>> >> >>>> [hidden email]>
>> >> >>>> wrote:
>> >> >>>>
>> >> >>>>> Any chance we can add key-value support as well?
>> >> >>>>>
>> >> >>>>> On Tue, Apr 24, 2018, 2:48 PM Pavel Tupitsyn <
>> [hidden email]>
>> >> >>>> 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 <
>> >> >>>>> [hidden email]
>> >> >>>>>>>
>> >> >>>>>> 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: [hidden email]
>> >> >>>>>>> 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 <
>> >> >>>> [hidden email]
>> >> >>>>>> :
>> >> >>>>>>>
>> >> >>>>>>>> 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
>> >> >>>>>>>>
>> >> >>>>>>>>
>> >> >>>>>>>
>> >> >>>>>>>
>> >> >>>>>>
>> >> >>>>>
>> >> >>>>
>> >> >>>
>> >> >>>
>> >> >>
>> >> >
>> >> >
>> >>
>> >>
>> >
>>



--
Best Regards, Vyacheslav D.
12