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

◆ pg_nd_stats_from_tuple()

static ND_STATS * pg_nd_stats_from_tuple ( HeapTuple  stats_tuple,
int  mode 
)
static

Definition at line 771 of file gserialized_estimate.c.

772{
773 int stats_kind = STATISTIC_KIND_ND;
774 int rv;
775 ND_STATS *nd_stats;
776
777 /* If we're in 2D mode, set the kind appropriately */
778 if ( mode == 2 ) stats_kind = STATISTIC_KIND_2D;
779
780 /* Then read the geom status histogram from that */
781 {
782 AttStatsSlot sslot;
783 rv = get_attstatsslot(&sslot, stats_tuple, stats_kind, InvalidOid,
784 ATTSTATSSLOT_NUMBERS);
785 if ( ! rv ) {
786 POSTGIS_DEBUGF(2, "no slot of kind %d in stats tuple", stats_kind);
787 return NULL;
788 }
789
790 /* Clone the stats here so we can release the attstatsslot immediately */
791 nd_stats = palloc(sizeof(float4) * sslot.nnumbers);
792 memcpy(nd_stats, sslot.numbers, sizeof(float4) * sslot.nnumbers);
793
794 free_attstatsslot(&sslot);
795 }
796 return nd_stats;
797}
#define STATISTIC_KIND_2D
#define STATISTIC_KIND_ND

References STATISTIC_KIND_2D, and STATISTIC_KIND_ND.

Referenced by gserialized_sel_internal(), and pg_get_nd_stats().

Here is the caller graph for this function: