MCPcopy Create free account
hub / github.com/apache/madlib / array_add

Function array_add

methods/array_ops/src/pg_gp/array_ops.c:660–680  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

658 */
659PG_FUNCTION_INFO_V1(array_add);
660Datum
661array_add(PG_FUNCTION_ARGS){
662 // special handling for madlib.sum()
663 if (PG_ARGISNULL(0) && PG_ARGISNULL(1)) { PG_RETURN_NULL(); }
664 if (PG_ARGISNULL(0)) {
665 PG_RETURN_ARRAYTYPE_P(PG_GETARG_ARRAYTYPE_P(1));
666 }
667 if (PG_ARGISNULL(1)) {
668 PG_RETURN_ARRAYTYPE_P(PG_GETARG_ARRAYTYPE_P(0));
669 }
670
671 ArrayType *v1 = PG_GETARG_ARRAYTYPE_P(0);
672 ArrayType *v2 = PG_GETARG_ARRAYTYPE_P(1);
673
674 ArrayType *res = General_2Array_to_Array(v1, v2, element_add);
675
676 PG_FREE_IF_COPY(v1, 0);
677 PG_FREE_IF_COPY(v2, 1);
678
679 PG_RETURN_ARRAYTYPE_P(res);
680}
681
682/*
683 * This function returns the element-wise difference of two arrays.

Callers

nothing calls this directly

Calls 1

General_2Array_to_ArrayFunction · 0.85

Tested by

no test coverage detected