the current DatabendQueryClient in com.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 in com.databend.client and move some logic from com.databend.jdbc to it.
Option 2
if a low level Java API is not useful at all, we can combine com.databend.client into com.databend.jdbc directly.
bendsql need it for cli and multi language support?
the current
DatabendQueryClientincom.databend.clientis 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
DatabendClientincom.databend.clientand move some logic fromcom.databend.jdbcto it.Option 2
if a low level Java API is not useful at all, we can combine
com.databend.clientintocom.databend.jdbcdirectly.bendsql need it for cli and multi language support?