PostGIS 3.0.6dev-r@@SVN_REVISION@@
Loading...
Searching...
No Matches

◆ rtpg_nmapalgebraexpr_arg_init()

static rtpg_nmapalgebraexpr_arg rtpg_nmapalgebraexpr_arg_init ( int  cnt,
char **  kw 
)
static

Definition at line 1052 of file rtpg_mapalgebra.c.

1052 {
1053 rtpg_nmapalgebraexpr_arg arg = NULL;
1054 int i = 0;
1055
1056 arg = palloc(sizeof(struct rtpg_nmapalgebraexpr_arg_t));
1057 if (arg == NULL) {
1058 elog(ERROR, "rtpg_nmapalgebraexpr_arg_init: Could not allocate memory for arguments");
1059 return NULL;
1060 }
1061
1063 if (arg->bandarg == NULL) {
1064 elog(ERROR, "rtpg_nmapalgebraexpr_arg_init: Could not allocate memory for arg->bandarg");
1065 return NULL;
1066 }
1067
1068 arg->callback.kw.count = cnt;
1069 arg->callback.kw.val = kw;
1070
1071 arg->callback.exprcount = 3;
1072 for (i = 0; i < arg->callback.exprcount; i++) {
1073 arg->callback.expr[i].spi_plan = NULL;
1074 arg->callback.expr[i].spi_argcount = 0;
1075 arg->callback.expr[i].spi_argpos = palloc(cnt * sizeof(uint8_t));
1076 if (arg->callback.expr[i].spi_argpos == NULL) {
1077 elog(ERROR, "rtpg_nmapalgebraexpr_arg_init: Could not allocate memory for spi_argpos");
1078 return NULL;
1079 }
1080 memset(arg->callback.expr[i].spi_argpos, 0, sizeof(uint8_t) * cnt);
1081 arg->callback.expr[i].hasval = 0;
1082 arg->callback.expr[i].val = 0;
1083 }
1084
1085 arg->callback.nodatanodata.hasval = 0;
1086 arg->callback.nodatanodata.val = 0;
1087
1088 return arg;
1089}
static rtpg_nmapalgebra_arg rtpg_nmapalgebra_arg_init()
rtpg_nmapalgebraexpr_callback_arg callback
rtpg_nmapalgebra_arg bandarg
struct rtpg_nmapalgebraexpr_callback_arg::@18 expr[3]
struct rtpg_nmapalgebraexpr_callback_arg::@20 kw
struct rtpg_nmapalgebraexpr_callback_arg::@19 nodatanodata

References rtpg_nmapalgebraexpr_arg_t::bandarg, rtpg_nmapalgebraexpr_arg_t::callback, rtpg_nmapalgebraexpr_callback_arg::count, rtpg_nmapalgebraexpr_callback_arg::expr, rtpg_nmapalgebraexpr_callback_arg::exprcount, rtpg_nmapalgebraexpr_callback_arg::hasval, rtpg_nmapalgebraexpr_callback_arg::kw, rtpg_nmapalgebraexpr_callback_arg::nodatanodata, rtpg_nmapalgebra_arg_init(), rtpg_nmapalgebraexpr_callback_arg::spi_argcount, rtpg_nmapalgebraexpr_callback_arg::spi_argpos, rtpg_nmapalgebraexpr_callback_arg::spi_plan, and rtpg_nmapalgebraexpr_callback_arg::val.

Referenced by RASTER_nMapAlgebraExpr().

Here is the call graph for this function:
Here is the caller graph for this function: