While our function works, it adds nothing in the preceding code just using
SELECT A + B, but functions written in C are capable of so much more. Let's start adding some more functionality to our function.
Notice the use of
STRICT keyword in the
CREATE FUNCTION add(int a, int b) in the previously mentioned code. This means that the function will not be called if any of the arguments are
NULL, but instead
NULL is returned straight away. This is similar to how most PostgreSQL operators works, including the
+ sign when adding two integers—if any of the arguments are
NULL the complete result is
NULL as well.
Next, we will extend our function to be smarter about
NULL inputs and act ...