On 11-08-2022 17:58, Vlad Khorsun wrote:
11.08.2022 17:26, Mark Rotteveel wrote:
On 11-08-2022 16:21, Vlad Khorsun wrote:
11.08.2022 17:10, Mark Rotteveel wrote:
Why was this NULL behaviour chosen?

   To make BLOB_APPEND more convenient for users.

I don't understand how using a different NULL behaviour then standard for operations in SQL/Firebird is convenient.

   There is no standard defined operation for appending blobs, afaik.

I am talking about the general expectations raised by the SQL standard (and Firebird itself) regarding behaviour when faced with NULL, and that is, in general, that when one of the inputs of a function, operation, or other expression is NULL, the result is NULL.

And given concatenation is defined for BLOBs in the standard, with the normal NULL behaviour, I would expect this appending to follow the same basic rules.

To me it sounds like something that will result in confusion because of the difference with normal concatenation, but OK.

  The BLOB_APPEND is not CONCATENATION, it is non-standard function with custom semantics.

It is a non-standard function that is intended to be used in places where you'd otherwise use concatenation. To me that means semantics of concatenation should be applied.

Mark

--
Mark Rotteveel


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

Reply via email to