-
Notifications
You must be signed in to change notification settings - Fork 71
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Feature Request] A native Golang driver without C #64
Comments
Thank you for your suggestion. We will consider it. |
I also vote for this. |
It would be of great help to have a native driver (effectively considering the fact that other languages are implemented natively). So +1. |
+1 |
2 similar comments
+1 |
+1 |
Any progress on this issue? It would be great to get positive developers answer like "alright guys it's almost ready" 🙄😁 |
This driver is currently fairly useless due to ridiculous number of issues with seabolt, as it requires more effort to build than writing actual code in the library consumer. I sincerely hope this feature request gets prioritized high. Having external dependencies is counter to golang's conventions, and the dependencies themselves are have very unconventional linkage, preventing them from building anywhere but the particularly configured linux machines neo4j devs use. Or so it seems. At least it doesn't build on neither mac or windows, and following their instructions doesn't help. In addition cross-compiling is a widely-used feature of golang that anything using this library wouldn't be able to take advantage of. |
We have definitely heard the Go community's strong opinions on this, and do plan to re-approach the architecture of the Go Driver. As yet, I cannot give a timescale though, as this is a non-trivial piece of work. |
@technige I have been doing some work to integrate Neo4j into the standard go ecosystem, but this c library makes it pretty much a nonstarter. I took at look at gobolt, the connecting library between seabolt and this driver, and it seems like there is already solid encapsulation of logic, with the implementation limited to the |
There will be a pure Go version of this driver, ongoing work on 1.8-dev branch. After that we will continue with a 4.0 driver to support new featues in ne4j server 4.0 |
Is there a timeline of when the 1.8 driver will be released? |
There is a beta release of a pure/native Go driver with this tag: v1.8.0-beta01 Would be very grateful of any testing and feedback on it! There are no changes to the API but be aware that only bolt protocol version 3 is supported (neo4j server 3.5 and above). |
I'm trying out the beta version with the minimum viable snippet. Got the following panic at session.Run |
@yasithA what version of neo4j are you using? |
@yasithA when connecting to a neo4j v4 server you need to disable encryption since the server no longer generates certificates automagically. So you need to tweak the snippet a bit, pass in thus func as last parameter to neo4j.NewDriver: |
@2hdddg It works when c.Encrypted set to false. Thanks! :) neo4j version is 4.0.3. |
@2hdddg I am unable to test the new driver at this time because of other work commitments, but will in the future. Thank you for working on this! |
I saw all other drivers (Java, Python, .NET) are implemented purely in its language, except Go is a wrapper of C. But it causes difficult build and relies on cgo. So can we develop a purely Go native driver?
The text was updated successfully, but these errors were encountered: