--- pointcloud-1.0.1/pgsql/pc_access.c.orig 2016-02-07 08:01:10.553181345 +0700 +++ pointcloud-1.0.1/pgsql/pc_access.c 2016-02-07 08:01:39.528225276 +0700 @@ -313,15 +313,7 @@ (errcode(ERRCODE_INVALID_PARAMETER_VALUE), errmsg("could not determine input data type"))); - if (fcinfo->context && IsA(fcinfo->context, AggState)) - { - aggcontext = ((AggState *) fcinfo->context)->aggcontext; - } - else if (fcinfo->context && IsA(fcinfo->context, WindowAggState)) - { - aggcontext = ((WindowAggState *) fcinfo->context)->aggcontext; - } - else + if ( ! AggCheckCallContext(fcinfo, &aggcontext) ) { /* cannot be called directly because of dummy-type argument */ elog(ERROR, "pointcloud_agg_transfn called in non-aggregate context");