I will put a note in the release note and the news item for the next release as I have done for previous releases where there are breaking changes or important things to note.

I have a WIP copy of the release notes on a separate branch, so that we don't accidentally publish them if we deploy the Avatica site before the next release. See https://github.com/Boostport/calcite-avatica-go/blob/4.0.0-release-notes/site/_docs/go_history.md

Francis

On 10/01/2019 8:12 am, Julian Hyde wrote:
Breaking changes should be part of release notes, i.e. 
https://calcite.apache.org/avatica/docs/go_history.html 
<https://calcite.apache.org/avatica/docs/go_history.html>. We’ve not been very 
disciplined in doing this, but let’s do better.

I see no reason why we could not start writing the release notes for the next 
release, and add breaking changes to that page as we commit them.

Julian
On Jan 9, 2019, at 1:04 PM, Josh Elser <[email protected]> wrote:

Nice write up, Francis.

Do we have a corner of the Avatica website for the Go-driver yet which you 
could use to memorialize this? Thinking that it might be more readily found 
than via mailing list archives.

On 1/6/19 10:38 PM, Francis Chuang wrote:
This is a heads up regarding a breaking change that is currently in avatica-go 
master and will be released as the next major version, 4.0.0.
In Apache Phoenix, string columns set to null or an empty string ("") are 
considered to be equivalent. For more details on why this is the case see [1].
While fixing a bug to correctly work with null values in avatica-go [2], I had 
to break existing behavior.
Previous behavior: A string column set to null or an empty string will be 
returned as an empty string.
New behavior: A string column set to null or an empty string will be returned 
as a null.
The reason for this change is to take advantage of Go's database/sql package's 
builtin NullString type [3]. This type allows userland code to scan nullable 
columns into a variable without any errors.
Note: This breaking change will be part of 4.0.0 and will not affect users 
using 3.x.x. However, to take advantage of database/sql's null types, you will 
need to upgrade to 4.0.0 (when it is released) and upgrade your import paths to 
github.com/apache/calcite-avatica-go/v4
This change is only applicable for Apache Phoenix and will not affect HSQLDB.
[1] https://issues.apache.org/jira/browse/PHOENIX-947
[2] https://issues.apache.org/jira/browse/CALCITE-2763
[3] https://golang.org/pkg/database/sql/#NullString



Reply via email to