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