ignite-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Aleksandr Sokolovskii <amso...@gmail.com>
Subject RE: Apache Ignite 2.4+ Go language client
Date Wed, 25 Apr 2018 12:40:39 GMT
Hi Alexey,

> Seems an important missed part is complex objects support.
> And it's the most difficult part.
Yes, you are absolutely right.
Complex object and binary types are not supported by my client now.
That’s why I’m here.
I plan to come back to this subject in the beginning of May.
I very much count on the community help.

> Also, do you have a working example for SQL Query which first inserts
> cache entries and then selects them and successfully get the same values 
> which were inserted ?
Yes, it works fine.
This one:
https://github.com/amsokol/ignite-go-client/blob/master/binary/v1/client-sql-and-scan-queries_test.go#L89
It’s OP_QUERY_SQL_FIELDS operation unit test.
It you are familiar with Go it’s easy to run in debug mode.

If you explain me your problem I can try to help you.
There some mistakes in binary protocol documentation.
So I spent a lot of time in Apache Ignite server source code analyzing )))

Thanks,
Aleksandr

From: Alexey Kosenchuk
Sent: 25 апреля 2018 г. 12:05
To: dev@ignite.apache.org
Subject: Re: Apache Ignite 2.4+ Go language client

Hi Aleksandr,

Seems an important missed part is complex objects support.
And it's the most difficult part.
Actually, it is not possible to implement it correctly basing on the 
current protocol spec only.
If you decide to support it, you should either wait for an updated spec 
or ask for help.

The issues against the current protocol spec are summarized in 
IGNITE-8039 [1] and IGNITE-8212 [2]. One more jira with the issues 
against the rest of the spec will be submitted soon.
If you see more issues, please feel free to added them as comments to 
that jiras.

Also, do you have a working example for SQL Query which first inserts 
cache entries and then selects them and successfully get the same values 
which were inserted ?

Thanks,
-Alexey

[1] https://issues.apache.org/jira/browse/IGNITE-8039
[2] https://issues.apache.org/jira/browse/IGNITE-8212

