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