Adding functionality to add(int, int)

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. So let's start adding some more functionality to our function.

Smart handling of NULL arguments

Notice the use of a 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 straightaway. This is similar to how most PostgreSQL operators work, 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 ...

Get PostgreSQL Server Programming - Second Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.