25.04.2018 0:11, Aleksandr Sokolovskii пишет:
> ...forgot OP_RESOURCE_CLOSE that is implemented also.
> 
> Thanks,
> Aleksandr
> 
> Thanks,
> Aleksandr
> 
> On 25 April 2018 at 00:06, Aleksandr Sokolovskii <amsokol@gmail.com> wrote:
> 
>> Hello All,
>>
>> Besides the SQL driver I implemented the following operations also:
>> OP_CACHE_GET_NAMES
>> OP_CACHE_CREATE_WITH_NAME
>> OP_CACHE_GET_OR_CREATE_WITH_NAME
>> OP_CACHE_CREATE_WITH_CONFIGURATION
>> OP_CACHE_GET_OR_CREATE_WITH_CONFIGURATION
>> OP_CACHE_GET_CONFIGURATION
>> OP_CACHE_DESTROY
>> OP_CACHE_GET
>> OP_CACHE_PUT
>> OP_CACHE_PUT_IF_ABSENT
>> OP_CACHE_GET_ALL
>> OP_CACHE_PUT_ALL
>> OP_CACHE_GET_AND_PUT
>> OP_CACHE_GET_AND_REPLACE
>> OP_CACHE_GET_AND_REMOVE
>> OP_CACHE_GET_AND_PUT_IF_ABSENT
>> OP_CACHE_REPLACE
>> OP_CACHE_REPLACE_IF_EQUALS
>> OP_CACHE_CONTAINS_KEY
>> OP_CACHE_CONTAINS_KEYS
>> OP_CACHE_CLEAR
>> OP_CACHE_CLEAR_KEY
>> OP_CACHE_CLEAR_KEYS
>> OP_CACHE_REMOVE_KEY
>> OP_CACHE_REMOVE_IF_EQUALS
>> OP_CACHE_REMOVE_KEYS
>> OP_CACHE_REMOVE_ALL
>> OP_CACHE_GET_SIZE
>> OP_QUERY_SQL
>> OP_QUERY_SQL_CURSOR_GET_PAGE
>> OP_QUERY_SQL_FIELDS
>> OP_QUERY_SQL_FIELDS_CURSOR_GET_PAGE
>>
>> Look at the Client interface here:
>> https://github.com/amsokol/ignite-go-client/blob/master/
>> binary/v1/client.go
>>
>> But not all Apache Ignite types are supported now.
>> See README in https://github.com/amsokol/ignite-go-client for details.
>>
>> Thanks,
>> Aleksandr
>>
>>
>>
>> Thanks,
>> Aleksandr
>>
>> On 24 April 2018 at 13:16, Igor Sapego <isapego@apache.org> wrote:
>>
>>> Aleksandr,
>>>
>>> Great job! Do you have any plans on adding new features to
>>> your client?
>>>
>>> Pavel,
>>>
>>> There are  also CacheGet and CachePut [1] operations, as
>>> far as I can see.
>>>
>>> [1] -
>>> https://github.com/amsokol/ignite-go-client/blob/master/bina
>>> ry/v1/client.go#L120
>>>
>>> Best Regards,
>>> Igor
>>>
>>> On Tue, Apr 24, 2018 at 10:14 AM, Dmitriy Setrakyan <
>>> dsetrakyan@apache.org>
>>> wrote:
>>>
>>>> Any chance we can add key-value support as well?
>>>>
>>>> On Tue, Apr 24, 2018, 2:48 PM Pavel Tupitsyn <ptupitsyn@apache.org>
>>> wrote:
>>>>
>>>>> Hi Aleksandr,
>>>>>
>>>>> This is awesome, thank you!
>>>>>
>>>>> However, let's make it clear that this client supports SQL only,
>>>>> and none of the other Thin Client protocol features.
>>>>>
>>>>> Pavel
>>>>>
>>>>> On Mon, Apr 23, 2018 at 10:41 PM, Aleksandr Sokolovskii <
>>>> amsokol@gmail.com
>>>>>>
>>>>> wrote:
>>>>>
>>>>>> Hi Oleg,
>>>>>>
>>>>>> Thanks for your answer.
>>>>>>
>>>>>>> Community is currently working on formal test specification.
>>>>>> Great. Waiting for this one.
>>>>>>
>>>>>>> As far as NodeJS please note that it is already being developed
by
>>>>>> community at the moment [1].
>>>>>> Cool. I stop my initiatives.
>>>>>>
>>>>>> Thanks,
>>>>>> Aleksandr
>>>>>>
>>>>>> From: Vladimir Ozerov
>>>>>> Sent: 23 апреля 2018 г. 22:35
>>>>>> To: dev@ignite.apache.org
>>>>>> Subject: Re: Apache Ignite 2.4+ Go language client
>>>>>>
>>>>>> Hi Alexander,
>>>>>>
>>>>>> Awesome thing! Please note that before accepting the client we need
>>> to
>>>>> make
>>>>>> sure it is operational. Community is currently working on formal
>>> test
>>>>>> specification. I hope it will be ready soon.
>>>>>>
>>>>>> As far as NodeJS please note that it is already being developed by
>>>>>> community at the moment [1]. We hope to have it in Apache Ignite
>>> 2.6.
>>>>>>
>>>>>> [1]
>>>>>> https://issues.apache.org/jira/browse/IGNITE-7777
>>>>>>
>>>>>> пн, 23 апр. 2018 г. в 22:24, Aleksandr Sokolovskii <
>>> amsokol@gmail.com
>>>>> :
>>>>>>
>>>>>>> Hi All,
>>>>>>>
>>>>>>> I hope you are well.
>>>>>>>
>>>>>>> I released Apache Ignite 2.4+ Go language client:
>>>>>>> https://github.com/apache-ignite/go-client
>>>>>>>
>>>>>>> I updated link here:
>>>>>>> https://github.com/golang/go/wiki/SQLDrivers
>>>>>>>
>>>>>>> Is it possible to add link to my repo to this page?:
>>>>>>> https://apacheignite.readme.io/docs/binary-client-protocol
>>>>>>> or this page:
>>>>>>> https://apacheignite-net.readme.io/docs/thin-client
>>>>>>> Golang is much more easy to understand than Java or С#.
>>>>>>> It’s very easy to pull, build and run test for my library.
>>>>>>> I believe it helps another guys to write more thin clients.
>>>>>>>
>>>>>>> P.S.: I started developing Node.js client also.
>>>>>>>
>>>>>>> Thanks,
>>>>>>> Aleksandr
>>>>>>>
>>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>
>>>
>>
>>
> 


Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message