Apache Calcite Avatica Go 4.0.0 is a major release with numerous improvements and a breaking change for Apache Phoenix. As this is a new major version, users of this package will need to upgrade their import paths to "github.com/apache/calcite-avatica-go/v4".

Breaking change for Apache Phoenix (CALCITE-2763): In Apache Phoenix, null and empty strings are equivalent. For some background on why this is the case, see PHOENIX-947. In version 3 of Avatica-Go and below, null and empty strings are returned as an empty string "" to the client. This prevented database/sql’s built in NullString type from working correctly. From 4.0.0 onwards, null and empty strings will be returned as a nil. This allows the usage of the sql.NullString type.

For this release, both dep and Go modules are supported for package management. As Go modules will be turned on by default in Go 1.13.0 (estimated to be released in September/October 2019), it is highly recommended that users of this package start migrating to using Go modules to ease the transition.

The Calcite team recommends users of this package to upgrade to this version, where practical, as the dependencies being used by this package have also been upgraded.

See the release notes; download the release.