size_t querysize;
GEOM_STATS geomstats;
float reltuples;
+ Datum binval;
if ( PG_NARGS() == 3 )
{
tuple = tuptable->vals[0];
/* Check if the table has zero rows first */
- reltuples = DatumGetFloat4(SPI_getbinval(tuple, tupdesc, 2, &isnull));
+ binval = SPI_getbinval(tuple, tupdesc, 2, &isnull);
if (isnull)
{
SPI_finish();
PG_RETURN_NULL();
}
+ reltuples = DatumGetFloat4(binval);
if ( ! reltuples )
{
POSTGIS_DEBUG(3, "table has estimated zero rows");
PG_RETURN_NULL();
}
- array = DatumGetArrayTypeP(SPI_getbinval(tuple, tupdesc, 1, &isnull));
+ binval = SPI_getbinval(tuple, tupdesc, 1, &isnull);
if (isnull)
{
SPI_finish();
PG_RETURN_NULL();
}
+ array = DatumGetArrayTypeP(binval);
if ( ArrayGetNItems(ARR_NDIM(array), ARR_DIMS(array)) != 4 )
{
elog(ERROR, " corrupted histogram");