]> granicus.if.org Git - postgresql/commitdiff
Improve stability of recently-added regression test case.
authorTom Lane <tgl@sss.pgh.pa.us>
Tue, 16 Oct 2018 16:01:18 +0000 (12:01 -0400)
committerTom Lane <tgl@sss.pgh.pa.us>
Tue, 16 Oct 2018 16:01:18 +0000 (12:01 -0400)
Commit b5febc1d1 added a contrib/btree_gist test case that has been
observed to fail in the buildfarm as a result of background auto-analyze
updating stats and changing the selected plan.  Forestall that by
forcibly analyzing in foreground, instead.  The new plan choice is
just as good for our purposes, since we really only care that an
index-only plan does not get selected.

Back-patch to 9.5, like the previous patch.

Discussion: https://postgr.es/m/14643.1539629304@sss.pgh.pa.us

contrib/btree_gist/expected/inet.out
contrib/btree_gist/sql/inet.sql

index 905f55d740beed5db045d1f48dd09663906a28d4..c323d903da4613211998d24b2f3832c5c9c81f85 100644 (file)
@@ -64,18 +64,16 @@ SELECT count(*) FROM inettmp WHERE a >  '89.225.196.191'::inet;
    386
 (1 row)
 
-VACUUM inettmp;
+VACUUM ANALYZE inettmp;
 -- gist_inet_ops lacks a fetch function, so this should not be index-only scan
 EXPLAIN (COSTS OFF)
 SELECT count(*) FROM inettmp WHERE a  = '89.225.196.191'::inet;
-                       QUERY PLAN                       
---------------------------------------------------------
+                    QUERY PLAN                    
+--------------------------------------------------
  Aggregate
-   ->  Bitmap Heap Scan on inettmp
-         Recheck Cond: (a = '89.225.196.191'::inet)
-         ->  Bitmap Index Scan on inetidx
-               Index Cond: (a = '89.225.196.191'::inet)
-(5 rows)
+   ->  Index Scan using inetidx on inettmp
+         Index Cond: (a = '89.225.196.191'::inet)
+(3 rows)
 
 SELECT count(*) FROM inettmp WHERE a  = '89.225.196.191'::inet;
  count 
@@ -88,14 +86,12 @@ CREATE INDEX ON inettmp USING gist (a gist_inet_ops, a inet_ops);
 -- likewise here (checks for core planner bug)
 EXPLAIN (COSTS OFF)
 SELECT count(*) FROM inettmp WHERE a  = '89.225.196.191'::inet;
-                       QUERY PLAN                       
---------------------------------------------------------
+                     QUERY PLAN                     
+----------------------------------------------------
  Aggregate
-   ->  Bitmap Heap Scan on inettmp
-         Recheck Cond: (a = '89.225.196.191'::inet)
-         ->  Bitmap Index Scan on inettmp_a_a1_idx
-               Index Cond: (a = '89.225.196.191'::inet)
-(5 rows)
+   ->  Index Scan using inettmp_a_a1_idx on inettmp
+         Index Cond: (a = '89.225.196.191'::inet)
+(3 rows)
 
 SELECT count(*) FROM inettmp WHERE a  = '89.225.196.191'::inet;
  count 
index 08952f2c4491950ab101d22c44d6a120667ac638..4b8d354b00ee5b255db0ef8a4e9f228592656a3f 100644 (file)
@@ -30,7 +30,7 @@ SELECT count(*) FROM inettmp WHERE a >= '89.225.196.191'::inet;
 
 SELECT count(*) FROM inettmp WHERE a >  '89.225.196.191'::inet;
 
-VACUUM inettmp;
+VACUUM ANALYZE inettmp;
 
 -- gist_inet_ops lacks a fetch function, so this should not be index-only scan
 EXPLAIN (COSTS OFF)