From 6c9f8058eb0277ae0ddad323506f5c9377167e9f Mon Sep 17 00:00:00 2001 From: Paul Ramsey <pramsey@cleverelephant.ca> Date: Wed, 24 May 2017 18:55:17 +0000 Subject: [PATCH] #3758, regression failure on stats. Add test data as static COPY, not dynamic generation, since change in generate_series caused probs git-svn-id: http://svn.osgeo.org/postgis/trunk@15401 b70326c6-7e19-0410-871a-916f4a2858ee --- postgis/gserialized_estimate.c | 12 +- regress/regress_selectivity.sql | 2147 ++++++++++++++++++++++++++++++- 2 files changed, 2147 insertions(+), 12 deletions(-) diff --git a/postgis/gserialized_estimate.c b/postgis/gserialized_estimate.c index 760b521d2..5768dbdae 100644 --- a/postgis/gserialized_estimate.c +++ b/postgis/gserialized_estimate.c @@ -824,7 +824,7 @@ pg_nd_stats_from_tuple(HeapTuple stats_tuple, int mode) /* If we're in 2D mode, set the kind appropriately */ if ( mode == 2 ) stats_kind = STATISTIC_KIND_2D; - /* Then read the geom status histogram from that */ + /* Then read the geom status histogram from that */ #if POSTGIS_PGSQL_VERSION < 100 float4 *floatptr; @@ -845,9 +845,9 @@ pg_nd_stats_from_tuple(HeapTuple stats_tuple, int mode) /* Clean up */ free_attstatsslot(0, NULL, 0, floatptr, nvalues); -#else /**10 or higher **/ +#else /* PostgreSQL 10 or higher */ AttStatsSlot sslot; - rv = get_attstatsslot(&sslot,stats_tuple, stats_kind, InvalidOid, + rv = get_attstatsslot(&sslot, stats_tuple, stats_kind, InvalidOid, ATTSTATSSLOT_NUMBERS); if ( ! rv ) { POSTGIS_DEBUGF(2, @@ -856,13 +856,13 @@ pg_nd_stats_from_tuple(HeapTuple stats_tuple, int mode) } /* Clone the stats here so we can release the attstatsslot immediately */ - nd_stats = palloc(sizeof(float) * sslot.nnumbers); - memcpy(nd_stats, sslot.numbers, sizeof(float) * sslot.nnumbers); + nd_stats = palloc(sizeof(float4) * sslot.nnumbers); + memcpy(nd_stats, sslot.numbers, sizeof(float4) * sslot.nnumbers); free_attstatsslot(&sslot); #endif - return nd_stats; + return nd_stats; } /** diff --git a/regress/regress_selectivity.sql b/regress/regress_selectivity.sql index 82c5e70d8..ca7f2722d 100644 --- a/regress/regress_selectivity.sql +++ b/regress/regress_selectivity.sql @@ -1,3 +1,2140 @@ +-- Make example data + +CREATE TABLE regular_overdots_ab ( + a integer, + b integer +); + +COPY regular_overdots_ab (a, b) FROM stdin; +1 1 +1 1 +1 2 +1 1 +1 2 +1 3 +1 1 +1 2 +1 3 +1 4 +1 1 +1 2 +1 3 +1 4 +1 5 +1 1 +1 2 +1 3 +1 4 +1 5 +1 6 +1 1 +1 2 +1 3 +1 4 +1 5 +1 6 +1 7 +1 1 +1 2 +1 3 +1 4 +1 5 +1 6 +1 7 +1 8 +1 1 +1 2 +1 3 +1 4 +1 5 +1 6 +1 7 +1 8 +1 9 +1 1 +1 2 +1 3 +1 4 +1 5 +1 6 +1 7 +1 8 +1 9 +1 10 +1 1 +2 1 +1 1 +2 2 +1 1 +2 2 +1 3 +2 1 +1 2 +2 3 +1 1 +2 2 +1 3 +2 4 +1 1 +2 2 +1 3 +2 4 +1 5 +2 1 +1 2 +2 3 +1 4 +2 5 +1 1 +2 2 +1 3 +2 4 +1 5 +2 6 +1 1 +2 2 +1 3 +2 4 +1 5 +2 6 +1 7 +2 1 +1 2 +2 3 +1 4 +2 5 +1 6 +2 7 +1 1 +2 2 +1 3 +2 4 +1 5 +2 6 +1 7 +2 8 +1 1 +2 2 +1 3 +2 4 +1 5 +2 6 +1 7 +2 8 +1 9 +2 1 +1 2 +2 3 +1 4 +2 5 +1 6 +2 7 +1 8 +2 9 +1 1 +2 2 +1 3 +2 4 +1 5 +2 6 +1 7 +2 8 +1 9 +2 10 +1 1 +2 1 +3 1 +1 1 +2 2 +3 1 +1 2 +2 1 +3 2 +1 1 +2 2 +3 3 +1 1 +2 2 +3 3 +1 4 +2 1 +3 2 +1 3 +2 4 +3 1 +1 2 +2 3 +3 4 +1 1 +2 2 +3 3 +1 4 +2 5 +3 1 +1 2 +2 3 +3 4 +1 5 +2 1 +3 2 +1 3 +2 4 +3 5 +1 1 +2 2 +3 3 +1 4 +2 5 +3 6 +1 1 +2 2 +3 3 +1 4 +2 5 +3 6 +1 7 +2 1 +3 2 +1 3 +2 4 +3 5 +1 6 +2 7 +3 1 +1 2 +2 3 +3 4 +1 5 +2 6 +3 7 +1 1 +2 2 +3 3 +1 4 +2 5 +3 6 +1 7 +2 8 +3 1 +1 2 +2 3 +3 4 +1 5 +2 6 +3 7 +1 8 +2 1 +3 2 +1 3 +2 4 +3 5 +1 6 +2 7 +3 8 +1 1 +2 2 +3 3 +1 4 +2 5 +3 6 +1 7 +2 8 +3 9 +1 1 +2 2 +3 3 +1 4 +2 5 +3 6 +1 7 +2 8 +3 9 +1 10 +2 1 +3 2 +1 3 +2 4 +3 5 +1 6 +2 7 +3 8 +1 9 +2 10 +3 1 +1 2 +2 3 +3 4 +1 5 +2 6 +3 7 +1 8 +2 9 +3 10 +1 1 +2 1 +3 1 +4 1 +1 1 +2 2 +3 1 +4 2 +1 1 +2 2 +3 3 +4 1 +1 2 +2 3 +3 1 +4 2 +1 3 +2 1 +3 2 +4 3 +1 1 +2 2 +3 3 +4 4 +1 1 +2 2 +3 3 +4 4 +1 5 +2 1 +3 2 +4 3 +1 4 +2 5 +3 1 +4 2 +1 3 +2 4 +3 5 +4 1 +1 2 +2 3 +3 4 +4 5 +1 1 +2 2 +3 3 +4 4 +1 5 +2 6 +3 1 +4 2 +1 3 +2 4 +3 5 +4 6 +1 1 +2 2 +3 3 +4 4 +1 5 +2 6 +3 7 +4 1 +1 2 +2 3 +3 4 +4 5 +1 6 +2 7 +3 1 +4 2 +1 3 +2 4 +3 5 +4 6 +1 7 +2 1 +3 2 +4 3 +1 4 +2 5 +3 6 +4 7 +1 1 +2 2 +3 3 +4 4 +1 5 +2 6 +3 7 +4 8 +1 1 +2 2 +3 3 +4 4 +1 5 +2 6 +3 7 +4 8 +1 9 +2 1 +3 2 +4 3 +1 4 +2 5 +3 6 +4 7 +1 8 +2 9 +3 1 +4 2 +1 3 +2 4 +3 5 +4 6 +1 7 +2 8 +3 9 +4 1 +1 2 +2 3 +3 4 +4 5 +1 6 +2 7 +3 8 +4 9 +1 1 +2 2 +3 3 +4 4 +1 5 +2 6 +3 7 +4 8 +1 9 +2 10 +3 1 +4 2 +1 3 +2 4 +3 5 +4 6 +1 7 +2 8 +3 9 +4 10 +1 1 +2 1 +3 1 +4 1 +5 1 +1 1 +2 2 +3 1 +4 2 +5 1 +1 2 +2 1 +3 2 +4 1 +5 2 +1 1 +2 2 +3 3 +4 1 +5 2 +1 3 +2 1 +3 2 +4 3 +5 1 +1 2 +2 3 +3 1 +4 2 +5 3 +1 1 +2 2 +3 3 +4 4 +5 1 +1 2 +2 3 +3 4 +4 1 +5 2 +1 3 +2 4 +3 1 +4 2 +5 3 +1 4 +2 1 +3 2 +4 3 +5 4 +1 1 +2 2 +3 3 +4 4 +5 5 +1 1 +2 2 +3 3 +4 4 +5 5 +1 6 +2 1 +3 2 +4 3 +5 4 +1 5 +2 6 +3 1 +4 2 +5 3 +1 4 +2 5 +3 6 +4 1 +5 2 +1 3 +2 4 +3 5 +4 6 +5 1 +1 2 +2 3 +3 4 +4 5 +5 6 +1 1 +2 2 +3 3 +4 4 +5 5 +1 6 +2 7 +3 1 +4 2 +5 3 +1 4 +2 5 +3 6 +4 7 +5 1 +1 2 +2 3 +3 4 +4 5 +5 6 +1 7 +2 1 +3 2 +4 3 +5 4 +1 5 +2 6 +3 7 +4 1 +5 2 +1 3 +2 4 +3 5 +4 6 +5 7 +1 1 +2 2 +3 3 +4 4 +5 5 +1 6 +2 7 +3 8 +4 1 +5 2 +1 3 +2 4 +3 5 +4 6 +5 7 +1 8 +2 1 +3 2 +4 3 +5 4 +1 5 +2 6 +3 7 +4 8 +5 1 +1 2 +2 3 +3 4 +4 5 +5 6 +1 7 +2 8 +3 1 +4 2 +5 3 +1 4 +2 5 +3 6 +4 7 +5 8 +1 1 +2 2 +3 3 +4 4 +5 5 +1 6 +2 7 +3 8 +4 9 +5 1 +1 2 +2 3 +3 4 +4 5 +5 6 +1 7 +2 8 +3 9 +4 1 +5 2 +1 3 +2 4 +3 5 +4 6 +5 7 +1 8 +2 9 +3 1 +4 2 +5 3 +1 4 +2 5 +3 6 +4 7 +5 8 +1 9 +2 1 +3 2 +4 3 +5 4 +1 5 +2 6 +3 7 +4 8 +5 9 +1 1 +2 2 +3 3 +4 4 +5 5 +1 6 +2 7 +3 8 +4 9 +5 10 +1 1 +2 1 +3 1 +4 1 +5 1 +6 1 +1 1 +2 2 +3 1 +4 2 +5 1 +6 2 +1 1 +2 2 +3 3 +4 1 +5 2 +6 3 +1 1 +2 2 +3 3 +4 4 +5 1 +6 2 +1 3 +2 4 +3 1 +4 2 +5 3 +6 4 +1 1 +2 2 +3 3 +4 4 +5 5 +6 1 +1 2 +2 3 +3 4 +4 5 +5 1 +6 2 +1 3 +2 4 +3 5 +4 1 +5 2 +6 3 +1 4 +2 5 +3 1 +4 2 +5 3 +6 4 +1 5 +2 1 +3 2 +4 3 +5 4 +6 5 +1 1 +2 2 +3 3 +4 4 +5 5 +6 6 +1 1 +2 2 +3 3 +4 4 +5 5 +6 6 +1 7 +2 1 +3 2 +4 3 +5 4 +6 5 +1 6 +2 7 +3 1 +4 2 +5 3 +6 4 +1 5 +2 6 +3 7 +4 1 +5 2 +6 3 +1 4 +2 5 +3 6 +4 7 +5 1 +6 2 +1 3 +2 4 +3 5 +4 6 +5 7 +6 1 +1 2 +2 3 +3 4 +4 5 +5 6 +6 7 +1 1 +2 2 +3 3 +4 4 +5 5 +6 6 +1 7 +2 8 +3 1 +4 2 +5 3 +6 4 +1 5 +2 6 +3 7 +4 8 +5 1 +6 2 +1 3 +2 4 +3 5 +4 6 +5 7 +6 8 +1 1 +2 2 +3 3 +4 4 +5 5 +6 6 +1 7 +2 8 +3 9 +4 1 +5 2 +6 3 +1 4 +2 5 +3 6 +4 7 +5 8 +6 9 +1 1 +2 2 +3 3 +4 4 +5 5 +6 6 +1 7 +2 8 +3 9 +4 10 +5 1 +6 2 +1 3 +2 4 +3 5 +4 6 +5 7 +6 8 +1 9 +2 10 +3 1 +4 2 +5 3 +6 4 +1 5 +2 6 +3 7 +4 8 +5 9 +6 10 +1 1 +2 1 +3 1 +4 1 +5 1 +6 1 +7 1 +1 1 +2 2 +3 1 +4 2 +5 1 +6 2 +7 1 +1 2 +2 1 +3 2 +4 1 +5 2 +6 1 +7 2 +1 1 +2 2 +3 3 +4 1 +5 2 +6 3 +7 1 +1 2 +2 3 +3 1 +4 2 +5 3 +6 1 +7 2 +1 3 +2 1 +3 2 +4 3 +5 1 +6 2 +7 3 +1 1 +2 2 +3 3 +4 4 +5 1 +6 2 +7 3 +1 4 +2 1 +3 2 +4 3 +5 4 +6 1 +7 2 +1 3 +2 4 +3 1 +4 2 +5 3 +6 4 +7 1 +1 2 +2 3 +3 4 +4 1 +5 2 +6 3 +7 4 +1 1 +2 2 +3 3 +4 4 +5 5 +6 1 +7 2 +1 3 +2 4 +3 5 +4 1 +5 2 +6 3 +7 4 +1 5 +2 1 +3 2 +4 3 +5 4 +6 5 +7 1 +1 2 +2 3 +3 4 +4 5 +5 1 +6 2 +7 3 +1 4 +2 5 +3 1 +4 2 +5 3 +6 4 +7 5 +1 1 +2 2 +3 3 +4 4 +5 5 +6 6 +7 1 +1 2 +2 3 +3 4 +4 5 +5 6 +6 1 +7 2 +1 3 +2 4 +3 5 +4 6 +5 1 +6 2 +7 3 +1 4 +2 5 +3 6 +4 1 +5 2 +6 3 +7 4 +1 5 +2 6 +3 1 +4 2 +5 3 +6 4 +7 5 +1 6 +2 1 +3 2 +4 3 +5 4 +6 5 +7 6 +1 1 +2 2 +3 3 +4 4 +5 5 +6 6 +7 7 +1 1 +2 2 +3 3 +4 4 +5 5 +6 6 +7 7 +1 8 +2 1 +3 2 +4 3 +5 4 +6 5 +7 6 +1 7 +2 8 +3 1 +4 2 +5 3 +6 4 +7 5 +1 6 +2 7 +3 8 +4 1 +5 2 +6 3 +7 4 +1 5 +2 6 +3 7 +4 8 +5 1 +6 2 +7 3 +1 4 +2 5 +3 6 +4 7 +5 8 +6 1 +7 2 +1 3 +2 4 +3 5 +4 6 +5 7 +6 8 +7 1 +1 2 +2 3 +3 4 +4 5 +5 6 +6 7 +7 8 +1 1 +2 2 +3 3 +4 4 +5 5 +6 6 +7 7 +1 8 +2 9 +3 1 +4 2 +5 3 +6 4 +7 5 +1 6 +2 7 +3 8 +4 9 +5 1 +6 2 +7 3 +1 4 +2 5 +3 6 +4 7 +5 8 +6 9 +7 1 +1 2 +2 3 +3 4 +4 5 +5 6 +6 7 +7 8 +1 9 +2 1 +3 2 +4 3 +5 4 +6 5 +7 6 +1 7 +2 8 +3 9 +4 1 +5 2 +6 3 +7 4 +1 5 +2 6 +3 7 +4 8 +5 9 +6 1 +7 2 +1 3 +2 4 +3 5 +4 6 +5 7 +6 8 +7 9 +1 1 +2 2 +3 3 +4 4 +5 5 +6 6 +7 7 +1 8 +2 9 +3 10 +4 1 +5 2 +6 3 +7 4 +1 5 +2 6 +3 7 +4 8 +5 9 +6 10 +7 1 +1 2 +2 3 +3 4 +4 5 +5 6 +6 7 +7 8 +1 9 +2 10 +3 1 +4 2 +5 3 +6 4 +7 5 +1 6 +2 7 +3 8 +4 9 +5 10 +6 1 +7 2 +1 3 +2 4 +3 5 +4 6 +5 7 +6 8 +7 9 +1 10 +2 1 +3 2 +4 3 +5 4 +6 5 +7 6 +1 7 +2 8 +3 9 +4 10 +5 1 +6 2 +7 3 +1 4 +2 5 +3 6 +4 7 +5 8 +6 9 +7 10 +1 1 +2 1 +3 1 +4 1 +5 1 +6 1 +7 1 +8 1 +1 1 +2 2 +3 1 +4 2 +5 1 +6 2 +7 1 +8 2 +1 1 +2 2 +3 3 +4 1 +5 2 +6 3 +7 1 +8 2 +1 3 +2 1 +3 2 +4 3 +5 1 +6 2 +7 3 +8 1 +1 2 +2 3 +3 1 +4 2 +5 3 +6 1 +7 2 +8 3 +1 1 +2 2 +3 3 +4 4 +5 1 +6 2 +7 3 +8 4 +1 1 +2 2 +3 3 +4 4 +5 5 +6 1 +7 2 +8 3 +1 4 +2 5 +3 1 +4 2 +5 3 +6 4 +7 5 +8 1 +1 2 +2 3 +3 4 +4 5 +5 1 +6 2 +7 3 +8 4 +1 5 +2 1 +3 2 +4 3 +5 4 +6 5 +7 1 +8 2 +1 3 +2 4 +3 5 +4 1 +5 2 +6 3 +7 4 +8 5 +1 1 +2 2 +3 3 +4 4 +5 5 +6 6 +7 1 +8 2 +1 3 +2 4 +3 5 +4 6 +5 1 +6 2 +7 3 +8 4 +1 5 +2 6 +3 1 +4 2 +5 3 +6 4 +7 5 +8 6 +1 1 +2 2 +3 3 +4 4 +5 5 +6 6 +7 7 +8 1 +1 2 +2 3 +3 4 +4 5 +5 6 +6 7 +7 1 +8 2 +1 3 +2 4 +3 5 +4 6 +5 7 +6 1 +7 2 +8 3 +1 4 +2 5 +3 6 +4 7 +5 1 +6 2 +7 3 +8 4 +1 5 +2 6 +3 7 +4 1 +5 2 +6 3 +7 4 +8 5 +1 6 +2 7 +3 1 +4 2 +5 3 +6 4 +7 5 +8 6 +1 7 +2 1 +3 2 +4 3 +5 4 +6 5 +7 6 +8 7 +1 1 +2 2 +3 3 +4 4 +5 5 +6 6 +7 7 +8 8 +1 1 +2 2 +3 3 +4 4 +5 5 +6 6 +7 7 +8 8 +1 9 +2 1 +3 2 +4 3 +5 4 +6 5 +7 6 +8 7 +1 8 +2 9 +3 1 +4 2 +5 3 +6 4 +7 5 +8 6 +1 7 +2 8 +3 9 +4 1 +5 2 +6 3 +7 4 +8 5 +1 6 +2 7 +3 8 +4 9 +5 1 +6 2 +7 3 +8 4 +1 5 +2 6 +3 7 +4 8 +5 9 +6 1 +7 2 +8 3 +1 4 +2 5 +3 6 +4 7 +5 8 +6 9 +7 1 +8 2 +1 3 +2 4 +3 5 +4 6 +5 7 +6 8 +7 9 +8 1 +1 2 +2 3 +3 4 +4 5 +5 6 +6 7 +7 8 +8 9 +1 1 +2 2 +3 3 +4 4 +5 5 +6 6 +7 7 +8 8 +1 9 +2 10 +3 1 +4 2 +5 3 +6 4 +7 5 +8 6 +1 7 +2 8 +3 9 +4 10 +5 1 +6 2 +7 3 +8 4 +1 5 +2 6 +3 7 +4 8 +5 9 +6 10 +7 1 +8 2 +1 3 +2 4 +3 5 +4 6 +5 7 +6 8 +7 9 +8 10 +1 1 +2 1 +3 1 +4 1 +5 1 +6 1 +7 1 +8 1 +9 1 +1 1 +2 2 +3 1 +4 2 +5 1 +6 2 +7 1 +8 2 +9 1 +1 2 +2 1 +3 2 +4 1 +5 2 +6 1 +7 2 +8 1 +9 2 +1 1 +2 2 +3 3 +4 1 +5 2 +6 3 +7 1 +8 2 +9 3 +1 1 +2 2 +3 3 +4 4 +5 1 +6 2 +7 3 +8 4 +9 1 +1 2 +2 3 +3 4 +4 1 +5 2 +6 3 +7 4 +8 1 +9 2 +1 3 +2 4 +3 1 +4 2 +5 3 +6 4 +7 1 +8 2 +9 3 +1 4 +2 1 +3 2 +4 3 +5 4 +6 1 +7 2 +8 3 +9 4 +1 1 +2 2 +3 3 +4 4 +5 5 +6 1 +7 2 +8 3 +9 4 +1 5 +2 1 +3 2 +4 3 +5 4 +6 5 +7 1 +8 2 +9 3 +1 4 +2 5 +3 1 +4 2 +5 3 +6 4 +7 5 +8 1 +9 2 +1 3 +2 4 +3 5 +4 1 +5 2 +6 3 +7 4 +8 5 +9 1 +1 2 +2 3 +3 4 +4 5 +5 1 +6 2 +7 3 +8 4 +9 5 +1 1 +2 2 +3 3 +4 4 +5 5 +6 6 +7 1 +8 2 +9 3 +1 4 +2 5 +3 6 +4 1 +5 2 +6 3 +7 4 +8 5 +9 6 +1 1 +2 2 +3 3 +4 4 +5 5 +6 6 +7 7 +8 1 +9 2 +1 3 +2 4 +3 5 +4 6 +5 7 +6 1 +7 2 +8 3 +9 4 +1 5 +2 6 +3 7 +4 1 +5 2 +6 3 +7 4 +8 5 +9 6 +1 7 +2 1 +3 2 +4 3 +5 4 +6 5 +7 6 +8 7 +9 1 +1 2 +2 3 +3 4 +4 5 +5 6 +6 7 +7 1 +8 2 +9 3 +1 4 +2 5 +3 6 +4 7 +5 1 +6 2 +7 3 +8 4 +9 5 +1 6 +2 7 +3 1 +4 2 +5 3 +6 4 +7 5 +8 6 +9 7 +1 1 +2 2 +3 3 +4 4 +5 5 +6 6 +7 7 +8 8 +9 1 +1 2 +2 3 +3 4 +4 5 +5 6 +6 7 +7 8 +8 1 +9 2 +1 3 +2 4 +3 5 +4 6 +5 7 +6 8 +7 1 +8 2 +9 3 +1 4 +2 5 +3 6 +4 7 +5 8 +6 1 +7 2 +8 3 +9 4 +1 5 +2 6 +3 7 +4 8 +5 1 +6 2 +7 3 +8 4 +9 5 +1 6 +2 7 +3 8 +4 1 +5 2 +6 3 +7 4 +8 5 +9 6 +1 7 +2 8 +3 1 +4 2 +5 3 +6 4 +7 5 +8 6 +9 7 +1 8 +2 1 +3 2 +4 3 +5 4 +6 5 +7 6 +8 7 +9 8 +1 1 +2 2 +3 3 +4 4 +5 5 +6 6 +7 7 +8 8 +9 9 +1 1 +2 2 +3 3 +4 4 +5 5 +6 6 +7 7 +8 8 +9 9 +1 10 +2 1 +3 2 +4 3 +5 4 +6 5 +7 6 +8 7 +9 8 +1 9 +2 10 +3 1 +4 2 +5 3 +6 4 +7 5 +8 6 +9 7 +1 8 +2 9 +3 10 +4 1 +5 2 +6 3 +7 4 +8 5 +9 6 +1 7 +2 8 +3 9 +4 10 +5 1 +6 2 +7 3 +8 4 +9 5 +1 6 +2 7 +3 8 +4 9 +5 10 +6 1 +7 2 +8 3 +9 4 +1 5 +2 6 +3 7 +4 8 +5 9 +6 10 +7 1 +8 2 +9 3 +1 4 +2 5 +3 6 +4 7 +5 8 +6 9 +7 10 +8 1 +9 2 +1 3 +2 4 +3 5 +4 6 +5 7 +6 8 +7 9 +8 10 +9 1 +1 2 +2 3 +3 4 +4 5 +5 6 +6 7 +7 8 +8 9 +9 10 +1 1 +2 1 +3 1 +4 1 +5 1 +6 1 +7 1 +8 1 +9 1 +10 1 +1 1 +2 2 +3 1 +4 2 +5 1 +6 2 +7 1 +8 2 +9 1 +10 2 +1 1 +2 2 +3 3 +4 1 +5 2 +6 3 +7 1 +8 2 +9 3 +10 1 +1 2 +2 3 +3 1 +4 2 +5 3 +6 1 +7 2 +8 3 +9 1 +10 2 +1 3 +2 1 +3 2 +4 3 +5 1 +6 2 +7 3 +8 1 +9 2 +10 3 +1 1 +2 2 +3 3 +4 4 +5 1 +6 2 +7 3 +8 4 +9 1 +10 2 +1 3 +2 4 +3 1 +4 2 +5 3 +6 4 +7 1 +8 2 +9 3 +10 4 +1 1 +2 2 +3 3 +4 4 +5 5 +6 1 +7 2 +8 3 +9 4 +10 5 +1 1 +2 2 +3 3 +4 4 +5 5 +6 6 +7 1 +8 2 +9 3 +10 4 +1 5 +2 6 +3 1 +4 2 +5 3 +6 4 +7 5 +8 6 +9 1 +10 2 +1 3 +2 4 +3 5 +4 6 +5 1 +6 2 +7 3 +8 4 +9 5 +10 6 +1 1 +2 2 +3 3 +4 4 +5 5 +6 6 +7 7 +8 1 +9 2 +10 3 +1 4 +2 5 +3 6 +4 7 +5 1 +6 2 +7 3 +8 4 +9 5 +10 6 +1 7 +2 1 +3 2 +4 3 +5 4 +6 5 +7 6 +8 7 +9 1 +10 2 +1 3 +2 4 +3 5 +4 6 +5 7 +6 1 +7 2 +8 3 +9 4 +10 5 +1 6 +2 7 +3 1 +4 2 +5 3 +6 4 +7 5 +8 6 +9 7 +10 1 +1 2 +2 3 +3 4 +4 5 +5 6 +6 7 +7 1 +8 2 +9 3 +10 4 +1 5 +2 6 +3 7 +4 1 +5 2 +6 3 +7 4 +8 5 +9 6 +10 7 +1 1 +2 2 +3 3 +4 4 +5 5 +6 6 +7 7 +8 8 +9 1 +10 2 +1 3 +2 4 +3 5 +4 6 +5 7 +6 8 +7 1 +8 2 +9 3 +10 4 +1 5 +2 6 +3 7 +4 8 +5 1 +6 2 +7 3 +8 4 +9 5 +10 6 +1 7 +2 8 +3 1 +4 2 +5 3 +6 4 +7 5 +8 6 +9 7 +10 8 +1 1 +2 2 +3 3 +4 4 +5 5 +6 6 +7 7 +8 8 +9 9 +10 1 +1 2 +2 3 +3 4 +4 5 +5 6 +6 7 +7 8 +8 9 +9 1 +10 2 +1 3 +2 4 +3 5 +4 6 +5 7 +6 8 +7 9 +8 1 +9 2 +10 3 +1 4 +2 5 +3 6 +4 7 +5 8 +6 9 +7 1 +8 2 +9 3 +10 4 +1 5 +2 6 +3 7 +4 8 +5 9 +6 1 +7 2 +8 3 +9 4 +10 5 +1 6 +2 7 +3 8 +4 9 +5 1 +6 2 +7 3 +8 4 +9 5 +10 6 +1 7 +2 8 +3 9 +4 1 +5 2 +6 3 +7 4 +8 5 +9 6 +10 7 +1 8 +2 9 +3 1 +4 2 +5 3 +6 4 +7 5 +8 6 +9 7 +10 8 +1 9 +2 1 +3 2 +4 3 +5 4 +6 5 +7 6 +8 7 +9 8 +10 9 +1 1 +2 2 +3 3 +4 4 +5 5 +6 6 +7 7 +8 8 +9 9 +10 10 +\. + -- Check for error messages create table no_stats ( g geometry, id integer ); @@ -8,15 +2145,12 @@ select _postgis_join_selectivity('no_stats', 'g', 'no_stats_join', 'g'); insert into no_stats (g, id) values ('POINT(0 0)', 0); analyze no_stats; select _postgis_join_selectivity('no_stats', 'g', 'no_stats_join', 'g'); -drop table no_stats; -drop table no_stats_join; +drop table if exists no_stats; +drop table if exists no_stats_join; -- Table with uniformly variable density, highest at 1,1, lowest at 10,10 create table regular_overdots as -with -ij as ( select i, j from generate_series(1, 10) i, generate_series(1, 10) j), -iijj as (select generate_series(1, i) as a, generate_series(1, j) b from ij) -select st_makepoint(a, b) as g from iijj; + select st_makepoint(a, b) as g from regular_overdots_ab; -- Generate the stats analyze regular_overdots; @@ -49,4 +2183,5 @@ select 'selectivity_09', 'estimated', _postgis_selectivity('regular_overdots','g -- Clean drop table if exists regular_overdots; +drop table if exists regular_overdots_ab; -- 2.40.0