The behavior of cass_value_is_null() is confusing and inconsistent with cass_row_get_column_by_name().
cass_row_get_column_by_name() returns NULL pointer if column value doesn't exist but if you check this return value with cass_value_is_null() you will get a SEGFAULT because it directly calls value->is_null() without checking passed pointer for NULL. I believe it should check if pointer is NULL first and return true.
Alternatively cass_row_get_column_by_name() should return non-NULL pointer to CassValue that would return TRUE on is_null() check.
Also I couldn't understand in what case cass_value_is_null() will return true.