Open youngsofun opened 2 hours ago
cc @hantmac @ZhiHanZ @sundy-li @TCeason
can it phase into depending on the rust core? cc @Xuanwo can you share some experience about opendal's java binding?
can it phase into depending on the rust core? cc @Xuanwo can you share some experience about opendal's java binding?
Well, it's relatively easy—just exposing some Rust API to the Java side. We can reuse the existing JDBC related code and replace the core (http related things)
so, let's move forward to the rust core on jdbc?
so, let's move forward to the rust core on jdbc?
Here is my +1 vote. I prefer to go with the rust direction. Maintaining a Rust core and utilizing it across our SDKs will dramatically reduce costs.
the current
DatabendQueryClient
incom.databend.client
is in fact a ResultSet, so it is not possible to extend other API based on it, especially session related ones.Option 1
like in our go and rust clients, there is a core Client class with almost full capability and low level interface, and a Conn class to adopt to driver interface (not so strict in go, since Conn is bring into some low level).
need to create a new
DatabendClient
incom.databend.client
and move some logic fromcom.databend.jdbc
to it.Option 2
if a low level Java API is not useful at all, we can combine
com.databend.client
intocom.databend.jdbc
directly. bendsql need it for cli and multi language support?