Ticket #1412 (closed defect: worksforme)

Opened 5 months ago

Last modified 5 months ago

ST_Intersects not using indices

Reported by: strk Owned by: strk
Priority: critical Milestone: PostGIS 2.0.0
Component: postgis Version: trunk
Keywords: Cc:

Description

That's due to STRICTness of the function, see #1410

Change History

Changed 5 months ago by strk

Can't confirm myself ST_Intersect(vector,vector) being non-strict. To check:

select proname, proargnames, proisstrict from pg_proc where proname = 'st_intersects';

Changed 5 months ago by strk

But among the _st_intersects the vector one is now the _only_ strict function. Robe, can you check if it hurts ?

Changed 5 months ago by robe

strk -- didn't check before upgrading my db, but my ST_Intersects for vector works fine , and my raster one works fine too (I mean it uses the index) , and proisstrict is false for all 8 variants of st_intersects we have which is the way it should be.

What is this you are seeing?

Changed 5 months ago by strk

  • status changed from new to closed
  • resolution set to worksforme

Uhm, by including also the _ prefixed variants I do see a strict one:

 _st_intersects | {geom1,geom2}               | t

Actually, I guess the _ prefixed variants could be STRICT just fine, couldn't them ? Anyway, there's nothing I'm personally seeing as I was just reporting something seen by someone else. Will close this and let the original reporter take care of it.

Changed 5 months ago by robe

correct the _st s should be strict. It's just where you need the sql to be able to break into its parts that can't be strict.

Changed 5 months ago by strk

It may be worth another ticket for _st_intersect versions being non-strict (the raster ones)

Changed 5 months ago by dustymugs

_st_intersects(raster, raster) now STRICT as of r8714.

Note: See TracTickets for help on using tickets.