24.05.2021 14:59, Mark Rotteveel wrote:
It is an API change, for two reasons: 1) you increase the valid range of values, and 2) it's similar to changing from a signed 16-bit integer to a signed 32-bit integer, which I assume would definitely be an API change in your book. I think you're thinking about this like "both are 16-bit, what could be the problem".

Expectations of people using the API (point 1), and tools compiled against the API (point 2) will break if you change something from signed to unsigned.

Tools compiled with headers where sqllen is signed expect valid range length 1-MAX_SHORT. As long as Firebird keeps values in this range - everything is fine for them and Firebird will do it as long as it works with databases designed for these tools. That's why I suggested to change it to unsigned now (in v4) but put off implementation of anything that can run out of the range till v5 giving tools' writers enough time to adapt to changes or run out of business.

--
  WBR, SD.


Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel

Reply via email to