Opened 13 years ago

Closed 13 years ago

#758 closed defect (fixed)

[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: master
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 (4)

comment:1 by robe, 13 years ago

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.

comment:2 by robe, 13 years ago

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

comment:3 by jorgearevalo, 13 years ago

Owner: changed from pracine to jorgearevalo
Status: newassigned

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.

comment:4 by robe, 13 years ago

Resolution: fixed
Status: assignedclosed

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.