From: Sandro Santilli Date: Wed, 28 Mar 2012 09:19:22 +0000 (+0000) Subject: Add regression test for GiST index crash on empty (#1697) X-Git-Tag: 2.0.0rc1~7 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=d95b1cf3ecbf4d98d6368b950d07ad8ca920fbdd;p=postgis Add regression test for GiST index crash on empty (#1697) Also tests you can query all empty items from an index git-svn-id: http://svn.osgeo.org/postgis/trunk@9567 b70326c6-7e19-0410-871a-916f4a2858ee --- diff --git a/regress/tickets.sql b/regress/tickets.sql index 5eac147fc..fffa36524 100644 --- a/regress/tickets.sql +++ b/regress/tickets.sql @@ -631,5 +631,18 @@ WITH inp AS ( SELECT -- #1695 SELECT '#1695', ST_AsEWKT(ST_SnapToGrid('MULTIPOLYGON(((0 0, 10 0, 10 10, 0 10, 0 0)))'::geometry, 20)); +-- #1697 -- +CREATE TABLE eg(g geography, gm geometry); +CREATE INDEX egi on eg using gist (g); +CREATE INDEX egind on eg using gist (gm gist_geometry_ops_nd); +INSERT INTO eg (g, gm) + select 'POINT EMPTY'::geography, + 'POINT EMPTY'::geometry + from generate_series(1,1024); +SELECT '#1697.1', count(*) FROM eg WHERE g && 'POINT(0 0)'::geography; +SELECT '#1697.2', count(*) FROM eg WHERE gm && 'POINT(0 0)'::geometry; +SELECT '#1697.3', count(*) FROM eg WHERE gm ~= 'POINT EMPTY'::geometry; +DROP TABLE eg; + -- Clean up DELETE FROM spatial_ref_sys; diff --git a/regress/tickets_expected b/regress/tickets_expected index 7a5d15c6a..07ee581ba 100644 --- a/regress/tickets_expected +++ b/regress/tickets_expected @@ -210,3 +210,6 @@ NOTICE: SRID value -1 converted to the officially unknown SRID value 0 #1596.7|0 #1596|Point[BG] #1695|MULTIPOLYGON EMPTY +#1697.1|0 +#1697.2|0 +#1697.3|1024