PostGIS 3.6.2dev-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 775 of file gserialized_estimate.c.

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