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