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 Thu, 17 May 2018 18:22:48 GMT
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 <isapego@apache.org> wrote:

> By the way, Alexandr,
>
> Do you want to donate your client to Apache Ignite, so we
> are going to include it in our release, or would you prefer
> keep it separate?
>
>
> Best Regards,
> Igor
>
> On Thu, May 10, 2018 at 1:09 PM, Igor Sapego <isapego@apache.org> wrote:
>
> > Aleksandr,
> > I'm currently working on the improvement of the doc, so please,
> > feel free to participate with review and proposals here - [1].
> >
> > [1] -https://issues.apache.org/jira/browse/IGNITE-8039
> >
> > Best Regards,
> > Igor
> >
> > On Tue, May 8, 2018 at 3:47 PM, Aleksandr Sokolovskii <amsokol@gmail.com
> >
> > wrote:
> >
> >> Hi Alexey,
> >>
> >> I spent some time and fully implemented OP_QUERY_SQL and
> >> OP_QUERY_SQL_CURSOR_GET_PAGE including unit tests.
> >> The OP_QUERY_SQL returns value as complex object (code=103) wrapped by
> >> array (code=27).
> >> But it’s not the end of the story. )))
> >> Complex object is marshalled in different way than described in
> >> documentation.
> >>
> >> Example how to unmarshall complex object of several formats:
> >> https://github.com/amsokol/ignite-go-client/blob/master/bina
> >> ry/v1/types.go#L969
> >>
> >> Unit test for OP_QUERY_SQL:
> >> https://github.com/amsokol/ignite-go-client/blob/master/bina
> >> ry/v1/client-sql-and-scan-queries_test.go#L9
> >>
> >> Unit test for OP_QUERY_SQL_CURSOR_GET_PAGE:
> >> https://github.com/amsokol/ignite-go-client/blob/master/bina
> >> ry/v1/client-sql-and-scan-queries_test.go#L80
> >>
> >> Thanks,
> >> Aleksandr
> >>
> >> From: Alexey Kosenchuk
> >> Sent: 25 апреля 2018 г. 16:33
> >> To: dev@ignite.apache.org
> >> Subject: Re: Apache Ignite 2.4+ Go language client
> >>
> >> No problem with OP_QUERY_SQL_FIELDS.
> >> I mean OP_QUERY_SQL.
> >> But I overlooked "OP_QUERY_SQL - Done without unit test. Need help to
> >> develop unit test."
> >> Sorry. I remove my question so far)))
> >>
> >> Thanks,
> >> -Alexey
> >>
> >> 25.04.2018 15:40, Aleksandr Sokolovskii пишет:
> >> > Hi Alexey,
> >> >
> >> >> Seems an important missed part is complex objects support.
> >> >> And it's the most difficult part.
> >> > Yes, you are absolutely right.
> >> > Complex object and binary types are not supported by my client now.
> >> > That’s why I’m here.
> >> > I plan to come back to this subject in the beginning of May.
> >> > I very much count on the community help.
> >> >
> >> >> Also, do you have a working example for SQL Query which first inserts
> >> >> cache entries and then selects them and successfully get the same
> >> values
> >> >> which were inserted ?
> >> > Yes, it works fine.
> >> > This one:
> >> > https://github.com/amsokol/ignite-go-client/blob/master/bina
> >> ry/v1/client-sql-and-scan-queries_test.go#L89
> >> > It’s OP_QUERY_SQL_FIELDS operation unit test.
> >> > It you are familiar with Go it’s easy to run in debug mode.
> >> >
> >> > If you explain me your problem I can try to help you.
> >> > There some mistakes in binary protocol documentation.
> >> > So I spent a lot of time in Apache Ignite server source code analyzing
> >> )))
> >> >
> >> > Thanks,
> >> > Aleksandr
> >> >
> >> > From: Alexey Kosenchuk
> >> > Sent: 25 апреля 2018 г. 12:05
> >> > To: dev@ignite.apache.org
> >> > Subject: Re: Apache Ignite 2.4+ Go language client
> >> >
> >> > Hi Aleksandr,
> >> >
> >> > Seems an important missed part is complex objects support.
> >> > And it's the most difficult part.
> >> > Actually, it is not possible to implement it correctly basing on the
> >> > current protocol spec only.
> >> > If you decide to support it, you should either wait for an updated
> spec
> >> > or ask for help.
> >> >
> >> > The issues against the current protocol spec are summarized in
> >> > IGNITE-8039 [1] and IGNITE-8212 [2]. One more jira with the issues
> >> > against the rest of the spec will be submitted soon.
> >> > If you see more issues, please feel free to added them as comments to
> >> > that jiras.
> >> >
> >> > Also, do you have a working example for SQL Query which first inserts
> >> > cache entries and then selects them and successfully get the same
> values
> >> > which were inserted ?
> >> >
> >> > Thanks,
> >> > -Alexey
> >> >
> >> > [1] https://issues.apache.org/jira/browse/IGNITE-8039
> >> > [2] https://issues.apache.org/jira/browse/IGNITE-8212
> >> >
> >> > 25.04.2018 0:11, Aleksandr Sokolovskii пишет:
> >> >> ...forgot OP_RESOURCE_CLOSE that is implemented also.
> >> >>
> >> >> Thanks,
> >> >> Aleksandr
> >> >>
> >> >> Thanks,
> >> >> Aleksandr
> >> >>
> >> >> On 25 April 2018 at 00:06, Aleksandr Sokolovskii <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