@@ -588,6 +588,33 @@ SELECT circle_center(f1), round(radius(f1)) as radius FROM gcircle_tbl ORDER BY
588
588
(751.5,2655) | 20
589
589
(10 rows)
590
590
591
+ EXPLAIN (COSTS OFF)
592
+ SELECT point(x,x), (SELECT f1 FROM gpolygon_tbl ORDER BY f1 <-> point(x,x) LIMIT 1) as c FROM generate_series(0,10,1) x;
593
+ QUERY PLAN
594
+ --------------------------------------------------------------------------------------------
595
+ Function Scan on generate_series x
596
+ SubPlan 1
597
+ -> Limit
598
+ -> Index Scan using ggpolygonind on gpolygon_tbl
599
+ Order By: (f1 <-> point((x.x)::double precision, (x.x)::double precision))
600
+ (5 rows)
601
+
602
+ SELECT point(x,x), (SELECT f1 FROM gpolygon_tbl ORDER BY f1 <-> point(x,x) LIMIT 1) as c FROM generate_series(0,10,1) x;
603
+ point | c
604
+ ---------+-------------------------------------------
605
+ (0,0) | ((240,359),(240,455),(337,455),(337,359))
606
+ (1,1) | ((240,359),(240,455),(337,455),(337,359))
607
+ (2,2) | ((240,359),(240,455),(337,455),(337,359))
608
+ (3,3) | ((240,359),(240,455),(337,455),(337,359))
609
+ (4,4) | ((240,359),(240,455),(337,455),(337,359))
610
+ (5,5) | ((240,359),(240,455),(337,455),(337,359))
611
+ (6,6) | ((240,359),(240,455),(337,455),(337,359))
612
+ (7,7) | ((240,359),(240,455),(337,455),(337,359))
613
+ (8,8) | ((240,359),(240,455),(337,455),(337,359))
614
+ (9,9) | ((240,359),(240,455),(337,455),(337,359))
615
+ (10,10) | ((240,359),(240,455),(337,455),(337,359))
616
+ (11 rows)
617
+
591
618
-- Now check the results from bitmap indexscan
592
619
SET enable_seqscan = OFF;
593
620
SET enable_indexscan = OFF;
0 commit comments