Ticket #758 (closed defect: fixed)

Opened 2 years ago

Last modified 2 years ago

[raster]: Using deprecated join select functions postgis_gist_sel postgis_gist_joinsel

Reported by: robe Owned by: jorgearevalo
Priority: blocker Milestone: PostGIS 2.0.0
Component: raster Version: trunk
Keywords: Cc:

Description

Guys sorry to keep bouncing you around like this. This time I broke raster.

When I was irradicating deprecated postgis functions #302 at r6568 I wiped out one you were using since it was marked as deprecated in PostGIS 1.5:

Now I get this error when installing raster

psql:share/contrib/postgis-2.0/rtpostgis.sql:1073: ERROR: function postgis_gist_sel(internal, oid, internal, integer) does not exist.

I believe postgis_gist_sel and postgis_gist_joinsel need to be replaced with geometry_gist_sel and geometry_gist_joinsel.

Paul can you confirm I'm saying the right thing.

I'll be happy to change it if you trust me. Wanted to get this done before I make the next experimental windows builds.

Change History

Changed 2 years ago by robe

Jorge,

I'm really not sure whether you even need the gserialized check you have in place: If you do, then I think the code should be:

#ifdef GSERIALIZED_ON
CREATE OPERATOR && (
    LEFTARG = raster, RIGHTARG = raster, PROCEDURE = st_overlap,
    COMMUTATOR = '&&',
    RESTRICT = geometry_gist_sel, JOIN = geometry_gist_joinsel
    );

#else
CREATE OPERATOR && (
    LEFTARG = raster, RIGHTARG = raster, PROCEDURE = st_overlap,
    COMMUTATOR = '&&',
    RESTRICT = contsel, JOIN = contjoinsel
    );
#endif

Like I mentioned on dev:  http://www.postgis.org/pipermail/postgis-devel/2011-January/011309.html

Both the gserialized and regular seem to work just fine with geometry_gist_sel, geometry_gist_joinsel - so I'm not clear if you even need this def check at all.

Changed 2 years ago by robe

Oops sorry had my conditions backward - should be:

#ifdef GSERIALIZED_ON
CREATE OPERATOR && (
    LEFTARG = raster, RIGHTARG = raster, PROCEDURE = st_overlap,
    COMMUTATOR = '&&',
    RESTRICT = contsel , JOIN = contjoinsel
    );

#else
CREATE OPERATOR && (
    LEFTARG = raster, RIGHTARG = raster, PROCEDURE = st_overlap,
    COMMUTATOR = '&&',
    RESTRICT = geometry_gist_sel, JOIN = geometry_gist_joinsel 
    );
#endif

Changed 2 years ago by jorgearevalo

  • owner changed from pracine to jorgearevalo
  • status changed from new to assigned

Regina,

The gserialized check was a temporary solution (see ticket #744). I think it's no longer necessary.So, I've commited a change in r6586. Please check it now.

Changed 2 years ago by robe

  • status changed from assigned to closed
  • resolution set to fixed

haven't ahd a chance to test, but can't see why your change wouldn't work. I'll reopen if its still an issue

Note: See TracTickets for help on using tickets.