Hi all,

I am cross posting this from the Calcite mailing list, since the phoenix query server uses Avatica from the Calcite project.

Go 1.8 was released recently and the database/sql package saw a lot of new features. I just tagged the v1.3.0 release for the Go Avatica driver[0] which ships all of these new features.

The full list of changes in the database/sql package is available here: https://docs.google.com/document/d/1F778e7ZSNiSmbju3jsEWzShcb8lIO4kDyfKDNm4PNd8/edit

Backwards compatibility:

- The new interfaces/methods are all additive. The implementation is also backwards compatible, so v1.3.0 will work with Go 1.7.x and below.

Highlights:

- Methods now support using context to enable cancellation and timeouts so that queries can be cancelled on the client side. Note: Since there is no mechanism to cancel queries on the server, once a query is sent to the server, users should assume that it will be executed.

- The Ping method will now connect to the server and execute `SELECT 1` to ensure that the server is ok.

- More column type information: It is now possible to get the column name, type, length, precision + scale, nullability and the Go scan type for a column in a result set.

- Support for multiple result sets. Avatica had support for multiple result sets for a while and this mapped really well to the multiple result sets support introduced in Go 1.8.

Unimplemented features:

- Since Calcite/Avatica does not support named bind parameters in prepared statements, the driver will throw an error if you try to use them.

If you have any question or comments, please let me know!

Cheers,

Francis

[0] https://github.com/Boostport/avatica

Reply via email to