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
Roadmap 2021 #537
Comments
Hi @zhicwu , I am excited to see a renewed activity in this project. I think it is important that the official JDBC driver is maintained. Please let me know if there is anything I can help with. |
Thanks @enqueue, looking forward to work with you to carry on the development :) I'm focusing on |
No need to hurry regarding new features. I will try to to help and take a dab at the items for 0.2.5 if you don't mind. |
Sure. Feel free to ping me on Telegram :) |
Roadmap is very nice, |
Thanks for your effort, there sure is a lot on the roadmap for this year, and you already delivered some bugfixes and improvements! Most of the items sound very reasonable. There are three topics I would like to see represented a little bit more: JDBC compatibilityThis is a JDBC driver, not just a Java library for talking more easily to ClickHouse. We should strive for better JDBC compatibilit. I think that @serge-rider might have some valuable input here, too.
Cleaner codeThe code has seen a couple of authors, each one of them using an individual style, and having different preferences regarding patterns. Bringing more consistency into this would help everybody to understand the code better and improve quality. Here are a couple of ideas:
Control non-JDBC APIThe driver also provides some proprietary API, and this obviously has its benefits, too. However, I have seen some situations in which it was not clear, whether a method on e.g.
PerformanceThe other community members are much more knowledgeable about performance than me, here is just a simple observation: Perhaps we can discuss the items together, drop the ones which are not interesting to the community, create tickets for the remaining ones and bring them in order according to this roadmap. Do you see a chance for a short chat or virtual meeting with the major stakeholders and users? |
These are great inputs! IMO, put the repository name aside, I'm with you on JDBC compliance. That's why I created #545 and suggested to introduce a new setting. On the other hand, we probably don't have to completely follow JDBC standards - not only because ClickHouse has its own limitation(like transaction support, server-side cursor etc.), but also to save time so that we can focus on things that matter the most(like more data types support, streaming, caching, stability etc.). It seems we'd better restructure the code early using multiple modules/packages. I think we can start to create more issues/feature requests and add them into the release plan, starting from 0.3.0. I'm sure we can fill the gap between 0.4 and 1.0 quickly ;) And of course it's a plan that we can change as needed. Some more comments:
|
hi, i look forward to contributing to clickhouse-jdbc, but I am not quite sure about the content of the work that needs to be done at present. I didn't find any |
Sorry for the late response @Veryfirefly. Of course you can help :) I'm still in the middle of refactoring, but I think you can start with unassigned issues. Alternatively, if you have some new ideas regarding this driver, or Java client to be more specific, please feel free to create new issue for discussion and then submit a pull request for implementation. |
Thanks, how to claim an issues, i am not very clear , sorry... |
That's fine. Ping me (zhicwu) on Telegram/Slack and we can discuss more there. |
When will 0.3.2 be released, |
It's taking much longer time than I thought. I don't have an exact ETA at this point, but I'll create a few "beta" releases for public testing, after getting the new driver merged.
Are you using jdbc batch insertion? You can use extended API before 0.3.2. Feel free to open a new issue for discussion. |
Close this one and move unfinished items to #784. |
0.2.xFocus on bug fixes, small enhancements, and backward compatibility...
0.2.5switch to github actions for consistencyuse testcontainer for integration test0.2.6enable retry for idempotent queries(as workaround ofhost failed to respond
)new sql parseruse basic auth instead of query parameters for authentication0.3.x
Focus on new features, code clean up, and abstraction which may break existing interfaces/APIs...
Previous releases...
0.3.0BREAKING CHANGE: drop JDK7 supportBREAKING CHANGE: remove Guava dependency (UnsignedLong
is removed, please uselong
(faster) orBigInteger
(slower) instead forUInt64
)~~Note: shaded jar is now ~3.65MB(was 7.19MB in 0.2.6, and 5.68MB in 0.2.4).~~
JDBC 4.2 supportmore data types (including aliases) like IPv4, IPv6, DateTime64, *Int128, *Int256, Decimal256 and MapNote:UInt128
will be supported soon on server side.RoaringBitmap support - please use latest RoaringBitmaprestructure code (clickhouse-jdbc
for JDBC compliance, andclickhouse-*client
for efficiency and consistent behaviors like any other clickhouse client, see Proposal of restructuring code (RFC) #570)performance test (clickhouse-jdbc
vs.clickhouse4j
vs.clickhouse-native-jdbc
vs.mariadb-java-client
)CI enhancement: checkstyle, spellcheck & SonarCloud0.3.1BREAKING CHANGE: remove deprecated stuffNote: will also drop fallback of SQL parsing
BREAKING CHANGE: exclude roaringbitmap in uber jar and remove jitpack.io maven repository - see Could not find com.github.RoaringBitmap:RoaringBitmap:0.9.9 #603multi-statement support - only return the last resultOngoing releases...
clickhouse-client
, experimentalclickhouse-grpc-client
, and HttpURLConnection-basedclickhouse-http-client
clickhouse-client
)com.clickhouse.jdbc.ClickHouseDriver
) built on top ofclickhouse-client
Note: both old and new drivers will co-exist in 0.3.x series and the old one will be removed starting from 0.4.
jackson-databind
andjackson-core
bygson
The text was updated successfully, but these errors were encountered: